+++ /dev/null
-# Python CircleCI 2.0 configuration file
-#
-# Check https://circleci.com/docs/2.0/language-python/ for more details
-#
-version: 2
-jobs:
- build:
- docker:
- # CircleCI maintains a library of pre-built images
- # documented at https://circleci.com/docs/2.0/circleci-images/
- - image: circleci/python:3.6.6
-
- working_directory: ~/repo
-
- steps:
- - checkout
-
- - run:
- name: install dependencies
- command: |
- python3 -m venv venv
- ln -s $(which python3) venv/bin/python3.6
- . venv/bin/activate
- pip install cython sphinx==2.3.1 matplotlib ipython
- sudo apt-get update
- sudo apt-get install -y graphviz texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra texlive-generic-extra latexmk texlive-xetex
-
- - run:
- name: build numpy
- command: |
- . venv/bin/activate
- pip install --upgrade pip 'setuptools<49.2.0'
- pip install cython
- pip install .
- pip install scipy
- pip install pandas
-
- - run:
- name: create release notes
- command: |
- . venv/bin/activate
- pip install git+https://github.com/hawkowl/towncrier.git@master
- VERSION=$(python -c "import setup; print(setup.VERSION)")
- towncrier --version $VERSION --yes
- ./tools/ci/test_all_newsfragments_used.py
-
- - run:
- name: run doctests on documentation
- command: |
- . venv/bin/activate
- (cd doc ; git submodule update --init)
- python tools/refguide_check.py --rst
-
- - run:
- name: build devdocs
- command: |
- . venv/bin/activate
- cd doc
- SPHINXOPTS=-q make -e html
-
- - run:
- name: build neps
- command: |
- . venv/bin/activate
- cd doc/neps
- SPHINXOPTS=-q make -e html
-
- - store_artifacts:
- path: doc/build/html/
-
-
- # - store_artifacts:
- # path: doc/neps/_build/html/
- # destination: neps
-
- - add_ssh_keys:
- fingerprints:
- - "9f:8c:e5:3f:53:40:0b:ee:c9:c3:0f:fd:0f:3c:cc:55"
-
- - run:
- name: deploy devdocs
- command: |
- if [ "${CIRCLE_BRANCH}" == "master" ]; then
- touch doc/build/html/.nojekyll
-
- ./tools/ci/push_docs_to_repo.py doc/build/html \
- git@github.com:numpy/devdocs.git \
- --committer "numpy-circleci-bot" \
- --email "numpy-circleci-bot@nomail" \
- --message "Docs build of $CIRCLE_SHA1" \
- --force
- else
- echo "Not on the master branch; skipping deployment"
- fi
-
- - add_ssh_keys:
- fingerprints:
- - "11:fb:19:69:80:3a:6d:37:9c:d1:ac:20:17:cd:c8:17"
-
- - run:
- name: select SSH key for neps repo
- command: |
- cat <<\EOF > ~/.ssh/config
- Host github.com
- IdentitiesOnly yes
- IdentityFile /home/circleci/.ssh/id_rsa_11fb1969803a6d379cd1ac2017cdc817
- EOF
-
- - run:
- name: deploy neps
- command: |
- if [ "${CIRCLE_BRANCH}" == "master" ]; then
- touch doc/neps/_build/html/.nojekyll
-
- ./tools/ci/push_docs_to_repo.py doc/neps/_build/html \
- git@github.com:numpy/neps.git \
- --committer "numpy-circleci-bot" \
- --email "numpy-circleci-bot@nomail" \
- --message "Docs build of $CIRCLE_SHA1" \
- --force
- else
- echo "Not on the master branch; skipping deployment"
- fi
+++ /dev/null
-codecov:
- notify:
- require_ci_to_pass: no
- after_n_builds: 1
-coverage:
- status:
- project:
- default:
- # Require 1% coverage, i.e., always succeed
- target: 1
- patch: false
- changes: false
-comment: off
+++ /dev/null
---langmaps=c:+.src
+++ /dev/null
-version: 1
-update_configs:
- - package_manager: "python"
- directory: "/"
- update_schedule: "weekly"
- commit_message:
- prefix: "MAINT"
- default_labels:
- - "03 - Maintenance"
+++ /dev/null
-# Numerical data files
-numpy/lib/tests/data/*.npy binary
-
-# Release notes, reduce number of conflicts.
-doc/release/*.rst merge=union
+++ /dev/null
-NumPy has a Code of Conduct, please see: https://www.numpy.org/devdocs/dev/conduct/code_of_conduct.html
+++ /dev/null
-# Contributing to numpy
-
-## Reporting issues
-
-When reporting issues please include as much detail as possible about your
-operating system, numpy version and python version. Whenever possible, please
-also include a brief, self-contained code example that demonstrates the problem.
-
-If you are reporting a segfault please include a GDB traceback, which you can
-generate by following
-[these instructions.](https://github.com/numpy/numpy/blob/master/doc/source/dev/development_environment.rst#debugging)
-
-## Contributing code
-
-Thanks for your interest in contributing code to numpy!
-
-+ If this is your first time contributing to a project on GitHub, please read
-through our
-[guide to contributing to numpy](https://numpy.org/devdocs/dev/index.html)
-+ If you have contributed to other projects on GitHub you can go straight to our
-[development workflow](https://numpy.org/devdocs/dev/development_workflow.html)
-
-Either way, please be sure to follow our
-[convention for commit messages](https://numpy.org/devdocs/dev/development_workflow.html#writing-the-commit-message).
-
-If you are writing new C code, please follow the style described in
-``doc/C_STYLE_GUIDE``.
-
-Suggested ways to work on your development version (compile and run
-the tests without interfering with system packages) are described in
-``doc/source/dev/development_environment.rst``.
+++ /dev/null
-github: [numfocus]
-tidelift: pypi/numpy
-custom: https://www.numpy.org/#support-numpy
+++ /dev/null
-
-<!-- Please describe the issue in detail here, and fill in the fields below -->
-
-### Reproducing code example:
-
-<!-- A short code example that reproduces the problem/missing feature. It should be
-self-contained, i.e., possible to run as-is via 'python myproblem.py' -->
-
-```python
-import numpy as np
-<< your code here >>
-```
-
-<!-- Remove these sections for a feature request -->
-
-### Error message:
-
-<!-- If you are reporting a segfault please include a GDB traceback, which you
-can generate by following
-https://github.com/numpy/numpy/blob/master/doc/source/dev/development_environment.rst#debugging -->
-
-<!-- Full error message, if any (starting from line Traceback: ...) -->
-
-### Numpy/Python version information:
-
-<!-- Output from 'import sys, numpy; print(numpy.__version__, sys.version)' -->
-
+++ /dev/null
-<!-- Please be sure you are following the instructions in the dev guidelines
-http://www.numpy.org/devdocs/dev/development_workflow.html
--->
-
-<!-- We'd appreciate it if your commit message is properly formatted
-http://www.numpy.org/devdocs/dev/development_workflow.html#writing-the-commit-message
--->
+++ /dev/null
-# Editor temporary/working/backup files #
-#########################################
-.#*
-[#]*#
-*~
-*$
-*.bak
-*.diff
-.idea/
-*.iml
-*.ipr
-*.iws
-*.org
-.project
-pmip
-*.rej
-.settings/
-.*.sw[nop]
-.sw[nop]
-*.tmp
-*.vim
-.vscode
-tags
-cscope.out
-# gnu global
-GPATH
-GRTAGS
-GSYMS
-GTAGS
-.cache
-
-# Compiled source #
-###################
-*.a
-*.com
-*.class
-*.dll
-*.exe
-*.o
-*.o.d
-*.py[ocd]
-*.so
-
-# Packages #
-############
-# it's better to unpack these files and commit the raw source
-# git has its own built in compression methods
-*.7z
-*.bz2
-*.bzip2
-*.dmg
-*.gz
-*.iso
-*.jar
-*.rar
-*.tar
-*.tbz2
-*.tgz
-*.zip
-
-# Python files #
-################
-# setup.py working directory
-build
-# sphinx build directory
-_build
-# setup.py dist directory
-dist
-doc/build
-doc/cdoc/build
-# Egg metadata
-*.egg-info
-# The shelf plugin uses this dir
-./.shelf
-MANIFEST
-.cache
-
-# Paver generated files #
-#########################
-/release
-
-# Logs and databases #
-######################
-*.log
-*.sql
-*.sqlite
-
-# Patches #
-###########
-*.patch
-*.diff
-
-# OS generated files #
-######################
-.DS_Store*
-.VolumeIcon.icns
-.fseventsd
-Icon?
-.gdb_history
-ehthumbs.db
-Thumbs.db
-.directory
-
-# pytest generated files #
-##########################
-/.pytest_cache
-
-# Things specific to this project #
-###################################
-numpy/core/__svn_version__.py
-doc/numpy.scipy.org/_build
-numpy/__config__.py
-numpy/core/include/numpy/__multiarray_api.h
-numpy/core/include/numpy/__ufunc_api.h
-numpy/core/include/numpy/_numpyconfig.h
-numpy/version.py
-site.cfg
-setup.cfg
-.tox
-numpy/core/include/numpy/__multiarray_api.c
-numpy/core/include/numpy/__ufunc_api.c
-numpy/core/include/numpy/__umath_generated.c
-numpy/core/include/numpy/config.h
-numpy/core/include/numpy/multiarray_api.txt
-numpy/core/include/numpy/ufunc_api.txt
-numpy/core/lib/
-numpy/core/src/common/npy_binsearch.h
-numpy/core/src/common/npy_cpu_features.c
-numpy/core/src/common/npy_partition.h
-numpy/core/src/common/npy_sort.h
-numpy/core/src/common/templ_common.h
-numpy/core/src/multiarray/_multiarray_tests.c
-numpy/core/src/multiarray/arraytypes.c
-numpy/core/src/multiarray/einsum.c
-numpy/core/src/multiarray/lowlevel_strided_loops.c
-numpy/core/src/multiarray/multiarray_tests.c
-numpy/core/src/multiarray/nditer_templ.c
-numpy/core/src/multiarray/scalartypes.c
-numpy/core/src/npymath/ieee754.c
-numpy/core/src/npymath/npy_math_complex.c
-numpy/core/src/npymath/npy_math_internal.h
-numpy/core/src/npysort/binsearch.c
-numpy/core/src/npysort/heapsort.c
-numpy/core/src/npysort/mergesort.c
-numpy/core/src/npysort/quicksort.c
-numpy/core/src/npysort/radixsort.c
-numpy/core/src/npysort/selection.c
-numpy/core/src/npysort/timsort.c
-numpy/core/src/npysort/sort.c
-numpy/core/src/private/npy_binsearch.h
-numpy/core/src/private/npy_partition.h
-numpy/core/src/private/templ_common.h
-numpy/core/src/umath/_operand_flag_tests.c
-numpy/core/src/umath/_rational_tests.c
-numpy/core/src/umath/_struct_ufunc_tests.c
-numpy/core/src/umath/_umath_tests.c
-numpy/core/src/umath/scalarmath.c
-numpy/core/src/umath/funcs.inc
-numpy/core/src/umath/clip.[ch]
-numpy/core/src/umath/loops.[ch]
-numpy/core/src/umath/matmul.[ch]
-numpy/core/src/umath/operand_flag_tests.c
-numpy/core/src/umath/simd.inc
-numpy/core/src/umath/struct_ufunc_test.c
-numpy/core/src/umath/test_rational.c
-numpy/core/src/umath/umath_tests.c
-numpy/distutils/__config__.py
-numpy/linalg/umath_linalg.c
-doc/source/**/generated/
-benchmarks/results
-benchmarks/html
-benchmarks/env
-benchmarks/numpy
-# cythonized files
-cythonize.dat
-numpy/random/_mtrand/_mtrand.c
-numpy/random/*.c
-numpy/random/legacy/*.c
-numpy/random/_mtrand/randint_helpers.pxi
-numpy/random/bounded_integers.pyx
-numpy/random/bounded_integers.pxd
-tools/swig/test/Array_wrap.cxx
-tools/swig/test/Farray_wrap.cxx
-tools/swig/test/Farray.py
-tools/swig/test/Flat_wrap.cxx
-tools/swig/test/Flat.py
-tools/swig/test/Fortran_wrap.cxx
-tools/swig/test/Fortran.py
-tools/swig/test/Matrix_wrap.cxx
-tools/swig/test/Matrix.py
-tools/swig/test/Tensor_wrap.cxx
-tools/swig/test/Tensor.py
-tools/swig/test/Vector.py
-tools/swig/test/Vector_wrap.cxx
-tools/swig/test/Array.py
+++ /dev/null
-[submodule "doc/scipy-sphinx-theme"]
- path = doc/scipy-sphinx-theme
- url = https://github.com/scipy/scipy-sphinx-theme.git
-[submodule "doc/sphinxext"]
- path = doc/sphinxext
- url = https://github.com/numpy/numpydoc.git
+++ /dev/null
-path_classifiers:
- library:
- - tools
- generated:
- # The exports defined in __init__.py are defined in the Cython module
- # np.random.mtrand. By excluding this file we suppress a number of
- # "undefined export" alerts
- - numpy/random/__init__.py
-
-extraction:
- python:
- python_setup:
- requirements:
- - cython>=0.29
- cpp:
- index:
- build_command:
- - python3 setup.py build
- after_prepare:
- - pip3 install --upgrade --user cython
- - export PATH="$HOME/.local/bin:$PATH"
-
-queries:
- - include: py/file-not-closed
+++ /dev/null
-# Prevent git from showing duplicate names with commands like "git shortlog"
-# See the manpage of git-shortlog for details.
-# The syntax is:
-# Name that should be used <email that should be used> Bad name <bad email>
-#
-# You can skip Bad name if it is the same as the one that should be used, and is unique.
-#
-# This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u
-# gives no duplicates.
-
-Aaron Baecker <abaecker@localhost> abaecker <abaecker@localhost>
-Alan Fontenot <logeaux@yahoo.com> logeaux <logeaux@yahoo.com>
-Alan Fontenot <logeaux@yahoo.com> logeaux <36168460+logeaux@users.noreply.github.com>
-Abdul Muneer <abdulmuneer@gmail.com> abdulmuneer <abdulmuneer@gmail.com>
-Adam Ginsburg <adam.g.ginsburg@gmail.com> Adam Ginsburg <keflavich@gmail.com>
-Albert Jornet Puig <albert.jornet@ic3.cat> jurnix <albert.jornet@ic3.cat>
-Alex Griffing <argriffi@ncsu.edu> alex <argriffi@ncsu.edu>
-Alex Griffing <argriffi@ncsu.edu> argriffing <argriffi@ncsu.edu>
-Alex Griffing <argriffi@ncsu.edu> argriffing <argriffing@gmail.com>
-Alex Griffing <argriffi@ncsu.edu> argriffing <argriffing@users.noreply.github.com>
-Alex Thomas <alexthomas93@users.noreply.github.com> alexthomas93 <alexthomas93@users.noreply.github.com>
-Alexander Belopolsky <abalkin@enlnt.com> Alexander Belopolsky <a@enlnt.com>
-Alexander Belopolsky <abalkin@enlnt.com> Alexander Belopolsky <a@enlnt.com>
-Alexander Belopolsky <abalkin@enlnt.com> sasha <sasha@localhost>
-Alexander Jung <kontakt@ajung.name> aleju <kontakt@ajung.name>
-Alexander Shadchin <alexandr.shadchin@gmail.com> Alexandr Shadchin <alexandr.shadchin@gmail.com>
-Alexander Shadchin <alexandr.shadchin@gmail.com> shadchin <alexandr.shadchin@gmail.com>
-Allan Haldane <allan.haldane@gmail.com> ahaldane <ealloc@gmail.com>
-Alok Singhal <gandalf013@gmail.com> Alok Singhal <alok@merfinllc.com>
-Alyssa Quek <alyssaquek@gmail.com> alyssaq <alyssaquek@gmail.com>
-Amir Sarabadani <ladsgroup@gmail.com> amir <ladsgroup@gmail.com>
-Anatoly Techtonik <techtonik@gmail.com> anatoly techtonik <techtonik@gmail.com>
-Andras Deak <deak.andris@gmail.com> adeak <adeak@users.noreply.github.com>
-Andrea Pattori <andrea.pattori@gmail.com> patto90 <andrea.pattori@gmail.com>
-Andrea Sangalli <and-sang@outlook.com> and-sang <53617841+and-sang@users.noreply.github.com>
-Andrei Kucharavy <ank@andreikucharavy.com> chiffa <ank@andreikucharavy.com>
-Anne Archibald <peridot.faceted@gmail.com> aarchiba <peridot.faceted@gmail.com>
-Anne Archibald <peridot.faceted@gmail.com> Anne Archibald <archibald@astron.nl>
-Anže Starič <anze.staric@gmail.com> astaric <anze.staric@gmail.com>
-Aron Ahmadia <aron@ahmadia.net> ahmadia <aron@ahmadia.net>
-Aarthi Agurusa <agurusa@gmail.com> agurusa <agurusa@gmail.com>
-Arun Persaud <apersaud@lbl.gov> Arun Persaud <arun@nubati.net>
-Åsmund Hjulstad <ahju@statoil.com> Åsmund Hjulstad <asmund@hjulstad.com>
-Auke Wiggers <wiggers.auke@gmail.com> auke <wiggers.auke@gmail.com>
-Badhri Narayanan Krishnakumar <badhrinarayanan.k@gmail.com> badhrink <badhrinarayanan.k@gmail.com>
-Behzad Nouri <behzadnouri@gmail.com> behzad nouri <behzadnouri@gmail.com>
-Benjamin Root <ben.v.root@gmail.com> Ben Root <ben.v.root@gmail.com>
-Benjamin Root <ben.v.root@gmail.com> weathergod <?@?>
-Bernardt Duvenhage <bernardt.duvenhage@gmail.com> bduvenhage <bernardt.duvenhage@gmail.com>
-Bertrand Lefebvre <bertrand.l3f@gmail.com> bertrand <bertrand.l3f@gmail.com>
-Bertrand Lefebvre <bertrand.l3f@gmail.com> Bertrand <bertrand.l3f@gmail.com>
-Bharat Raghunathan <bharatr@symphonyai.com> Bharat123Rox <bharatr@symphonyai.com>
-Bill Spotz <wfspotz@sandia.gov> William Spotz <wfspotz@sandia.gov@localhost>
-Bill Spotz <wfspotz@sandia.gov> wfspotz@sandia.gov <wfspotz@sandia.gov@localhost>
-Bob Eldering <eldering@jive.eu> bobeldering <eldering@jive.eu>
-Brett R Murphy <bmurphy@enthought.com> brettrmurphy <bmurphy@enthought.com>
-Bryan Van de Ven <bryanv@continuum.io> Bryan Van de Ven <bryan@Laptop-3.local>
-Bryan Van de Ven <bryanv@continuum.io> Bryan Van de Ven <bryan@laptop.local>
-Bui Duc Minh <buiducminh287@gmail.com> Mibu287 <41239569+Mibu287@users.noreply.github.com>
-Carl Kleffner <cmkleffner@gmail.com> carlkl <cmkleffner@gmail.com>
-Chris Burns <chris.burns@localhost> chris.burns <chris.burns@localhost>
-Chris Kerr <debdepba@dasganma.tk> Chris Kerr <cjk34@cam.ac.uk>
-Christian Clauss <cclauss@bluewin.ch> cclauss <cclauss@bluewin.ch>
-Christopher Hanley <chanley@gmail.com> chanley <chanley@gmail.com>
-Christoph Gohlke <cgohlke@uci.edu> cgholke <?@?>
-Christoph Gohlke <cgohlke@uci.edu> cgohlke <cgohlke@uci.edu>
-Christoph Gohlke <cgohlke@uci.edu> Christolph Gohlke <cgohlke@uci.edu>
-Chunlin Fang <fangchunlin@huawei.com> Qiyu8 <fangchunlin@huawei.com>
-Chunlin Fang <fangchunlin@huawei.com> Chunlin <fangchunlin@huawei.com>
-Colin Snyder <47012605+colinsnyder@users.noreply.github.com> colinsnyder <47012605+colinsnyder@users.noreply.github.com>
-Daniel B Allan <daniel.b.allan@gmail.com> danielballan <daniel.b.allan@gmail.com>
-Daniel da Silva <mail@danieldasilva.org> Daniel da Silva <daniel@meltingwax.net>
-Daniel da Silva <mail@danieldasilva.org> Daniel da Silva <var.mail.daniel@gmail.com>
-Daniel Hrisca <daniel.hrisca@gmail.com> danielhrisca <daniel.hrisca@gmail.com>
-Daniel J Farrell <danieljfarrel@me.com> danieljfarrell <danieljfarrel@me.com>
-Daniel Müllner <Daniel Müllner muellner@math.stanford.edu> Daniel <muellner@localhost.localdomain>
-Daniel Müllner <Daniel Müllner muellner@math.stanford.edu> dmuellner <Daniel Müllner muellner@math.stanford.edu>
-Daniel Rasmussen <daniel.rasmussen@appliedbrainresearch.com> drasmuss <daniel.rasmussen@appliedbrainresearch.com>
-David Huard <david.huard@gmail.com> dhuard <dhuard@localhost>
-David M Cooke <cookedm@localhost> cookedm <cookedm@localhost>
-David Nicholson <davidjn@google.com> davidjn <dnic12345@gmail.com>
-David Ochoa <ochoadavid@gmail.com> ochoadavid <ochoadavid@gmail.com>
-Dawid Zych <dawid.zych@yandex.com> silenc3r <dawid.zych@yandex.com>
-Dennis Zollo <dzollo@swift-nav.com> denniszollo <dzollo@swift-nav.com>
-Derek Homeier <derek@astro.physik.uni-goettingen.de> Derek Homeier <dhomeie@gwdg.de>
-Derek Homeier <derek@astro.physik.uni-goettingen.de> Derek Homeir <derek@astro.phsik.uni-goettingen.de>
-Derek Homeier <derek@astro.physik.uni-goettingen.de> Derek Homier <derek@astro.physik.uni-goettingen.de>
-Derrick Williams <myutat@gmail.com> derrick <myutat@gmail.com>
-Dmitriy Shalyga <zuko3d@gmail.com> zuko3d <zuko3d@gmail.com>
-Dustan Levenstein <dlevenstein@gmail.com> dustanlevenstein <43019642+dustanlevenstein@users.noreply.github.com>
-Ed Schofield <edschofield@localhost> edschofield <edschofield@localhost>
-Egor Zindy <ezindy@gmail.com> zindy <ezindy@gmail.com>
-Endolith <endolith@gmail.com>
-Erik M. Bray <erik.bray@lri.fr> E. M. Bray <erik.bray@lri.fr>
-Erik M. Bray <erik.bray@lri.fr> Erik Bray <erik.m.bray@gmail.com>
-Eric Fode <ericfode@gmail.com> Eric Fode <ericfode@linuxlaptop.(none)>
-Eric Quintero <eric.antonio.quintero@gmail.com> e-q <eric.antonio.quintero@gmail.com>
-Ernest N. Mamikonyan <ernest.mamikonyan@gmail.com> mamikony <ernest.mamikonyan@sig.com>
-Etienne Guesnet <etienne.guesnet.external@atos.net> EGuesnet <51407514+EGuesnet@users.noreply.github.com>
-Evgeni Burovski <evgeny.burovskiy@gmail.com> Evgeni Burovski <evgeni@burovski.me>
-Evgeny Toder <evgeny.toder@jpmorgan.com> eltjpm <evgeny.toder@jpmorgan.com>
-Fernando Perez <Fernando.Perez@berkeley.edu> Fernando Perez <fperez@fperez.org>
-Friedrich Dunne <dunneff@tcd.ie> dunneff <dunneff@tcd.ie>
-Frederic Bastien <nouiz@nouiz.org> Frederic <nouiz@nouiz.org>
-Gael Varoquaux <gael.varoquaux@normalesup.org> GaelVaroquaux <gael.varoquaux@normalesup.org>
-Gerrit Holl <gerrit.holl@utoronto.ca> Gerrit Holl <g.holl@reading.ac.uk>
-Giuseppe Venturini <ggventurini@users.noreply.github.com> ggventurini <ggventurini@users.noreply.github.com>
-Golnaz Irannejad <golnazirannejad@gmail.com> golnazir <golnazirannejad@gmail.com>
-Gopal Singh Meena <gopalmeena94@gmail.com> gopalmeena <gopalmeena94@gmail.com>
-Greg Knoll <gregory@bccn-berlin.de> gkBCCN <gregory@bccn-berlin.de>
-Greg Yang <sorcererofdm@gmail.com> eulerreich <sorcererofdm@gmail.com>
-Greg Young <gfyoung17@gmail.com> gfyoung <gfyoung17@gmail.com>
-Greg Young <gfyoung17@gmail.com> gfyoung <gfyoung@mit.edu>
-Guo Ci <zguoci@gmail.com> guoci <zguoci@gmail.com>
-Han Genuit <hangenuit@gmail.com> 87 <hangenuit@gmail.com>
-Han Genuit <hangenuit@gmail.com> hangenuit@gmail.com <hangenuit@gmail.com>
-Han Genuit <hangenuit@gmail.com> Han <hangenuit@gmail.com>
-Hanno Klemm <hanno.klemm@maerskoil.com> hklemm <hanno.klemm@maerskoil.com>
-Hemil Desai <desai38@purdue.edu> hemildesai <desai38@purdue.edu>
-Hiroyuki V. Yamazaki <hiroyuki.vincent.yamazaki@gmail.com> hvy <hiroyuki.vincent.yamazaki@gmail.com>
-Gerhard Hobler <gerhard.hobler@tuwien.ac.at> hobler <gerhard.hobler@tuwien.ac.at>
-Guillaume Peillex <guillaume.peillex@gmail.com> hippo91 <guillaume.peillex@gmail.com>
-Irvin Probst <irvin.probst@ensta-bretagne.fr> I--P <irvin.probst@ensta-bretagne.fr>
-Jaime Fernandez <jaime.frio@gmail.com> Jaime Fernandez <jaime.fernandez@hp.com>
-Jaime Fernandez <jaime.frio@gmail.com> jaimefrio <jaime.frio@gmail.com>
-Jaime Fernandez <jaime.frio@gmail.com> Jaime <jaime.frio@gmail.com>
-James Webber <jamestwebber@gmail.com> jamestwebber <jamestwebber@gmail.com>
-Jarrod Millman <millman@berkeley.edu> Jarrod Millman <jarrod.millman@gmail.com>
-Jason Grout <jason-github@creativetrax.com> Jason Grout <jason.grout@drake.edu>
-Jason King <pizza@netspace.net.au> jason king <pizza@netspace.net.au>
-Jay Bourque <jay.bourque@continuum.io> jayvius <jay.bourque@continuum.io>
-Jean Utke <jutke@allstate.com> jutke <jutke@allstate.com>
-Jeffrey Yancey <jeffrey@octane5.com> Jeff <3820914+jeffyancey@users.noreply.github.com>
-Jeremy Lay <jlay80@gmail.com> jeremycl01 <jlay80@gmail.com>
-Jérémie du Boisberranger <jeremie.du-boisberranger@inria.fr> jeremiedbb <34657725+jeremiedbb@users.noreply.github.com>
-Jerome Kelleher <jerome.kelleher@ed.ac.uk> jeromekelleher <jerome.kelleher@ed.ac.uk>
-Johannes Hampp <johannes.hampp@zeu.uni-giessen.de> euronion <42553970+euronion@users.noreply.github.com>
-Johannes Schönberger <hannesschoenberger@gmail.com> Johannes Schönberger <jschoenberger@demuc.de>
-Johann Faouzi <johann.faouzi@gmail.com> johann.faouzi <johann.faouzi@icm-institute.org>
-John Darbyshire <24256554+attack68@users.noreply.github.com> attack68 <24256554+attack68@users.noreply.github.com>
-John Kirkham <kirkhamj@janelia.hhmi.org> jakirkham <jakirkham@gmail.com>
-Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Joseph Fox-Rabinovitz <joseph.r.fox-rabinovitz@nasa.gov>
-Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Joseph Fox-Rabinovitz <madphysicist@users.noreply.github.com>
-Joseph Fox-Rabinovitz <jfoxrabinovitz@gmail.com> Mad Physicist <madphysicist@users.noreply.github.com>
-Joseph Martinot-Lagarde <contrebasse@gmail.com> Joseph Martinot-Lagarde <joseph.martinot-lagarde@onera.fr>
-Julian Taylor <juliantaylor108@gmail.com> Julian Taylor <jtaylor.debian@googlemail.com>
-Julian Taylor <juliantaylor108@gmail.com> Julian Taylor <juliantaylor108@googlemail.com>
-Julien Lhermitte <jrmlhermitte@gmail.com> Julien Lhermitte <lhermitte@bnl.gov>
-Julien Schueller <julien.schueller@gmail.com> jschueller <julien.schueller@gmail.com>
-Justus Magin <keewis@posteo.de> keewis <keewis@users.noreply.github.com>
-Justus Magin <keewis@posteo.de> Keewis <keewis@posteo.de>
-Kai Striega <kaistriega@gmail.com> kai <kaistriega@gmail.com>
-Kai Striega <kaistriega@gmail.com> kai-striega <kaistriega@gmail.com>
-Kai Striega <kaistriega@gmail.com> kai-striega <kaistriega+github@gmail.com>
-Khaled Ben Abdallah Okuda <khaled.ben.okuda@gmail.com> KhaledTo <khaled.ben.okuda@gmail.com>
-Kiko Correoso <kachine@protonmail.com> kikocorreoso <kikocorreoso@gmail.com>
-Kiko Correoso <kachine@protonmail.com> kikocorreoso <kikocorreoso@users.noreply.github.com>
-Konrad Kapp <k_kapp@yahoo.com> k_kapp@yahoo.com <k_kapp@yahoo.com>
-Kriti Singh <kritisingh1.ks@gmail.com> kritisingh1 <kritisingh1.ks@gmail.com>
-Kmol Yuan <pyslvs@gmail.com> Yuan <pyslvs@gmail.com>
-Lars Buitinck <larsmans@gmail.com> Lars Buitinck <l.buitinck@esciencecenter.nl>
-Lars Buitinck <larsmans@gmail.com> Lars Buitinck <L.J.Buitinck@uva.nl>
-Lars Grüter <lagru@mailbox.org> Lars G <lagru@mailbox.org>
-Luis Pedro Coelho <luis@luispedro.org> Luis Pedro Coelho <lpc@cmu.edu>
-Luke Zoltan Kelley <lkelley@cfa.harvard.edu> lzkelley <lkelley@cfa.harvard.edu>
-Magdalena Proszewska <magdalena.proszewska@gmail.com> mpro <magdalena.proszewska@gmail.com>
-Magdalena Proszewska <magdalena.proszewska@gmail.com> mproszewska <38814059+mproszewska@users.noreply.github.com>
-Manoj Kumar <manojkumarsivaraj334@gmail.com> MechCoder <manojkumarsivaraj334@gmail.com>
-Marcin Podhajski <podhajskimarcin@gmail.com> m-podhajski <36967358+m-podhajski@users.noreply.github.com>
-Mark DePristo <mdepristo@synapdx.com> markdepristo <mdepristo@synapdx.com>
-Mark Weissman <mw9050@gmail.com> m-d-w <mw9050@gmail.com>
-Mark Wiebe <mwwiebe@gmail.com> Mark <mwwiebe@gmail.com>
-Mark Wiebe <mwwiebe@gmail.com> Mark Wiebe <mwiebe@continuum.io>
-Mark Wiebe <mwwiebe@gmail.com> Mark Wiebe <mwiebe@enthought.com>
-Mark Wiebe <mwwiebe@gmail.com> Mark Wiebe <mwiebe@georg.(none)>
-Martin Goodson <martingoodson@gmail.com> martingoodson <martingoodson@gmail.com>
-Martin Reinecke <martin@mpa-garching.mpg.de> mreineck <martin@mpa-garching.mpg.de>
-Martin Teichmann <martin.teichmann@xfel.eu> Martin Teichmann <lkb.teichmann@gmail.com>
-Matt Hancock <not.matt.hancock@gmail.com> matt <mhancock743@gmail.com>
-Martino Sorbaro <martino.sorbaro@ed.ac.uk> martinosorb <martino.sorbaro@ed.ac.uk>
-Mattheus Ueckermann <empeeu@yahoo.com> empeeu <empeeu@yahoo.com>
-Matthew Harrigan <harrigan.matthew@gmail.com> MattHarrigan <harrigan.matthew@gmail.com>
-Matti Picus <matti.picus@gmail.com> mattip <matti.picus@gmail.com>
-Maximilian Konrad <maximilianlukaskonrad@hotmail.de> MLK97 <maximilianlukaskonrad@hotmail.de>
-Melissa Weber Mendonça <melissawm@gmail.com> Melissa Weber Mendonca <melissawm@gmail.com>
-Melissa Weber Mendonça <melissawm@gmail.com> melissawm <melissawm@gmail.com>
-Michael Behrisch <oss@behrisch.de> behrisch <behrisch@users.sourceforge.net>
-Michael Droettboom <mdboom@gmail.com> mdroe <mdroe@localhost>
-Michael K. Tran <trankmichael@gmail.com> mtran <trankmichael@gmail.com>
-Michael Martin <mmartin4242@gmail.com> mmartin <mmartin4242@gmail.com>
-Michael Schnaitter <schnaitterm@knights.ucf.edu> schnaitterm <schnaitterm@users.noreply.github.com>
-Muhammad Kasim <firman.kasim@gmail.com> mfkasim91 <firman.kasim@gmail.com>
-Masashi Kishimoto <drehbleistift@gmail.com> kishimoto-banana <drehbleistift@gmail.com>
-Nathaniel J. Smith <njs@pobox.com> njsmith <njs@pobox.com>
-Naveen Arunachalam <notatroll.troll@gmail.com> naveenarun <notatroll.troll@gmail.com>
-Nicolas Scheffer <nicolas.scheffer@sri.com> Nicolas Scheffer <scheffer@speech.sri.com>
-Nicholas A. Del Grosso <delgrosso@bio.lmu.de> nickdg <delgrosso@bio.lmu.de>
-Nick Minkyu Lee <mknicklee@protonmail.com> fivemok <9394929+fivemok@users.noreply.github.com>
-Ondřej Čertík <ondrej.certik@gmail.com> Ondrej Certik <ondrej.certik@gmail.com>
-Óscar Villellas Guillén <oscar.villellas@continuum.io> ovillellas <oscar.villellas@continuum.io>
-Pat Miller <patmiller@localhost> patmiller <patmiller@localhost>
-Paul Ivanov <pi@berkeley.edu> Paul Ivanov <paul.ivanov@local>
-Paul Jacobson <hpj3@myuw.net> hpaulj <hpj3@myuw.net>
-Pearu Peterson <pearu.peterson@gmail.com> Pearu Peterson <pearu@pearu-laptop.(none)>
-Pete Peeradej Tanruangporn <pete.tanru@gmail.com> petetanru <pete.tanru@gmail.com>
-Peter J Cock <p.j.a.cock@googlemail.com> peterjc <p.j.a.cock@googlemail.com>
-Phil Elson <pelson.pub@gmail.com>
-Pierre GM <pierregmcode@gmail.com> pierregm <pierregmcode@gmail.com>
-Pierre GM <pierregmcode@gmail.com> pierregm <pierregm@localhost>
-Piotr Gaiński <dociebieaniuszlem@gmail.com> panpiort8 <dociebieaniuszlem@gmail.com>
-Prabhu Ramachandran <prabhu@localhost> prabhu <prabhu@localhost>
-Przemyslaw Bartosik <sendthenote@gmail.com> przemb <sendthenote@gmail.com>
-Ralf Gommers <ralf.gommers@gmail.com> Ralf Gommers <ralf.gommers@googlemail.com>
-Ralf Gommers <ralf.gommers@gmail.com> rgommers <ralf.gommers@googlemail.com>
-Rehas Sachdeva <aquannie@gmail.com> rehassachdeva <aquannie@gmail.com>
-Ritta Narita <narittan@gmail.com> RittaNarita <narittan@gmail.com>
-Riya Sharma <navneet.nmk@gmail.com> ayir <navneet.nmk@gmail.com>
-Robert Kern <rkern@enthought.com> Robert Kern <robert.kern@gmail.com>
-Robert LU <robberphex@gmail.com> RobberPhex <robberphex@gmail.com>
-Ronan Lamy <ronan.lamy@gmail.com> Ronan Lamy <Ronan.Lamy@normalesup.org>
-Russell Hewett <rhewett@mit.edu> rhewett <rhewett@mit.edu>
-Ryan Blakemore <rbtnet@gmail.com> ryanblak <rbtnet@gmail.com>
-Sam Preston <j.sam.preston@gmail.com> jspreston <j.sam.preston@gmail.com>
-Sam Radhakrishnan <sk09idm@gmail.com> = <=>
-Sam Radhakrishnan <sk09idm@gmail.com> sam09 <sk09idm@gmail.com>
-Sanchez Gonzalez Alvaro <as12513@imperial.ac.uk> alvarosg <as12513@imperial.ac.uk>
-Saullo Giovani <saullogiovani@gmail.com> saullogiovani <saullogiovani@gmail.com>
-Saurabh Mehta <e.samehta@gmail.com>
-Sebastian Berg <sebastian@sipsolutions.net> seberg <sebastian@sipsolutions.net>
-Shekhar Prasad Rajak <shekharrajak@live.com> shekharrajak <shekharrajak@live.com>
-Shota Kawabuchi <shota.kawabuchi+GitHub@gmail.com> skwbc <shota.kawabuchi+GitHub@gmail.com>
-Siavash Eliasi <siavashserver@gmail.com> siavashserver <siavashserver@gmail.com>
-Simon Gasse <simon.gasse@gmail.com> sgasse <sgasse@users.noreply.github.com>
-Søren Rasmussen <soren.rasmussen@alexandra.dk> sorenrasmussenai <47032123+sorenrasmussenai@users.noreply.github.com>
-Stefan Behnel <stefan_ml@behnel.de> scoder <stefan_ml@behnel.de>
-Stefan van der Walt <stefanv@berkeley.edu> Stefan van der Walt <sjvdwalt@gmail.com>
-Stefan van der Walt <stefanv@berkeley.edu> Stefan van der Walt <stefan@sun.ac.za>
-Stephan Hoyer <shoyer@gmail.com> Stephan Hoyer <shoyer@climate.com>
-Steven J Kern <kern.steven0@gmail.com>
-SuryaChand P <psschand@gmail.com> Surya P <psschand@gmail.com>
-SuryaChand P <psschand@gmail.com> psschand <psschand@gmail.com>
-Thomas A Caswell <tcaswell@gmail.com> Thomas A Caswell <tcaswell@bnl.gov>
-Tim Cera <tim@cerazone.net> tim cera <tcera@sjrwmd.com>
-Tim Teichmann <t.teichmann@dashdos.com> tteichmann <t.teichmann@dashdos.com>
-Tim Teichmann <t.teichmann@dashdos.com> tteichmann <44259103+tteichmann@users.noreply.github.com>
-Tom Boyd <pezcore@users.noreply.github.com> pezcore <pezcore@users.noreply.github.com>
-Tom Poole <t.b.poole@gmail.com> tpoole <t.b.poole@gmail.com>
-Tony LaTorre <tlatorre@uchicago.edu> tlatorre <tlatorre@uchicago.edu>
-Travis Oliphant <travis@continuum.io> Travis E. Oliphant <teoliphant@gmail.com>
-Travis Oliphant <travis@continuum.io> Travis Oliphant <oliphant@enthought.com>
-Valentin Haenel <valentin@haenel.co> Valentin Haenel <valentin.haenel@gmx.de>
-Rakesh Vasudevan <rakesh.nvasudev@gmail.com> vrakesh <rakesh.nvasudev@gmail.com>
-Vrinda Narayan <talk2vrinda@gmail.com> vrindaaa <48102157+vrindaaa@users.noreply.github.com>
-Warren Weckesser <warren.weckesser@enthought.com> Warren Weckesser <warren.weckesser@gmail.com>
-Weitang Li <liwt31@163.com> wtli@Dirac <liwt31@163.com>
-Weitang Li <liwt31@163.com> wtli <liwt31@163.com>
-Wendell Smith <wendellwsmith@gmail.com> Wendell Smith <wackywendell@gmail.com>
-Wim Glenn <wim.glenn@melbourneit.com.au> wim glenn <wim.glenn@melbourneit.com.au>
-Wojtek Ruszczewski <git@wr.waw.pl> wrwrwr <git@wr.waw.pl>
-Yuji Kanagawa <yuji.kngw.80s.revive@gmail.com> kngwyu <yuji.kngw.80s.revive@gmail.com>
-Yury Kirienko <yury.kirienko@gmail.com> kirienko <yury.kirienko@gmail.com>
-Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com> Zac-HD <zac.hatfield.dodds@gmail.com>
-Zixu Zhao <zixu.zhao.tireless@gmail.com> ZZhaoTireless <zixu.zhao.tireless@gmail.com>
-Ziyan Zhou <ziyan.zhou@mujin.co.jp> Ziyan <ziyan.zhou@mujin.co.jp>
-Zieji Pohz <poh.ziji@gmail.com> jpoh <poh.zijie@gmail.com>
-Zieji Pohz <poh.ziji@gmail.com> zjpoh <poh.zijie@gmail.com>
-Zieji Pohz <poh.ziji@gmail.com> Zijie (ZJ) Poh <8103276+zjpoh@users.noreply.github.com>
-Zolisa Bleki <zolisa.bleki@gmail.com> zoj613 <44142765+zoj613@users.noreply.github.com>
-Zolisa Bleki <zolisa.bleki@gmail.com> RedRuM <44142765+zoj613@users.noreply.github.com>
-luzpaz <kunda@scribus.net> luz.paz <luzpaz@users.noreply.github.com>
-luzpaz <kunda@scribus.net> luzpaz <luzpaz@users.noreply.github.com>
-spacescientist <aspacescientist@protonmail.com> spacescientist <spacescientist@pm.me>
+++ /dev/null
-# After changing this file, check it on:
-# http://lint.travis-ci.org/
-language: python
-group: travis_latest
-os: linux
-dist: bionic
-
-# Travis whitelists the installable packages, additions can be requested
-# https://github.com/travis-ci/apt-package-whitelist
-addons:
- apt:
- packages: &common_packages
- - gfortran
- - libgfortran5
- - libgfortran3
- - libatlas-base-dev
- # Speedup builds, particularly when USE_CHROOT=1
- - eatmydata
-
-cache:
- directories:
- - $HOME/.cache/pip
-
-stages:
- # Do the style check and a single test job, don't proceed if it fails
- - name: Initial tests
- # Do the rest of the tests
- - name: Comprehensive tests
-
-env:
- global:
- - WHEELHOUSE_UPLOADER_USERNAME=travis.numpy
- # The following is generated with the command:
- # travis encrypt -r numpy/numpy WHEELHOUSE_UPLOADER_SECRET=tH3AP1KeY
- - secure: "IEicLPrP2uW+jW51GRwkONQpdPqMVtQL5bdroqR/U8r9Tr\
- XrbCVRhp4AP8JYZT0ptoBpmZWWGjmKBndB68QlMiUjQPow\
- iFWt9Ka92CaqYdU7nqfWp9VImSndPmssjmCXJ1v1IjZPAM\
- ahp7Qnm0rWRmA0z9SomuRUQOJQ6s684vU="
-
-jobs:
- include:
- # Do all python versions without environment variables set
- - stage: Initial tests
- python: 3.8
-
- - stage: Comprehensive tests
- python: 3.6
- - python: 3.7
- - python: 3.9
-
- - python: 3.6
- env: USE_DEBUG=1
- addons:
- apt:
- packages:
- - *common_packages
- - cython3-dbg
- - python3-dbg
- - python3-dev
- - python3-setuptools
-
- - python: 3.7
- env: USE_WHEEL=1 RUN_FULL_TESTS=1 RUN_COVERAGE=1 INSTALL_PICKLE5=1
-
- - python: 3.7
- env: USE_SDIST=1
-
- - python: 3.7
- env:
- - PYTHONOPTIMIZE=2
- - BLAS=None
- - LAPACK=None
- - ATLAS=None
- - NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas
- - NPY_LAPACK_ORDER=MKL,OPENBLAS,ATLAS,ACCELERATE,LAPACK
- - USE_ASV=1
-
- - python: 3.7
- env:
- - NPY_RELAXED_STRIDES_CHECKING=0
- # use custom symbol-suffixed openblas build, not system ATLAS
- - DOWNLOAD_OPENBLAS=1
- - CHECK_BLAS=1
- - NPY_USE_BLAS_ILP64=1
- addons:
- apt:
- packages:
- - gfortran
- - eatmydata
- - libgfortran5
- - libgfortran3
-
- - python: 3.7
- env: USE_WHEEL=1 NPY_RELAXED_STRIDES_DEBUG=1
-
- - python: 3.7
- env: NUMPY_EXPERIMENTAL_ARRAY_FUNCTION=0
-
- - python: 3.7
- env:
- - BLAS=None
- - LAPACK=None
- - ATLAS=None
-
- - python: 3.7
- os: linux
- arch: ppc64le
- env:
- # use OpenBLAS build, not system ATLAS
- - DOWNLOAD_OPENBLAS=1
- - ATLAS=None
-
- - python: 3.7
- os: linux
- arch: s390x
- env:
- # use OpenBLAS build, not system ATLAS
- - DOWNLOAD_OPENBLAS=1
- - NPY_USE_BLAS_ILP64=1
- - ATLAS=None
-
- - python: 3.7
- os: linux
- arch: arm64
- env:
- # use OpenBLAS build, not system ATLAS
- - DOWNLOAD_OPENBLAS=1
- - ATLAS=None
-
-
-
-before_install:
- - ./tools/travis-before-install.sh
-
-script:
- - ./tools/travis-test.sh
-
-after_success:
- - ./tools/travis-upload-wheel.sh
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+The NumPy repository and source distributions bundle several libraries that are
+compatibly licensed. We list these here.
+
+Name: Numpydoc
+Files: doc/sphinxext/numpydoc/*
+License: BSD-2-Clause
+ For details, see doc/sphinxext/LICENSE.txt
+
+Name: scipy-sphinx-theme
+Files: doc/scipy-sphinx-theme/*
+License: BSD-3-Clause AND PSF-2.0 AND Apache-2.0
+ For details, see doc/scipy-sphinx-theme/LICENSE.txt
+
+Name: lapack-lite
+Files: numpy/linalg/lapack_lite/*
+License: BSD-3-Clause
+ For details, see numpy/linalg/lapack_lite/LICENSE.txt
+
+Name: tempita
+Files: tools/npy_tempita/*
+License: MIT
+ For details, see tools/npy_tempita/license.txt
+
+Name: dragon4
+Files: numpy/core/src/multiarray/dragon4.c
+License: MIT
+ For license text, see numpy/core/src/multiarray/dragon4.c
+++ /dev/null
-The NumPy repository and source distributions bundle several libraries that are
-compatibly licensed. We list these here.
-
-Name: Numpydoc
-Files: doc/sphinxext/numpydoc/*
-License: BSD-2-Clause
- For details, see doc/sphinxext/LICENSE.txt
-
-Name: scipy-sphinx-theme
-Files: doc/scipy-sphinx-theme/*
-License: BSD-3-Clause AND PSF-2.0 AND Apache-2.0
- For details, see doc/scipy-sphinx-theme/LICENSE.txt
-
-Name: lapack-lite
-Files: numpy/linalg/lapack_lite/*
-License: BSD-3-Clause
- For details, see numpy/linalg/lapack_lite/LICENSE.txt
-
-Name: tempita
-Files: tools/npy_tempita/*
-License: MIT
- For details, see tools/npy_tempita/license.txt
-
-Name: dragon4
-Files: numpy/core/src/multiarray/dragon4.c
-License: MIT
- For license text, see numpy/core/src/multiarray/dragon4.c
--- /dev/null
+Metadata-Version: 1.2
+Name: numpy
+Version: 1.19.5
+Summary: NumPy is the fundamental package for array computing with Python.
+Home-page: https://www.numpy.org
+Author: Travis E. Oliphant et al.
+Maintainer: NumPy Developers
+Maintainer-email: numpy-discussion@python.org
+License: BSD
+Download-URL: https://pypi.python.org/pypi/numpy
+Project-URL: Bug Tracker, https://github.com/numpy/numpy/issues
+Project-URL: Documentation, https://numpy.org/doc/1.19
+Project-URL: Source Code, https://github.com/numpy/numpy
+Description: It provides:
+
+ - a powerful N-dimensional array object
+ - sophisticated (broadcasting) functions
+ - tools for integrating C/C++ and Fortran code
+ - useful linear algebra, Fourier transform, and random number capabilities
+ - and much more
+
+ Besides its obvious scientific uses, NumPy can also be used as an efficient
+ multi-dimensional container of generic data. Arbitrary data-types can be
+ defined. This allows NumPy to seamlessly and speedily integrate with a wide
+ variety of databases.
+
+ All NumPy wheels distributed on PyPI are BSD licensed.
+
+
+Platform: Windows
+Platform: Linux
+Platform: Solaris
+Platform: Mac OS-X
+Platform: Unix
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Science/Research
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved
+Classifier: Programming Language :: C
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Topic :: Software Development
+Classifier: Topic :: Scientific/Engineering
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: Unix
+Classifier: Operating System :: MacOS
+Requires-Python: >=3.6
+++ /dev/null
-trigger:
- # start a new build for every push
- batch: False
- branches:
- include:
- - master
- - maintenance/*
-
-pr:
- branches:
- include:
- - '*' # must quote since "*" is a YAML reserved character; we want a string
-
-stages:
-- stage: InitialTests
- jobs:
- - job: WindowsFast
- pool:
- vmImage: 'VS2017-Win2016'
- strategy:
- matrix:
- Python36-64bit-fast:
- PYTHON_VERSION: '3.6'
- PYTHON_ARCH: 'x64'
- TEST_MODE: fast
- BITS: 64
- steps:
- - template: azure-steps-windows.yml
-
-- stage: ComprehensiveTests
- jobs:
- - job: Linux_Python_38_32bit_full_with_asserts
- pool:
- vmImage: 'ubuntu-18.04'
- steps:
- - script: |
- docker pull quay.io/pypa/manylinux2010_i686
- docker run -v $(pwd):/numpy -e CFLAGS="-msse2 -std=c99 -UNDEBUG" \
- -e F77=gfortran-5 -e F90=gfortran-5 quay.io/pypa/manylinux2010_i686 \
- /bin/bash -xc "cd numpy && \
- /opt/python/cp38-cp38/bin/python -mvenv venv &&\
- source venv/bin/activate && \
- target=\$(python3 tools/openblas_support.py) && \
- cp -r \$target/lib/* /usr/lib && \
- cp \$target/include/* /usr/include && \
- python3 -m pip install -r test_requirements.txt && \
- echo CFLAGS \$CFLAGS && \
- python3 -m pip install -v . && \
- python3 runtests.py -n --debug-info --mode=full -- -rsx --junitxml=junit/test-results.xml && \
- python3 tools/openblas_support.py --check_version"
- displayName: 'Run 32-bit manylinux2010 Docker Build / Tests'
- - task: PublishTestResults@2
- condition: succeededOrFailed()
- inputs:
- testResultsFiles: '**/test-*.xml'
- failTaskOnFailedTests: true
- testRunTitle: 'Publish test results for Python 3.8-32 bit full Linux'
- - job: macOS
- pool:
- # NOTE: at time of writing, there is a danger
- # that using an invalid vmIMage string for macOS
- # image silently redirects to a Windows build on Azure;
- # for now, use the only image name officially present in
- # the docs even though i.e., numba uses another in their
- # azure config for mac os -- Microsoft has indicated
- # they will patch this issue
- vmImage: macOS-10.14
- strategy:
- maxParallel: 3
- matrix:
- Python36:
- PYTHON_VERSION: '3.6'
- USE_OPENBLAS: '1'
- Python39:
- PYTHON_VERSION: '3.9'
- USE_OPENBLAS: '1'
- Python36-ILP64:
- PYTHON_VERSION: '3.6'
- NPY_USE_BLAS_ILP64: '1'
- USE_OPENBLAS: '1'
- USE_XCODE_10: '1'
- Accelerate:
- PYTHON_VERSION: '3.6'
- USE_OPENBLAS: '0'
-
- steps:
- # the @0 refers to the (major) version of the *task* on Microsoft's
- # end, not the order in the build matrix nor anything to do
- # with version of Python selected
- - task: UsePythonVersion@0
- inputs:
- versionSpec: $(PYTHON_VERSION)
- addToPath: true
- architecture: 'x64'
- - script: |
- set -xe
- [ -n "$USE_XCODE_10" ] && /bin/bash -c "sudo xcode-select -s /Applications/Xcode_10.app/Contents/Developer"
- clang --version
- displayName: 'report clang version'
- # NOTE: might be better if we could avoid installing
- # two C compilers, but with homebrew looks like we're
- # now stuck getting the full gcc toolchain instead of
- # just pulling in gfortran
- - script: |
- set -xe
- # same version of gfortran as the open-libs and numpy-wheel builds
- curl -L https://github.com/MacPython/gfortran-install/raw/master/archives/gfortran-4.9.0-Mavericks.dmg -o gfortran.dmg
- GFORTRAN_SHA256=$(shasum -a 256 gfortran.dmg)
- KNOWN_SHA256="d2d5ca5ba8332d63bbe23a07201c4a0a5d7e09ee56f0298a96775f928c3c4b30 gfortran.dmg"
- if [ "$GFORTRAN_SHA256" != "$KNOWN_SHA256" ]; then
- echo sha256 mismatch
- exit 1
- fi
- hdiutil attach -mountpoint /Volumes/gfortran gfortran.dmg
- sudo installer -pkg /Volumes/gfortran/gfortran.pkg -target /
- otool -L /usr/local/gfortran/lib/libgfortran.3.dylib
- # Manually symlink gfortran-4.9 to plain gfortran for f2py.
- # No longer needed after Feb 13 2020 as gfortran is already present
- # and the attempted link errors. Keep this for future reference.
- # ln -s /usr/local/bin/gfortran-4.9 /usr/local/bin/gfortran
- displayName: 'make libgfortran available on mac os for openblas'
- # use the pre-built openblas binary that most closely
- # matches our MacOS wheel builds -- currently based
- # primarily on file size / name details
- - script: |
- set -xe
- target=$(python tools/openblas_support.py)
- ls -lR $target
- # manually link to appropriate system paths
- cp $target/lib/lib* /usr/local/lib/
- cp $target/include/* /usr/local/include/
- otool -L /usr/local/lib/libopenblas*
- displayName: 'install pre-built openblas'
- condition: eq(variables['USE_OPENBLAS'], '1')
- - script: python -m pip install --upgrade pip 'setuptools<49.2.0' wheel
- displayName: 'Install tools'
- - script: |
- python -m pip install -r test_requirements.txt
- python -m pip install vulture docutils sphinx==2.2.0 numpydoc
- displayName: 'Install dependencies; some are optional to avoid test skips'
- - script: /bin/bash -c "! vulture . --min-confidence 100 --exclude doc/,numpy/distutils/ | grep 'unreachable'"
- displayName: 'Check for unreachable code paths in Python modules'
- # prefer usage of clang over gcc proper
- # to match likely scenario on many user mac machines
- - script: python setup.py build -j 4 build_src --verbose-cfg install
- displayName: 'Build NumPy'
- env:
- BLAS: None
- LAPACK: None
- ATLAS: None
- ACCELERATE: None
- CC: /usr/bin/clang
- condition: eq(variables['USE_OPENBLAS'], '1')
- - script: python setup.py build -j 4 build_ext --inplace install
- displayName: 'Build NumPy without OpenBLAS'
- env:
- BLAS: None
- LAPACK: None
- ATLAS: None
- CC: /usr/bin/clang
- condition: eq(variables['USE_OPENBLAS'], '0')
- # wait until after dev build of NumPy to pip
- # install matplotlib to avoid pip install of older numpy
- - script: python -m pip install matplotlib
- displayName: 'Install matplotlib before refguide run'
- - script: python runtests.py -g --refguide-check
- displayName: 'Run Refuide Check'
- condition: eq(variables['USE_OPENBLAS'], '1')
- - script: python runtests.py -n --mode=full -- -rsx --junitxml=junit/test-results.xml
- displayName: 'Run Full NumPy Test Suite'
- condition: eq(variables['USE_OPENBLAS'], '1')
- - bash: python tools/openblas_support.py --check_version
- displayName: 'Verify OpenBLAS version'
- condition: eq(variables['USE_OPENBLAS'], '1')
- # import doesn't work when in numpy src directory , so do a pip dev install of build lib to test
- - script: |
- #!/bin/bash -v
- set +e
- python -c "import numpy as np" > test_output.log 2>&1
- check_output_code=$?
- cat test_output.log
- grep "buggy Accelerate backend" test_output.log
- check_message=$?
- if [ $check_output_code == 1 ] && [ $check_message == 0 ]; then exit 0; else exit 1;fi
- displayName: "Check if numpy import fails with accelerate"
- condition: eq(variables['USE_OPENBLAS'], '0')
- - task: PublishTestResults@2
- condition: succeededOrFailed()
- inputs:
- testResultsFiles: '**/test-*.xml'
- failTaskOnFailedTests: true
- testRunTitle: 'Publish test results for Python 3.6 64-bit full Mac OS'
- - job: Windows
- pool:
- vmImage: 'VS2017-Win2016'
- strategy:
- maxParallel: 6
- matrix:
- Python36-32bit-fast:
- PYTHON_VERSION: '3.6'
- PYTHON_ARCH: 'x86'
- TEST_MODE: fast
- BITS: 32
- Python37-32bit-fast:
- PYTHON_VERSION: '3.7'
- PYTHON_ARCH: 'x86'
- TEST_MODE: fast
- BITS: 32
- Python38-32bit-fast:
- PYTHON_VERSION: '3.8'
- PYTHON_ARCH: 'x86'
- TEST_MODE: fast
- BITS: 32
- Python39-32bit-fast:
- PYTHON_VERSION: '3.9'
- PYTHON_ARCH: 'x86'
- TEST_MODE: fast
- BITS: 32
- Python36-64bit-full:
- PYTHON_VERSION: '3.6'
- PYTHON_ARCH: 'x64'
- TEST_MODE: full
- BITS: 64
- Python37-64bit-full:
- PYTHON_VERSION: '3.7'
- PYTHON_ARCH: 'x64'
- TEST_MODE: full
- BITS: 64
- Python38-64bit-full:
- PYTHON_VERSION: '3.8'
- PYTHON_ARCH: 'x64'
- TEST_MODE: full
- BITS: 64
- Python39-64bit-full:
- PYTHON_VERSION: '3.9'
- PYTHON_ARCH: 'x64'
- TEST_MODE: full
- BITS: 64
- NPY_USE_BLAS_ILP64: '1'
- OPENBLAS_SUFFIX: '64_'
- steps:
- - template: azure-steps-windows.yml
- - job: Linux_PyPy3
- pool:
- vmIMage: 'ubuntu-18.04'
- steps:
- - script: source tools/pypy-test.sh
- displayName: 'Run PyPy3 Build / Tests'
- - task: PublishTestResults@2
- condition: succeededOrFailed()
- inputs:
- testResultsFiles: '**/test-*.xml'
- testRunTitle: 'Publish test results for PyPy3'
- failTaskOnFailedTests: true
- - job: Linux_gcc48
- pool:
- vmImage: 'ubuntu-18.04'
- steps:
- - script: |
- if ! `gcc-4.8 2>/dev/null`; then
- sudo apt install gcc-4.8
- fi
- displayName: 'add gcc 4.8'
- - script: |
- # python3 has no setuptools, so install one to get us going
- python3 -m pip install --user --upgrade pip 'setuptools<49.2.0'
- python3 -m pip install --user -r test_requirements.txt
- CPPFLAGS='' CC=gcc-4.8 F77=gfortran-5 F90=gfortran-5 \
- python3 runtests.py --debug-info --mode=full -- -rsx --junitxml=junit/test-results.xml
- displayName: 'Run gcc4.8 Build / Tests'
- - task: PublishTestResults@2
- condition: succeededOrFailed()
- inputs:
- testResultsFiles: '**/test-*.xml'
- failTaskOnFailedTests: true
- testRunTitle: 'Publish test results for gcc 4.8'
-
+++ /dev/null
-steps:
-- task: UsePythonVersion@0
- inputs:
- versionSpec: $(PYTHON_VERSION)
- addToPath: true
- architecture: $(PYTHON_ARCH)
-
-- script: python -m pip install --upgrade pip wheel
- displayName: 'Install tools'
-
-- script: python -m pip install -r test_requirements.txt
- displayName: 'Install dependencies; some are optional to avoid test skips'
-
-- powershell: |
- $ErrorActionPreference = "Stop"
- # Download and get the path to "openblas.a". We cannot copy it
- # to $PYTHON_EXE's directory since that is on a different drive which
- # mingw does not like. Instead copy it to a directory and set OPENBLAS,
- # since OPENBLAS will be picked up by the openblas discovery
- $target = $(python tools/openblas_support.py)
- mkdir openblas
- echo "Copying $target to openblas/openblas$env:OPENBLAS_SUFFIX.a"
- cp $target openblas/openblas$env:OPENBLAS_SUFFIX.a
- If ( Test-Path env:NPY_USE_BLAS_ILP64 ){
- echo "##vso[task.setvariable variable=OPENBLAS64_]$pwd\openblas"
- } else {
- echo "##vso[task.setvariable variable=OPENBLAS]$pwd\openblas"
- }
- displayName: 'Download / Install OpenBLAS'
-
-- powershell: |
- choco install -y mingw --forcex86 --force --version=7.3.0
- refreshenv
- displayName: 'Install 32-bit mingw for 32-bit builds'
- condition: eq(variables['BITS'], 32)
-# NOTE: for Windows builds it seems much more tractable to use runtests.py
-# vs. manual setup.py and then runtests.py for testing only
-
-- powershell: |
- If ($(BITS) -eq 32) {
- $env:CFLAGS = "-m32"
- $env:LDFLAGS = "-m32"
- $env:PATH = "C:\\ProgramData\\chocolatey\\lib\\mingw\\tools\\install\\mingw$(BITS)\\bin;" + $env:PATH
- }
- python -c "from tools import openblas_support; openblas_support.make_init('numpy')"
- python -m pip wheel -v -v -v --no-build-isolation --no-use-pep517 --wheel-dir=dist .
-
- ls dist -r | Foreach-Object {
- python -m pip install $_.FullName
- }
- displayName: 'Build NumPy'
-
-- bash: |
- pushd . && cd .. && target=$(python -c "import numpy, os; print(os.path.abspath(os.path.join(os.path.dirname(numpy.__file__), '.libs')))") && popd
- python -m pip download -d destination --only-binary :all: --no-deps numpy==1.14
- cd destination && unzip numpy*.whl && cp numpy/.libs/*.dll $target
- ls $target
- displayName: 'Add extraneous & older DLL to numpy/.libs to probe DLL handling robustness'
- condition: eq(variables['PYTHON_VERSION'], '3.6')
-- script: pushd . && cd .. && python -c "from ctypes import windll; windll.kernel32.SetDefaultDllDirectories(0x00000800); import numpy" && popd
- displayName: 'For gh-12667; Windows DLL resolution'
- condition: eq(variables['PYTHON_VERSION'], '3.6')
-
-- script: python runtests.py -n --show-build-log --mode=$(TEST_MODE) -- -rsx --junitxml=junit/test-results.xml
- displayName: 'Run NumPy Test Suite'
-
-- task: PublishTestResults@2
- condition: succeededOrFailed()
- inputs:
- testResultsFiles: '**/test-*.xml'
- failTaskOnFailedTests: true
- testRunTitle: 'Publish test results for Python $(PYTHON_VERSION) $(BITS)-bit $(TEST_MODE) Windows'
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
- <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
- <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
- <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
- <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
- <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
- <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
- <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
- <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
- <!ENTITY ns_svg "http://www.w3.org/2000/svg">
- <!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
-]>
-<svg version="1.1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;"
- width="774.692" height="307.15" viewBox="0 0 774.692 307.15" overflow="visible" enable-background="new 0 0 774.692 307.15"
- xml:space="preserve">
-<switch>
- <foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
- <i:pgfRef xlink:href="#adobe_illustrator_pgf">
- </i:pgfRef>
- </foreignObject>
- <g i:extraneous="self">
- <g id="Layer_1">
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="132.807,162.121 133.714,207.379 89.084,199.51 88.177,154.251 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="65.681,217.759 65.672,217.294 88.201,199.81 88.21,200.274 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="66.131,217.839 65.681,217.759 88.21,200.274 88.661,200.354 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M133.23,161.276l0.45,0.079l0.009,0.466l0.926,46.172l0.009,0.466l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.925-46.173l-0.009-0.466l0.45,0.08L133.23,161.276z M133.714,207.379l-0.907-45.258l-44.63-7.87
- l0.907,45.259L133.714,207.379"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="65.672,217.294 64.746,171.121 87.276,153.637 88.201,199.81 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.746,171.121 64.737,170.655 87.267,153.171 87.276,153.637 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="65.647,171.735 88.177,154.251 89.084,199.51 66.554,216.994 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="66.554,216.994 65.647,171.735 88.177,154.251 89.084,199.51 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.737,170.655 87.267,153.171 87.717,153.25 65.187,170.735 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="111.645,225.864 66.131,217.839 88.661,200.354 134.175,208.38 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="111.185,224.863 66.554,216.994 89.084,199.51 133.714,207.379 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="66.554,216.994 89.084,199.51 133.714,207.379 111.185,224.863 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="112.095,225.943 111.645,225.864 134.175,208.38 134.625,208.459 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="112.085,225.478 134.615,207.993 134.625,208.459 112.095,225.943 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="110.277,179.604 111.185,224.863 66.554,216.994 65.647,171.735 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="65.647,171.735 88.177,154.251 132.807,162.121 110.277,179.604 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.277,179.604 65.647,171.735 88.177,154.251 132.807,162.121 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.185,224.863 110.277,179.604 132.807,162.121 133.714,207.379 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="110.277,179.604 132.807,162.121 133.714,207.379 111.185,224.863 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.187,170.735 87.717,153.25 133.23,161.276 110.701,178.76 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.16,179.305 133.689,161.821 134.615,207.993 112.085,225.478 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.701,178.76 133.23,161.276 133.68,161.355 111.15,178.839 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.15,178.839 133.68,161.355 133.689,161.821 111.16,179.305 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M110.701,178.76l0.45,0.079l0.01,0.466l0.925,46.172l0.009,0.466l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.926-46.173l-0.009-0.466l0.45,0.08L110.701,178.76z M111.185,224.863l-0.907-45.259l-44.63-7.869
- l0.907,45.259L111.185,224.863"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M286.114,189.068l0.45,0.079l0.009,0.466l0.926,46.181l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.466l0.45,0.08L286.114,189.068z M286.598,235.171l-0.907-45.25l-44.63-7.87
- l0.907,45.25L286.598,235.171"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="285.69,189.921 286.598,235.171 241.967,227.302 241.06,182.051 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="218.564,245.552 218.555,245.094 241.085,227.609 241.094,228.067 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="219.014,245.631 218.564,245.552 241.094,228.067 241.544,228.146 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="218.555,245.094 217.629,198.913 240.159,181.429 241.085,227.609 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.629,198.913 217.62,198.447 240.15,180.963 240.159,181.429 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="218.53,199.536 241.06,182.051 241.967,227.302 219.438,244.786 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="219.438,244.786 218.53,199.536 241.06,182.051 241.967,227.302 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.62,198.447 240.15,180.963 240.6,181.042 218.07,198.526 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="264.528,253.656 219.014,245.631 241.544,228.146 287.058,236.172 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="264.068,252.655 219.438,244.786 241.967,227.302 286.598,235.171 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="219.438,244.786 241.967,227.302 286.598,235.171 264.068,252.655 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="264.978,253.735 264.528,253.656 287.058,236.172 287.508,236.251 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.969,253.278 287.499,235.794 287.508,236.251 264.978,253.735 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="263.161,207.405 264.068,252.655 219.438,244.786 218.53,199.536 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.161,207.405 218.53,199.536 241.06,182.051 285.69,189.921 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="218.53,199.536 241.06,182.051 285.69,189.921 263.161,207.405 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.068,252.655 263.161,207.405 285.69,189.921 286.598,235.171 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="263.161,207.405 285.69,189.921 286.598,235.171 264.068,252.655 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.07,198.526 240.6,181.042 286.114,189.068 263.584,206.552 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.043,207.097 286.573,189.613 287.499,235.794 264.969,253.278 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.584,206.552 286.114,189.068 286.563,189.147 264.034,206.631 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.034,206.631 286.563,189.147 286.573,189.613 264.043,207.097 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M263.584,206.552l0.45,0.079l0.009,0.466l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.466l0.45,0.079L263.584,206.552z M264.068,252.655l-0.907-45.25
- l-44.631-7.87l0.907,45.25L264.068,252.655"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="234.57,180.831 235.478,226.081 190.855,218.214 189.948,172.963 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="167.444,236.462 167.435,236.005 189.965,218.521 189.974,218.978 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="167.894,236.541 167.444,236.462 189.974,218.978 190.423,219.057 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M234.994,179.986l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.457l-0.45-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.45,0.079L234.994,179.986z M235.478,226.081l-0.907-45.25
- l-44.623-7.868l0.907,45.251L235.478,226.081"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="167.435,236.005 166.509,189.823 189.039,172.339 189.965,218.521 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.509,189.823 166.5,189.366 189.03,171.882 189.039,172.339 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="167.418,190.447 189.948,172.963 190.855,218.214 168.325,235.697 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="168.325,235.697 167.418,190.447 189.948,172.963 190.855,218.214 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.5,189.366 189.03,171.882 189.479,171.961 166.95,189.445 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="213.408,244.566 167.894,236.541 190.423,219.057 235.938,227.082 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="212.948,243.565 168.325,235.697 190.855,218.214 235.478,226.081 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="168.325,235.697 190.855,218.214 235.478,226.081 212.948,243.565 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="213.858,244.646 213.408,244.566 235.938,227.082 236.388,227.161 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="213.849,244.188 236.378,226.704 236.388,227.161 213.858,244.646 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="167.418,190.447 189.948,172.963 234.57,180.831 212.041,198.315 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.041,198.315 167.418,190.447 189.948,172.963 234.57,180.831 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.948,243.565 212.041,198.315 234.57,180.831 235.478,226.081 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="212.041,198.315 234.57,180.831 235.478,226.081 212.948,243.565 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M212.464,197.471l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.458l0.45,0.08L212.464,197.471z M212.948,243.565l-0.907-45.25
- l-44.623-7.868l0.907,45.25L212.948,243.565"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="167.418,190.447 168.325,235.697 212.948,243.565 212.041,198.315 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.95,189.445 189.479,171.961 234.994,179.986 212.464,197.471 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.923,198.007 235.453,180.523 236.378,226.704 213.849,244.188 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.464,197.471 234.994,179.986 235.443,180.065 212.914,197.55 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.914,197.55 235.443,180.065 235.453,180.523 212.923,198.007 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="183.189,171.48 184.097,216.73 139.466,208.861 138.559,163.61 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="116.063,227.11 116.054,226.653 138.584,209.169 138.593,209.626 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="116.513,227.19 116.063,227.11 138.593,209.626 139.043,209.706 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M183.613,170.627l0.45,0.079l0.009,0.465l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.457l-0.926-46.182l-0.009-0.465l0.45,0.08L183.613,170.627z M184.097,216.73l-0.907-45.25l-44.63-7.87
- l0.907,45.251L184.097,216.73"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="116.054,226.653 115.128,180.472 137.658,162.987 138.584,209.169 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.128,180.472 115.119,180.006 137.649,162.522 137.658,162.987 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="116.029,181.095 138.559,163.61 139.466,208.861 116.937,226.346 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="116.937,226.346 116.029,181.095 138.559,163.61 139.466,208.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.119,180.006 137.649,162.522 138.099,162.602 115.569,180.086 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="162.027,235.216 116.513,227.19 139.043,209.706 184.557,217.731 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="116.937,226.346 139.466,208.861 184.097,216.73 161.567,234.215 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="161.567,234.215 116.937,226.346 139.466,208.861 184.097,216.73 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="162.477,235.295 162.027,235.216 184.557,217.731 185.007,217.811 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="162.468,234.838 184.998,217.354 185.007,217.811 162.477,235.295 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="160.66,188.964 161.567,234.215 116.937,226.346 116.029,181.095 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.66,188.964 116.029,181.095 138.559,163.61 183.189,171.48 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="116.029,181.095 138.559,163.61 183.189,171.48 160.66,188.964 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.567,234.215 160.66,188.964 183.189,171.48 184.097,216.73 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="160.66,188.964 183.189,171.48 184.097,216.73 161.567,234.215 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.569,180.086 138.099,162.602 183.613,170.627 161.083,188.111 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.542,188.656 184.072,171.171 184.998,217.354 162.468,234.838 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.083,188.111 183.613,170.627 184.063,170.706 161.533,188.19 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.533,188.19 184.063,170.706 184.072,171.171 161.542,188.656 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M161.083,188.111l0.45,0.079l0.009,0.465l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.457l-0.926-46.182l-0.009-0.465l0.45,0.08L161.083,188.111z M161.567,234.215l-0.907-45.25l-44.631-7.87
- l0.907,45.251L161.567,234.215"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="131.809,111.126 132.716,156.376 88.085,148.507 87.178,103.257 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.682,166.757 64.673,166.3 87.202,148.815 87.211,149.272 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.132,166.836 64.682,166.757 87.211,149.272 87.662,149.352 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M132.231,110.282l0.45,0.079l0.009,0.457L133.616,157l0.009,0.457l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.45,0.08L132.231,110.282z M132.716,156.376l-0.907-45.25
- l-44.631-7.87l0.907,45.25L132.716,156.376"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.673,166.3 63.747,120.118 86.276,102.634 87.202,148.815 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.747,120.118 63.738,119.661 86.268,102.177 86.276,102.634 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.648,120.741 87.178,103.257 88.085,148.507 65.555,165.991 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="65.555,165.991 64.648,120.741 87.178,103.257 88.085,148.507 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.738,119.661 86.268,102.177 86.718,102.256 64.188,119.741 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.646,174.861 65.132,166.836 87.662,149.352 133.176,157.377 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="110.186,173.861 65.555,165.991 88.085,148.507 132.716,156.376 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.555,165.991 88.085,148.507 132.716,156.376 110.186,173.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="111.096,174.941 110.646,174.861 133.176,157.377 133.625,157.457 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.087,174.484 133.616,157 133.625,157.457 111.096,174.941 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="109.279,128.611 110.186,173.861 65.555,165.991 64.648,120.741 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.279,128.611 64.648,120.741 87.178,103.257 131.809,111.126 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="64.648,120.741 87.178,103.257 131.809,111.126 109.279,128.611 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.186,173.861 109.279,128.611 131.809,111.126 132.716,156.376 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="109.279,128.611 131.809,111.126 132.716,156.376 110.186,173.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.188,119.741 86.718,102.256 132.231,110.282 109.702,127.766 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.161,128.302 132.69,110.818 133.616,157 111.087,174.484 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.702,127.766 132.231,110.282 132.681,110.361 110.152,127.845 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.152,127.845 132.681,110.361 132.69,110.818 110.161,128.302 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M109.702,127.766l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.45,0.08L109.702,127.766z M110.186,173.861l-0.907-45.25
- l-44.631-7.87l0.907,45.25L110.186,173.861"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M285.115,138.074l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.45,0.08L285.115,138.074z M285.599,184.169l-0.907-45.25l-44.63-7.87
- l0.907,45.25L285.599,184.169"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="284.691,138.919 285.599,184.169 240.968,176.299 240.061,131.049 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.565,194.558 217.556,194.092 240.085,176.608 240.095,177.073 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.015,194.637 217.565,194.558 240.095,177.073 240.545,177.152 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.556,194.092 216.63,147.911 239.16,130.426 240.085,176.608 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.63,147.911 216.621,147.454 239.15,129.969 239.16,130.426 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.531,148.534 240.061,131.049 240.968,176.299 218.438,193.784 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="218.438,193.784 217.531,148.534 240.061,131.049 240.968,176.299 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.621,147.454 239.15,129.969 239.601,130.049 217.071,147.533 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.529,202.662 218.015,194.637 240.545,177.152 286.059,185.178 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="263.069,201.653 218.438,193.784 240.968,176.299 285.599,184.169 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.438,193.784 240.968,176.299 285.599,184.169 263.069,201.653 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.979,202.741 263.529,202.662 286.059,185.178 286.509,185.257 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.97,202.276 286.5,184.792 286.509,185.257 263.979,202.741 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="217.531,148.534 240.061,131.049 284.691,138.919 262.162,156.403 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.162,156.403 217.531,148.534 240.061,131.049 284.691,138.919 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.069,201.653 262.162,156.403 284.691,138.919 285.599,184.169 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="262.162,156.403 284.691,138.919 285.599,184.169 263.069,201.653 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M262.585,155.559l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.465l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.45,0.08L262.585,155.559z M263.069,201.653l-0.907-45.25l-44.63-7.87
- l0.907,45.25L263.069,201.653"/>
- </g>
- <g>
- <path fill="#628CBE" d="M217.531,148.534l0.907,45.25l44.63,7.87l-0.907-45.25L217.531,148.534z M217.531,148.534
- L217.531,148.534L217.531,148.534L217.531,148.534z"/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.071,147.533 239.601,130.049 285.115,138.074 262.585,155.559 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.044,156.095 285.574,138.61 286.5,184.792 263.97,202.276 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.585,155.559 285.115,138.074 285.564,138.153 263.035,155.638 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.035,155.638 285.564,138.153 285.574,138.61 263.044,156.095 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M233.995,128.984l0.45,0.079l0.009,0.465l0.926,46.173l0.009,0.465l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.925-46.173l-0.01-0.465l0.45,0.08L233.995,128.984z M234.479,175.087l-0.907-45.258l-44.631-7.87
- l0.908,45.258L234.479,175.087"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.445,185.467 166.436,185.002 188.965,167.518 188.975,167.983 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.895,185.546 166.445,185.467 188.975,167.983 189.425,168.063 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.409,193.572 166.895,185.546 189.425,168.063 234.939,176.088 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="211.949,192.571 167.318,184.702 189.848,167.218 234.479,175.087 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="167.318,184.702 189.848,167.217 234.479,175.087 211.949,192.571 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="233.571,129.829 234.479,175.087 189.848,167.218 188.941,121.959 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.436,185.002 165.51,138.829 188.04,121.344 188.965,167.518 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.51,138.829 165.501,138.363 188.03,120.879 188.04,121.344 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.411,139.443 188.94,121.959 189.848,167.217 167.318,184.702 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="167.318,184.702 166.411,139.443 188.941,121.959 189.848,167.218 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.501,138.363 188.03,120.879 188.48,120.958 165.951,138.442 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.859,193.651 212.409,193.572 234.939,176.088 235.389,176.167 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.85,193.186 235.379,175.702 235.389,176.167 212.859,193.651 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.042,147.313 166.411,139.443 188.94,121.959 233.571,129.829 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="166.411,139.443 188.941,121.959 233.571,129.829 211.042,147.313 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.949,192.571 211.042,147.313 233.571,129.829 234.479,175.087 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="211.042,147.313 233.571,129.829 234.479,175.087 211.949,192.571 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M211.465,146.468l0.45,0.08l0.009,0.465l0.925,46.173l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.173l-0.009-0.465l0.45,0.079L211.465,146.468z M211.949,192.571l-0.907-45.258
- l-44.63-7.87l0.907,45.258L211.949,192.571"/>
- </g>
- <g>
- <path fill="#628CBE" d="M211.042,147.313l-44.63-7.87l0.907,45.258l44.63,7.87L211.042,147.313z M166.411,139.443
- L166.411,139.443L166.411,139.443L166.411,139.443z"/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.951,138.442 188.48,120.958 233.995,128.984 211.465,146.468 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.924,147.013 234.454,129.528 235.379,175.702 212.85,193.186 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.465,146.468 233.995,128.984 234.444,129.063 211.915,146.547 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.915,146.547 234.444,129.063 234.454,129.528 211.924,147.013 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M182.614,119.633l0.45,0.079l0.009,0.457l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.457l0.45,0.079L182.614,119.633z M183.098,165.728l-0.907-45.25
- l-44.63-7.87l0.907,45.25L183.098,165.728"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="182.19,120.477 183.098,165.728 138.467,157.858 137.56,112.607 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.064,176.108 115.055,175.65 137.585,158.166 137.594,158.624 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.514,176.187 115.064,176.108 137.594,158.624 138.043,158.703 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.055,175.65 114.129,129.469 136.659,111.985 137.585,158.166 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.129,129.469 114.12,129.012 136.65,111.528 136.659,111.985 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.03,130.092 137.56,112.607 138.467,157.858 115.938,175.342 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="115.938,175.342 115.03,130.092 137.56,112.607 138.467,157.858 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.12,129.012 136.65,111.528 137.1,111.607 114.57,129.092 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.028,184.212 115.514,176.187 138.043,158.703 183.558,166.728 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.938,175.342 138.467,157.858 183.098,165.728 160.568,183.212 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="160.568,183.212 115.938,175.342 138.467,157.858 183.098,165.728 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.478,184.292 161.028,184.212 183.558,166.728 184.008,166.808 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.469,183.834 183.999,166.35 184.008,166.808 161.478,184.292 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="159.661,137.961 160.568,183.212 115.938,175.342 115.03,130.092 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.661,137.961 115.03,130.092 137.56,112.607 182.19,120.477 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="115.03,130.092 137.56,112.607 182.19,120.477 159.661,137.961 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="159.661,137.961 182.19,120.477 183.098,165.728 160.568,183.212 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.568,183.212 159.661,137.961 182.19,120.477 183.098,165.728 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.57,129.092 137.1,111.607 182.614,119.633 160.084,137.117 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.543,137.653 183.073,120.169 183.999,166.35 161.469,183.834 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.084,137.117 182.614,119.633 183.063,119.712 160.534,137.196 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.534,137.196 183.063,119.712 183.073,120.169 160.543,137.653 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M160.084,137.117l0.45,0.079l0.009,0.457l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.457l0.45,0.08L160.084,137.117z M160.568,183.212l-0.907-45.25l-44.63-7.87
- l0.907,45.25L160.568,183.212"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M131.817,59.099l0.45,0.08l0.009,0.465l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025l-0.45-0.08
- l-0.009-0.458l-0.926-46.181l-0.01-0.465l0.45,0.08L131.817,59.099z M132.302,105.202l-0.907-45.258l-44.631-7.87
- l0.907,45.258L132.302,105.202"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="131.395,59.944 132.302,105.202 87.671,97.333 86.764,52.074 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.269,115.583 64.259,115.125 86.789,97.641 86.798,98.098 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.718,115.662 64.269,115.583 86.798,98.098 87.248,98.178 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.259,115.125 63.333,68.944 85.863,51.459 86.789,97.641 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.333,68.944 63.324,68.479 85.854,50.994 85.863,51.459 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.234,69.559 86.764,52.074 87.671,97.333 65.141,114.817 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="65.141,114.817 64.234,69.559 86.764,52.074 87.671,97.333 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.324,68.479 85.854,50.994 86.304,51.074 63.774,68.558 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.232,123.687 64.718,115.662 87.248,98.178 132.762,106.203 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.141,114.817 87.671,97.333 132.302,105.202 109.772,122.687 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="109.772,122.687 65.141,114.817 87.671,97.333 132.302,105.202 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.682,123.767 110.232,123.687 132.762,106.203 133.212,106.282 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.673,123.309 133.203,105.825 133.212,106.282 110.682,123.767 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="108.865,77.428 64.234,69.559 86.764,52.074 131.395,59.944 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="64.234,69.559 86.764,52.074 131.395,59.944 108.865,77.428 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.772,122.687 108.865,77.428 131.395,59.944 132.302,105.202 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="108.865,77.428 131.395,59.944 132.302,105.202 109.772,122.687 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M109.288,76.583l0.45,0.08l0.009,0.465l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.465l0.45,0.079L109.288,76.583z M109.772,122.687l-0.907-45.259
- l-44.631-7.869l0.907,45.258L109.772,122.687"/>
- </g>
- <g>
- <path fill="#628CBE" d="M64.234,69.559l0.907,45.258l44.631,7.87l-0.907-45.259L64.234,69.559z M64.234,69.559L64.234,69.559
- L64.234,69.559L64.234,69.559z"/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.774,68.558 86.304,51.074 131.817,59.099 109.288,76.583 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.748,77.128 132.277,59.644 133.203,105.825 110.673,123.309 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.288,76.583 131.817,59.099 132.268,59.178 109.738,76.663 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.738,76.663 132.268,59.178 132.277,59.644 109.748,77.128 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M284.701,86.899l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.457l0.45,0.079L284.701,86.899z M285.185,132.995l-0.907-45.25l-44.63-7.87
- l0.907,45.25L285.185,132.995"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="284.277,87.744 285.185,132.995 240.554,125.125 239.647,79.875 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.151,143.375 217.142,142.917 239.672,125.433 239.681,125.891 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.601,143.454 217.151,143.375 239.681,125.891 240.13,125.97 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.142,142.917 216.216,96.736 238.746,79.252 239.672,125.433 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.216,96.736 216.207,96.279 238.737,78.795 238.746,79.252 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.117,97.359 239.647,79.875 240.554,125.125 218.024,142.609 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="218.024,142.609 217.117,97.359 239.647,79.875 240.554,125.125 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.207,96.279 238.737,78.795 239.187,78.874 216.657,96.358 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.115,151.479 217.601,143.454 240.13,125.97 285.645,133.995 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.024,142.609 240.554,125.125 285.185,132.995 262.655,150.479 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="262.655,150.479 218.024,142.609 240.554,125.125 285.185,132.995 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.565,151.559 263.115,151.479 285.645,133.995 286.095,134.074 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.556,151.102 286.085,133.617 286.095,134.074 263.565,151.559 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="261.748,105.229 217.117,97.359 239.647,79.875 284.277,87.744 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="261.748,105.229 262.655,150.479 218.024,142.609 217.117,97.359 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="217.117,97.359 239.647,79.875 284.277,87.744 261.748,105.229 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.655,150.479 261.748,105.229 284.277,87.744 285.185,132.995 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="261.748,105.229 284.277,87.744 285.185,132.995 262.655,150.479 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.657,96.358 239.187,78.874 284.701,86.899 262.171,104.384 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.63,104.92 285.16,87.436 286.085,133.617 263.556,151.102 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.171,104.384 284.701,86.899 285.15,86.979 262.621,104.463 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.621,104.463 285.15,86.979 285.16,87.436 262.63,104.92 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M262.171,104.384l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.458l0.45,0.08L262.171,104.384z M262.655,150.479l-0.907-45.25l-44.63-7.87
- l0.907,45.25L262.655,150.479"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="233.158,78.653 234.065,123.904 189.442,116.036 188.536,70.785 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.04,134.286 166.031,133.829 188.561,116.344 188.569,116.801 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.481,134.364 166.04,134.286 188.569,116.801 189.011,116.879 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M233.581,77.809l0.45,0.08l0.009,0.457l0.926,46.182l0.009,0.457l-0.45-0.079l-45.515-8.025
- l-0.441-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.458l0.441,0.078L233.581,77.809z M234.065,123.904l-0.907-45.251
- l-44.622-7.868l0.907,45.25L234.065,123.904"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.031,133.829 165.105,87.647 187.635,70.163 188.561,116.344 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.105,87.647 165.096,87.19 187.625,69.706 187.635,70.163 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.006,88.27 188.536,70.786 189.442,116.036 166.913,133.521 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="166.913,133.521 166.006,88.27 188.536,70.785 189.442,116.036 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.096,87.19 187.625,69.706 188.067,69.783 165.537,87.268 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.996,142.389 166.481,134.364 189.011,116.879 234.525,124.905 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="211.535,141.388 166.913,133.521 189.442,116.036 234.065,123.904 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.913,133.521 189.442,116.036 234.065,123.904 211.535,141.388 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.445,142.468 211.996,142.389 234.525,124.905 234.975,124.984 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.437,142.011 234.966,124.527 234.975,124.984 212.445,142.468 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="210.628,96.138 211.535,141.388 166.913,133.521 166.006,88.27 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="210.628,96.138 166.006,88.27 188.536,70.786 233.158,78.653 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="166.006,88.27 188.536,70.785 233.158,78.653 210.628,96.138 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.535,141.388 210.628,96.138 233.158,78.653 234.065,123.904 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="210.628,96.138 233.158,78.653 234.065,123.904 211.535,141.388 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.537,87.268 188.067,69.783 233.581,77.809 211.052,95.293 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.511,95.83 234.04,78.345 234.966,124.527 212.437,142.011 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.052,95.293 233.581,77.809 234.031,77.888 211.501,95.373 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.501,95.373 234.031,77.888 234.04,78.345 211.511,95.83 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M211.052,95.293l0.45,0.08l0.009,0.457l0.926,46.181l0.009,0.458l-0.45-0.079l-45.514-8.025
- l-0.441-0.078l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.441,0.078L211.052,95.293z M211.535,141.388l-0.907-45.25
- l-44.622-7.868l0.907,45.251L211.535,141.388"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M182.2,68.458l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025l-0.45-0.079
- l-0.009-0.458l-0.926-46.181l-0.009-0.458l0.45,0.08L182.2,68.458z M182.684,114.554l-0.907-45.25l-44.63-7.87l0.907,45.25
- L182.684,114.554"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="181.776,69.303 182.684,114.554 138.053,106.684 137.146,61.434 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.65,124.934 114.641,124.477 137.171,106.992 137.18,107.45 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.1,125.013 114.65,124.934 137.18,107.45 137.629,107.529 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.641,124.477 113.715,78.295 136.245,60.811 137.171,106.992 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.715,78.295 113.706,77.838 136.236,60.354 136.245,60.811 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.616,78.918 137.146,61.434 138.053,106.684 115.523,124.168 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="115.523,124.168 114.616,78.918 137.146,61.434 138.053,106.684 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="113.706,77.838 136.236,60.354 136.686,60.433 114.156,77.917 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.614,133.039 115.1,125.013 137.629,107.529 183.144,115.554 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.523,124.168 138.053,106.684 182.684,114.554 160.154,132.038 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="160.154,132.038 115.523,124.168 138.053,106.684 182.684,114.554 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.064,133.118 160.614,133.039 183.144,115.554 183.594,115.634 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.055,132.661 183.584,115.176 183.594,115.634 161.064,133.118 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="159.247,86.788 160.154,132.038 115.523,124.168 114.616,78.918 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.247,86.788 114.616,78.918 137.146,61.434 181.776,69.303 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.154,132.038 159.247,86.788 181.776,69.303 182.684,114.554 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="114.616,78.918 137.146,61.434 181.776,69.303 159.247,86.788 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="159.247,86.788 181.776,69.303 182.684,114.554 160.154,132.038 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.156,77.917 136.686,60.433 182.2,68.458 159.67,85.943 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.129,86.479 182.659,68.995 183.584,115.176 161.055,132.661 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.67,85.943 182.2,68.458 182.649,68.538 160.12,86.022 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.12,86.022 182.649,68.538 182.659,68.995 160.129,86.479 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M159.67,85.943l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.458l0.45,0.08L159.67,85.943z M160.154,132.038l-0.907-45.25l-44.63-7.87
- l0.907,45.25L160.154,132.038"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M130.818,8.104l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458L84.864,0.457L84.855,0l0.45,0.079L130.818,8.104z M131.303,54.2l-0.907-45.25l-44.63-7.87
- l0.907,45.25L131.303,54.2"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="130.396,8.949 131.303,54.2 86.672,46.33 85.765,1.08 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.27,64.58 63.26,64.123 85.79,46.638 85.799,47.096 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.719,64.659 63.27,64.58 85.799,47.096 86.249,47.175 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.26,64.123 62.334,17.941 84.864,0.457 85.79,46.638 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="62.334,17.941 62.325,17.484 84.855,0 84.864,0.457 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="64.143,63.814 63.235,18.564 85.765,1.08 86.672,46.33 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.235,18.564 85.765,1.08 86.672,46.33 64.143,63.814 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="62.325,17.484 84.855,0 85.305,0.079 62.775,17.563 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.233,72.685 63.719,64.659 86.249,47.175 131.763,55.2 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="108.773,71.684 64.143,63.814 86.672,46.33 131.303,54.2 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.143,63.814 86.672,46.33 131.303,54.2 108.773,71.684 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.683,72.764 109.233,72.685 131.763,55.2 132.213,55.279 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.674,72.307 132.204,54.822 132.213,55.279 109.683,72.764 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="107.866,26.434 108.773,71.684 64.143,63.814 63.235,18.564 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="107.866,26.434 63.235,18.564 85.765,1.08 130.396,8.949 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="63.235,18.564 85.765,1.08 130.396,8.949 107.866,26.434 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="108.773,71.684 107.866,26.434 130.396,8.949 131.303,54.2 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="107.866,26.434 130.396,8.949 131.303,54.2 108.773,71.684 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="62.775,17.563 85.305,0.079 130.818,8.104 108.289,25.589 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="108.748,26.125 131.278,8.641 132.204,54.822 109.674,72.307 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="108.289,25.589 130.818,8.104 131.269,8.184 108.739,25.668 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="108.739,25.668 131.269,8.184 131.278,8.641 108.748,26.125 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M108.289,25.589l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.458l0.45,0.08L108.289,25.589z M108.773,71.684l-0.907-45.25l-44.631-7.87
- l0.907,45.25L108.773,71.684"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="283.278,36.742 284.186,81.992 239.555,74.123 238.648,28.872 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.152,92.38 216.143,91.915 238.672,74.431 238.682,74.896 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.602,92.459 216.152,92.38 238.682,74.896 239.132,74.975 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M283.702,35.897l0.45,0.079l0.009,0.458l0.926,46.181l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.181l-0.009-0.458l0.45,0.08L283.702,35.897z M284.186,81.992l-0.907-45.25l-44.63-7.87
- l0.907,45.25L284.186,81.992"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.143,91.915 215.217,45.733 237.747,28.25 238.672,74.431 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="215.217,45.733 215.208,45.276 237.737,27.792 237.747,28.25 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.118,46.356 238.648,28.872 239.555,74.123 217.025,91.607 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="217.025,91.607 216.118,46.356 238.648,28.872 239.555,74.123 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="215.208,45.276 237.737,27.792 238.188,27.872 215.658,45.355 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.116,100.485 216.602,92.459 239.132,74.975 284.646,83 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="261.656,99.477 217.025,91.607 239.555,74.123 284.186,81.992 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.025,91.607 239.555,74.123 284.186,81.992 261.656,99.477 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.566,100.564 262.116,100.485 284.646,83 285.096,83.08 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.557,100.099 285.086,82.615 285.096,83.08 262.566,100.564 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="260.749,54.226 261.656,99.477 217.025,91.607 216.118,46.356 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="260.749,54.226 216.118,46.356 238.648,28.872 283.278,36.742 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="216.118,46.356 238.648,28.872 283.278,36.742 260.749,54.226 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="260.749,54.226 283.278,36.742 284.186,81.992 261.656,99.477 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="261.656,99.477 260.749,54.226 283.278,36.742 284.186,81.992 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="215.658,45.355 238.188,27.872 283.702,35.897 261.172,53.381 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="261.631,53.917 284.161,36.434 285.086,82.615 262.557,100.099 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="261.172,53.381 283.702,35.897 284.151,35.976 261.622,53.46 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="261.622,53.46 284.151,35.976 284.161,36.434 261.631,53.917 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M261.172,53.381l0.45,0.08l0.009,0.457l0.926,46.182l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.45,0.079L261.172,53.381z M261.656,99.477l-0.907-45.251
- l-44.63-7.869l0.907,45.25L261.656,99.477"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="232.158,27.651 233.065,72.91 188.443,65.042 187.536,19.784 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.032,83.291 165.023,82.825 187.552,65.341 187.562,65.806 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.482,83.37 165.032,83.291 187.562,65.806 188.012,65.886 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M232.582,26.807l0.45,0.079l0.009,0.465l0.926,46.173l0.009,0.465l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.925-46.173l-0.009-0.465l0.45,0.08L232.582,26.807z M233.065,72.91l-0.907-45.258l-44.622-7.868
- l0.907,45.258L233.065,72.91"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.023,82.825 164.097,36.652 186.627,19.167 187.552,65.341 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="164.097,36.652 164.088,36.187 186.618,18.702 186.627,19.167 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.006,37.268 187.536,19.784 188.443,65.042 165.914,82.526 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="165.914,82.526 165.006,37.268 187.536,19.784 188.443,65.042 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="164.088,36.187 186.618,18.702 187.067,18.782 164.538,36.266 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="210.996,91.395 165.482,83.37 188.012,65.886 233.526,73.911 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.914,82.526 188.443,65.042 233.065,72.91 210.536,90.395 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="210.536,90.395 165.914,82.526 188.443,65.042 233.065,72.91 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.446,91.475 210.996,91.395 233.526,73.911 233.976,73.99 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.437,91.009 233.966,73.525 233.976,73.99 211.446,91.475 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="209.628,45.136 165.006,37.268 187.536,19.784 232.158,27.652 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="165.006,37.268 187.536,19.784 232.158,27.651 209.628,45.136 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="210.536,90.395 209.628,45.136 232.158,27.652 233.065,72.91 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="209.628,45.136 232.158,27.651 233.065,72.91 210.536,90.395 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M210.052,44.291l0.45,0.08l0.009,0.465l0.925,46.173l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.173l-0.009-0.465l0.45,0.079L210.052,44.291z M210.536,90.395l-0.907-45.259
- l-44.622-7.868l0.907,45.258L210.536,90.395"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="209.628,45.136 210.536,90.395 165.914,82.526 165.006,37.268 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="164.538,36.266 187.067,18.782 232.582,26.807 210.052,44.291 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="210.511,44.836 233.041,27.352 233.966,73.525 211.437,91.009 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="210.052,44.291 232.582,26.807 233.031,26.886 210.502,44.371 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="210.502,44.371 233.031,26.886 233.041,27.352 210.511,44.836 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="180.777,18.301 181.685,63.551 137.054,55.682 136.147,10.431 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.651,73.939 113.642,73.474 136.171,55.99 136.181,56.455 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.101,74.019 113.651,73.939 136.181,56.455 136.631,56.534 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M181.201,17.456l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.181l-0.009-0.458l0.45,0.08L181.201,17.456z M181.685,63.551l-0.907-45.25l-44.63-7.87
- l0.907,45.25L181.685,63.551"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.642,73.474 112.716,27.293 135.246,9.809 136.171,55.99 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="112.716,27.293 112.707,26.835 135.236,9.351 135.246,9.809 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.617,27.916 136.147,10.431 137.054,55.682 114.524,73.166 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="114.524,73.166 113.617,27.916 136.147,10.431 137.054,55.682 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="112.707,26.835 135.236,9.351 135.687,9.431 113.157,26.915 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.615,82.044 114.101,74.019 136.631,56.534 182.145,64.56 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.524,73.166 137.054,55.682 181.685,63.551 159.155,81.036 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="159.155,81.036 114.524,73.166 137.054,55.682 181.685,63.551 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.065,82.124 159.615,82.044 182.145,64.56 182.595,64.639 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.056,81.658 182.585,64.174 182.595,64.639 160.065,82.124 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="158.248,35.785 159.155,81.036 114.524,73.166 113.617,27.916 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="158.248,35.785 113.617,27.916 136.147,10.431 180.777,18.301 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="113.617,27.916 136.147,10.431 180.777,18.301 158.248,35.785 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="159.155,81.036 158.248,35.785 180.777,18.301 181.685,63.551 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="158.248,35.785 180.777,18.301 181.685,63.551 159.155,81.036 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="113.157,26.915 135.687,9.431 181.201,17.456 158.671,34.94 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="159.13,35.477 181.66,17.992 182.585,64.174 160.056,81.658 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="158.671,34.94 181.201,17.456 181.65,17.535 159.121,35.02 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="159.121,35.02 181.65,17.535 181.66,17.992 159.13,35.477 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M158.671,34.94l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.465l-0.45-0.08l-45.514-8.025
- l-0.45-0.079l-0.009-0.465l-0.926-46.181l-0.009-0.458l0.45,0.08L158.671,34.94z M159.155,81.036l-0.907-45.25l-44.63-7.87
- l0.907,45.25L159.155,81.036"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M101.883,188.304l0.441,0.078l0.009,0.465l0.926,46.181l0.009,0.457l-0.441-0.078l-45.523-8.026
- l-0.441-0.078l-0.009-0.457l-0.926-46.181l-0.01-0.465l0.442,0.078L101.883,188.304z M102.359,234.405l-0.907-45.25
- l-44.622-7.868l0.907,45.251L102.359,234.405"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="101.452,189.155 102.359,234.405 57.737,226.538 56.83,181.287 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="34.334,244.787 34.325,244.33 56.854,226.846 56.863,227.303 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="34.775,244.865 34.334,244.787 56.863,227.303 57.305,227.381 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="34.325,244.33 33.399,198.149 55.929,180.665 56.854,226.846 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.399,198.149 33.39,197.684 55.919,180.199 55.929,180.665 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="34.3,198.771 56.83,181.287 57.737,226.538 35.207,244.021 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="35.207,244.021 34.3,198.771 56.83,181.287 57.737,226.538 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.39,197.684 55.919,180.199 56.361,180.277 33.831,197.761 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="80.298,252.892 34.775,244.865 57.305,227.381 102.828,235.407 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="79.829,251.89 35.207,244.021 57.737,226.538 102.359,234.405 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="35.207,244.021 57.737,226.538 102.359,234.405 79.829,251.89 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="80.739,252.97 80.298,252.892 102.828,235.407 103.269,235.485 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="80.73,252.513 103.26,235.028 103.269,235.485 80.739,252.97 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="78.922,206.64 79.829,251.89 35.207,244.021 34.3,198.771 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.922,206.64 34.3,198.771 56.83,181.287 101.452,189.155 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="34.3,198.771 56.83,181.287 101.452,189.155 78.922,206.64 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.829,251.89 78.922,206.64 101.452,189.155 102.359,234.405 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="78.922,206.64 101.452,189.155 102.359,234.405 79.829,251.89 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.831,197.761 56.361,180.277 101.883,188.304 79.354,205.788 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.805,206.331 102.334,188.847 103.26,235.028 80.73,252.513 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.354,205.788 101.883,188.304 102.325,188.382 79.795,205.866 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.795,205.866 102.325,188.382 102.334,188.847 79.805,206.331 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M79.354,205.788l0.441,0.078l0.01,0.465l0.926,46.182l0.009,0.457l-0.441-0.078l-45.522-8.026
- l-0.441-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.465l0.441,0.078L79.354,205.788z M79.829,251.89l-0.907-45.25
- L34.3,198.771l0.907,45.25L79.829,251.89"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M254.766,216.104l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.182L208.802,208l0.442,0.078L254.766,216.104z M255.242,262.198l-0.907-45.25
- l-44.623-7.868l0.907,45.25L255.242,262.198"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="254.335,216.948 255.242,262.198 210.619,254.33 209.712,209.08 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="187.217,272.588 187.208,272.123 209.737,254.639 209.746,255.104 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="187.659,272.666 187.217,272.588 209.746,255.104 210.188,255.182 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="187.208,272.123 186.282,225.941 208.811,208.457 209.737,254.639 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.282,225.941 186.272,225.484 208.802,208 208.811,208.457 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="188.09,271.814 187.183,226.564 209.712,209.08 210.619,254.33 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="187.183,226.564 209.712,209.08 210.619,254.33 188.09,271.814 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.272,225.484 208.802,208 209.244,208.078 186.714,225.563 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="233.181,280.692 187.659,272.666 210.188,255.182 255.71,263.208 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="232.712,279.683 188.09,271.814 210.619,254.33 255.242,262.198 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="188.09,271.814 210.619,254.33 255.242,262.198 232.712,279.683 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="233.623,280.771 233.181,280.692 255.71,263.208 256.152,263.286 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="233.613,280.306 256.143,262.821 256.152,263.286 233.623,280.771 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="231.805,234.433 232.712,279.683 188.09,271.814 187.183,226.564 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.805,234.433 187.183,226.564 209.712,209.08 254.335,216.948 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="187.183,226.564 209.712,209.08 254.335,216.948 231.805,234.433 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.712,279.683 231.805,234.433 254.335,216.948 255.242,262.198 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="231.805,234.433 254.335,216.948 255.242,262.198 232.712,279.683 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.714,225.563 209.244,208.078 254.766,216.104 232.236,233.589 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.688,234.124 255.217,216.64 256.143,262.821 233.613,280.306 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.236,233.589 254.766,216.104 255.208,216.183 232.679,233.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.679,233.667 255.208,216.183 255.217,216.64 232.688,234.124 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M232.236,233.589l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.442,0.078L232.236,233.589z M232.712,279.683l-0.907-45.25
- l-44.623-7.868l0.907,45.25L232.712,279.683"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="203.215,207.858 204.122,253.116 159.5,245.248 158.592,199.99 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="136.097,263.498 136.087,263.033 158.617,245.549 158.626,246.014 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="136.539,263.576 136.097,263.498 158.626,246.014 159.068,246.092 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M203.646,207.015l0.442,0.078l0.009,0.465l0.926,46.174l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.925-46.173l-0.009-0.465l0.442,0.078L203.646,207.015z M204.122,253.116l-0.907-45.258
- l-44.623-7.869l0.907,45.258L204.122,253.116"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="136.087,263.033 135.162,216.859 157.691,199.375 158.617,245.549 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.162,216.859 135.152,216.395 157.682,198.91 157.691,199.375 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="136.063,217.475 158.592,199.99 159.5,245.248 136.97,262.732 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="136.97,262.732 136.063,217.475 158.592,199.99 159.5,245.248 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.152,216.395 157.682,198.91 158.124,198.988 135.594,216.473 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="182.061,271.603 136.539,263.576 159.068,246.092 204.59,254.118 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="181.592,270.601 136.97,262.732 159.5,245.248 204.122,253.116 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="136.97,262.732 159.5,245.248 204.122,253.116 181.592,270.601 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="182.502,271.681 182.061,271.603 204.59,254.118 205.032,254.196 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="182.493,271.216 205.023,253.731 205.032,254.196 182.502,271.681 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.685,225.343 136.063,217.475 158.592,199.99 203.215,207.858 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="136.063,217.475 158.592,199.99 203.215,207.858 180.685,225.343 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.592,270.601 180.685,225.343 203.215,207.858 204.122,253.116 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="180.685,225.343 203.215,207.858 204.122,253.116 181.592,270.601 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M181.116,224.499l0.442,0.078l0.009,0.465l0.925,46.174l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.174l-0.009-0.465l0.442,0.078L181.116,224.499z M181.592,270.601l-0.907-45.258
- l-44.623-7.868l0.907,45.258L181.592,270.601"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="180.685,225.343 181.592,270.601 136.97,262.732 136.063,217.475 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.594,216.473 158.124,198.988 203.646,207.015 181.116,224.499 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.568,225.042 204.097,207.558 205.023,253.731 182.493,271.216 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.116,224.499 203.646,207.015 204.088,207.093 181.559,224.577 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.559,224.577 204.088,207.093 204.097,207.558 181.568,225.042 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="151.834,198.506 152.741,243.757 108.118,235.889 107.211,190.638 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="84.716,254.147 84.707,253.682 107.236,236.197 107.245,236.663 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="85.158,254.226 84.716,254.147 107.245,236.663 107.688,236.741 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M152.265,197.663l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.466l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.466l-0.926-46.182l-0.009-0.457l0.442,0.078L152.265,197.663z M152.741,243.757l-0.907-45.25
- l-44.623-7.868l0.907,45.25L152.741,243.757"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="84.707,253.682 83.781,207.5 106.31,190.016 107.236,236.197 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.781,207.5 83.771,207.043 106.301,189.559 106.31,190.016 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="84.682,208.123 107.211,190.638 108.118,235.889 85.589,253.373 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="85.589,253.373 84.682,208.123 107.211,190.638 108.118,235.889 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.771,207.043 106.301,189.559 106.743,189.636 84.213,207.121 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="130.68,262.252 85.158,254.226 107.688,236.741 153.209,244.768 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="130.211,261.241 85.589,253.373 108.118,235.889 152.741,243.757 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="85.589,253.373 108.118,235.889 152.741,243.757 130.211,261.241 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="131.122,262.33 130.68,262.252 153.209,244.768 153.651,244.846 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="131.112,261.864 153.642,244.38 153.651,244.846 131.122,262.33 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="129.304,215.991 130.211,261.241 85.589,253.373 84.682,208.123 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.304,215.991 84.682,208.123 107.211,190.638 151.834,198.506 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="84.682,208.123 107.211,190.638 151.834,198.506 129.304,215.991 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.211,261.241 129.304,215.991 151.834,198.506 152.741,243.757 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="129.304,215.991 151.834,198.506 152.741,243.757 130.211,261.241 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.213,207.121 106.743,189.636 152.265,197.663 129.735,215.147 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.187,215.683 152.716,198.198 153.642,244.38 131.112,261.864 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.735,215.147 152.265,197.663 152.707,197.741 130.178,215.226 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.178,215.226 152.707,197.741 152.716,198.198 130.187,215.683 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M129.735,215.147l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.466l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.466L83.781,207.5l-0.009-0.457l0.442,0.078L129.735,215.147z M130.211,261.241l-0.907-45.25
- l-44.623-7.868l0.907,45.25L130.211,261.241"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="100.453,138.153 101.359,183.403 56.737,175.535 55.831,130.285 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.335,193.793 33.326,193.328 55.855,175.844 55.864,176.309 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.777,193.871 33.335,193.793 55.864,176.309 56.307,176.387 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M100.884,137.31l0.441,0.078l0.009,0.457l0.926,46.181l0.009,0.465l-0.441-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.442,0.078L100.884,137.31z M101.359,183.403l-0.907-45.25
- l-44.623-7.868l0.907,45.25L101.359,183.403"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.326,193.328 32.4,147.146 54.929,129.662 55.855,175.844 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.4,147.146 32.391,146.689 54.92,129.205 54.929,129.662 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.301,147.769 55.83,130.285 56.737,175.535 34.208,193.02 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="34.208,193.02 33.301,147.769 55.831,130.285 56.737,175.535 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.391,146.689 54.92,129.205 55.362,129.283 32.833,146.767 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.299,201.897 33.777,193.871 56.307,176.387 101.829,184.414 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="78.83,200.888 34.208,193.02 56.737,175.535 101.359,183.403 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="34.208,193.02 56.737,175.535 101.359,183.403 78.83,200.888 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.74,201.976 79.299,201.897 101.829,184.414 102.27,184.491 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.731,201.511 102.261,184.026 102.27,184.491 79.74,201.976 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="77.923,155.637 78.83,200.888 34.208,193.02 33.301,147.769 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.923,155.637 33.301,147.769 55.83,130.285 100.453,138.153 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="33.301,147.769 55.831,130.285 100.453,138.153 77.923,155.637 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.83,200.888 77.923,155.637 100.453,138.153 101.359,183.403 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="77.923,155.637 100.453,138.153 101.359,183.403 78.83,200.888 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.833,146.767 55.362,129.283 100.884,137.31 78.354,154.794 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.805,155.329 101.335,137.845 102.261,184.026 79.731,201.511 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.354,154.794 100.884,137.31 101.326,137.388 78.796,154.872 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.796,154.872 101.326,137.388 101.335,137.845 78.805,155.329 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M78.354,154.794l0.441,0.078l0.009,0.457l0.926,46.182l0.009,0.465l-0.441-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465L32.4,147.146l-0.009-0.457l0.442,0.078L78.354,154.794z M78.83,200.888l-0.907-45.25
- l-44.622-7.868l0.907,45.25L78.83,200.888"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="253.336,165.945 254.243,211.203 209.621,203.335 208.713,158.077 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.218,221.585 186.208,221.12 208.738,203.636 208.747,204.101 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.66,221.663 186.218,221.585 208.747,204.101 209.189,204.179 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M253.767,165.102l0.442,0.078l0.009,0.465l0.926,46.173l0.009,0.465l-0.442-0.077l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.925-46.173l-0.009-0.465l0.442,0.078L253.767,165.102z M254.243,211.203l-0.907-45.258
- l-44.623-7.868l0.907,45.258L254.243,211.203"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.208,221.12 185.283,174.947 207.813,157.462 208.738,203.636 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.283,174.947 185.273,174.481 207.803,156.997 207.813,157.462 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.184,175.561 208.713,158.077 209.621,203.335 187.091,220.819 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="187.091,220.819 186.184,175.561 208.713,158.077 209.621,203.335 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.273,174.481 207.803,156.997 208.245,157.075 185.715,174.559 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.182,229.689 186.66,221.663 209.189,204.179 254.711,212.206 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="187.091,220.819 209.621,203.335 254.243,211.203 231.713,228.688 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="231.713,228.688 187.091,220.819 209.621,203.335 254.243,211.203 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.624,229.768 232.182,229.689 254.711,212.206 255.153,212.283 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.614,229.303 255.144,211.818 255.153,212.283 232.624,229.768 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.806,183.429 186.184,175.561 208.713,158.077 253.336,165.945 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.713,228.688 230.806,183.429 253.336,165.945 254.243,211.203 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="186.184,175.561 208.713,158.077 253.336,165.945 230.806,183.429 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="230.806,183.429 253.336,165.945 254.243,211.203 231.713,228.688 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M231.237,182.586l0.442,0.078l0.009,0.465l0.925,46.173l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.173l-0.009-0.465l0.442,0.078L231.237,182.586z M231.713,228.688l-0.907-45.258
- l-44.623-7.868l0.907,45.258L231.713,228.688"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="230.806,183.429 231.713,228.688 187.091,220.819 186.184,175.561 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.715,174.559 208.245,157.075 253.767,165.102 231.237,182.586 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.689,183.129 254.218,165.645 255.144,211.818 232.614,229.303 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.237,182.586 253.767,165.102 254.209,165.18 231.68,182.664 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.68,182.664 254.209,165.18 254.218,165.645 231.689,183.129 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="202.216,156.855 203.123,202.113 158.5,194.246 157.593,148.987 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.098,212.495 135.088,212.038 157.618,194.554 157.627,195.011 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.54,212.573 135.098,212.495 157.627,195.011 158.069,195.089 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M202.647,156.012l0.442,0.078l0.009,0.465l0.926,46.181l0.009,0.457l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.465l0.442,0.078L202.647,156.012z M203.123,202.113l-0.907-45.258
- l-44.623-7.868l0.907,45.259L203.123,202.113"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.088,212.038 134.163,165.857 156.692,148.373 157.618,194.554 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.163,165.857 134.153,165.392 156.683,147.907 156.692,148.373 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.063,166.471 157.593,148.987 158.5,194.246 135.971,211.729 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="135.971,211.729 135.063,166.471 157.593,148.987 158.5,194.246 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.153,165.392 156.683,147.907 157.125,147.985 134.595,165.469 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.062,220.6 135.54,212.573 158.069,195.089 203.591,203.115 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="180.593,219.598 135.971,211.729 158.5,194.246 203.123,202.113 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.971,211.729 158.5,194.246 203.123,202.113 180.593,219.598 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.503,220.678 181.062,220.6 203.591,203.115 204.033,203.193 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.495,220.221 204.024,202.736 204.033,203.193 181.503,220.678 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.686,174.339 135.063,166.471 157.593,148.987 202.216,156.855 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="135.063,166.471 157.593,148.987 202.216,156.855 179.686,174.339 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="179.686,174.339 202.216,156.855 203.123,202.113 180.593,219.598 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.593,219.598 179.686,174.339 202.216,156.855 203.123,202.113 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M180.117,173.496l0.442,0.078l0.009,0.465l0.926,46.181l0.009,0.457l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.465l0.442,0.078L180.117,173.496z M180.593,219.598l-0.907-45.258
- l-44.623-7.868l0.907,45.258L180.593,219.598"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="135.063,166.471 135.971,211.729 180.593,219.598 179.686,174.339 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.595,165.469 157.125,147.985 202.647,156.012 180.117,173.496 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.569,174.04 203.098,156.555 204.024,202.736 181.495,220.221 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.117,173.496 202.647,156.012 203.089,156.09 180.56,173.574 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.56,173.574 203.089,156.09 203.098,156.555 180.569,174.04 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="150.835,147.504 151.742,192.763 107.12,184.895 106.212,139.636 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.717,203.144 83.708,202.679 106.237,185.194 106.246,185.66 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.159,203.222 83.717,203.144 106.246,185.66 106.688,185.737 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M151.266,146.661l0.442,0.078l0.009,0.465l0.926,46.173l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.925-46.173l-0.009-0.465l0.442,0.078L151.266,146.661z M151.742,192.763l-0.907-45.259
- l-44.623-7.868l0.907,45.259L151.742,192.763"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.708,202.679 82.782,156.506 105.312,139.021 106.237,185.194 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.782,156.506 82.772,156.04 105.302,138.556 105.312,139.021 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.683,157.12 106.212,139.636 107.12,184.895 84.59,202.379 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="84.59,202.379 83.683,157.12 106.212,139.636 107.12,184.895 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.772,156.04 105.302,138.556 105.744,138.634 83.214,156.118 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.681,211.248 84.159,203.222 106.688,185.737 152.21,193.764 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.59,202.379 107.12,184.895 151.742,192.763 129.212,210.247 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="129.212,210.247 84.59,202.379 107.12,184.895 151.742,192.763 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="130.123,211.326 129.681,211.248 152.21,193.764 152.652,193.842 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.113,210.861 152.643,193.377 152.652,193.842 130.123,211.326 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.305,164.988 83.683,157.12 106.212,139.636 150.835,147.504 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="128.305,164.988 150.835,147.504 151.742,192.763 129.212,210.247 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.212,210.247 128.305,164.988 150.835,147.504 151.742,192.763 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="83.683,157.12 106.212,139.636 150.835,147.504 128.305,164.988 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M128.736,164.145l0.442,0.078l0.009,0.466l0.925,46.173l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.173l-0.009-0.466l0.442,0.078L128.736,164.145z M129.212,210.247l-0.907-45.259
- l-44.623-7.868l0.907,45.259L129.212,210.247"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="128.305,164.988 129.212,210.247 84.59,202.379 83.683,157.12 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.214,156.118 105.744,138.634 151.266,146.661 128.736,164.145 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.188,164.688 151.717,147.204 152.643,193.377 130.113,210.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.736,164.145 151.266,146.661 151.708,146.739 129.179,164.223 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.179,164.223 151.708,146.739 151.717,147.204 129.188,164.688 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="100.039,86.979 100.946,132.229 56.323,124.361 55.417,79.11 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.921,142.61 32.912,142.154 55.441,124.669 55.45,125.126 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.363,142.688 32.921,142.61 55.45,125.126 55.892,125.204 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M100.47,86.135l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.457l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.442,0.078L100.47,86.135z M100.946,132.229l-0.907-45.25
- L55.417,79.11l0.907,45.25L100.946,132.229"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.912,142.154 31.986,95.972 54.516,78.487 55.441,124.669 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.986,95.972 31.977,95.515 54.506,78.031 54.516,78.487 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.887,96.595 55.417,79.11 56.323,124.361 33.794,141.845 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="33.794,141.845 32.887,96.595 55.417,79.11 56.323,124.361 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="31.977,95.515 54.506,78.031 54.948,78.108 32.418,95.593 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.885,150.715 33.363,142.688 55.892,125.204 101.415,133.231 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="78.417,149.713 33.794,141.845 56.323,124.361 100.946,132.229 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.794,141.845 56.323,124.361 100.946,132.229 78.417,149.713 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.327,150.793 78.885,150.715 101.415,133.231 101.856,133.309 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.317,150.336 101.847,132.852 101.856,133.309 79.327,150.793 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="77.509,104.463 78.417,149.713 33.794,141.845 32.887,96.595 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.509,104.463 32.887,96.595 55.417,79.11 100.039,86.979 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="32.887,96.595 55.417,79.11 100.039,86.979 77.509,104.463 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.417,149.713 77.509,104.463 100.039,86.979 100.946,132.229 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="77.509,104.463 100.039,86.979 100.946,132.229 78.417,149.713 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.418,95.593 54.948,78.108 100.47,86.135 77.941,103.62 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.392,104.154 100.921,86.67 101.847,132.852 79.317,150.336 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.941,103.62 100.47,86.135 100.912,86.213 78.383,103.698 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.383,103.698 100.912,86.213 100.921,86.67 78.392,104.154 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M77.941,103.62l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.457l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.442,0.078L77.941,103.62z M78.417,149.713l-0.907-45.25
- l-44.623-7.868l0.907,45.25L78.417,149.713"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M253.353,113.928l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.442,0.078L253.353,113.928z M253.829,160.021l-0.907-45.25
- l-44.623-7.868l0.907,45.25L253.829,160.021"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="252.922,114.771 253.829,160.021 209.206,152.153 208.299,106.903 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.804,170.411 185.794,169.946 208.324,152.461 208.333,152.927 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.246,170.489 185.804,170.411 208.333,152.927 208.775,153.005 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.794,169.946 184.869,123.764 207.398,106.28 208.324,152.461 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.869,123.764 184.859,123.308 207.389,105.823 207.398,106.28 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.77,124.387 208.299,106.903 209.206,152.153 186.677,169.637 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="186.677,169.637 185.77,124.387 208.299,106.903 209.206,152.153 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="184.859,123.308 207.389,105.823 207.831,105.901 185.301,123.385 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.768,178.516 186.246,170.489 208.775,153.005 254.297,161.032 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.677,169.637 209.206,152.153 253.829,160.021 231.299,177.505 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="231.299,177.505 186.677,169.637 209.206,152.153 253.829,160.021 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.209,178.594 231.768,178.516 254.297,161.032 254.739,161.109 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.2,178.128 254.73,160.644 254.739,161.109 232.209,178.594 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="230.392,132.255 231.299,177.505 186.677,169.637 185.77,124.387 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.392,132.255 185.77,124.387 208.299,106.903 252.922,114.771 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="185.77,124.387 208.299,106.903 252.922,114.771 230.392,132.255 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.299,177.505 230.392,132.255 252.922,114.771 253.829,160.021 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="230.392,132.255 252.922,114.771 253.829,160.021 231.299,177.505 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.301,123.385 207.831,105.901 253.353,113.928 230.823,131.412 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.274,131.947 253.804,114.462 254.73,160.644 232.2,178.128 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.823,131.412 253.353,113.928 253.795,114.006 231.265,131.49 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.265,131.49 253.795,114.006 253.804,114.462 231.274,131.947 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M230.823,131.412l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.926-46.182l-0.009-0.457l0.442,0.078L230.823,131.412z M231.299,177.505l-0.907-45.25
- l-44.623-7.868l0.907,45.25L231.299,177.505"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="201.802,105.681 202.709,150.939 158.086,143.071 157.179,97.813 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.684,161.321 134.674,160.855 157.204,143.371 157.213,143.837 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.134,161.4 134.684,161.321 157.213,143.837 157.663,143.916 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.674,160.855 133.749,114.683 156.278,97.198 157.204,143.371 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.649,115.297 157.179,97.813 158.086,143.071 135.557,160.556 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.647,169.426 135.134,161.4 157.663,143.916 203.177,151.941 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="135.557,160.556 134.649,115.297 157.179,97.813 158.086,143.071 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.557,160.556 158.086,143.071 202.709,150.939 180.179,168.424 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="180.179,168.424 135.557,160.556 158.086,143.071 202.709,150.939 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="203.61,151.554 202.684,105.381 202.675,104.916 202.233,104.837 156.719,96.812
- 156.269,96.733 156.278,97.198 156.304,98.492 157.179,97.813 201.802,105.681 202.709,150.939 201.744,151.688
- 203.177,151.941 203.619,152.02 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.749,114.683 133.739,114.217 156.269,96.733 156.278,97.198 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="133.739,114.217 156.269,96.733 156.719,96.812 134.189,114.296 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.089,169.503 180.647,169.426 203.177,151.941 203.619,152.02 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.08,169.038 203.61,151.554 203.619,152.02 181.089,169.503 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="179.272,123.165 180.179,168.424 135.557,160.556 134.649,115.297 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.272,123.165 134.649,115.297 157.179,97.813 201.802,105.681 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="134.649,115.297 157.179,97.813 201.802,105.681 179.272,123.165 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.179,168.424 179.272,123.165 201.802,105.681 202.709,150.939 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="179.272,123.165 201.802,105.681 202.709,150.939 180.179,168.424 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.189,114.296 156.719,96.812 202.233,104.837 179.703,122.322 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.155,122.865 202.684,105.381 203.61,151.554 181.08,169.038 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.703,122.322 202.233,104.837 202.675,104.916 180.146,122.399 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.146,122.399 202.675,104.916 202.684,105.381 180.155,122.865 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M179.703,122.322l0.442,0.078l0.009,0.466l0.925,46.173l0.009,0.465l-0.442-0.078l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.926-46.173l-0.009-0.466l0.45,0.08L179.703,122.322z M180.179,168.424l-0.907-45.259
- l-44.623-7.868l0.907,45.259L180.179,168.424"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="150.421,96.329 151.328,141.58 106.706,133.712 105.798,88.461 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.303,151.961 83.293,151.504 105.823,134.02 105.832,134.477 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.745,152.04 83.303,151.961 105.832,134.477 106.274,134.555 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M150.852,95.486l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.457l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.442,0.078L150.852,95.486z M151.328,141.58l-0.907-45.251
- l-44.623-7.868l0.907,45.251L151.328,141.58"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.293,151.504 82.368,105.323 104.897,87.838 105.823,134.02 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.368,105.323 82.358,104.866 104.888,87.381 104.897,87.838 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.269,105.945 105.798,88.461 106.705,133.712 84.176,151.196 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="84.176,151.196 83.269,105.945 105.798,88.461 106.706,133.712 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.358,104.866 104.888,87.381 105.33,87.459 82.8,104.943 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.267,160.066 83.745,152.04 106.274,134.555 151.796,142.582 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.176,151.196 106.705,133.712 151.328,141.58 128.798,159.064 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="128.798,159.064 84.176,151.196 106.706,133.712 151.328,141.58 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.708,160.144 129.267,160.066 151.796,142.582 152.238,142.66 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.699,159.687 152.229,142.203 152.238,142.66 129.708,160.144 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="127.891,113.813 128.798,159.064 84.176,151.196 83.269,105.945 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="127.891,113.813 83.269,105.945 105.798,88.461 150.421,96.329 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="83.269,105.945 105.798,88.461 150.421,96.329 127.891,113.813 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.798,159.064 127.891,113.813 150.421,96.329 151.328,141.58 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="127.891,113.813 150.421,96.329 151.328,141.58 128.798,159.064 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.8,104.943 105.33,87.459 150.852,95.486 128.323,112.97 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.773,113.505 151.303,96.021 152.229,142.203 129.699,159.687 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.323,112.97 150.852,95.486 151.294,95.564 128.765,113.048 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.765,113.048 151.294,95.564 151.303,96.021 128.773,113.505 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M128.323,112.97l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.457l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.442,0.078L128.323,112.97z M128.798,159.064l-0.907-45.251
- l-44.623-7.868l0.907,45.251L128.798,159.064"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="99.04,35.976 99.947,81.235 55.325,73.367 54.417,28.107 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.922,91.616 31.913,91.15 54.442,73.666 54.451,74.132 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.364,91.694 31.922,91.616 54.451,74.132 54.894,74.21 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M99.471,35.132l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.466l-0.442-0.078L54.894,74.21
- l-0.442-0.078l-0.009-0.466l-0.926-46.181l-0.009-0.457l0.442,0.078L99.471,35.132z M99.947,81.235L99.04,35.976
- l-44.623-7.868l0.907,45.259L99.947,81.235"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.913,91.15 30.987,44.969 53.516,27.485 54.442,73.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="30.987,44.969 30.978,44.512 53.507,27.028 53.516,27.485 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.888,45.592 54.417,28.107 55.325,73.367 32.795,90.851 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="32.795,90.851 31.888,45.592 54.417,28.107 55.325,73.367 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="30.978,44.512 53.507,27.028 53.949,27.105 31.419,44.59 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.886,99.721 32.364,91.694 54.894,74.21 100.416,82.237 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="77.417,98.719 32.795,90.851 55.325,73.367 99.947,81.235 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.795,90.851 55.325,73.367 99.947,81.235 77.417,98.719 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.328,99.799 77.886,99.721 100.416,82.237 100.857,82.314 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.318,99.333 100.848,81.849 100.857,82.314 78.328,99.799 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="76.51,53.46 77.417,98.719 32.795,90.851 31.888,45.592 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="76.51,53.46 31.888,45.592 54.417,28.107 99.04,35.976 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="31.888,45.592 54.417,28.107 99.04,35.976 76.51,53.46 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="77.417,98.719 76.51,53.46 99.04,35.976 99.947,81.235 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="76.51,53.46 99.04,35.976 99.947,81.235 77.417,98.719 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="31.419,44.59 53.949,27.105 99.471,35.132 76.941,52.617 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="77.393,53.152 99.922,35.667 100.848,81.849 78.318,99.333 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="76.941,52.617 99.471,35.132 99.913,35.21 77.384,52.695 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="77.384,52.695 99.913,35.21 99.922,35.667 77.393,53.152 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M76.941,52.617l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.466l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.466l-0.926-46.181l-0.009-0.457l0.442,0.078L76.941,52.617z M77.417,98.719L76.51,53.46l-44.623-7.868
- l0.907,45.259L77.417,98.719"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="251.922,63.769 252.83,109.027 208.207,101.159 207.3,55.9 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.796,119.408 184.787,118.942 207.316,101.458 207.326,101.923 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.246,119.487 184.796,119.408 207.326,101.923 207.775,102.002 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M252.354,62.925l0.442,0.078l0.009,0.466l0.926,46.173l0.009,0.466l-0.442-0.078l-45.522-8.027
- l-0.45-0.079l-0.009-0.466l-0.925-46.173l-0.009-0.466l0.45,0.08L252.354,62.925z M252.83,109.027l-0.907-45.259L207.3,55.9
- l0.907,45.259L252.83,109.027"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.787,118.942 183.861,72.769 206.391,55.285 207.316,101.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="183.861,72.769 183.852,72.303 206.382,54.819 206.391,55.285 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.77,73.385 207.3,55.9 208.207,101.159 185.677,118.644 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="185.677,118.644 184.77,73.385 207.3,55.9 208.207,101.159 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="183.852,72.303 206.382,54.819 206.832,54.898 184.302,72.383 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.768,127.514 185.246,119.487 207.775,102.002 253.298,110.029 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.677,118.644 208.207,101.159 252.83,109.027 230.3,126.512 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="230.3,126.512 185.677,118.644 208.207,101.159 252.83,109.027 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.21,127.592 230.768,127.514 253.298,110.029 253.74,110.107 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.201,127.126 253.73,109.642 253.74,110.107 231.21,127.592 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="229.393,81.253 230.3,126.512 185.677,118.644 184.77,73.385 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="184.77,73.385 207.3,55.9 251.922,63.769 229.393,81.253 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="229.393,81.253 184.77,73.385 207.3,55.9 251.922,63.769 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="230.3,126.512 229.393,81.253 251.922,63.769 252.83,109.027 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="229.393,81.253 251.922,63.769 252.83,109.027 230.3,126.512 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="184.302,72.383 206.832,54.898 252.354,62.925 229.824,80.409 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="230.275,80.953 252.805,63.469 253.73,109.642 231.201,127.126 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="229.824,80.409 252.354,62.925 252.795,63.003 230.266,80.487 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="230.266,80.487 252.795,63.003 252.805,63.469 230.275,80.953 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M229.824,80.409l0.441,0.078l0.01,0.466l0.925,46.173l0.009,0.466l-0.442-0.078l-45.522-8.027
- l-0.45-0.079l-0.009-0.466l-0.926-46.173l-0.009-0.466l0.45,0.08L229.824,80.409z M230.3,126.512l-0.907-45.259l-44.623-7.868
- l0.907,45.259L230.3,126.512"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M201.234,53.834l0.442,0.078l0.009,0.466l0.926,46.173l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.466l-0.925-46.173l-0.009-0.465l0.441,0.078L201.234,53.834z M201.71,99.937l-0.907-45.259
- L156.18,46.81l0.907,45.259L201.71,99.937"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="200.803,54.678 201.71,99.937 157.087,92.068 156.18,46.81 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.685,110.318 133.676,109.853 156.205,92.368 156.214,92.834 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.126,110.396 133.685,110.318 156.214,92.834 156.656,92.912 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.676,109.853 132.75,63.68 155.28,46.195 156.205,92.368 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="132.75,63.68 132.741,63.214 155.271,45.73 155.28,46.195 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.65,64.294 156.18,46.81 157.087,92.068 134.558,109.553 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="134.558,109.553 133.65,64.294 156.18,46.81 157.087,92.068 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="132.741,63.214 155.271,45.73 155.712,45.808 133.182,63.292 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.648,118.423 134.126,110.396 156.656,92.912 202.178,100.938 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="179.18,117.421 134.558,109.553 157.087,92.068 201.71,99.937 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.558,109.553 157.087,92.068 201.71,99.937 179.18,117.421 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.09,118.5 179.648,118.423 202.178,100.938 202.62,101.016 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.081,118.035 202.611,100.551 202.62,101.016 180.09,118.5 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="178.273,72.162 179.18,117.421 134.558,109.553 133.65,64.294 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="133.65,64.294 156.18,46.81 200.803,54.678 178.273,72.162 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="178.273,72.162 133.65,64.294 156.18,46.81 200.803,54.678 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="179.18,117.421 178.273,72.162 200.803,54.678 201.71,99.937 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="178.273,72.162 200.803,54.678 201.71,99.937 179.18,117.421 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="133.182,63.292 155.712,45.808 201.234,53.834 178.704,71.319 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="179.156,71.862 201.685,54.378 202.611,100.551 180.081,118.035 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="178.704,71.319 201.234,53.834 201.676,53.912 179.146,71.396 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="179.146,71.396 201.676,53.912 201.685,54.378 179.156,71.862 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M178.704,71.319l0.442,0.078l0.009,0.466l0.925,46.173l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.441-0.078l-0.009-0.465L132.75,63.68l-0.009-0.466l0.441,0.078L178.704,71.319z M179.18,117.421l-0.907-45.259
- l-44.623-7.868l0.907,45.259L179.18,117.421"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M149.853,44.483l0.442,0.078l0.009,0.465L151.23,91.2l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.925-46.173l-0.009-0.465l0.442,0.078L149.853,44.483z M150.329,90.585l-0.907-45.259
- l-44.623-7.868l0.907,45.259L150.329,90.585"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="149.422,45.327 150.329,90.585 105.707,82.717 104.799,37.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.304,100.967 82.294,100.501 104.824,83.017 104.833,83.482 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.746,101.045 82.304,100.967 104.833,83.482 105.275,83.561 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.294,100.501 81.369,54.329 103.898,36.844 104.824,83.017 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="81.369,54.329 81.359,53.863 103.889,36.379 103.898,36.844 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.27,54.943 104.799,37.458 105.707,82.717 83.177,100.202 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="83.177,100.202 82.27,54.943 104.799,37.458 105.707,82.717 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="81.359,53.863 103.889,36.379 104.331,36.457 81.801,53.941 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.268,109.072 82.746,101.045 105.275,83.561 150.797,91.587 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="127.799,108.07 83.177,100.202 105.707,82.717 150.329,90.585 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.177,100.202 105.707,82.717 150.329,90.585 127.799,108.07 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.709,109.149 128.268,109.072 150.797,91.587 151.239,91.665 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.7,108.684 151.23,91.2 151.239,91.665 128.709,109.149 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="126.892,62.811 127.799,108.07 83.177,100.202 82.27,54.943 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="126.892,62.811 82.27,54.943 104.799,37.458 149.422,45.327 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="82.27,54.943 104.799,37.458 149.422,45.327 126.892,62.811 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="127.799,108.07 126.892,62.811 149.422,45.327 150.329,90.585 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="126.892,62.811 149.422,45.327 150.329,90.585 127.799,108.07 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="81.801,53.941 104.331,36.457 149.853,44.483 127.323,61.968 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="127.775,62.511 150.304,45.027 151.23,91.2 128.7,108.684 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="127.323,61.968 149.853,44.483 150.295,44.562 127.766,62.046 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="127.766,62.046 150.295,44.562 150.304,45.027 127.775,62.511 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M127.323,61.968l0.442,0.078l0.009,0.465l0.925,46.173l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.926-46.173l-0.009-0.465l0.442,0.078L127.323,61.968z M127.799,108.07l-0.907-45.259
- L82.27,54.943l0.907,45.259L127.799,108.07"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="70.482,215.535 71.39,260.794 26.767,252.926 25.86,207.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="3.356,271.175 3.347,270.709 25.876,253.225 25.886,253.69 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="3.806,271.254 3.356,271.175 25.886,253.69 26.336,253.77 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M70.914,214.692l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.466l-0.442-0.078l-45.522-8.026
- l-0.45-0.079l-0.009-0.466l-0.926-46.182l-0.009-0.457l0.45,0.079L70.914,214.692z M71.39,260.794l-0.907-45.259
- l-44.623-7.868l0.907,45.259L71.39,260.794"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="3.347,270.709 2.421,224.527 24.951,207.043 25.876,253.225 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.421,224.527 2.412,224.07 24.941,206.586 24.951,207.043 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="3.33,225.151 25.86,207.667 26.767,252.926 4.237,270.41 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="4.237,270.41 3.33,225.151 25.86,207.667 26.767,252.926 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.412,224.07 24.941,206.586 25.392,206.665 2.862,224.149 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="49.328,279.28 3.806,271.254 26.336,253.77 71.858,261.796 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="48.86,278.278 4.237,270.41 26.767,252.926 71.39,260.794 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="4.237,270.41 26.767,252.926 71.39,260.794 48.86,278.278 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="49.77,279.358 49.328,279.28 71.858,261.796 72.3,261.874 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="49.761,278.893 72.291,261.408 72.3,261.874 49.77,279.358 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.953,233.02 3.33,225.151 25.86,207.667 70.482,215.535 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="3.33,225.151 25.86,207.667 70.482,215.535 47.953,233.02 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.86,278.278 47.953,233.02 70.482,215.535 71.39,260.794 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="47.953,233.02 70.482,215.535 71.39,260.794 48.86,278.278 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M48.384,232.177l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.466l-0.442-0.078l-45.522-8.026
- l-0.45-0.079l-0.009-0.466l-0.926-46.182l-0.009-0.457l0.45,0.079L48.384,232.177z M48.86,278.278l-0.907-45.259L3.33,225.151
- l0.907,45.259L48.86,278.278"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="47.953,233.02 48.86,278.278 4.237,270.41 3.33,225.151 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.862,224.149 25.392,206.665 70.914,214.692 48.384,232.177 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.835,232.712 71.365,215.228 72.291,261.408 49.761,278.893 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.384,232.177 70.914,214.692 71.355,214.771 48.826,232.255 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.826,232.255 71.355,214.771 71.365,215.228 48.835,232.712 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="223.365,243.327 224.272,288.586 179.642,280.717 178.735,235.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="156.239,298.966 156.23,298.501 178.759,281.017 178.769,281.482 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="156.689,299.046 156.239,298.966 178.769,281.482 179.219,281.562 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="156.23,298.501 155.304,252.328 177.834,234.844 178.759,281.017 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="156.205,252.942 178.734,235.458 179.642,280.717 157.112,298.201 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="157.112,298.201 156.205,252.942 178.735,235.458 179.642,280.717 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="225.173,289.2 224.248,243.027 224.238,242.563 223.789,242.482 178.274,234.457
- 177.824,234.378 177.834,234.844 177.86,236.137 178.734,235.458 223.365,243.327 224.272,288.586 179.642,280.717
- 178.767,281.396 178.769,281.482 179.219,281.562 224.733,289.587 225.183,289.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.304,252.328 155.295,251.862 177.824,234.378 177.834,234.844 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.295,251.862 177.824,234.378 178.274,234.457 155.745,251.941 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="202.203,307.071 156.689,299.046 179.219,281.562 224.733,289.587 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="201.743,306.07 157.112,298.201 179.642,280.717 224.272,288.586 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="157.112,298.201 179.642,280.717 224.272,288.586 201.743,306.07 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="202.653,307.15 202.203,307.071 224.733,289.587 225.183,289.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="202.644,306.685 225.173,289.2 225.183,289.666 202.653,307.15 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="200.835,260.812 201.743,306.07 157.112,298.201 156.205,252.942 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.835,260.812 156.205,252.942 178.734,235.458 223.365,243.327 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="156.205,252.942 178.735,235.458 223.365,243.327 200.835,260.812 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.743,306.07 200.835,260.812 223.365,243.327 224.272,288.586 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="200.835,260.812 223.365,243.327 224.272,288.586 201.743,306.07 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.745,251.941 178.274,234.457 223.789,242.482 201.259,259.967 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.718,260.512 224.248,243.027 225.173,289.2 202.644,306.685 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.259,259.967 223.789,242.482 224.238,242.562 201.709,260.046 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.709,260.046 224.238,242.562 224.248,243.027 201.718,260.512 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M201.259,259.967l0.45,0.079l0.009,0.466l0.925,46.173l0.009,0.466l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.926-46.173l-0.009-0.466l0.45,0.079L201.259,259.967z M201.743,306.07l-0.907-45.259
- l-44.63-7.869l0.907,45.259L201.743,306.07"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="172.246,234.237 173.153,279.495 128.531,271.628 127.624,226.369 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="105.128,289.877 105.119,289.412 127.648,271.928 127.657,272.393 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="105.57,289.955 105.128,289.877 127.657,272.393 128.1,272.471 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M172.677,233.394l0.441,0.078l0.009,0.465l0.926,46.174l0.009,0.465l-0.441-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.925-46.174l-0.009-0.465l0.442,0.078L172.677,233.394z M173.153,279.495l-0.907-45.258
- l-44.623-7.868l0.908,45.259L173.153,279.495"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="105.119,289.412 104.193,243.238 126.723,225.754 127.648,271.928 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.193,243.238 104.184,242.773 126.713,225.289 126.723,225.754 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="105.094,243.854 127.623,226.369 128.531,271.628 106.001,289.111 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="106.001,289.111 105.094,243.854 127.624,226.369 128.531,271.628 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.184,242.773 126.713,225.289 127.155,225.367 104.625,242.852 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="151.092,297.981 105.57,289.955 128.1,272.471 173.622,280.497 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="106.001,289.111 128.531,271.628 173.153,279.495 150.624,296.979 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="150.624,296.979 106.001,289.111 128.531,271.628 173.153,279.495 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="151.533,298.06 151.092,297.981 173.622,280.497 174.063,280.575 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="151.524,297.595 174.054,280.11 174.063,280.575 151.533,298.06 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="149.716,251.722 150.624,296.979 106.001,289.111 105.094,243.854 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.716,251.722 105.094,243.854 127.623,226.369 172.246,234.237 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="105.094,243.854 127.624,226.369 172.246,234.237 149.716,251.722 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="149.716,251.722 172.246,234.237 173.153,279.495 150.624,296.979 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.624,296.979 149.716,251.722 172.246,234.237 173.153,279.495 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.625,242.852 127.155,225.367 172.677,233.394 150.147,250.878 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.599,251.421 173.128,233.937 174.054,280.11 151.524,297.595 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.147,250.878 172.677,233.394 173.119,233.472 150.589,250.956 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.589,250.956 173.119,233.472 173.128,233.937 150.599,251.421 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M150.147,250.878l0.441,0.078l0.01,0.465l0.925,46.174l0.009,0.465l-0.441-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.174l-0.009-0.465l0.442,0.078L150.147,250.878z M150.624,296.979l-0.907-45.258
- l-44.623-7.868l0.907,45.258L150.624,296.979"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="120.864,224.887 121.771,270.146 77.149,262.277 76.242,217.019 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="53.738,280.526 53.729,280.061 76.258,262.576 76.268,263.042 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="54.188,280.605 53.738,280.526 76.268,263.042 76.718,263.121 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M121.295,224.044l0.442,0.078l0.009,0.465l0.926,46.173l0.009,0.466l-0.442-0.078l-45.522-8.026
- l-0.45-0.079l-0.009-0.466l-0.925-46.173l-0.01-0.466l0.45,0.079L121.295,224.044z M121.771,270.146l-0.907-45.259
- l-44.623-7.868l0.907,45.259L121.771,270.146"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="53.729,280.061 52.803,233.888 75.333,216.403 76.258,262.576 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.803,233.888 52.794,233.422 75.323,215.938 75.333,216.403 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="53.712,234.503 76.242,217.019 77.149,262.277 54.619,279.762 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="54.619,279.762 53.712,234.503 76.242,217.019 77.149,262.277 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.794,233.422 75.323,215.938 75.773,216.017 53.244,233.501 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="99.71,288.632 54.188,280.605 76.718,263.121 122.24,271.147 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="99.242,287.63 54.619,279.762 77.149,262.277 121.771,270.146 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="54.619,279.762 77.149,262.277 121.771,270.146 99.242,287.63 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="100.152,288.71 99.71,288.632 122.24,271.147 122.682,271.226 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="100.143,288.244 122.672,270.76 122.682,271.226 100.152,288.71 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.334,242.371 53.712,234.503 76.242,217.019 120.864,224.887 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="53.712,234.503 76.242,217.019 120.864,224.887 98.334,242.371 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.242,287.63 98.334,242.371 120.864,224.887 121.771,270.146 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="98.334,242.371 120.864,224.887 121.771,270.146 99.242,287.63 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M98.766,241.528l0.442,0.077l0.009,0.466l0.925,46.173l0.009,0.466l-0.442-0.078l-45.522-8.026
- l-0.45-0.079l-0.009-0.466l-0.926-46.173l-0.009-0.466l0.45,0.079L98.766,241.528z M99.242,287.63l-0.907-45.259
- l-44.623-7.868l0.907,45.259L99.242,287.63"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="98.334,242.371 99.242,287.63 54.619,279.762 53.712,234.503 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.244,233.501 75.773,216.017 121.295,224.044 98.766,241.528 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.217,242.071 121.747,224.587 122.672,270.76 100.143,288.244 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.766,241.528 121.295,224.044 121.737,224.122 99.208,241.605 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.208,241.605 121.737,224.122 121.747,224.587 99.217,242.071 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="69.483,164.533 70.391,209.791 25.76,201.922 24.853,156.663 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.357,220.171 2.348,219.706 24.877,202.222 24.887,202.687 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.807,220.251 2.357,220.171 24.887,202.687 25.337,202.767 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M69.907,163.688l0.45,0.079l0.009,0.465l0.926,46.173l0.009,0.466l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.925-46.173l-0.009-0.465l0.45,0.08L69.907,163.688z M70.391,209.791l-0.907-45.258l-44.631-7.87
- l0.908,45.259L70.391,209.791"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.348,219.706 1.422,173.533 23.952,156.048 24.877,202.222 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.422,173.533 1.413,173.067 23.943,155.583 23.952,156.048 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.323,174.147 24.853,156.663 25.76,201.922 3.23,219.406 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="3.23,219.406 2.323,174.147 24.853,156.663 25.76,201.922 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.413,173.067 23.943,155.583 24.393,155.663 1.863,173.146 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.321,228.276 2.807,220.251 25.337,202.767 70.851,210.792 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="47.861,227.275 3.23,219.406 25.76,201.922 70.391,209.791 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="3.23,219.406 25.76,201.922 70.391,209.791 47.861,227.275 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.771,228.355 48.321,228.276 70.851,210.792 71.301,210.871 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.762,227.89 71.292,210.405 71.301,210.871 48.771,228.355 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="46.954,182.017 47.861,227.275 3.23,219.406 2.323,174.147 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="2.323,174.147 24.853,156.663 69.483,164.533 46.954,182.017 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.954,182.017 2.323,174.147 24.853,156.663 69.483,164.533 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.861,227.275 46.954,182.017 69.483,164.533 70.391,209.791 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="46.954,182.017 69.483,164.533 70.391,209.791 47.861,227.275 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.863,173.146 24.393,155.663 69.907,163.688 47.377,181.172 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.836,181.717 70.366,164.232 71.292,210.405 48.762,227.89 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.377,181.172 69.907,163.688 70.356,163.767 47.827,181.251 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.827,181.251 70.356,163.767 70.366,164.232 47.836,181.717 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M47.377,181.172l0.45,0.08l0.009,0.465l0.925,46.173l0.009,0.466l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.926-46.173l-0.009-0.465l0.45,0.079L47.377,181.172z M47.861,227.275l-0.907-45.259l-44.63-7.869
- l0.907,45.259L47.861,227.275"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="222.366,192.333 223.273,237.583 178.643,229.714 177.736,184.463 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.24,247.964 155.231,247.506 177.761,230.021 177.77,230.479 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.69,248.043 155.24,247.964 177.77,230.479 178.22,230.559 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M222.79,191.48l0.45,0.079l0.009,0.465l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.01-0.465l0.45,0.08L222.79,191.48z M223.273,237.583l-0.907-45.25l-44.63-7.87
- l0.907,45.251L223.273,237.583"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.231,247.506 154.305,201.325 176.835,183.84 177.761,230.021 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.305,201.325 154.296,200.859 176.825,183.375 176.835,183.84 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.206,201.947 177.736,184.463 178.643,229.714 156.113,247.198 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="156.113,247.198 155.206,201.947 177.736,184.463 178.643,229.714 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.296,200.859 176.825,183.375 177.275,183.455 154.746,200.938 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.204,256.068 155.69,248.043 178.22,230.559 223.734,238.584 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="156.113,247.198 178.643,229.714 223.273,237.583 200.744,255.067 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="200.744,255.067 156.113,247.198 178.643,229.714 223.273,237.583 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.654,256.147 201.204,256.068 223.734,238.584 224.184,238.663 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.645,255.69 224.174,238.206 224.184,238.663 201.654,256.147 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.837,209.817 155.206,201.947 177.736,184.463 222.366,192.333 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="199.837,209.817 200.744,255.067 156.113,247.198 155.206,201.947 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="155.206,201.947 177.736,184.463 222.366,192.333 199.837,209.817 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.744,255.067 199.837,209.817 222.366,192.333 223.273,237.583 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="199.837,209.817 222.366,192.333 223.273,237.583 200.744,255.067 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.746,200.938 177.275,183.455 222.79,191.48 200.26,208.964 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.719,209.509 223.249,192.024 224.174,238.206 201.645,255.69 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.26,208.964 222.79,191.48 223.239,191.559 200.71,209.044 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.71,209.044 223.239,191.559 223.249,192.024 200.719,209.509 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M200.26,208.964l0.45,0.08l0.009,0.465l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.466l0.45,0.079L200.26,208.964z M200.744,255.067l-0.907-45.25
- l-44.631-7.87l0.907,45.251L200.744,255.067"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M171.678,182.399l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.458l-0.442-0.078l-45.522-8.027
- l-0.442-0.077l-0.009-0.458l-0.926-46.181l-0.009-0.457l0.442,0.078L171.678,182.399z M172.154,228.493l-0.907-45.251
- l-44.623-7.868l0.907,45.251L172.154,228.493"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="171.247,183.242 172.154,228.493 127.531,220.625 126.625,175.374 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.129,238.875 104.12,238.417 126.649,220.933 126.658,221.391 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.571,238.952 104.129,238.875 126.658,221.391 127.1,221.468 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.12,238.417 103.194,192.236 125.724,174.751 126.649,220.933 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.194,192.236 103.185,191.779 125.714,174.294 125.724,174.751 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.095,192.858 126.625,175.374 127.531,220.625 105.002,238.109 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="105.002,238.109 104.095,192.858 126.625,175.374 127.531,220.625 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.185,191.779 125.714,174.294 126.156,174.372 103.626,191.856 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.093,246.979 104.571,238.952 127.1,221.468 172.623,229.495 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="149.625,245.978 105.002,238.109 127.531,220.625 172.154,228.493 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="105.002,238.109 127.531,220.625 172.154,228.493 149.625,245.978 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.535,247.058 150.093,246.979 172.623,229.495 173.064,229.573 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.525,246.6 173.055,229.115 173.064,229.573 150.535,247.058 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="104.095,192.858 126.625,175.374 171.247,183.242 148.717,200.727 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.717,200.727 104.095,192.858 126.625,175.374 171.247,183.242 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.625,245.978 148.717,200.727 171.247,183.242 172.154,228.493 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="148.717,200.727 171.247,183.242 172.154,228.493 149.625,245.978 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M149.149,199.883l0.442,0.078l0.009,0.458l0.926,46.181l0.009,0.458l-0.442-0.078l-45.522-8.027
- l-0.442-0.077l-0.009-0.458l-0.926-46.181l-0.009-0.457l0.442,0.078L149.149,199.883z M149.625,245.978l-0.907-45.251
- l-44.623-7.868l0.907,45.251L149.625,245.978"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="148.717,200.727 149.625,245.978 105.002,238.109 104.095,192.858 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.626,191.856 126.156,174.372 171.678,182.399 149.149,199.883 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.6,200.419 172.129,182.934 173.055,229.115 150.525,246.6 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.149,199.883 171.678,182.399 172.12,182.477 149.591,199.961 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.591,199.961 172.12,182.477 172.129,182.934 149.6,200.419 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="119.865,173.884 120.772,219.143 76.142,211.273 75.235,166.014 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.739,229.522 52.73,229.057 75.259,211.572 75.269,212.038 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.189,229.603 52.739,229.522 75.269,212.038 75.719,212.118 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.73,229.057 51.804,182.884 74.334,165.399 75.259,211.572 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.705,183.499 75.234,166.014 76.142,211.273 53.612,228.758 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="53.612,228.758 52.705,183.499 75.235,166.014 76.142,211.273 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="121.673,219.757 120.748,173.583 120.738,173.118 120.289,173.039 74.774,165.014
- 74.324,164.934 74.334,165.399 74.36,166.693 75.234,166.014 119.865,173.884 120.772,219.143 76.142,211.273 75.267,211.952
- 75.269,212.038 75.719,212.118 121.233,220.144 121.683,220.223 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.804,182.884 51.795,182.418 74.324,164.934 74.334,165.399 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.795,182.418 74.324,164.934 74.774,165.014 52.245,182.498 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.703,237.628 53.189,229.603 75.719,212.118 121.233,220.144 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="98.243,236.627 53.612,228.758 76.142,211.273 120.772,219.143 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.612,228.758 76.142,211.273 120.772,219.143 98.243,236.627 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="99.153,237.707 98.703,237.628 121.233,220.144 121.683,220.223 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.144,237.24 121.673,219.757 121.683,220.223 99.153,237.707 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.335,191.368 52.705,183.499 75.234,166.014 119.865,173.884 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="52.705,183.499 75.235,166.014 119.865,173.884 97.335,191.368 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.243,236.627 97.335,191.368 119.865,173.884 120.772,219.143 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="97.335,191.368 119.865,173.884 120.772,219.143 98.243,236.627 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M97.759,190.523l0.45,0.079l0.009,0.465l0.925,46.172l0.009,0.467l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.466l-0.926-46.173l-0.009-0.465l0.45,0.08L97.759,190.523z M98.243,236.627l-0.907-45.259l-44.63-7.87
- l0.907,45.259L98.243,236.627"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="97.335,191.368 98.243,236.627 53.612,228.758 52.705,183.499 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.245,182.498 74.774,165.014 120.289,173.039 97.759,190.523 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.218,191.068 120.748,173.583 121.673,219.757 99.144,237.24 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.759,190.523 120.289,173.039 120.738,173.118 98.209,190.603 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.209,190.603 120.738,173.118 120.748,173.583 98.218,191.068 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="69.069,113.359 69.977,158.609 25.354,150.741 24.447,105.491 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.943,168.998 1.934,168.532 24.463,151.048 24.473,151.513 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.393,169.077 1.943,168.998 24.473,151.513 24.923,151.593 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M69.5,112.516l0.442,0.078l0.009,0.458l0.926,46.181l0.009,0.465l-0.442-0.078l-45.522-8.026
- l-0.45-0.08l-0.009-0.465l-0.926-46.181l-0.009-0.458l0.45,0.08L69.5,112.516z M69.977,158.609l-0.907-45.25l-44.623-7.868
- l0.907,45.25L69.977,158.609"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.934,168.532 1.008,122.351 23.538,104.867 24.463,151.048 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.008,122.351 0.999,121.894 23.529,104.409 23.538,104.867 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.917,122.975 24.447,105.491 25.354,150.741 2.824,168.226 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="2.824,168.226 1.917,122.975 24.447,105.491 25.354,150.741 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="0.999,121.894 23.529,104.409 23.979,104.489 1.449,121.973 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.915,177.104 2.393,169.077 24.923,151.593 70.445,159.619 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.824,168.226 25.354,150.741 69.977,158.609 47.447,176.094 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="47.447,176.094 2.824,168.226 25.354,150.741 69.977,158.609 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.357,177.182 47.915,177.104 70.445,159.619 70.887,159.697 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.348,176.716 70.877,159.232 70.887,159.697 48.357,177.182 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="1.917,122.975 24.447,105.491 69.069,113.359 46.54,130.843 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.54,130.843 1.917,122.975 24.447,105.491 69.069,113.359 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.447,176.094 46.54,130.843 69.069,113.359 69.977,158.609 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="46.54,130.843 69.069,113.359 69.977,158.609 47.447,176.094 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M46.971,130l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.465l-0.442-0.078l-45.522-8.027
- l-0.45-0.079l-0.009-0.465l-0.926-46.181l-0.009-0.458l0.45,0.08L46.971,130z M47.447,176.094l-0.907-45.251l-44.623-7.868
- l0.907,45.251L47.447,176.094"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="46.54,130.843 47.447,176.094 2.824,168.226 1.917,122.975 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.449,121.973 23.979,104.489 69.5,112.516 46.971,130 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.422,130.535 69.952,113.051 70.877,159.232 48.348,176.716 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.971,130 69.5,112.516 69.942,112.593 47.413,130.078 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.413,130.078 69.942,112.593 69.952,113.051 47.422,130.535 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="221.952,141.151 222.859,186.409 178.229,178.54 177.322,133.281 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.826,196.79 154.817,196.324 177.346,178.84 177.355,179.305 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.276,196.869 154.826,196.79 177.355,179.305 177.806,179.385 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M222.384,140.308l0.441,0.078l0.009,0.465l0.926,46.173l0.009,0.465l-0.441-0.078l-45.522-8.026
- l-0.45-0.08l-0.009-0.465l-0.925-46.173l-0.01-0.465l0.451,0.08L222.384,140.308z M222.859,186.409l-0.907-45.258
- l-44.631-7.87l0.908,45.259L222.859,186.409"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.817,196.324 153.891,150.151 176.421,132.667 177.346,178.84 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.891,150.151 153.882,149.686 176.411,132.201 176.421,132.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.792,150.766 177.321,133.281 178.229,178.54 155.699,196.024 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="155.699,196.024 154.792,150.766 177.322,133.281 178.229,178.54 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="153.882,149.686 176.411,132.201 176.862,132.281 154.332,149.765 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.798,204.896 155.276,196.869 177.806,179.385 223.328,187.411 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="200.33,203.894 155.699,196.024 178.229,178.54 222.859,186.409 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.699,196.024 178.229,178.54 222.859,186.409 200.33,203.894 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.24,204.974 200.798,204.896 223.328,187.411 223.77,187.489 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.23,204.508 223.76,187.024 223.77,187.489 201.24,204.974 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="199.422,158.635 200.33,203.894 155.699,196.024 154.792,150.766 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.422,158.635 154.792,150.766 177.321,133.281 221.952,141.151 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="154.792,150.766 177.322,133.281 221.952,141.151 199.422,158.635 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.33,203.894 199.422,158.635 221.952,141.151 222.859,186.409 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="199.422,158.635 221.952,141.151 222.859,186.409 200.33,203.894 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.332,149.765 176.862,132.281 222.384,140.308 199.854,157.792 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.305,158.335 222.834,140.851 223.76,187.024 201.23,204.508 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.854,157.792 222.384,140.308 222.825,140.385 200.296,157.87 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.296,157.87 222.825,140.385 222.834,140.851 200.305,158.335 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M199.854,157.792l0.442,0.078l0.009,0.465l0.925,46.173l0.009,0.466l-0.441-0.078l-45.522-8.026
- l-0.45-0.08l-0.009-0.465l-0.926-46.173l-0.009-0.465l0.45,0.08L199.854,157.792z M200.33,203.894l-0.907-45.259l-44.63-7.869
- l0.907,45.258L200.33,203.894"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M171.264,131.216l0.442,0.078l0.009,0.466l0.926,46.181l0.009,0.457l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.466l0.442,0.078L171.264,131.216z M171.74,177.319l-0.907-45.25
- L126.21,124.2l0.907,45.25L171.74,177.319"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="170.833,132.068 171.74,177.319 127.118,169.451 126.21,124.2 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.715,187.7 103.706,187.243 126.235,169.759 126.244,170.216 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.157,187.778 103.715,187.7 126.244,170.216 126.687,170.294 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.706,187.243 102.78,141.062 125.31,123.578 126.235,169.759 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.78,141.062 102.771,140.596 125.3,123.112 125.31,123.578 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="104.588,186.935 103.681,141.685 126.21,124.2 127.118,169.451 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.681,141.685 126.21,124.2 127.118,169.451 104.588,186.935 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="102.771,140.596 125.3,123.112 125.742,123.189 103.212,140.674 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.679,195.805 104.157,187.778 126.687,170.294 172.208,178.321 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="149.21,194.803 104.588,186.935 127.118,169.451 171.74,177.319 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.588,186.935 127.118,169.451 171.74,177.319 149.21,194.803 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.121,195.883 149.679,195.805 172.208,178.321 172.65,178.398 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.112,195.426 172.641,177.941 172.65,178.398 150.121,195.883 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="148.304,149.553 149.21,194.803 104.588,186.935 103.681,141.685 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.304,149.553 103.681,141.685 126.21,124.2 170.833,132.068 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="103.681,141.685 126.21,124.2 170.833,132.068 148.304,149.553 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.21,194.803 148.304,149.553 170.833,132.068 171.74,177.319 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="148.304,149.553 170.833,132.068 171.74,177.319 149.21,194.803 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.212,140.674 125.742,123.189 171.264,131.216 148.734,148.701 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.186,149.245 171.715,131.76 172.641,177.941 150.112,195.426 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.734,148.701 171.264,131.216 171.706,131.294 149.177,148.778 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.177,148.778 171.706,131.294 171.715,131.76 149.186,149.245 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M148.734,148.701l0.442,0.078l0.009,0.466l0.926,46.181l0.009,0.457l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.466l0.442,0.078L148.734,148.701z M149.21,194.803l-0.907-45.25
- l-44.623-7.868l0.907,45.25L149.21,194.803"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M119.883,121.866l0.441,0.078l0.009,0.466l0.926,46.173l0.009,0.466l-0.441-0.078l-45.523-8.027
- l-0.441-0.078l-0.009-0.466l-0.925-46.173l-0.01-0.465l0.442,0.078L119.883,121.866z M120.359,167.968l-0.907-45.259
- l-44.623-7.868l0.908,45.259L120.359,167.968"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="119.452,122.709 120.359,167.968 75.737,160.1 74.83,114.841 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.334,178.35 52.325,177.884 74.854,160.399 74.863,160.865 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.775,178.427 52.334,178.35 74.863,160.865 75.305,160.943 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.325,177.884 51.399,131.711 73.929,114.227 74.854,160.399 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.399,131.711 51.39,131.246 73.919,113.761 73.929,114.227 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.3,132.325 74.829,114.841 75.737,160.1 53.207,177.584 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="53.207,177.584 52.3,132.325 74.83,114.841 75.737,160.1 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.39,131.246 73.919,113.761 74.361,113.839 51.831,131.323 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.298,186.454 52.775,178.427 75.305,160.943 120.828,168.97 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="97.829,185.452 53.207,177.584 75.737,160.1 120.359,167.968 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.207,177.584 75.737,160.1 120.359,167.968 97.829,185.452 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.739,186.532 98.298,186.454 120.828,168.97 121.269,169.048 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.73,186.066 121.26,168.582 121.269,169.048 98.739,186.532 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="96.922,140.193 97.829,185.452 53.207,177.584 52.3,132.325 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="96.922,140.193 52.3,132.325 74.829,114.841 119.452,122.709 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="52.3,132.325 74.83,114.841 119.452,122.709 96.922,140.193 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.829,185.452 96.922,140.193 119.452,122.709 120.359,167.968 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="96.922,140.193 119.452,122.709 120.359,167.968 97.829,185.452 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.831,131.323 74.361,113.839 119.883,121.866 97.354,139.35 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.805,139.894 120.334,122.409 121.26,168.582 98.73,186.066 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.354,139.35 119.883,121.866 120.325,121.943 97.795,139.428 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.795,139.428 120.325,121.943 120.334,122.409 97.805,139.894 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M97.354,139.35l0.441,0.078l0.01,0.466l0.925,46.173l0.009,0.465l-0.441-0.078l-45.522-8.027
- l-0.441-0.078l-0.009-0.466l-0.926-46.173l-0.009-0.465l0.441,0.078L97.354,139.35z M97.829,185.452l-0.907-45.259
- L52.3,132.325l0.907,45.259L97.829,185.452"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M68.494,61.511l0.45,0.079l0.009,0.465l0.926,46.173l0.009,0.465l-0.45-0.079l-45.514-8.025
- l-0.45-0.08l-0.009-0.465l-0.925-46.173l-0.01-0.465l0.45,0.08L68.494,61.511z M68.978,107.614L68.07,62.356l-44.63-7.87
- l0.907,45.259L68.978,107.614"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="68.07,62.356 68.978,107.614 24.347,99.745 23.44,54.486 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.944,117.995 0.935,117.529 23.464,100.045 23.474,100.51 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.394,118.074 0.944,117.995 23.474,100.51 23.924,100.59 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.935,117.529 0.009,71.356 22.539,53.872 23.464,100.045 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.009,71.356 0,70.891 22.529,53.406 22.539,53.872 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="1.817,117.229 0.91,71.971 23.44,54.486 24.347,99.745 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.91,71.971 23.44,54.486 24.347,99.745 1.817,117.229 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="0,70.891 22.529,53.406 22.979,53.486 0.45,70.97 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.908,126.099 1.394,118.074 23.924,100.59 69.438,108.615 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="46.448,125.099 1.817,117.229 24.347,99.745 68.978,107.614 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.817,117.229 24.347,99.745 68.978,107.614 46.448,125.099 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.358,126.179 46.908,126.099 69.438,108.615 69.888,108.694 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.349,125.713 69.878,108.229 69.888,108.694 47.358,126.179 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="46.448,125.099 45.541,79.84 68.07,62.356 68.978,107.614 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="0.91,71.971 23.44,54.486 68.07,62.356 45.541,79.84 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="45.541,79.84 0.91,71.971 23.44,54.486 68.07,62.356 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="45.541,79.84 46.448,125.099 1.817,117.229 0.91,71.971 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="45.541,79.84 68.07,62.356 68.978,107.614 46.448,125.099 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="0.45,70.97 22.979,53.486 68.494,61.511 45.964,78.995 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="46.423,79.54 68.953,62.056 69.878,108.229 47.349,125.713 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="45.964,78.995 68.494,61.511 68.943,61.59 46.414,79.075 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="46.414,79.075 68.943,61.59 68.953,62.056 46.423,79.54 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M45.964,78.995l0.45,0.08l0.009,0.465l0.925,46.173l0.009,0.465l-0.45-0.08l-45.514-8.025l-0.45-0.079
- l-0.009-0.465L0.009,71.356L0,70.891l0.45,0.079L45.964,78.995z M46.448,125.099L45.541,79.84L0.91,71.971l0.907,45.258
- L46.448,125.099"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="220.954,90.156 221.861,135.406 177.23,127.537 176.323,82.286 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.827,145.787 153.818,145.329 176.348,127.845 176.356,128.302 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.277,145.866 153.827,145.787 176.356,128.302 176.807,128.382 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M221.376,89.303l0.45,0.08l0.009,0.465l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025l-0.45-0.08
- l-0.009-0.458l-0.926-46.181l-0.01-0.465l0.45,0.08L221.376,89.303z M221.861,135.406l-0.907-45.25l-44.631-7.87l0.907,45.25
- L221.861,135.406"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.818,145.329 152.892,99.148 175.422,81.664 176.348,127.845 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="152.892,99.148 152.883,98.683 175.412,81.198 175.422,81.664 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.793,99.771 176.323,82.286 177.23,127.537 154.7,145.021 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="154.7,145.021 153.793,99.771 176.323,82.286 177.23,127.537 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="152.883,98.683 175.412,81.198 175.862,81.278 153.333,98.762 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.791,153.891 154.277,145.866 176.807,128.382 222.321,136.407 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="199.331,152.891 154.7,145.021 177.23,127.537 221.861,135.406 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.7,145.021 177.23,127.537 221.861,135.406 199.331,152.891 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.241,153.971 199.791,153.891 222.321,136.407 222.771,136.486 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.232,153.513 222.761,136.029 222.771,136.486 200.241,153.971 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="198.424,107.64 199.331,152.891 154.7,145.021 153.793,99.771 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="198.424,107.64 153.793,99.771 176.323,82.286 220.954,90.156 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="153.793,99.771 176.323,82.286 220.954,90.156 198.424,107.64 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="199.331,152.891 198.424,107.64 220.954,90.156 221.861,135.406 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="198.424,107.64 220.954,90.156 221.861,135.406 199.331,152.891 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="153.333,98.762 175.862,81.278 221.376,89.303 198.847,106.787 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="199.306,107.332 221.835,89.848 222.761,136.029 200.232,153.513 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="198.847,106.787 221.376,89.303 221.826,89.382 199.297,106.867 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="199.297,106.867 221.826,89.382 221.835,89.848 199.306,107.332 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M198.847,106.787l0.45,0.08l0.009,0.465l0.926,46.181l0.009,0.458l-0.45-0.08l-45.514-8.025
- l-0.45-0.08l-0.009-0.458l-0.926-46.181l-0.009-0.465l0.45,0.08L198.847,106.787z M199.331,152.891l-0.907-45.25l-44.631-7.87
- l0.907,45.25L199.331,152.891"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="169.834,81.065 170.741,126.316 126.119,118.448 125.211,73.197 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.716,136.697 102.707,136.24 125.236,118.756 125.245,119.213 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.158,136.775 102.716,136.697 125.245,119.213 125.687,119.291 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M170.265,80.222l0.442,0.078l0.009,0.457l0.926,46.182l0.009,0.457l-0.442-0.078l-45.522-8.027
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.442,0.078L170.265,80.222z M170.741,126.316l-0.907-45.251
- l-44.623-7.868l0.907,45.251L170.741,126.316"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.707,136.24 101.781,90.059 124.311,72.575 125.236,118.756 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="101.781,90.059 101.771,89.602 124.301,72.118 124.311,72.575 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.682,90.682 125.211,73.197 126.118,118.448 103.589,135.932 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="103.589,135.932 102.682,90.682 125.211,73.197 126.119,118.448 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="101.771,89.602 124.301,72.118 124.743,72.195 102.213,89.68 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.68,144.802 103.158,136.775 125.687,119.291 171.209,127.318 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.589,135.932 126.118,118.448 170.741,126.316 148.211,143.801 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="148.211,143.8 103.589,135.932 126.119,118.448 170.741,126.316 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.122,144.88 148.68,144.802 171.209,127.318 171.651,127.396 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.112,144.423 171.642,126.939 171.651,127.396 149.122,144.88 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="147.304,98.55 102.682,90.682 125.211,73.197 169.834,81.065 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="148.211,143.801 147.304,98.55 169.834,81.065 170.741,126.316 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="102.682,90.682 125.211,73.197 169.834,81.065 147.304,98.55 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="147.304,98.55 169.834,81.065 170.741,126.316 148.211,143.8 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M147.736,97.707l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.457l-0.442-0.078l-45.522-8.026
- l-0.442-0.078l-0.009-0.457l-0.926-46.181l-0.009-0.457l0.442,0.078L147.736,97.707z M148.211,143.801l-0.907-45.251
- l-44.623-7.868l0.907,45.25L148.211,143.801"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="147.304,98.55 148.211,143.8 103.589,135.932 102.682,90.682 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="102.213,89.68 124.743,72.195 170.265,80.222 147.736,97.707 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="148.187,98.242 170.716,80.757 171.642,126.939 149.112,144.423 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="147.736,97.707 170.265,80.222 170.707,80.3 148.178,97.785 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="148.178,97.785 170.707,80.3 170.716,80.757 148.187,98.242 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="118.452,71.715 119.359,116.966 74.737,109.098 73.83,63.847 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.326,127.346 51.317,126.889 73.847,109.404 73.855,109.862 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.776,127.425 51.326,127.346 73.855,109.862 74.306,109.941 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M118.884,70.872l0.441,0.078l0.009,0.458l0.926,46.181l0.009,0.458l-0.441-0.078l-45.522-8.027
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.458l0.45,0.08L118.884,70.872z M119.359,116.966l-0.907-45.25L73.83,63.847
- l0.907,45.25L119.359,116.966"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.317,126.889 50.391,80.708 72.921,63.223 73.847,109.404 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="50.391,80.708 50.382,80.25 72.912,62.766 72.921,63.223 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.3,81.332 73.83,63.847 74.737,109.098 52.208,126.582 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="52.208,126.582 51.3,81.332 73.83,63.847 74.737,109.098 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="50.382,80.25 72.912,62.766 73.362,62.845 50.832,80.33 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.298,135.452 51.776,127.425 74.306,109.941 119.828,117.968 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.208,126.582 74.737,109.098 119.359,116.966 96.83,134.45 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="96.83,134.45 52.208,126.582 74.737,109.098 119.359,116.966 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.74,135.53 97.298,135.452 119.828,117.968 120.27,118.046 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.73,135.073 120.26,117.588 120.27,118.046 97.74,135.53 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="95.923,89.2 96.83,134.45 52.208,126.582 51.3,81.332 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="95.922,89.2 51.3,81.332 73.83,63.847 118.452,71.715 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="51.3,81.332 73.83,63.847 118.452,71.715 95.923,89.2 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="96.83,134.45 95.922,89.2 118.452,71.715 119.359,116.966 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="95.923,89.2 118.452,71.715 119.359,116.966 96.83,134.45 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="50.832,80.33 73.362,62.845 118.884,70.872 96.354,88.356 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="96.805,88.892 119.334,71.407 120.26,117.588 97.73,135.073 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="96.354,88.356 118.884,70.872 119.325,70.95 96.796,88.434 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="96.796,88.434 119.325,70.95 119.334,71.407 96.805,88.892 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M96.354,88.356l0.441,0.078l0.009,0.458l0.926,46.181l0.009,0.458l-0.441-0.078l-45.522-8.027
- l-0.45-0.079l-0.009-0.458l-0.926-46.181l-0.009-0.458l0.45,0.08L96.354,88.356z M96.83,134.45L95.922,89.2L51.3,81.332
- l0.907,45.25L96.83,134.45"/>
- </g>
- </g>
- </g>
- </g>
- <g id="Layer_2">
- <g>
- <path fill="#0721A0" d="M308.919,231.15l-0.598-0.598v-3.055l0.598-0.531c2.699-0.043,4.857-0.199,6.475-0.465
- c1.615-0.266,2.656-0.707,3.121-1.328c0.465-0.619,0.773-1.615,0.93-2.988c0.154-1.371,0.309-4.471,0.465-9.297
- c0.154-4.824,0.232-8.277,0.232-10.359v-53.656c0-2.258-0.41-3.928-1.229-5.014c-0.82-1.084-1.938-1.77-3.354-2.059
- c-1.418-0.287-3.83-0.453-7.238-0.498l-0.531-0.531v-3.121l0.531-0.598c6.109,0.223,10.115,0.332,12.02,0.332
- c4.471,0,8.145-0.109,11.023-0.332l21.184,27.492l31.145,39.047c3.762,4.738,7.592,9.23,11.488,13.48v-51.398
- c0-1.594-0.078-4.99-0.232-10.193c-0.156-5.201-0.344-8.5-0.564-9.895c-0.223-1.395-0.609-2.334-1.162-2.822
- c-0.555-0.486-1.594-0.852-3.121-1.096c-1.527-0.242-3.598-0.387-6.209-0.432l-0.531-0.531v-3.055l0.531-0.598
- c3.586,0.223,8.699,0.332,15.34,0.332c6.064,0,10.469-0.109,13.215-0.332l0.598,0.598v3.055l-0.531,0.531
- c-2.922,0.045-5.18,0.211-6.773,0.498c-1.594,0.289-2.59,0.764-2.988,1.428s-0.676,1.639-0.83,2.922
- c-0.156,1.285-0.311,4.34-0.465,9.164c-0.156,4.826-0.232,8.301-0.232,10.426v31.543l0.066,18.262
- c0.088,5.977,0.176,11.977,0.266,17.996c-2.215-0.754-6.043-1.684-11.488-2.789l-4.715-5.578l-14.145-17.266l-45.023-56.246
- v50.934c0,2.037,0.076,5.668,0.232,10.891c0.154,5.225,0.342,8.391,0.564,9.496c0.221,1.107,0.508,1.871,0.863,2.291
- c0.354,0.422,1.117,0.809,2.291,1.162c1.172,0.355,3.596,0.555,7.271,0.598l0.531,0.531v3.121l-0.531,0.531
- c-2.303-0.311-6.021-0.465-11.156-0.465C319.653,230.686,313.876,230.84,308.919,231.15z"/>
- <path fill="#0721A0" d="M440.536,167.4l1.262,0.863c-0.488,5.801-0.73,13.172-0.73,22.113v15.473
- c0,5.668,0.432,9.607,1.295,11.82c0.863,2.215,2.357,3.908,4.482,5.08c2.125,1.174,4.648,1.76,7.57,1.76
- c3.23,0,6.176-0.631,8.832-1.893s4.881-3.043,6.674-5.346c1.793-2.301,2.822-3.852,3.088-4.648s0.441-3.031,0.531-6.707
- l0.199-7.438v-7.172c0-1.77-0.09-4.184-0.266-7.238c-0.178-3.055-0.322-4.936-0.432-5.645c-0.111-0.707-0.455-1.229-1.029-1.561
- c-0.576-0.332-1.727-0.498-3.453-0.498l-5.578-0.066l-0.598-0.531v-2.855l0.531-0.531c8.455-1.018,15.582-2.678,21.383-4.98
- l1.262,0.863c-0.488,5.801-0.73,13.172-0.73,22.113v11.688c0,0.664,0.109,6.088,0.332,16.27c0.088,3.764,0.32,6.055,0.697,6.873
- c0.375,0.82,0.896,1.395,1.561,1.727s2.633,0.498,5.91,0.498h1.859l0.598,0.531v2.656l-0.531,0.598
- c-6.242-0.355-10.426-0.531-12.551-0.531c-2.701,0-5.822,0.154-9.363,0.465l-0.598-0.531c0.266-4.516,0.465-8.344,0.598-11.488
- c-2.789,2.17-5.977,5.07-9.563,8.699c-1.373,1.373-3.344,2.523-5.91,3.453c-2.568,0.93-5.49,1.395-8.766,1.395
- c-4.959,0-8.822-0.787-11.588-2.357c-2.768-1.57-4.727-3.74-5.877-6.508c-1.152-2.766-1.727-7.537-1.727-14.311l0.066-5.246
- v-12.949c0-1.77-0.09-4.184-0.266-7.238c-0.178-3.055-0.322-4.936-0.432-5.645c-0.111-0.707-0.455-1.229-1.029-1.561
- c-0.576-0.332-1.727-0.498-3.453-0.498l-5.578-0.066l-0.598-0.531v-2.855l0.531-0.531
- C427.608,171.363,434.735,169.703,440.536,167.4z"/>
- <path fill="#0721A0" d="M524.009,167.4l1.262,0.863c-0.266,2.922-0.443,6.42-0.531,10.492l6.309-5.777
- c1.77-1.637,2.943-2.689,3.52-3.154c0.574-0.465,1.926-1.006,4.051-1.627c2.125-0.619,4.359-0.93,6.707-0.93
- c4.426,0,8.301,1.096,11.621,3.287s5.777,5.213,7.371,9.064c5.977-5.666,9.463-8.809,10.459-9.43
- c0.996-0.619,2.578-1.25,4.748-1.893c2.168-0.641,4.338-0.963,6.508-0.963c3.496,0,6.707,0.754,9.629,2.258
- c2.922,1.506,5.246,3.477,6.973,5.91c1.727,2.436,2.732,5.07,3.021,7.902c0.287,2.834,0.432,6.73,0.432,11.688v6.973
- c0,0.754,0.133,6.266,0.398,16.535c0.088,4.207,0.553,6.707,1.395,7.504c0.84,0.797,3.563,1.195,8.168,1.195l0.531,0.531v2.855
- l-0.531,0.531c-5.623-0.355-9.43-0.531-11.422-0.531c-1.107,0-4.316,0.176-9.629,0.531l-0.863-0.73
- c0.574-5.754,0.863-13.258,0.863-22.512v-7.969c0-7.039-0.332-11.963-0.996-14.775c-0.664-2.811-2.215-5.113-4.648-6.906
- c-2.436-1.793-5.336-2.689-8.699-2.689c-2.391,0-4.627,0.477-6.707,1.428c-2.082,0.953-3.951,2.369-5.611,4.25
- c-1.66,1.883-2.58,3.631-2.756,5.246c-0.178,1.617-0.266,4.594-0.266,8.932v8.301c0,1.949,0.088,5.602,0.266,10.957
- c0.176,5.357,0.365,8.479,0.564,9.363c0.199,0.887,0.508,1.518,0.93,1.893c0.42,0.377,0.906,0.621,1.461,0.73
- c0.553,0.111,2.932,0.299,7.139,0.564l0.598,0.531v2.789l-0.531,0.598c-5.535-0.355-10.869-0.531-16.004-0.531
- c-4.738,0-10.051,0.176-15.938,0.531l-0.598-0.598v-2.789l0.598-0.531c4.293-0.266,6.717-0.465,7.271-0.598
- c0.553-0.133,1.039-0.408,1.461-0.83c0.42-0.42,0.707-1.063,0.863-1.926c0.154-0.863,0.332-3.719,0.531-8.566
- s0.299-8.51,0.299-10.99v-7.57c0-5.002-0.344-8.854-1.029-11.555c-0.688-2.699-2.158-4.98-4.416-6.84s-5.092-2.789-8.5-2.789
- c-2.656,0-5.08,0.521-7.271,1.561c-2.191,1.041-3.984,2.324-5.379,3.852s-2.258,2.955-2.59,4.283s-0.498,4.207-0.498,8.633
- v9.828c0,1.949,0.088,5.602,0.266,10.957c0.176,5.357,0.365,8.479,0.564,9.363c0.199,0.887,0.508,1.518,0.93,1.893
- c0.42,0.377,0.906,0.621,1.461,0.73c0.553,0.111,2.932,0.299,7.139,0.564l0.598,0.531v2.789l-0.531,0.598
- c-5.535-0.355-10.869-0.531-16.004-0.531c-5.092,0-10.404,0.176-15.938,0.531l-0.598-0.598v-2.789l0.598-0.531
- c4.293-0.266,6.717-0.465,7.271-0.598c0.553-0.133,1.039-0.408,1.461-0.83c0.42-0.42,0.707-1.063,0.863-1.926
- c0.154-0.863,0.332-3.719,0.531-8.566s0.299-8.51,0.299-10.99v-13.082c0-1.77-0.09-4.184-0.266-7.238
- c-0.178-3.055-0.322-4.936-0.432-5.645c-0.111-0.707-0.455-1.229-1.029-1.561c-0.576-0.332-1.727-0.498-3.453-0.498
- l-5.578-0.066l-0.598-0.531v-2.855l0.531-0.531C511.081,171.363,518.208,169.703,524.009,167.4z"/>
- <path fill="#0721A0" d="M623.552,136.854c11.156,0.355,18.262,0.531,21.316,0.531c4.16,0,8.832-0.109,14.012-0.332
- c5.488-0.176,8.875-0.266,10.16-0.266c6.197,0,11.322,0.643,15.373,1.926c4.051,1.285,7.404,3.631,10.061,7.039
- c2.656,3.41,3.984,7.527,3.984,12.352c0,3.984-0.93,7.836-2.789,11.555s-4.449,6.885-7.77,9.496
- c-3.32,2.613-6.686,4.482-10.094,5.611c-3.41,1.129-6.951,1.693-10.625,1.693c-2.746,0-5.801-0.309-9.164-0.93l-1.129-4.051
- l0.598-0.664c3.32,0.754,6.02,1.129,8.102,1.129c5.799,0,10.459-1.914,13.979-5.744c3.52-3.828,5.279-8.732,5.279-14.709
- c0-6.02-1.826-10.824-5.479-14.41s-9.176-5.379-16.568-5.379c-4.029,0-8.457,0.754-13.281,2.258
- c-0.398,3.41-0.598,11.645-0.598,24.703v30.746l0.066,12.949c0.043,5.004,0.176,8.234,0.398,9.695
- c0.221,1.461,0.541,2.436,0.963,2.922c0.42,0.488,1.229,0.896,2.424,1.229s4.139,0.588,8.832,0.764l0.531,0.398v3.32
- l-0.531,0.531c-11.289-0.355-17.643-0.531-19.059-0.531c-1.506,0-7.836,0.176-18.992,0.531l-0.531-0.531v-3.32l0.531-0.398
- c4.117-0.176,6.861-0.398,8.234-0.664c1.371-0.266,2.291-0.607,2.756-1.029c0.465-0.42,0.84-1.316,1.129-2.689
- c0.287-1.371,0.453-4.426,0.498-9.164l0.066-14.012v-30.746l-0.133-12.949c-0.045-5.047-0.166-8.301-0.365-9.762
- s-0.51-2.434-0.93-2.922c-0.422-0.486-1.229-0.885-2.424-1.195c-1.195-0.309-4.141-0.553-8.832-0.73l-0.531-0.465v-3.32
- L623.552,136.854z"/>
- <path fill="#0721A0" d="M704.767,266.744c1.504-3.719,2.633-7.129,3.387-10.227h1.594c2.168,2.346,4.516,3.52,7.039,3.52
- c3.143,0,5.877-1.561,8.201-4.682s5.611-10.018,9.861-20.686c-1.684-4.736-3.387-9.207-5.113-13.414l-10.559-26.164
- c-1.107-2.699-2.746-6.563-4.914-11.588c-2.17-5.023-3.465-7.791-3.885-8.301c-0.422-0.508-0.963-0.984-1.627-1.428
- c-0.664-0.441-2.457-0.863-5.379-1.262l-0.531-0.531v-2.656l0.598-0.531c5.09,0.311,10.314,0.465,15.672,0.465
- c6.285,0,11.133-0.154,14.543-0.465l0.531,0.531v2.656l-0.465,0.531c-0.488,0.045-1.85,0.145-4.084,0.299
- c-2.236,0.156-3.631,0.51-4.184,1.063c-0.555,0.555-0.83,1.186-0.83,1.893c0,0.754,0.686,3.199,2.059,7.338
- c1.371,4.141,2.699,7.803,3.984,10.99l4.184,10.359c2.744,6.818,4.869,11.844,6.375,15.074l3.52-7.77
- c1.238-2.832,3.01-7.127,5.313-12.883l5.512-14.078c1.416-3.629,2.225-5.887,2.424-6.773c0.199-0.885,0.299-1.527,0.299-1.926
- c0-0.973-0.355-1.637-1.063-1.992c-0.709-0.354-2.281-0.664-4.715-0.93l-2.789-0.398l-0.465-0.531v-2.922l0.531-0.531
- c3.719,0.311,8.123,0.465,13.215,0.465c4.648,0,8.367-0.154,11.156-0.465l0.531,0.531v2.922l-0.531,0.531
- c-1.639,0.045-2.945,0.266-3.918,0.664c-0.975,0.398-1.904,1.107-2.789,2.125c-0.887,1.02-2.48,3.885-4.781,8.6
- c-2.303,4.715-4.605,9.596-6.906,14.643l-6.508,14.277l-15.34,35.859c-1.328,3.098-2.979,6.418-4.947,9.961
- c-1.971,3.541-4.383,6.098-7.238,7.67c-2.855,1.57-5.877,2.357-9.064,2.357C709.88,268.936,707.245,268.205,704.767,266.744z"/>
- </g>
- </g>
- </g>
-</switch>
-<i:pgf id="adobe_illustrator_pgf">
- <![CDATA[
- eJzsveuOJMeRJvq/gX6HPD8GEHFW1XG/CAcLRGRGarWQREKiZmeOsCCK7CLZO91V3OrumeV5+mN3
-N/fwyKyqLHEoqtNZxerITI/wm7m52Wef/dP/9cWffz29vvv65tf1VbF7+eKf/ml/f3P94e7+Nzu6
-vPvd27cf33+4x0u/+tNnu7K6KvBT0++Gr+ST/3xz//7N3e1v6L2rEt894vd/9eX99b+/eb/75+uP
-333/4bPdr5bbD9/f4d//Zfe722+uPsNPfvnmw9sb+Oztx3c//Pj27ru7q+s3n9ljQLWH6w/wfvuq
-6l5VRTHs+t+03e6LP+BH5ruPt6/f3H433/2f3+yGXTlWu37od21BT/jf3vzp5n38katxbMoGP3hV
-dG0Dn+6umgK+1ozjVVW2A37vcPfNx3c3tx++uL/75ub9+/3d27v797/Z7X+8vt394fo7eOd69683
-b9/e/cdufnv9zb/57xzvbj/AZ7+4fgvPfnv3e/j58OMPN7/+092761v/wT/e3Ly+eX3u49Pv2q+O
-b97eQHe+u/4Az1/QxbL6av745u3rP3589/UNdHRVtHS9/ooe9i/v4SnhgfFvut5/9bt3cOnPNx/g
-Lt/BDal//vTbeQ8je/eOPggXqfzqr3+6+e4NDTh0/v/8TD7pO4M+etVVfdOW8Effd01f7n7127d3
-X1+/3f3h5vWbDzf399e3N9Bh89uPN1TH/021h4998fH+Jn63xLv7d397f3NzK2+X/HD+7T/dvA5v
-XjXjUNSj+8yf//fH6/ff2yd87Tx6n0mffXnz7gfo/xuaIk1RXLW7CqZD6//Wj8JY0MfKbtfB7Gl2
-7djIe2Ha3Pz7m5v/+M3uj3e3NzKG0/2HP7/5/2BMhqLYdUUhl//08e3N/V9u3+AcqOjayCP4h7vX
-N2/hLuHrx7fXNHDSi/ZbPvHl9f13Nx9gvt+9/fiB1uJgd4FZ8vvrH2/u3U0+/+Hm9su7f6bH/HUF
-C6EbauyjYix2A7StHOgOsFJKvRf3oD4RVoBf14r7Hvv5C5hkn9+/+e7N7W/00fqvfnv/5nWYeX0F
-C5V+UcVXg/sZ9UeeEtr84cPNrfYDzPr9H9wcLq7+8Ge863L7en/3Drv+PQkFmL63MF1Blsi74R/0
-HlTx8YeXL/768kU9vvrfH+8+3LyHGt/e7Mbu1XcgsW5Ajg2vlo/3d7uyLtwnvr5+f/PqWxieN7d8
-9fXXfA2m05sf3r+B2796ff3ddzf38j94/9U3b+5hXnz79ub/vPrh5h7l3/vr29ev/vzN9f3d7avv
-YBlT3W9vvv3w6vNlVzYt140XoD76G7r0+w92S/qo/oPf+vojXP3w6ub2NUz5Vzfv6H8fQELcvIKF
-/Prm3fU9iKlX75Ob8pfvbl69vgMh/P79m13Zjq/+9fWbm3to8fvdq/c/XH8D3dE1r775eH9/c/vN
-j/CP7tXX93f/dnP79TVIl7IbXunnX31z98OPUuf9629v3r25fXMLX++rV9D/b765fgvi7dX3P/7w
-/c3tq3uSMvDF16/eXX+DjwXdCoP06gfYbuCbH9+/+vAfd+8/Qqe9ubt/9eF7EAb2r+tvPn64efXu
-I0zU+hVde/0NjD/V9g3In7dvr6EmWH/2DXigd9fvv/n4lp5oGPBNEBD38B388/vrt9/yPeTie9wk
-Xk00H6Cqie84udGcuH8na/2EDXg1La/28givFvr6q4W+DLUs7uuLfe93/Knf8S1+5z7zO/vM8uH7
-V3+kG0I1n/MXPucvfO6+8Dk/0+f2vXcf335488PbH199/v4tzom/aIP+wl/+i/vyX+xb/8pvfvn9
-3T3MlhvYe25hqr1/dc03vtb2XLtvX/Otr62Sa+qO65tX32h33PDXb7j2m/BlqOrGvveGP/WGP/XG
-3eKNfeYGuuOWb3jHH7/TZ7pzX7iTj9j3Xr/59zd4gTvjI3/1I9/pY/Q8H+07P/LbH6gzftTLL198
-ubAsbP/7V1++B8nvBH79FQma5fabO9Q9frP7Kr/Db278f3218Y1XGxXxvvDl//uS7g4yT++9+/L+
-482X8EER3PRgX8GTfgHD84FW3B9/oPeGr754+xHe/O393ccffnf77d3LF79iDfCL6w/fw1YN0uU9
-KHF8jf+546/A1d+/+Xe9CArcD5+dqRI0w2/w6T7/+n/dfIOqoVwIf/35I2gRD6nqC9wk7m8/v+XH
-vP/4/vvdl3d3b+1R5QPylj0xbKr8nZ/NTezDuRvAmz/fyvfXsAPCavrh+zff5OrPvG832vjuQ24L
-myj2eu6O8Vt2s/U3fh73wY7+9s3ta/gKTfzQc3fvfsAjzO7P31//gJfxk0f3yYc8/+HmWzhAuLGl
-q8vtv9+8vfvhJly3KyDvd//j+v6HB3XOj+++vnv75v270Cfuiv39kKpA4bt3j0P/hP9/i/9/0Cp9
-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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- UsB66RzYpVgiKoIjodhMWSWmQJY6McKzB8GUBZuYfeEEF509EVEpezksIiL4cOZ5kRwWOEytkiVO
-K4iItqNOJBMRlTYJ+FjNZ0kIPpfAVSNL7prl4qTKRAyrE7yJSINMzqQOE0yE8pL9Um4AuR2oXUR5
-3Hm6vCoVxomIG1I/QRCfNCKgTXtBYUcUekevVPFd21ZUQqZpBUtH8hKZF1E3RBn/ua5nUVPVQtmw
-/AQV1qsk1mIO0fDVKY+TErm1uBBicnkJfrljgFnOpId6Eia+iA4BTUWZCByHMGRS6rfT+kRAArmi
-oBlO1LK7hrdmYtbDPYVNrEuN6X1VnxaoIEcOaQOJyxAnXxVI8hR8IM4kIRRdgDiFxPGpDbrG0hTK
-Jc4qO66yMIUqFzPUDqUuMFqrayECxOnjJLbCtTKtLclSqHc9CwvA/Q8RpEGrMWlltCVJCpUrLEX8
-XNrT5ChI//iaiiK2NnEGMQq1ukNd0AAxCg6mNPN7mqyhLUFmQC6EKJQQmTq1a/I2QeV0NlsuiVDI
-ckoWnQAkgDbaVhkeCIMEdWxPZxGqsYnrN9d1bQiTMJAX1AXi9ySAICBve8Kh8MuTqjBL1efYOUxj
-BoM4LrMWZswyRWYNTg8JYamVlNhPR/fATBYW/zUlii9A8o+T8duU4szGdciz01CMdAAKD11rDFEA
-Bb0j1BZXP9qK6T5UE0HPhS2okiccPP3faXahQA1cxkGZN3VCc2trHWiNs4uN/2sDcmk6KOhrW3I1
-1FnrjEtOdTJZL4GcSaJsKVO+LrYZcvmh7QyUSUV7nbmkhDIEFWACuacFvevCPk0ydKdTRRo4cvRw
-URgB1Y2pVrUXAboUOEi13DVihu6+xFkGesUUkD44MTISlkgzKkKPlvPicuxnQsvJioq4jahTqyBa
-6UFUntX4ZnYrdXZAIXXeMPuq3qcXTIMKTY3mlLD6qp0g0gspbbPiIUpzkC6UuXyAQqnIcVqi7iHr
-IXqeav24OG80YleAmvxbpGAY0JBN/YOsQGkM6MDKKSBd3bq1+m+EMi9TqG3e9fu6Ps9hGltP6ZQ2
-Fa1RsZjK4IB7zFydwi85cFqlaa9VkmBg1ZyGMBibGtevCTPXssljFWEpooHMQo79RK08y95BpUKK
-dIhrln/n4rp0nC2txQuTp6Pr4vRI7Ev7Bo+B7ZpKxiDjumTzKHF4YFrCA2HfqPLoxmAm00VpWad4
-yNqQRrXYKT7NGVNEnavCsTPjdkkGJTcAMOEs+BJOLaqwhh5MGMTrBdavSa6ENani01qe+NmX9mmy
-QR4UmbBKobhGK5xCwX4INI1mRUK9ENg8Sl61ADWBIy0nK/NBRUqKRixwTasFAg5aqnpUyA2tUImM
-oDSvqUgkqS1S0hIjQZUXJZ1nEEiwtlxGNiONbVYA3lf2PtVgFhw+Wlho0CrMLjQeb2ahRgl4p6Si
-2hZMOEHarIcfJVuWym3Yex4oz0wVp8pK/jGyJQWY8MV0/cHVEWVOPYRF85v9VtuiNEtqdLsKHtb2
-eW4DWyDqzCCTYHKbKOymujVLIwq7ASu0GM0o3Kb0ldlE4TbEzJNZL5nblMY1YQUo3AZ3WnR+NkXA
-fulL3GYUXgOm21frG/GauqW5nev6BqshP9nYvkquVsWCFIqua6QgmQzBa6ANTbklCq+BTjoLa8Zi
-7z7Mok5kRgSvwaXUVkRSYWZEHc5QAcpyGHpA4YJnhgjrdop1UVgNpjDrhR0r+zyjkUJn6qnSakW9
-cHbUjKiFTQPmHYQo2gmH4adQilY12RPOXHpJIy4ZXqArPMWXuKYnw1C/HiVRcDEvdYrIzQ/Wb1kr
-JGqOk53y4icmDEeaULH4knM93+AuTapoFC6GrBYdLo6xma4Kh/iS6Gm5FsWyyGZqF1VfGrIJlAir
-1RelAimAwU+jLCV1U0W4ZQEUTIqWls4PWpA+7fxEieLF4NMSdyzo0/SBlDgyhkMmyfq4B7wmlOEB
-j6La08klRWUzAr0k+BtpOTDELb1VO8r0VFMkL2q3chzZkxANe7GzWuRBU33cEl6Sg3gSU1heAUEy
-Zy0s6AwFuVlbD1WehKJqPqJzXe8TCqaRA8sIRR0T2Z46W18UQIx67NyUIh50PL724AmeAXKwPDt2
-tta6OAdZZAbUHjVAtlSI7NReqp8jYcRxpcA663nH2e88RcCaU2+0eQHOpX1eQ5La+7g2ncWIU+g6
-Kn8newwBBk4HRTIsLoQC/RFatl+CCEg1QEZCX/QbaAYwi0XHX6hcz0Wi3FIbsshLVBQS4qZ6NNQq
-npKFhYIFdwRfhKXluaD3SQWGOVKaJShFl88l3geyLVqVXjtq9YXqhC9KI3IkUGDdYvRhHob3FOY3
-C68rIjmTTS5MbSlWR6XYpzUaFxOS6umBKhUQcQsm7tMb8wWi4MiNYX3551jQ56UUL7ULS15fw3Kd
-C2YXxKlYxqRrnBcNKdQkJ/LWdgqNnLZrAEmUK37JzSDjHT2Fgccc5gN+SPHr9LhFWt7TAoaiZFea
-MICquPTwlZRJtH7Jn1zi+kzXsbJvyCmYBa6FktgI+WqdkKdgDcMh0yQJVmkJJUEJXRQQgzxf5gti
-cM7gkY6wpvPD/DYEqhLWXFvY2TDGVt4KMyDOhrZTVPKeA8DLWmmG7HeQukml6IsZdFvZE0RbFECn
-dEfIZkmRFfk5MSp0MFU6UHWkBCTcxtNpHBgxlFRVp1TmtXBRXCoUQZ1AQgrl7yfLQSJtKfBDH8XM
-8WgtyaNUfX02pnNI05svNEHPIH0JYdVzGucKvyXlJnn5IkNes2d54CWA+YXSsMuKksqvgFM13T4H
-JaZAJbDSFNgdZxpQ9nue4mdg2x2BwxSBAxd3oDoA0xoRRbCh1nWqCEnLXqbFZw7mKnUeS5il4c81
-fpqQkEeIdznaWvkZRiKw21b2a4MCbVGHNbR5bZBvGjXQTOqEmwt5sG25Qqvnp09aWi6yGthjNxpW
-S6Krng3KLX+xe70GzmAYE5r3QJV6Um2xKp/LeZ9mMD7ywlplfepVu0AOX8OzUGUunpTetkRqQ38s
-PFGKz7XbBbdjS8vDmLhccVEPYLHSvepwautFgofp4BgBKagVijLWpUu9GIEkZKa0vATKnsv5NHEE
-KatH1tGmSX/8klgnE+ISCtilghkMtF1TY5FyRr4yvM2YrCqjk6LLgy/OolTIDfTcNJkGjYhuRzEs
-KL+iDJWyP9nC65x6+xDW69S0aSo0Que9mEGbqdAPK3ufUJAHS7ljPi2V+NAJVd5F132uOCIWlE2p
-bkIlXCYuhr0u4XSoDmoyPlUQBzeENbe1iRyfvZT6yco6ERnfydRNYXETO7Pf0iZ6yP9PU2i2FefK
-NqL5HdMgkzC2VGhxryfQh4EHGJFgcKa8s073uTy4zL9/oq+iuFFno6OXuI+lXxlwoDm+zG7KMVZZ
-xrIJSaN09pIuY3HV6i62qkg8+/WEpRwp7IdIC4BAMe1Z/338pM56Y1V5NnnoYh1HvxEYGczoK+kk
-7+PkdRyZCjfpZxf9cRwuWa10C+VeC1YvMJol/OhUzB3+vUjKhv67ToCefSKfO8FCP7pYAXV+I7DK
-s5yd1H2cauPMqWiTvYtjPXOhSbFKD6dplP4CJOpLktRCD42NVgjkpAbym/qjyFfsx2z00Ms2ln5l
-QKI+64Zquy9jyW/9iiekjdrZS7uMxRV8M6Oi50UzW4D0kGAQz08XZy0q79G/y2/eqMT7Yo3S0Una
-R9KPFEj/tU7yMVJeR9LpzEZ7J/ky0q/lsPO/1MVwbkCkdA3ZtkjBWZRwRyNwCPl3+q3MhieqjeLR
-SdxHMr4mQJIYrZN6jFTXkXQ6s9HeSbqMxPzJyeOOaVmtASNPFKEPYAo9cvdNEhX0N3WHiAMEpyyN
-zk62kfQjBdJErZN0jJT2kXg6AlzWQJ2ca5qrRawT1S90rPu/rkDS18dEq+eTUqRcKCQt+Xf6/ZOI
-VXTmlkZnJ9tI+pECaaLaSXX7SPpbP6LpWKNwdBIuIzGnEhpH2GDUgtILMCHmJ8lBKVJmK8lp0t/M
-POTIWaN0dJL2kfQjBkpKn3VSj5HqOpJOZzbaO8mXkX4tbILwkOuytwaUI4fa3UBmlpoXQQr162/m
-HZHHXhqdnWwj6UcKpG2xTuoxUt1H4uloo3R0ki4j8RONgty07u0CpG3JwhaSbFsW3pHWvc3CYKxR
-PDqJ+0j6EQNlW6yTeoy07q1NZzbaO0mXkfTde7XZzdUuQJooAu8oykdOVXSMcf2t1z7/42x0drKN
-pB8xUF4vsU7CMVLYR+LpBBtx78RfRuK9zWxiDG2hZANWJkKYS+CoCUI69Ags//ukL6RCw2i+NNo7
-SftI+pECiQitk3aM1NaRdDraKB+d5MtI8ix2Znad+rK5K5Q2hnJdgM/URdpxYiBQwE/8XRLGsTR7
-6Ggbz74jaJZYOesou2M8Bdh3fIStWT47ypfx7EVw6hKBosvSJ9RmTPFrNRxrqmGbSuReZrN4dhT3
-8ew7hkadsXYUz/HiiWqaVjwwNDtKl/F46V5elabEYpM8FrBnEqVsEhJc8dwXv8FW5EVdhfB0fNFp
-LA0fO9tHtU8NzHa62Vl4GDUco8r0rGF96Oxc6yJtSgWbvPLxBUj7VuQBvSyTopde+N/nduDJahzT
-pdHeid9H0o8YKCzYOqnHSCsft+loo3B0Ei4jbZyNni+NO2MDjDQ8ZSX0/ms0diM/N742mxxdpG2c
-ja3xe6glvsxOwj5OmOPYVLhJPrvIj+P8WgUm+gdPE3zdYTCnRfJKc5arp5DxpBPknypDcYVhaRLP
-LuI2Dn+zwDL53q0Tv4/j13FkKtrkoYuHceyJe3vtULd0A9KGAEL1rMjZFOm31xbaIapnk7JmjcpD
-N2UbzT4Tk5njbZkdoab3Ohr//kknyVOajc5u6uNowrjl8iZKmNxrgpXhOCf2lKBMyYmwYBBhpnp/
-rA0fO9tHtU8NzAxndhYeRg3HqDI9a+gfOjvXuuJBGedq0NugZMeghF9+1pCtdQAwN11tepx4inkv
-zR572ka0Dw1K1oylq3KOWPYRZWLarDz0VC4jyvNdci9SseI1/NugPOkU1RrUeJQU56PwczJJL9Kl
-2WNP24j2oUF50rOrfo7Y9xE3M9U2d+kpXUaUsx+FRMjfqctfoTxpVI4j7oLrBKNooRUFyIGUEI+1
-2dlT2Ee0Dw3Kk55dhXPEsI5oE9Nm8aGneBmRC91JmaJt9SuQptyOtbcgnHRdejtWbnXtrJewj6Vf
-GZAm245Vz7GWRbdjzeuMuZd4GUvoPXM1+CY1LV5PKAWKei6FS846tKJ8CGoggJ/0mBD/XZsd/aR9
-OPtOoRQbMjtK53hpG09mZa3y2U++DKdWMtZe+mIBXYBUJg+5QKIC0eXTuulJ0y7ZuilT2mjrZPkd
-148USJUurZN+jNSXkWw6AlymS52ca1q2WVO2Q17VkgXK2gSCMoH3oKyWnkDlFouagA==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- l4Wfk5tI3Ru/XvCoBHX8fH/AHa+BhYzBZnEdEaUZWmsfl1RdUI130fEWmIgknZ8vXKmPnowsO7bo
-0ddWdxgyp/NOSVdMXBZwWaYd/fXTY34TsTt3ev1Gn4JcBOQPHJ0/10VpvzfY24TNQi8lKDJhtzZo
-nV/U6ioL2vEPLDiqI2asMNV9B26ouCzvMrHb/Gvlx8W3Ne3DrmbYjV+634kJ6Sdf9x5utAoRgQSl
-AmmB2KOhqgrr1P8mZqEbn5RzuzIoPd7rgSU2kPvG8igxzdoJbre5XlbzuOQbd94nt2BTxT+8tChq
-Q1U6cOO/GUey6rlNIjgJg9xZny5z4yLbOpUfbgtVhritSvvagTz7HU0XdN7QLt+uCLhx3Rt31lmv
-355rXjEak4jfUd6qwyvpfNWqFF4Us3oZB76DxUchDG4jdOVw++YLi9tQckX9dcL6+bqyGye9clzh
-fOu3ygK2QRS4TUe/3iZ+rvuRm65i15U7CmzrQT++Atevn8UJlHfp4l7fRMMVYfr5itkri3znKtjW
-qh/vCDgmOZHNHGUTJJ39vHHQN7nS9tGBXZO1PPgNCQDCfxxrrRO5hR95tJO1ye5Er1ZPVgRnEFLe
-WZ9S3MYitwle5nxZ2ZUv6xhynr5e5vdUDmESy7p4Uw7W1Svz2pavXG5bq9LgDmQa3JF3QfJtsfrt
-ipQrX7/eADbx9fNz3StScUKTXmZdBR2vUiVr+IsIREJpOhCqi3p9czSdzzavK3O+sjPF5Pa5iU7r
-QKbRrXi2z9cN0YF20pUp7UCd/Pr5lW42trtdRHceK8BtNP38CnxPBvs0b1Dmput8fROhV9Tb5+sm
-3bnoe3fLtm79fEfGMc+TCavBY2VumxFEYUC/wgaWAl643mC/I6vbOn+eEiH8kZabd16tePn61hIv
-E7tM/8rRj2EndpXkN/wacEXcDcG3WZ493hD4CfOC8NINgVeGfWXtyks3ROiMtw24LuMdwts+PiY5
-0a2T2dBtwBW11z24Turs88ZHPm53OJHzunLPbYFXPnvnyHLIt8+1xYbI69quWLhu4q9v6H19s+N3
-ras7u7pyeQFuW3bd3H13PmeVVM65nYg7j33vFvo2SV036Bx9kUPobqKrSFyQSnuxQ4/AEldJzr38
-lXAH9dmw4KcfE01al+DCpJX8za/4q/zyH794UHhfF963KhHvGAa+ZWa8WCPfMVpug16U8X/gyXtb
-Hf9BFzxLZTiggq6o+++JRARtg4nKjdPwX3L4jqa4kUAq07FD3mCjK8bboeNuh/ubWv7NHPCe2eCb
-5sebnfKmhQvWzItVzMUFSlFFVC8ZFnwVW17+uTGS9ZBNJMNVCC7IZMhoOtR+dQo/GDyv5sCbAe89
-Q9837QhXg8PFMKFo0jUKz/9SRQMAsozl69lc7VnfcYR/tR6ETUq+KT83JemqOb6jYn7T+HUzkl21
-Lj2EKmM3vi2JPvTinDEFyqwlhMDoSlFTOtC7H+EmzN0xc9/P3m7cuilVV/Xrqha+q0B+2zZ2taJd
-VbrzCGY+NhpsInairH/snH6iNSpJCvZelkiVqsJhZAf9fhR3rF2NaDc709XY865Z6Nv66V2Tvem8
-/3As3/h+F7UOfyqjbhqsojedIk/NcYUbEKWxRICqtcLvk0oNnndmP6GbTesmrd6k2psS8Z628U1b
-yc2mcpXlFW8ztEmsRV340Ep0RQSE44Cawmw34YZ0NT+dksWpRmzuzG9bD652hnctEt9WTa5KzFXd
-+YcPCWIf4GWnReF1O0Hr2t/V/r+tENxVh/eUjN1AdLN8EJY+ESRSbkEi5ZcvHs8C9kL/RUFUvLDC
-AP7DY9wPhYqcPb9uQOldD+g3wNLF11u/F2Ul2Rkk1s0RVWIPKcTyRfJ0ZHm0rNgvuXd6+sM7m7AA
-4zgOTkfr48M3YPrx11uPi+LxgaPOGVP+MkkFbhMaLR5nqcBtRmef6zQ/hkrtsV8mOZDyOJ8rsF/m
-2M8pptuupduuxdu2xdu+nX0+Yd/Kbd/Kbd/ybd/ybd/OPj+/b+Wyb+W2b/m2b/myb+Wtfau3fau3
-fSu3fSu3fTv7fMK+9du+9du+tdu+tdu+nX1+ft/6Zd/6bd/abd/aZd/6W/uGJ5AvbNJd+eSVUV45
-5dnrMqD8S76x5XJhwTdYvrHl/Hy2nG9sudw48BWYb2z5Ns3PseV448vpxoKvwHhjzPFNzpxvnLnc
-mPAVmG+c+YlbV25bV25bl29bl29bd/b5PM4cb6w53bjwFRhvvPlx6+pt6+pt68pt68pt684+n8ic
-8405lxsfvgLzjTk/b+v6bev6bevabevabevOPi/8OV/5c7mx4iswX/nzI1qUm7Ybf+Z57rz4Bms3
-/tyez5/bjT9vEzLh8wZsN/58m+bn+HO58ed6Y8VXYLnx5/Imf243/rwtP952Lt627uzzify53fjz
-NqN827p827qzz+fx53Ljz/XGiq/AcuPPj1tXb1tXb1tXbltXblt39vlE/txu/HmbUbttXbtt3dnn
-8/hzufHnemPFV2C58efHrTNO2q78eWeOV455ZZlnr3NA43L03amM83enNn6Fagdfb73O8cptvHId
-L1/Hy7fxzl7neP02Xr+O167jtdt4Z68rmQUL/2My4mPQ5P97dnUeDmOLgDLDuBKmBr+xaU08xZE8
-xbYfTG6v627s6hM3uMFuasYKI8Pi1Vb333gBf/ndi86XaV8NGFfDk5HmzdxwTjw9deLtMvGrBn+1
-vJTLxNtbE69Pnbj3l5kb8NvGh36Z+tnnQi2nXfZzkz8NlRuZ5wtJ32DfNn1uhJ6eSujxRunf1uWv
-Ztur+W+j9efM/TRXbcT+bWX2arq8msA2cn/O3I0045Xev63PXQ14D71eKP458z9tQBvFtwt132Df
-tiptFF+fSvHlRvHf1o6uFrGrWWWj+OfM/bQBbBT/bfXgahK62hU2in/O3I02y5Xivy0hX60iD71e
-KP458z+16o3iZRqH3HIDfltT38UZdSc+h+i3yefr5E14uUK/ra3uQs1zpn/qVhvd7xMt1+lfle2r
-xraLNs+ZvhHpNv8pnWxT7dcFXFXOh35vAs47S/jeID1eDEeAqrJ3sZhtnhlR9W6wVbE8+ns08awD
-pdtA8TZSvAyV3hqqXoaqt6HKbahyGaq+NdRUlm8a9I6sKwZvKHRvjqaerdtupcvO3GDxtl1vu0zi
-bcPSbW+uwHjbsbet/PG2Z+m2PVdgvG3aO4bpeN22dNuhKzBe9+0yoJq8bxtXL5t0g5Xbxr1tSy23
-jau3PboCy23j3jb/ldvG1dseXYHltnHvWKzKdePqbY+uwHLduMuAehRXi47xx812o8f7BtxMN2ef
-Fx65jpauo8XrcPE23tnrhVGu49XreOU6XrmNd/Z645YbOt0dn3eEXjF69juH/EScWr3FqdVfvvg4
-rlhEB0bcp/wGaGqF/9s/XtDo7Pd1BUrnJkSsI+5A/fzrrU8CHtllGl1rGQCaPPIyswPI4M4RoyJF
-FxwVevws9LbWIEJDTeUzScTSp5qVhpBQ5sj5VHuvJX/Rp1JtoPAFAYwRr47z+3w0Lnht6vP3j3QM
-jkbaB9SQNP6rvxV/P64DWaMx/8z1DKkTReU20tnomO2+nh/nQTh2dcXeTNOwImzLnnxJHGO652mc
-c9tIp2WOlPV43zTMVV+xcDaymdYvvqM8ohKUS1+Sc0m+OlrVL8HN1bl9iP0fH2Z5Q/OvP0OqOYxJ
-tXAl1c+kVmq/C7HaULz9uY212LiFs0+3he0t9HMlQf29oe9sNNh7zOUbJ+JsdE50W8rnUa5zuNK3
-VpdM6nZo0jX1KNHoWXWXwHnae7/bVipQKSilL+MOmFi7YvFsZDMWCtbfO50/tIqDcMo3jtTZ6Jzv
-dcM+hX7t6cqc1UWaLF9w+lSb5adY7hxn+ez9LhRvQzEhKVEqWC+lbW1nI/3v9WPjGmcjDDhO7Hun
-62xzTHZfzufRLlN4NtEfK3tdYEpC1X9xbblP7hg8Gul0hZbl507wR5vcx7+V+P7ROhsdc71t1KfQ
-fkpDn71MT5p9XYG6CsKImxwOaIu9pR0VZyubquDTZLYN6WcrG/O93T0bPUz4dhI/hXdldkQEPSx4
-138BZ8su7YIcXUU1mSSnnysb1N+bJKdAGxP3pr/JV2cLEdC0AxUvtlHORudUz/U8CnILR3zCiT8n
-uYlzerxUUuOhL5jYG5hcNbhA92+Is2cjFtW4A7f2vf7Dw8RuKH6KBPdIabi7pHIP5X5f8iI1vy1i
-nHD0uFGoAnXbWTjTQYVvbavaW9g0mfQuQtXRQqWyd4/A2ehhlsdSnie9XYja0nqv+atF2amI1Xt3
-2+4ZUIhG5TEe84K6vYHJTEKodzXwbCSC2JsnZm9wTvG6O0+R02507VVBXtNWH2ocWHUHrmWwd7sR
-twKVbDYdowe7H7bVnY1swky/FwHqbCES2HuH6GxzzvRcztMEtQt9S2GiseEiN2hE4ctSGqxYPvJa
-OupY2iqmKQWpBMYD37C3NVBJScj3JjgdTXSgN0/R3uCY3m1zniKZPfd2PCl1k89M+BTJS64olc4W
-VOwtTDwSTF7FpbPRKtJe93Nv8DDH25F7ikg2/ktW0mfRtva7mSZtMJGeVFbTwZVf6u9NoFOgiVaA
-xzdErYdGMqJ2ohLHNtLZ6JzuuabPY1+nsfHdJ4qD267aYHJnqbSng18ReTbSTuhyDW9Ix2cjlv20
-C7ePsP/jwyRvG/UU0fBO8VLTIajYorWh0KP6xKtKL2l70kT63SjeBlN9gcQ/HVrY57a2vYWJakLH
-V9HtbKTy37vH6mz0MNNjOc8TEm/E/hkb07m8TVpUOlJhUAe/IvJspJ0oHd8VzrORjPjusTobndO9
-btlTJMcr2XMcy8Lom/Ac/KkiujF6qRu297uRvQ0mxLS4UTRqhe6xbXlnI5PihKyvUt1DIxEN3zti
-Z5tztueSniY+Xtm8XbLMafyO9KxCvWPI1t+2lzqGUJAKhjrmHXtHo2JViImUb+Ld0WRVdd48V2ej
-Y6q3PXqKFPnsa/Uk202ONKO9SIl2o6kkuaHkbKW9KF6vkt7ZaPUHvLnHZ6OH+d7O4maq2o72XxAa
-zRX8Cdej28USyAHT5ahjXmWus5FNdIE/CA1nI5Y7tAu3j7D/4zFFm//z7sQNxU90e7n9NuQF6DWn
-g16v+rORzXQRCB9l9bPRIsW9uZtno32ycyVPY8PPRrZ06zY+zLNXBqtDXq+Ws5FOc7HGnuzxaLIa
-Ut/c0bPRNlFbw/O47xXNn/CuuJ3f8ryVj9pRVW67Lf1sZVNcYxdOHng2WuMN3tzLs9ExW1vKhmaN
-cLHYgsTGuc1UOuUwNu89N/7lew2f2wWx+b2+P8DlA26HX2+T3nz7H4nk+ZTDXesJe03QLVN4Ns5h
-Okxa3wL4LgS+u4K3onB+pyCZT9DfM0JavtckeU7b2xOjEj32spTga9nK1Y7/c+qMGw==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
-X9o7rjk/+kUUnXcWu66dqtpQ4fCp2adRohqAJoD5i4GJm3GhwdQPHtgv38XtCyy5IDFUI+iXZgir
-ferDW/KLajjbwl70QTtzDkBrybHkofPFWPZeKDDfrmxMp8SJoPKBs5gxi0vYax/YPcHIU95Sb7kf
-sIfvmvirNEqBCgqUN0soYgHpDXGZl4bjN0+iEO+cIidISgclu87JhM9eySPGTYB+MHE+P+xMKdos
-WdU8yPXShV9z557b9t5du8ZZFMTvICobA4Jz3HdO0L45gdkbWlgRX6nEM5+bWR7qSJo02HyFRmtC
-agYcOlFU+eV4PF7n97/7m3/1d//u/I9/+9uf/v4f//J//9d/+uM//dOf//E3t/79n//n//7t2f6v
-f//bb3/8+POfvqn528P+rf2b35VvfydVPH/459/9zV/kH+q3ov/7w/+Tf/v3j3/6Pw/bP38b3/7D
-t//238u3Pz3+4g//Wd9Bewp48ZI3sosqXj6ZBF0oeKf3+MMvTPaHv8kP/8fH/0mQ7bHLC+ncGY8Z
-ruxz8zFLRNCoCuzBu/pH/NoppLKDr66dmKiP9nKmdVz2zb6txUFzd8cvYNpf+gUx/g==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- ns05QJ7N6TJuO3ToyFyXnbU2dvSWcTqAM1bmDnZ1o55VHh8H1+Fx6kl1sb4vjH5gRsdO6RkdG8tb
-242jRr+4pwR+2hQhOb326RQxco5l41NONr7zvpmDy/d3OW/5WGjsotBoO3hgxkLjWGjs5AUbC42n
-zg3bmtDoOzijrQmNnZzRWGgcC41joXEsNB5XoXFkpD+hzN4Orm8L2h8Z63d0SscGpzQW7dcR7bto
-3muzed8/f3AD0dRV0cXzyXPon9p9c+sH7mdzKzs5N5nEqa2Suevoyj1HF+aWZk8KKzhOJnaikGdL
-MrENJJw6dfJNrS6P7G052cViLzD+/jltKofWPTNH5l6/MveNR+PdXofNGafQOo7zHJ5C69DK8uLo
-h7WLGRZoBgPHdZwarI02jFODnawZjlODbY8CgMY92kodWpmZXZ1ZuHV5vpPBunW3jdyio9PMrqPm
-vqn0z3Tp6OJtcX/eNbpHdSdz3uTT6J/ikdX51dn77ppfGH2OS8t34pc6ONPGbFoQ9QbsabNd1IBs
-Pf9+J6e1tdT7s510Q9mMJeF0DM8+xbItbeDYdfImjRMQbVaBNbYHDM4R7AGrM91MrXDqO/qdcK3y
-8RZnVvMJde28bKswUzwrpJkuevGMhZlNCDNwMTs4w0ycGTPKpy2j3NHDN2aVN3euR3Zw6qQ/wlbc
-mzo5obFz0waEmZrjPrBOBqXO6ME25uBUdPKMbo+DUzfnNnZwOmEc1diy1i6MdjFCf9tl0S5OciyL
-jmXRsSw6lkXHsuhYFh3LomNZdLOyaBeNCWNZ9NSb2+khi57G+U+6KMQ8m/OfjOw219GJbc1x7vQI
-9R6ndTnpG7X1+7Usu9a1qW3thnUVbWwpW00Xidg4xSkiv9cvLC+vK3ycMrhvhAK8pyi66+rM2rDd
-kdVjo5dhPwQHkKoNX3/PwszsO2/oEWj58Mzs/Oqx67tpreA5bvi+jXW/J133O2anWqZ5BJO4TJ1C
-WGYDcRddndXWdPinxMncXAnom6ga7TQXoz85WqWb5o+sziytTrOar6vYevQ7vgAz6WQMUsv1nluI
-Y9lQpuAuBtJms+if4My75xePbkA5XnZR558msf4V35TG9OjKoZnZuTtnZ0ZnKLu4TM15bI0h6W6l
-7q1zId2d27NGq7PANHdiBK6pnuD993Uzd0f/bNqv3obwSxdjxxvT6J8jX6qp5SXkZ07leQ5MZcOc
-5Z1cXnnMWm4/a9nBAzPmLMec5ZizHFUH1OnS88+qShCyFa974PDy0twGiHYXUdXgZIZN93TgUQbn
-8qxjsccmkdPaJHK604luz2/s+f+swCAzK/Or9y3OdTOT0nZhkoX51dtn5tej96coGjlFnCU3i0g6
-rKtlJNKY2TvX4RW7zVTC6AdmNPJWdVEoeGfbHq2TYqHjMypbZrSO71LHZ1SNifGYGHdgilsnxh2e
-3BbpcNellS3R4k5ixS3R4k5yF1uixZ2c0ZgWj2vRrssGjGvRnm771H0yvz22zI3t8ThX14nd6m3M
-1fUsyRvdSbvlOFnXJqTIu7qc0X27lLqnFQeAQT+3zMR2D5wm5GFRJtO1/WknDBu7YG+I4zmyvtvS
-KXq/Oo0+2jQ1OJDR6Vyv4P/a3iVIB+cu89wwehkn5zllk/N0XN4dU/OW63aaZbO57VRQvGz9IHZ8
-gltL/zLRRTy5tfwvE12UyjeVAOZ0NNee1t6XsGGALu7qZmLirePCLgs4W7TVnhLUbHM+mKcxm686
-WYl8Oxn9HKd0MUHE1pFKx7Hm5os/Q0DNXSszS0cOnazsu68/ujR7R4ev/EY0h6sz93SS7rQrDnG0
-b92QAkr3umhpaUxkw/cADuAbxgfw1DiAk65X9Lo4wS0fwf3jI3iKHEF1OiDB4697A/7i7shWvH5+
-pYvn4VkhaY6VOae9MoeMEKftJes4FtmWcNouB/ltRpkz9hveJn/Uzt/vbfVK3QIixG2/cWGhg0s0
-ep3HzSzT6FY01ckKUlspSdfRKY2L0hGWG6ko3VcvLx+8d2Wmk1za1ivSmU4e0O2pSNfNuW2wIt3e
-G29WxYHXLR1MlekQZgB04NblpdvjtDA70QTD98/dO7+Uf7J7162HpR/88M5ji/csL8DpXpm5Z+7I
-Nx6d6030InBxLo4hSouv2l30bty9q+jdff/uXUd377r6KDAbNwHktvjPpFGl07ZXTGqvS1OCf99k
-4SoDv41WxgZ447Sp4I0uyqB17+4Z+L64At59DP56U3z3DRF2f6/q3dJ7+zuK3sH46Lvv2L1rwtkQ
-JoNTuuerYCaN1aa3CHBXFJOqtAwHMMFKrX3WloCVChUBK2V7s/R9M1kUDtp6H8GFhrZKTxaqKAFY
-THpXAkzHrmIbgFWTvig8d6D9pDeFAriZdCZ4aFyqOALrAGjjx65CYDVpC1vxo0J81BT2UOrJ4LHn
-oCa9LwL34EoC2kkV3zKwUs4AMEwa42USTThPGMZQVhEYR4cb0fsaaSxwB0tCjysnbYBlMHHulfX0
-ODcZQuEAGKdWxQHT4yodFwV7UCE2pgGb+BAVAKjjllQVjsGEuJCwa0a5ybjxlqeM8CqHtwJpwDYO
-2Dochp00sFkAdJO6DCUAy8lQGdwjF9dBO+ihCHEM6XHOT5aFwR7UpPIWxxa3q1S0DnHRSoM7H4q4
-DhWsQ1HRftOUI9wVpRK46gkMZwywugOnUgc6jnAqdaBxJfoaa28Gei1NywjiMVBwpGi4Cibsi3JS
-aWMaE/Mq3r9CV/2r4FU1qULcrHzJfNyseCZNY3G91nBDTLYTOAav4yWMt62xx7708Sha3TgNvion
-qxLXBo9OnBqNoQ+O160F+DXU2MWl0KFxKOOkJotAe5yObw7ks06PA7gqdXYxpqnnELdZhcbtitdy
-sqrKqnEPfRXvrza6/9JCz6qAlc9ueFyWSeMr08AF3pjYmRpAHN7G1VLe5EjGOxsPMI6rxkbxy3yJ
-GpgLwKqwoYHlABjPnMnRIcAqE0zWMHVg8fAgnFtGVK4IUpbydFdUlmARm/OBxl4tIs5QTkZ84nhp
-EV4EgmvvlAyhKioGxrsowCJoAipfysSci3gy4CLE0+e969FqaWtgGPEyx4tE224jpaHNUZMBjhD1
-EPchmALRb0RVKuDaxj2PO2JpH5T1tL1xc+J20zYWcKtodvFQ082snE4bAYfeBOg2oqSqLC1ewdhD
-RIkAjC19vHd8X8NkxDGe4CHw5QYSoOFxNtKdQFg9oYx4xKkHQhlwsLSzzcawaUb3devi/hmnBsYQ
-h6mdMo0BA/Z2hbaNqUWME0+uNv3rAMTCl3ie6kUDklc5PFD18gJ9LA0ex8ZeAC1VtmxuXESlcWqF
-b2wxUOhC4xga5wFJP5Kh7PDk/EA6Zgi0usrO5JT0wLspZ3g6wdPZpvMOsLinwmj0WlmPOK5DwLHc
-RFhR8z4BCtU+rt0i4dtIz6xB9FXJBY/vQig1IezA2Cu+jf8jGfBA6gTHxKUzRVkRXBUKzxvg7gJQ
-BOA/E1eSkWXE1N6WSDdMbFFUjMiFRMV3dA/i7pUqeMKJcfP4sMRtniydoI5IA/HIl3EOnoAaMAve
-mWoynk28MyEOt5Q7E1ElDh7bWqYOEYfHheVeveNbF2+4dogjfFzbSigUwn2VwaeHwBda4L6QJ7rC
-IqmOeLXMiQmD4zgNLWa8/vHPkrajsBYXrQJOxijaN1WEtECWsbvBtXaEEyIW10jvVUQZBSOKgRNB
-JwZuX9zJCqfu4lEoSj4sLqIyHTwjgcIjw2jjVcTRVbaKe6PorscxKa8JGE974HsGRETRXY+Titw2
-8ziVQhQf+aU4LLypkbQwlXIFoCNT4xtnYd6AGOK9UMIlVRVcvohkIgJAWByNR547ouoQibMMAVC/
-qgiJVPEUYOMy4kHkeoNLGCQenLiLuBllRF3ayRAC8Eye4MCcc+NS+Yo4oiLKDwwsfGA2CdEKjyEe
-TqP5zujI4PVobTQxEgXwmCWiGxeRTEmcmo0LGWQMsC8eOcvYs2XO28GZcYEuEnNqcfJxkwNdpKp0
-gvEi3HtT0ozLuBjcOJRO7kE8an3AKuJtV9Y9CLyIWIIfF0dZGMaZXroFzGKZ44g4WjB/3EGtkOBG
-FI2XHM5TXEhdMrlEagrAeCA1ykXIJ8T9Z9rhIs0htiWSHBVwDPFoET6Bbh0x/hGmvRW66uI6cgeV
-sBdwGgLRGaBkHqWlyGNZm0ZgnGP+BngH7iDCfeJ7InLjxpFwCNNSkLgFwBIvCgBrphvOt0dSF3dC
-64J5FIDHpdK8Q7Q4DhBAFRhWKM9A5QMDI05Iy6tYdohwblcW2hE/6QjR4pdtqQhoq8LWKxsPGNMz
-EQXiXY/UQNPuJiEnbjld37i7tnSu7kFVInNGAhZYIgKOSPahlJWplFIELJyWE2ZBftT4uEiKQ2F5
-wNogZYBuCQfFW1J4RLFAqas0BAeYBTmZUNBBIWC8k8z7VZrXpgYCU1x/X6CW8CABo9DpCZ9HaUf3
-5Eki3OYjiOcLuTG4ktrQisXhElcKCERYE9ytwDe9hMmm40FsE8CVojFYIIoV01HDuAIOWAVrC8Ao
-aQiuiGsush6y+3S8bBSmi9LQIJTGHkxEuny8IoMhEi/wMyKGoIBDUwO4diqDA7CI7DLqFICLrJJ4
-DGSXWLR4pQIoV4jJi3TAE42OvSiW5yNrrGgvlZZbUkXsqErGFZbYDBdlsihGQQcuEEPYSryErgH3
-EAmd66drwEhrhVez7gcobJRydOOJIAVGDNs/Ougg9M8kciSRMPfN2UdetSiRqcQFkm0GhkcXZb6a
-04lvs/hA3JKC2CvHDC/tnRGWy6DYi/tsGEERHPUjsv8EjE+To+KNsGfxjFYk6sOxUo4l9Sg7hMYB
-BKAqBFifVh/ZvWCJGyyFlkdCEtGNDo1LAEBSpDRvDIgqNpjm9QKgKZVrXMQcWN/ZHJquNz0MpZQa
-EXjgY0srWAOkY16xgjBThmGQ+yUBqkZFsIqx1wG8BXBblaqB5ICp1j7YBjoEIHFxhDsrEbuVIbYg
-R7TQbZRPQwMlw2C1pZnl+BsnoXHANbJHoCKxQbZWl4Tkc8oB8NIa1yAzADReeCSiRwBzFRE6pl1T
-sgJIz2taNy3weCZUgzAisBLRn0koAp2w5DW99Qp4nJo2E6segXGLdYOKA1BluyAkH9bWaa1z9gD2
-oSxDk4+AIZRF4fuZDrgl8exXDQ7FR56txhbMy8CxM6bgk4Tj4jNaEfPLXJKm41gC5rDCT2nVB8yZ
-rxyeODUAmsrIDhHzBc9SpvT9DCDck8IZlzOLMF5SLmVcJVwTHUzoZ0EjgxTnSTrAml+FQ+iI3tWc
-bZS0ykoNssERHvGJb/LMgCtZdKy5a9hrT/iqwYrHeVqDWomMb0cBO7gmhx8/LyokbU1xIA444r+q
-IToAZrbWNGWMOFjY8AGBBDpQuBO19OKjUGd12ZRzADeWChayKRTBgaw0YrxagvI6jg==
- ]]>
- <![CDATA[
- ptQNUauFfCWJLQ7ZOJJ2QkQk8YuLskC6skyvSmah4O4Fy9jUeFrhWiUMVDkJGvHgRkJWNdrCffKo
-kcg6RQ0jTllGwLJORGDa8sLbyGKwdOcK0rfEeToVGkPAZQeheEqOSaQepq8xaBjwWGfdDq5CWqAy
-MJea5GVaoEikg8YzWAvXYGhwuhQxPM68D0giOyufIj0oSHubqwPAkELaXryhdMfhaVFWZk2FjfNB
-ICBuYqBzVQWwR4LqRK0BzE1hxJLE+g/gxBTZbEBZ4pNWK7JzTnkvihUSjuL9saZqaGCAQzSldpm6
-ZkqEG1hfus0R5WnmPRFD1oqgt1LjeNlKbxpao7gZsQkaBJJ6CYZli0KJ4qGUq2h0RAK+qaVwVfxa
-ZXRDn9GymbTPV78ls/yRsi6iPiaOBZyMZI/j4weadRBZCBgJu8oaEzB4y1a6oJPcCFyGE407HqAJ
-1CJGEdESYYhLgd1qS1wM0gCUx9gkV2vW4yo4ku9AkxlIN++SMgX4yHjM6Hwgmkwnz/BZiKscyJhV
-xrdECgEVsxUpdht8GejoZgJWH5ymDMCiYG6tADYjmeQEDpI/6WnjKdeW1FBgINQ0CzC2eNlgk/B9
-JQwMGGHwqvCuI1sB5prIQ9OJjpKf85Z2PRSiz0c4aoATvBWYTHKhpLFF5A/2FjrqSC7x6FQmsOgV
-QmWJktlkPQCLnEdlI5xoOZAeLSWojYtrVpHYE4AR0Jr56WS9QLhTzFAXhmkkAImgmkYPPvVQJYsc
-gL0dbBvkDme9loiH+ocAx6BSMt4qMKdgAyqg6pkhg2eD718GYI7inS3zJQMrgy1pK9PagqwSj0DI
-NoJ1klEo9Kq5xaC0VVrss3wYQGtbFNbLyYl8L+tcm3AyrAwCWYkKhtSibJxJMIVFkm4apzcH8lFP
-djMTT0l2L6YFrk0oG5cLTDaFIs1/uoaoUQ6o1GncWXyiU6FxwT3gb4OMfY0KwGyEvEsf3gAbUyCG
-pUYyYJIjdWCGjsB0RZeoibvQpBbvYgPRAdDbwjdQYqRacW9tlbXkHoDF1QIn1g+AtVXPVyYBExuP
-7PqU9IDrjbKMNxGDTye49iXDgftmYCFWPLTT0oCDIw4Y3QLksMVLq5xjHVVkuZEfi4vGFiIHNjNi
-l40lDQWy7BXoHNgwF/GqQk4vynos6IAllVjCyPyguo5sCaz0iftm4GqxNiDKAoF4TZ12Q4MZncxf
-ceSVE8k4MtzJUGZlCOAcUiEWB3rNijYwC1lUgkam0hbkr5HwBvCJ2MOUsF1lMKbZGHZDF33dxrND
-5vnmGAB9+hKVavWAUePiGhMD9iVybaF/FZASBbKQpiUDqhdl3ypfWzDKxcNU9u8DkFNHQnC9aZEb
-B1Ncc3uRzvtQ9Z8FhCMhyg5OzhSkI4ZAHXx2HqekB0K16fxOJ3g613zY0aWHjVPpWrTwIH2GuZI3
-CrCYg2OTDHORFSzJ30DuuQLbHtITcDZgLBbfls6zNQFdApIQXrjCE9wq1hdUwN1rZunit1jz42N3
-5PkBh5qumC7ZdgBSV8lCJrgSecd6G1cIUinBW6NglFBZwtDxItiKNNM6SakV2GArZne9aCnhMkWp
-mbdFMZGIaNSHwL2yCw7g9yh4lizRAlM5JXhfseaI4dND4AstcLJSAxAxMDppoHU2ERWBR0HH0mJW
-sKMlu+wYMBkAULM1EsilTUqh0jGSB+62ZMcN8FUJmt1StCpDr/VE5Ia5yE6UJAqBSJ3sct5aRgIm
-ED8b+XGDgwOxMjPFIN1CtFAB/kxWMTpDFdjzyiBmNSSf2G1En2LTYmIFpgPgbGuEwygWtLLEqUAP
-pICP47WetLYRHZCmEu51HFySFBH3e0IkgY4QmvEIQ4Ksz1gkSoriFVWR0Jb8l8TDBrRtJK/AKfOG
-FaAGtIAEtEZaIm6ZFXFXtPCerH8TZLUkhgK8mjRhwjhLh14S6OIDRq0psRlErpw5NnHjAvqsTUk3
-STg2MMFVogHNVBKwKkYMQj6wiSNubOTe+CaIzaAGgodg1oGA0ddMnhZ3RhGLUEqv8RBUOhCTEYLs
-BMjfjvwNNd5xEvtQ74l8h1iP4rmwwbKKLNS2AQt6maQNK7UYirQT3K81mRziMfSMDeLRTIZ+gKsg
-jJLohoCUVY7FZ1Tp0RgiJmadIjKSyTLnWK0oFrw4X2FaNFsbPUjvrAqp2W40MtEGxEtfiUUOPBiV
-bEzlxKpmS82G1IigxU7n4uXjU5tOl1PiZRXBYrYBoCO504mYD98n0oeK2aqs58Q+NKFK4oAFkzjZ
-Nn0u51R0d+NlyoyCYIAj06QHWkLqNbjepkzcjRVgYAeaCjU/s2KPUiqwBa8Sm5gCXwLWYwsCijck
-MtdiC7YqGY6NdAyOjOCfRjckoh5m/ELF5s4aGM+OLZNVrYY7RIMEK9klxpNswo/yFWtGmkMg2xVq
-RljJGHEj8aSAE2qDK1E7VH4WZXZA2Kcxwq2WG+JYCIQD5uSGRELMEqBVKlOtFJVjGQ4pC5vlQFdd
-sAEF9fkk4So8YyCPVCL2RgQURBgJtT8VwgVTiEge+dd4NfiSoHNRssv5IBQ6DiUwk1eUpNICL032
-Fvbimhx305ZWFIRV5Gs96bhLsi5QD6jAQ0WcIaFzkHjldjlPDm45WUP/No+Xs+4FzHKOLfnpeSAK
-KkIMjcEBA2L6ZwJ2OeuIVUlzBrucCT4tkGACYHcceafJak4L24bKdN4StorFNSrS5rEQBTYeLToA
-bZP/H9p+UEsiJ4B4NpcUBiZy47VlLn4hyNkyYpSqKqIqcghBiLdOYPWBBS2+KQsvh5smDRrpighb
-ugZotCAvu8adAXi8gs0Lhoa1EFR+E3NYfmtzeLri9DTCygkZwGBZuQuYA6TkZJeKh1g30AwsTVVV
-voGQYB252xx5oRGOPU4SogOgZ6fAhBKB02afMo/yTTKNmXi7vG8gW+ghyhFlAy2j3bQ0AzgcdyiI
-zUInw1ztA8KEATsonOojIgAOZakaBAeOglh5EmkCYKlkBEjHkmDgbJERvWSci+KkiC86HcjItgWh
-ovh3KREKNbUFa1sgdSaQZl+Knbp0os5kIg4tXb0HtWsfKoODbbAH6IpYuCYjgWOwXjxqE9cBJ8G6
-yjdYFDDMCb4QXgbOPbungSMpjKu2iQXthUei44EsZmWEmzK+D5hxXjk4cWlogVNa9oY4L49spxpg
-/tD8XZWqwSnCeEnFlPGUcEm8RQGxwYCCXc7ZUje5VbQDOdXka+NOhSIMMsFgm/ApDIA55qCT4Fjz
-1mCYMKqFEfewg7rBtXuUhJ1q8vfwuUL2qSkMgILN6LIpOQTDLnK5jAFmfkXWuoZAEsQTMpNe0GhJ
-vlK1nAPL6z0q2BtCEdx18oPNJCgwzKHCNJe1BglYbZgzFIPgwYFexQfUhjmv5GqIaxGo3mzFV7sA
-P/CmZhjUmWXmeV0VwnhK4+RZmHfrOQahHgMLOxGDBRRAQGkGdiOSjNgdGxfemMYYcOGDFR1PwL+q
-vsYRDZMrctbt4DrUQi2qh0MtMLNlDkz5SjeEa7Q3BGVEDKf5ZUCVeVQDvHQosjQUAhjjZI3c0sA2
-EnDAEO//eIrEGSleUlzOTFcBlrka2YmfZGRvrJa7zxoQYMYs2W5QW1KKbitydNqLb2l8LDGQFdt8
-MyUMOhiStYwVNsw/BnaaBbDxjtjduLTemUwT9FZh+iNbIjEqbLoBbV9JhoGkYEJO0/qke7BiuoGg
-EWebioqI2cG9zjZUGoO7WZvm4s/eA9fduLLaDD3cewBiBg/s3hV6+17Vu/ur8wBCDvtriwTcf3R1
-dXmpp3q3LB89Mte7afn+pf4oQAr+w8i+kYP4QPhV6K2EqN3Lha3BcMcU6U49dE1OAYDvtZjSQ0Xe
-ZAycFcTM/ph1YyRPipwVUrcZkIfAHQgYyAA6pOS9QsAUai7zISQg33gZb944zSzrdnAVYgf778HV
-xP/23wdm1n1vWYLg1YO9e1dmDs7PLa32dPGq3gTw2kB34LftVQ5cNiD4MsRLzfGU9O/+e2Mv8Wj1
-wGUK9OvyewKhjHlIZQ3RD+A7vn+R9af794/3a1v2C0PxMCJWRwRowZkqbpuKrGFEv/3bBe4cQAoi
-b2dADSq/J+QDmo63jr1ASx0ljMamoYW+AJc96houJcYBv35+Ye76PCb4jpkjGD0c8UJs9obdu96e
-xoN8IGK03jt6kfmJP/EK3ze0CYCoGf34HkQBK4etI6RXxAfvxafeNLM6c33PRBZo9667b971zEZe
-V+78phF/NtTt9j76OA1mKwPY+ki25elbGcb2DmATwzgeA9jQMI7fAEYcxvEewLrDODEDWGMYJ3IA
-w4Zx0sdw4gcwOIyTNYY0jJM4gO6M4eQOYPwz/hn/jH/GP+OfU+vnpJPOjvAPY37ypLPWHZQvTvww
-WgdwIoexxgBOzDDWHcDxHsaIAzh+w9jQAI7HMDYxgG0cyVaevvWRbNfTNzeYDfV5RvO1Y8eZ6bVj
-xxnDXzvO3HnO+XteyK8955+z88xhzc88+4IXv/Ir3nzb7fi67c1f8coXX3D2zrbWO3aed9mr71h8
-70M/w6+H3rt451fu3XP2mS2dvnDi7d/5k7/2yb99hF9/+8lf+6n3zk9dft7OvqY7z7t8aulDf/x3
-n/vCU1/m11Nf+Nzff/Ij733bvr7GO8/b97b3/tJfPP7kl5+ul+jp2PyRj/3A172q0Xjnea/6uh/4
-2CNf/HL/ij791GOf+KFG4zPP2/d1P/SJx556ur9pfH358dh433kywR1nX/62H/jE4wOdpsY/8LbL
-z+al27ln6r0fe2xI09j4sY+996YX0ih2nHPV/EceeWr4MXjqkV9cmqBR7Nzzuvd/6gttY5UJfvEv
-PvT2y2AU2O1n1+gWhvzH3/kVF5w5Qrfx9eTf/eSdL94ZF2Hvet3Gjj/3a4uvPGfHjvO/4r2fXKfb
-Z57+wiff+xXn7zhzz5sf+tt1uo1L8bcPvXnPmWe+8PaffmTo2qZBPPLTt78Q2v7MKG1/5vRvO/qa
-bWAvNrLHI52dpz77kfm98QCPcCaf/sKn3v+6PTtHOuvQ7VXn7BjpDkm3I91N6XakOz+1Z+fGccla
-OIoQWo2jEu77Qn/rp9sRZcSpH/nUZyP2fTpv+dlPtSLgy6fm3/+Ln/z7GllDy198fxtiP/PsPVfd
-NP/en6qJwN9+Mra86ao2grFj5zl79n7lnTVxeei90PKcVkIUW+dEK9KsvcNaYuucGO45v524Zc13
-DKexe/e+bukg2JR377r7jXUmbLFt38oG8RsPJ4eVPOV0m3vBYifcCzrgZDGSh0NFHimQQqKYBGcu
-NwnBXhBqD+mFabHjL2Uhi6aB1DzKanA/M6VCn4cJSg0Rx6bDpEWvM3mTPqFAo5JyIlWUf6vh9fCW
-zMFpqCfUvolyUlXKhDLL879//42zs0cX71herQvLJqcpcG9C34favSn+Prh7l03eVA==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- YNP4St9EFH+vo+gs1Q/2oPkQM1G3z9wdy0kRHgPFGEuFlj/VrGz0oZw4QKuCy0Tlkm7C73l+XbSU
-5U4xxPwxVOuWI4oFIfaBqNxSP18I0fqSOPrUrMW9maDxvViCj1JhI0YkwkKUAiW0nyejVSYqY+JY
-G1xv3BAWY3S231iOS2aaNil/yDXGNpoN+G4vNIlgm53vJ/4YLbsttLKdMdpDbLPRXfk1p777nZVN
-VrKWxdicyUmZ6T/SaKf5juMMJ3EUsEptUUKDGN2iPlrzbiYdx0muTWkIGLem7GkjUUEmoJAVil6d
-Kl3/nuXcircXYmVCPGP8Pctp3vloH+sTPgG/Tha1sfw6hFKt9yynVev6zYqcOcn2MmTT+z40jNwm
-dbA9z8ltKlUMQjv35hE41pFRn3WRPctppsPM/rqYX2n2WObosPayzC4spnQ4j2s/tBIasDueE/oO
-GMOWi5iyRUOR+3xO0Yl4Yzynmvx5h0/zB9jNYpzOlXxamt1c8vhX7AajC3Ub/SlX/8GMHnnOsBvi
-Z/qBhyK+0NF84tvzceVHOeZ5h9Pz/LpCQuN8Z0TvSqFgVW1J0hJ1JuLM53ulqZBJemktMrJnqQOi
-AY3WT7QipIkrzQtp2O8ThHc288dK4pylvg82PY0g1FK//GQWd3yn5T2vg1l54n4h19N14o0tOc0e
-Jzm+x83TqvVzhXm3zW58P86KNb2DoNql7YejK6HLMEnjj+M+1x85KpfNZCz0d+uSa4OPJgk+V/7D
-qXpQXEVJOq042438viMbBXL5BvLAZEDeM/nu7fG0lDk+3x5XC+Lbb93xYXdc4bterP48GFdatcm8
-LbL98q0OG11JuK14fr/YfOvUiIMoRHy3QwtJLM8vrhA7nhN6SNrVD0Go0TDwWon5Ngocutd3Ecsn
-P9GRrbfuQIweHbsk/5Hq9aojz1mRVSOZCkXORaLoJvxu9KGcFn27oApxuQu/5/llaS3W2y/44I1r
-SLgE1WzIeV+ITUgQvSt/uVhrGzEhAJTPYLr2re3bspSegl1aL1vyJafqPalo7VgZXG3UELykWxqX
-2KRm09FtRJgdiD6Z7edL0rEQ8bH5xqb+kNf222hlm2O4jeiGY1vzi1rk3e7KVps/zfsc0YO16gOl
-MvV3PGe4iqOITW5lys0+vaSP1p1NpuM5ycVpU84pS8Jf5D5vKRq5wBKyamOonwE6nnML+F6IlQnx
-3BboeE5z00cbWZ/yDfJz58uvla7XejuW04o3KR3lf+GgXdP5PjwMfSf1so/sJkbF3lZOO0EVMKrK
-qe9yt/YLlnK9zbmXYB1twstzmmgsNqjS8Um6ffx8WPKhXbAw3XGb4Bsxhtc2nyM1IWwpx7lEopPw
-xlieEft6a8jj/mu+Wi5+1aniXPr1pjZM3XjPcZa5UNHPO3WaAV0T/joy0+nYek7a67H1SbvvXQyV
-hUr9MhdzPR+gpnNZ2OuGcy0b2IXz9XRNUCVfgoRao5RUd9bRDGGSwRhfTig73z72ny7DOqd4Yzyn
-xaWj0taRemm1CTnRwcXPt5yn4zlJ6buBnyuIO/3SyXxdfU+XgclDLYMGVpokHLNM2tOgXRpaR9Ii
-jWbgbCOODKWU9mf88DBQ05De++Ef/aA4etvOofwI7s0sBbsUeCemnGneyO87stE7cmMyIO+ZfPNO
-eLnzEOwF0BSXsGt+Oyj+QSvciv/GhRITxRfHerbMqjcYl5WdalIDVs4YCMYJs6XBporvEi+eXD4H
-emPcXh9nghHnDrdlJEVyDaoYMwclFZRLyJbwRyKurSc+AP0qsUimlfA5tkCAH5hNiumApxIfl4cx
-IW1CPw49kDChEQfUJKHlKyE3wu7roqIFqhxElAVOprYVhZihvECMrYml6kVIoZkU7vhuElWyZWnl
-zZ2YMGuxOpc2osSWlInRxDRSxUBl/eK7N40v7wbXqKNuJI9PsLBtU+GsnRh+tmkPm96msp/zY0w8
-bJWVbQK+WciWIhvvi/C/9zsI5qnFaQBRLYgPTRVymCiR6PrAbIILOMpW5TVQsNBcPQY4WOHjHDp2
-c5yWxfGVgJMk1lfMyRMmIXs9XwcUbgUw8Ua4za1fOxFWIsJpG++4zfK5R4NYz295HKeLeXZJZldO
-8XT8ZtV/AB+0C3I7WxqlK/H4A3dI/WbPcW6bCfVEzJiNkoW6Jn9nxef8X8dtXojujPyihF9o5ECd
-XPCpF0srf5cajuV+vYeWQWNvx3NCsyCPoYqIeVutT6UHnYg3xvOM3J/A/Y7APIVDwD7YEESPxspM
-gTnwjt80/9LLfdKb08zmmtyXwcrPBdJzkl4Opc/ZOvGHTBQu86s84iegvomdXxX1sr1cevxjH8PX
-s+l9FdLnvBYtO1sQuzqOk2wFyAtQTlLGb/XVuVqqc4E3xnOiZ9krbR2pl1WMEBOTDICIrnjZHcdJ
-Kn8c96mKttMtm8nXled0BYg41CZoAKXZAM0oWVeC9Ff66pDVXyzbZvtvZCGlOD/jeQfhmIVt5nl/
-+H61MQ2f2z1CfOsG5u0eIb4bNbodlndjMSDveHz3brVfMJkrCN8BPudHObc9A+FbHIy4op+MB6Zw
-aVOBmDGUQFzq6edM9MDV8st2pgEIVbKhA6R9s9rcYasWeANlJCOI218u+UiE/OVi4obH7dAyMFrL
-QMY1Yn4AAUSJyBsYb34qAUS/VFQvG4HGK8buo2RXFYoSxPz8gk9v4mM2osNLByAqH9qE9lN/8HJ5
-tvl7vHLljGnWi/g0RC6oQCe/4b2KNnQWQnm/zSF5VeYgHvmuwR3PT7QiP4HxfZzEOhCNT4JOt+P5
-+pQCyFwZ+MsseLwg6gbc7NwCuC48hvFgQL2tMKvqeE7K4jKC2ILIt9jyRuLKRv/I+vt90vGcpfRH
-/Wa5JbRo7DAnyc/i9Ad7ka1Ex3OG3EcRm9wKpivE4LX+0F30k+l4TtI3jiegO+ZjRVU/72HwnorB
-OQVRrTV6gyff85xb2/ZCrEyI51xnx3PaRj3ayPpMSJFZLl7SefxaZnm3mx3LWbLjxAqOiGRYY2c2
-fPW9lxj6ExqhO55TO1H5eI4HRmLYLoZwoz4dYDuWE118b/bXxfxSq5fBE55/yiCvtQPYL/3QSGjC
-1/Gc4C4xhjcpj5Gvq65P5aSdiDfGc67Fn/f4NPvEUyDlg5V+i6rZzSWPf8VujqM/5+rPzWiO3XRu
-hmqSSvg6N/MJoGym+evSPq/416IIqxKbDF5arP2QclQTkQswLSFWxGBd3A6I7Rgk3bLU/9BwRhNp
-WhrQ1JXmhTTo9+nBO5v7Yxl6ylDfB1uexg9mqM8UoY/r/rnjcncwG+YCz8p+Xh3/WivowXhUgWeJ
-//pUGf+ZR2j2BrSe7W3cmKXRlHWSu91t2tZyONdP6rb3jfGcGON630T1S9tmnRejKzFJ6buBn+vs
-dfqlkxnL/d1a8zr6hhMedmDjrqGKhx3YeCO7sEMVb0wG5B2T796VNxqv9V44Q649Mub0o5whn9CW
-l1iWorDABzVdj/IAviljrIEouUWFqzPgF7P39zFsmE4m4GkDDWAwuyFpmohEUOONprj9PJn88C+2
-ediwtK2CdzOqPHeXiUG8MEQSojYNfjaUb/4g+hR1Iy4GL+UEsfag/EbESwf4Hmjak+VCzKkZiNpV
-iKxu7o8JEaYbcEgiX8mJVTG4qoOILDowMWxSJJN5A1/MbwDS0WYIBvWWUi0DO563rwOLRnKT0Zfw
-JnN0G+yyWUqNrZX5WNP9mnQ8J0VGDBRj0nkg7xuE7nH0se0wK+t4TmvX4Ba3Kam8t5vs+8FHYtJt
-07Gc3DhY3pJFR2MBjkS7S+eFkXbZdNrGPxr90OZ7ltMs5yjm+sze7OW8MZ5nhL/+Ga3zOetAWqb+
-4pyc2jmnnuXrs8Let2SrEY0t8M1+2flP6sV7L9TxnCH3UcQqt03QohCj0+7DQNNPpuM5Sd8AizAO
-MJUV6uh0aOL7ueM5t9fEd2snxMisqf1f2qyXPM3RRNZnchH8PFkcp5Gfh1DR7DueE2NUdCWeZJzi
-lQSZYTSi6d6R44S6E0MUYFaPYnF7JedkQnqU8MZYTlP4AkRnn5sh4vLjL1j6YQvTPLTnOTUt+MDh
-/GK46aW9J2UXHM6TZkPSmV53Q7lfmM984sv3UXmj4uR8WtPz/HAOrwUZX/L5UuNwljS2BUkLMmSH
-V+8anjiOu6IuFaJeTO2Skj3L3A/LmmkVQOsamnvQwE69du/f3/t5P5af56z0fbBnaNijVvprd+RP
-+cGnZjTyg0tBwWBeiw94lvg1LfnegtbTfY1bb2s055jkbXdbtlUv51pJ3ea+DdzArCh99EtUt7Rf
-1nkwsgqTFL4b9rmGXqdbOpWx3N+uG29sgyX3O2xz00DM/Q7bvJG934GYNyYD8o7Jd+/GW3Grbrny
-9OeSEFh/a8YPUalVObya781E07DDyhcd0JbWo8XnaV/+cAMmFmLCu9nlc4mrz/yZ/MBVvsKztGau
-BixmLEQ80wAicOHwbLKxcIam/CXeAI4QCMRUAdZALN8UlQzekKpxCwTJVQzwixsNyZGQmn/Bj5f8
-TjmIS6ydz8O8HxKhPNWUhRV3FZtS1JuKNewFEzfUY+fQeon+zlqmZf1SLk4bF+7q2/G8/RovrXST
-WAei8UnQ6XY8J3SapJIoXyTRBFgqkCmI+cYVordvYL3UUphNdTxntWkAm4aXvHMrQFeld6OPbZ/t
-ko7nJKXv9JvlNuVwECJ4qMeF+U5kC9GxnCH2UcImdn76HDnUYvzYWZCpdBwnKTu37XDQRdsGon3S
-u2hEfVWsKQaz4WbuWE7upHYyrESG55xmx3LaFj2ax/pMLMnGbEumqzfSnuEsyYG/qHV54mZZaonW
-eYehH6FxueM50TP2JnM6fAJL0nmdU92lpSnXTOZyR/IowjrajNdnNdFybNClu5RwHG1lSz80Epbl
-dSwnOMqQ51WeejJRbRnruTy0k/DGWJ4R+xOY5hEQqDGfU9Oufp4nq05tmXn1nuMsm6Gin/bxNIW+
-Jvt1SPOzcfacsL9CnKVrQKU97TSvrcFz+5Z5SqrO61OZmB08xvf1bE1ZZVxCPpSKGdQncA8MJ2kb
-b5ZAs9srROdL+M4j3hjPaV7mqLN1oFzaqICYGskPfq0qZk/HcpLOdwM/10vp1Esn86HcL4WGoavA
-5KGGQYMqTRBoukkLXFqy05qSlmw0KSd7cWQspTl0yo+NAjWN6MSN/fAgMdE0PHK/AzXXDb3c70DN
-GznsyBuTAXnH5Lu3wMsFrL6TfQLUPGLX/HYgfYxRLS5cKfeTlf9Qqp6/AwwZoF9BzHXzrRLFsqyR
-LRv0HUE14bVeqTdMak/64FOWFxtEeDVm+3Vw+BSHyqRW4MCjtuIR7aK2O8dAnUuFJOI0ZOIQTaG5
-UGApkn2LLliRMAjfAugGmg2QOr5prTZUY8CP2XzVX1cBj3N+9HGYZsqCWggaGoSfZA==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
-l9/8SZzV/wBtC+WQ
- ]]>
-</i:pgf>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
- <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
- <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
- <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
- <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
- <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
- <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
- <!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
- <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
- <!ENTITY ns_svg "http://www.w3.org/2000/svg">
- <!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
-]>
-<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
- xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="287.498" height="307.15" viewBox="0 0 287.498 307.15"
- overflow="visible" enable-background="new 0 0 287.498 307.15" xml:space="preserve">
-<switch>
- <foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
- <i:pgfRef xlink:href="#adobe_illustrator_pgf">
- </i:pgfRef>
- </foreignObject>
- <g i:extraneous="self">
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="132.798,162.12 133.705,207.377 89.082,199.509 88.175,154.251 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="65.68,217.759 65.671,217.294 88.2,199.81 88.209,200.275 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="66.122,217.837 65.68,217.759 88.209,200.275 88.651,200.353 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M133.229,161.276l0.442,0.078l0.01,0.465l0.925,46.174l0.01,0.465l-0.442-0.078l-45.521-8.026
- l-0.442-0.078L88.2,199.81l-0.926-46.174l-0.01-0.465l0.442,0.078L133.229,161.276z M133.705,207.377l-0.907-45.258
- l-44.623-7.868l0.907,45.258L133.705,207.377"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="65.671,217.294 64.745,171.121 87.274,153.636 88.2,199.81 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.745,171.121 64.735,170.656 87.265,153.171 87.274,153.636 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="65.646,171.736 88.175,154.251 89.082,199.509 66.553,216.994 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="66.553,216.994 65.646,171.736 88.175,154.251 89.082,199.509 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.735,170.656 87.265,153.171 87.707,153.25 65.178,170.734 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="111.644,225.864 66.122,217.837 88.651,200.353 134.173,208.379 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="66.553,216.994 89.082,199.509 133.705,207.377 111.176,224.862 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="111.176,224.862 66.553,216.994 89.082,199.509 133.705,207.377 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="112.086,225.942 111.644,225.864 134.173,208.379 134.615,208.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="112.076,225.477 134.605,207.993 134.615,208.458 112.086,225.942 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="110.269,179.604 111.176,224.862 66.553,216.994 65.646,171.736 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="65.646,171.736 88.175,154.251 132.798,162.12 110.269,179.604 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.269,179.604 65.646,171.736 88.175,154.251 132.798,162.12 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="110.269,179.604 132.798,162.12 133.705,207.377 111.176,224.862 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.176,224.862 110.269,179.604 132.798,162.12 133.705,207.377 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.178,170.734 87.707,153.25 133.229,161.276 110.699,178.76 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.15,179.303 133.681,161.819 134.605,207.993 112.076,225.477 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.699,178.76 133.229,161.276 133.671,161.354 111.142,178.838 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.142,178.838 133.671,161.354 133.681,161.819 111.15,179.303 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M110.699,178.76l0.442,0.078l0.009,0.465l0.926,46.174l0.01,0.465l-0.442-0.078l-45.521-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.174l-0.01-0.465l0.442,0.078L110.699,178.76z M111.176,224.862l-0.907-45.258
- l-44.623-7.868l0.907,45.258L111.176,224.862"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M286.112,189.068l0.441,0.078l0.01,0.465l0.926,46.182l0.009,0.457l-0.442-0.078l-45.521-8.026
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.01-0.465l0.442,0.078L286.112,189.068z M286.588,235.169l-0.907-45.258
- l-44.623-7.868l0.907,45.258L286.588,235.169"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="285.681,189.912 286.588,235.169 241.965,227.301 241.058,182.043 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="218.563,245.551 218.554,245.094 241.083,227.61 241.092,228.067 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="219.005,245.629 218.563,245.551 241.092,228.067 241.534,228.145 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="218.554,245.094 217.628,198.913 240.157,181.428 241.083,227.61 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.628,198.913 217.618,198.448 240.147,180.963 240.157,181.428 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="218.528,199.528 241.058,182.043 241.965,227.301 219.436,244.786 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="219.436,244.786 218.528,199.528 241.058,182.043 241.965,227.301 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.618,198.448 240.147,180.963 240.59,181.042 218.061,198.526 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="264.526,253.656 219.005,245.629 241.534,228.145 287.056,236.171 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="264.059,252.654 219.436,244.786 241.965,227.301 286.588,235.169 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="219.436,244.786 241.965,227.301 286.588,235.169 264.059,252.654 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="264.969,253.734 264.526,253.656 287.056,236.171 287.498,236.25 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.959,253.277 287.489,235.792 287.498,236.25 264.969,253.734 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="263.151,207.396 264.059,252.654 219.436,244.786 218.528,199.528 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="218.528,199.528 241.058,182.043 285.681,189.912 263.151,207.396 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.151,207.396 218.528,199.528 241.058,182.043 285.681,189.912 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.059,252.654 263.151,207.396 285.681,189.912 286.588,235.169 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="263.151,207.396 285.681,189.912 286.588,235.169 264.059,252.654 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.061,198.526 240.59,181.042 286.112,189.068 263.582,206.552 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.033,207.095 286.563,189.611 287.489,235.792 264.959,253.277 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.582,206.552 286.112,189.068 286.554,189.146 264.024,206.63 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="264.024,206.63 286.554,189.146 286.563,189.611 264.033,207.095 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M263.582,206.552l0.442,0.078l0.009,0.465l0.926,46.182l0.01,0.457l-0.442-0.078l-45.521-8.026
- l-0.442-0.078l-0.009-0.457l-0.926-46.182l-0.01-0.465l0.442,0.078L263.582,206.552z M264.059,252.654l-0.907-45.258
- l-44.623-7.868l0.907,45.258L264.059,252.654"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M234.993,179.986l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L234.993,179.986z M235.468,226.08l-0.906-45.251
- l-44.622-7.867l0.907,45.25L235.468,226.08"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="234.562,180.829 235.468,226.08 190.847,218.211 189.939,172.961 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="167.443,236.461 167.435,236.004 189.964,218.52 189.974,218.977 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="167.894,236.541 167.443,236.461 189.974,218.977 190.423,219.056 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="167.435,236.004 166.509,189.823 189.038,172.338 189.964,218.52 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.509,189.823 166.5,189.366 189.029,171.881 189.038,172.338 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="168.317,235.696 167.41,190.445 189.939,172.961 190.847,218.211 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="167.41,190.445 189.939,172.961 190.847,218.211 168.317,235.696 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.5,189.366 189.029,171.881 189.479,171.96 166.949,189.445 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="213.408,244.566 167.894,236.541 190.423,219.056 235.938,227.082 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="212.938,243.564 168.317,235.696 190.847,218.211 235.468,226.08 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="168.317,235.696 190.847,218.211 235.468,226.08 212.938,243.564 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="213.857,244.645 213.408,244.566 235.938,227.082 236.387,227.161 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="213.849,244.188 236.378,226.704 236.387,227.161 213.857,244.645 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="212.031,198.313 212.938,243.564 168.317,235.696 167.41,190.445 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.031,198.313 167.41,190.445 189.939,172.961 234.562,180.829 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="167.41,190.445 189.939,172.961 234.562,180.829 212.031,198.313 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.938,243.564 212.031,198.313 234.562,180.829 235.468,226.08 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="212.031,198.313 234.562,180.829 235.468,226.08 212.938,243.564 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.949,189.445 189.479,171.96 234.993,179.986 212.464,197.47 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.923,198.006 235.452,180.522 236.378,226.704 213.849,244.188 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.464,197.47 234.993,179.986 235.443,180.065 212.913,197.549 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.913,197.549 235.443,180.065 235.452,180.522 212.923,198.006 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M212.464,197.47l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L212.464,197.47z M212.938,243.564l-0.907-45.251
- l-44.621-7.868l0.907,45.251L212.938,243.564"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M183.61,170.627l0.442,0.078l0.01,0.465l0.925,46.174l0.01,0.465l-0.442-0.078l-45.521-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.174l-0.01-0.465l0.442,0.078L183.61,170.627z M184.087,216.729l-0.907-45.258
- l-44.623-7.868l0.907,45.258L184.087,216.729"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="183.18,171.471 184.087,216.729 139.464,208.861 138.557,163.603 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="116.062,227.111 116.052,226.646 138.582,209.162 138.591,209.626 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="116.504,227.189 116.062,227.111 138.591,209.626 139.033,209.705 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="116.052,226.646 115.127,180.472 137.656,162.988 138.582,209.162 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.127,180.472 115.117,180.007 137.646,162.523 137.656,162.988 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="116.027,181.087 138.557,163.603 139.464,208.861 116.935,226.345 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="116.935,226.345 116.027,181.087 138.557,163.603 139.464,208.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.117,180.007 137.646,162.523 138.089,162.601 115.56,180.085 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="162.025,235.215 116.504,227.189 139.033,209.705 184.555,217.731 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="161.558,234.213 116.935,226.345 139.464,208.861 184.087,216.729 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="116.935,226.345 139.464,208.861 184.087,216.729 161.558,234.213 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="162.468,235.293 162.025,235.215 184.555,217.731 184.997,217.809 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="162.458,234.829 184.987,217.344 184.997,217.809 162.468,235.293 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="160.65,188.956 161.558,234.213 116.935,226.345 116.027,181.087 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="116.027,181.087 138.557,163.603 183.18,171.471 160.65,188.956 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.65,188.956 116.027,181.087 138.557,163.603 183.18,171.471 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.558,234.213 160.65,188.956 183.18,171.471 184.087,216.729 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="160.65,188.956 183.18,171.471 184.087,216.729 161.558,234.213 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.56,180.085 138.089,162.601 183.61,170.627 161.081,188.112 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.532,188.655 184.063,171.17 184.987,217.344 162.458,234.829 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.081,188.112 183.61,170.627 184.053,170.706 161.523,188.19 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.523,188.19 184.053,170.706 184.063,171.17 161.532,188.655 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M161.081,188.112l0.442,0.078l0.009,0.465l0.926,46.174l0.01,0.465l-0.442-0.078l-45.521-8.026
- l-0.442-0.078l-0.01-0.465l-0.925-46.174l-0.01-0.465l0.442,0.078L161.081,188.112z M161.558,234.213l-0.907-45.258
- l-44.623-7.868l0.907,45.258L161.558,234.213"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="131.799,111.125 132.706,156.375 88.083,148.507 87.176,103.256 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.681,166.757 64.672,166.299 87.201,148.815 87.21,149.273 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.122,166.834 64.681,166.757 87.21,149.273 87.652,149.35 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.672,166.299 63.746,120.119 86.275,102.634 87.201,148.815 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.646,120.741 87.176,103.256 88.083,148.507 65.554,165.992 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="65.554,165.992 64.646,120.741 87.176,103.256 88.083,148.507 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="133.606,156.998 132.681,110.817 132.672,110.359 132.229,110.282 86.708,102.254
- 86.266,102.177 86.275,102.634 86.302,103.935 87.176,103.256 131.799,111.125 132.706,156.375 88.083,148.507 87.208,149.186
- 87.21,149.273 87.652,149.35 133.174,157.377 133.616,157.456 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.746,120.119 63.736,119.661 86.266,102.177 86.275,102.634 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.736,119.661 86.266,102.177 86.708,102.254 64.179,119.739 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.645,174.862 65.122,166.834 87.652,149.35 133.174,157.377 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.554,165.992 88.083,148.507 132.706,156.375 110.177,173.86 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="110.177,173.86 65.554,165.992 88.083,148.507 132.706,156.375 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="111.087,174.94 110.645,174.862 133.174,157.377 133.616,157.456 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="111.077,174.482 133.606,156.998 133.616,157.456 111.087,174.94 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.27,128.609 64.646,120.741 87.176,103.256 131.799,111.125 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.177,173.86 109.27,128.609 131.799,111.125 132.706,156.375 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="64.646,120.741 87.176,103.256 131.799,111.125 109.27,128.609 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="109.27,128.609 131.799,111.125 132.706,156.375 110.177,173.86 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M109.7,127.766l0.442,0.077l0.009,0.458l0.926,46.181l0.01,0.458l-0.442-0.078l-45.522-8.027
- l-0.441-0.077l-0.009-0.458l-0.926-46.181l-0.01-0.458l0.442,0.078L109.7,127.766z M110.177,173.86l-0.907-45.251
- l-44.623-7.868l0.907,45.251L110.177,173.86"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="109.27,128.609 110.177,173.86 65.554,165.992 64.646,120.741 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.179,119.739 86.708,102.254 132.229,110.282 109.7,127.766 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.151,128.301 132.681,110.817 133.606,156.998 111.077,174.482 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.7,127.766 132.229,110.282 132.672,110.359 110.143,127.843 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.143,127.843 132.672,110.359 132.681,110.817 110.151,128.301 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="284.682,138.917 285.589,184.167 240.966,176.299 240.059,131.048 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.563,194.549 217.554,194.091 240.084,176.607 240.093,177.065 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.005,194.626 217.563,194.549 240.093,177.065 240.535,177.142 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M285.112,138.074l0.442,0.077l0.009,0.458l0.926,46.181l0.01,0.458l-0.442-0.078l-45.521-8.027
- l-0.442-0.077l-0.009-0.458l-0.926-46.181l-0.01-0.458l0.442,0.078L285.112,138.074z M285.589,184.167l-0.907-45.251
- l-44.623-7.868l0.907,45.251L285.589,184.167"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.554,194.091 216.629,147.911 239.158,130.426 240.084,176.607 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.629,147.911 216.619,147.453 239.148,129.968 239.158,130.426 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.529,148.533 240.059,131.048 240.966,176.299 218.437,193.784 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="218.437,193.784 217.529,148.533 240.059,131.048 240.966,176.299 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.619,147.453 239.148,129.968 239.591,130.046 217.062,147.531 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.527,202.654 218.005,194.626 240.535,177.142 286.057,185.169 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="263.06,201.652 218.437,193.784 240.966,176.299 285.589,184.167 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.437,193.784 240.966,176.299 285.589,184.167 263.06,201.652 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.97,202.732 263.527,202.654 286.057,185.169 286.499,185.248 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.96,202.274 286.489,184.79 286.499,185.248 263.97,202.732 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="217.529,148.533 240.059,131.048 284.682,138.917 262.152,156.401 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.152,156.401 217.529,148.533 240.059,131.048 284.682,138.917 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.06,201.652 262.152,156.401 284.682,138.917 285.589,184.167 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="262.152,156.401 284.682,138.917 285.589,184.167 263.06,201.652 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M262.583,155.558l0.442,0.077l0.009,0.458l0.926,46.181l0.01,0.458l-0.442-0.078l-45.522-8.027
- l-0.441-0.077l-0.01-0.458l-0.925-46.181l-0.01-0.458l0.442,0.078L262.583,155.558z M263.06,201.652l-0.907-45.251
- l-44.623-7.868l0.907,45.251L263.06,201.652"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="262.152,156.401 263.06,201.652 218.437,193.784 217.529,148.533 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.062,147.531 239.591,130.046 285.112,138.074 262.583,155.558 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.034,156.093 285.563,138.609 286.489,184.79 263.96,202.274 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.583,155.558 285.112,138.074 285.555,138.151 263.025,155.635 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.025,155.635 285.555,138.151 285.563,138.609 263.034,156.093 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="233.562,129.828 234.469,175.085 189.847,167.218 188.939,121.959 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.444,185.467 166.435,185.002 188.965,167.518 188.974,167.983 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.886,185.545 166.444,185.467 188.974,167.983 189.415,168.061 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M233.993,128.984l0.441,0.078l0.009,0.457l0.926,46.182l0.01,0.465l-0.441-0.078l-45.522-8.026
- l-0.441-0.078l-0.009-0.465l-0.926-46.182l-0.01-0.457l0.441,0.077L233.993,128.984z M234.469,175.085l-0.907-45.258
- l-44.622-7.868l0.907,45.259L234.469,175.085"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.435,185.002 165.509,138.821 188.039,121.336 188.965,167.518 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.509,138.821 165.5,138.364 188.029,120.879 188.039,121.336 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="167.317,184.702 166.41,139.444 188.939,121.959 189.847,167.218 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.41,139.444 188.939,121.959 189.847,167.218 167.317,184.703 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.5,138.364 188.029,120.879 188.471,120.957 165.941,138.441 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.408,193.572 166.886,185.545 189.415,168.061 234.938,176.087 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="167.317,184.703 189.847,167.218 234.469,175.085 211.939,192.57 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="211.939,192.57 167.317,184.702 189.847,167.218 234.469,175.085 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.85,193.65 212.408,193.572 234.938,176.087 235.379,176.166 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.84,193.185 235.369,175.701 235.379,176.166 212.85,193.65 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="211.032,147.312 211.939,192.57 167.317,184.702 166.41,139.444 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.032,147.312 166.41,139.444 188.939,121.959 233.562,129.828 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="166.41,139.444 188.939,121.959 233.562,129.828 211.032,147.312 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.939,192.57 211.032,147.312 233.562,129.828 234.469,175.085 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="211.032,147.312 233.562,129.828 234.469,175.085 211.939,192.57 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.941,138.441 188.471,120.957 233.993,128.984 211.464,146.468 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.914,147.003 234.443,129.519 235.369,175.701 212.84,193.185 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.464,146.468 233.993,128.984 234.435,129.062 211.905,146.546 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.905,146.546 234.435,129.062 234.443,129.519 211.914,147.003 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M211.464,146.468l0.441,0.078l0.009,0.457l0.926,46.182l0.01,0.465l-0.441-0.078l-45.522-8.026
- l-0.441-0.078l-0.01-0.465l-0.926-46.182l-0.009-0.457l0.441,0.077L211.464,146.468z M211.939,192.57l-0.907-45.258
- l-44.622-7.868l0.907,45.259L211.939,192.57"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="182.181,120.476 183.088,165.727 138.465,157.859 137.558,112.608 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.063,176.109 115.054,175.651 137.583,158.167 137.592,158.625 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.504,176.186 115.063,176.109 137.592,158.625 138.034,158.702 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.054,175.651 114.128,129.47 136.657,111.986 137.583,158.167 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="115.028,130.092 137.558,112.608 138.465,157.859 115.936,175.343 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.026,184.213 115.504,176.186 138.034,158.702 183.556,166.729 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.936,175.343 138.465,157.859 183.088,165.727 160.559,183.211 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="160.559,183.211 115.936,175.343 138.465,157.859 183.088,165.727 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="183.988,166.349 183.063,120.168 183.054,119.71 182.611,119.633 137.09,111.606
- 136.647,111.529 136.657,111.986 136.683,113.288 137.558,112.608 182.181,120.476 183.088,165.727 182.122,166.476
- 183.556,166.729 183.998,166.807 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.128,129.47 114.118,129.012 136.647,111.529 136.657,111.986 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="115.936,175.343 115.028,130.092 137.558,112.608 138.465,157.859 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.118,129.012 136.647,111.529 137.09,111.606 114.561,129.09 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.469,184.292 161.026,184.213 183.556,166.729 183.998,166.807 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.459,183.833 183.988,166.349 183.998,166.807 161.469,184.292 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="159.651,137.96 160.559,183.211 115.936,175.343 115.028,130.092 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.651,137.96 115.028,130.092 137.558,112.608 182.181,120.476 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="115.028,130.092 137.558,112.608 182.181,120.476 159.651,137.96 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.559,183.211 159.651,137.96 182.181,120.476 183.088,165.727 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="159.651,137.96 182.181,120.476 183.088,165.727 160.559,183.211 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.561,129.09 137.09,111.606 182.611,119.633 160.082,137.118 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.533,137.653 183.063,120.168 183.988,166.349 161.459,183.833 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.082,137.118 182.611,119.633 183.054,119.71 160.524,137.195 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.524,137.195 183.054,119.71 183.063,120.168 160.533,137.653 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M160.082,137.118l0.442,0.077l0.009,0.458l0.926,46.181l0.01,0.458l-0.442-0.078l-45.522-8.027
- l-0.441-0.077l-0.009-0.458l-0.926-46.181l-0.01-0.458l0.442,0.078L160.082,137.118z M160.559,183.211l-0.907-45.251
- l-44.623-7.868l0.907,45.251L160.559,183.211"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="131.385,59.942 132.292,105.201 87.67,97.333 86.763,52.074 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.268,115.582 64.258,115.117 86.787,97.632 86.797,98.098 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.709,115.66 64.268,115.582 86.797,98.098 87.238,98.175 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M131.816,59.098l0.45,0.079l0.009,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.441,0.078L131.816,59.098z M132.292,105.201l-0.907-45.259
- l-44.622-7.868l0.907,45.259L132.292,105.201"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.258,115.117 63.332,68.944 85.861,51.459 86.787,97.632 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.332,68.944 63.323,68.478 85.853,50.994 85.861,51.459 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="65.141,114.817 64.233,69.558 86.763,52.074 87.67,97.333 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="64.233,69.558 86.763,52.074 87.67,97.333 65.141,114.817 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.323,68.478 85.853,50.994 86.294,51.072 63.765,68.556 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.231,123.687 64.709,115.66 87.238,98.175 132.761,106.203 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="65.141,114.817 87.67,97.333 132.292,105.201 109.763,122.685 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="109.763,122.685 65.141,114.817 87.67,97.333 132.292,105.201 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="110.681,123.766 110.231,123.687 132.761,106.203 133.21,106.282 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="110.672,123.3 133.201,105.816 133.21,106.282 110.681,123.766 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="108.855,77.426 64.233,69.558 86.763,52.074 131.385,59.942 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="64.233,69.558 86.763,52.074 131.385,59.942 108.855,77.426 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.763,122.685 108.855,77.426 131.385,59.942 132.292,105.201 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="108.855,77.426 131.385,59.942 132.292,105.201 109.763,122.685 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M109.287,76.583l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.441-0.078l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.441,0.078L109.287,76.583z M109.763,122.685l-0.907-45.259
- l-44.622-7.868l0.907,45.259L109.763,122.685"/>
- </g>
- <g>
- <path fill="#628CBE" d="M108.855,77.426l-44.622-7.868l0.907,45.259l44.622,7.868L108.855,77.426z M64.233,69.558
- L64.233,69.558L64.233,69.558L64.233,69.558z"/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.765,68.556 86.294,51.072 131.816,59.098 109.287,76.583 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.746,77.127 132.275,59.643 133.201,105.816 110.672,123.3 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.287,76.583 131.816,59.098 132.267,59.177 109.736,76.662 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.736,76.662 132.267,59.177 132.275,59.643 109.746,77.127 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="284.269,87.742 285.175,132.993 240.553,125.125 239.646,79.874 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.151,143.375 217.142,142.917 239.671,125.432 239.681,125.89 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.592,143.452 217.151,143.375 239.681,125.89 240.121,125.967 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M284.7,86.89l0.449,0.08l0.01,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.523-8.027l-0.44-0.077
- l-0.01-0.458l-0.926-46.181l-0.009-0.466l0.44,0.078L284.7,86.89z M285.175,132.993l-0.906-45.251l-44.623-7.868l0.907,45.251
- L285.175,132.993"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.142,142.917 216.216,96.736 238.745,79.251 239.671,125.432 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.216,96.736 216.207,96.27 238.736,78.786 238.745,79.251 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="217.116,97.358 239.646,79.874 240.553,125.125 218.023,142.609 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="218.023,142.609 217.116,97.358 239.646,79.874 240.553,125.125 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.207,96.27 238.736,78.786 239.177,78.864 216.647,96.348 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.115,151.479 217.592,143.452 240.121,125.967 285.645,133.995 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="262.646,150.476 218.023,142.609 240.553,125.125 285.175,132.993 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="218.023,142.609 240.553,125.125 285.175,132.993 262.646,150.476 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="263.564,151.558 263.115,151.479 285.645,133.995 286.094,134.074 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="263.556,151.101 286.085,133.617 286.094,134.074 263.564,151.558 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="261.738,105.226 217.116,97.358 239.646,79.874 284.269,87.742 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.646,150.476 261.738,105.226 284.269,87.742 285.175,132.993 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="217.116,97.358 239.646,79.874 284.269,87.742 261.738,105.226 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="261.738,105.226 262.646,150.476 218.023,142.609 217.116,97.358 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="261.738,105.226 284.269,87.742 285.175,132.993 262.646,150.476 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.647,96.348 239.177,78.864 284.7,86.89 262.171,104.375 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.63,104.919 285.159,87.435 286.085,133.617 263.556,151.101 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.171,104.375 284.7,86.89 285.149,86.97 262.62,104.455 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.62,104.455 285.149,86.97 285.159,87.435 262.63,104.919 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M262.171,104.375l0.449,0.08l0.01,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.523-8.027
- l-0.44-0.077l-0.01-0.458l-0.926-46.181l-0.009-0.466l0.44,0.078L262.171,104.375z M262.646,150.476l-0.907-45.25
- l-44.622-7.868l0.907,45.251L262.646,150.476"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M233.58,77.809l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L233.58,77.809z M234.055,123.903l-0.906-45.251
- l-44.622-7.867l0.907,45.25L234.055,123.903"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="233.148,78.652 234.055,123.903 189.434,116.035 188.526,70.785 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.03,134.285 166.021,133.828 188.551,116.343 188.561,116.8 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.48,134.364 166.03,134.285 188.561,116.8 189.01,116.879 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="166.021,133.828 165.096,87.646 187.625,70.162 188.551,116.343 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.096,87.646 165.087,87.189 187.616,69.705 187.625,70.162 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.997,88.269 188.526,70.785 189.434,116.035 166.904,133.519 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="166.904,133.519 165.997,88.269 188.526,70.785 189.434,116.035 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.087,87.189 187.616,69.705 188.065,69.784 165.536,87.268 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.995,142.389 166.48,134.364 189.01,116.879 234.524,124.905 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="166.904,133.519 189.434,116.035 234.055,123.903 211.525,141.387 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="211.525,141.387 166.904,133.519 189.434,116.035 234.055,123.903 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="212.444,142.468 211.995,142.389 234.524,124.905 234.974,124.984 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="212.436,142.011 234.965,124.527 234.974,124.984 212.444,142.468 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="210.618,96.136 211.525,141.387 166.904,133.519 165.997,88.269 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="210.618,96.136 165.997,88.269 188.526,70.785 233.148,78.652 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="165.997,88.269 188.526,70.785 233.148,78.652 210.618,96.136 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.525,141.387 210.618,96.136 233.148,78.652 234.055,123.903 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="210.618,96.136 233.148,78.652 234.055,123.903 211.525,141.387 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.536,87.268 188.065,69.784 233.58,77.809 211.051,95.293 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.51,95.83 234.039,78.345 234.965,124.527 212.436,142.011 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.051,95.293 233.58,77.809 234.03,77.888 211.5,95.373 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.5,95.373 234.03,77.888 234.039,78.345 211.51,95.83 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M211.051,95.293l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L211.051,95.293z M211.525,141.387l-0.907-45.251
- l-44.621-7.867l0.907,45.25L211.525,141.387"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="181.768,69.301 182.674,114.551 138.053,106.683 137.146,61.433 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.649,124.932 114.64,124.476 137.169,106.992 137.179,107.448 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.1,125.012 114.649,124.932 137.179,107.448 137.629,107.528 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.613,133.038 115.1,125.012 137.629,107.528 183.143,115.553 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="115.523,124.167 138.053,106.683 182.674,114.551 160.145,132.036 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="160.145,132.036 115.523,124.167 138.053,106.683 182.674,114.551 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="183.584,115.176 182.658,68.994 182.648,68.529 182.198,68.449 136.685,60.423 136.234,60.344
- 136.243,60.81 137.169,106.992 137.177,107.363 138.053,106.683 137.146,61.433 181.768,69.301 182.674,114.551 181.709,115.3
- 183.143,115.553 183.593,115.632 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.64,124.476 113.714,78.294 136.243,60.81 137.169,106.992 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.714,78.294 113.705,77.829 136.234,60.344 136.243,60.81 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="114.616,78.917 137.146,61.433 138.053,106.683 115.523,124.167 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="115.523,124.167 114.616,78.917 137.146,61.433 138.053,106.683 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="113.705,77.829 136.234,60.344 136.685,60.423 114.155,77.908 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="161.063,133.117 160.613,133.038 183.143,115.553 183.593,115.632 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="161.055,132.661 183.584,115.176 183.593,115.632 161.063,133.117 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="159.237,86.786 160.145,132.036 115.523,124.167 114.616,78.917 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.237,86.786 114.616,78.917 137.146,61.433 181.768,69.301 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="114.616,78.917 137.146,61.433 181.768,69.301 159.237,86.786 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.145,132.036 159.237,86.786 181.768,69.301 182.674,114.551 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="159.237,86.786 181.768,69.301 182.674,114.551 160.145,132.036 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.155,77.908 136.685,60.423 182.198,68.449 159.669,85.933 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.129,86.478 182.658,68.994 183.584,115.176 161.055,132.661 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.669,85.933 182.198,68.449 182.648,68.529 160.119,86.013 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.119,86.013 182.648,68.529 182.658,68.994 160.129,86.478 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M159.669,85.933l0.45,0.08l0.01,0.465l0.926,46.183l0.009,0.456l-0.45-0.079l-45.514-8.025l-0.45-0.08
- l-0.01-0.456l-0.926-46.182l-0.009-0.466l0.45,0.079L159.669,85.933z M160.145,132.036l-0.907-45.25l-44.621-7.868l0.907,45.25
- L160.145,132.036"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="130.386,8.948 131.293,54.199 86.67,46.331 85.763,1.08 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.268,64.58 63.259,64.123 85.788,46.638 85.797,47.096 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="63.709,64.658 63.268,64.58 85.797,47.096 86.239,47.173 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.259,64.123 62.333,17.941 84.862,0.457 85.788,46.638 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="63.233,18.564 85.763,1.08 86.67,46.331 64.141,63.815 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="64.141,63.815 63.233,18.564 85.763,1.08 86.67,46.331 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.231,72.685 63.709,64.658 86.239,47.173 131.761,55.201 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="64.141,63.815 86.67,46.331 131.293,54.199 108.764,71.683 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="108.764,71.683 64.141,63.815 86.67,46.331 131.293,54.199 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="132.193,54.821 131.268,8.64 131.259,8.183 130.816,8.104 85.295,0.078 84.853,0 84.862,0.457
- 84.888,1.759 85.763,1.08 130.386,8.948 131.293,54.199 130.327,54.948 131.761,55.201 132.203,55.279 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="62.333,17.941 62.323,17.484 84.853,0 84.862,0.457 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="62.323,17.484 84.853,0 85.295,0.078 62.766,17.562 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="109.673,72.763 109.231,72.685 131.761,55.201 132.203,55.279 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="109.664,72.305 132.193,54.821 132.203,55.279 109.673,72.763 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="107.856,26.432 108.764,71.683 64.141,63.815 63.233,18.564 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="107.856,26.432 63.233,18.564 85.763,1.08 130.386,8.948 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="63.233,18.564 85.763,1.08 130.386,8.948 107.856,26.432 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="108.764,71.683 107.856,26.432 130.386,8.948 131.293,54.199 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="107.856,26.432 130.386,8.948 131.293,54.199 108.764,71.683 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="62.766,17.562 85.295,0.078 130.816,8.104 108.287,25.589 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="108.738,26.124 131.268,8.64 132.193,54.821 109.664,72.305 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="108.287,25.589 130.816,8.104 131.259,8.183 108.729,25.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="108.729,25.667 131.259,8.183 131.268,8.64 108.738,26.124 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M108.287,25.589l0.442,0.078l0.009,0.457l0.926,46.181l0.009,0.458l-0.441-0.078l-45.522-8.027
- l-0.441-0.078l-0.009-0.457l-0.926-46.181l-0.01-0.457l0.442,0.078L108.287,25.589z M108.764,71.683l-0.907-45.251
- l-44.623-7.868l0.907,45.251L108.764,71.683"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M283.7,35.896l0.441,0.078l0.01,0.457l0.926,46.181l0.009,0.457l-0.442-0.077l-45.521-8.027
- l-0.441-0.077l-0.009-0.458l-0.926-46.181l-0.01-0.458l0.441,0.078L283.7,35.896z M284.176,81.991l-0.907-45.251l-44.622-7.868
- l0.907,45.25L284.176,81.991"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="283.269,36.74 284.176,81.991 239.554,74.123 238.646,28.872 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.151,92.373 216.142,91.915 238.672,74.43 238.681,74.888 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="216.593,92.45 216.151,92.373 238.681,74.888 239.122,74.965 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.142,91.915 215.216,45.734 237.746,28.25 238.672,74.43 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="215.216,45.734 215.207,45.277 237.736,27.792 237.746,28.25 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="217.024,91.607 216.117,46.356 238.646,28.872 239.554,74.123 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="216.117,46.356 238.646,28.872 239.554,74.123 217.024,91.607 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="215.207,45.277 237.736,27.792 238.178,27.87 215.648,45.354 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.114,100.477 216.593,92.45 239.122,74.965 284.644,82.993 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="261.646,99.475 217.024,91.607 239.554,74.123 284.176,81.991 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="217.024,91.607 239.554,74.123 284.176,81.991 261.646,99.475 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="262.557,100.554 262.114,100.477 284.644,82.993 285.086,83.07 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="262.547,100.097 285.077,82.613 285.086,83.07 262.557,100.554 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="260.739,54.224 261.646,99.475 217.024,91.607 216.117,46.356 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="216.117,46.356 238.646,28.872 283.269,36.74 260.739,54.224 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="260.739,54.224 216.117,46.356 238.646,28.872 283.269,36.74 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="261.646,99.475 260.739,54.224 283.269,36.74 284.176,81.991 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="260.739,54.224 283.269,36.74 284.176,81.991 261.646,99.475 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="215.648,45.354 238.178,27.87 283.7,35.896 261.17,53.381 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="261.621,53.917 284.151,36.432 285.077,82.613 262.547,100.097 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="261.17,53.381 283.7,35.896 284.142,35.975 261.612,53.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="261.612,53.458 284.142,35.975 284.151,36.432 261.621,53.917 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M261.17,53.381l0.442,0.077l0.009,0.458l0.926,46.181l0.01,0.457l-0.442-0.077l-45.521-8.027
- l-0.441-0.077l-0.01-0.458l-0.926-46.181l-0.009-0.457l0.441,0.077L261.17,53.381z M261.646,99.475l-0.907-45.251
- l-44.622-7.868l0.907,45.251L261.646,99.475"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="232.149,27.65 233.057,72.91 188.434,65.041 187.526,19.782 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.031,83.291 165.021,82.826 187.552,65.341 187.561,65.806 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.481,83.371 165.031,83.291 187.561,65.806 188.011,65.886 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M232.58,26.807l0.441,0.078l0.01,0.465l0.925,46.173l0.01,0.465l-0.441-0.077l-45.514-8.025l-0.45-0.08
- l-0.009-0.465l-0.926-46.173l-0.01-0.465l0.45,0.079L232.58,26.807z M233.057,72.91l-0.907-45.259l-44.623-7.868l0.907,45.258
- L233.057,72.91"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="165.021,82.826 164.097,36.652 186.626,19.168 187.552,65.341 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="164.097,36.652 164.087,36.187 186.616,18.703 186.626,19.168 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="164.997,37.267 187.526,19.782 188.434,65.041 165.904,82.525 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="165.904,82.525 164.997,37.267 187.526,19.782 188.434,65.041 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="164.087,36.187 186.616,18.703 187.066,18.782 164.537,36.266 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="210.995,91.396 165.481,83.371 188.011,65.886 233.524,73.912 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="210.527,90.394 165.904,82.525 188.434,65.041 233.057,72.91 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="165.904,82.525 188.434,65.041 233.057,72.91 210.527,90.394 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="211.437,91.473 210.995,91.396 233.524,73.912 233.966,73.989 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="211.427,91.008 233.956,73.524 233.966,73.989 211.437,91.473 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="210.527,90.394 209.62,45.135 232.149,27.65 233.057,72.91 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="164.997,37.267 187.526,19.782 232.149,27.65 209.62,45.135 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="209.62,45.135 164.997,37.267 187.526,19.782 232.149,27.65 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="209.62,45.135 210.527,90.394 165.904,82.525 164.997,37.267 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="209.62,45.135 232.149,27.65 233.057,72.91 210.527,90.394 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="164.537,36.266 187.066,18.782 232.58,26.807 210.051,44.292 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="210.501,44.834 233.031,27.351 233.956,73.524 211.427,91.008 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="210.051,44.292 232.58,26.807 233.021,26.885 210.492,44.37 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="210.492,44.37 233.021,26.885 233.031,27.351 210.501,44.834 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M210.051,44.292l0.441,0.078l0.009,0.465l0.926,46.174l0.01,0.465l-0.441-0.077l-45.514-8.025
- l-0.45-0.08l-0.01-0.465l-0.925-46.173l-0.01-0.465l0.45,0.079L210.051,44.292z M210.527,90.394l-0.907-45.259l-44.623-7.869
- l0.907,45.258L210.527,90.394"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M181.199,17.456l0.441,0.078l0.009,0.457l0.926,46.181l0.01,0.458l-0.441-0.078l-45.522-8.027
- l-0.441-0.077l-0.009-0.458l-0.926-46.181l-0.01-0.457l0.441,0.078L181.199,17.456z M181.675,63.549l-0.907-45.25
- l-44.623-7.868l0.907,45.25L181.675,63.549"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="180.768,18.299 181.675,63.549 137.052,55.681 136.145,10.431 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.65,73.931 113.641,73.473 136.171,55.989 136.18,56.447 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.091,74.008 113.65,73.931 136.18,56.447 136.621,56.524 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.641,73.473 112.715,27.292 135.245,9.808 136.171,55.989 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="112.715,27.292 112.706,26.835 135.235,9.351 135.245,9.808 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="113.615,27.915 136.145,10.431 137.052,55.681 114.522,73.166 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="114.522,73.166 113.615,27.915 136.145,10.431 137.052,55.681 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="112.706,26.835 135.235,9.351 135.677,9.429 113.147,26.913 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="159.614,82.036 114.091,74.008 136.621,56.524 182.144,64.551 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="159.146,81.034 114.522,73.166 137.052,55.681 181.675,63.549 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="114.522,73.166 137.052,55.681 181.675,63.549 159.146,81.034 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="160.056,82.113 159.614,82.036 182.144,64.551 182.585,64.629 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="160.046,81.656 182.575,64.171 182.585,64.629 160.056,82.113 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="158.238,35.783 113.615,27.915 136.145,10.431 180.768,18.299 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="113.615,27.915 136.145,10.431 180.768,18.299 158.238,35.783 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="159.146,81.034 158.238,35.783 180.768,18.299 181.675,63.549 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="158.238,35.783 180.768,18.299 181.675,63.549 159.146,81.034 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M158.67,34.94l0.441,0.078l0.009,0.457l0.926,46.181l0.01,0.457l-0.441-0.077l-45.523-8.027
- l-0.44-0.077l-0.01-0.458l-0.926-46.181l-0.009-0.457l0.441,0.078L158.67,34.94z M159.146,81.034l-0.907-45.25l-44.623-7.868
- l0.907,45.25L159.146,81.034"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="113.615,27.915 114.522,73.166 159.146,81.034 158.238,35.783 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="113.147,26.913 135.677,9.429 181.199,17.456 158.67,34.94 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="159.12,35.475 181.649,17.991 182.575,64.171 160.046,81.656 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="158.67,34.94 181.199,17.456 181.641,17.534 159.111,35.018 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="159.111,35.018 181.641,17.534 181.649,17.991 159.12,35.475 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M101.874,188.302l0.449,0.08l0.01,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.458l-0.926-46.181l-0.009-0.466l0.449,0.079L101.874,188.302z M102.357,234.406l-0.907-45.259
- l-44.63-7.869l0.907,45.259L102.357,234.406"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="101.45,189.147 102.357,234.406 57.728,226.537 56.82,181.278 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="34.325,244.787 34.315,244.329 56.845,226.844 56.854,227.302 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="34.774,244.866 34.325,244.787 56.854,227.302 57.304,227.381 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="34.315,244.329 33.39,198.148 55.919,180.664 56.845,226.844 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.39,198.148 33.381,197.682 55.91,180.198 55.919,180.664 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="34.291,198.762 56.82,181.278 57.728,226.537 35.198,244.021 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="35.198,244.021 34.291,198.762 56.82,181.278 57.728,226.537 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.381,197.682 55.91,180.198 56.359,180.277 33.83,197.761 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="80.289,252.891 34.774,244.866 57.304,227.381 102.818,235.407 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="35.198,244.021 57.728,226.537 102.357,234.406 79.828,251.89 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="79.828,251.89 35.198,244.021 57.728,226.537 102.357,234.406 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="80.738,252.97 80.289,252.891 102.818,235.407 103.268,235.486 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="80.729,252.513 103.259,235.029 103.268,235.486 80.738,252.97 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.921,206.631 34.291,198.762 56.82,181.278 101.45,189.147 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="34.291,198.762 56.82,181.278 101.45,189.147 78.921,206.631 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.828,251.89 78.921,206.631 101.45,189.147 102.357,234.406 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="78.921,206.631 101.45,189.147 102.357,234.406 79.828,251.89 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M79.345,205.787l0.449,0.079l0.01,0.466l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.458l-0.926-46.181l-0.009-0.466l0.449,0.079L79.345,205.787z M79.828,251.89l-0.907-45.259l-44.63-7.869
- l0.907,45.259L79.828,251.89"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="78.921,206.631 79.828,251.89 35.198,244.021 34.291,198.762 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.83,197.761 56.359,180.277 101.874,188.302 79.345,205.787 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.804,206.332 102.333,188.847 103.259,235.029 80.729,252.513 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.345,205.787 101.874,188.302 102.323,188.382 79.794,205.866 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.794,205.866 102.323,188.382 102.333,188.847 79.804,206.332 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M254.757,216.103l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L254.757,216.103z M255.24,262.199l-0.907-45.251
- l-44.63-7.869l0.907,45.25L255.24,262.199"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="254.333,216.948 255.24,262.199 210.61,254.329 209.703,209.079 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="187.207,272.579 187.198,272.122 209.728,254.637 209.737,255.094 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="187.657,272.658 187.207,272.579 209.737,255.094 210.187,255.173 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="187.198,272.122 186.272,225.94 208.802,208.456 209.728,254.637 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.272,225.94 186.264,225.483 208.793,207.999 208.802,208.456 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="187.174,226.562 209.703,209.079 210.61,254.329 188.081,271.813 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="188.081,271.813 187.174,226.562 209.703,209.079 210.61,254.329 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.264,225.483 208.793,207.999 209.242,208.078 186.713,225.562 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="233.172,280.683 187.657,272.658 210.187,255.173 255.701,263.199 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="188.081,271.813 210.61,254.329 255.24,262.199 232.711,279.682 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="232.711,279.682 188.081,271.813 210.61,254.329 255.24,262.199 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="233.621,280.762 233.172,280.683 255.701,263.199 256.15,263.278 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="233.612,280.305 256.142,262.821 256.15,263.278 233.621,280.762 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="231.804,234.432 232.711,279.682 188.081,271.813 187.174,226.562 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.804,234.432 187.174,226.562 209.703,209.079 254.333,216.948 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="187.174,226.562 209.703,209.079 254.333,216.948 231.804,234.432 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.711,279.682 231.804,234.432 254.333,216.948 255.24,262.199 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="231.804,234.432 254.333,216.948 255.24,262.199 232.711,279.682 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.713,225.562 209.242,208.078 254.757,216.103 232.228,233.587 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.687,234.124 255.216,216.639 256.142,262.821 233.612,280.305 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.228,233.587 254.757,216.103 255.207,216.182 232.677,233.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.677,233.667 255.207,216.182 255.216,216.639 232.687,234.124 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M232.228,233.587l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L232.228,233.587z M232.711,279.682l-0.907-45.25
- l-44.63-7.87l0.907,45.251L232.711,279.682"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="203.213,207.858 204.12,253.117 159.498,245.249 158.591,199.99 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="136.087,263.498 136.078,263.032 158.607,245.547 158.617,246.013 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="136.537,263.577 136.087,263.498 158.617,246.013 159.066,246.092 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M203.645,207.015l0.441,0.078l0.01,0.465l0.926,46.173l0.009,0.466l-0.441-0.078l-45.522-8.026
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L203.645,207.015z M204.12,253.117l-0.907-45.259
- l-44.622-7.868l0.907,45.259L204.12,253.117"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="136.078,263.032 135.152,216.859 157.682,199.375 158.607,245.547 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.152,216.859 135.144,216.393 157.673,198.909 157.682,199.375 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="136.062,217.474 158.591,199.99 159.498,245.249 136.969,262.733 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="136.969,262.733 136.062,217.474 158.591,199.99 159.498,245.249 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.144,216.393 157.673,198.909 158.122,198.988 135.593,216.472 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="182.06,271.603 136.537,263.577 159.066,246.092 204.589,254.119 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="181.591,270.601 136.969,262.733 159.498,245.249 204.12,253.117 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="136.969,262.733 159.498,245.249 204.12,253.117 181.591,270.601 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="182.501,271.681 182.06,271.603 204.589,254.119 205.03,254.197 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="182.492,271.215 205.021,253.731 205.03,254.197 182.501,271.681 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="180.684,225.342 181.591,270.601 136.969,262.733 136.062,217.474 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.684,225.342 136.062,217.474 158.591,199.99 203.213,207.858 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="136.062,217.474 158.591,199.99 203.213,207.858 180.684,225.342 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.591,270.601 180.684,225.342 203.213,207.858 204.12,253.117 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="180.684,225.342 203.213,207.858 204.12,253.117 181.591,270.601 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.593,216.472 158.122,198.988 203.645,207.015 181.115,224.5 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.566,225.042 204.096,207.558 205.021,253.731 182.492,271.215 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.115,224.5 203.645,207.015 204.086,207.093 181.557,224.578 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.557,224.578 204.086,207.093 204.096,207.558 181.566,225.042 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M181.115,224.5l0.441,0.078l0.01,0.465l0.926,46.173l0.009,0.466l-0.441-0.078l-45.522-8.026
- l-0.45-0.079l-0.009-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L181.115,224.5z M181.591,270.601l-0.907-45.259
- l-44.622-7.868l0.907,45.259L181.591,270.601"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M152.256,197.662l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L152.256,197.662z M152.739,243.757l-0.907-45.251
- l-44.63-7.869l0.907,45.25L152.739,243.757"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="151.832,198.506 152.739,243.757 108.109,235.887 107.202,190.637 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="84.706,254.137 84.697,253.68 107.227,236.196 107.236,236.653 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="85.156,254.216 84.706,254.137 107.236,236.653 107.686,236.732 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="84.697,253.68 83.771,207.499 106.301,190.014 107.227,236.196 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.771,207.499 83.763,207.042 106.292,189.557 106.301,190.014 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="84.673,208.121 107.202,190.637 108.109,235.887 85.579,253.372 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="85.58,253.372 84.673,208.121 107.202,190.637 108.109,235.887 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.763,207.042 106.292,189.557 106.741,189.636 84.212,207.121 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="130.671,262.242 85.156,254.216 107.686,236.732 153.2,244.757 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="85.579,253.372 108.109,235.887 152.739,243.757 130.21,261.242 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="130.21,261.241 85.58,253.372 108.109,235.887 152.739,243.757 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="131.12,262.321 130.671,262.242 153.2,244.757 153.649,244.836 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="131.111,261.864 153.641,244.379 153.649,244.836 131.12,262.321 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.303,215.991 84.673,208.121 107.202,190.637 151.832,198.506 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.21,261.242 129.303,215.991 151.832,198.506 152.739,243.757 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="84.673,208.121 107.202,190.637 151.832,198.506 129.303,215.991 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="129.303,215.991 130.21,261.241 85.58,253.372 84.673,208.121 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="129.303,215.991 151.832,198.506 152.739,243.757 130.21,261.241 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.212,207.121 106.741,189.636 152.256,197.662 129.727,215.146 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.186,215.682 152.715,198.198 153.641,244.379 131.111,261.864 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.727,215.146 152.256,197.662 152.706,197.741 130.176,215.225 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.176,215.225 152.706,197.741 152.715,198.198 130.186,215.682 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M129.727,215.146l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L129.727,215.146z M130.21,261.242l-0.907-45.251
- l-44.63-7.87l0.906,45.251L130.21,261.242"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M100.875,137.308l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L100.875,137.308z M101.358,183.404l-0.907-45.251
- l-44.63-7.869l0.907,45.25L101.358,183.404"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="100.451,138.153 101.358,183.404 56.729,175.534 55.821,130.284 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.325,193.784 33.316,193.327 55.846,175.842 55.855,176.299 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.775,193.863 33.325,193.784 55.855,176.299 56.305,176.378 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.316,193.327 32.391,147.145 54.92,129.661 55.846,175.842 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.391,147.145 32.382,146.688 54.911,129.204 54.92,129.661 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="33.292,147.768 55.821,130.284 56.729,175.534 34.199,193.018 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="34.199,193.018 33.292,147.767 55.821,130.284 56.729,175.534 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.382,146.688 54.911,129.204 55.36,129.283 32.831,146.767 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.29,201.888 33.775,193.863 56.305,176.378 101.819,184.404 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="34.199,193.018 56.729,175.534 101.358,183.404 78.829,200.888 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="78.829,200.887 34.199,193.018 56.729,175.534 101.358,183.404 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.739,201.967 79.29,201.888 101.819,184.404 102.269,184.483 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.73,201.51 102.26,184.026 102.269,184.483 79.739,201.967 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="77.922,155.637 78.829,200.887 34.199,193.018 33.292,147.767 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.922,155.637 33.292,147.768 55.821,130.284 100.451,138.153 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="33.292,147.767 55.821,130.284 100.451,138.153 77.922,155.637 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="77.922,155.637 100.451,138.153 101.358,183.404 78.829,200.887 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.829,200.888 77.922,155.637 100.451,138.153 101.358,183.404 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.831,146.767 55.36,129.283 100.875,137.308 78.346,154.792 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.805,155.329 101.334,137.844 102.26,184.026 79.73,201.51 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.346,154.792 100.875,137.308 101.325,137.387 78.795,154.872 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.795,154.872 101.325,137.387 101.334,137.844 78.805,155.329 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M78.346,154.792l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L78.346,154.792z M78.829,200.888l-0.907-45.251
- l-44.63-7.869l0.907,45.25L78.829,200.888"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M253.758,165.1l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L253.758,165.1z M254.241,211.204l-0.907-45.259
- l-44.63-7.869l0.907,45.259L254.241,211.204"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="253.334,165.945 254.241,211.204 209.611,203.334 208.704,158.076 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.208,221.583 186.199,221.119 208.729,203.634 208.738,204.1 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.658,221.664 186.208,221.583 208.738,204.1 209.188,204.179 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.199,221.119 185.273,174.946 207.803,157.461 208.729,203.634 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.273,174.946 185.265,174.48 207.794,156.996 207.803,157.461 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="187.082,220.819 186.175,175.56 208.704,158.076 209.611,203.334 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="186.175,175.56 208.704,158.076 209.611,203.334 187.082,220.819 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.265,174.48 207.794,156.996 208.243,157.075 185.714,174.559 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.173,229.689 186.658,221.664 209.188,204.179 254.702,212.205 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="231.712,228.688 187.082,220.819 209.611,203.334 254.241,211.204 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="187.082,220.819 209.611,203.334 254.241,211.204 231.712,228.688 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.622,229.768 232.173,229.689 254.702,212.205 255.151,212.284 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.613,229.302 255.143,211.818 255.151,212.284 232.622,229.768 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.805,183.429 186.175,175.56 208.704,158.076 253.334,165.945 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="186.175,175.56 208.704,158.076 253.334,165.945 230.805,183.429 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.712,228.688 230.805,183.429 253.334,165.945 254.241,211.204 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="230.805,183.429 253.334,165.945 254.241,211.204 231.712,228.688 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M231.229,182.584l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.45-0.08l-0.009-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L231.229,182.584z M231.712,228.688l-0.907-45.259
- l-44.63-7.869l0.907,45.259L231.712,228.688"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="230.805,183.429 231.712,228.688 187.082,220.819 186.175,175.56 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.714,174.559 208.243,157.075 253.758,165.1 231.229,182.584 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.688,183.129 254.217,165.645 255.143,211.818 232.613,229.302 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.229,182.584 253.758,165.1 254.207,165.179 231.678,182.664 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.678,182.664 254.207,165.179 254.217,165.645 231.688,183.129 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M202.638,156.01l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L202.638,156.01z M203.121,202.114l-0.907-45.259
- l-44.63-7.869l0.907,45.259L203.121,202.114"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="202.214,156.855 203.121,202.114 158.491,194.245 157.584,148.986 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.089,212.494 135.079,212.029 157.608,194.544 157.618,195.009 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.538,212.574 135.089,212.494 157.618,195.009 158.067,195.089 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.079,212.029 134.153,165.856 156.683,148.372 157.608,194.544 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.153,165.856 134.145,165.39 156.674,147.906 156.683,148.372 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="135.055,166.47 157.584,148.986 158.491,194.245 135.962,211.729 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="135.962,211.729 135.055,166.47 157.584,148.986 158.491,194.245 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.145,165.39 156.674,147.906 157.123,147.985 134.594,165.469 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.053,220.599 135.538,212.574 158.067,195.089 203.582,203.115 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.962,211.729 158.491,194.245 203.121,202.114 180.592,219.598 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="180.592,219.598 135.962,211.729 158.491,194.245 203.121,202.114 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.502,220.678 181.053,220.599 203.582,203.115 204.031,203.194 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.493,220.212 204.022,202.728 204.031,203.194 181.502,220.678 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="179.685,174.339 180.592,219.598 135.962,211.729 135.055,166.47 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.685,174.339 135.055,166.47 157.584,148.986 202.214,156.855 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="135.055,166.47 157.584,148.986 202.214,156.855 179.685,174.339 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.592,219.598 179.685,174.339 202.214,156.855 203.121,202.114 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="179.685,174.339 202.214,156.855 203.121,202.114 180.592,219.598 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.594,165.469 157.123,147.985 202.638,156.01 180.108,173.495 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.567,174.04 203.097,156.555 204.022,202.728 181.493,220.212 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.108,173.495 202.638,156.01 203.087,156.089 180.558,173.574 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.558,173.574 203.087,156.089 203.097,156.555 180.567,174.04 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M180.108,173.495l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L180.108,173.495z M180.592,219.598l-0.907-45.259
- l-44.63-7.869l0.907,45.259L180.592,219.598"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M151.257,146.659l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L151.257,146.659z M151.74,192.762l-0.907-45.259
- l-44.63-7.869l0.907,45.259L151.74,192.762"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="150.833,147.503 151.74,192.762 107.11,184.893 106.203,139.634 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.708,203.142 83.698,202.677 106.228,185.193 106.237,185.659 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.157,203.222 83.708,203.142 106.237,185.659 106.687,185.738 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.698,202.677 82.772,156.504 105.302,139.02 106.228,185.193 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.772,156.504 82.764,156.039 105.293,138.554 105.302,139.02 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.674,157.119 106.203,139.634 107.11,184.893 84.581,202.377 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="84.581,202.377 83.674,157.119 106.203,139.634 107.11,184.893 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.764,156.039 105.293,138.554 105.742,138.633 83.213,156.118 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.672,211.248 84.157,203.222 106.687,185.738 152.201,193.763 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="129.211,210.247 84.581,202.377 107.11,184.893 151.74,192.762 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.581,202.377 107.11,184.893 151.74,192.762 129.211,210.247 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="130.121,211.327 129.672,211.248 152.201,193.763 152.65,193.842 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="130.112,210.861 152.642,193.376 152.65,193.842 130.121,211.327 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="128.304,164.988 129.211,210.247 84.581,202.377 83.674,157.119 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.304,164.988 83.674,157.119 106.203,139.634 150.833,147.503 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="83.674,157.119 106.203,139.634 150.833,147.503 128.304,164.988 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.211,210.247 128.304,164.988 150.833,147.503 151.74,192.762 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="128.304,164.988 150.833,147.503 151.74,192.762 129.211,210.247 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.213,156.118 105.742,138.633 151.257,146.659 128.728,164.143 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.187,164.688 151.716,147.204 152.642,193.376 130.112,210.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.728,164.143 151.257,146.659 151.706,146.739 129.177,164.222 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.177,164.222 151.706,146.739 151.716,147.204 129.187,164.688 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M128.728,164.143l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L128.728,164.143z M129.211,210.247l-0.907-45.259
- l-44.63-7.869l0.907,45.259L129.211,210.247"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="100.038,86.979 100.944,132.229 56.314,124.36 55.407,79.109 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.911,142.609 32.902,142.152 55.432,124.667 55.441,125.125 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.361,142.689 32.911,142.609 55.441,125.125 55.891,125.205 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.876,150.714 33.361,142.689 55.891,125.205 101.405,133.23 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="33.785,141.844 56.314,124.36 100.944,132.229 78.415,149.713 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="78.415,149.713 33.785,141.844 56.314,124.36 100.944,132.229 "/>
- </g>
- <g>
- <polygon fill="#6272C3" points="101.846,132.852 100.92,86.67 100.91,86.205 100.461,86.125 54.946,78.1 54.497,78.021
- 54.506,78.487 55.432,124.667 55.439,125.039 56.314,124.36 55.407,79.109 100.038,86.979 100.944,132.229 99.979,132.978
- 101.405,133.23 101.854,133.309 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.902,142.152 31.977,95.971 54.506,78.487 55.432,124.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.977,95.971 31.968,95.505 54.497,78.021 54.506,78.487 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="33.785,141.844 32.878,96.593 55.407,79.109 56.314,124.36 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="32.878,96.593 55.407,79.109 56.314,124.36 33.785,141.844 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="31.968,95.505 54.497,78.021 54.946,78.1 32.417,95.584 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="79.325,150.793 78.876,150.714 101.405,133.23 101.854,133.309 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="79.316,150.336 101.846,132.852 101.854,133.309 79.325,150.793 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="77.508,104.463 78.415,149.713 33.785,141.844 32.878,96.593 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.508,104.463 32.878,96.593 55.407,79.109 100.038,86.979 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="32.878,96.593 55.407,79.109 100.038,86.979 77.508,104.463 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="77.508,104.463 100.038,86.979 100.944,132.229 78.415,149.713 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.415,149.713 77.508,104.463 100.038,86.979 100.944,132.229 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.417,95.584 54.946,78.1 100.461,86.125 77.932,103.61 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.391,104.155 100.92,86.67 101.846,132.852 79.316,150.336 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.932,103.61 100.461,86.125 100.91,86.205 78.381,103.689 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.381,103.689 100.91,86.205 100.92,86.67 78.391,104.155 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M77.932,103.61l0.449,0.079l0.01,0.466l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.08l-0.009-0.457l-0.926-46.181l-0.009-0.466l0.449,0.079L77.932,103.61z M78.415,149.713l-0.907-45.25l-44.63-7.87
- l0.907,45.251L78.415,149.713"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M253.344,113.926l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L253.344,113.926z M253.827,160.021l-0.907-45.25
- l-44.63-7.869l0.907,45.25L253.827,160.021"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="252.92,114.771 253.827,160.021 209.197,152.152 208.29,106.902 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.794,170.402 185.785,169.945 208.314,152.46 208.324,152.917 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.244,170.481 185.794,170.402 208.324,152.917 208.773,152.997 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.785,169.945 184.859,123.763 207.389,106.279 208.314,152.46 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.859,123.763 184.851,123.306 207.38,105.822 207.389,106.279 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="186.668,169.636 185.761,124.386 208.29,106.902 209.197,152.152 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="185.761,124.386 208.29,106.902 209.197,152.152 186.668,169.636 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="184.851,123.306 207.38,105.822 207.829,105.901 185.3,123.385 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.759,178.506 186.244,170.481 208.773,152.997 254.288,161.022 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="231.298,177.505 186.668,169.636 209.197,152.152 253.827,160.021 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="186.668,169.636 209.197,152.152 253.827,160.021 231.298,177.505 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="232.208,178.585 231.759,178.506 254.288,161.022 254.737,161.101 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="232.199,178.128 254.729,160.644 254.737,161.101 232.208,178.585 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="230.391,132.255 231.298,177.505 186.668,169.636 185.761,124.386 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.391,132.255 185.761,124.386 208.29,106.902 252.92,114.771 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="185.761,124.386 208.29,106.902 252.92,114.771 230.391,132.255 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.298,177.505 230.391,132.255 252.92,114.771 253.827,160.021 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="230.391,132.255 252.92,114.771 253.827,160.021 231.298,177.505 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.3,123.385 207.829,105.901 253.344,113.926 230.814,131.411 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.273,131.947 253.803,114.462 254.729,160.644 232.199,178.128 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.814,131.411 253.344,113.926 253.794,114.005 231.264,131.49 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.264,131.49 253.794,114.005 253.803,114.462 231.273,131.947 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M230.814,131.411l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L230.814,131.411z M231.298,177.505l-0.907-45.25
- l-44.63-7.869l0.907,45.25L231.298,177.505"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M202.224,104.836l0.45,0.079l0.009,0.457l0.926,46.182l0.01,0.465l-0.45-0.079l-45.514-8.025
- l-0.442-0.078l-0.009-0.465l-0.926-46.182l-0.01-0.457l0.442,0.078L202.224,104.836z M202.708,150.939l-0.907-45.258
- l-44.623-7.868l0.907,45.258L202.708,150.939"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="201.801,105.681 202.708,150.939 158.085,143.071 157.178,97.813 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.683,161.321 134.673,160.856 157.203,143.372 157.212,143.836 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.124,161.399 134.683,161.321 157.212,143.836 157.654,143.915 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.673,160.856 133.747,114.674 156.277,97.19 157.203,143.372 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.747,114.674 133.738,114.217 156.268,96.733 156.277,97.19 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="134.648,115.297 157.178,97.813 158.085,143.071 135.556,160.555 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.639,169.424 135.124,161.399 157.654,143.915 203.168,151.94 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="135.556,160.555 158.085,143.071 202.708,150.939 180.179,168.423 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="135.556,160.555 134.648,115.297 157.178,97.813 158.085,143.071 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="133.738,114.217 156.268,96.733 156.71,96.811 134.181,114.295 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="180.179,168.423 135.556,160.555 158.085,143.071 202.708,150.939 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="181.089,169.503 180.639,169.424 203.168,151.94 203.618,152.019 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="181.079,169.039 203.608,151.554 203.618,152.019 181.089,169.503 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="179.271,123.166 180.179,168.423 135.556,160.555 134.648,115.297 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="134.648,115.297 157.178,97.813 201.801,105.681 179.271,123.166 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.271,123.166 134.648,115.297 157.178,97.813 201.801,105.681 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.179,168.423 179.271,123.166 201.801,105.681 202.708,150.939 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="179.271,123.166 201.801,105.681 202.708,150.939 180.179,168.423 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.181,114.295 156.71,96.811 202.224,104.836 179.694,122.321 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.153,122.857 202.683,105.373 203.608,151.554 181.079,169.039 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.694,122.321 202.224,104.836 202.674,104.916 180.145,122.4 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.145,122.4 202.674,104.916 202.683,105.373 180.153,122.857 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M179.694,122.321l0.45,0.079l0.009,0.457l0.926,46.182l0.01,0.465l-0.45-0.079l-45.515-8.025
- l-0.441-0.078l-0.01-0.465l-0.926-46.182l-0.009-0.457l0.442,0.078L179.694,122.321z M180.179,168.423l-0.907-45.258
- l-44.623-7.868l0.907,45.258L180.179,168.423"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M150.843,95.485l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L150.843,95.485z M151.326,141.58l-0.907-45.25l-44.63-7.869
- l0.907,45.25L151.326,141.58"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="150.419,96.33 151.326,141.58 106.696,133.71 105.789,88.46 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.293,151.96 83.284,151.503 105.813,134.019 105.823,134.476 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.743,152.04 83.293,151.96 105.823,134.476 106.272,134.555 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.284,151.503 82.358,105.322 104.888,87.837 105.813,134.019 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.358,105.322 82.35,104.865 104.879,87.38 104.888,87.837 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="83.26,105.945 105.789,88.46 106.696,133.71 84.167,151.195 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="84.167,151.195 83.26,105.945 105.789,88.46 106.696,133.71 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.35,104.865 104.879,87.38 105.328,87.459 82.799,104.944 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.258,160.065 83.743,152.04 106.272,134.555 151.787,142.581 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="128.797,159.064 84.167,151.195 106.696,133.71 151.326,141.58 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="84.167,151.195 106.696,133.71 151.326,141.58 128.797,159.064 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="129.707,160.144 129.258,160.065 151.787,142.581 152.236,142.66 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="129.698,159.687 152.228,142.203 152.236,142.66 129.707,160.144 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="127.89,113.814 128.797,159.064 84.167,151.195 83.26,105.945 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="127.89,113.814 83.26,105.945 105.789,88.46 150.419,96.33 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="83.26,105.945 105.789,88.46 150.419,96.33 127.89,113.814 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.797,159.064 127.89,113.814 150.419,96.33 151.326,141.58 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="127.89,113.814 150.419,96.33 151.326,141.58 128.797,159.064 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.799,104.944 105.328,87.459 150.843,95.485 128.313,112.969 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.772,113.505 151.302,96.021 152.228,142.203 129.698,159.687 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.313,112.969 150.843,95.485 151.293,95.564 128.763,113.048 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.763,113.048 151.293,95.564 151.302,96.021 128.772,113.505 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M128.313,112.969l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L128.313,112.969z M128.797,159.064l-0.907-45.25
- l-44.63-7.869l0.907,45.25L128.797,159.064"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="99.038,35.976 99.945,81.227 55.315,73.357 54.408,28.106 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.913,91.615 31.903,91.15 54.433,73.666 54.442,74.131 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.362,91.695 31.913,91.615 54.442,74.131 54.892,74.21 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M99.462,35.132l0.449,0.079l0.01,0.457l0.926,46.181l0.009,0.466l-0.449-0.079L54.892,74.21
- l-0.449-0.079l-0.01-0.466l-0.926-46.182l-0.009-0.457l0.449,0.08L99.462,35.132z M99.945,81.227l-0.907-45.251l-44.63-7.87
- l0.907,45.25L99.945,81.227"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.903,91.15 30.978,44.968 53.507,27.484 54.433,73.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="30.978,44.968 30.969,44.511 53.498,27.027 53.507,27.484 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="31.879,45.59 54.408,28.106 55.315,73.357 32.786,90.841 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="32.786,90.841 31.879,45.59 54.408,28.106 55.315,73.357 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="30.969,44.511 53.498,27.027 53.947,27.106 31.418,44.59 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="77.877,99.72 32.362,91.695 54.892,74.21 100.406,82.236 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="77.416,98.711 32.786,90.841 55.315,73.357 99.945,81.227 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="32.786,90.841 55.315,73.357 99.945,81.227 77.416,98.711 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="78.326,99.799 77.877,99.72 100.406,82.236 100.855,82.315 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="78.317,99.333 100.847,81.849 100.855,82.315 78.326,99.799 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="76.509,53.46 77.416,98.711 32.786,90.841 31.879,45.59 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="76.509,53.46 31.879,45.59 54.408,28.106 99.038,35.976 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="31.879,45.59 54.408,28.106 99.038,35.976 76.509,53.46 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="76.509,53.46 99.038,35.976 99.945,81.227 77.416,98.711 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="77.416,98.711 76.509,53.46 99.038,35.976 99.945,81.227 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="31.418,44.59 53.947,27.106 99.462,35.132 76.933,52.616 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="77.392,53.152 99.921,35.668 100.847,81.849 78.317,99.333 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="76.933,52.616 99.462,35.132 99.911,35.211 77.382,52.695 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="77.382,52.695 99.911,35.211 99.921,35.668 77.392,53.152 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M76.933,52.616l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.182l-0.009-0.457l0.449,0.079L76.933,52.616z M77.416,98.711L76.509,53.46l-44.63-7.87
- l0.907,45.251L77.416,98.711"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="251.921,63.768 252.828,109.027 208.198,101.158 207.291,55.899 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.796,119.408 184.786,118.942 207.315,101.458 207.325,101.923 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.245,119.487 184.796,119.408 207.325,101.923 207.774,102.002 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M252.345,62.923l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L252.345,62.923z M252.828,109.027l-0.907-45.259
- l-44.63-7.869l0.907,45.259L252.828,109.027"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.786,118.942 183.86,72.769 206.39,55.285 207.315,101.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="183.86,72.769 183.852,72.303 206.381,54.819 206.39,55.285 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="184.762,73.383 207.291,55.899 208.198,101.158 185.669,118.642 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="185.669,118.642 184.762,73.383 207.291,55.899 208.198,101.158 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="183.852,72.303 206.381,54.819 206.83,54.898 184.301,72.382 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="230.76,127.512 185.245,119.487 207.774,102.002 253.289,110.028 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="185.669,118.642 208.198,101.158 252.828,109.027 230.299,126.511 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="230.299,126.511 185.669,118.642 208.198,101.158 252.828,109.027 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="231.209,127.591 230.76,127.512 253.289,110.028 253.738,110.107 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="231.2,127.125 253.729,109.641 253.738,110.107 231.209,127.591 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="229.392,81.252 184.762,73.383 207.291,55.899 251.921,63.768 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="184.762,73.383 207.291,55.899 251.921,63.768 229.392,81.252 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="230.299,126.511 229.392,81.252 251.921,63.768 252.828,109.027 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="229.392,81.252 251.921,63.768 252.828,109.027 230.299,126.511 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M229.815,80.408l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L229.815,80.408z M230.299,126.511l-0.907-45.259
- l-44.63-7.869l0.907,45.259L230.299,126.511"/>
- </g>
- <g>
- <path fill="#628CBE" d="M229.392,81.252l-44.63-7.869l0.907,45.259l44.63,7.869L229.392,81.252z M184.762,73.383
- L184.762,73.383L184.762,73.383L184.762,73.383z"/>
- </g>
- <g>
- <polygon fill="#7684CA" points="184.301,72.382 206.83,54.898 252.345,62.923 229.815,80.408 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="230.274,80.953 252.804,63.468 253.729,109.641 231.2,127.125 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="229.815,80.408 252.345,62.923 252.794,63.003 230.265,80.487 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="230.265,80.487 252.794,63.003 252.804,63.468 230.274,80.953 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M201.225,53.833l0.45,0.08l0.009,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L201.225,53.833z M201.708,99.937l-0.907-45.259
- l-44.622-7.868l0.907,45.259L201.708,99.937"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="200.801,54.678 201.708,99.937 157.086,92.069 156.179,46.81 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.676,110.318 133.666,109.852 156.195,92.368 156.205,92.833 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.125,110.397 133.676,110.318 156.205,92.833 156.654,92.913 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.666,109.852 132.74,63.679 155.27,46.195 156.195,92.368 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="132.74,63.679 132.731,63.213 155.261,45.729 155.27,46.195 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="133.649,64.294 156.179,46.81 157.086,92.069 134.557,109.553 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="134.557,109.553 133.649,64.294 156.179,46.81 157.086,92.069 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="132.731,63.213 155.261,45.729 155.71,45.808 133.181,63.292 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="179.64,118.422 134.125,110.397 156.654,92.913 202.169,100.938 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="134.557,109.553 157.086,92.069 201.708,99.937 179.179,117.421 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="179.179,117.421 134.557,109.553 157.086,92.069 201.708,99.937 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="180.089,118.501 179.64,118.422 202.169,100.938 202.618,101.017 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="180.08,118.036 202.609,100.551 202.618,101.017 180.089,118.501 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="178.271,72.163 179.179,117.421 134.557,109.553 133.649,64.294 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="178.271,72.163 133.649,64.294 156.179,46.81 200.801,54.678 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="133.649,64.294 156.179,46.81 200.801,54.678 178.271,72.163 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="179.179,117.421 178.271,72.163 200.801,54.678 201.708,99.937 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="178.271,72.163 200.801,54.678 201.708,99.937 179.179,117.421 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="133.181,63.292 155.71,45.808 201.225,53.833 178.695,71.318 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="179.154,71.863 201.684,54.378 202.609,100.551 180.08,118.036 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="178.695,71.318 201.225,53.833 201.675,53.914 179.145,71.398 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="179.145,71.398 201.675,53.914 201.684,54.378 179.154,71.863 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M178.695,71.318l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L178.695,71.318z M179.179,117.421l-0.907-45.259
- l-44.622-7.868l0.907,45.259L179.179,117.421"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="149.42,45.327 150.327,90.585 105.697,82.716 104.79,37.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.294,100.966 82.285,100.5 104.814,83.016 104.824,83.482 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="82.744,101.045 82.294,100.966 104.824,83.482 105.273,83.561 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M149.844,44.482l0.45,0.08l0.009,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.465l0.449,0.08L149.844,44.482z M150.327,90.585l-0.907-45.259l-44.63-7.869
- l0.907,45.259L150.327,90.585"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.285,100.5 81.359,54.328 103.889,36.843 104.814,83.016 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="81.359,54.328 81.351,53.862 103.88,36.377 103.889,36.843 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="83.168,100.201 82.261,54.942 104.79,37.458 105.697,82.716 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="82.261,54.942 104.79,37.458 105.697,82.716 83.168,100.201 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="81.351,53.862 103.88,36.377 104.329,36.457 81.8,53.941 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.259,109.071 82.744,101.045 105.273,83.561 150.788,91.586 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="83.168,100.201 105.697,82.716 150.327,90.585 127.798,108.07 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="127.798,108.07 83.168,100.201 105.697,82.716 150.327,90.585 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="128.708,109.15 128.259,109.071 150.788,91.586 151.237,91.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="128.699,108.684 151.229,91.2 151.237,91.666 128.708,109.15 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="126.891,62.811 127.798,108.07 83.168,100.201 82.261,54.942 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="82.261,54.942 104.79,37.458 149.42,45.327 126.891,62.811 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="126.891,62.811 82.261,54.942 104.79,37.458 149.42,45.327 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="127.798,108.07 126.891,62.811 149.42,45.327 150.327,90.585 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="126.891,62.811 149.42,45.327 150.327,90.585 127.798,108.07 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="81.8,53.941 104.329,36.457 149.844,44.482 127.314,61.966 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="127.773,62.511 150.303,45.027 151.229,91.2 128.699,108.684 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="127.314,61.966 149.844,44.482 150.294,44.562 127.764,62.046 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="127.764,62.046 150.294,44.562 150.303,45.027 127.773,62.511 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M127.314,61.966l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L127.314,61.966z M127.798,108.07l-0.907-45.259
- l-44.63-7.869l0.907,45.259L127.798,108.07"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="70.48,215.535 71.388,260.786 26.758,252.916 25.851,207.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="3.355,271.173 3.346,270.708 25.875,253.224 25.885,253.689 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="3.806,271.253 3.355,271.173 25.885,253.689 26.335,253.769 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M70.904,214.69l0.45,0.08l0.01,0.457l0.926,46.181l0.009,0.466l-0.45-0.079l-45.514-8.025l-0.45-0.08
- l-0.01-0.465l-0.926-46.182l-0.009-0.457l0.45,0.079L70.904,214.69z M71.388,260.786l-0.907-45.251l-44.63-7.869l0.907,45.25
- L71.388,260.786"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="3.346,270.708 2.42,224.527 24.949,207.042 25.875,253.224 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.42,224.527 2.411,224.07 24.94,206.585 24.949,207.042 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="3.321,225.15 25.851,207.666 26.758,252.916 4.229,270.4 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="4.229,270.4 3.321,225.15 25.851,207.666 26.758,252.916 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.411,224.07 24.94,206.585 25.391,206.665 2.861,224.149 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="49.319,279.279 3.806,271.253 26.335,253.769 71.849,261.794 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="48.858,278.27 4.229,270.4 26.758,252.916 71.388,260.786 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="4.229,270.4 26.758,252.916 71.388,260.786 48.858,278.27 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="49.77,279.358 49.319,279.279 71.849,261.794 72.299,261.874 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="49.761,278.892 72.29,261.408 72.299,261.874 49.77,279.358 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.951,233.019 3.321,225.15 25.851,207.666 70.48,215.535 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="3.321,225.15 25.851,207.666 70.48,215.535 47.951,233.019 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.858,278.27 47.951,233.019 70.48,215.535 71.388,260.786 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="47.951,233.019 70.48,215.535 71.388,260.786 48.858,278.27 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M48.375,232.174l0.45,0.08l0.01,0.457l0.926,46.181l0.009,0.466l-0.45-0.079l-45.514-8.025l-0.45-0.08
- l-0.01-0.465L2.42,224.527l-0.009-0.457l0.45,0.079L48.375,232.174z M48.858,278.27l-0.907-45.251l-44.63-7.869l0.907,45.25
- L48.858,278.27"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="47.951,233.019 48.858,278.27 4.229,270.4 3.321,225.15 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.861,224.149 25.391,206.665 70.904,214.69 48.375,232.174 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.835,232.711 71.364,215.227 72.29,261.408 49.761,278.892 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.375,232.174 70.904,214.69 71.354,214.77 48.825,232.254 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.825,232.254 71.354,214.77 71.364,215.227 48.835,232.711 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="223.356,243.326 224.264,288.584 179.642,280.716 178.734,235.458 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="156.239,298.966 156.229,298.5 178.759,281.016 178.769,281.482 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="156.68,299.043 156.239,298.966 178.769,281.482 179.209,281.559 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M223.788,242.482l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.523-8.027
- l-0.44-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.44,0.078L223.788,242.482z M224.264,288.584l-0.907-45.259
- l-44.622-7.868l0.907,45.259L224.264,288.584"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="156.229,298.5 155.304,252.328 177.833,234.843 178.759,281.016 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.304,252.328 155.295,251.862 177.824,234.377 177.833,234.843 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="156.205,252.942 178.734,235.458 179.642,280.716 157.112,298.201 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="157.112,298.201 156.205,252.942 178.734,235.458 179.642,280.716 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.295,251.862 177.824,234.377 178.265,234.456 155.735,251.94 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="202.203,307.071 156.68,299.043 179.209,281.559 224.732,289.586 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="201.734,306.069 157.112,298.201 179.642,280.716 224.264,288.584 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="157.112,298.201 179.642,280.716 224.264,288.584 201.734,306.069 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="202.652,307.15 202.203,307.071 224.732,289.586 225.182,289.666 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="202.644,306.684 225.173,289.2 225.182,289.666 202.652,307.15 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="200.827,260.81 201.734,306.069 157.112,298.201 156.205,252.942 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="156.205,252.942 178.734,235.458 223.356,243.326 200.827,260.81 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.827,260.81 156.205,252.942 178.734,235.458 223.356,243.326 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.734,306.069 200.827,260.81 223.356,243.326 224.264,288.584 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="200.827,260.81 223.356,243.326 224.264,288.584 201.734,306.069 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.735,251.94 178.265,234.456 223.788,242.482 201.259,259.966 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.718,260.511 224.247,243.027 225.173,289.2 202.644,306.684 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.259,259.966 223.788,242.482 224.237,242.562 201.708,260.046 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.708,260.046 224.237,242.562 224.247,243.027 201.718,260.511 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M201.259,259.966l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.523-8.027
- l-0.44-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.44,0.078L201.259,259.966z M201.734,306.069l-0.907-45.259
- l-44.622-7.868l0.907,45.259L201.734,306.069"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="172.244,234.237 173.151,279.496 128.521,271.626 127.614,226.368 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="105.118,289.876 105.109,289.411 127.639,271.926 127.648,272.392 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="105.568,289.956 105.118,289.876 127.648,272.392 128.098,272.471 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M172.668,233.392l0.45,0.08l0.009,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L172.668,233.392z M173.151,279.496l-0.907-45.259
- l-44.63-7.869l0.907,45.259L173.151,279.496"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="105.109,289.411 104.184,243.238 126.713,225.753 127.639,271.926 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.184,243.238 104.175,242.772 126.704,225.288 126.713,225.753 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="105.085,243.852 127.614,226.368 128.521,271.626 105.992,289.111 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="105.992,289.111 105.085,243.852 127.614,226.368 128.521,271.626 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.175,242.772 126.704,225.288 127.153,225.367 104.624,242.851 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="151.083,297.981 105.568,289.956 128.098,272.471 173.612,280.497 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="150.622,296.98 105.992,289.111 128.521,271.626 173.151,279.496 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="105.992,289.111 128.521,271.626 173.151,279.496 150.622,296.98 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="151.532,298.06 151.083,297.981 173.612,280.497 174.062,280.576 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="151.523,297.594 174.053,280.11 174.062,280.576 151.532,298.06 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="149.715,251.721 150.622,296.98 105.992,289.111 105.085,243.852 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="105.085,243.852 127.614,226.368 172.244,234.237 149.715,251.721 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.715,251.721 105.085,243.852 127.614,226.368 172.244,234.237 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.622,296.98 149.715,251.721 172.244,234.237 173.151,279.496 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="149.715,251.721 172.244,234.237 173.151,279.496 150.622,296.98 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.624,242.851 127.153,225.367 172.668,233.392 150.139,250.876 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.598,251.421 173.127,233.937 174.053,280.11 151.523,297.594 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.139,250.876 172.668,233.392 173.118,233.472 150.588,250.957 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.588,250.957 173.118,233.472 173.127,233.937 150.598,251.421 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M150.139,250.876l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L150.139,250.876z M150.622,296.98l-0.907-45.259
- l-44.63-7.869l0.907,45.259L150.622,296.98"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M121.287,224.042l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.466l-0.926-46.183l-0.009-0.456l0.441,0.078L121.287,224.042z M121.771,270.136l-0.907-45.25
- l-44.63-7.869l0.907,45.25L121.771,270.136"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="120.863,224.886 121.771,270.136 77.141,262.267 76.233,217.017 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="53.737,280.525 53.729,280.06 76.258,262.576 76.268,263.042 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="54.18,280.603 53.737,280.525 76.268,263.042 76.709,263.119 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="53.729,280.06 52.803,233.877 75.332,216.393 76.258,262.576 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.803,233.877 52.794,233.421 75.323,215.937 75.332,216.393 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="53.704,234.501 76.233,217.017 77.141,262.267 54.61,279.75 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="54.61,279.75 53.704,234.501 76.233,217.017 77.141,262.267 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.794,233.421 75.323,215.937 75.765,216.015 53.235,233.5 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="99.702,288.63 54.18,280.603 76.709,263.119 122.231,271.146 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="99.241,287.621 54.61,279.75 77.141,262.267 121.771,270.136 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="54.61,279.75 77.141,262.267 121.771,270.136 99.241,287.621 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="100.151,288.709 99.702,288.63 122.231,271.146 122.681,271.225 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="100.143,288.244 122.672,270.759 122.681,271.225 100.151,288.709 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="98.334,242.371 99.241,287.621 54.61,279.75 53.704,234.501 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.334,242.371 53.704,234.501 76.233,217.017 120.863,224.886 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="53.704,234.501 76.233,217.017 120.863,224.886 98.334,242.371 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.241,287.621 98.334,242.371 120.863,224.886 121.771,270.136 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="98.334,242.371 120.863,224.886 121.771,270.136 99.241,287.621 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.235,233.5 75.765,216.015 121.287,224.042 98.758,241.526 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.217,242.062 121.746,224.578 122.672,270.759 100.143,288.244 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.758,241.526 121.287,224.042 121.737,224.121 99.207,241.605 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.207,241.605 121.737,224.121 121.746,224.578 99.217,242.062 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M98.758,241.526l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.926-46.183l-0.009-0.456l0.441,0.078L98.758,241.526z M99.241,287.621l-0.907-45.25
- l-44.63-7.869l0.906,45.249L99.241,287.621"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M69.905,163.687l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.441,0.078L69.905,163.687z M70.381,209.79l-0.907-45.259
- l-44.622-7.868l0.907,45.259L70.381,209.79"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="69.474,164.531 70.381,209.79 25.759,201.921 24.852,156.663 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.356,220.171 2.347,219.706 24.876,202.221 24.886,202.687 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.798,220.249 2.356,220.171 24.886,202.687 25.327,202.764 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.347,219.706 1.421,173.533 23.95,156.048 24.876,202.221 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.421,173.533 1.412,173.067 23.941,155.583 23.95,156.048 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="3.229,219.406 2.322,174.147 24.852,156.663 25.759,201.921 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="2.322,174.147 24.852,156.663 25.759,201.921 3.229,219.406 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.412,173.067 23.941,155.583 24.383,155.661 1.854,173.145 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.32,228.276 2.798,220.249 25.327,202.764 70.85,210.792 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="47.852,227.274 3.229,219.406 25.759,201.921 70.381,209.79 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="3.229,219.406 25.759,201.921 70.381,209.79 47.852,227.274 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.77,228.355 48.32,228.276 70.85,210.792 71.299,210.871 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.761,227.889 71.29,210.405 71.299,210.871 48.77,228.355 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="46.944,182.015 47.852,227.274 3.229,219.406 2.322,174.147 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.944,182.015 2.322,174.147 24.852,156.663 69.474,164.531 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="2.322,174.147 24.852,156.663 69.474,164.531 46.944,182.015 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="46.944,182.015 69.474,164.531 70.381,209.79 47.852,227.274 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.852,227.274 46.944,182.015 69.474,164.531 70.381,209.79 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.854,173.145 24.383,155.661 69.905,163.687 47.376,181.171 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.835,181.716 70.364,164.232 71.29,210.405 48.761,227.889 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.376,181.171 69.905,163.687 70.354,163.767 47.825,181.251 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.825,181.251 70.354,163.767 70.364,164.232 47.835,181.716 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M47.376,181.171l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.441,0.078L47.376,181.171z M47.852,227.274l-0.907-45.259
- l-44.622-7.868l0.907,45.259L47.852,227.274"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="222.356,192.323 223.264,237.582 178.642,229.713 177.734,184.456 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.239,247.963 155.229,247.499 177.76,230.014 177.769,230.479 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.681,248.042 155.239,247.963 177.769,230.479 178.211,230.557 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M222.788,191.48l0.442,0.078l0.009,0.465l0.926,46.174l0.01,0.465l-0.442-0.078l-45.521-8.026
- l-0.442-0.078l-0.009-0.465l-0.926-46.174l-0.01-0.465l0.442,0.078L222.788,191.48z M223.264,237.582l-0.907-45.259
- l-44.622-7.867l0.907,45.258L223.264,237.582"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.229,247.499 154.305,201.325 176.834,183.84 177.76,230.014 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.305,201.325 154.295,200.86 176.824,183.375 176.834,183.84 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="155.205,201.94 177.734,184.456 178.642,229.713 156.112,247.198 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="156.112,247.198 155.205,201.94 177.734,184.456 178.642,229.713 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.295,200.86 176.824,183.375 177.267,183.454 154.737,200.938 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.203,256.068 155.681,248.042 178.211,230.557 223.732,238.583 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="200.734,255.066 156.112,247.198 178.642,229.713 223.264,237.582 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="156.112,247.198 178.642,229.713 223.264,237.582 200.734,255.066 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.646,256.146 201.203,256.068 223.732,238.583 224.175,238.662 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.636,255.681 224.165,238.197 224.175,238.662 201.646,256.146 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="199.827,209.807 200.734,255.066 156.112,247.198 155.205,201.94 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.827,209.807 155.205,201.94 177.734,184.456 222.356,192.323 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="155.205,201.94 177.734,184.456 222.356,192.323 199.827,209.807 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.734,255.066 199.827,209.807 222.356,192.323 223.264,237.582 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="199.827,209.807 222.356,192.323 223.264,237.582 200.734,255.066 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.737,200.938 177.267,183.454 222.788,191.48 200.259,208.964 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.71,209.507 223.239,192.023 224.165,238.197 201.636,255.681 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.259,208.964 222.788,191.48 223.23,191.558 200.701,209.042 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.701,209.042 223.23,191.558 223.239,192.023 200.71,209.507 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M200.259,208.964l0.442,0.078l0.009,0.465l0.926,46.174l0.01,0.465l-0.442-0.078l-45.522-8.026
- l-0.441-0.078l-0.01-0.465l-0.925-46.174l-0.01-0.465l0.442,0.078L200.259,208.964z M200.734,255.066l-0.907-45.259
- l-44.622-7.867l0.907,45.258L200.734,255.066"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="171.245,183.243 172.152,228.494 127.522,220.624 126.615,175.374 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.119,238.874 104.11,238.417 126.64,220.932 126.649,221.389 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.569,238.953 104.119,238.874 126.649,221.389 127.099,221.468 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M171.669,182.398l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L171.669,182.398z M172.152,228.494l-0.907-45.251
- l-44.63-7.869l0.907,45.25L172.152,228.494"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.11,238.417 103.185,192.235 125.714,174.75 126.64,220.932 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.185,192.235 103.176,191.778 125.705,174.293 125.714,174.75 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="104.086,192.857 126.615,175.374 127.522,220.624 104.993,238.108 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="104.993,238.108 104.086,192.857 126.615,175.374 127.522,220.624 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.176,191.778 125.705,174.293 126.154,174.373 103.625,191.857 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.084,246.978 104.569,238.953 127.099,221.468 172.613,229.494 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.993,238.108 127.522,220.624 172.152,228.494 149.623,245.978 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="149.623,245.977 104.993,238.108 127.522,220.624 172.152,228.494 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.533,247.057 150.084,246.978 172.613,229.494 173.063,229.573 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.524,246.6 173.054,229.116 173.063,229.573 150.533,247.057 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.716,200.727 104.086,192.857 126.615,175.374 171.245,183.243 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.623,245.978 148.716,200.727 171.245,183.243 172.152,228.494 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="104.086,192.857 126.615,175.374 171.245,183.243 148.716,200.727 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="148.716,200.727 149.623,245.977 104.993,238.108 104.086,192.857 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="148.716,200.727 171.245,183.243 172.152,228.494 149.623,245.977 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.625,191.857 126.154,174.373 171.669,182.398 149.14,199.882 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.599,200.418 172.128,182.934 173.054,229.116 150.524,246.6 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.14,199.882 171.669,182.398 172.119,182.477 149.589,199.961 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.589,199.961 172.119,182.477 172.128,182.934 149.599,200.418 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M149.14,199.882l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L149.14,199.882z M149.623,245.978l-0.907-45.251
- l-44.63-7.87l0.907,45.251L149.623,245.978"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="119.856,173.881 120.764,219.141 76.142,211.273 75.234,166.013 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.738,229.522 52.729,229.056 75.259,211.572 75.269,212.039 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.18,229.6 52.738,229.522 75.269,212.039 75.709,212.116 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M120.288,173.038l0.449,0.08l0.01,0.466l0.926,46.172l0.009,0.467l-0.449-0.079l-45.523-8.027
- l-0.44-0.077l-0.01-0.467L74.333,165.4l-0.009-0.467l0.44,0.078L120.288,173.038z M120.764,219.141l-0.907-45.26l-44.622-7.868
- l0.907,45.26L120.764,219.141"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.729,229.056 51.804,182.884 74.333,165.4 75.259,211.572 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.804,182.884 51.794,182.417 74.324,164.933 74.333,165.4 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.705,183.498 75.234,166.013 76.142,211.273 53.612,228.757 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="53.612,228.757 52.705,183.498 75.234,166.013 76.142,211.273 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.794,182.417 74.324,164.933 74.765,165.011 52.235,182.496 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.703,237.627 53.18,229.6 75.709,212.116 121.232,220.143 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.612,228.757 76.142,211.273 120.764,219.141 98.234,236.625 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="98.234,236.625 53.612,228.757 76.142,211.273 120.764,219.141 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="99.152,237.707 98.703,237.627 121.232,220.143 121.682,220.222 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="99.144,237.24 121.673,219.755 121.682,220.222 99.152,237.707 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.327,191.366 52.705,183.498 75.234,166.013 119.856,173.881 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.234,236.625 97.327,191.366 119.856,173.881 120.764,219.141 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="52.705,183.498 75.234,166.013 119.856,173.881 97.327,191.366 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="97.327,191.366 119.856,173.881 120.764,219.141 98.234,236.625 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M97.759,190.522l0.449,0.08l0.01,0.466l0.926,46.172l0.009,0.467l-0.449-0.079L53.18,229.6
- l-0.441-0.078l-0.009-0.466l-0.926-46.172l-0.01-0.467l0.441,0.078L97.759,190.522z M98.234,236.625l-0.907-45.26
- l-44.622-7.868l0.907,45.26L98.234,236.625"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="97.327,191.366 98.234,236.625 53.612,228.757 52.705,183.498 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.235,182.496 74.765,165.011 120.288,173.038 97.759,190.522 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.218,191.068 120.747,173.583 121.673,219.755 99.144,237.24 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.759,190.522 120.288,173.038 120.737,173.118 98.208,190.602 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.208,190.602 120.737,173.118 120.747,173.583 98.218,191.068 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M69.491,112.513l0.451,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L69.491,112.513z M69.976,158.609l-0.907-45.251
- l-44.63-7.869l0.907,45.25L69.976,158.609"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="69.068,113.358 69.976,158.609 25.346,150.739 24.438,105.489 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.942,168.989 1.934,168.532 24.463,151.047 24.473,151.504 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.393,169.068 1.942,168.989 24.473,151.504 24.922,151.583 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.934,168.532 1.008,122.35 23.537,104.866 24.463,151.047 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.008,122.35 0.999,121.893 23.528,104.409 23.537,104.866 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="2.815,168.223 1.909,122.972 24.438,105.489 25.346,150.739 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="1.909,122.972 24.438,105.489 25.346,150.739 2.815,168.223 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="0.999,121.893 23.528,104.409 23.978,104.488 1.448,121.972 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.906,177.093 2.393,169.068 24.922,151.583 70.436,159.609 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="2.815,168.223 25.346,150.739 69.976,158.609 47.446,176.092 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="47.446,176.092 2.815,168.223 25.346,150.739 69.976,158.609 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="48.356,177.172 47.906,177.093 70.436,159.609 70.886,159.688 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="48.348,176.715 70.877,159.231 70.886,159.688 48.356,177.172 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="46.539,130.842 47.446,176.092 2.815,168.223 1.909,122.972 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.539,130.842 1.909,122.972 24.438,105.489 69.068,113.358 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="1.909,122.972 24.438,105.489 69.068,113.358 46.539,130.842 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.446,176.092 46.539,130.842 69.068,113.358 69.976,158.609 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="46.539,130.842 69.068,113.358 69.976,158.609 47.446,176.092 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.448,121.972 23.978,104.488 69.491,112.513 46.962,129.998 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.422,130.534 69.951,113.049 70.877,159.231 48.348,176.715 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.962,129.998 69.491,112.513 69.942,112.592 47.412,130.077 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.412,130.077 69.942,112.592 69.951,113.049 47.422,130.534 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M46.962,129.998l0.45,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.45-0.079l-45.514-8.025
- l-0.45-0.079l-0.009-0.457L1.008,122.35l-0.009-0.457l0.449,0.079L46.962,129.998z M47.446,176.092l-0.907-45.25l-44.63-7.87
- l0.906,45.251L47.446,176.092"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="221.951,141.15 222.858,186.409 178.229,178.54 177.321,133.281 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.825,196.789 154.816,196.324 177.346,178.839 177.355,179.305 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.268,196.867 154.825,196.789 177.355,179.305 177.797,179.382 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M222.375,140.305l0.449,0.08l0.01,0.465l0.926,46.173l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.441,0.078L222.375,140.305z M222.858,186.409l-0.907-45.259
- l-44.63-7.869l0.907,45.259L222.858,186.409"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.816,196.324 153.891,150.151 176.42,132.667 177.346,178.839 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.891,150.151 153.882,149.685 176.411,132.201 176.42,132.667 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="154.792,150.765 177.321,133.281 178.229,178.54 155.699,196.024 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="155.699,196.024 154.792,150.765 177.321,133.281 178.229,178.54 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="153.882,149.685 176.411,132.201 176.853,132.279 154.323,149.763 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.79,204.894 155.268,196.867 177.797,179.382 223.319,187.41 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="200.329,203.893 155.699,196.024 178.229,178.54 222.858,186.409 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="155.699,196.024 178.229,178.54 222.858,186.409 200.329,203.893 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="201.239,204.973 200.79,204.894 223.319,187.41 223.769,187.489 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="201.23,204.507 223.76,187.023 223.769,187.489 201.239,204.973 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="199.422,158.634 200.329,203.893 155.699,196.024 154.792,150.765 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.422,158.634 154.792,150.765 177.321,133.281 221.951,141.15 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="154.792,150.765 177.321,133.281 221.951,141.15 199.422,158.634 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.329,203.893 199.422,158.634 221.951,141.15 222.858,186.409 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="199.422,158.634 221.951,141.15 222.858,186.409 200.329,203.893 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.323,149.763 176.853,132.279 222.375,140.305 199.846,157.79 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.305,158.334 222.834,140.85 223.76,187.023 201.23,204.507 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.846,157.79 222.375,140.305 222.824,140.385 200.295,157.869 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.295,157.869 222.824,140.385 222.834,140.85 200.305,158.334 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M199.846,157.79l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.522-8.027
- l-0.442-0.078l-0.009-0.465l-0.926-46.173l-0.009-0.466l0.441,0.078L199.846,157.79z M200.329,203.893l-0.907-45.259
- l-44.63-7.869l0.907,45.259L200.329,203.893"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M171.255,131.215l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.449,0.079L171.255,131.215z M171.738,177.319l-0.907-45.259
- l-44.63-7.869l0.907,45.259L171.738,177.319"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="170.831,132.06 171.738,177.319 127.108,169.45 126.201,124.191 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.706,187.699 103.696,187.234 126.226,169.75 126.235,170.215 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.155,187.779 103.706,187.699 126.235,170.215 126.685,170.294 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.696,187.234 102.771,141.061 125.3,123.577 126.226,169.75 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.771,141.061 102.762,140.595 125.291,123.111 125.3,123.577 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="103.671,141.675 126.201,124.191 127.108,169.45 104.579,186.934 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="104.579,186.934 103.672,141.675 126.201,124.191 127.108,169.45 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="102.762,140.595 125.291,123.111 125.74,123.19 103.211,140.674 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.67,195.804 104.155,187.779 126.685,170.294 172.199,178.32 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="149.209,194.803 104.579,186.934 127.108,169.45 171.738,177.319 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="104.579,186.934 127.108,169.45 171.738,177.319 149.209,194.803 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="150.119,195.883 149.67,195.804 172.199,178.32 172.648,178.399 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="150.11,195.417 172.64,177.933 172.648,178.399 150.119,195.883 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.302,149.544 103.671,141.675 126.201,124.191 170.831,132.06 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.209,194.803 148.302,149.544 170.831,132.06 171.738,177.319 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="103.672,141.675 126.201,124.191 170.831,132.06 148.302,149.544 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="148.302,149.544 170.831,132.06 171.738,177.319 149.209,194.803 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M148.726,148.7l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L148.726,148.7z M149.209,194.803l-0.907-45.259
- l-44.631-7.869l0.908,45.259L149.209,194.803"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="148.302,149.544 149.209,194.803 104.579,186.934 103.672,141.675 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.211,140.674 125.74,123.19 171.255,131.215 148.726,148.7 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.185,149.245 171.714,131.76 172.64,177.933 150.11,195.417 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.726,148.7 171.255,131.215 171.704,131.294 149.175,148.779 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.175,148.779 171.704,131.294 171.714,131.76 149.185,149.245 "/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#FFD65D" points="119.45,122.708 120.357,167.967 75.728,160.098 74.82,114.839 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.325,178.347 52.315,177.882 74.845,160.398 74.854,160.863 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.774,178.427 52.325,178.347 74.854,160.863 75.304,160.943 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M119.874,121.864l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L119.874,121.864z M120.357,167.967l-0.907-45.259
- l-44.63-7.869l0.907,45.259L120.357,167.967"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.315,177.882 51.39,131.709 73.919,114.225 74.845,160.398 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.39,131.709 51.381,131.244 73.91,113.759 73.919,114.225 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="52.291,132.324 74.82,114.839 75.728,160.098 53.198,177.583 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="53.198,177.583 52.291,132.324 74.82,114.839 75.728,160.098 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.381,131.244 73.91,113.759 74.359,113.838 51.83,131.323 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.289,186.453 52.774,178.427 75.304,160.943 120.818,168.968 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="97.828,185.452 53.198,177.583 75.728,160.098 120.357,167.967 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="53.198,177.583 75.728,160.098 120.357,167.967 97.828,185.452 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="98.738,186.532 98.289,186.453 120.818,168.968 121.268,169.047 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="98.729,186.066 121.259,168.582 121.268,169.047 98.738,186.532 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="96.921,140.193 97.828,185.452 53.198,177.583 52.291,132.324 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="96.921,140.193 52.291,132.324 74.82,114.839 119.45,122.708 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="52.291,132.324 74.82,114.839 119.45,122.708 96.921,140.193 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="96.921,140.193 119.45,122.708 120.357,167.967 97.828,185.452 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.828,185.452 96.921,140.193 119.45,122.708 120.357,167.967 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.83,131.323 74.359,113.838 119.874,121.864 97.345,139.348 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.804,139.893 120.333,122.409 121.259,168.582 98.729,186.066 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.345,139.348 119.874,121.864 120.323,121.943 97.794,139.427 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.794,139.427 120.323,121.943 120.333,122.409 97.804,139.893 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M97.345,139.348l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.515-8.025
- l-0.449-0.08l-0.01-0.465l-0.926-46.173l-0.009-0.466l0.449,0.079L97.345,139.348z M97.828,185.452l-0.907-45.259l-44.63-7.869
- l0.907,45.259L97.828,185.452"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M68.493,61.51l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.523-8.027
- l-0.44-0.077l-0.01-0.466l-0.926-46.173l-0.009-0.466l0.44,0.078L68.493,61.51z M68.968,107.613l-0.907-45.259l-44.621-7.868
- l0.907,45.259L68.968,107.613"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="68.061,62.354 68.968,107.613 24.347,99.745 23.439,54.486 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.944,117.994 0.935,117.529 23.464,100.044 23.474,100.51 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.385,118.072 0.944,117.994 23.474,100.51 23.914,100.587 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.935,117.529 0.009,71.356 22.538,53.872 23.464,100.044 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.009,71.356 0,70.89 22.529,53.406 22.538,53.872 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="0.91,71.97 23.439,54.486 24.347,99.745 1.817,117.229 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="1.817,117.229 0.91,71.97 23.439,54.486 24.347,99.745 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="0,70.89 22.529,53.406 22.97,53.484 0.44,70.968 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="46.908,126.099 1.385,118.072 23.914,100.587 69.438,108.615 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="46.438,125.097 1.817,117.229 24.347,99.745 68.968,107.613 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="1.817,117.229 24.347,99.745 68.968,107.613 46.438,125.097 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="47.357,126.178 46.908,126.099 69.438,108.615 69.887,108.694 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="47.349,125.712 69.878,108.228 69.887,108.694 47.357,126.178 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="45.531,79.838 46.438,125.097 1.817,117.229 0.91,71.97 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="45.531,79.838 0.91,71.97 23.439,54.486 68.061,62.354 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="0.91,71.97 23.439,54.486 68.061,62.354 45.531,79.838 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="46.438,125.097 45.531,79.838 68.061,62.354 68.968,107.613 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="45.531,79.838 68.061,62.354 68.968,107.613 46.438,125.097 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="0.44,70.968 22.97,53.484 68.493,61.51 45.964,78.995 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="46.423,79.54 68.952,62.055 69.878,108.228 47.349,125.712 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="45.964,78.995 68.493,61.51 68.942,61.589 46.413,79.074 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="46.413,79.074 68.942,61.589 68.952,62.055 46.423,79.54 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M45.964,78.995l0.449,0.079l0.01,0.466l0.926,46.173l0.009,0.466l-0.449-0.079l-45.523-8.027
- l-0.44-0.078l-0.01-0.465L0.009,71.356L0,70.89l0.44,0.078L45.964,78.995z M46.438,125.097l-0.907-45.259L0.91,71.97
- l0.907,45.259L46.438,125.097"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M221.376,89.302l0.449,0.08l0.01,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.458l-0.926-46.181l-0.009-0.466l0.441,0.078L221.376,89.302z M221.852,135.405l-0.907-45.259
- l-44.622-7.868l0.907,45.259L221.852,135.405"/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="220.944,90.146 221.852,135.405 177.229,127.537 176.322,82.278 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.826,145.787 153.817,145.329 176.347,127.844 176.356,128.302 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.269,145.864 153.826,145.787 176.356,128.302 176.798,128.379 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.817,145.329 152.892,99.148 175.421,81.664 176.347,127.844 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="152.892,99.148 152.882,98.682 175.412,81.198 175.421,81.664 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="153.793,99.762 176.322,82.278 177.229,127.537 154.7,145.021 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="154.7,145.021 153.793,99.762 176.322,82.278 177.229,127.537 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="152.882,98.682 175.412,81.198 175.854,81.276 153.324,98.76 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="199.791,153.891 154.269,145.864 176.798,128.379 222.32,136.407 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="199.322,152.889 154.7,145.021 177.229,127.537 221.852,135.405 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="154.7,145.021 177.229,127.537 221.852,135.405 199.322,152.889 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="200.24,153.97 199.791,153.891 222.32,136.407 222.77,136.486 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="200.231,153.513 222.761,136.029 222.77,136.486 200.24,153.97 "/>
- </g>
- <g>
- <polygon fill="#FFD65D" points="198.415,107.63 199.322,152.889 154.7,145.021 153.793,99.762 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="198.415,107.63 153.793,99.762 176.322,82.278 220.944,90.146 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="199.322,152.889 198.415,107.63 220.944,90.146 221.852,135.405 "/>
- </g>
- <g>
- <polygon fill="#FFDC72" points="153.793,99.762 176.322,82.278 220.944,90.146 198.415,107.63 "/>
- </g>
- <g>
- <polygon fill="#FFDD77" points="198.415,107.63 220.944,90.146 221.852,135.405 199.322,152.889 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="153.324,98.76 175.854,81.276 221.376,89.302 198.847,106.787 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="199.306,107.332 221.835,89.847 222.761,136.029 200.231,153.513 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="198.847,106.787 221.376,89.302 221.825,89.382 199.296,106.867 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="199.296,106.867 221.825,89.382 221.835,89.847 199.306,107.332 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M198.847,106.787l0.449,0.08l0.01,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.522-8.027
- l-0.442-0.077l-0.009-0.458l-0.926-46.181l-0.01-0.466l0.442,0.078L198.847,106.787z M199.322,152.889l-0.907-45.259
- l-44.622-7.868l0.907,45.259L199.322,152.889"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <polygon fill="#628CBE" points="169.832,81.066 170.739,126.316 126.109,118.447 125.202,73.197 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.706,136.697 102.697,136.24 125.227,118.755 125.236,119.212 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.156,136.776 102.706,136.697 125.236,119.212 125.686,119.292 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M170.256,80.221l0.45,0.079l0.009,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.449-0.079l-0.01-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L170.256,80.221z M170.739,126.316l-0.907-45.25
- l-44.63-7.869l0.907,45.25L170.739,126.316"/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.697,136.24 101.771,90.058 124.301,72.574 125.227,118.755 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="101.771,90.058 101.763,89.601 124.292,72.117 124.301,72.574 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="102.673,90.681 125.202,73.197 126.109,118.447 103.579,135.931 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="103.58,135.931 102.673,90.681 125.202,73.197 126.109,118.447 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="101.763,89.601 124.292,72.117 124.741,72.196 102.212,89.68 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="148.671,144.801 103.156,136.776 125.686,119.292 171.2,127.317 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="103.579,135.931 126.109,118.447 170.739,126.316 148.21,143.8 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="148.21,143.8 103.58,135.931 126.109,118.447 170.739,126.316 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="149.12,144.88 148.671,144.801 171.2,127.317 171.649,127.396 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="149.111,144.423 171.641,126.939 171.649,127.396 149.12,144.88 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="147.303,98.55 148.21,143.8 103.58,135.931 102.673,90.681 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="147.303,98.55 102.673,90.681 125.202,73.197 169.832,81.066 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="148.21,143.8 147.303,98.55 169.832,81.066 170.739,126.316 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="102.673,90.681 125.202,73.197 169.832,81.066 147.303,98.55 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="147.303,98.55 169.832,81.066 170.739,126.316 148.21,143.8 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="102.212,89.68 124.741,72.196 170.256,80.221 147.727,97.706 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="148.186,98.242 170.715,80.757 171.641,126.939 149.111,144.423 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="147.727,97.706 170.256,80.221 170.706,80.3 148.176,97.785 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="148.176,97.785 170.706,80.3 170.715,80.757 148.186,98.242 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M147.727,97.706l0.449,0.079l0.01,0.457l0.926,46.182l0.009,0.457l-0.449-0.079l-45.515-8.025
- l-0.45-0.079l-0.009-0.457l-0.926-46.182l-0.009-0.457l0.449,0.079L147.727,97.706z M148.21,143.8l-0.907-45.25l-44.63-7.869
- l0.906,45.25L148.21,143.8"/>
- </g>
- </g>
- </g>
- <g opacity="0.7">
- <g enable-background="new ">
- <g>
- <path fill="#6272C3" d="M118.875,70.861l0.45,0.08l0.009,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.522-8.027
- l-0.441-0.077l-0.01-0.458L72.92,63.222l-0.009-0.466l0.441,0.078L118.875,70.861z M119.358,116.964l-0.906-45.25l-44.631-7.87
- l0.907,45.251L119.358,116.964"/>
- </g>
- <g>
- <polygon fill="#628CBE" points="118.452,71.714 119.358,116.964 74.729,109.095 73.821,63.844 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.325,127.345 51.316,126.887 73.846,109.403 73.855,109.861 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="51.768,127.422 51.325,127.345 73.855,109.861 74.297,109.938 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.316,126.887 50.391,80.707 72.92,63.222 73.846,109.403 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="50.391,80.707 50.382,80.241 72.911,62.756 72.92,63.222 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="51.292,81.329 73.821,63.844 74.729,109.095 52.199,126.58 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="52.199,126.58 51.292,81.329 73.821,63.844 74.729,109.095 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="50.382,80.241 72.911,62.756 73.353,62.834 50.823,80.319 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.29,135.45 51.768,127.422 74.297,109.938 119.819,117.965 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="52.199,126.58 74.729,109.095 119.358,116.964 96.829,134.449 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="96.829,134.449 52.199,126.58 74.729,109.095 119.358,116.964 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="97.739,135.529 97.29,135.45 119.819,117.965 120.269,118.044 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="97.73,135.072 120.26,117.587 120.269,118.044 97.739,135.529 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="95.922,89.199 51.292,81.329 73.821,63.844 118.452,71.714 "/>
- </g>
- <g>
- <polygon fill="#628CBE" points="95.922,89.199 96.829,134.449 52.199,126.58 51.292,81.329 "/>
- </g>
- <g>
- <polygon fill="#769AC7" points="51.292,81.329 73.821,63.844 118.452,71.714 95.922,89.199 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="96.829,134.449 95.922,89.199 118.452,71.714 119.358,116.964 "/>
- </g>
- <g>
- <polygon fill="#7A9EC8" points="95.922,89.199 118.452,71.714 119.358,116.964 96.829,134.449 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="50.823,80.319 73.353,62.834 118.875,70.861 96.346,88.345 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="96.805,88.89 119.334,71.406 120.26,117.587 97.73,135.072 "/>
- </g>
- <g>
- <polygon fill="#7684CA" points="96.346,88.345 118.875,70.861 119.325,70.941 96.795,88.425 "/>
- </g>
- <g>
- <polygon fill="#7A88CC" points="96.795,88.425 119.325,70.941 119.334,71.406 96.805,88.89 "/>
- </g>
- <g>
- <path fill="#6272C3" d="M96.346,88.345l0.449,0.08l0.01,0.465l0.926,46.182l0.009,0.457l-0.449-0.079l-45.522-8.027
- l-0.442-0.077l-0.009-0.458l-0.926-46.181l-0.009-0.466l0.441,0.078L96.346,88.345z M96.829,134.449l-0.907-45.25l-44.63-7.87
- l0.907,45.251L96.829,134.449"/>
- </g>
- </g>
- </g>
- </g>
-</switch>
-<i:pgf id="adobe_illustrator_pgf">
- <![CDATA[
- eJzsveuOJMeVJvi/gHqH2B8NiNhRjLv5XVg04B7hodWi1U2I6p5eNAZESSxJNVMXbrHYPZqn33O3
-Y+bmEZkZKTZFVRgzmRUZ6e52O3Yu3/nO3/0fX3718/mbD797/fPmWB1evvi7vzt9fP3q04ePvzjQ
-24dfvX37/XefPuJbP/vNF4c6HCv81Pyr8Wv55L+8/vjdmw/vf0G/O9b42wv+/c9++/HVv7/57vAv
-r77/458+fXH42fr+058+4M//5fCr978/foGf/O2bT29fw2fff//u2z+//fDHD29+/+H98dWbL+xR
-4NLnV5/gM91/Df1/DVU1HoZfdN3hy1/jR5YP37//5s37Py4f/tcvDmHoDqHqD13fHrq6xd//329+
-8/q7/EPHvu4DfvJY9W0HH2+Odd028DfNMdQt/eH5w++/f/f6/acvP374/evvvjt9ePvh43e/OJz+
-/Or94dev/gi/eXX4f1+/ffvhP+DT86+6ry9v3r6Gfr979ekw0hjNv6rD18v3b95+84/fv/vdaxiR
-UHX0fvM1Xe6fv4PrwCXxZ3p/+PpX7+Ctr15/+gRPC3ejof7NL5cTTMGHd/RBeJPaz/7tN6//+IZm
-Bkbov38hn/SPSx899mFouxp+GIa+HerDz3759sPvXr09/Pr1N28+vf748dX719Cl5e33r+ka/ydd
-PX7sy+8/vk5/W+Pd/W9/+fH16/fy65ofzv/6N6+/ib88ttNYNZP7zFf/3/evvvuTfcJfncf3Cxmz
-375+9+1bWAk0i21VHWGypwm+u5/1ozAX9LG6P/SHYYTlMLXyuzixr//9zev/+MXhHz+8fy1zOH/8
-9NWb/w1zMlbVoa8qefs33799/fGf37/5BFMS6L2JZ/DXH755/RbuEv/88vYVTZyMon2XT/z21cc/
-vv4ES/LD2+8/0aYZ7S6wSv7h1Z9f4yqr5Sb/9O3r97/98C/0mD+v+waeCUbo2PSHumvHwwg/hJ5u
-0h7qWm/Hg6gPhdfAK+i1BxzpL2GZ/dPHN3988/4X+nDD17/8+OabuPaGcBj5G133OLqvSb/kOaHX
-nz69fq8PDuv+9Gu3iqvjr7/Cu67vvzl9eIeD/x3tXVjA72HBwraX38Z/0O/gEt9/K92gN76Gufry
-45v3eOGXL/6Rfzd+/eXb7+GXv/z44ftvf/X+Dx9evvgZy64vX336E6zd1++/+Q7ED7/H/zzwn8C7
-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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- O9fNE81dMFq+RY1/MZuA22rtEltCQg+nAiGjaoruqw0SH7eTZi73Vhw80VUjts5iVdfOxEIjsQAX
-DwguHhBjAmxpSUU9oc2O9M9ndg8ijjmLBQQXA+jk7FGWg1n8/OyUrAiDEAiHQJ4syy398e2a2Eis
-UsRmvz1gl+RNd831nVBo6St4m664srdrWH8ur1xtJ6LIK65eW7XpKuWXrs9BqMfVQ4o4v4WytU8u
-TnUh9EqVRaoaQgFynGo0D+pM6BajI+dVSBksqSe1t8gTR5uUeLwWhGNDPgyODCkYhGI4DAF5+cLi
-zp0AP2atJUwYmVrqCbNfdLLT8EI+zsbVFZ45zxMzFBxvjrKsKMcKn3DxdJOzLWFWwTPNTrQVzk/H
-qqKcKsrzpSxfzPDF/F7r9TiI46t4xvasVyS9GK64re9xrdLHw5/xsdfZ/WR2xfTzpbt4hpDSe9rr
-beQk/XepGoo5QJ0ZU8BK3f/6fMWbr5hkgShANhU5514Kb/4k8lE/X/HzFf/arphJS4vX7JW8fmL7
-UV4xQ4QRbuz+Vi4tfv21X6zct1mgoHtt2m3lsurkRaNUg7TlJdv7vIh1UuA6VgiVJikivvnQQBIg
-jGWgFgf2WM6uQcdfvpAhiK/ZmrhltM65JETE2qMKc9UapBRphCvGKktJpaUib1isulSqu0TAAmIZ
-HBLmMM/SpfWXaq1amtRbUsYr4+yyffiwlfHg9qxXnG+uyKes1QmueG3V2sq9uW5d0fXiuk1dFeX1
-urNSqfLtmq7SZIWW1ma6Lv2KbGRFhrzqV7YK4wpMV1+xQq4A3j1nXc4NN1lO+JDwqhmrmjGqUfyc
-WClmx42cIUocPL6EKTFGtRg1Nza1Pb7h2znjGWcy+ZI0Y1zZdzVXvHaMaHOBEY350EZy2VNlU0vw
-ap63/eBXfDS6DfFthXcLoeGdVoCYYG6tA5xcdttaaKUXrJ/s+F2yNidtStromsFZLdKhrbPWWmtc
-6kaKynaocWlRU0n1g0SKZie1l2decomkgitGKRWlU5r0ccrkUJRBqfRppG5s2NTkTpkyr9XjDomk
-ITnz8oVL5ZwLcqbxKZ3GkMkoHS9jiLNxGyOvOGaM8WQJI2P1MA1qT1zerTpSst54nLouJNHxJ/05
-x8VrKzFntdzqeuj5EiMlOFI2C2YPUi4jxeHDYayPXTN2h749Vm3CIPFcV9QUSUqoqWP4HH7QgHpv
-kXVNfOxq7CznNIKR3mZh++e42t1R+7YctW93eR2icROZCdi95Mvd+qK2OePDycBwF8f8EFOtPfDW
-aOY0mu3KyXsuCI7aDxKrj8XkLxtOiEjFGEnMVkfGGEnMRkuA2BJptpJOvkfH2Fsi/EkSJYmwjJIL
-OoqoK1FZrA7WCr0cpySxW1idwpqGRClIFBhtCMYKQlVcwmcOgRacPXVmjqYuxnTW4nzpnGEq5cmI
-vRSlUUuiCpeH9zPm4dKaunKWOasMbcFUj5roH1P981lrd6jnPPmczBzMVk/KSkpAp6XlI4lBQgSZ
-EGorYaAQzlFhg9WIAjsCSU9u3mpz6g/ZvDUEcx5kzpDSEQPZTA2PAWwMXp8Vp1D59Is1o7Y4ZdQR
-+/QWIaG3gMPR0URokD+G+DWrfktv4QP7gzEBwNFMiVAa0l9PygignACaURpzSutNXr1kSSowVVTz
-2o7GG+DUHR6DLqrWGUS7VFp9j3hph3qJUoxMjS6SfeRUHynNRzpbca4ibcpKKRmRPCWSkdyaq5xI
-xZVUhtnaztVsub8x+zfChz2A2EOIJQsYZkvVmMfM1LybD8wE2bdygh9FkUW0kWbuFFKb1oygxRfP
-XgpELSlVi4Bt4IqPhxHlpC0JbQvMfw4lap154SE4KaAohRQ5MA7Mf+/U61I+dCEj2sptp9nQnSSU
-7mVEl/OhhzQXOim+HUtvmzpcpJpnw72hKnidA/VwamwO6Wkk2ZVTW2PQs8KgJ8F5OtolCOZZJPSJ
-dYow8NlKOQmcDy6hdLLQZ7CCSLHAEdwW1oGUOboeDL0VJI01Vy1FmHuMo8cQJu4tPlZF499IYm/s
-KT7wBWaX935LoKWJQEsnBCxZLzmVa9TgrqSKaYmoSUK75/xJn9K/bU93nOQcpgzCucXkDEMVS0qw
-9jgbXc9F6HpA3m9StjojG7XU2YQ9rM30jhODKoQUoycQTkpwq1pGLclaTQHab+3ugNtOuJWKcJQD
-yiklq9fiYoqbZ1pjXbsn5KziRVFHw7HBNDYaEdC+EOiBBCEX6FcntEoIrUAgBei+VkhFEzFaIyjx
-6RhpMsa8n7rEyRdY6kJcUEpcqI4odUUpfWFSe5FcUrEkVFIUCunYpSyULwyVl/XKC3sZgb/1VHuW
-p5rERJP9vlXmWrN+QU8nl47VWiqWutnykl7binVZqStKbdjvUVaqLCtHAMe2SaTrZTysfMfWPWGJ
-Q0nqEBUfcQ5Qlz60FPW0PQ3AdACypTRlKNUDim7P3PF5k9dp69vY/QS7B3rNC+iFiom8DI06Fxp8
-s6Vftx39/QC/rJtD0+F1nGfgzgsxFST6FQKSbeAnMUGgTT0N9Bb+iliZyk6K+65yr3OiKfommpzb
-I8lz8RkxGmrQbEF1oF5cGkDt0gAY8tlKcfnOJQEMlgSgaQBqrEqmrxitnNdUG3JUkHMgfhT7qTwM
-asSeJQu4cqZsdEOII4KQmMrEQK6Ily+Mmy+yMCgj/mi4NkZYelb8tKC51j1Y1Nh1lSOUG7/bFL2O
-Zc1jBYTIqm6c6qDcK6tKWkmCM38Z9X2OnCquslhEemvB+pPVNbhYjbG8ytgorCmL8KWspKNFdhTG
-e3eeA4UiYnPEpD/50N55/Q1esZYrMiospTINgkNTtSUqL6zA6Hd1R5krkTL3o2IzmIOKVZyTuRZX
-Sy26OPeicoVpIlGQijyaRNQJ28ogzGOTuR0XJ0N8ApF3QErqkKYNuaqqsXl4RB6ASV/OQnVmJPwM
-Kngh5biUZFgCym8a6CJwxZYwnb3xSAxkAtCG1PIh0thiVLNZHmqr5t9nJny+YnrFz3LpJ3dFLxf3
-zLy0hczw2xJBNxtJGiUosp70zH4izjAvKTx5wcVliUWnlc9/846rp7iuSplw85bCj9wX3mWVEvil
-zqrRuTOjQ9PTuq6ohIp7ak6c0J4fIXVDq3tzNsMnGj3k4pT6k1uHdHR0lkqk7zmlg+NJyKsUZi7P
-Yl2AIsaDGJpv4TweUdOhGUiT7WKuf+HsKdFiXLLmX/4kPFFl8VOy4lKOokgFE1mKlPoqYSTStQhX
-1PXo0RoJkiJDRxgGIsE9GM4BVueUoRs8nsHjGFIMQ5WsY4daIDTjFrOwj1fwuKoUqRDXu3fJLg4z
-FfFSW7RC4p5N8QrkpNx3CqS4hax+ZoLJM5wUVU9yiLz9JLxHNvHEkR33HM0YIiRo+bjWX2vGRLFt
-wyObMF4It86tNj24wfyUSJYKbXlQe1gu3UPyRR14SnPptmiWGl0pzNCALKg9E2NPykdqPxBtKvIh
-9AE/mDI+3HERdg0ZwoQ5sMmHoqwNYYP5qJHGociyet917nbIdGWPTIcumTZHi2hqym5hSFcozJcJ
-m115SPHbE72Kr/sxbDEDTUp9qQUG84KpghqAVaJlIztJLBwl3TVxtCRuloggUJrLKSG3jHgCT2vp
-ySxTCstZUNRa3C7SVBI95csXRkzZOlJKT0HpSSc9A7Wnk3TUkJHm3JiptW0kxA6WZKuQRmM+Nd6Z
-bHt0eBKaf7jibLVHTq7QpJrt+nURlotowDeOB6QjktROSGMGwZ5MxgMyWwQo5QFxTCDIi0H06IxM
-cW5AOoyYKSMeABwriMJ2kBhCdAuqEJyDEhWdVZxJinwUWdsEdp+Oq2eZBpmYQjBJLBenYkLotEkv
-l3Yj+pbzkDTJnGqFmd5MikFnl0yLQeZ5EKL1qfJ1ZmaZae+kWYTyTP/PFGiki8EVLzr/5r5RJ05l
-lGz6/8gNQ04d+UkJ3YjgTUovK9kbu3yYYFdRS0pINNrPkebI08jxyoIjNmGb4U944rnJOaT53zlB
-05SSNxF9XWye3m7T0go9D6mjtldJbVNLDTTbOanJ4wuAXAogkpuFNOC8ScuXJAVMkhImp0SrHJzF
-leBgxe66hbjf1jJ3ddkFey+4WLC7ThaGmoXJbhJuy0HsNK1x3ilFgpE2qMCMohQrK4vc27DtFrh8
-XU28WGtpMbhXhA+VKhmtboZ9LaBolXcZgOiBvDRbQn3hwd5aMhF77SEkuf1SsF4IbV2yXzT/45RZ
-MNfzPmB9wXrz2UitUQ9EBTTus2qTlRTtnTWxe/K2k3qzqVAV4UXLDjDMs/fkYCKzp9HzmzH43PTK
-FCzi6JlpXAZCyRLOMwNKlvCcov1hdXi0/0Mw/iWUv0P6M5N7yiB/Pc/wVv5flqN1NY8qByMlNaBj
-bfvI4qA8Dk2xegAzG12MsxaLZjRJnCtWC7hchQAp4An1CtxNxl9EvRMGI4U8KXuRcTMm1dNd/S8F
-zUa4bGv1vpas/otCZEFlBYWySsCxDIwNBop1VWBoTKwGjEGYBQxLvQ4ECcVo3kRRPAY7IdQJ+2ie
-AlHmfPUY/Vq0EpeogLGajB7hsarMoEoAXJGVAoYyN67OTOPqzNCXlvQzNWV1Jf/w68Rl9ASodDJV
-R7/+s2KNm9o2D77ijp9aKONifSTldU2ZXWN+WsrtGmnjlozbdUi4XQ1MlDG7Rl7X0QA3fWR0jVyu
-AieKPK6L8beODu7yTLV52atLtcY9hOXJlXkVtALm5a4fNyns87hSNruFbLj02Qa8mWcypXlM1zKZ
-SIeTkkTFvMlc4jpAs4sEnPbqZwvonHqWgpiljBFlYuGT6xPrbPNc80zzPLMeybPMc8wzjPPLPnuY
-WTKnV1n5E5EkdjyrMqc8ozifOJs8l7hyZ5nDSITInvhFAGHshW+EEPFMhIgx15KhX0qLiGYoGqmB
-oF5o3DLMS0FeyGPNIC+DeJGp1sfKV271xFZ6nd3J66u6lCqsNAK3bZPWJfl/3GLBC/WpT5s2s+YB
-V0xzELevUn7jhdj6XFZkMW+ylGm5zcsMxJDkYwnlbNF2v5n8X1zbENtfaWOhDTHO59pQaPlnenHY
-eOq4hv9NVWpSdEb8xB4DUSkyab9zXEulU2X719url+OlVziWbLyvcRmV2z3n7RNeP40r6ngLbq2c
-QtcIYi2pKJsl0rHjlPXNiWr9LNFRamlZLemejFBTfNpq+LSITovYNKv29fLFpt6X19fXDJUWEWmp
-pu6QaFTFyzOOpnyjRbbRhJNtwzQKMs+4RiVBQbnZFgbw23hfXCuLnnOxbUhHmOmeePXSViqmMW3a
-WGjkv4YrDknrN60rtO3L/KJwxR0YfsK3H1uVtxwWBTaSZ+SPzYxW469dbrb5MS2pgTILgPqpL62q
-Mj6hDfsNrnjlt1bZ5RENrqjeup12C6jdNEd0j18BasdPcDQOo3UVopYDE7hjgI/fIQ==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- iETw8jZ0Zuwn6EAzHuGpR327lpu1Iyzlxj49YnYBPAL81QQbTy49HYeellx7HKZOH3jTvbdxwOC2
-DemEPWpF6nCBv2ga+Pu6645YRFQ7g1VCQB7W3QRScmpiz0PX4KfrYz3a01Th2MOagUdvoUf6WZjp
-wO/BLrUnbI8TTDB0voNTwXUHPgfj33YgMCsbkuE4DE1Lb4+N9RJHik50eIpugOXxttjB2PehO04N
-6G91BaMFNxJvBTx1BZeZ8OI6Vn17BA1uPEw43K1MwlBjjZ7hMMJg6O36CQauPQwTTE8lfR56mBUQ
-4yP0AmaW3xxhTOBf+EmQ1tK1MVCqCF5xaCr95Airh56n6+09qhM0YJ5I2wd5yE1/YldR1A0T+isC
-PB/I+XfyB30/TYdpgC1TyyTDVutRg60r9PvqOhxgb48wGlM4ju0kowiidmr7Bjs2DvLnMHw42iNs
-0TDGBwtjC5YbbIxWFg30ux1gl8AHh7ofrat11beHET5YhTgmNaw5GHos4ipv5v1xKxouPOLqaHAz
-2IqG5YYHZw0nVdvZaoROTWAQ4CLpWl0wMNz4Sdin3dDIDSf4ZKhg3VagT9T62VDxPNEOCJM8Bqgc
-4whHOj5ch4/Onx1hJ+FGrmG0J7ks7vUK1Cx8rKoZ5LFCB3YJbCNc6c1U6XbIOxb7DHesaYPDMQ4C
-uJE+4yLETUy31u0DJ2LbTrjVYE13jW7tmhcS7qJp0LUABxT8ooN9L5+CRduj0VJjF3XKa7g8rtoJ
-7mcfDSiBRuwunMeDzhBIwqGlwW1gw+sUw/OBYYbTAAPW6fbfdMpLLViGNSwUONeraTKpNYCOAcIF
-pBMsLRUAsBvgGABVsYdVaiILhhhXUzvBIu/t3cBaLwwNghp0QbRY5gmsGlgkvfYEJVXAhYsSCzQ3
-fbfGxC5Q50DY2EdbzH+DyYXnIu+9XBaGq4Np7NEKbfUCec9cp+Gp2gbVMViMYdJJDrheR8yxm0Kj
-IrLG4k6kQDZ4JJmQHSY49ECmN3AMxNOsQaW5hY0d/x42IN4dJGwINvsB9WbQ0RrYdPGzMHt1A8dc
-26Nm7/pcwSJGXTeMuotoeBq0BWHQ4sLOOxb7jOc+rFY6FLtOJ7rv8PjGJQyyutWxh9HtJpCkeBMQ
-gyrO4NpV3dImCJ2MPZyDfLAEXPaTfhTO1AlPN9h/dELzfml4mnCgq6pVkVbLbsa9NVQq1KBbvTxY
-q6fmgIXVUMg0eCUVB5ueuXMJdkw10rqnrag6b9PjiQ9X6aZ6NAlcodWAn62Cng7QPVD4oXsN2Suy
-jrsR9iwehChr9GzqcYKpdzB7vQpsuBlscZB2IOBgnBo72yaYU/ps1+tBhodIh/IEhFU1xqORXB74
-BFOtSz7vmFvbKFZRF8KrBBAcGvjBQCa6WmAP1rpk4biS2WtQh5DugfTpp6qlOQVRPdq7YNbAuyCk
-gqlgcDfa39i/JoymsIB4I8UCJVptixZ2CBhQLBrHyfZNJ7oWigcQzFHpAeMr0NtNb3tv0z/f95aV
-BTqbmkm1T/iT0NF9QRo1ox5EqA1MEy1SGNneutkOdGI0uO2083C2jn1N3YTtbL2vdPxA8lShj48I
-mnVDBxQIedehPtR8kSmENna/p3WDSlDTxqGiowCfIzRxWNP+eUEOYgfHBecUdcV3qrPR8T7JQhZB
-g2Y4PDdqAlNrah/sZRDah6nGqop6TzxJcN5H1Jpbu0IHPYd5n2AEelMCVJ+Ez0a5gQ87wehPuJps
-KYDMJk0J9cCxHuNHETV3mFCnq+yzWdd8r9FCgBGBCaIF907/YMAJh8u0tj1o1eGETx0H6qx/E5i5
-qI+58wtGKIxw0ED/2sYmFkeTxg3TpPs6Ph7yHrKuNbmuID8efnboomoNijhMNoxFBeIyDhspqzAW
-3jDJuuaUFDwo4WRDiQyLVfwO8BS4wXtUq9qoQMGcdXgy9qZEwidpnkGMgV4hPUZhiNOMR9qkBzbq
-C+3UokulnbS/IGZpkuGTtLRUHZlgaOHkoJVP77UVT3GPC7sd7YM0w5TJrqsh75Dr6siDAIKYFJt3
-8vGh566Odvw2SBcAhydaZsNYW69ocqH/odX1BINCcwu9ImtCB4VGCt4k41Gfq+9ATnf+SIcewKKp
-cfiqUae7xX0w4HvNqOYtPDtNa4/mc9/Zm0mHYldBq2rGCW1L1PMqsSw6VI7IIgSp3KiiCPZyPYxo
-nsIcmhKOtirqP2CpwxrQY6Vr+bBEC3cIuhvgbnAI9mSXjrWqCqhXVSiM8I/Q0aXnXdeEQNdtTYqg
-toXCA58MbFZ9Bhi/DjVQeJd+eFvsm+v2xJu6Rr2rqeSQhj9A8DLZmtH8gR60HSr58FmYzsY6yKIS
-n9P2T0eHV0NOozhP0FsZOFSFm/h4NZ14cINa5Rb0pO86vkB0OmCvUTLhuwMaHDZC+Fzw/8G0vE3P
-0k538PywGnowhyyANoE5gnowbUXt3NTCZoX1SRqjPlqLGniDElstINTKkS8DREwPJq09A6kdsOYH
-fQJUdfqJPhhVR9ykOJtwyaYf1AZv2IqAJ2qDGrAkS2AF4y5sbQCyDjnFsyY/BOyaEXW3d/Jp0gRR
-16p1B+KUkxmAeq5bTuj1xO636NawCR+pTzRe+kEep+D8BbQ7EOuE91NBAc+Paj6q3pUqN33DRhu8
-6VTCGiu5DmTD2FbNuhP76Xx35p/vxelNiDGpIjsprUbi4UPphcQeeECAVJUV0dRs9uJxC0Oi9u/A
-ngN8N54XqB+GnhWGaqzjuySsUBEbWh3ABs/9hlWOQY+hBj0gHdqZaO3qCdCxIUFqyGjCElRAEEb0
-BIOdTQ06S3DP4tFni2DTs2TIBGTnYXbseRzR46i+a3i00GI4E+3b6GlHBbETLVqGBpZ7VbGNEk1y
-Ut4H1iThQAo2jCSWyd1ltg8MORwDNb07qGqE1lFf8yiSI0D723bkCQnRDGjQhqtHerOxuYFRbESV
-HdB/87bYq+daTHWL1j/sDFj/yNiijhtQSxs8pOAhKtN/0KXaw7pB/6f5IdqKbSoUonZ0kbsET1F0
-y9p2wptN6Obp0JNmmlzb0yKCj46mTqCbEX5BAcxokqOXd8RDk7a1+gnRrYn6Acq/Ibh7JR17wloi
-X2dfUyCrHaJXC+zMlrWaqD5hjysMoaBsNamIoxMG1JUaZ93iQFbwDceBVtBbHXSy3rvKuzxa9IfD
-toJRmqqqjV2u+hFrWoNwsWeA4Rk6nIm6TQYSxW2HJmyctaxnz7aegpz/YOPCZP7/zL1Zj+1JUif4
-jlTfIR4pNHnb96XnCRJamtEdaNGiBRqNECQUw4hIRkwh1N9+/GebL8cjbt2IU62EbjKOXf+bb+bm
-trtK2WOejq43uM50i8Y11TtdhZ0dRgQdEgJtPF/GusdDWHIVvoo0/r1Wo8jxYebLeApTZJGiiIaN
-zIrocBAwzHoPJQ0qPAsPuj+ZbV+ebnBTYM+pfYSicBuDR0J8LeabiSXw3T99EOMyC9AF4D7ISfkI
-xISxKyQ9ROPyiUzikZahB9tjR2vGAlprpkHAkxTItZH7PJlDPIaVICc+4ro4kRdynKxSl4Wk22OM
-YTLDY2bPoqcGA0Ng64BaoqA84S6DPTNU1UpgsibZdczQmcbVinhyXF8uwJZ5lmQszkqPHfbkDCP8
-oBDoGAwdc4dnF2o2lYdi6NgVqA7AG00JGFonKVYYGZlRGRrEDOGhYTfp7ZjZB4ipi8EUtoM0epDV
-gT0PYRhedDfubbBIMo/DwD79IeNaKT2TaXmKcg3e+0EvWIfuVIluYP4QnV1dtHu4YWpJZKKfJrmh
-s0LoGC1Ro9LWJvE6QvyKyzqSuXyMYN63DzN7HnsKrJaDVcbczArgxA+YYHhR1jnWisyoZEteTpDo
-GWD53pvFBY4zHOMhMY1BLB5G4mKwvzUjKtLjQXgww5JbVcCZHVNAPTcE8hAJoHT1GLsmY0chX9+4
-V6fz8pziR/jUkJMq7i2+nFufdm8SY+BFbckM140N1rhVYjDmDMcoOALutehXJwBkd1yCU/Mks1gj
-TyyIpiwmpdBLJ+Pucq2OmZNJAK1Jv7d1GgvayL7r7aTxqkKTGyOZuv3jHOdCfcyl3XFwykuBQ60n
-O45k5hia1HIahzQAv8G4X6bM1GAsDWRBaaZttMLRKONOd159XTheoZN0Ni11vbAnHI5Yk7h65o4G
-qx7boVwKnIeH5JzdLImFhhIWDeaY0Fyf0Rnp8UW4yau0JhWTDP2qLMJNmeAVyQt/aFCJPNmaplI6
-GDgRBrzf5ndunePKM6imqYl1HG/wFfiRTLQbnAQZ2y8Up6DUBhMtbiWYMKLSKxYFOja0u6JCwzmj
-OVfI3nAa43720PJZo4hyLcDqEtUQRf4OvoeN8akHAuJIM1Mn/JUOwj9Jcnla0cgCSIEHQbEOsmVt
-KSW28DPUkW+F/P/KEkYDZv45M39RRYOICNBprn2Y15xywnUAdQn2mmK2tCJmfSxxq1NtlMCMIQ4g
-nMTUIJigsBQh6W0c2BfNsoetBMy6EmwxrhJVrmC4axywYbYTWMQKsTacKuUGEP/hvQOUrt+5PGTq
-gXlcRZqHmS1nPhUyfIxbaCB3yvIQM9FIGCw4n3oJwLRJ4RdD3unmllNvJdZ0KG/KxVJQWxnUcJP3
-q/gaIP8Gw4wAF5A6h4HogoJ6mDTASYqJXcAIQsHwFo9I6mx+A7ikbprSMcVl9tDf6ApE1IF5s1MR
-pR7eqRYXVcVXbG/pqO+5TJ8CcbEoIZk1HdZNmLA9ewttjJBJyMAG37qLc4zsEILcGu2yS501HpLU
-s3pb0Ihtd7A1TQcKVoscRQUWP7vRz0mu8x9nBOVSI5sFVDQvMGrTsVKRBZ6nsWvQL9VwMYQXlJSA
-qafHaorMOACwna224yFSDD2lcM1YWf+Q+IjAq1n0voahIMP21MgEpdwFmgAie9IU0cfy1hfS8kw7
-POYyZxkiBznodfIqzYm9DBx41kn1j0JeVehbU4dCqPf4ob51HgIcdMgnTKvaCkGBfPqLegrpoFF0
-fLBAGy/iKuyGLk02Ss4EOBWa3npYEThAk1+UnHNCzxIUa+clHOeYVFMO3YF63eiGIjLnhRrDCoU0
-fLroGFgQJPVCZ1YXNLPGkOBnUCbVHOuUCYQT55VJYTOgOrufhwBP5zyLkcBEBsR7QBCwhoH6zGvk
-0jmbD0iELXNyI6zEMLK8Cl66xKCqGxOsYuuCodtu0grtG6HNka0RDIT/CaaNNiOPxhqXgsk3DpPS
-8ZONCXKuOX0aAiKGnECMIUwhyiEeAWTb1rWDTQ3nwasH5JzQ01QMB7cYLqmGqKeZTglZBwJDBeNQ
-RaDphY8wjGz6U2OaAq8PXYWDIbe4BtPi4JDJWRjf0NIKJEu63U3mHTJ59IG1gJJNOYCiTwoGRSXO
-05o4xI4vBmOuiDhicJzs8nGCBP4v30VOpNmR8Qf0GqP53xNTqq/gHCraBbiw0SHWOg==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- n33HUHFXTUTh7G9zQtiwlmYHIn/pj918esL9IoGuQNKFo/EJtlnEPE2JtpTR+I00SieWtPelXxmQ
-BEZD493el18ETxvQbHRgyZe+7H0JCs+npy2Svdw7wQjf7PwH1xfEdYiGVIde2xDkJ9VVKgqFbg1P
-ZO7o1T41cA7hZcEVHjoNW6c2OmvoT1znTFeS7/yKI9zKyWTvBUplFLwWo0WaDqebS+qgAoQEpdTi
-bNZORG3vz75TKMdwG6J09pe2/nRYS7MDUb/09xvtNHB4ud/8YAZ26rqqlG4KgPmZqjZZHVKVM1C3
-ho+49k7tUwOb50qQ+Yde/dErj87atQdc50wXLq+WrNDWELMFShVnQ1B3jFoCvPps6hr75dWxM5sd
-iPzRn35nUKpfPhG1s7/VpjOHpc3Cieic35x6ldhFBC3Z9iuwaTRRZw5Dhp/RCMX75d/nHtTGvMoa
-tQNJ23vSjxTI0USCpLu9p77SmA5nabQj6ZeexMggPvu8KtkTyKpx4goeSWwUXh32m40EErRPs1E8
-kMS9J/2IgUUDQgVJOXoqmzVGhjMb7UjSpSdVPjgj1q8pbRNIVhDIRKCeJPdrEfed/jYFApS4NNqR
-xL0n/UiBHDOlSPzRk1970uFoo3QgSZeemJLLxUi6AGmgtexG0povRtKadyNpzQeSfDFdLkAaqCHp
-R0+r9cOGo43KgaS8aSQlm1KgRI81dmNCJeTCiTxkAQUwx4RuADbWSsCyAmElWtEsv+v6EQPF725I
-6tnV6r2fI1qabXgeprZQtCiyZUvSnEAlRtJaycHAdObkQYaFzkSxsUbhQBL2nvQjBWqeHSOJR09x
-Pzs8nNloRxIvPWlM+yZRv25AuOATpYzSs8dN3kxS0tHffEWQ7yyvjU4kj7L7AqQBGhJ/9OT3nng4
-AlzmwDFq7tKTnt/AzzFRXTQ7vwYk50gt/AYVVXB1dBarNsBvPYtcjW82OrDkvS/9yoBUFmGi8Udf
-funLBiSNyomlXPrScGC2mWbEBwRN6zIoRRFQOFXInBdY0AopVdqAADwOeUFobbbj8Udv+plBU2r1
-ZeKpZ3d17c5Gpc3Cieic3cXNQY8LPrg5cAdsbg49OuZ22A6YeSfWZg+Itv52N4eGp09Ep1ulnG4V
-HpY2Wwa+uzm2/sS5VWZE4pz6AuURR7kZsvaBmuwSDrkKFHLLrM0ORHnvz75TqKSZKKJ89rcLMDos
-a1ZOROXSn0xdxJsYN7/ehIo7ToICosYQRBGb4hb+p7/WZg+Itv7sO4YmdccponT2l47+eFjWLJ2I
-0qU/07M5orqtU1+gPGKU3RDxRMInHO+CAkxRVgHFmh2I3N6ffcdQrWhtiPrZ3xbUasOyZv5E5C/9
-/UZJTShDHgp4fQBTBUJAmGFQ0T9kgZu5QyE/KcUI8VnD9IAsHb3apwamqgULsv7Qa996teEtDU9k
-51wXb4/+U2hLuMYC5EALteWQ7kgpuzwW+c2OGLUKaaN0Ykl7X/qVATnQwtC0o68lKGgOyBodWPKl
-L955sSH3zbKgQLUFiCFadTkv1upN4fNi0l4a7Ujq3pN+pEA2ACgSf/S0GRJ0ONqoHUjapSfeXylT
-BRnQouYNGCQJSd60K/JmG4qyyr/PWPYmD1IsjU4kW0/6kQI5k0mRxKOnuPfEw9FG7UDSLj2xc0di
-HutqMFmAdPdQ6C8/rEdHLIvGWldrCd0kgwqtUT6Q5L0n/UiB9F9D0o6eVrXOhjMb7UjKpSeerYUg
-1unKWmDsh1L3aKCMzmwRjzPp04L0rckDirUf/UZgTfxQhqTt/bS1HxkKN/EnCv/YD030r371B382
-/vvH/1v82z/7+R/+69/99rf/+G8/C+BP/vGf/vlnAf3nlz/8q59//rvXf/yHF4G8+F//6g8uwJdB
-RUMUHP8P+P8d/8dxAenxv3/9P/j3/z7+/n8G9D9e0sv/8fJ//l/u5R9+Bfhf/yVR6Yu+4gpEX1n6
-XP9s/FfTPzDiv/0j6su//Cl38Rf0H7xkIE9L14Iymqh9haLVSCHvZRxsRC1FlMPCsqL+wEPlNaha
-oopBBOQuyQNlf44GX2fbr7a8jkeDfB28j2Z12/Q3vZQa4bGjB5xro0KMEK75L9awHCd7C8zTQ+n2
-rf4MxgTxE/WF8I1+i9KO8PIl/Us9idSvwHRY+vEy7Ekxf/RX9KUN8fUXNcTvW9l36MaoI64l0Pug
-IYcS6CVT6XqUQAfRWLkBIxXUGRT6QD3F+afSB7d9IBXcASup2G+ZEMJklwkNhWydEN7sXPZBXmzS
-b/WnrJX81KXUb2Wlc9n2QfsVmA5LP16GfZLKHOLrL2qI37ey77EYqo45GAsXfvdWGB9F46jcO945
-RMEKakSFK6QyEDGRV/kzCTdzy18XdrNSC0zBmIP58fR3l5PnZUkCzaTpH7y4c11wZnlJ9UNdYD6x
-/EtWX76TvWn6h/hluEN9K0zHE7RehY33JBMb2+svZGzftZbvcZKCG4fIoutNAyEr4VZqehn1hKKL
-qGbi4tA55D2cZvQx/lSqQE7i/PPCZVYKwaPmK4XYb5kVigkus0pumxZ0+2UfSNGeG6E/ZcH0p6yn
-fivLPTCvm6H96r+WfTOWYZ+EMof4+osa4vet7O+FnzRn9NImFxmg5U8lkuau9AKet9KL/ZZZEbec
-s6phm9XKawdM+bR8O9k2N87bZui38wpYN0P71X9t+2Yswz7pZQ7x9Rc1xO9b2WeLKsxEVKqNwa6Z
-5c8Lw7lJtcntUi0R/iJ74WCw7CV/bVKtwEQo1G/1p9tERj2v+q0cZ7zUHB9FRoHpsPTjZdgXqVaG
-8/qLGuL3rezvhbUwE1HRVokktfXPC8O5ibZKL/Y77gKYzGWck3VWK9udcqN+Ozn4Kjfqehq/t9tg
-3QztV2A6rPVieYNe5hBff1FD/L6V/f3ILsxKVLYd/08k2vnXhencZFt1k9nvustj0Yk8Jn+ssq2A
-WEa0D/VELvKjHXWRBavIj/LHJj8KzMbjdvlxc3ypbCsDef2FjO271vL3JtsqfdDjDHbVLH9e2MxN
-tlUKsd91l8BkMuN0rNName0UHPXbybdXwdG4etn2YmBeN0P71X8t+2Ysw77Itiul/GKG+H0r+/sh
-mOaMYNpkI6jkO/9UKmnuSjAqcpnnve3TUhFMJjNEsHVaq81pSo767TRfrZKjGbfathsI3lt2Q/vV
-f237bizDvgi3K8H8Yob4fSv7+7bf6kPY409nd87868J8bnJu28Vc4pmLMOaTCmPy1ybmCkz5s99k
-yLaJkImrzduXHJMCvPzXJkEKzCREqVRvQ76IuDKU11/M8L5vRX8PRlulj5KUKsaNM/+68JqbXNt2
-sVZno8KXzAEhNMtsVuvTlBn1W7NjrSKjLKJ9yUsMvMsGWK8MM4mQv51Dvoi0K338Iob3fSv689Mu
-HGWYr6uEJTCVoIxrpt26bL/VB+I363LbjMtp957szpPdd7LZw9VKmmUbVmu4FEr+uMYHg9UyfzNn
-5U1isKGUff72O+8Sg5r93bYAKqwITEQZ/VZ/qo8nbotgSlBWQeeyDJ8ggxq2dTAzTd4uQh2N/tbB
-2u+8X4Qy0xq2dVixzPtbv9WfYbu/zaDVtnWYw97W4SMcEvaFPlfArA99M16YBqu/y87d1c5lHr2g
-3H21c5k0EtYLyWzwdbf91808Z9JrVzlnNc/pgfi0QAH1eVkOU677ppubzTDsy2G/+87MZMLwaYXH
-60GNyH1bDv1ZNgas35g5wlo9LEfTs7WxOIEpCzNNIu1WBvsddxYntoW2GRnSZBPG4uzD3ZC22UVU
-WY7C4laryOfPNhSXZQFMrYkbj7OxlH0B7HfceZzaf9y2AiuWyeP0W/3pNh5nCmDZlmEO+7mUXcO2
-HCa0x43Vrcx6XQ77HXdWJxOuYVuO9eKYrE6/ncx8ZXXG6tu2HHPYz2B1wlQ2VqfGXbdrPfY77axO
-tR4z8zpldavWs2KZrM5MMnU3BdVNWTPp21qtytozWd26HCZ41Y3VrTx7XQ77XXdWJxPOZVuO9f6Y
-rM4sDn1bDv3pdlY374fLcnxKFBRBdeOTXrMFNuFVf7adS5pOpR8n4ZKr7JompzUuaR9uutgqautX
-PJy2CdrPEAPXuZvhiGHGAmUkZZu7/jR9IW5zB+r0yCAFpreQ3xhk2/ij6pNlW4E55OeJgOsamC2E
-Ycb3eDD6s+1cUedhHyfliusarOrE5Ir6rQn6K1NUnaltazCHPNfgE8F+8RbsF3/9kr+E1On/UsI9
-vaNO/60FPX4o/G/F+ToBglYMfHtfO5A//XrimqGCqh3eX7/2WMVGT6RT9/+FSFnrpZz/gFISqV6+
-EExazvAR1eO/KK7HfxFk2uAR2eO/KOTxXwbTxAHAUU/bTZgABwQv6uBYZL0tE06DHYcvBc/fyn8k
-D5HfkZJVWNb+EbLshkzrEaL4vj72N+0v29evC0RNN7I2x893+79aD/DEsTDJKs9RgYtE/A9gg7c6
-rGRkiDBOq7DDU3kVvpW9q9tcKIGm7CsVJBlng7UvoO7109tqPc7pMvFzcHNR98avl3VUgjp+vt/h
-vq6BhYzBZnEdEaXZstY+Lqm6LDXeRcdbYCKSdH6+cKU+ejKy7KtFj762usOQOZ13SrquxGUCl2na
-0V8/PcY3F3bnTq/fwCmLi4D8sUbnz3VSivcGe5uwWeilBEUm7NYGrfOLWl1lQTv+gQVHdcSMGaa6
-78BtKS7TuwzsNv5a+XHxbU57t6sZduOX7ndiQvrJ1x3DjVYhIpCgVCAtEHu0parCOvW/iVnoxifl
-3K4MSo/3emCJDeS+sTxKTLN2srbbWC+zeZzyjTvvg1tWU8U/vLQoakNVOnDjvxlHsuq5TSI4CYPc
-WZ9Oc+Mi2zyVH24TVYa4zUpx7UAe/b5Ml+W8Lbt8uy7AjeveuLOOev32nPO6ojGJ+B3lrTq8ks5X
-rUrhRVdWL+PAd7D4KITBbYSuHG7ffGFx25Jcl/46YP18ndmNk145rnC+9VtlAVsnCtyGo19vAz/n
-/chNV7Hryh0FtmHQj6/A9etncQLlXTq51zeX4bpg+vm6slcW+c5VsM1VP94X4BjkXGzmKJsg6ezn
-jYO+yZW2j47VNVnLg9+QACD8x7HWOhe38COPdrI22Z3o1erJiuAMQso761OK21jkNsDLmC8zu/Jl
-7UPO09fL+J7KIUxiWSdvysE6e2Ve2/SVy21zVRrcgUyD++JdFvk2Wf12XZQrX7/eADbw9fNz3uui
-4oQmvcy6CjpepUrW8BcRiITSdCyoTur1zd50PNu4rsz5ys50JbfPTXRaOzKNbl1n+3zdEO1oJ10Z
-0g7Uwa+fX+lmY7vbRXTnsQLcetPPr8D3ZLBP8wZlbjrP1zcX9Lr09vm6SXcu+t7dss1bP98X4xjn
-yYTV4LEyt80IojAsv8LGKgW8cL3BfkdWtyF/nhIh/JGmm3derevy9a0pXgZ2Gf6Vow==
- ]]>
- <![CDATA[
- H93O1VWS39bXgOvC3Rb4NsoT420BP2FeEF66LeCVYV9Zu/LSbSF0xNsGXKfxDuFtHx+DnMutg9mW
-24Dr0l734DqoE+eNj3zc7nAuzuvKPbcJXvnsnSPLId8+1xbbQl7ndl2F6yb+5ra8r28ifte6urOr
-K5cX4LZl183dd+dzVknlnNuJuPPY926hb5PUdYPO3hc5hO4muorEBam0Fzv0CExxleTcy18Kd1Cf
-DQt++jHRpKEEFyat5K//mL/KL//xqweF93XhfasS8Y5h4Ftmxos18h2j5dbpRRn/ex68t9nxH3TB
-s1SGAyrLFXX/PZGILNtgonLjNPyXHL6jKW4kkMp07JA32OiK1+3QcbfD/U0t/2YOeM9s8E3z481O
-edPCZdXMi1XMxQVKUUVULxkWfHW1vPxz40XWQzYXGa5CcEEmQ16mQ+1Xp/CDwfNqDrwZ8N4z9H3T
-jnA1OFwME7pMOkfh+V+qaABYLGP5ejZXe9Z3HOE/Xg/CJiXflJ+bknTVHN9RMb9p/LoZya5alx5C
-lbEb35ZEH3pxzpgCZdYSQmB0pUtTOpZ3P8JNmLtj5r6fvd24dVOqrurXVS18V4H8tm3sakW7qnTn
-Ecx8bDTYROxEWf/YOf1c1qgkKav3skSqVBUOIzvo96O4r9rViHazM12NPe+ahb6tn9412ZvO+/fH
-9I3vd1Hr8Kcy6qbBKnrT6eKpOa5wA6I0lghQtVb4fVKpwfPO7Cd0s2ndpNWbVHtTIt7TNr5pK7nZ
-VK6yvK7bDG0Sa1EXPrQSXREB4TigpjDbTbgtupqfTsniVCM2d+a3rQdXO8O7FolvqyZXJeaq7vz9
-hwSxD/Cy06Lwup2gde7vav/fVgjuqsN7SsZuILpZPmiVPhEkUm5BIuXXLx7PAvZC/0VBVLywwgD+
-w6PfD4WKnJhfN6Bg1wP6DbCg+HrDe1FWkp1BYt0cUSX2kEIsXyRPR5ZHy4r9knunpz+8swELMI7j
-4LS3Pj58A6Yff71hXBSPDxx1zpjyl0EqcBvQaPE4SgVuIzpxrsP82FIqxn4Z5FiUx/Fcgf0yxn4O
-Md12Ld12Ld62Ld727cT5hH0rt30rt33Lt33Lt307cX5+38pl38pt3/Jt3/Jl38pb+1Zv+1Zv+1Zu
-+1Zu+3bifMK+9du+9du+tdu+tdu+nTg/v2/9sm/9tm/ttm/tsm/9rX3DE8gXNumufPLKKK+c8sS6
-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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- fZlN3WvXKMSV+NijfbFt5seWHfjvsLu4zl65IVWnjNMEudhG7snEzdMuMHDPoYy8OuffTWvmsBYw
-g+PkoDV4O/nIWzx1c4hcYfX98+OccQATcbEXYc9tcweedtDyaQRzrIK342mE5xAxjn6bdvSI/gm+
-AKQ3iKX7IVPtBSd7os6SB+cJFpel+G6NBgXJlIThbUGp9eQVaa8BxI+1Yea7tZ/4aTQpryZNF4Me
-Cs9raf0gfx+6GKW/YuMwwo75MHp3mpxcgQnshXLqmwjE7t172wWt/Doe6okiUybGNJpjKKU5w3Bt
-ygy10XiCAH3boo4BJupDGhWywyMSl2yGa+gIQBhrRnBC71Rytg4jRHlwfaULJ+UzLybsDUpIP8Tj
-PchhrUjz9MKsm0ddtEMKPfRY5HUYEmE74NSMcfxsQgC0d4ThuyNgpXekoAxYPDaRKxloKic136fu
-XeY62Ykt01q81ha+2GZn4Jg7dhzTqtcWvDtvM5W0Fjp2Kl36a5klPjTnyNLq0EFTFmK8yzZlfexI
-2qUEaq/0Y6/1HNiLA9HkoeTXKze5j9DR1arx50FLn6OTE6W6GAcIaPN33QFVlAxfwwDeCyJZSnDo
-DaY6jiVvOICLHSn9OunRXVkb8/UpvNCj28iOB9kuVcF+xbNx9uiDcvtX5M9md1i1pgMsHy3NkJ3F
-SPfc+0jJxKSq+Bghavo4yBPBdRCgC13zYMo1bTMrkXzyhayU9WOPZYywE9DO2KGRE0c2UFmg1+dN
-4ivGZ5swUiCeTDXjjGO4ugnM7itFoN0bum0T96pwz/LDy/PsffPAEf+WS2sDoC++XqKn9oyouN14
-LBXM4VFsU3bw6Qequkp8vctk0vW8mGAfd3ER+S283q8oyc1ewi0c+D4Ogw/XQpe+2gF39/lD1SqQ
-H5xoRz0eqEwyUEmPqq8VFzTkANvkzJRtfaE32Hu0NPU68brihScMhow8QUPbuDL3Zq7HXDTp9e2M
-R4KzpHcSwFoAxwZelBUWw0jZGphSQR1fjBupk6SwIioJrOhikUjswYk5BrkLx8DxD1EzTBygMsHB
-z64DWOnugNs6KPnzw23kE15kGZCDdMPhUtg2jmjEOCcaVrRzFeFBaoj1jh75OacekL2/0OlLTZWN
-iAEHBoeGRMGS8IKSfE2euRnUOZU16SfQzFhH+R6GLcphk2e7OnbfYVTnZlxeB1yxCR2WaJ0l3Eem
-GqJ81M5KJB36fpYvO2Hc2HHTqb+kS1oYcgher+sHqDtZap6v7Qc9udu3Hg5wfNudQDT0y6L9IlFh
-v9zEniLGTnlXCQIxhQsSsT1ZKutaC9/+HBMpTOHSHhZrmBG4Gd0l3LYP9pCkmDwoNbYTg0wlP/QI
-yojGCte0qpyP0Fjv88A4EQhPfCc7mXHKTwvUyVCCw2ZaoZN2FwpCYtGMUTjyTiilREE+R9FCbxgA
-C9TXHScShWSgQeQmfeFO5pkH29tBw/sWI1zuwRtqCzi4o9D1pQSD2b15UC9mECbP1AizEA284209
-/ENkHF1KV7g8GqJMUG4KZYdhSmUlhAxRerWLRQ0ZwWVRFoVsh+BakQpbERDICBf5E1I0RUnDmxvs
-o70Vr3qlg/aiRzSlsro0VeMhH5BVXACdof3BEVyQLD15+TkHLbCh9UuqY0xtfX4MFOhLQbXMy9g5
-9srCuXITByiRevgYOtMO1xP0YvRi9Hni4Sp0r0PcS55uUM6D2q0S3nCeaNwqqfMlYzJ3fCYogG6W
-VgYh9Vq2JhcNNvid+2Jlld6CgriLI+tKqgAqgaWpJa89FXxlPXd4u5pO43punuYIJJCwTRXUWzc0
-m4TAZzBLwiLsiMN1s2o8wknfTGQqzxLeUYKUiv2wsgemnZGAMA1yfyMBCBPV0wBjwY5GezE2pP2x
-KZHdA9AW3gNClW19l2Y8fgpv7/xQm3XWaMS5E2nSpDviGW0ZNGrsDjASNrCOZRzeqpB+8Zy6ibRw
-oD1yh0KqMHFdOk93gP5sd1Q/FL/uI69UydTTMujlKlRDyHDIth393CsFyBiF9WirVWK/jtTk7uBI
-LBsiD5q7sSsRx+2s8yQsgBXfGURhhcqwsR6yYRuONntKFY6d/NhJ8r1UmwRp4gZlx35Cno6dSqHd
-y/GquIbQ5eLM2Ex6uH/NEQC/Xqx6itEB0cscXX/iDU6kekMxh4bTU2/znW+OlQOvsikhH7JdqC6O
-xezItPIlXz2ACdFNNwIhN9n/LT+1wEtfow9dLuaGD9FOkiOLg+HxsZA/ehA58tkyFgid1Ou4eDpA
-egetwZCMHLSsEpx5bPD+qp7VaRwBIdStYEH0djw5xhLX/SaAZbJcFRJ26vbw64+bSDV7+UxJ8c/1
-tpMYADI/8vW7+tS0Pnwf4bCIOYPu8jL3NIyv9bvx/XrENbLmp0h2eu56kMRDSCkXfDo0gA3q3W4X
-iuYIEVQAbjOVCMwdf/ibs6JZQoZtodpbmGGZVr+guKdrP8rDdDJFEVhkXUdph8x4RnGvMgEZxX4x
-AoA8orZppLDyKEKa05tU98jcEyIp6QI3LpZtFyfBBqiuD8ZAT+w9s7MGOs2XMCNQYJPE+CJrya8v
-9dhP9jppbt9FNKnXqSF0wQiNm3Vme+7g4dSwmBPuB0E4ErOPK1GEXZn3Tu7O88OTe9ccTHFPoFLn
-REe3HiLE6s3B7dejPn/JMyEjPFM6vaBg/i/e8SQMflvS/w0DJLiFZ6TEOBEhoul9DvT6qRvOZK28
-oQYvESTWc4AJSYwOH01PwTUu0/MlYEwa9d9hh6idV4BoD+gap9eIZpRBoHV/HMGznm66gS0SBSP/
-hh0AGGHxYwkkLEGA/9PiWtzERSSX6DIgrWXFWe+zGIMDeNYEDDzO8CXG8TlYeizwyMpE15DuEsR2
-UKed3NEahmHjaIztIrkr4y5gYryXXoSUK6J1hCjC6VwQ71P+R691bcaZNTUHNcFU3jK+1QJaeNlO
-esSY9xek0xhhHuPKsUtXgRMTWca0wGUbJ7wRlcmQfJWFhL2r2Bl2CBSMTbjApwTmRAiHiXKACuiI
-AOzpe1Bm6oM4MPjPhG+6R4UN94EKZGA07Y6RtpJKCQduhHWQVPeCt0SdKbBYB4olQBli9jWU2F3J
-payhEgd1nl1tZwpngTq5CvvlCM6LpcZFRd0DaatEnfc8wt7pg3DpZwUUDshPqziKX9zjq0bA1246
-fm+EfD4L/azhqWr84EZPh29r6OMqhBuys9C061VIUcCdMRU3rqg1hL/NuBDy2ZKERer/OBWJqL4D
-+xr8NbPTv9v4OOYAa3TqX5Ct19p45bcDMDMH66FpAhN0avoWLOc3Jw/iJ33VOZPo7mANcE70AecH
-u3gAhFrxXKlpr6zYnBYR9WkWK7f9Oen4lOBwQyouqLpmVBoO2qPk2t4Z9CwMUDufTuCZpkRIgHNA
-kmAGquCQBHx6+G4/tVeaAj6lYw6BXYxsYlC/zc2c07FWZo4QFSoFI/gIHlnfcMIO1e1uTsLMkMkM
-bNmUBCpWdXfI/ZQSHQu6aYRLtGAkE1Zh6f/QSViVbu6TJPZqRLBc9t2vThSX1NMst7MGkb83SzOt
-nrrw9Gi0D20Nyh8UwxTTviusFUMjqrxkjl6DMez9hXG//LVHU5eNI2uA6lB6I/xlrqcKKWO0mJZ8
-k5ZkWOTm2ZT4E+Pki0ipi9WpInyN+V+Mk2gZxx2Z0XkS5QuJetZaYNKXF+QV9yUlK2TDfE2sacKP
-9i1EwWNNJhaPxSbvGBjggUPAqvwa1aFdB2stsBmhdMuZxeZQHKi8NiGsh6HbOsTuHUMV+QibkJHD
-DMM6LINfBv0y7EUTXu95BACwLokcZARf8Jeg1iVl8omWmKhpycULn69vvusSmXHYebhOaq1Oy2rJ
-gm14ZF47ehjRCyMV9+GjwtO7iYJE7M5ktQ/FAxdZA7S4fmn0fpGTarHrUkry8vDaJYFGj/cL7gJO
-ehk1kvO7EqMaIIUtsjMofwPBuAW5AOMdrGjvaFW+hBDtnoASAErvwfaoay6SjzDAzyo/15jGl0hy
-YxFb8lA8RA/ELmq8gEn5n/PhAI1t62pzZ9nRY3OtQ1qMi11w1wqfYtwMuK9R2PnIm9ln/0UfgTCQ
-Tlt0nK4I5tRdB7gEoAN1MjEvcHFuF+e1UYPaSuGb2AvB6ShG7mWemtWEfnPWg4BxAmil5pAE1Vtz
-BqhCdMHelBgodvziIRSnTUhAQ3GgnWW2ZMj6psSq2J2qUXsHNrgXfBWLsYHSoQfIWjfY5bdi9Zt9
-kGI71QqgZvSt4dQMit1BbV4I/MN5bz/mmQT5JXOKxBgg7R26JMV8rHfYUR6/pD3UB8Ee5OsvOVow
-b84Jqo8EWgdkgTZhjRTN3iq0OtwW/EtbJlTxJIsfjqcgryOEHs48J+wgltcUjo7wdU4lHWOxGogZ
-QbBeQJxwSHWmk2EJUQau+CZVt8qejlCiHLS/A0Qhwi7O4leYlFGuoIZvJJK5J5QgijWN+MieKrWR
-bcUoUU5z1wF1PuHg2t2JVBK7rxKi9o5PSlfMocqwPD73t8ToSowlg73B62kP01uEzoLHJkZnqT3B
-qFhydVvJcP3HPBQUTjdn4yrGJuAzcImDqto+/HNIvFbiepX4sn5+BhtdnbIsws0Wu3NgFmShhMnP
-+TJdgtKM6nHHCvYBQrfIlcvEeEngW8i3fgs62YQRp9BJviFnXsG2IkZv75EPa9jxeoJU2tMqPoeg
-9vGcpRm91ClGb+EQIx9DquWdm1QOUfg7l0RclRKH55KitOW2k4cdJFDezvMOOx58z1ksSJ3qts5L
-wV8GWTr5NWsnENkj59zWRw56rRQyiVYLZSxBBioXL3J8uSOpRKYFbFEBlTg78buhkqFky1S7C2NI
-n6V4WNkLm4+gocl72DmI92IfnpBnsNyl0ikD9GeyVH7Fap3x1LBYBhhNVN/KghuobelvpaoFWJvs
-uRlwUcS2JojgUMmQb6CCjyu1PxylwgL9nQNXhIeJcoIIxpSciex5NfZIh6+rwFbBJusVTX2bBoRS
-MT58NYlSRc80vCCkqmSVdjALouanpCAnv0o/ay75Qb3u6ufHhSQlMBN6qICbLekIohHd35r/3AGg
-83S+SsCT3UjXVwMKEhEOHo6bXxSIYeTEdN2bkYifzN/i3XmhR/1DfHvoI98SimFRqJLFZ79Tydns
-cwo393RS74nRPYphhWwfoSFcVruVkrfwd5GF0FO4u+aPP72L/OqRRn4Mm6RklwWq8lvmdMqXEzQA
-8nOLCoR+AOyKIzd9JGKkCusJSScJGCYWhb64d9obFPj8YNiFJFqNYjQ7iDxbLgM/wpPFPQZKu5vw
-Efns3RtYoVDTMgRBR4Dm2/YS1lLnFiveQ9WLHiaV5GX2VAYOQTuvFDyM031iSi6uC3qZ4zxCHKB2
-MGMi+yIDFPBtnjCCBXnk3mQZ2Zf8sB6md4SPsdOCD38x2aMSt+Zqr3DKe2qbWJuSVw==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- NbCg/APEn0QVP4d/AMWWuEsnjgtYAISrusdgFWACILaHr1MelWOO0jfSHWNpAkueFFL1i/PsS4Af
-3+hcAomwQAc7PpdyoJyvqmbxNmTKxAi3Mp4lHcvVo8AsBn0p7gD2QCP1D1LXXC/ikK80/t5TuCgC
-nfhdl+K/BtEnVYZhON2ZOBrIIkK35McL7hJcDNrz0pEHRGXIBrUKR1nkMRIIC06Rv06V6cHHempg
-ZiuSMRAoxoc7UcdKgQQAAmaRswxluHkDoPCuHGXPgk3lpo7BlBx8aIR79ZrO6YT0wDwQLFcZJ5tx
-7ew8YlUpzk22w9xG93IXYwGKWHaaLrI05ko0WHJYTJW5r2IdXfQiqZx9sVa0RE2JbRVXu2DDeqIT
-lKr1CI8LDpkjrXhTccY2b8SaCEAQMnklwZUrZ9u42Fw9p6YjOz77nPgicbFCs8uEEMiSa2+YeO6B
-0pXRZZkzLHis+shWZlWZtWAveNltFW5oRB6Cxhxs46NlDSuxRQwPD8ml0rGkZUHLsngRS24NAJLi
-EUYDOsDYg7geWFCnyNnJpVRyjKgtyLBIwKoePMApsSbWQZNggLBO3GmMfIWGonCsisYgOBOWoqwe
-xoTTRtMlAi0PSzJlXr+pXFojM7TJjzBQrpTdh7AkfQxCYeqFVcQyOXvsRgVkQ8Kg+baD5w8HPW7i
-ENfNRBd5goYwKSoHOtkY9AfBpbiXDYz+PZvNcYOMbKKXvo+BEAry2BjxL2FNW6bEKdJztuLNHc9q
-UpgB6L6bFhduCR0th77GxhiO0ln6yfZtNx3Cz1RGH972tjdePzsXutq+bXd8D4PcfceNkzct7p+B
-97sOIDgZ633zcwvhwzH4B4Q9HGzzx/dMza3Q56qz+4aF5fqny0cO0YdhmZamjvQ+eeb2laU7V+Zm
-FqZnjtHz91Qtpg/Ozu1fmqG92F3fxdowqZvdb12YnQ6gVUe5azmd0CrfqAauN3XgSbNwiJZm71xZ
-njmMDcMnVbfp9O6cOjxz/dLMd62EUR8Zdp5gEG7hDLvm0j3VhZX5m6eXp+6BLww3T93CSaaz6J7h
-4eXZ5emDt8/ODT/FhcXb8EstnGltNt1TXZo5vDK3vJaL2cIZyiSuXr1d99wPzEwszh9aPDy73GbE
-uXhoZmlqeXFp2D2aXWjhDlWT6N6EQcOtJnbb4srS9Mwbl6YOHZydbuEcZxeaZjcA97X+buEMBl+s
-9Zzs+4amkztbuDD39e728IS/jRNqIPXE1YaBLg9NCBfvfNfM9PLexZWF/aHV3sUBm3xcZlqbVs+V
-3T+IGOy69oZ9184dOji1T7VwcjD+7jndO7t/eQBrUs1OZa08njyH7qkdnJm96+DQDExL5yaTGIBn
-d183c6CzZySHHis59MDSVBAR5m5anD180kuibURlmy6IFi2c5EgQHQmiI0F0JIiOBNGRIDoSREeC
-aHVl1yCItpGxGQmiJ97cTg5B9I1TK4cPz04t7J1bOVYjWA/ZOby8/7qZe2bZln3iSjD1eWyMsb+T
-tqxtU0wY+w0xjYitWzg/ZhnXJrTcfODA4ZnlFl+wtR29RZzO3pP1ALb0ZjUJK/uHZsjbiA73NzDk
-+4fmyFs5oyPrwA63HZqZXpmbWpoEjiLM4/iwArcszi4sTzJn1lY8NfRxHzNZlrXwgGxEBB0LrHAr
-J9Ughr576Enplk7q3UdLh3J4ZenA1PTMbdNTc0PbV9ro/Fafx8aY2cMBBd68MqD5iJ042uzE4eUj
-w5/JOSZXY9OLc4tL19x7kJTybZsnz6lnqkx033DfocWFmYU1qCPaOMeeyfSb7sTiwuHlqTVMt8Wz
-reayZpZrZEU67lakEYFo/9w2aB9ruyZnKDPZcwBzTC3NLh+cn1lupY12szDI3OzyLVOzgyjfCYpC
-TnJDe5sxpO6d2d0DuKbEqtzCKcHoe2Y09Fa1kWG8u2mP8hN6RnnDjAYoRFt+6op1EOMbZ5buOlaE
-uOnR8HeL+YDh6UerLTrrMrmdXPvTYuZluN3ZhCcN38s6TQa6lY4mG7IYtHNKDfaC4Vy49s7cMzN3
-28Gp/Yv3nqQRRUUrN2xzHLnaObeTw5HrxsWlQwcX5xbvOtJierdWvcT+2bmpVtoUNksn0Ua1WF9l
-xP4TeVZNmPkkc0mrn8Op/bMrQ3uAq/E2Jh6ROayd9x8hwxMQGbYxlGbjyLCNs9oYMhyhwBMABZ5k
-Hsd3tlHa2wTk0MZpbQw7tBLfNXlOD69EOWkcjUdpJ47tJm1q2ok2kqdNTzvRRj/XUdqJ9RDsNh7X
-TSDYbZzWBgl2K3mQ9Zj8rps9fGhuanpmfmZh+capQy2mcWu8SwNcFU7Uu9TGaZ28d2m9vlftRHlN
-bleH1xJR08bDd7g5lObIxMGphYWZudtm5mam16AxvLaFU+ydS/ds71vnbG9t4Wx757JmojYBwTU3
-ToV297WYoK1FaJuXybRtt5rFtTXS6jYqCzaBVrdxWhuk1W2kAE20GgcytHgpdR6zTqfnraq9beH0
-ZaprxpLHIY9NbQRTC7PzU62OCTkwOzc3vFptZubdbVSo0SS6t/9OKD4z9P0YcJOOjx6NZtA9sf2D
-3HETxVkbp4Xj757U8uKJrAyE0XfPKLa6CYc+ZEjL0Cmtjss8u+bUPeUgqEzfuLh/6NnOzS7MTLXR
-t7yaSA9RWVqcP5FDRGj8PWcVyoKtDPYkSfXVC20kBelEeia5f//s8uw9Q09xaQb1hm2cZZxJg1iy
-PLU0vKfh3L1TR9pII+I8BvN862F71pM5sI23eVMzB7aRsG6CjNrGaW1QRm2l2D3KgLhruo04YuNX
-qJXTGvkj1Wc05ls4pZE/0tXPMX+k50ZB1lam+xp5JK2HZLfRjr0JJLuN09oYyW4nFzLySEp2qI22
-s024S22c1sl7l9brkdROlLdhj6Q2svUjj6SRR9LII+m47dZmeCRNt1GHuAm0uo3T2iCtbiX7sfke
-SWrkkdQaNDmyjzXcwzZqtjYBY7ZxWhvEmK0kAuvRFIwyWW5SpsR2nvJ1H4mTZl/aaZ0f7UuLs7ls
-jjvQUXAqWkMVsp0tXN4NZRRtZxLHUSHsihkcoIK7Yd/E4uLc3ra6+G88hapq5QkdpVAdpVDdBML+
-HMgaeHJXPVlbVro2agSHz0m3Ls51KBJ2HR7rfW1cHiZgI0Q4QoQjRLhpiNC2cFYtQoRtXJ4RImwl
-IpxZWhwUtznCg63Fg23keNqAB98Ap3rED47Q4AgNPhfQYBv5nfagwTauzomPBk9ij542ulH0ePQc
-t0uVbvy+Ni7V6G61+G65Fh6Ylt6tNi7ViX63Tq7MdEsz84uD8vq0KDPd2hylVUft0VlHmfBv1gn/
-7wnvw+894YNOC+ec+EaP8vF172Ur59WYkG9d6esIod066HCfDLnrDh+C7HUtnGf/3HWjLG+NtGOU
-5e14zTDN8tY1wUMzU8vXDY9YZxf2zxyYXZhtpS03mc1gpnokArVKBNpIQr25Qef3BA0ZaunEngPF
-nNeGOyYW5w8tHp5ttZi3VgPNoA1tmXVmjSGGsmE3rwz4Trswx/DhPi3FHBvLPNJ+w5oeYQ/ihJdm
-lw/Ozyy3cpuOBhZpY1D2xtFIy/HkpqCT9nIiDRmN7h5wzhLFXgunBKPvmdHQ29XGK3Z30x4NcINq
-+YzyhhkNsLq2/NQV6yDKo4QAm5UQoOVEsu3BzqM42sY5XnvDvltm75uZu2Vu6si+Vp6rBiXJkFab
-pART1jFtRKnJRAbcnZFxfmSc3wzjPN4EMM/rbE9bb8XIID8yyLdxlptskD8Bi8mNDPKN9GJkkD9e
-MxwZ5EcG+XZt1cggf+JObGSQ7yn8ceDAyuGZSciLFKYxki1HsuUqkzsyMze3eO+eu5ZmZhb2hCs+
-sycQ1dm7FvfcM7s4N7O8Z2lm/57FpamFu9q4ACOhcxWh88Qpy74uoXOO8dvYNNSEaOFUR5LnSPJs
-pCYjyfN4zXAkeQ7BPYYlWlie5NSgbeXfZubCc9Yidto2Ks2TWfSglXfPzq+sIfOsb+P84iQGH8N1
-qR9Wlg4EVHrbWiqdtTEVfH0eG1M/7Cfpr4Wz3LgGor1z22Cd8JZqVhrQ0lq47m4hs4VT7J5O891b
-E4Jpoz9GbRo9MiXdqonFBaT8J/I8e6ayZvbntkMz04HRXxppz0bas+HEANCVkfaMVWmoRBtpz0ba
-s6OA30bas5H2bKQ9G2nPRtqzoznNk157NrzIPTe4RFBrBO6RTrCLhxnpBIdl9lq4TpupFDzMUm07
-I1mfUxH/shVvuO9Q4NbWoG5p5RntmUy/6a5Zu9RG1NU7me7prk89ujQzgB63RTe6NmboZMztcFJn
-hjnZyUS75/ecSOgwwiDPiewwc7PLt0zNDiL3JygaaX8mpg0hkhZb2TeWFaaNFsuNZYVpI5O8saww
-rZzRKCvMiBifBMS4jfhv49S4xazGBglx28WVUYq29rMXoxRt7T91oxRtm84HrJ18tPGsj9Kznfjp
-2QaQj9YYz0fp2dqVnu2kzgHSxkvxXM4B8lxOl3HzgQOHZ9rsrLW2o7eI0wGcsTSzv60b9Zzy+Ng/
-gMepJtXG+r4w+p4ZHTmhZ3RkJG9tNo4a/uKeEPhpXYTk5NqnE8TIOZKNTzjZ+LaDU/sX721z3vKR
-0NhGodG28MCMhMaR0NjKCzYSGk+cG7YxodG3cEYbExpbOaOR0DgSGkdC40hoPKpC49BIf0yZnS1c
-3wa0PzTWb+mUjvROaSTaDxDt22jea7J53zu7fw3R1EXWxvPJc+ie2sGZwYH7ydzyVs5NJnFiq2Ru
-X1m6c2VuZmH6uLCCo2Rixwp5NiQTW0PCqRMn39Ty4tDeluNtLPYC4++e07pyaN05dXjm+qWZ71oJ
-d3sAmzNKoXUU59k/hdaBpcX54Q9rGzMs0Ax6jusoNVgTbRilBjteMxylBtscBQCNe7iVOrA0Nb08
-NXfT4mwrg3Wrbmu5RYenmW1HzV1T6Z7pwsr8zWF/7hneo7qVOW/SaXRP8fDy7PL0wdtn54af48Li
-bfilFs60NpsGRL0Ge9p0GzUgG8+/38ppbSz1/nQr3VDWY0k4GcOzT7BsS2s4dq28SaMEROtVYI3s
-Ab1zBHvA8lQ7Uyuc+I5+x1yrfLTFmeV0Qm07L5sqzGTPCWmmjV48I2FmHcIMXMwWzjARZ0aM8knL
-KLf08I1Y5fWd66EdnFrpj7AR96ZWTmjk3LQGYabiuPcNyKDUGj3Y2hycslae0c1xcGrn3EYOTseM
-oxpZ1pqF0TZG6G+6LNrGSY5k0ZEsOpJFR7LoSBYdyaIjWXQki65XFm2jMWEki554czs5ZNGTOP9J
-G4WY53L+k6Hd5lo6sY05zp0cod6jtC7HfaM2fr8WZdfaNrWN3bC2oo0NZatpIxEbpThF5Hf93OLi
-QOHjhMF9QxTgPUHRXVtn1oTtDi8fGb4M+wE4gFRt+Jo756am797TIdDioanp2eUj1w==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- j+fYjGSY8RzLkQwcT3sGc+xHssp4jtdgesdzHEfStsGk4znuI2nnYI77MNLxHPcxjAZzYg1m9DP6
-Gf2clD+twjOjwawymJaMp4XMVUvG057BtFluOo6D6R3J8RpPv5Ecl/G0ZzCrj+RYjmeYkRyb8Qw/
-kqM6pHUM4yiNZyMj2cQhbcowNj6kTR/GOgZ2DMZwtF89dujKdXLV6ARqe+rW004/cxu+zjz9tP4B
-CtT4tDO277jw4st2htdlF1+4Y/sZp/X9Qmh81o6LrvBvuv3b3vHt3/6Ob7v9Tf6Ki3ac9fx+vqRn
-7rjEvPk7Dt//oZ/8j+H1kx+6//B3vNlc+uKzGp6w5dTnb79Q3TR//4d/5Q8+8+BD4fXgZ/7gVz58
-/8K3uEt6XVDRqfV10/f/3O997n88/Mjj/xxejz/y8P/43O//wr9fvCm7YFu9/Zat2y5Qt6z86G9+
-/iuPPvEv7F/71L888eg/fuEPf+7+7ywvPCttH1pf6L/z/o/9yd8++s3EdfeZp5/65uP/+PlPvu/A
-NRem/Z96xgV+5n2ffOirX+/1Cv7mI1/+vQ8eKC84I7rlbjlth/rO9/3ulx/95tO9HsfPPPn43/ze
-+75T7Xi+dL/1rEtvvv+TX37syUaX6meeevzLn7z/lp3beThbnv9it/hzn3+kuTX0/+hDH1t+3ct4
-OKHzW//9H/7jN/u6az/zzYf/5Eemdp/3vC3UuT/0C198fBWH7ae//je/8b1vfDl2f+pZl37Lqp3D
-cL722Z945xXbt+KymPmf/8JqnUP3X/6Vw37HaVtO2XL6hW/8gd/9ymqdh+7/5eE/uP+Gl5++5ZRT
-z7z49g9++pFBzvGPfPZHvvXSbaeecuq2y97+4QcfH+DQ//Q/f/GB/VefszU03/ntH3nonwc0f+Yb
-f/OrK+WLTtsCzf/j4OYw+DddePqQzcPgP/PB2y8+89Rhmz/2uR+749Lhm6+p99rY17Qya1v3te3q
-Gs/MGk/kGs+7XNXm2CjpvLpNhAh+62+/3ndxancVRq+nf/RPvtpvOF2YIKzlha9b+dhDfTDHM08+
-VsMzAUVu33nL/b/xpUcasNgzT3/z0S//bg2LhdnuUPv+n99oxJFf/+pDn3zfjE9wJOJUty9i4Gdi
-z09989G//ZOP3f+dvoaBU/z+yD9/gxE84PevfP43f3TlFtVLD5h6/O5nv/g3RD6Qevzez90//bqG
-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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- Wtu1wG/hSWm01kwkQnvcqYUnexUQnOe6466AVGfkocbsrFfKer/2pORWH8zpix0oZCehg6P7IxXr
-+yPQaSx4u1ndLU1e2v3M5etRPtbl1goYwNt2WcjUT4bv6et6pVEsxM9vAZrkSYgxwIDjwKum5qJY
-fNlZ7SifU69UodXodZHW3A/fHZYy4vPqOEOlpqLertCMPWxkauHDB0wiVNMADdLUxgaR3sl+eL17
-m6nXt8IGa0RTzWlhe1B70MamHypc35ZVA7O7lX/LsJLBEGhvoQgoDQqd/JG8+2r/PPwk3ESPxfxb
-XRbyRzu3l6XN0hFHFR/TLHw7BMbsfVrMtB7ewExvf4EmZ3dAhg4Nb2FvkpmLNfSkGEwIO4VI+I3L
-Z0+2gprCCiVjcmFVvHhqJ4Asp9PgR64Af8BJVsyov4nwbS4Fn6VNz4pwD6/pI9xU+zKX075Ev9XQ
-R9rnWrui9iNXhD8u4I+82kRMYDTFggkXamUAhNDk7TB08vUvDvIqOZimHIKioMlqPU1pZF2qzzC0
-nIamRuBSxgnrPuKOwjQIMndo+jwNGxzAZwc6jIzWOK0x8tzEBMzSUw1KxtAb42i5ja//wbCMhIJG
-H4ySxq+c9iylscrMEdwv/c+s1uGihQgFjTaglt74GBb0Lf6taMZq+BOjIYuHt2xUTf3S5cUmuRiN
-I78wz7Mmjhh6fenEV/P0zBUNAm3rqfoR/k2DYSGnaBHtlBkrgpdWxkbnSNE+tJh9OY3KAkWeMpj1
-8LMDbW5g2SwaRADD9c1un0KDuJ5S0NS0j7TRN3x0qX45hzAi0c4YRSCnYT/TfrvUOoLIP8X+yWFn
-PMWGcFKtnKXlyeZF5nK6uWa2H0Pg5o+Dwn2/0IfuIPCOjmKd4aZAHRW+clDz7+ZbuVwfeOTZT2CL
-u7wh+qATIPo4zgrbwIHbOTd4KvWjachoA43trqA72Gjw5DDK6EUd3BuMnhYeIWuEAgQYLYaBHb/f
-N3WJWk9fbwehssm3e9WnYp6/ZyxoxL37ajHDp2NX+XJwsJ45vrscmN42HgX5vHyZ3o+Ia/mj0Dpv
-CgpBAAr9LotzC0JHI2+yzfe8tFuomvpq8EBCIF6pf2VqlZ3HfBMEqgQAOEZG3jRAg2mDERc/Hlxk
-sdc5GUXPQ4fXjS/VzY03FnFzkdepeLoQ2iXwSc5yk8J9e/Oded0/zGPPArrb+6/7xfycnjtCoznv
-mqCizim+Ll1+zDcGpRvo8H4WCzQIFi+FBEPRwy1K7KxLgC2CsKu5TdbAA4ECaBRoVSFb3C88RjV/
-JuoegPmNviAoEaARr56k4/zb+fgy1q09ZJXJAzvOMmsP7jGlr4Dy5gNG0opkXG1+KukKcwQRGu29
-FoNvx9EMtV+/Z3Y2nvdVT9DIqvx7ZOcQS8k5+zXMHN/cboBpFEIyVIC9MYyDe8xhoATEBsVMXtLm
-+YUyIoilNwcRfR4kPqXjHFI2J+1Q8fUllchnq3efBFJhGPP+UNyp9fbQNNazAckjJhK0wNXDDT3W
-UMKomII4Qz0U2vHWM3X02Sgzr3u7NfiWSrb7PQqoTvoIKTG3+VUX03vHd2sg5umsaiIAtwbCDMhZ
-5rLU/gCSdiAz6avVBJ4o4Y3Yw0FwykggANt6wy80mUeRNB0O5hLmyNAaKO9Rh3uvCM3gOke9JXIV
-JcswvdvMnI2y5Sw3zVJ0+GqsTd6nKFCiD8+ZxN5xRHtRV4PX1Kso1ncl6qi8tgcYHg3tNZMdEaGG
-+TQC9mWjRmYNY1ck05qQYe4/13Odx9VkKFV6eTEBjx5nP09CG6FU7U2fikk4CM/ZT+ZgVX8B0GhJ
-EiYvrZ6fZntSls51Vx+2gYLNnuepjU6m0Pr82kIjkviQE8Xi81thu5g5rwB9XzrHcRDFCJktRVff
-HmVBlNRMxE4uHjMQMmvKDtrlJkOrTT9YAjSf07gMC+k0q+gxkxO94vDNzzQ2UqKE+BCNlg2gS7nj
-nhVkrdy7Ns64WLab6zzkwIwXTl7tcCc1fRqHUndPu+rYUEzqqw9Uwftq+uuwJaljuT3NxJuj9yhd
-vg5DYajDcP4u/xZd5TFLD47kMVV5KO1rBquQPGo0o1idpoRTCuCqh8oHjxxjThAz5cftTD13dpmP
-XrQj6eTpZ1c3Ybr04STsVvniFobOD4Xw8GSaScR6uzooJW0IQ/zg2aCOkin3kVdguJpXAHiL0e25
-0jQ7BFJyyb7mj4+He7nXzywHfAzhLF9phc7Bszqt+AcK/nDuvVOMALctuBa/3BvdF5ox6h26HM3Y
-fTd5+r7XLTTrW19m90bAmbX61sZl8WV966L4UstMYJK7SSb/ffMTjGFiDWZMywBegc/2xPMQ1NC6
-14Ptk7AfTMuRxDRzvpt/y0aS0siCNUnHV0+LO3e1CXCq6Lb2oho6OD5t59v9RFhHDXoYDEJJK2a2
-bsB03udM77Y7sY70/KrCkAxvwRiWVsH0bD+nv7L0HtBM7HohshoVrJ3T2kERAE1TybfM8bFjK9ik
-InzF9hhbk97lZvHlE0zK2sPRY6F1uMXnjyurl4na5kcxPT6qfqiZW0XZ2GUp113bEJT5mCwAIrKj
-sFVAlCWOWCd9/XaVhcM8MrqNCig4NqUncSeW4ctPFbP7qox+vJttFJ6LzFXmfO9m0+AgKwOZCOaP
-xrUBmORCtLRZenzJDEpXjeJ+iQ7qoBQ/7UGRvWg7neg8ZnpgOudPMhf19JfRLVdoiwG/trqbER/3
-cunkzVdXvGFZKVPPDG2Cx/CfX1l+R4A+dGZQ3v0q7hdbY4PIpA4EVoEL26uuJ/rz0SQqhxWylAjr
-a4AI6T0tDDdgdjB7vjkUIoNwXXOzDthM/frwM72fGp1mrmLH+4XmNu/Y5BrYhZ0xNI4ZTTNBbpbX
-i7nM0zv4EXmB+bR87YSxwxiH08NIvQwmz17HOj0c+6otKBihPOQfIZr9An8K2J3q6AMPNPRxPdfh
-J7V87HW0m/2Y9LtG4DcHHDAYF+NCaFd4M3ru4Edk9JJ9Tl9vTCY6YVAEDo5fp4na0f2Toc9QJbOb
-rb6gs1tLxVeR+s1cTh66+betci/Oy3s3aDlnT3qudQhCAyUNWrQKUD+7W8VcNrELfbhT4PBl5ELj
-9SFoHNVWepp/X3+8A7FJsFVoCTv7GSp11LdMgT3pimnlj06uboFiLUeAaD+UINNMMymJ0rfY9Wrd
-nr4ByksT4HXevuaPDlim8HzWfMq/1QdRHS5cSTlEASiwC8kjZf0MBBK6tlTjGwDtNZE5G7ZGiVP+
-5QgMy+ACOKGFekZMXLybJ+UH9o7Abx3N74IA1j8z7GQ3n7kYnOQLzbeXAyIa0IoLJs6AbaHOC62b
-dNw62ahx+F64v9htAPdm+5ZkMIS14skWHIRc/mj1jXJCw99Pz5xhpK64QoY/fKsWg8elhCG0cpmy
-ivRraNwmgJa3v5dy3YPDOFowMS56RVY/tca7wK0YR/KVCvSKYtleXtp/XoPKpnZ+fwqcpeyJ0Qwm
-Mn3gMdxsKJGGsqh5n7lsjt7wmhJzIF2ZvjCkNQ6Z4l54TUt/wOyg5lJi3ojXvWod5t43Ci+j9hti
-kNFCINE+f1yHL3pGrMLae7a/Fv8wxEvp8uhLm55qLKGguWH3G+Le+VkNuA1XjF3z83K+0u+Oizkp
-2wck9oTi68lmwtnUnyX3YRIyd9KurudOc9e0owMRTwxjrUJzWI54tKtv3TyBWV1Zy/ZDW+R5o2Kv
-HZ7egqHtis4E1tr5FlpeJlhKFrhX0Z3kSYh9yNTrm+d6lkO1QLnTwvm7EkukCtvI3TaZkMtd6Ehu
-Z+LhSi6993TVQ94Rxe4Gd5RdCpPbx2Ihz4tZIVTVUXPI65xB1QI9W58As/owKm0W66Nsrz+Mmx2i
-N5JDpPemthU6yJxtPxUigjjESi9zsSoj3uxJida1shwtHF2Fkpf36yojz9eg41+C2qWFFvKBin0B
-5vrxqIDXj+DykGFszoEZOiluAyp3z4HrtR3ORvb2kmbG7wH8+wDu3VUabjN4sHBOmJ5f3AIX+Sqs
-zrRU1+Ry7Jd6AynLfbbbe8XGVsHv55qGToFIbxQGU6B+DZQz9W4xOrqfpgUP7XarjvUXO2Hv98N3
-r9fZXoSul+5eRq9mdaZqMk2JaQYW6y0lZ4PMmvBFJ0pwsZLKfnwONiCa4/zR7WXalFKs3Yv110Jw
-Pzx97Aqpr929Qut858CU10RNyrFifpqBa5sfiPWRfLaautZSQyYRAMaX2l1D6ix+Mc2dgN8ON4An
-NlB8FzNINCnzx0dPX0hN6upRAdp9zqH0g5RNliZf7aatgdw+N7HvOAunzEH+nc2V9egasRl0M98u
-hE7Pt0A8mmlreV0BMusWxTf1zE3+nRfWEp/pj2paXOvfqJN4a9WD+9oAqRs/ztcKrTvpYa9xM/zI
-xwofm8VC/KJs1NAFmAhoZc6Oyw0UZyLVCTVpPN+epq8zw8ybYG1cWxeuVelLb8brGwNBB643hmvS
-74NCG4b1H8WXVOYBZptKpOw3gBZ+B8puvAuIGCnZX6MI6BMP+KjXV0/X+423N8lmbwyAxPj58NJi
-z02AIvfp/cPstLgjV0okAHHx8KAMDNFWFAhI5A5OT1MqXoAr7NuF1nStm5QO1vsaC5LGiBubtWzc
-GDwdvb0rWjPM7Omo9956JRjigngsdweE7CmpPJ7WgAW8yj0AxfKVNSTKmelkHZjhwkbh+ZPuABVX
-3M4XBy+3+af3J0qjbhtB2c8l7vog2A4Gtd6khJtgPnZbj2FoSK2DUf3IS0U2aO7rHVRFJ/qGqeJW
-qToKZdZXO0y+wp4w+Y2HJCWt1g741dwuDVz18ri4uxOGhgDooNtQej/cHhQmW5UD6OE9cWNueFvM
-T+43MhdDEHl+Bp9eN9j/l9J3pDJwL2rgbAQ3/o0DeXTaEN7IKSZY49Y9Y7NLvTRYucypli8qOylh
-odoQt7PuuzSCMOy39NrdG3yo9HpTVIo3lAMLlI6QdvVCwgDxL7jmHLyWBpMartWAX9aGva62Y9zh
-exp+rx5PYCAVnlEACMs1Rvikgq62oZVUk6ICyqGSz67pbANyuav6RUlu/IDnbuHje+y7P4kFsOrH
-l9MmGLTicDC5gDVe/naNq0xTTl7+ceq+dV1tfjWW0PbnunFDP7k+VyXvZDgYtjrysC+59JBYDzJD
-3TnDCx7sBRRLl6ajE+yb39X2WVgmkbUUabgMd28oZ/VyVM51qCE7dEZUYMlZpjn800PACVJy3B24
-lXKoHxUB126k5nVX+svHHMpLYyDwqFTQ97wpwdFpTKR6Z9pvDhrd3ng2EcTzFh6Zj8o+K20wf7tv
-XW0nP7GyS0WOL5ArAvHKyJO/hvJnVS/fcxMJNGg5ve7aJzfrcrd/AuvJfMkdQmIRvNkruLSR1E5H
-wGraWy36POjBTSAUPsFS17FVKGYbmAtzEZPH7Ku614H7OgHCsVOXk8ag3ZDbRt1Mog==
- ]]>
- <![CDATA[
- x9+RJG76si43RiPXkiur9cm05GGzMak2fkjy2IcgQ6VAlmPOl1Imf+vGPcW2VgYtYCetMuE9shce
-xWw6Q1DBKZxtdf34Jae6fOsEvTHWOgXrHcDcQEMGEtKRAkpFawDIJ7Tu48BfHWkQGDf+hFOvMQgY
-fRXY00BjDB/rbpJ6dk40AOwhBAl+moH9GE4DI2Cg4Fm0EnYiEGoM7h1eFdM1IQoHADLt0wHgU2Ay
-hCBaUqCLylYagV7jBzynB0gUYDgWxvG01YHkVWCOvvs+0MFgbAPAJ3io5/BNR98dB6aDT3h5RdSf
-ggagW3J3ZDyFZxbNbvPIfItKXatoZBgHB4FgGGeyqVY7oJw74+NLrQrGjxHGmqpuOMzJBwasCLta
-qZo7E1BPXLgwm7auuxaTqp8B79FoDb2cF0c+z0abyTPzYfrIh/64e+QWbvpV+lhzAc5X9KNE5nOD
-ZvvY4Ld5uwVakALHAvDUR2uSE+9tLkicNHzlcLiO//PDQPwLMGBvKKeFi5YRurwu5et5a6UaeAqL
-084G+OphwktArF54ShtewfO1jiV5YDGz4A06vNlgrBj9FQzPDG9Y/Q0gv9U1HP1j+KgwAONOOMAN
-vLrVDhIxklZ7fyO0RYYLigXQPS2rbCi0VYct4wEhovktDjEn9hpuSGS/CYw6GihtWOwZAMN1Q5aT
-naGc4COf4YCoL+EFu+CF8RG5dDCU4vOf3OHZa4pqb12m0Z+pRHnjQ3/BZuNsXLgX+veofAatMRo+
-K79IOVlONQal3vVHM/t6cp7JhAf0094hfR3Pr7enMDuXz5Ufn+jdjDjgV3M759yY3YBbd5oxKhY6
-Ybj98+Qee1ifZPNvidJnef3ioJF/o+5S2lsmdHAhdFa3R/Wv1XDno7waakU3V8Mv7YfVMFO8XA2W
-x7A38MldlK0mVkOpg9GmgqYzYRVSX48OAeWvcVRDk5fk7LQQOqneoE0G6tv8ZzQ25suJ13rpoHCT
-lS7SsfH7fqycuT/O3xevL+GKQ2xCDUHToz74qJZDGGC/RuBZqaezD7/NRXYvuDFTFbQOW7qOOwfJ
-3tCboEUn/Ed1LMt747r8eB+uUDHuMmjsEuD+OF6cXDPPw88tMIY04vCZDld+osb7AHh8GkqVVrcA
-JeMTtZtxuFjLxb/2PhDl4PO7vBnro/x08nhOxloSn/lk5TlKxPq8cVrVsUI0ZsRC97i0Sca6vxqU
-x/SmTMZaox+5NSa5S8IK0Iy3wycRh+7ynWBj+65AxsrtPIb2mXdyX9eKz9z61ahXRVjRwoYJMVXM
-HqcdsArrGwN558AB690zVXw7vSRhhb1ZK63ub9FHL3VSd6lSmak7Di1zn6q/Iqxg4jUL5nG9kR+n
-qSrEuoOXNy1DG7xjH3r0DsDKDW0CVaWyCtba9rYFK8/3X0YkrAANRPwiP3UGdYTYjjXdEMTiBk3E
-+nz4euGEtbzBBvceEVaAxtbd/dWn8XpHuiBjPc/tpL42+lUS1tBeL5kiYQVokEDtHt6nz8hM5u7u
-qGKCOiViXSu+ixsXfeaMhJUqPj0VEVakoa3dFdY3PwcnOSesDaoUfr0mYy1RmW0pKN5ZsKINKJDJ
-k/XwodLdu0jQwuTDU+4AM5kuPH4WTVjv96mqGKEh1l0b1rI0FC4aEYgGIBZH1u5WH+4bDliFdfGz
-XXx2wpqnTnafEhasEA1GXPlKpj/k0wsi1su9bdYR67F0yVIOWB8i1OXLDlysJXf3uCydPtzvBIlY
-r7cH745YLzvnr00LVoRGQVyiro9H+2SsVXbzqpjePyBjHR2tOWK9fimtTbAvQOzuGXVzeJwnYz1J
-FV6ez5+eiFifzj4rFqyqy4EQf9zx7aID1sc49TTuRchYTz9G/bNEnCVifalEoIZ27K68eRladcB6
-d0UVuv0jItb4aWRtNf0UKQCsyS+EFZo1XUNNX8QXBWuT3bFMnp37amMXYWW2U8Gyua9V6nU3mYFY
-wxasAOjHF0Cj2oAD2aoXx8OtAwXr5DBk6evqY+NhB2PN3tEVs1IMy+Or1CrEGkVYV9BJErqGqkTU
-7uYmNr1YXhMw1kP6OGKxsuERd4otD7uRzB2bsW4gQ9BoDiBiytpdOSMNVTE+WrVgHfMfScXyHCbP
-oxYOrw2l1zq2slLjRbC6HHz5aut5mNQbWN7endP9a6e3HeDKbU5Jb1VDABRxfsvhczAOW6Gc4u1I
-H5JoeSvE6ReV8vFn3Pp20Fm7VacnqYFYqyQfHd/Gmd2LV+e3ncbztv7WyjRhPcNs3bccP6+GBoeM
-89vm2dse6S1mmrB+ttZqlh0+j5e3yvtXY/z2bfsrYQF+FeqqbusbvZa0vm0eXQ40phEaXOdDn7Lj
-25vNZmzV+e1jPnmgv7Uz7XXzWdxw/PxjUhuVHd9+XjPZc9JblWn9z2Lq2elz0OHzPd7x7RHDpW4d
-37YGzcuqC9O2Vrcqj7uObwuZk6bk+PaIOVyjXZiWWWU2dpIOn/NlqnCwq/Y6GdyzvA3Vz8eHyttc
-dN82Pcv119JuxtiAC18YQlEQo+Wo9vZDTg0UN3s4oIPqiYoVX3ishbLD8Sn+zaDTmAnUaUBcPnOr
-kaPEHYxQ6/BHFD4rrobzFzn448Yc4mFtoSBsXGRVLSivMdsHtYii3UEcZPbTUuvsNoo90RyBoZBh
-ZsRO4oNtKnZwOwWqdm0LIHzb1xCux7oHzR2gqNYK8vQ1GjHpXiNWiAaGQgb1a8QqrMNQ6IGMlbu7
-d8QKbMoHbfXTjIhRKOSIFdrAlhPWthErd7mhY4VhVPw0e2nobntra13HimIDDStr4TCMDbS+lnom
-rDt3OlbFHdwwMfmAccSKYgMHrCBkBLHBMwkrsp7c3ZNjdwGTx5wzVhgbOGKFsUHH4KeZu7u/GnXD
-Wt12xIocDRJWVadBR6NuGlopoeJHvymDsZO7b/f9tHue9gcmLeDQVFj/ei7cnnmC5DuK9Cl6Iwt6
-/ZgJGdJgYAbrDtRrsA8ZdGFI+aSKU1nRMzjRZpz7se56Mqz/SI2C7boS06sprNRoZ39kiAhOgiFz
-timVKD3kgRJrFCBq1qSmIP5UYVP5ET4ZKhiQd2xJkgFyQOcO4HV4uJUlWQV0YDbWkfKb2o8Lozet
-5MLOtMZ5iKZk7LCaaAMUX9WQFnjdgqpguqsyCHv1ljwh6ENty8xDI/epI35zE/2AYnljocmcs8Fk
-fSYqjmRBcraBBJ+Eme1DypB3UwhT5QVxnXmaZo8R17WIgMh4+EMhH4ffhB5ur/roIWQa/NdzGC/X
-vMdwXevhrqWHarSGRQv4tVcu/PI/hkOLlBpynY78coFG72Y/ij5kXhNoF37tReaUL7ORxvJVevxa
-hPsG1gOX597CesPYzMh9JnufOPKrIxAaE790RQQ/2rFroeeCeXxZH1oIuYOEESk8VmQjDzWiTTzc
-wlqIzL7ngsZhdXraKQoXwviHwj6atFBxDklddVTijtMTJfCInbtbW6RzUKBh/9jD6/qJF7tLx1vK
-UgSRknzIsV9qb/APqRbdUkTApuoLAM31cM4uGQQaSBCI+G4NdBgWp3Rxf93ZAgTe5h2GKjyiGxvb
-ZQtjFOs5E28oZ8PdGYYOVPHRBLrJ7jgLdJ6eHZrT7NtV/TTTBGwUZ5+ARGIba7dTTQs4DOg6Hb6i
-w/DHQ8iwxGGTDaAmg4Vj9yHVfQEwqnoG2z6nQQ8tKtEI7exco8lAGOjNpET2BYpABJpjJ7lNU9Lk
-KmbzzlyGJRRSliJMw9IueXlnfrXQZ3ysy5B5FdenN6k3Bj7Ow8TVTOERhgsrnoNcgmwpL+JUGbRA
-u6Qrbgd+nQx1W+xC0+TwyNl6nl0oFPnx9QBNmq9no0kbPm0M8YqH4zAmNty9Db9jCNAA8gfu/rrf
-iQr4Var1SaAUz2ZmaJeDmQjDTHOEZjYw83cTiUDpbrQ0ppG9vXmZ9iIvk2lm7TZjN0eWnM2rKNui
-20lqvLDnDMkpo2hRNWvekQbRZjPZ286qD9cbzRsw48nTc3K4trzpmb392pgtnMYruwQGHdLHVRJ3
-sDvok0F3a1t+YxMLd3QHCoy5Zqk9Ywmyx1h2VA/GeeNMjE6J3yjQQokWsCvEeOgDX5SYvE7G0ev0
-YIuHArAEjyGjZ2O2We9lmPN+mCF0x8ubem78QofHPI2bUWVsTjWKKlD2CzNgcEh/ABdx1c2zIWoS
-h4lS8fJFVJogGk+y1hdWBUh1wrn3NNmcMbPm2EOCKvDICzj3cHsm/a3vsyEx3sGBcBJeJzf/owKZ
-Jo0/b5YhWvkJXXgal0g6AjGNFBk5hO5gFnTY2ewdZJa61crOr9kmuzO/0Ez3bz1t/DJPdnYj8Rkz
-z/QjfaZr6W5icO6diwLCu+YzmeKWdDiyJnKt5PhL5GLr2T8y+/cOobN3Ihd0bpvUOVUL+MyoHMGd
-DiezJ0LMKdVD+mhqttRzJImAMHwxli7pKx6zdMlqZT2TRESz1j+C68R3CyWJIGN8ZActSsEU+ZsZ
-JPgTaINe0LISFk8bUJ6eWt1sIAx+8o8IvGVHl20cjq3rMnOwL3m+abCeZIr8esns4ZW47SgWkGkz
-mMZjq2mcb94kz3d8sNtV3I9t1tC4TOQ/jT06thpC7y7pSUiTBJnN4Dyq4PBqk7f6aXPy5sVHfh9b
-PmWFPeTMIIub62WXyG6u6kDB9a5t46YQ2C/wzI9EeMe5ORxJR+fNlqv9ur10N394k4XfpUwAzTtL
-S0rREjU0hDbXLDRKJJg8+vqGu4Z2E1k0cn5toKLTnAGZg815yYE+9KJTEZNDWOfQoejOrScgc8J1
-NkNo9gUQNNNC42zQzAl1MA+3wkHkiRpVZw7tiHWdQX5Tbjm0zVUHpSgb0nz0YX4gNCY6+0qhg2cB
-N43u+uKmwTE1ajddoNXpCY3Jjk27jT+dlwF9aDfT2ADepL8W1W5XJO1mCXH9a7ermbSbIgJOwRaE
-trh2u4bbEhZewEUj567d/GoBAGgR7abFNwjQ4toNQlnCKi4C5LKcFM4GtVWgmD6DdLNmHze3pJpx
-BdKSolPgKfvIDPs6QVBky6rDZ0tZyoXr6VFPV93bY8uBGX82cde4ykqhH6ULoF2veusIosa1reLm
-Ft5QAWf1tSXixgsrs09sMHKWDVOuUJwlDQKa1fEnQoFbKsyu+ryAPMNu7Nx6A7Jva/Ltr5u1AIK2
-tCQ37GFIN46aTgOPI8vx/kHYf2HdcDBHUHh7M3vyy5iEtEGbz/sngUJoFrePj1/uxtGnWYMjt0gG
-zCQCi3v/CArBOM5s1hAgV++fBEUVAQug2e2j46B55KFntI8oTWA3juAZNI5GV31++5gMeuzyQr2x
-7tBxZMGL7DIsRm5a+0+OpG+Xk+TGoOAk92MI/MzzW/dJTtzd7cI0X56wPWQkCXQyGPU1412WYXOA
-pdcxXSzsiS4fO/YsNPkQC7ydx2GeWS1VLhqxhnHgWcxf7OnDUjHZ2/Z0ka1x5rwAoA==
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
- <![CDATA[
- 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
- ]]>
-</i:pgf>
-</svg>
--- /dev/null
+
+Contributors
+============
+
+A total of 8 people contributed to this release. People with a "+" by their
+names contributed a patch for the first time.
+
+* Charles Harris
+* Christoph Gohlke
+* Matti Picus
+* Raghuveer Devulapalli
+* Sebastian Berg
+* Simon Graham +
+* Veniamin Petrenko +
+* Bernie Gray +
+
+Pull requests merged
+====================
+
+A total of 11 pull requests were merged for this release.
+
+* `#17756 <https://github.com/numpy/numpy/pull/17756>`__: BUG: Fix segfault due to out of bound pointer in floatstatus...
+* `#17774 <https://github.com/numpy/numpy/pull/17774>`__: BUG: fix np.timedelta64('nat').__format__ throwing an exception
+* `#17775 <https://github.com/numpy/numpy/pull/17775>`__: BUG: Fixed file handle leak in array_tofile.
+* `#17786 <https://github.com/numpy/numpy/pull/17786>`__: BUG: Raise recursion error during dimension discovery
+* `#17917 <https://github.com/numpy/numpy/pull/17917>`__: BUG: Fix subarray dtype used with too large count in fromfile
+* `#17918 <https://github.com/numpy/numpy/pull/17918>`__: BUG: 'bool' object has no attribute 'ndim'
+* `#17919 <https://github.com/numpy/numpy/pull/17919>`__: BUG: ensure _UFuncNoLoopError can be pickled
+* `#17924 <https://github.com/numpy/numpy/pull/17924>`__: BLD: use BUFFERSIZE=20 in OpenBLAS
+* `#18026 <https://github.com/numpy/numpy/pull/18026>`__: BLD: update to OpenBLAS 0.3.13
+* `#18036 <https://github.com/numpy/numpy/pull/18036>`__: BUG: make a variable volatile to work around clang compiler bug
+* `#18114 <https://github.com/numpy/numpy/pull/18114>`__: REL: Prepare for the NumPy 1.19.5 release.
--- /dev/null
+*.pyc
+*.swp
+*.pyd
+*.so
+*.o
+*.lo
+*.la
+*~
+*.bak
+*.swp
+.\#*
+.deps
+.libs
+.tox
+/_build
--- /dev/null
+The following copyright statement applies to all files, excluding
+exceptions mentioned explicitly below:
+
+
+Copyright (c) 2011 Kevin Dunn, Surya K, Pauli Virtanen, the Sphinx team
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of the author nor the names of other
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Exceptions:
+
+_theme/scipy/static/copybutton.js
+
+ Originates from Python; Doc/tools/sphinxext/static/copybutton.js
+
+ 1. This LICENSE AGREEMENT is between the Python Software Foundation
+ ("PSF"), and the Individual or Organization ("Licensee") accessing and
+ otherwise using this software ("Python") in source or binary form and
+ its associated documentation.
+
+ 2. Subject to the terms and conditions of this License Agreement, PSF hereby
+ grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
+ analyze, test, perform and/or display publicly, prepare derivative works,
+ distribute, and otherwise use Python alone or in any derivative version,
+ provided, however, that PSF's License Agreement and PSF's notice of copyright,
+ i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011, 2012, 2013 Python Software Foundation; All Rights Reserved" are retained
+ in Python alone or in any derivative version prepared by Licensee.
+
+ 3. In the event Licensee prepares a derivative work that is based on
+ or incorporates Python or any part thereof, and wants to make
+ the derivative work available to others as provided herein, then
+ Licensee hereby agrees to include in any such work a brief summary of
+ the changes made to Python.
+
+ 4. PSF is making Python available to Licensee on an "AS IS"
+ basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+ INFRINGE ANY THIRD PARTY RIGHTS.
+
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+ FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+ 6. This License Agreement will automatically terminate upon a material
+ breach of its terms and conditions.
+
+ 7. Nothing in this License Agreement shall be deemed to create any
+ relationship of agency, partnership, or joint venture between PSF and
+ Licensee. This License Agreement does not grant permission to use PSF
+ trademarks or trade name in a trademark sense to endorse or promote
+ products or services of Licensee, or any third party.
+
+ 8. By copying, installing or otherwise using Python, Licensee
+ agrees to be bound by the terms and conditions of this License
+ Agreement.
+
+_theme/scipy/static/less/bootstrap/*,
+_theme/scipy/static/img/glyphicons-*,
+_theme/scipy/static/css/spc-bootstrap.css
+
+ Twitter Bootstrap v2.3.1 (and generated output CSS files)
+
+ Copyright 2012 Twitter, Inc
+ Licensed under the Apache License v2.0
+ http://www.apache.org/licenses/LICENSE-2.0
--- /dev/null
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext all css
+
+all: html
+
+css: $(wildcard _theme/scipy/static/css/*.css)
+
+_theme/scipy/static/css/%.css: _theme/scipy/static/less/%.less
+ lessc $^ > $@.new
+ mv -f $@.new $@
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
--- /dev/null
+scipy-sphinx-theme
+==================
+
+`Sphinx <http://sphinx-doc.org>`__ theme for `Scipy <http://scipy.org>`__.
+
+
+Theme options
+-------------
+
+The theme takes the following options in the `html_options`
+configuration variable:
+
+- ``edit_link``
+
+ ``True`` or ``False``. Determines if an "edit this page" link is displayed
+ in the left sidebar.
+
+- ``rootlinks``
+
+ List of tuples ``(url, link_name)`` to show in the beginning of the
+ breadcrumb list on the top left. You can override it by defining an
+ `edit_link` block in ``searchbox.html``.
+
+- ``sidebar``
+
+ One of ``"left"``, ``"right"``, ``"none"``. Defines where the sidebar
+ should appear.
+
+- ``scipy_org_logo``
+
+ ``True`` or ``False``. Whether to plaster the scipy.org logo on top.
+
+ You can use your own logo by overriding the :attr:`layout.html:header`
+ block.
+
+- ``navigation_links``
+
+ ``True`` or ``False``. Whether to display "next", "prev", "index", etc.
+ links.
+
+The following blocks are defined:
+
+- ``layout.html:header``
+
+ Block at the top of the page, for logo etc.
+
+- ``searchbox.html:edit_link``
+
+ Edit link HTML code to paste in the left sidebar, if `edit_link` is enabled.
--- /dev/null
+{#
+ scipy/layout.html
+ ~~~~~~~~~~~~~~~~~
+
+ Master layout template for Sphinx themes.
+
+ :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+#}
+{%- block doctype -%}
+<!DOCTYPE html>
+{%- endblock %}
+{%- set url_root = pathto('', 1) %}
+{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
+{%- if not embedded and docstitle %}
+ {%- set titlesuffix = " — "|safe + docstitle|e %}
+{%- else %}
+ {%- set titlesuffix = "" %}
+{%- endif %}
+
+{%- macro relbar_top() %}
+ <ul class="nav nav-pills pull-left">
+ {%- for link in theme_rootlinks %}
+ <li class="active"><a href="{{ link[0] }}">{{ link[1] }}</a></li>
+ {%- endfor %}
+ {%- block rootrellink %}
+ {% if pagename != master_doc %}
+ <li class="active"><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a></li>
+ {% endif %}
+ {%- endblock %}
+ {%- for parent in parents %}
+ <li class="active"><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a></li>
+ {%- endfor %}
+ {%- block relbaritems %} {% endblock %}
+ </ul>
+{%- endmacro %}
+
+{%- macro relbar_top_right() %}
+ <ul class="nav nav-pills pull-right">
+ {%- for rellink in rellinks %}
+ <li class="active">
+ <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}"
+ {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
+ </li>
+ {%- endfor %}
+ </ul>
+{%- endmacro %}
+
+{%- macro relbar_bottom() %}
+{%- endmacro %}
+
+{%- macro sidebar() %}
+ <div class="spc-rightsidebar span3">
+ <div class="sphinxsidebarwrapper">
+ {%- block sidebarlogo %}
+ {%- if logo %}
+ <p class="logo"><a href="{{ pathto(master_doc) }}">
+ <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo">
+ </a></p>
+ {%- endif %}
+ {%- endblock %}
+ {%- if sidebars != None %}
+ {#- new style sidebar: explicitly include/exclude templates #}
+ {%- for sidebartemplate in sidebars %}
+ {%- include sidebartemplate %}
+ {%- endfor %}
+ {%- else %}
+ {#- old style sidebars: using blocks -- should be deprecated #}
+ {%- block sidebartoc %}
+ {%- include "localtoc.html" %}
+ {%- endblock %}
+ {%- block sidebarrel %}
+ {%- include "relations.html" %}
+ {%- endblock %}
+ {%- block sidebarsourcelink %}
+ {%- include "sourcelink.html" %}
+ {%- endblock %}
+ {%- if customsidebar %}
+ {%- include customsidebar %}
+ {%- endif %}
+ {%- block sidebarsearch %}
+ {%- include "searchbox.html" %}
+ {%- endblock %}
+ {%- endif %}
+ </div>
+ </div>
+{%- endmacro %}
+
+{%- macro script() %}
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '{{ url_root }}',
+ VERSION: '{{ release|e }}',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '{{ '' if no_search_suffix else file_suffix }}',
+ HAS_SOURCE: {{ has_source|lower }}
+ };
+ </script>
+ {%- for scriptfile in script_files %}
+ <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
+ {%- endfor %}
+ <script type="text/javascript" src="{{ pathto('_static/js/copybutton.js', 1) }}"></script>
+{%- endmacro %}
+
+{%- macro css() %}
+ <link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/spc-bootstrap.css', 1) }}">
+ <link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/spc-extend.css', 1) }}">
+ <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" >
+ <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" >
+ {%- for cssfile in css_files %}
+ <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" >
+ {%- endfor %}
+{%- endmacro %}
+
+<html>
+ <head>
+ <meta charset="{{ encoding }}">
+ {{ metatags }}
+ {%- block htmltitle %}
+ <title>{{ title|striptags|e }}{{ titlesuffix }}</title>
+ {%- endblock %}
+ {{ css() }}
+ {%- if not embedded %}
+ {%- block scripts %}
+ {{ script() }}
+ {%- endblock %}
+ {%- if use_opensearch %}
+ <link rel="search" type="application/opensearchdescription+xml"
+ title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
+ href="{{ pathto('_static/opensearch.xml', 1) }}">
+ {%- endif %}
+ {%- if favicon %}
+ <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}">
+ {%- endif %}
+ {%- endif %}
+{%- block linktags %}
+ {%- if hasdoc('about') %}
+ <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" >
+ {%- endif %}
+ {%- if hasdoc('genindex') %}
+ <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" >
+ {%- endif %}
+ {%- if hasdoc('search') %}
+ <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" >
+ {%- endif %}
+ {%- if hasdoc('copyright') %}
+ <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" >
+ {%- endif %}
+ <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" >
+ {%- if parents %}
+ <link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}" >
+ {%- endif %}
+ {%- if next %}
+ <link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" >
+ {%- endif %}
+ {%- if prev %}
+ <link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" >
+ {%- endif %}
+{%- endblock %}
+{%- block extrahead %} {% endblock %}
+ </head>
+ <body>
+{%- block header %}
+{% if theme_scipy_org_logo %}
+<div class="container">
+ <div class="top-scipy-org-logo-header">
+ <a href="{{ pathto('index') }}">
+ <img style="border: 0;" alt="SciPy" src="{{ pathto('_static/img/scipy_org_logo.gif', 1) }}"></a>
+ </div>
+ </div>
+</div>
+{% else %}
+ <div class="container">
+ <div class="header">
+ </div>
+ </div>
+{% endif %}
+{% endblock %}
+
+{%- block content %}
+ <div class="container">
+ <div class="main">
+{%- block navbar %}
+ {% if theme_navigation_links or sidebar == 'left' %}
+ <div class="row-fluid">
+ <div class="span12">
+ <div class="spc-navbar">
+ {{ relbar_top() }}
+ {% if theme_navigation_links %}
+ {{ relbar_top_right() }}
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+{% endblock %}
+ <div class="row-fluid">
+ {%- if theme_sidebar == 'left' -%}
+ {{ sidebar() }}
+ {%- endif %}
+ {%- if theme_sidebar == 'none' -%}
+ <div class="span1"></div>
+ <div class="span10">
+ {% else %}
+ <div class="span9">
+ {%- endif %}
+ {% if not theme_navigation_links and sidebar != 'left' %}
+ <div class="row-fluid">
+ <div class="span9">
+ <div class="spc-navbar">
+ {{ relbar_top() }}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {%- block document %}
+ <div class="bodywrapper">
+ <div class="body" id="spc-section-body">
+ {% block body %} {% endblock %}
+ </div>
+ </div>
+ {%- endblock %}
+ </div>
+ {%- if theme_sidebar == 'right' -%}
+ {{ sidebar() }}
+ {%- elif theme_sidebar == 'none' -%}
+ <div class="span1"></div>
+ {%- endif %}
+ </div>
+ </div>
+ </div>
+{%- endblock %}
+
+ <div class="container container-navbar-bottom">
+ <div class="spc-navbar">
+ {{ relbar_bottom() }}
+ </div>
+ </div>
+
+{%- block footer %}
+ <div class="container">
+ <div class="footer">
+ <div class="row-fluid">
+ <ul class="inline pull-left">
+ {%- if show_copyright %}
+ <li>
+ {%- if hasdoc('copyright') %}
+ {% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
+ {%- else %}
+ {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %}
+ {%- endif %}
+ </li>
+ {%- endif %}
+ {%- if last_updated %}
+ <li>
+ {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
+ </li>
+ {%- endif %}
+ {%- if show_sphinx %}
+ <li>
+ {% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
+ </li>
+ {%- endif %}
+ </ul>
+ </div>
+ </div>
+ </div>
+{%- endblock %}
+ </body>
+</html>
--- /dev/null
+{%- if theme_edit_link -%}
+{% block edit_link %}
+{%- if sourcename %}
+<div class="this-page-menu">
+{%- if 'generated/' in sourcename %}
+ <a href="/scipy/docs/{{ sourcename.replace('generated/', '').replace('.txt', '') |e }}">{{_('Edit page')}}</a>
+{%- else %}
+ <a href="/scipy/docs/scipy-docs/{{ sourcename.replace('.txt', '.rst') |e }}">{{_('Edit page')}}</a>
+{%- endif %}
+</div>
+{%- endif %}
+{% endblock %}
+{%- endif -%}
--- /dev/null
+{%- if show_source and has_source and sourcename %}
+ <h3>{{ _('This Page') }}</h3>
+ <div>
+ <a href="{{ pathto('_sources/' + sourcename, true)|e }}"
+ rel="nofollow">{{ _('Show Source') }}</a>
+ </div>
+{%- endif %}
--- /dev/null
+.container {
+ width: 80%;
+}
+.navbar1 {
+ padding-bottom: 10px;
+}
+.navbar1 .nav-pills {
+ margin-bottom: 0px;
+ font-size: 12px;
+}
+.navbar1 .nav-pills > li > a {
+ padding-top: 2.5px;
+ padding-bottom: 2.5px;
+}
+.navbar1 .dropdown.dropdown-menu {
+ padding: 0px;
+}
+.header {
+ padding-top: 30px;
+ padding-bottom: 18px;
+}
+.SearchBar .form-search {
+ margin-bottom: 0px;
+}
+.SearchBar .input-append input {
+ height: 12px;
+}
+body {
+ font-family: Segoe UI;
+ background-color: #f9faf7;
+}
+.main {
+ background-color: white;
+ padding: 18px;
+ -moz-box-shadow: 0 0 3px #888;
+ -webkit-box-shadow: 0 0 3px #888;
+ box-shadow: 0 0 3px #888;
+}
+.MainHeader h1 {
+ font-weight: normal;
+}
+.content .contentTitle h4 {
+ font-size: 18px;
+ font-weight: normal;
+}
+.content .meta {
+ font-size: small;
+}
+.tags .btn {
+ border: none;
+ font-size: 10px;
+ font-weight: bold;
+}
+.navigation {
+ font-size: 12px;
+ padding-bottom: 12px;
+}
+.navigation .nav-title {
+ color: #333333;
+ font-family: "Segoe UI semibold";
+ font-size: 16px;
+ text-transform: uppercase;
+}
+.navigation li {
+ margin: 5px;
+}
+.snippetHeader {
+ margin-bottom: 5px;
+}
+.snippetHeader .snippetTitle {
+ font-size: 21px;
+ line-height: 40px;
+ border-bottom: 1px solid #e5e5e5;
+ display: block;
+ color: #333333;
+}
+.snippetInfo {
+ padding-top: 10px;
+}
+.snippetInfo .dl-horizontal {
+ margin: 5px;
+}
+.snippet-body {
+ padding: 10px;
+}
+.snippet-body .accordion-group {
+ border: none;
+}
+.snippet-body .accordion-heading {
+ text-transform: uppercase;
+ font-size: 14px;
+ border-bottom: 1px solid #e5e5e5;
+}
+.snippet-body .accordion-heading .accordion-toggle {
+ padding-top: 10px;
+ padding-bottom: 5px;
+}
+.SearchResult {
+ padding: 10px;
+ padding-top: 0px;
+}
+.SearchResult .PageTitle {
+ font-size: 21px;
+ line-height: 40px;
+ border-bottom: 1px solid #e5e5e5;
+ padding-bottom: 5px;
+ display: block;
+ color: #333333;
+}
+.footer {
+ padding: 10px;
+}
+.footer-inside {
+ border-top: 1px solid #e5e5e5;
+ padding: 10px;
+}
--- /dev/null
+/* Styling for the source code listings: (mostly from pygments)*/
+
+.highlight pre{
+ overflow: auto;
+ padding: 5px;
+ background-color: #ffffff;
+ color: #333333;
+ border: 1px solid #ac9;
+ border-left: none;
+ border-right: none;
+}
+
+/* Styling for pre elements: from http://perishablepress.com/press/2009/11/09/perfect-pre-tags/ */
+/* no vertical scrollbars for IE 6 */
+* html pre {
+ padding-bottom:25px;
+ overflow-y:hidden;
+ overflow:visible;
+ overflow-x:auto
+}
+/* no vertical scrollbars for IE 7 */
+*:first-child+html pre {
+ padding-bottom:25px;
+ overflow-y:hidden;
+ overflow:visible;
+ overflow-x:auto
+}
+
+div#spc-section-body td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #008000 } /* Comment */
+.highlight .k { color: #000080; font-weight: bold } /* Keyword */
+.highlight .n { color: #000000 } /* Name */
+.highlight .o { color: #000000 } /* Operator */
+.highlight .cm { color: #008000 } /* Comment.Multiline */
+.highlight .cp { color: #008000 } /* Comment.Preproc */
+.highlight .c1 { color: #008000 } /* Comment.Single */
+.highlight .cs { color: #008000 } /* Comment.Special */
+.highlight .kc { color: #000080; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #000080; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #008080 } /* Literal.Number */
+.highlight .s { color: #800080 } /* Literal.String */
+.highlight .na { color: #000000 } /* Name.Attribute */
+.highlight .nb { color: #407090 } /* Name.Builtin */
+.highlight .nc { color: #0000F0; font-weight: bold } /* Name.Class */
+.highlight .no { color: #000000 } /* Name.Constant */
+.highlight .nd { color: #000000 } /* Name.Decorator */
+.highlight .ni { color: #000000 } /* Name.Entity */
+.highlight .ne { color: #000000 } /* Name.Exception */
+.highlight .nf { color: #008080; font-weight: bold } /* Name.Function */
+.highlight .nl { color: #000000 } /* Name.Label */
+.highlight .nn { color: #000000 } /* Name.Namespace */
+.highlight .nx { color: #000000 } /* Name.Other */
+.highlight .py { color: #000000 } /* Name.Property */
+.highlight .nt { color: #000000 } /* Name.Tag */
+.highlight .nv { color: #000000 } /* Name.Variable */
+.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.highlight .mf { color: #008080 } /* Literal.Number.Float */
+.highlight .mh { color: #008080 } /* Literal.Number.Hex */
+.highlight .mi { color: #008080 } /* Literal.Number.Integer */
+.highlight .mo { color: #008080 } /* Literal.Number.Oct */
+.highlight .sb { color: #800080 } /* Literal.String.Backtick */
+.highlight .sc { color: #800080 } /* Literal.String.Char */
+.highlight .sd { color: #800000 } /* Literal.String.Doc */
+.highlight .s2 { color: #800080 } /* Literal.String.Double */
+.highlight .se { color: #800080 } /* Literal.String.Escape */
+.highlight .sh { color: #800080 } /* Literal.String.Heredoc */
+.highlight .si { color: #800080 } /* Literal.String.Interpol */
+.highlight .sx { color: #800080 } /* Literal.String.Other */
+.highlight .sr { color: #800080 } /* Literal.String.Regex */
+.highlight .s1 { color: #800080 } /* Literal.String.Single */
+.highlight .ss { color: #800080 } /* Literal.String.Symbol */
+.highlight .bp { color: #407090 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #000000 } /* Name.Variable.Class */
+.highlight .vg { color: #000000 } /* Name.Variable.Global */
+.highlight .vi { color: #000000 } /* Name.Variable.Instance */
+.highlight .il { color: #008080 } /* Literal.Number.Integer.Long */
--- /dev/null
+/*
+Styling to add still
+--------------------
+
+div: spc-notice (general notices: e.g. submission requested is invalid)
+
+*/
+
+/* -------------------------------------------------------------------------*/
+/* Basic layout of the document: no styling - that is applied further down. */
+/* -------------------------------------------------------------------------*/
+body {
+ /* From: http://matthewjamestaylor.com/blog/perfect-3-column.htm */
+ margin:0;
+ padding:0;
+ border:0; /* This removes the border around the viewport in old versions of IE */
+ width:100%;
+ background:#ffffff;
+ min-width:600px; /* Minimum width of layout - remove line if not required */
+ /* The min-width property does not work in old versions of Internet Explorer */
+}
+
+#spc-document-container{
+ position: relative;
+ min-width: 50em;
+ max-width: 90em;
+}
+#spc-header {
+ clear: both;
+ float: left;
+ width: 100%;
+ display: block;
+}
+.spc-header-row{
+ float: left;
+ width: 100%;
+ clear: both;
+}
+.spc-header-left{
+ float: left;
+ position: relative;
+ left: +1%
+}
+.spc-header-right{
+ float: right;
+ position: relative;
+ left: -1%
+}
+#spc-contentwrap{
+ display: block;
+ overflow: hidden;
+}
+#spc-content-main{
+ float: left;
+ width: 100%;
+}
+
+#spc-navigation-bottom{
+ clear: both;
+}
+#spc-footer{
+ clear: both;
+}
+
+/* -------------------------------------------- */
+/* Now we will begin styling the various blocks */
+/* -------------------------------------------- */
+
+/* Document container */
+#spc-document-container {
+ font: 13px/1.5 'Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif;
+ background: #FFFFFF;
+ margin: auto; /* display container in the center of the page */
+ padding-top: 12px;
+}
+#spc-document-container img{
+ border: 0
+}
+#spc-document-container a:visited { /* for IE6 */
+ color: purple;
+}
+/* Header block styling */
+.spc-header-row{
+ text-align: center;
+}
+.spc-header-right{
+ float: right;
+ text-align: right;
+}
+#spc-site-notice{
+ /*display: none;*/
+ color: #aaf;
+ font-weight: bold;
+ padding: 6px 0px;
+ border-bottom: 1px dashed #aaf;
+ background: #eee;
+ /*display: none; Uncomment to remove the site notice*/
+}
+#spc-site-title{
+ border-bottom: 1px solid #aaa;
+ margin-top: -2em;
+
+}
+
+#spc-top-menu{
+ padding-top: 0.25em;
+}
+#spc-header h1 a {
+ color: black;
+ text-decoration: none;
+ text-align: center;
+ font: 36px/1.0 'Inconsolata','Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif;
+ font-weight: bold;
+}
+#spc-top-menu a {
+ text-decoration: none;
+ font-weight: bold;
+ font: 20px 'Inconsolata','Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif;
+}
+#spc-top-menu a:hover{
+ text-decoration: underline;
+}
+
+/* contentwrap block: applies to everything in the bulk of the page */
+#spc-contentwrap {
+}
+
+/* The major chunk of content (left side); the sidebar comes later */
+#spc-content-main{
+ background: #FFFFFF;
+}
+
+/* Border */
+#spc-border {
+ margin-left: 0px;
+ background: white;
+ padding-top: 0em; /* Don't remove top and bottom padding: leads to */
+ padding-bottom: 0em; /* unwanted horizontal borders around the document.*/
+ padding-left: 2em;
+ padding-right: 2em;
+}
+
+/* spc-section-body: the current section of the document. The Sphinx
+ generated HTML is inserted inside this DIV element. Specific formatting for
+ the HTML should go here */
+/* ----------------------- */
+#spc-section-body {
+ margin-bottom: 1em;
+}
+
+/* Styling for the headers */
+div#spc-section-body h1, h2, h3, h4, h5, h6{
+ color: #20435C;
+ font-family: 'Trebuchet MS', sans-serif;
+ font-weight: normal;
+ border-bottom: 0px solid #ccc;
+ margin-bottom: 0.5em;
+}
+div#spc-section-body h1 { font-size: 200%; font-weight: bold;}
+div#spc-section-body h2 { font-size: 160%; font-weight: bold; color: #101074;}
+div#spc-section-body h3 { font-size: 140%; color: #362A13;}
+div#spc-section-body h4 { font-size: 120%; }
+div#spc-section-body h5 { font-size: 110%; }
+div#spc-section-body h6 { font-size: 100%; }
+
+.spc-title-in-span{font-size: 160%; font-weight: bold; color: #101074; float: left;}
+
+/* Styling for forms */
+input, select, textarea{
+ border:solid 1px #aacfe4;
+ padding: 4px 2px;
+ margin-bottom: 1em;
+}
+
+/* Styling for hyperlinks */
+div#spc-section-body a{
+ text-decoration: none;
+}
+div#spc-section-body a:hover{
+ text-decoration: underline;
+}
+
+/* Styling for images and figures: images are inline, figures are centered */
+div#spc-section-body .align-center{
+ text-align: center;
+}
+
+/* Styling for <tt></tt> elements */
+tt {
+ background-color:#EEE;
+ color:#000;
+ font: 16px/1.0 'Inconsolata', Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
+}
+
+/* Main page */
+#spc-site-statement{
+ width: 90%;
+ margin: auto;
+ text-align: center;
+ padding-top: 1em;
+}
+#spc-search{
+ clear: both;
+ float: none;
+ display: block;
+ margin: 0 auto;
+ width: 700px;
+}
+#spc-search-form{
+ margin-top: 10pt;
+}
+#spc-search-input {
+ cursor: auto;
+ display: inline;
+ height: 31px;
+ float: left;
+ width: 580px;
+ border: 2px solid #3e5d34;
+ padding: 0;
+ padding-left: 0.5em;
+ margin: 0;
+ margin-right: 20px;
+ color: #555;
+ font-family: 'Inconsolata', 'Lucida Grande';
+ font-size: 24px;
+ text-indent: 0px;
+ text-shadow: none;
+ text-transform: none;
+ word-spacing: 0px;
+ background: none;
+}
+#spc-search-button{
+ border: 1px outset #B6A792;
+ vertical-align:middle;
+ border:none;
+ cursor:pointer;
+ padding: 0;
+ display: block;
+ float: left;
+ width: 80px;
+ height: 35px;
+ margin: 0;
+ background: #ddd;
+ display: inline-block;
+ overflow: hidden;
+}
+#spc-search-results{
+ width: 75%;
+}
+#spc-search-results li{
+ margin: 0 auto;
+ list-style-type: none;
+ padding: 0.5em 0;
+ float: left;
+}
+
+/* Submission buttons */
+.spc-button-container {
+ float: left;
+ width: 100%;
+ clear: both;
+ margin-bottom:1em;
+}
+#spc-buttonlist {
+ margin: 0 auto;
+ list-style-type: none;
+ padding: 0;
+ padding-top: 2em;
+ float: left;
+ position: relative;
+ left: 50%;
+}
+#spc-buttonlist li {
+ float: left;
+ position: relative;
+ right: 50%;
+ padding: 0em 1em;
+}
+#spc-buttonlist a {
+ text-decoration: none;
+ margin: 0 auto;
+ display: block;
+}
+.spc-button{
+ background-position: 0px 0px;
+ background-color: #DDDDDD;
+ border: 1px outset #B6A792;
+ cursor: auto;
+ display: inline-block;
+ vertical-align: middle;
+ overflow: hidden;
+ padding: 0;
+ margin: 0;
+}
+
+/* Portals */
+.spc-portal-container{
+ width: 65%;
+ clear: both;
+ padding: 0px;
+ position: relative;
+ display: block;
+ margin: 0 auto;
+}
+.spc-portal-row-container {
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+ overflow:hidden; /* This chops off any overhanging divs */
+}
+.spc-portal-row {
+ float:left;
+ width:100%;
+ position:relative;
+ right:50%; /* right column width */
+ background:#fff; /* left column background colour */
+ }
+.spc-portal-left,
+.spc-portal-right{
+ float:left;
+ position:relative;
+ padding:0 0 1em 0;
+ overflow:hidden;
+}
+.spc-portal-left {
+ width:46%; /* left column content width (column width minus left and right padding) */
+ left:52%; /* right column width plus left column left padding */
+}
+.spc-portal-right {
+ width:46%; /* right column content width (column width minus left and right padding) */
+ left:56%; /* (right column width) plus (left column left and right padding) plus (right column left padding) */
+}
+.spc-portal-container h3{
+ font: 14px/1.0 'Inconsolata', Monaco, Lucida Console, Sans Mono, Courier New, monospace, serif;
+ text-align: center;
+ border-bottom: 1px solid;
+}
+.spc-portal-container a{
+ text-decoration: none;
+ font-weight: bold;
+ font: 14px sans-serif;
+}
+.spc-portal-container a:hover{
+ text-decoration: underline;
+}
+.spc-portal-container ul{
+ list-style-type: square;
+}
+.spc-portal-container li{
+ margin-left: -1em;
+}
+
+
+/* Submission forms */
+#spc-form-error-message{
+ margin-bottom: 1em;
+ text-align: center;
+ border-bottom:solid 1px #000;
+}
+.errorlist{
+ list-style-type: none;
+ float: left;
+ padding: 0;
+}
+.errorlist li{
+ font-style: italic;
+}
+.spc-field-error{
+ background: #ee8888;
+ padding: 4px;
+}
+.spc-form-button{
+ padding: 5px;
+}
+
+ /* column container */
+ /* http://matthewjamestaylor.com/blog/perfect-3-column.htm */
+.colmask {
+ position:relative; /* This fixes the IE7 overflow hidden bug */
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+ overflow:hidden; /* This chops off any overhanging divs */
+ padding-bottom: 1em;
+}
+/* common column settings */
+.colright,
+.colmid,
+.colleft {
+ float:left;
+ width:100%; /* width of page */
+ position:relative;
+}
+.col1,
+.col2,
+.col3 {
+ float:left;
+ position:relative;
+ padding:0; /* no left and right padding on columns */
+ overflow:hidden;
+}
+ /* 3 Column settings */
+.threecol {
+ background:#fff; /* right column background colour */
+}
+.threecol .colmid {
+ right:25%; /* width of the right column */
+ background:#fff; /* center column background colour */
+}
+.threecol .colleft {
+ right:60%; /* width of the middle column */
+ background:#fff; /* left column background colour */
+}
+.threecol .col1 {
+ width:58%; /* width of center column content (column width minus padding on either side) */
+ left:101%; /* 100% plus left padding of center column */
+}
+.threecol .col2 {
+ width:13%; /* Width of left column content (column width minus padding on either side) */
+ left:28%; /* width of (right column) plus (center column left and right padding) plus (left column left padding) */
+}
+.threecol .col3 {
+ width:23%; /* Width of right column content (column width minus padding on either side) */
+ left:90%; /* Please make note of the brackets here:
+ (100% - left column width) plus (center column left and right padding) plus (left column left and right padding) plus (right column left padding)
+ (100-15)+(1+1)+(1+1)+(1)*/
+}
+.form-field input, select, textarea{
+ width: 98%;
+ max-width:1000px;
+ min-width:500px;
+}
+.form-field-auto-width{
+ width: auto;
+}
+.spc-code-description{
+ height: 15em;
+}
+span.spc-helptext ul{
+ margin: 0;
+ padding-left: 20px;
+}
+.spc-odd{
+ background: #DDF;
+}
+.spc-even{
+ background: #CCF;
+}
+li.spc-odd tt{
+ background-color: #DDF;
+}
+li.spc-even tt {
+ background-color: #CCF;
+}
+
+/* Image upload */
+#spc-item-upload {
+}
+#spc-item-upload-button{
+ padding: 0.5em;
+ text-align: center;
+}
+.spc-item-upload-success{
+ background: #ffa;
+ padding: 4px;
+}
+
+/* Tagging */
+.ui-autocomplete {
+ max-height: 150px;
+ overflow-y: auto;
+ overflow-x: hidden; /* prevent horizontal scrollbar */
+ padding-right: 20px; /* add padding to account for vertical scrollbar */
+}
+/* IE 6 doesn't support max-height
+ * we use height instead, but this forces the menu to always be this tall */
+* html .ui-autocomplete {
+ height: 100px;
+}
+.spc-tag{
+ background-color: #E0EAF1;
+ color: #3E6D8E;
+ border-bottom: 1px solid #37607D;
+ border-right: 1px solid #37607D;
+ text-decoration: none;
+ padding: 4px 4px 3px 4px;
+ margin: 2px 5px 2px 0px;
+ font-size: 90%;
+ line-height: 1.4;
+ white-space: nowrap;
+ cursor: pointer;
+ float:left;
+}
+.spc-tag:hover{
+ background-color: #3E6D8E;
+ color: #E0EAF1;
+}
+.spc-tag-cloud{
+ background-color: #FFF;
+ color: #3E6D8E;
+ border-bottom: 0px solid #37607D;
+ border-right: 0px solid #37607D;
+ text-decoration: none;
+ padding: 0px 4px 0px 4px;
+ margin: 2px 5px 2px 0px;
+ font-size: 90%;
+ white-space: nowrap;
+ cursor: pointer;
+}
+.spc-tag-cloud:hover{
+ background-color: #FFF;
+ color: #1E4D6E;
+}
+
+#spc-preview-edit-submit{
+ clear: both;
+}
+#spc-preview-edit-submit form input{
+ display: inline;
+ padding: 5px;
+}
+#spc-item-submit{
+ margin-left:8em;
+ font-weight: bold;
+}
+#spc-item-preview{
+ width:auto;
+ min-width:0;
+ padding: 0.5em;
+ text-align:center;
+}
+
+#spc-item-header{
+ clear: both;
+ padding: 0px;
+ float: left;
+ width: 102%;
+ position: relative;
+ display: block;
+ margin: 0 auto;
+ left: -1%;
+ top: -20px;
+}
+#spc-item-header-left{
+ float: left;
+ text-align: left;
+}
+#spc-item-header-right{
+ float: right;
+ text-align: right;
+}
+
+div.spc-item-row {
+ clear: both;
+ padding-top: 10px;
+}
+
+div.spc-item-row span.spc-item-label {
+ float: left;
+ width: 200px;
+ text-align: left;
+ padding-right: 20px;
+ padding-bottom: 4px;
+ font-weight: bold;
+}
+
+div.spc-item-row span.spc-item-entry {
+ float: left;
+ min-width: 500px;
+ max-width: 1000px;
+ text-align: left;
+}
+
+div.spc-item-row span.spc-item-entry ul{
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
+}
+
+div.spc-item-row span.spc-50-50{
+ float: left;
+ width: 49%;
+ text-align: left;
+}
+.spc-help-section a{
+ color: #0069CC;
+ margin-top: 1em;
+}
+.spc-entries-list ul{
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
+}
+/* Unstyle certain elements in the code/link description fields */
+.spc-item-description p{
+ margin: 0;
+ margin-bottom: 1em;
+}
+.spc-item-row pre{
+ border: 0px solid #FFF;
+ overflow: auto;
+ padding: 5px;
+ background-color: #EEE;
+ border: none;
+ margin: 0;
+ font: 16px/1.0 'Inconsolata', Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
+}
+
+
+/* Item display*/
+#spc-itemdisp-container{
+ clear: both;
+ padding: 0;
+ padding-top: 1em;
+ margin: 0 auto;
+ width: 85%;
+}
+
+.spc-itemdisp-row-container {
+ clear:both;
+ float:left;
+ width:100%;
+ margin: 0 0 1em 0;
+}
+.spc-itemdisp-row {
+ float:left;
+ width:100%;
+ }
+.spc-itemdisp-td{
+ float: left;
+ padding-right: 1%;
+}
+.spc-itemdisp-description{
+ width: 50%;
+}
+.spc-itemdisp-link{
+ float: right;
+ font-size: 80%;
+}
+div .spc-itemdisp-mainlink{
+ text-decoration: underline;
+ float: left;
+ width: 100%;
+}
+.spc-itemdisp-revinfo{
+ float: right;
+ font-size: 80%;
+}
+.spc-itemdisp-created{
+ width: 23%;
+}
+.spc-itemdisp-tags{
+ width: 23%;
+}
+.spc-itemdisp-odd{
+ background: #fff8f1;
+}
+.spc-itemdisp-even{
+ background: #fff;
+}
+.spc-itemdisp-header{
+ background: #f1c79d;
+ padding: 0.4em 0 0.4em 0;
+ font-weight: bold;
+}
+#spc-itemdisp-pageheader{
+ text-align: center;
+ font: 24px/1.0 'Inconsolata','Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif;
+ font-weight: bold;
+}
+.spc-itemdisp-pagination{
+ float: left;
+}
+
+div#spc-itemdisp-container h1, h2, h3, h4, h5, h6{
+ font-weight: normal;
+ border-bottom: 1px solid #ccc;}
+div#spc-itemdisp-container h1 { font-size: 130%; font-weight: bold;}
+div#spc-itemdisp-container h2 { font-size: 120%; font-weight: bold;}
+div#spc-itemdisp-container h3 { font-size: 110%;}
+div#spc-itemdisp-container h4 { font-size: 100%; }
+div#spc-itemdisp-container h5 { font-size: 100%; }
+div#spc-itemdisp-container h6 { font-size: 100%; }
+
+/* Permalinks and other minor info*/
+.spc-minor-info {
+ font-size: 80%;
+ float: left;
+ border-top: 1px solid #ddd;
+}
+.spc-minor-info p{
+ margin: 0;
+}
+.spc-minor-info a{
+ text-decoration: none;
+}
+.spc-minor-info a:hover{
+ text-decoration: underline;
+}
+
+/* User profile pages */
+#spc-profile-user-options ul{
+ margin: 0 auto;
+ padding: 0 0;
+}
+#spc-profile-user-options li{
+ margin: 0 auto;
+ list-style-type: none;
+ padding: 0 5px 0 5px;
+ float: left;
+ border-right: 1px solid;
+}
+#spc-profile-user-options li:first-child{
+ padding-left: 0px;
+}
+#spc-profile-user-options li:last-child{
+ border-right: none;
+}
+/* Styling for certain static pages */
+#spc-static-centering{
+ display: block;
+ margin: 0 auto;
+ min-width: 30em;
+ max-width: 50em;
+}
+
+/* spc-footer: http://www.alistapart.com/articles/practicalcss/ */
+#spc-footer {
+ clear: both;
+ font-size: 90%;
+ padding: 0px;
+ float: left;
+ width: 100%;
+ position: relative;
+ display: block;
+ margin: 0 auto;
+ border-top: 1px solid #aaa;
+}
+#spc-footer a{
+ text-decoration: none;
+ font-weight: bold;
+ font: 15px sans-serif;
+}
+#spc-footer a:hover{
+ text-decoration: underline;
+}
+.spc-footer-left{
+ float: left;
+ text-align: left;
+}
+.spc-footer-right{
+ float: right;
+ text-align: right;
+}
+.spc-footer-left ul{
+ margin: 0;
+ padding: 0;
+}
+.spc-footer-left li{
+ display: inline;
+ padding-left: 3px;
+ padding-right: 7px;
+ border-right: 0px solid #aaa;
+}
+.spc-indent{
+ margin-left: 15px;
+}
+.spc-flag{
+ padding-left: 1em;
+ vertical-align: middle;
+}
+
+/* ---------------- */
+/* Form styling */
+/* ---------------- */
+.spc-form{
+ padding-top: 2em;
+}
+
+.spc-form-label{
+ display: block;
+ font-size: 14px;
+ color: #444;
+}
+.spc-centering-div-container{
+ clear: both;
+ margin: 0 auto;
+ border: 1px;
+ padding: 1em;
+ float: left;
+}
+
+/* ---------------------- */
+/* Miscellaneous elements */
+/* ---------------------- */
--- /dev/null
+@import url(https://fonts.googleapis.com/css?family=Open+Sans);
+/*!
+ * Bootstrap v2.3.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+.clearfix {
+ *zoom: 1;
+}
+.clearfix:before,
+.clearfix:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.clearfix:after {
+ clear: both;
+}
+.hide-text {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+.input-block-level {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+audio:not([controls]) {
+ display: none;
+}
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+a:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+a:hover,
+a:active {
+ outline: 0;
+}
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+img {
+ /* Responsive images (ensure images don't scale beyond their parents) */
+
+ max-width: 100%;
+ /* Part 1: Set a maximum relative to the parent */
+
+ width: auto\9;
+ /* IE7-8 need help adjusting responsive images */
+
+ height: auto;
+ /* Part 2: Scale the height according to the width, otherwise you get stretching */
+
+ vertical-align: middle;
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+}
+#map_canvas img,
+.google-maps img {
+ max-width: none;
+}
+button,
+input,
+select,
+textarea {
+ margin: 0;
+ font-size: 100%;
+ vertical-align: middle;
+}
+button,
+input {
+ *overflow: visible;
+ line-height: normal;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer;
+}
+label,
+select,
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"],
+input[type="radio"],
+input[type="checkbox"] {
+ cursor: pointer;
+}
+input[type="search"] {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none;
+}
+textarea {
+ overflow: auto;
+ vertical-align: top;
+}
+@media print {
+ * {
+ text-shadow: none !important;
+ color: #000 !important;
+ background: transparent !important;
+ box-shadow: none !important;
+ }
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+ thead {
+ display: table-header-group;
+ }
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+ img {
+ max-width: 100% !important;
+ }
+ @page {
+ margin: 0.5cm;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
+body {
+ margin: 0;
+ font-family: 'Open Sans', sans-serif;
+ font-size: 13px;
+ line-height: 19px;
+ color: #333333;
+ background-color: #ffffff;
+}
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+a:hover,
+a:focus {
+ color: #005580;
+ text-decoration: underline;
+}
+.img-rounded {
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.img-polaroid {
+ padding: 4px;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+.img-circle {
+ -webkit-border-radius: 500px;
+ -moz-border-radius: 500px;
+ border-radius: 500px;
+}
+.row {
+ margin-left: -20px;
+ *zoom: 1;
+}
+.row:before,
+.row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row:after {
+ clear: both;
+}
+.row:before,
+.row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row:after {
+ clear: both;
+}
+[class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 20px;
+}
+.container,
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+ width: 940px;
+}
+.span12 {
+ width: 940px;
+}
+.span11 {
+ width: 860px;
+}
+.span10 {
+ width: 780px;
+}
+.span9 {
+ width: 700px;
+}
+.span8 {
+ width: 620px;
+}
+.span7 {
+ width: 540px;
+}
+.span6 {
+ width: 460px;
+}
+.span5 {
+ width: 380px;
+}
+.span4 {
+ width: 300px;
+}
+.span3 {
+ width: 220px;
+}
+.span2 {
+ width: 140px;
+}
+.span1 {
+ width: 60px;
+}
+.offset12 {
+ margin-left: 980px;
+}
+.offset11 {
+ margin-left: 900px;
+}
+.offset10 {
+ margin-left: 820px;
+}
+.offset9 {
+ margin-left: 740px;
+}
+.offset8 {
+ margin-left: 660px;
+}
+.offset7 {
+ margin-left: 580px;
+}
+.offset6 {
+ margin-left: 500px;
+}
+.offset5 {
+ margin-left: 420px;
+}
+.offset4 {
+ margin-left: 340px;
+}
+.offset3 {
+ margin-left: 260px;
+}
+.offset2 {
+ margin-left: 180px;
+}
+.offset1 {
+ margin-left: 100px;
+}
+.row {
+ margin-left: -20px;
+ *zoom: 1;
+}
+.row:before,
+.row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row:after {
+ clear: both;
+}
+.row:before,
+.row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row:after {
+ clear: both;
+}
+[class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 20px;
+}
+.container,
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+ width: 940px;
+}
+.span12 {
+ width: 940px;
+}
+.span11 {
+ width: 860px;
+}
+.span10 {
+ width: 780px;
+}
+.span9 {
+ width: 700px;
+}
+.span8 {
+ width: 620px;
+}
+.span7 {
+ width: 540px;
+}
+.span6 {
+ width: 460px;
+}
+.span5 {
+ width: 380px;
+}
+.span4 {
+ width: 300px;
+}
+.span3 {
+ width: 220px;
+}
+.span2 {
+ width: 140px;
+}
+.span1 {
+ width: 60px;
+}
+.offset12 {
+ margin-left: 980px;
+}
+.offset11 {
+ margin-left: 900px;
+}
+.offset10 {
+ margin-left: 820px;
+}
+.offset9 {
+ margin-left: 740px;
+}
+.offset8 {
+ margin-left: 660px;
+}
+.offset7 {
+ margin-left: 580px;
+}
+.offset6 {
+ margin-left: 500px;
+}
+.offset5 {
+ margin-left: 420px;
+}
+.offset4 {
+ margin-left: 340px;
+}
+.offset3 {
+ margin-left: 260px;
+}
+.offset2 {
+ margin-left: 180px;
+}
+.offset1 {
+ margin-left: 100px;
+}
+.row-fluid {
+ width: 100%;
+ *zoom: 1;
+}
+.row-fluid:before,
+.row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row-fluid:after {
+ clear: both;
+}
+.row-fluid:before,
+.row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row-fluid:after {
+ clear: both;
+}
+.row-fluid [class*="span"] {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ float: left;
+ margin-left: 2.127659574468085%;
+ *margin-left: 2.074468085106383%;
+}
+.row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+}
+.row-fluid .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 2.127659574468085%;
+}
+.row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+}
+.row-fluid .span11 {
+ width: 91.48936170212765%;
+ *width: 91.43617021276594%;
+}
+.row-fluid .span10 {
+ width: 82.97872340425532%;
+ *width: 82.92553191489361%;
+}
+.row-fluid .span9 {
+ width: 74.46808510638297%;
+ *width: 74.41489361702126%;
+}
+.row-fluid .span8 {
+ width: 65.95744680851064%;
+ *width: 65.90425531914893%;
+}
+.row-fluid .span7 {
+ width: 57.44680851063829%;
+ *width: 57.39361702127659%;
+}
+.row-fluid .span6 {
+ width: 48.93617021276595%;
+ *width: 48.88297872340425%;
+}
+.row-fluid .span5 {
+ width: 40.42553191489362%;
+ *width: 40.37234042553192%;
+}
+.row-fluid .span4 {
+ width: 31.914893617021278%;
+ *width: 31.861702127659576%;
+}
+.row-fluid .span3 {
+ width: 23.404255319148934%;
+ *width: 23.351063829787233%;
+}
+.row-fluid .span2 {
+ width: 14.893617021276595%;
+ *width: 14.840425531914894%;
+}
+.row-fluid .span1 {
+ width: 6.382978723404255%;
+ *width: 6.329787234042553%;
+}
+.row-fluid .offset12 {
+ margin-left: 104.25531914893617%;
+ *margin-left: 104.14893617021275%;
+}
+.row-fluid .offset12:first-child {
+ margin-left: 102.12765957446808%;
+ *margin-left: 102.02127659574467%;
+}
+.row-fluid .offset11 {
+ margin-left: 95.74468085106382%;
+ *margin-left: 95.6382978723404%;
+}
+.row-fluid .offset11:first-child {
+ margin-left: 93.61702127659574%;
+ *margin-left: 93.51063829787232%;
+}
+.row-fluid .offset10 {
+ margin-left: 87.23404255319149%;
+ *margin-left: 87.12765957446807%;
+}
+.row-fluid .offset10:first-child {
+ margin-left: 85.1063829787234%;
+ *margin-left: 84.99999999999999%;
+}
+.row-fluid .offset9 {
+ margin-left: 78.72340425531914%;
+ *margin-left: 78.61702127659572%;
+}
+.row-fluid .offset9:first-child {
+ margin-left: 76.59574468085106%;
+ *margin-left: 76.48936170212764%;
+}
+.row-fluid .offset8 {
+ margin-left: 70.2127659574468%;
+ *margin-left: 70.10638297872339%;
+}
+.row-fluid .offset8:first-child {
+ margin-left: 68.08510638297872%;
+ *margin-left: 67.9787234042553%;
+}
+.row-fluid .offset7 {
+ margin-left: 61.70212765957446%;
+ *margin-left: 61.59574468085106%;
+}
+.row-fluid .offset7:first-child {
+ margin-left: 59.574468085106375%;
+ *margin-left: 59.46808510638297%;
+}
+.row-fluid .offset6 {
+ margin-left: 53.191489361702125%;
+ *margin-left: 53.085106382978715%;
+}
+.row-fluid .offset6:first-child {
+ margin-left: 51.063829787234035%;
+ *margin-left: 50.95744680851063%;
+}
+.row-fluid .offset5 {
+ margin-left: 44.68085106382979%;
+ *margin-left: 44.57446808510638%;
+}
+.row-fluid .offset5:first-child {
+ margin-left: 42.5531914893617%;
+ *margin-left: 42.4468085106383%;
+}
+.row-fluid .offset4 {
+ margin-left: 36.170212765957444%;
+ *margin-left: 36.06382978723405%;
+}
+.row-fluid .offset4:first-child {
+ margin-left: 34.04255319148936%;
+ *margin-left: 33.93617021276596%;
+}
+.row-fluid .offset3 {
+ margin-left: 27.659574468085104%;
+ *margin-left: 27.5531914893617%;
+}
+.row-fluid .offset3:first-child {
+ margin-left: 25.53191489361702%;
+ *margin-left: 25.425531914893618%;
+}
+.row-fluid .offset2 {
+ margin-left: 19.148936170212764%;
+ *margin-left: 19.04255319148936%;
+}
+.row-fluid .offset2:first-child {
+ margin-left: 17.02127659574468%;
+ *margin-left: 16.914893617021278%;
+}
+.row-fluid .offset1 {
+ margin-left: 10.638297872340425%;
+ *margin-left: 10.53191489361702%;
+}
+.row-fluid .offset1:first-child {
+ margin-left: 8.51063829787234%;
+ *margin-left: 8.404255319148938%;
+}
+.row-fluid {
+ width: 100%;
+ *zoom: 1;
+}
+.row-fluid:before,
+.row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row-fluid:after {
+ clear: both;
+}
+.row-fluid:before,
+.row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.row-fluid:after {
+ clear: both;
+}
+.row-fluid [class*="span"] {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ float: left;
+ margin-left: 2.127659574468085%;
+ *margin-left: 2.074468085106383%;
+}
+.row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+}
+.row-fluid .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 2.127659574468085%;
+}
+.row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+}
+.row-fluid .span11 {
+ width: 91.48936170212765%;
+ *width: 91.43617021276594%;
+}
+.row-fluid .span10 {
+ width: 82.97872340425532%;
+ *width: 82.92553191489361%;
+}
+.row-fluid .span9 {
+ width: 74.46808510638297%;
+ *width: 74.41489361702126%;
+}
+.row-fluid .span8 {
+ width: 65.95744680851064%;
+ *width: 65.90425531914893%;
+}
+.row-fluid .span7 {
+ width: 57.44680851063829%;
+ *width: 57.39361702127659%;
+}
+.row-fluid .span6 {
+ width: 48.93617021276595%;
+ *width: 48.88297872340425%;
+}
+.row-fluid .span5 {
+ width: 40.42553191489362%;
+ *width: 40.37234042553192%;
+}
+.row-fluid .span4 {
+ width: 31.914893617021278%;
+ *width: 31.861702127659576%;
+}
+.row-fluid .span3 {
+ width: 23.404255319148934%;
+ *width: 23.351063829787233%;
+}
+.row-fluid .span2 {
+ width: 14.893617021276595%;
+ *width: 14.840425531914894%;
+}
+.row-fluid .span1 {
+ width: 6.382978723404255%;
+ *width: 6.329787234042553%;
+}
+.row-fluid .offset12 {
+ margin-left: 104.25531914893617%;
+ *margin-left: 104.14893617021275%;
+}
+.row-fluid .offset12:first-child {
+ margin-left: 102.12765957446808%;
+ *margin-left: 102.02127659574467%;
+}
+.row-fluid .offset11 {
+ margin-left: 95.74468085106382%;
+ *margin-left: 95.6382978723404%;
+}
+.row-fluid .offset11:first-child {
+ margin-left: 93.61702127659574%;
+ *margin-left: 93.51063829787232%;
+}
+.row-fluid .offset10 {
+ margin-left: 87.23404255319149%;
+ *margin-left: 87.12765957446807%;
+}
+.row-fluid .offset10:first-child {
+ margin-left: 85.1063829787234%;
+ *margin-left: 84.99999999999999%;
+}
+.row-fluid .offset9 {
+ margin-left: 78.72340425531914%;
+ *margin-left: 78.61702127659572%;
+}
+.row-fluid .offset9:first-child {
+ margin-left: 76.59574468085106%;
+ *margin-left: 76.48936170212764%;
+}
+.row-fluid .offset8 {
+ margin-left: 70.2127659574468%;
+ *margin-left: 70.10638297872339%;
+}
+.row-fluid .offset8:first-child {
+ margin-left: 68.08510638297872%;
+ *margin-left: 67.9787234042553%;
+}
+.row-fluid .offset7 {
+ margin-left: 61.70212765957446%;
+ *margin-left: 61.59574468085106%;
+}
+.row-fluid .offset7:first-child {
+ margin-left: 59.574468085106375%;
+ *margin-left: 59.46808510638297%;
+}
+.row-fluid .offset6 {
+ margin-left: 53.191489361702125%;
+ *margin-left: 53.085106382978715%;
+}
+.row-fluid .offset6:first-child {
+ margin-left: 51.063829787234035%;
+ *margin-left: 50.95744680851063%;
+}
+.row-fluid .offset5 {
+ margin-left: 44.68085106382979%;
+ *margin-left: 44.57446808510638%;
+}
+.row-fluid .offset5:first-child {
+ margin-left: 42.5531914893617%;
+ *margin-left: 42.4468085106383%;
+}
+.row-fluid .offset4 {
+ margin-left: 36.170212765957444%;
+ *margin-left: 36.06382978723405%;
+}
+.row-fluid .offset4:first-child {
+ margin-left: 34.04255319148936%;
+ *margin-left: 33.93617021276596%;
+}
+.row-fluid .offset3 {
+ margin-left: 27.659574468085104%;
+ *margin-left: 27.5531914893617%;
+}
+.row-fluid .offset3:first-child {
+ margin-left: 25.53191489361702%;
+ *margin-left: 25.425531914893618%;
+}
+.row-fluid .offset2 {
+ margin-left: 19.148936170212764%;
+ *margin-left: 19.04255319148936%;
+}
+.row-fluid .offset2:first-child {
+ margin-left: 17.02127659574468%;
+ *margin-left: 16.914893617021278%;
+}
+.row-fluid .offset1 {
+ margin-left: 10.638297872340425%;
+ *margin-left: 10.53191489361702%;
+}
+.row-fluid .offset1:first-child {
+ margin-left: 8.51063829787234%;
+ *margin-left: 8.404255319148938%;
+}
+[class*="span"].hide,
+.row-fluid [class*="span"].hide {
+ display: none;
+}
+[class*="span"].pull-right,
+.row-fluid [class*="span"].pull-right {
+ float: right;
+}
+.container {
+ margin-right: auto;
+ margin-left: auto;
+ *zoom: 1;
+}
+.container:before,
+.container:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container:after {
+ clear: both;
+}
+.container:before,
+.container:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container:after {
+ clear: both;
+}
+.container:before,
+.container:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container:after {
+ clear: both;
+}
+.container:before,
+.container:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container:after {
+ clear: both;
+}
+.container-fluid {
+ padding-right: 20px;
+ padding-left: 20px;
+ *zoom: 1;
+}
+.container-fluid:before,
+.container-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container-fluid:after {
+ clear: both;
+}
+.container-fluid:before,
+.container-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.container-fluid:after {
+ clear: both;
+}
+p {
+ margin: 0 0 9.5px;
+}
+.lead {
+ margin-bottom: 19px;
+ font-size: 19.5px;
+ font-weight: 200;
+ line-height: 28.5px;
+}
+small {
+ font-size: 85%;
+}
+strong {
+ font-weight: bold;
+}
+em {
+ font-style: italic;
+}
+cite {
+ font-style: normal;
+}
+.muted {
+ color: #999999;
+}
+a.muted:hover,
+a.muted:focus {
+ color: #808080;
+}
+.text-warning {
+ color: #c09853;
+}
+a.text-warning:hover,
+a.text-warning:focus {
+ color: #a47e3c;
+}
+.text-error {
+ color: #b94a48;
+}
+a.text-error:hover,
+a.text-error:focus {
+ color: #953b39;
+}
+.text-info {
+ color: #3a87ad;
+}
+a.text-info:hover,
+a.text-info:focus {
+ color: #2d6987;
+}
+.text-success {
+ color: #468847;
+}
+a.text-success:hover,
+a.text-success:focus {
+ color: #356635;
+}
+.text-left {
+ text-align: left;
+}
+.text-right {
+ text-align: right;
+}
+.text-center {
+ text-align: center;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 9.5px 0;
+ font-family: inherit;
+ font-weight: bold;
+ line-height: 19px;
+ color: inherit;
+ text-rendering: optimizelegibility;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+ font-weight: normal;
+ line-height: 1;
+ color: #999999;
+}
+h1,
+h2,
+h3 {
+ line-height: 38px;
+}
+h1 {
+ font-size: 35.75px;
+}
+h2 {
+ font-size: 29.25px;
+}
+h3 {
+ font-size: 22.75px;
+}
+h4 {
+ font-size: 16.25px;
+}
+h5 {
+ font-size: 13px;
+}
+h6 {
+ font-size: 11.049999999999999px;
+}
+h1 small {
+ font-size: 22.75px;
+}
+h2 small {
+ font-size: 16.25px;
+}
+h3 small {
+ font-size: 13px;
+}
+h4 small {
+ font-size: 13px;
+}
+.page-header {
+ padding-bottom: 8.5px;
+ margin: 19px 0 28.5px;
+ border-bottom: 1px solid #eeeeee;
+}
+ul,
+ol {
+ padding: 0;
+ margin: 0 0 9.5px 25px;
+}
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0;
+}
+li {
+ line-height: 19px;
+}
+ul.unstyled,
+ol.unstyled {
+ margin-left: 0;
+ list-style: none;
+}
+ul.inline,
+ol.inline {
+ margin-left: 0;
+ list-style: none;
+}
+ul.inline > li,
+ol.inline > li {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+dl {
+ margin-bottom: 19px;
+}
+dt,
+dd {
+ line-height: 19px;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 9.5px;
+}
+.dl-horizontal {
+ *zoom: 1;
+}
+.dl-horizontal:before,
+.dl-horizontal:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.dl-horizontal:after {
+ clear: both;
+}
+.dl-horizontal:before,
+.dl-horizontal:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.dl-horizontal:after {
+ clear: both;
+}
+.dl-horizontal dt {
+ float: left;
+ width: 160px;
+ clear: left;
+ text-align: right;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.dl-horizontal dd {
+ margin-left: 180px;
+}
+hr {
+ margin: 19px 0;
+ border: 0;
+ border-top: 1px solid #eeeeee;
+ border-bottom: 1px solid #ffffff;
+}
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted #999999;
+}
+abbr.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 19px;
+ border-left: 5px solid #eeeeee;
+}
+blockquote p {
+ margin-bottom: 0;
+ font-size: 16.25px;
+ font-weight: 300;
+ line-height: 1.25;
+}
+blockquote small {
+ display: block;
+ line-height: 19px;
+ color: #999999;
+}
+blockquote small:before {
+ content: '\2014 \00A0';
+}
+blockquote.pull-right {
+ float: right;
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid #eeeeee;
+ border-left: 0;
+}
+blockquote.pull-right p,
+blockquote.pull-right small {
+ text-align: right;
+}
+blockquote.pull-right small:before {
+ content: '';
+}
+blockquote.pull-right small:after {
+ content: '\00A0 \2014';
+}
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+address {
+ display: block;
+ margin-bottom: 19px;
+ font-style: normal;
+ line-height: 19px;
+}
+code,
+pre {
+ padding: 0 3px 2px;
+ font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
+ font-size: 11px;
+ color: #333333;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+code {
+ padding: 2px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+ white-space: nowrap;
+}
+pre {
+ display: block;
+ padding: 9px;
+ margin: 0 0 9.5px;
+ font-size: 12px;
+ line-height: 19px;
+ word-break: break-all;
+ word-wrap: break-word;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+pre.prettyprint {
+ margin-bottom: 19px;
+}
+pre code {
+ padding: 0;
+ color: inherit;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border: 0;
+}
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
+form {
+ margin: 0 0 19px;
+}
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 19px;
+ font-size: 19.5px;
+ line-height: 38px;
+ color: #333333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+}
+legend small {
+ font-size: 14.25px;
+ color: #999999;
+}
+label,
+input,
+button,
+select,
+textarea {
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 19px;
+}
+input,
+button,
+select,
+textarea {
+ font-family: 'Open Sans', sans-serif;
+}
+label {
+ display: block;
+ margin-bottom: 5px;
+}
+select,
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ display: inline-block;
+ height: 19px;
+ padding: 4px 6px;
+ margin-bottom: 9.5px;
+ font-size: 13px;
+ line-height: 19px;
+ color: #555555;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ vertical-align: middle;
+}
+input,
+textarea,
+.uneditable-input {
+ width: 206px;
+}
+textarea {
+ height: auto;
+}
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ background-color: #ffffff;
+ border: 1px solid #cccccc;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -webkit-transition: border linear .2s, box-shadow linear .2s;
+ -moz-transition: border linear .2s, box-shadow linear .2s;
+ -o-transition: border linear .2s, box-shadow linear .2s;
+ transition: border linear .2s, box-shadow linear .2s;
+}
+textarea:focus,
+input[type="text"]:focus,
+input[type="password"]:focus,
+input[type="datetime"]:focus,
+input[type="datetime-local"]:focus,
+input[type="date"]:focus,
+input[type="month"]:focus,
+input[type="time"]:focus,
+input[type="week"]:focus,
+input[type="number"]:focus,
+input[type="email"]:focus,
+input[type="url"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="color"]:focus,
+.uneditable-input:focus {
+ border-color: rgba(82, 168, 236, 0.8);
+ outline: 0;
+ outline: thin dotted \9;
+ /* IE6-9 */
+
+ -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+ -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+ box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
+}
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ *margin-top: 0;
+ /* IE7 */
+
+ margin-top: 1px \9;
+ /* IE8-9 */
+
+ line-height: normal;
+}
+input[type="file"],
+input[type="image"],
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+input[type="radio"],
+input[type="checkbox"] {
+ width: auto;
+}
+select,
+input[type="file"] {
+ height: 29px;
+ /* In IE7, the height of the select element cannot be changed by height, only font-size */
+
+ *margin-top: 4px;
+ /* For IE7, add top margin to align select with labels */
+
+ line-height: 29px;
+}
+select {
+ width: 220px;
+ border: 1px solid #cccccc;
+ background-color: #ffffff;
+}
+select[multiple],
+select[size] {
+ height: auto;
+}
+select:focus,
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+.uneditable-input,
+.uneditable-textarea {
+ color: #999999;
+ background-color: #fcfcfc;
+ border-color: #cccccc;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+ cursor: not-allowed;
+}
+.uneditable-input {
+ overflow: hidden;
+ white-space: nowrap;
+}
+.uneditable-textarea {
+ width: auto;
+ height: auto;
+}
+input:-moz-placeholder,
+textarea:-moz-placeholder {
+ color: #999999;
+}
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+ color: #999999;
+}
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+ color: #999999;
+}
+input:-moz-placeholder,
+textarea:-moz-placeholder {
+ color: #999999;
+}
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+ color: #999999;
+}
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+ color: #999999;
+}
+.radio,
+.checkbox {
+ min-height: 19px;
+ padding-left: 20px;
+}
+.radio input[type="radio"],
+.checkbox input[type="checkbox"] {
+ float: left;
+ margin-left: -20px;
+}
+.controls > .radio:first-child,
+.controls > .checkbox:first-child {
+ padding-top: 5px;
+}
+.radio.inline,
+.checkbox.inline {
+ display: inline-block;
+ padding-top: 5px;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+.radio.inline + .radio.inline,
+.checkbox.inline + .checkbox.inline {
+ margin-left: 10px;
+}
+.input-mini {
+ width: 60px;
+}
+.input-small {
+ width: 90px;
+}
+.input-medium {
+ width: 150px;
+}
+.input-large {
+ width: 210px;
+}
+.input-xlarge {
+ width: 270px;
+}
+.input-xxlarge {
+ width: 530px;
+}
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"] {
+ float: none;
+ margin-left: 0;
+}
+.input-append input[class*="span"],
+.input-append .uneditable-input[class*="span"],
+.input-prepend input[class*="span"],
+.input-prepend .uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"],
+.row-fluid .input-prepend [class*="span"],
+.row-fluid .input-append [class*="span"] {
+ display: inline-block;
+}
+input,
+textarea,
+.uneditable-input {
+ margin-left: 0;
+}
+.controls-row [class*="span"] + [class*="span"] {
+ margin-left: 20px;
+}
+input.span12,
+textarea.span12,
+.uneditable-input.span12 {
+ width: 926px;
+}
+input.span11,
+textarea.span11,
+.uneditable-input.span11 {
+ width: 846px;
+}
+input.span10,
+textarea.span10,
+.uneditable-input.span10 {
+ width: 766px;
+}
+input.span9,
+textarea.span9,
+.uneditable-input.span9 {
+ width: 686px;
+}
+input.span8,
+textarea.span8,
+.uneditable-input.span8 {
+ width: 606px;
+}
+input.span7,
+textarea.span7,
+.uneditable-input.span7 {
+ width: 526px;
+}
+input.span6,
+textarea.span6,
+.uneditable-input.span6 {
+ width: 446px;
+}
+input.span5,
+textarea.span5,
+.uneditable-input.span5 {
+ width: 366px;
+}
+input.span4,
+textarea.span4,
+.uneditable-input.span4 {
+ width: 286px;
+}
+input.span3,
+textarea.span3,
+.uneditable-input.span3 {
+ width: 206px;
+}
+input.span2,
+textarea.span2,
+.uneditable-input.span2 {
+ width: 126px;
+}
+input.span1,
+textarea.span1,
+.uneditable-input.span1 {
+ width: 46px;
+}
+input,
+textarea,
+.uneditable-input {
+ margin-left: 0;
+}
+.controls-row [class*="span"] + [class*="span"] {
+ margin-left: 20px;
+}
+input.span12,
+textarea.span12,
+.uneditable-input.span12 {
+ width: 926px;
+}
+input.span11,
+textarea.span11,
+.uneditable-input.span11 {
+ width: 846px;
+}
+input.span10,
+textarea.span10,
+.uneditable-input.span10 {
+ width: 766px;
+}
+input.span9,
+textarea.span9,
+.uneditable-input.span9 {
+ width: 686px;
+}
+input.span8,
+textarea.span8,
+.uneditable-input.span8 {
+ width: 606px;
+}
+input.span7,
+textarea.span7,
+.uneditable-input.span7 {
+ width: 526px;
+}
+input.span6,
+textarea.span6,
+.uneditable-input.span6 {
+ width: 446px;
+}
+input.span5,
+textarea.span5,
+.uneditable-input.span5 {
+ width: 366px;
+}
+input.span4,
+textarea.span4,
+.uneditable-input.span4 {
+ width: 286px;
+}
+input.span3,
+textarea.span3,
+.uneditable-input.span3 {
+ width: 206px;
+}
+input.span2,
+textarea.span2,
+.uneditable-input.span2 {
+ width: 126px;
+}
+input.span1,
+textarea.span1,
+.uneditable-input.span1 {
+ width: 46px;
+}
+.controls-row {
+ *zoom: 1;
+}
+.controls-row:before,
+.controls-row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.controls-row:after {
+ clear: both;
+}
+.controls-row:before,
+.controls-row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.controls-row:after {
+ clear: both;
+}
+.controls-row [class*="span"],
+.row-fluid .controls-row [class*="span"] {
+ float: left;
+}
+.controls-row .checkbox[class*="span"],
+.controls-row .radio[class*="span"] {
+ padding-top: 5px;
+}
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+ cursor: not-allowed;
+ background-color: #eeeeee;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+ background-color: transparent;
+}
+.control-group.warning .control-label,
+.control-group.warning .help-block,
+.control-group.warning .help-inline {
+ color: #c09853;
+}
+.control-group.warning .checkbox,
+.control-group.warning .radio,
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+ color: #c09853;
+}
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+ border-color: #c09853;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.warning input:focus,
+.control-group.warning select:focus,
+.control-group.warning textarea:focus {
+ border-color: #a47e3c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+}
+.control-group.warning .input-prepend .add-on,
+.control-group.warning .input-append .add-on {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #c09853;
+}
+.control-group.warning .control-label,
+.control-group.warning .help-block,
+.control-group.warning .help-inline {
+ color: #c09853;
+}
+.control-group.warning .checkbox,
+.control-group.warning .radio,
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+ color: #c09853;
+}
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+ border-color: #c09853;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.warning input:focus,
+.control-group.warning select:focus,
+.control-group.warning textarea:focus {
+ border-color: #a47e3c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
+}
+.control-group.warning .input-prepend .add-on,
+.control-group.warning .input-append .add-on {
+ color: #c09853;
+ background-color: #fcf8e3;
+ border-color: #c09853;
+}
+.control-group.error .control-label,
+.control-group.error .help-block,
+.control-group.error .help-inline {
+ color: #b94a48;
+}
+.control-group.error .checkbox,
+.control-group.error .radio,
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+ color: #b94a48;
+}
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+ border-color: #b94a48;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.error input:focus,
+.control-group.error select:focus,
+.control-group.error textarea:focus {
+ border-color: #953b39;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+}
+.control-group.error .input-prepend .add-on,
+.control-group.error .input-append .add-on {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #b94a48;
+}
+.control-group.error .control-label,
+.control-group.error .help-block,
+.control-group.error .help-inline {
+ color: #b94a48;
+}
+.control-group.error .checkbox,
+.control-group.error .radio,
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+ color: #b94a48;
+}
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+ border-color: #b94a48;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.error input:focus,
+.control-group.error select:focus,
+.control-group.error textarea:focus {
+ border-color: #953b39;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
+}
+.control-group.error .input-prepend .add-on,
+.control-group.error .input-append .add-on {
+ color: #b94a48;
+ background-color: #f2dede;
+ border-color: #b94a48;
+}
+.control-group.success .control-label,
+.control-group.success .help-block,
+.control-group.success .help-inline {
+ color: #468847;
+}
+.control-group.success .checkbox,
+.control-group.success .radio,
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+ color: #468847;
+}
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+ border-color: #468847;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.success input:focus,
+.control-group.success select:focus,
+.control-group.success textarea:focus {
+ border-color: #356635;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+}
+.control-group.success .input-prepend .add-on,
+.control-group.success .input-append .add-on {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #468847;
+}
+.control-group.success .control-label,
+.control-group.success .help-block,
+.control-group.success .help-inline {
+ color: #468847;
+}
+.control-group.success .checkbox,
+.control-group.success .radio,
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+ color: #468847;
+}
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+ border-color: #468847;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.success input:focus,
+.control-group.success select:focus,
+.control-group.success textarea:focus {
+ border-color: #356635;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
+}
+.control-group.success .input-prepend .add-on,
+.control-group.success .input-append .add-on {
+ color: #468847;
+ background-color: #dff0d8;
+ border-color: #468847;
+}
+.control-group.info .control-label,
+.control-group.info .help-block,
+.control-group.info .help-inline {
+ color: #3a87ad;
+}
+.control-group.info .checkbox,
+.control-group.info .radio,
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+ color: #3a87ad;
+}
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+ border-color: #3a87ad;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.info input:focus,
+.control-group.info select:focus,
+.control-group.info textarea:focus {
+ border-color: #2d6987;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
+}
+.control-group.info .input-prepend .add-on,
+.control-group.info .input-append .add-on {
+ color: #3a87ad;
+ background-color: #d9edf7;
+ border-color: #3a87ad;
+}
+.control-group.info .control-label,
+.control-group.info .help-block,
+.control-group.info .help-inline {
+ color: #3a87ad;
+}
+.control-group.info .checkbox,
+.control-group.info .radio,
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+ color: #3a87ad;
+}
+.control-group.info input,
+.control-group.info select,
+.control-group.info textarea {
+ border-color: #3a87ad;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.control-group.info input:focus,
+.control-group.info select:focus,
+.control-group.info textarea:focus {
+ border-color: #2d6987;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
+}
+.control-group.info .input-prepend .add-on,
+.control-group.info .input-append .add-on {
+ color: #3a87ad;
+ background-color: #d9edf7;
+ border-color: #3a87ad;
+}
+input:focus:invalid,
+textarea:focus:invalid,
+select:focus:invalid {
+ color: #b94a48;
+ border-color: #ee5f5b;
+}
+input:focus:invalid:focus,
+textarea:focus:invalid:focus,
+select:focus:invalid:focus {
+ border-color: #e9322d;
+ -webkit-box-shadow: 0 0 6px #f8b9b7;
+ -moz-box-shadow: 0 0 6px #f8b9b7;
+ box-shadow: 0 0 6px #f8b9b7;
+}
+.form-actions {
+ padding: 18px 20px 19px;
+ margin-top: 19px;
+ margin-bottom: 19px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #e5e5e5;
+ *zoom: 1;
+}
+.form-actions:before,
+.form-actions:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.form-actions:after {
+ clear: both;
+}
+.form-actions:before,
+.form-actions:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.form-actions:after {
+ clear: both;
+}
+.help-block,
+.help-inline {
+ color: #595959;
+}
+.help-block {
+ display: block;
+ margin-bottom: 9.5px;
+}
+.help-inline {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ vertical-align: middle;
+ padding-left: 5px;
+}
+.input-append,
+.input-prepend {
+ display: inline-block;
+ margin-bottom: 9.5px;
+ vertical-align: middle;
+ font-size: 0;
+ white-space: nowrap;
+}
+.input-append input,
+.input-prepend input,
+.input-append select,
+.input-prepend select,
+.input-append .uneditable-input,
+.input-prepend .uneditable-input,
+.input-append .dropdown-menu,
+.input-prepend .dropdown-menu,
+.input-append .popover,
+.input-prepend .popover {
+ font-size: 13px;
+}
+.input-append input,
+.input-prepend input,
+.input-append select,
+.input-prepend select,
+.input-append .uneditable-input,
+.input-prepend .uneditable-input {
+ position: relative;
+ margin-bottom: 0;
+ *margin-left: 0;
+ vertical-align: top;
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.input-append input:focus,
+.input-prepend input:focus,
+.input-append select:focus,
+.input-prepend select:focus,
+.input-append .uneditable-input:focus,
+.input-prepend .uneditable-input:focus {
+ z-index: 2;
+}
+.input-append .add-on,
+.input-prepend .add-on {
+ display: inline-block;
+ width: auto;
+ height: 19px;
+ min-width: 16px;
+ padding: 4px 5px;
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 19px;
+ text-align: center;
+ text-shadow: 0 1px 0 #ffffff;
+ background-color: #eeeeee;
+ border: 1px solid #ccc;
+}
+.input-append .add-on,
+.input-prepend .add-on,
+.input-append .btn,
+.input-prepend .btn,
+.input-append .btn-group > .dropdown-toggle,
+.input-prepend .btn-group > .dropdown-toggle {
+ vertical-align: top;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.input-append .active,
+.input-prepend .active {
+ background-color: #a9dba9;
+ border-color: #46a546;
+}
+.input-prepend .add-on,
+.input-prepend .btn {
+ margin-right: -1px;
+}
+.input-prepend .add-on:first-child,
+.input-prepend .btn:first-child {
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+.input-append input,
+.input-append select,
+.input-append .uneditable-input {
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+.input-append input + .btn-group .btn:last-child,
+.input-append select + .btn-group .btn:last-child,
+.input-append .uneditable-input + .btn-group .btn:last-child {
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.input-append .add-on,
+.input-append .btn,
+.input-append .btn-group {
+ margin-left: -1px;
+}
+.input-append .add-on:last-child,
+.input-append .btn:last-child,
+.input-append .btn-group:last-child > .dropdown-toggle {
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.input-prepend.input-append input,
+.input-prepend.input-append select,
+.input-prepend.input-append .uneditable-input {
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.input-prepend.input-append input + .btn-group .btn,
+.input-prepend.input-append select + .btn-group .btn,
+.input-prepend.input-append .uneditable-input + .btn-group .btn {
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.input-prepend.input-append .add-on:first-child,
+.input-prepend.input-append .btn:first-child {
+ margin-right: -1px;
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+.input-prepend.input-append .add-on:last-child,
+.input-prepend.input-append .btn:last-child {
+ margin-left: -1px;
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.input-prepend.input-append .btn-group:first-child {
+ margin-left: 0;
+}
+input.search-query {
+ padding-right: 14px;
+ padding-right: 4px \9;
+ padding-left: 14px;
+ padding-left: 4px \9;
+ /* IE7-8 doesn't have border-radius, so don't indent the padding */
+
+ margin-bottom: 0;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+}
+/* Allow for input prepend/append in search forms */
+.form-search .input-append .search-query,
+.form-search .input-prepend .search-query {
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.form-search .input-append .search-query {
+ -webkit-border-radius: 14px 0 0 14px;
+ -moz-border-radius: 14px 0 0 14px;
+ border-radius: 14px 0 0 14px;
+}
+.form-search .input-append .btn {
+ -webkit-border-radius: 0 14px 14px 0;
+ -moz-border-radius: 0 14px 14px 0;
+ border-radius: 0 14px 14px 0;
+}
+.form-search .input-prepend .search-query {
+ -webkit-border-radius: 0 14px 14px 0;
+ -moz-border-radius: 0 14px 14px 0;
+ border-radius: 0 14px 14px 0;
+}
+.form-search .input-prepend .btn {
+ -webkit-border-radius: 14px 0 0 14px;
+ -moz-border-radius: 14px 0 0 14px;
+ border-radius: 14px 0 0 14px;
+}
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input,
+.form-search .input-prepend,
+.form-inline .input-prepend,
+.form-horizontal .input-prepend,
+.form-search .input-append,
+.form-inline .input-append,
+.form-horizontal .input-append {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+.form-search .hide,
+.form-inline .hide,
+.form-horizontal .hide {
+ display: none;
+}
+.form-search label,
+.form-inline label,
+.form-search .btn-group,
+.form-inline .btn-group {
+ display: inline-block;
+}
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+ margin-bottom: 0;
+}
+.form-search .radio,
+.form-search .checkbox,
+.form-inline .radio,
+.form-inline .checkbox {
+ padding-left: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+.form-search .radio input[type="radio"],
+.form-search .checkbox input[type="checkbox"],
+.form-inline .radio input[type="radio"],
+.form-inline .checkbox input[type="checkbox"] {
+ float: left;
+ margin-right: 3px;
+ margin-left: 0;
+}
+.control-group {
+ margin-bottom: 9.5px;
+}
+legend + .control-group {
+ margin-top: 19px;
+ -webkit-margin-top-collapse: separate;
+}
+.form-horizontal .control-group {
+ margin-bottom: 19px;
+ *zoom: 1;
+}
+.form-horizontal .control-group:before,
+.form-horizontal .control-group:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.form-horizontal .control-group:after {
+ clear: both;
+}
+.form-horizontal .control-group:before,
+.form-horizontal .control-group:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.form-horizontal .control-group:after {
+ clear: both;
+}
+.form-horizontal .control-label {
+ float: left;
+ width: 160px;
+ padding-top: 5px;
+ text-align: right;
+}
+.form-horizontal .controls {
+ *display: inline-block;
+ *padding-left: 20px;
+ margin-left: 180px;
+ *margin-left: 0;
+}
+.form-horizontal .controls:first-child {
+ *padding-left: 180px;
+}
+.form-horizontal .help-block {
+ margin-bottom: 0;
+}
+.form-horizontal input + .help-block,
+.form-horizontal select + .help-block,
+.form-horizontal textarea + .help-block,
+.form-horizontal .uneditable-input + .help-block,
+.form-horizontal .input-prepend + .help-block,
+.form-horizontal .input-append + .help-block {
+ margin-top: 9.5px;
+}
+.form-horizontal .form-actions {
+ padding-left: 180px;
+}
+table {
+ max-width: 100%;
+ background-color: transparent;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+.table {
+ width: 100%;
+ margin-bottom: 19px;
+}
+.table th,
+.table td {
+ padding: 8px;
+ line-height: 19px;
+ text-align: left;
+ vertical-align: top;
+ border-top: 1px solid #dddddd;
+}
+.table th {
+ font-weight: bold;
+}
+.table thead th {
+ vertical-align: bottom;
+}
+.table caption + thead tr:first-child th,
+.table caption + thead tr:first-child td,
+.table colgroup + thead tr:first-child th,
+.table colgroup + thead tr:first-child td,
+.table thead:first-child tr:first-child th,
+.table thead:first-child tr:first-child td {
+ border-top: 0;
+}
+.table tbody + tbody {
+ border-top: 2px solid #dddddd;
+}
+.table .table {
+ background-color: #ffffff;
+}
+.table-condensed th,
+.table-condensed td {
+ padding: 4px 5px;
+}
+.table-bordered {
+ border: 1px solid #dddddd;
+ border-collapse: separate;
+ *border-collapse: collapse;
+ border-left: 0;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.table-bordered th,
+.table-bordered td {
+ border-left: 1px solid #dddddd;
+}
+.table-bordered caption + thead tr:first-child th,
+.table-bordered caption + tbody tr:first-child th,
+.table-bordered caption + tbody tr:first-child td,
+.table-bordered colgroup + thead tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child td,
+.table-bordered thead:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child td {
+ border-top: 0;
+}
+.table-bordered thead:first-child tr:first-child > th:first-child,
+.table-bordered tbody:first-child tr:first-child > td:first-child,
+.table-bordered tbody:first-child tr:first-child > th:first-child {
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+}
+.table-bordered thead:first-child tr:first-child > th:last-child,
+.table-bordered tbody:first-child tr:first-child > td:last-child,
+.table-bordered tbody:first-child tr:first-child > th:last-child {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+}
+.table-bordered thead:last-child tr:last-child > th:first-child,
+.table-bordered tbody:last-child tr:last-child > td:first-child,
+.table-bordered tbody:last-child tr:last-child > th:first-child,
+.table-bordered tfoot:last-child tr:last-child > td:first-child,
+.table-bordered tfoot:last-child tr:last-child > th:first-child {
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.table-bordered thead:last-child tr:last-child > th:last-child,
+.table-bordered tbody:last-child tr:last-child > td:last-child,
+.table-bordered tbody:last-child tr:last-child > th:last-child,
+.table-bordered tfoot:last-child tr:last-child > td:last-child,
+.table-bordered tfoot:last-child tr:last-child > th:last-child {
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+}
+.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-radius-bottomleft: 0;
+ border-bottom-left-radius: 0;
+}
+.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
+ -webkit-border-bottom-right-radius: 0;
+ -moz-border-radius-bottomright: 0;
+ border-bottom-right-radius: 0;
+}
+.table-bordered caption + thead tr:first-child th:first-child,
+.table-bordered caption + tbody tr:first-child td:first-child,
+.table-bordered colgroup + thead tr:first-child th:first-child,
+.table-bordered colgroup + tbody tr:first-child td:first-child {
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+}
+.table-bordered caption + thead tr:first-child th:last-child,
+.table-bordered caption + tbody tr:first-child td:last-child,
+.table-bordered colgroup + thead tr:first-child th:last-child,
+.table-bordered colgroup + tbody tr:first-child td:last-child {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+}
+.table-striped tbody > tr:nth-child(odd) > td,
+.table-striped tbody > tr:nth-child(odd) > th {
+ background-color: #f9f9f9;
+}
+.table-hover tbody tr:hover > td,
+.table-hover tbody tr:hover > th {
+ background-color: #f5f5f5;
+}
+table td[class*="span"],
+table th[class*="span"],
+.row-fluid table td[class*="span"],
+.row-fluid table th[class*="span"] {
+ display: table-cell;
+ float: none;
+ margin-left: 0;
+}
+.table td.span1,
+.table th.span1 {
+ float: none;
+ width: 44px;
+ margin-left: 0;
+}
+.table td.span2,
+.table th.span2 {
+ float: none;
+ width: 124px;
+ margin-left: 0;
+}
+.table td.span3,
+.table th.span3 {
+ float: none;
+ width: 204px;
+ margin-left: 0;
+}
+.table td.span4,
+.table th.span4 {
+ float: none;
+ width: 284px;
+ margin-left: 0;
+}
+.table td.span5,
+.table th.span5 {
+ float: none;
+ width: 364px;
+ margin-left: 0;
+}
+.table td.span6,
+.table th.span6 {
+ float: none;
+ width: 444px;
+ margin-left: 0;
+}
+.table td.span7,
+.table th.span7 {
+ float: none;
+ width: 524px;
+ margin-left: 0;
+}
+.table td.span8,
+.table th.span8 {
+ float: none;
+ width: 604px;
+ margin-left: 0;
+}
+.table td.span9,
+.table th.span9 {
+ float: none;
+ width: 684px;
+ margin-left: 0;
+}
+.table td.span10,
+.table th.span10 {
+ float: none;
+ width: 764px;
+ margin-left: 0;
+}
+.table td.span11,
+.table th.span11 {
+ float: none;
+ width: 844px;
+ margin-left: 0;
+}
+.table td.span12,
+.table th.span12 {
+ float: none;
+ width: 924px;
+ margin-left: 0;
+}
+.table tbody tr.success > td {
+ background-color: #dff0d8;
+}
+.table tbody tr.error > td {
+ background-color: #f2dede;
+}
+.table tbody tr.warning > td {
+ background-color: #fcf8e3;
+}
+.table tbody tr.info > td {
+ background-color: #d9edf7;
+}
+.table-hover tbody tr.success:hover > td {
+ background-color: #d0e9c6;
+}
+.table-hover tbody tr.error:hover > td {
+ background-color: #ebcccc;
+}
+.table-hover tbody tr.warning:hover > td {
+ background-color: #faf2cc;
+}
+.table-hover tbody tr.info:hover > td {
+ background-color: #c4e3f3;
+}
+[class^="icon-"],
+[class*=" icon-"] {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ *margin-right: .3em;
+ line-height: 14px;
+ vertical-align: text-top;
+ background-image: url("../../img/glyphicons-halflings.png");
+ background-position: 14px 14px;
+ background-repeat: no-repeat;
+ margin-top: 1px;
+}
+/* White icons with optional class, or on hover/focus/active states of certain elements */
+.icon-white,
+.nav-pills > .active > a > [class^="icon-"],
+.nav-pills > .active > a > [class*=" icon-"],
+.nav-list > .active > a > [class^="icon-"],
+.nav-list > .active > a > [class*=" icon-"],
+.navbar-inverse .nav > .active > a > [class^="icon-"],
+.navbar-inverse .nav > .active > a > [class*=" icon-"],
+.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:focus > [class^="icon-"],
+.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > li > a:focus > [class*=" icon-"],
+.dropdown-menu > .active > a > [class^="icon-"],
+.dropdown-menu > .active > a > [class*=" icon-"],
+.dropdown-submenu:hover > a > [class^="icon-"],
+.dropdown-submenu:focus > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"],
+.dropdown-submenu:focus > a > [class*=" icon-"] {
+ background-image: url("../../img/glyphicons-halflings-white.png");
+}
+.icon-glass {
+ background-position: 0 0;
+}
+.icon-music {
+ background-position: -24px 0;
+}
+.icon-search {
+ background-position: -48px 0;
+}
+.icon-envelope {
+ background-position: -72px 0;
+}
+.icon-heart {
+ background-position: -96px 0;
+}
+.icon-star {
+ background-position: -120px 0;
+}
+.icon-star-empty {
+ background-position: -144px 0;
+}
+.icon-user {
+ background-position: -168px 0;
+}
+.icon-film {
+ background-position: -192px 0;
+}
+.icon-th-large {
+ background-position: -216px 0;
+}
+.icon-th {
+ background-position: -240px 0;
+}
+.icon-th-list {
+ background-position: -264px 0;
+}
+.icon-ok {
+ background-position: -288px 0;
+}
+.icon-remove {
+ background-position: -312px 0;
+}
+.icon-zoom-in {
+ background-position: -336px 0;
+}
+.icon-zoom-out {
+ background-position: -360px 0;
+}
+.icon-off {
+ background-position: -384px 0;
+}
+.icon-signal {
+ background-position: -408px 0;
+}
+.icon-cog {
+ background-position: -432px 0;
+}
+.icon-trash {
+ background-position: -456px 0;
+}
+.icon-home {
+ background-position: 0 -24px;
+}
+.icon-file {
+ background-position: -24px -24px;
+}
+.icon-time {
+ background-position: -48px -24px;
+}
+.icon-road {
+ background-position: -72px -24px;
+}
+.icon-download-alt {
+ background-position: -96px -24px;
+}
+.icon-download {
+ background-position: -120px -24px;
+}
+.icon-upload {
+ background-position: -144px -24px;
+}
+.icon-inbox {
+ background-position: -168px -24px;
+}
+.icon-play-circle {
+ background-position: -192px -24px;
+}
+.icon-repeat {
+ background-position: -216px -24px;
+}
+.icon-refresh {
+ background-position: -240px -24px;
+}
+.icon-list-alt {
+ background-position: -264px -24px;
+}
+.icon-lock {
+ background-position: -287px -24px;
+}
+.icon-flag {
+ background-position: -312px -24px;
+}
+.icon-headphones {
+ background-position: -336px -24px;
+}
+.icon-volume-off {
+ background-position: -360px -24px;
+}
+.icon-volume-down {
+ background-position: -384px -24px;
+}
+.icon-volume-up {
+ background-position: -408px -24px;
+}
+.icon-qrcode {
+ background-position: -432px -24px;
+}
+.icon-barcode {
+ background-position: -456px -24px;
+}
+.icon-tag {
+ background-position: 0 -48px;
+}
+.icon-tags {
+ background-position: -25px -48px;
+}
+.icon-book {
+ background-position: -48px -48px;
+}
+.icon-bookmark {
+ background-position: -72px -48px;
+}
+.icon-print {
+ background-position: -96px -48px;
+}
+.icon-camera {
+ background-position: -120px -48px;
+}
+.icon-font {
+ background-position: -144px -48px;
+}
+.icon-bold {
+ background-position: -167px -48px;
+}
+.icon-italic {
+ background-position: -192px -48px;
+}
+.icon-text-height {
+ background-position: -216px -48px;
+}
+.icon-text-width {
+ background-position: -240px -48px;
+}
+.icon-align-left {
+ background-position: -264px -48px;
+}
+.icon-align-center {
+ background-position: -288px -48px;
+}
+.icon-align-right {
+ background-position: -312px -48px;
+}
+.icon-align-justify {
+ background-position: -336px -48px;
+}
+.icon-list {
+ background-position: -360px -48px;
+}
+.icon-indent-left {
+ background-position: -384px -48px;
+}
+.icon-indent-right {
+ background-position: -408px -48px;
+}
+.icon-facetime-video {
+ background-position: -432px -48px;
+}
+.icon-picture {
+ background-position: -456px -48px;
+}
+.icon-pencil {
+ background-position: 0 -72px;
+}
+.icon-map-marker {
+ background-position: -24px -72px;
+}
+.icon-adjust {
+ background-position: -48px -72px;
+}
+.icon-tint {
+ background-position: -72px -72px;
+}
+.icon-edit {
+ background-position: -96px -72px;
+}
+.icon-share {
+ background-position: -120px -72px;
+}
+.icon-check {
+ background-position: -144px -72px;
+}
+.icon-move {
+ background-position: -168px -72px;
+}
+.icon-step-backward {
+ background-position: -192px -72px;
+}
+.icon-fast-backward {
+ background-position: -216px -72px;
+}
+.icon-backward {
+ background-position: -240px -72px;
+}
+.icon-play {
+ background-position: -264px -72px;
+}
+.icon-pause {
+ background-position: -288px -72px;
+}
+.icon-stop {
+ background-position: -312px -72px;
+}
+.icon-forward {
+ background-position: -336px -72px;
+}
+.icon-fast-forward {
+ background-position: -360px -72px;
+}
+.icon-step-forward {
+ background-position: -384px -72px;
+}
+.icon-eject {
+ background-position: -408px -72px;
+}
+.icon-chevron-left {
+ background-position: -432px -72px;
+}
+.icon-chevron-right {
+ background-position: -456px -72px;
+}
+.icon-plus-sign {
+ background-position: 0 -96px;
+}
+.icon-minus-sign {
+ background-position: -24px -96px;
+}
+.icon-remove-sign {
+ background-position: -48px -96px;
+}
+.icon-ok-sign {
+ background-position: -72px -96px;
+}
+.icon-question-sign {
+ background-position: -96px -96px;
+}
+.icon-info-sign {
+ background-position: -120px -96px;
+}
+.icon-screenshot {
+ background-position: -144px -96px;
+}
+.icon-remove-circle {
+ background-position: -168px -96px;
+}
+.icon-ok-circle {
+ background-position: -192px -96px;
+}
+.icon-ban-circle {
+ background-position: -216px -96px;
+}
+.icon-arrow-left {
+ background-position: -240px -96px;
+}
+.icon-arrow-right {
+ background-position: -264px -96px;
+}
+.icon-arrow-up {
+ background-position: -289px -96px;
+}
+.icon-arrow-down {
+ background-position: -312px -96px;
+}
+.icon-share-alt {
+ background-position: -336px -96px;
+}
+.icon-resize-full {
+ background-position: -360px -96px;
+}
+.icon-resize-small {
+ background-position: -384px -96px;
+}
+.icon-plus {
+ background-position: -408px -96px;
+}
+.icon-minus {
+ background-position: -433px -96px;
+}
+.icon-asterisk {
+ background-position: -456px -96px;
+}
+.icon-exclamation-sign {
+ background-position: 0 -120px;
+}
+.icon-gift {
+ background-position: -24px -120px;
+}
+.icon-leaf {
+ background-position: -48px -120px;
+}
+.icon-fire {
+ background-position: -72px -120px;
+}
+.icon-eye-open {
+ background-position: -96px -120px;
+}
+.icon-eye-close {
+ background-position: -120px -120px;
+}
+.icon-warning-sign {
+ background-position: -144px -120px;
+}
+.icon-plane {
+ background-position: -168px -120px;
+}
+.icon-calendar {
+ background-position: -192px -120px;
+}
+.icon-random {
+ background-position: -216px -120px;
+ width: 16px;
+}
+.icon-comment {
+ background-position: -240px -120px;
+}
+.icon-magnet {
+ background-position: -264px -120px;
+}
+.icon-chevron-up {
+ background-position: -288px -120px;
+}
+.icon-chevron-down {
+ background-position: -313px -119px;
+}
+.icon-retweet {
+ background-position: -336px -120px;
+}
+.icon-shopping-cart {
+ background-position: -360px -120px;
+}
+.icon-folder-close {
+ background-position: -384px -120px;
+ width: 16px;
+}
+.icon-folder-open {
+ background-position: -408px -120px;
+ width: 16px;
+}
+.icon-resize-vertical {
+ background-position: -432px -119px;
+}
+.icon-resize-horizontal {
+ background-position: -456px -118px;
+}
+.icon-hdd {
+ background-position: 0 -144px;
+}
+.icon-bullhorn {
+ background-position: -24px -144px;
+}
+.icon-bell {
+ background-position: -48px -144px;
+}
+.icon-certificate {
+ background-position: -72px -144px;
+}
+.icon-thumbs-up {
+ background-position: -96px -144px;
+}
+.icon-thumbs-down {
+ background-position: -120px -144px;
+}
+.icon-hand-right {
+ background-position: -144px -144px;
+}
+.icon-hand-left {
+ background-position: -168px -144px;
+}
+.icon-hand-up {
+ background-position: -192px -144px;
+}
+.icon-hand-down {
+ background-position: -216px -144px;
+}
+.icon-circle-arrow-right {
+ background-position: -240px -144px;
+}
+.icon-circle-arrow-left {
+ background-position: -264px -144px;
+}
+.icon-circle-arrow-up {
+ background-position: -288px -144px;
+}
+.icon-circle-arrow-down {
+ background-position: -312px -144px;
+}
+.icon-globe {
+ background-position: -336px -144px;
+}
+.icon-wrench {
+ background-position: -360px -144px;
+}
+.icon-tasks {
+ background-position: -384px -144px;
+}
+.icon-filter {
+ background-position: -408px -144px;
+}
+.icon-briefcase {
+ background-position: -432px -144px;
+}
+.icon-fullscreen {
+ background-position: -456px -144px;
+}
+.dropup,
+.dropdown {
+ position: relative;
+}
+.dropdown-toggle {
+ *margin-bottom: -3px;
+}
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+ outline: 0;
+}
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ vertical-align: top;
+ border-top: 4px solid #000000;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+ content: "";
+}
+.dropdown .caret {
+ margin-top: 8px;
+ margin-left: 2px;
+}
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ list-style: none;
+ background-color: #ffffff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+}
+.dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+.dropdown-menu .divider {
+ *width: 100%;
+ height: 1px;
+ margin: 8.5px 1px;
+ *margin: -5px 0 5px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+.dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 19px;
+ color: #333333;
+ white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
+ text-decoration: none;
+ color: #ffffff;
+ background-color: #0081c2;
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: #ffffff;
+ text-decoration: none;
+ outline: 0;
+ background-color: #0081c2;
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
+}
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ color: #999999;
+}
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ cursor: default;
+}
+.open {
+ *z-index: 1000;
+}
+.open > .dropdown-menu {
+ display: block;
+}
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ border-top: 0;
+ border-bottom: 4px solid #000000;
+ content: "";
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 1px;
+}
+.dropdown-submenu {
+ position: relative;
+}
+.dropdown-submenu > .dropdown-menu {
+ top: 0;
+ left: 100%;
+ margin-top: -6px;
+ margin-left: -1px;
+ -webkit-border-radius: 0 6px 6px 6px;
+ -moz-border-radius: 0 6px 6px 6px;
+ border-radius: 0 6px 6px 6px;
+}
+.dropdown-submenu:hover > .dropdown-menu {
+ display: block;
+}
+.dropup .dropdown-submenu > .dropdown-menu {
+ top: auto;
+ bottom: 0;
+ margin-top: 0;
+ margin-bottom: -2px;
+ -webkit-border-radius: 5px 5px 5px 0;
+ -moz-border-radius: 5px 5px 5px 0;
+ border-radius: 5px 5px 5px 0;
+}
+.dropdown-submenu > a:after {
+ display: block;
+ content: " ";
+ float: right;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ border-width: 5px 0 5px 5px;
+ border-left-color: #cccccc;
+ margin-top: 5px;
+ margin-right: -10px;
+}
+.dropdown-submenu:hover > a:after {
+ border-left-color: #ffffff;
+}
+.dropdown-submenu.pull-left {
+ float: none;
+}
+.dropdown-submenu.pull-left > .dropdown-menu {
+ left: -100%;
+ margin-left: 10px;
+ -webkit-border-radius: 6px 0 6px 6px;
+ -moz-border-radius: 6px 0 6px 6px;
+ border-radius: 6px 0 6px 6px;
+}
+.dropdown .dropdown-menu .nav-header {
+ padding-left: 20px;
+ padding-right: 20px;
+}
+.typeahead {
+ z-index: 1051;
+ margin-top: 2px;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #e3e3e3;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.well-large {
+ padding: 24px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.well-small {
+ padding: 9px;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ -moz-transition: opacity 0.15s linear;
+ -o-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+.fade.in {
+ opacity: 1;
+}
+.collapse {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition: height 0.35s ease;
+ -moz-transition: height 0.35s ease;
+ -o-transition: height 0.35s ease;
+ transition: height 0.35s ease;
+}
+.collapse.in {
+ height: auto;
+}
+.close {
+ float: right;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: 19px;
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ opacity: 0.2;
+ filter: alpha(opacity=20);
+}
+.close:hover,
+.close:focus {
+ color: #000000;
+ text-decoration: none;
+ cursor: pointer;
+ opacity: 0.4;
+ filter: alpha(opacity=40);
+}
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
+.btn {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ padding: 4px 12px;
+ margin-bottom: 0;
+ font-size: 13px;
+ line-height: 19px;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ color: #333333;
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+ background-color: #f5f5f5;
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #e6e6e6;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ border: 1px solid #cccccc;
+ *border: 0;
+ border-bottom-color: #b3b3b3;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ *margin-left: .3em;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+}
+.btn:hover,
+.btn:focus,
+.btn:active,
+.btn.active,
+.btn.disabled,
+.btn[disabled] {
+ color: #333333;
+ background-color: #e6e6e6;
+ *background-color: #d9d9d9;
+}
+.btn:active,
+.btn.active {
+ background-color: #cccccc \9;
+}
+.btn:hover,
+.btn:focus,
+.btn:active,
+.btn.active,
+.btn.disabled,
+.btn[disabled] {
+ color: #333333;
+ background-color: #e6e6e6;
+ *background-color: #d9d9d9;
+}
+.btn:active,
+.btn.active {
+ background-color: #cccccc \9;
+}
+.btn:first-child {
+ *margin-left: 0;
+}
+.btn:first-child {
+ *margin-left: 0;
+}
+.btn:hover,
+.btn:focus {
+ color: #333333;
+ text-decoration: none;
+ background-position: 0 -15px;
+ -webkit-transition: background-position 0.1s linear;
+ -moz-transition: background-position 0.1s linear;
+ -o-transition: background-position 0.1s linear;
+ transition: background-position 0.1s linear;
+}
+.btn:focus {
+ outline: thin dotted #333;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+.btn.active,
+.btn:active {
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+ -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+ box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+}
+.btn.disabled,
+.btn[disabled] {
+ cursor: default;
+ background-image: none;
+ opacity: 0.65;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+.btn-large {
+ padding: 11px 19px;
+ font-size: 16.25px;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.btn-large [class^="icon-"],
+.btn-large [class*=" icon-"] {
+ margin-top: 4px;
+}
+.btn-small {
+ padding: 2px 10px;
+ font-size: 11.049999999999999px;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.btn-small [class^="icon-"],
+.btn-small [class*=" icon-"] {
+ margin-top: 0;
+}
+.btn-mini [class^="icon-"],
+.btn-mini [class*=" icon-"] {
+ margin-top: -1px;
+}
+.btn-mini {
+ padding: 0 6px;
+ font-size: 9.75px;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.btn-block {
+ display: block;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%;
+}
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+ color: rgba(255, 255, 255, 0.75);
+}
+.btn-primary {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #006dcc;
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
+ background-image: linear-gradient(to bottom, #0088cc, #0044cc);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
+ border-color: #0044cc #0044cc #002a80;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #0044cc;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+ color: #ffffff;
+ background-color: #0044cc;
+ *background-color: #003bb3;
+}
+.btn-primary:active,
+.btn-primary.active {
+ background-color: #003399 \9;
+}
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+ color: #ffffff;
+ background-color: #0044cc;
+ *background-color: #003bb3;
+}
+.btn-primary:active,
+.btn-primary.active {
+ background-color: #003399 \9;
+}
+.btn-warning {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #faa732;
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
+ border-color: #f89406 #f89406 #ad6704;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #f89406;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-warning:hover,
+.btn-warning:focus,
+.btn-warning:active,
+.btn-warning.active,
+.btn-warning.disabled,
+.btn-warning[disabled] {
+ color: #ffffff;
+ background-color: #f89406;
+ *background-color: #df8505;
+}
+.btn-warning:active,
+.btn-warning.active {
+ background-color: #c67605 \9;
+}
+.btn-warning:hover,
+.btn-warning:focus,
+.btn-warning:active,
+.btn-warning.active,
+.btn-warning.disabled,
+.btn-warning[disabled] {
+ color: #ffffff;
+ background-color: #f89406;
+ *background-color: #df8505;
+}
+.btn-warning:active,
+.btn-warning.active {
+ background-color: #c67605 \9;
+}
+.btn-danger {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #da4f49;
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
+ background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
+ border-color: #bd362f #bd362f #802420;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #bd362f;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger:active,
+.btn-danger.active,
+.btn-danger.disabled,
+.btn-danger[disabled] {
+ color: #ffffff;
+ background-color: #bd362f;
+ *background-color: #a9302a;
+}
+.btn-danger:active,
+.btn-danger.active {
+ background-color: #942a25 \9;
+}
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger:active,
+.btn-danger.active,
+.btn-danger.disabled,
+.btn-danger[disabled] {
+ color: #ffffff;
+ background-color: #bd362f;
+ *background-color: #a9302a;
+}
+.btn-danger:active,
+.btn-danger.active {
+ background-color: #942a25 \9;
+}
+.btn-success {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #5bb75b;
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
+ background-image: linear-gradient(to bottom, #62c462, #51a351);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
+ border-color: #51a351 #51a351 #387038;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #51a351;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-success:hover,
+.btn-success:focus,
+.btn-success:active,
+.btn-success.active,
+.btn-success.disabled,
+.btn-success[disabled] {
+ color: #ffffff;
+ background-color: #51a351;
+ *background-color: #499249;
+}
+.btn-success:active,
+.btn-success.active {
+ background-color: #408140 \9;
+}
+.btn-success:hover,
+.btn-success:focus,
+.btn-success:active,
+.btn-success.active,
+.btn-success.disabled,
+.btn-success[disabled] {
+ color: #ffffff;
+ background-color: #51a351;
+ *background-color: #499249;
+}
+.btn-success:active,
+.btn-success.active {
+ background-color: #408140 \9;
+}
+.btn-info {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #49afcd;
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
+ background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
+ border-color: #2f96b4 #2f96b4 #1f6377;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #2f96b4;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-info:hover,
+.btn-info:focus,
+.btn-info:active,
+.btn-info.active,
+.btn-info.disabled,
+.btn-info[disabled] {
+ color: #ffffff;
+ background-color: #2f96b4;
+ *background-color: #2a85a0;
+}
+.btn-info:active,
+.btn-info.active {
+ background-color: #24748c \9;
+}
+.btn-info:hover,
+.btn-info:focus,
+.btn-info:active,
+.btn-info.active,
+.btn-info.disabled,
+.btn-info[disabled] {
+ color: #ffffff;
+ background-color: #2f96b4;
+ *background-color: #2a85a0;
+}
+.btn-info:active,
+.btn-info.active {
+ background-color: #24748c \9;
+}
+.btn-inverse {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #363636;
+ background-image: -moz-linear-gradient(top, #444444, #222222);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
+ background-image: -webkit-linear-gradient(top, #444444, #222222);
+ background-image: -o-linear-gradient(top, #444444, #222222);
+ background-image: linear-gradient(to bottom, #444444, #222222);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
+ border-color: #222222 #222222 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #222222;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-inverse:hover,
+.btn-inverse:focus,
+.btn-inverse:active,
+.btn-inverse.active,
+.btn-inverse.disabled,
+.btn-inverse[disabled] {
+ color: #ffffff;
+ background-color: #222222;
+ *background-color: #151515;
+}
+.btn-inverse:active,
+.btn-inverse.active {
+ background-color: #080808 \9;
+}
+.btn-inverse:hover,
+.btn-inverse:focus,
+.btn-inverse:active,
+.btn-inverse.active,
+.btn-inverse.disabled,
+.btn-inverse[disabled] {
+ color: #ffffff;
+ background-color: #222222;
+ *background-color: #151515;
+}
+.btn-inverse:active,
+.btn-inverse.active {
+ background-color: #080808 \9;
+}
+button.btn,
+input[type="submit"].btn {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+}
+button.btn::-moz-focus-inner,
+input[type="submit"].btn::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+button.btn.btn-large,
+input[type="submit"].btn.btn-large {
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+}
+button.btn.btn-small,
+input[type="submit"].btn.btn-small {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+}
+button.btn.btn-mini,
+input[type="submit"].btn.btn-mini {
+ *padding-top: 1px;
+ *padding-bottom: 1px;
+}
+.btn-link,
+.btn-link:active,
+.btn-link[disabled] {
+ background-color: transparent;
+ background-image: none;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+.btn-link {
+ border-color: transparent;
+ cursor: pointer;
+ color: #0088cc;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.btn-link:hover,
+.btn-link:focus {
+ color: #005580;
+ text-decoration: underline;
+ background-color: transparent;
+}
+.btn-link[disabled]:hover,
+.btn-link[disabled]:focus {
+ color: #333333;
+ text-decoration: none;
+}
+.btn-group {
+ position: relative;
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ font-size: 0;
+ vertical-align: middle;
+ white-space: nowrap;
+ *margin-left: .3em;
+}
+.btn-group:first-child {
+ *margin-left: 0;
+}
+.btn-group:first-child {
+ *margin-left: 0;
+}
+.btn-group + .btn-group {
+ margin-left: 5px;
+}
+.btn-toolbar {
+ font-size: 0;
+ margin-top: 9.5px;
+ margin-bottom: 9.5px;
+}
+.btn-toolbar > .btn + .btn,
+.btn-toolbar > .btn-group + .btn,
+.btn-toolbar > .btn + .btn-group {
+ margin-left: 5px;
+}
+.btn-group > .btn {
+ position: relative;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.btn-group > .btn + .btn {
+ margin-left: -1px;
+}
+.btn-group > .btn,
+.btn-group > .dropdown-menu,
+.btn-group > .popover {
+ font-size: 13px;
+}
+.btn-group > .btn-mini {
+ font-size: 9.75px;
+}
+.btn-group > .btn-small {
+ font-size: 11.049999999999999px;
+}
+.btn-group > .btn-large {
+ font-size: 16.25px;
+}
+.btn-group > .btn:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+}
+.btn-group > .btn.large:first-child {
+ margin-left: 0;
+ -webkit-border-top-left-radius: 6px;
+ -moz-border-radius-topleft: 6px;
+ border-top-left-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -moz-border-radius-bottomleft: 6px;
+ border-bottom-left-radius: 6px;
+}
+.btn-group > .btn.large:last-child,
+.btn-group > .large.dropdown-toggle {
+ -webkit-border-top-right-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ border-top-right-radius: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -moz-border-radius-bottomright: 6px;
+ border-bottom-right-radius: 6px;
+}
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active {
+ z-index: 2;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px;
+ -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
+ *padding-top: 5px;
+ *padding-bottom: 5px;
+}
+.btn-group > .btn-mini + .dropdown-toggle {
+ padding-left: 5px;
+ padding-right: 5px;
+ *padding-top: 2px;
+ *padding-bottom: 2px;
+}
+.btn-group > .btn-small + .dropdown-toggle {
+ *padding-top: 5px;
+ *padding-bottom: 4px;
+}
+.btn-group > .btn-large + .dropdown-toggle {
+ padding-left: 12px;
+ padding-right: 12px;
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+}
+.btn-group.open .dropdown-toggle {
+ background-image: none;
+ -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+ -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+ box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
+}
+.btn-group.open .btn.dropdown-toggle {
+ background-color: #e6e6e6;
+}
+.btn-group.open .btn-primary.dropdown-toggle {
+ background-color: #0044cc;
+}
+.btn-group.open .btn-warning.dropdown-toggle {
+ background-color: #f89406;
+}
+.btn-group.open .btn-danger.dropdown-toggle {
+ background-color: #bd362f;
+}
+.btn-group.open .btn-success.dropdown-toggle {
+ background-color: #51a351;
+}
+.btn-group.open .btn-info.dropdown-toggle {
+ background-color: #2f96b4;
+}
+.btn-group.open .btn-inverse.dropdown-toggle {
+ background-color: #222222;
+}
+.btn .caret {
+ margin-top: 8px;
+ margin-left: 0;
+}
+.btn-large .caret {
+ margin-top: 6px;
+}
+.btn-large .caret {
+ border-left-width: 5px;
+ border-right-width: 5px;
+ border-top-width: 5px;
+}
+.btn-mini .caret,
+.btn-small .caret {
+ margin-top: 8px;
+}
+.dropup .btn-large .caret {
+ border-bottom-width: 5px;
+}
+.btn-primary .caret,
+.btn-warning .caret,
+.btn-danger .caret,
+.btn-info .caret,
+.btn-success .caret,
+.btn-inverse .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+.btn-group-vertical {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+}
+.btn-group-vertical > .btn {
+ display: block;
+ float: none;
+ max-width: 100%;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.btn-group-vertical > .btn + .btn {
+ margin-left: 0;
+ margin-top: -1px;
+}
+.btn-group-vertical > .btn:first-child {
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+.btn-group-vertical > .btn:last-child {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+.btn-group-vertical > .btn-large:first-child {
+ -webkit-border-radius: 6px 6px 0 0;
+ -moz-border-radius: 6px 6px 0 0;
+ border-radius: 6px 6px 0 0;
+}
+.btn-group-vertical > .btn-large:last-child {
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+}
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: 19px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ background-color: #fcf8e3;
+ border: 1px solid #fbeed5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.alert,
+.alert h4 {
+ color: #c09853;
+}
+.alert h4 {
+ margin: 0;
+}
+.alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: 19px;
+}
+.alert-success {
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+ color: #468847;
+}
+.alert-success h4 {
+ color: #468847;
+}
+.alert-danger,
+.alert-error {
+ background-color: #f2dede;
+ border-color: #eed3d7;
+ color: #b94a48;
+}
+.alert-danger h4,
+.alert-error h4 {
+ color: #b94a48;
+}
+.alert-info {
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+ color: #3a87ad;
+}
+.alert-info h4 {
+ color: #3a87ad;
+}
+.alert-block {
+ padding-top: 14px;
+ padding-bottom: 14px;
+}
+.alert-block > p,
+.alert-block > ul {
+ margin-bottom: 0;
+}
+.alert-block p + p {
+ margin-top: 5px;
+}
+.nav {
+ margin-left: 0;
+ margin-bottom: 19px;
+ list-style: none;
+}
+.nav > li > a {
+ display: block;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+ text-decoration: none;
+ background-color: #eeeeee;
+}
+.nav > li > a > img {
+ max-width: none;
+}
+.nav > .pull-right {
+ float: right;
+}
+.nav-header {
+ display: block;
+ padding: 3px 15px;
+ font-size: 11px;
+ font-weight: bold;
+ line-height: 19px;
+ color: #999999;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ text-transform: uppercase;
+}
+.nav li + .nav-header {
+ margin-top: 9px;
+}
+.nav-list {
+ padding-left: 15px;
+ padding-right: 15px;
+ margin-bottom: 0;
+}
+.nav-list > li > a,
+.nav-list .nav-header {
+ margin-left: -15px;
+ margin-right: -15px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+.nav-list > li > a {
+ padding: 3px 15px;
+}
+.nav-list > .active > a,
+.nav-list > .active > a:hover,
+.nav-list > .active > a:focus {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+ background-color: #0088cc;
+}
+.nav-list [class^="icon-"],
+.nav-list [class*=" icon-"] {
+ margin-right: 2px;
+}
+.nav-list .divider {
+ *width: 100%;
+ height: 1px;
+ margin: 8.5px 1px;
+ *margin: -5px 0 5px;
+ overflow: hidden;
+ background-color: #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+.nav-tabs,
+.nav-pills {
+ *zoom: 1;
+}
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.nav-tabs:after,
+.nav-pills:after {
+ clear: both;
+}
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.nav-tabs:after,
+.nav-pills:after {
+ clear: both;
+}
+.nav-tabs > li,
+.nav-pills > li {
+ float: left;
+}
+.nav-tabs > li > a,
+.nav-pills > li > a {
+ padding-right: 12px;
+ padding-left: 12px;
+ margin-right: 2px;
+ line-height: 14px;
+}
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+ margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ line-height: 19px;
+ border: 1px solid transparent;
+ -webkit-border-radius: 4px 4px 0 0;
+ -moz-border-radius: 4px 4px 0 0;
+ border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover,
+.nav-tabs > li > a:focus {
+ border-color: #eeeeee #eeeeee #dddddd;
+}
+.nav-tabs > .active > a,
+.nav-tabs > .active > a:hover,
+.nav-tabs > .active > a:focus {
+ color: #555555;
+ background-color: #ffffff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+ cursor: default;
+}
+.nav-pills > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+}
+.nav-pills > .active > a,
+.nav-pills > .active > a:hover,
+.nav-pills > .active > a:focus {
+ color: #ffffff;
+ background-color: #0088cc;
+}
+.nav-stacked > li {
+ float: none;
+}
+.nav-stacked > li > a {
+ margin-right: 0;
+}
+.nav-tabs.nav-stacked {
+ border-bottom: 0;
+}
+.nav-tabs.nav-stacked > li > a {
+ border: 1px solid #ddd;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.nav-tabs.nav-stacked > li:first-child > a {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+}
+.nav-tabs.nav-stacked > li:last-child > a {
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.nav-tabs.nav-stacked > li > a:hover,
+.nav-tabs.nav-stacked > li > a:focus {
+ border-color: #ddd;
+ z-index: 2;
+}
+.nav-pills.nav-stacked > li > a {
+ margin-bottom: 3px;
+}
+.nav-pills.nav-stacked > li:last-child > a {
+ margin-bottom: 1px;
+}
+.nav-tabs .dropdown-menu {
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+}
+.nav-pills .dropdown-menu {
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.nav .dropdown-toggle .caret {
+ border-top-color: #0088cc;
+ border-bottom-color: #0088cc;
+ margin-top: 6px;
+}
+.nav .dropdown-toggle:hover .caret,
+.nav .dropdown-toggle:focus .caret {
+ border-top-color: #005580;
+ border-bottom-color: #005580;
+}
+/* move down carets for tabs */
+.nav-tabs .dropdown-toggle .caret {
+ margin-top: 8px;
+}
+.nav .active .dropdown-toggle .caret {
+ border-top-color: #fff;
+ border-bottom-color: #fff;
+}
+.nav-tabs .active .dropdown-toggle .caret {
+ border-top-color: #555555;
+ border-bottom-color: #555555;
+}
+.nav > .dropdown.active > a:hover,
+.nav > .dropdown.active > a:focus {
+ cursor: pointer;
+}
+.nav-tabs .open .dropdown-toggle,
+.nav-pills .open .dropdown-toggle,
+.nav > li.dropdown.open.active > a:hover,
+.nav > li.dropdown.open.active > a:focus {
+ color: #ffffff;
+ background-color: #999999;
+ border-color: #999999;
+}
+.nav li.dropdown.open .caret,
+.nav li.dropdown.open.active .caret,
+.nav li.dropdown.open a:hover .caret,
+.nav li.dropdown.open a:focus .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+ opacity: 1;
+ filter: alpha(opacity=100);
+}
+.tabs-stacked .open > a:hover,
+.tabs-stacked .open > a:focus {
+ border-color: #999999;
+}
+.tabbable {
+ *zoom: 1;
+}
+.tabbable:before,
+.tabbable:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.tabbable:after {
+ clear: both;
+}
+.tabbable:before,
+.tabbable:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.tabbable:after {
+ clear: both;
+}
+.tab-content {
+ overflow: auto;
+}
+.tabs-below > .nav-tabs,
+.tabs-right > .nav-tabs,
+.tabs-left > .nav-tabs {
+ border-bottom: 0;
+}
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+ display: none;
+}
+.tab-content > .active,
+.pill-content > .active {
+ display: block;
+}
+.tabs-below > .nav-tabs {
+ border-top: 1px solid #ddd;
+}
+.tabs-below > .nav-tabs > li {
+ margin-top: -1px;
+ margin-bottom: 0;
+}
+.tabs-below > .nav-tabs > li > a {
+ -webkit-border-radius: 0 0 4px 4px;
+ -moz-border-radius: 0 0 4px 4px;
+ border-radius: 0 0 4px 4px;
+}
+.tabs-below > .nav-tabs > li > a:hover,
+.tabs-below > .nav-tabs > li > a:focus {
+ border-bottom-color: transparent;
+ border-top-color: #ddd;
+}
+.tabs-below > .nav-tabs > .active > a,
+.tabs-below > .nav-tabs > .active > a:hover,
+.tabs-below > .nav-tabs > .active > a:focus {
+ border-color: transparent #ddd #ddd #ddd;
+}
+.tabs-left > .nav-tabs > li,
+.tabs-right > .nav-tabs > li {
+ float: none;
+}
+.tabs-left > .nav-tabs > li > a,
+.tabs-right > .nav-tabs > li > a {
+ min-width: 74px;
+ margin-right: 0;
+ margin-bottom: 3px;
+}
+.tabs-left > .nav-tabs {
+ float: left;
+ margin-right: 19px;
+ border-right: 1px solid #ddd;
+}
+.tabs-left > .nav-tabs > li > a {
+ margin-right: -1px;
+ -webkit-border-radius: 4px 0 0 4px;
+ -moz-border-radius: 4px 0 0 4px;
+ border-radius: 4px 0 0 4px;
+}
+.tabs-left > .nav-tabs > li > a:hover,
+.tabs-left > .nav-tabs > li > a:focus {
+ border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+.tabs-left > .nav-tabs .active > a,
+.tabs-left > .nav-tabs .active > a:hover,
+.tabs-left > .nav-tabs .active > a:focus {
+ border-color: #ddd transparent #ddd #ddd;
+ *border-right-color: #ffffff;
+}
+.tabs-right > .nav-tabs {
+ float: right;
+ margin-left: 19px;
+ border-left: 1px solid #ddd;
+}
+.tabs-right > .nav-tabs > li > a {
+ margin-left: -1px;
+ -webkit-border-radius: 0 4px 4px 0;
+ -moz-border-radius: 0 4px 4px 0;
+ border-radius: 0 4px 4px 0;
+}
+.tabs-right > .nav-tabs > li > a:hover,
+.tabs-right > .nav-tabs > li > a:focus {
+ border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+.tabs-right > .nav-tabs .active > a,
+.tabs-right > .nav-tabs .active > a:hover,
+.tabs-right > .nav-tabs .active > a:focus {
+ border-color: #ddd #ddd #ddd transparent;
+ *border-left-color: #ffffff;
+}
+.nav > .disabled > a {
+ color: #999999;
+}
+.nav > .disabled > a:hover,
+.nav > .disabled > a:focus {
+ text-decoration: none;
+ background-color: transparent;
+ cursor: default;
+}
+.navbar {
+ overflow: visible;
+ margin-bottom: 19px;
+ *position: relative;
+ *z-index: 2;
+}
+.navbar-inner {
+ min-height: 40px;
+ padding-left: 20px;
+ padding-right: 20px;
+ background-color: #fafafa;
+ background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
+ background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
+ background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
+ background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
+ border: 1px solid #d4d4d4;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
+ *zoom: 1;
+}
+.navbar-inner:before,
+.navbar-inner:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.navbar-inner:after {
+ clear: both;
+}
+.navbar-inner:before,
+.navbar-inner:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.navbar-inner:after {
+ clear: both;
+}
+.navbar .container {
+ width: auto;
+}
+.nav-collapse.collapse {
+ height: auto;
+ overflow: visible;
+}
+.navbar .brand {
+ float: left;
+ display: block;
+ padding: 10.5px 20px 10.5px;
+ margin-left: -20px;
+ font-size: 20px;
+ font-weight: 200;
+ color: #777777;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.navbar .brand:hover,
+.navbar .brand:focus {
+ text-decoration: none;
+}
+.navbar-text {
+ margin-bottom: 0;
+ line-height: 40px;
+ color: #777777;
+}
+.navbar-link {
+ color: #777777;
+}
+.navbar-link:hover,
+.navbar-link:focus {
+ color: #333333;
+}
+.navbar .divider-vertical {
+ height: 40px;
+ margin: 0 9px;
+ border-left: 1px solid #f2f2f2;
+ border-right: 1px solid #ffffff;
+}
+.navbar .btn,
+.navbar .btn-group {
+ margin-top: 5px;
+}
+.navbar .btn-group .btn,
+.navbar .input-prepend .btn,
+.navbar .input-append .btn,
+.navbar .input-prepend .btn-group,
+.navbar .input-append .btn-group {
+ margin-top: 0;
+}
+.navbar-form {
+ margin-bottom: 0;
+ *zoom: 1;
+}
+.navbar-form:before,
+.navbar-form:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.navbar-form:after {
+ clear: both;
+}
+.navbar-form:before,
+.navbar-form:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.navbar-form:after {
+ clear: both;
+}
+.navbar-form input,
+.navbar-form select,
+.navbar-form .radio,
+.navbar-form .checkbox {
+ margin-top: 5px;
+}
+.navbar-form input,
+.navbar-form select,
+.navbar-form .btn {
+ display: inline-block;
+ margin-bottom: 0;
+}
+.navbar-form input[type="image"],
+.navbar-form input[type="checkbox"],
+.navbar-form input[type="radio"] {
+ margin-top: 3px;
+}
+.navbar-form .input-append,
+.navbar-form .input-prepend {
+ margin-top: 5px;
+ white-space: nowrap;
+}
+.navbar-form .input-append input,
+.navbar-form .input-prepend input {
+ margin-top: 0;
+}
+.navbar-search {
+ position: relative;
+ float: left;
+ margin-top: 5px;
+ margin-bottom: 0;
+}
+.navbar-search .search-query {
+ margin-bottom: 0;
+ padding: 4px 14px;
+ font-family: 'Open Sans', sans-serif;
+ font-size: 13px;
+ font-weight: normal;
+ line-height: 1;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+}
+.navbar-static-top {
+ position: static;
+ margin-bottom: 0;
+}
+.navbar-static-top .navbar-inner {
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+ margin-bottom: 0;
+}
+.navbar-fixed-top .navbar-inner,
+.navbar-static-top .navbar-inner {
+ border-width: 0 0 1px;
+}
+.navbar-fixed-bottom .navbar-inner {
+ border-width: 1px 0 0;
+}
+.navbar-fixed-top .navbar-inner,
+.navbar-fixed-bottom .navbar-inner {
+ padding-left: 0;
+ padding-right: 0;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+}
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+ width: 940px;
+}
+.navbar-fixed-top {
+ top: 0;
+}
+.navbar-fixed-top .navbar-inner,
+.navbar-static-top .navbar-inner {
+ -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
+ -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
+ box-shadow: 0 1px 10px rgba(0,0,0,.1);
+}
+.navbar-fixed-bottom {
+ bottom: 0;
+}
+.navbar-fixed-bottom .navbar-inner {
+ -webkit-box-shadow: 0 -1px 10px rgba(0,0,0,.1);
+ -moz-box-shadow: 0 -1px 10px rgba(0,0,0,.1);
+ box-shadow: 0 -1px 10px rgba(0,0,0,.1);
+}
+.navbar .nav {
+ position: relative;
+ left: 0;
+ display: block;
+ float: left;
+ margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+ float: right;
+ margin-right: 0;
+}
+.navbar .nav > li {
+ float: left;
+}
+.navbar .nav > li > a {
+ float: none;
+ padding: 10.5px 15px 10.5px;
+ color: #777777;
+ text-decoration: none;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.navbar .nav .dropdown-toggle .caret {
+ margin-top: 8px;
+}
+.navbar .nav > li > a:focus,
+.navbar .nav > li > a:hover {
+ background-color: transparent;
+ color: #333333;
+ text-decoration: none;
+}
+.navbar .nav > .active > a,
+.navbar .nav > .active > a:hover,
+.navbar .nav > .active > a:focus {
+ color: #555555;
+ text-decoration: none;
+ background-color: #e5e5e5;
+ -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+ -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+ box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
+}
+.navbar .btn-navbar {
+ display: none;
+ float: right;
+ padding: 7px 10px;
+ margin-left: 5px;
+ margin-right: 5px;
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #ededed;
+ background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
+ background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
+ background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
+ background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
+ border-color: #e5e5e5 #e5e5e5 #bfbfbf;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #e5e5e5;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
+ -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
+}
+.navbar .btn-navbar:hover,
+.navbar .btn-navbar:focus,
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active,
+.navbar .btn-navbar.disabled,
+.navbar .btn-navbar[disabled] {
+ color: #ffffff;
+ background-color: #e5e5e5;
+ *background-color: #d9d9d9;
+}
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active {
+ background-color: #cccccc \9;
+}
+.navbar .btn-navbar:hover,
+.navbar .btn-navbar:focus,
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active,
+.navbar .btn-navbar.disabled,
+.navbar .btn-navbar[disabled] {
+ color: #ffffff;
+ background-color: #e5e5e5;
+ *background-color: #d9d9d9;
+}
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active {
+ background-color: #cccccc \9;
+}
+.navbar .btn-navbar .icon-bar {
+ display: block;
+ width: 18px;
+ height: 2px;
+ background-color: #f5f5f5;
+ -webkit-border-radius: 1px;
+ -moz-border-radius: 1px;
+ border-radius: 1px;
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+}
+.btn-navbar .icon-bar + .icon-bar {
+ margin-top: 3px;
+}
+.navbar .nav > li > .dropdown-menu:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ position: absolute;
+ top: -7px;
+ left: 9px;
+}
+.navbar .nav > li > .dropdown-menu:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #ffffff;
+ position: absolute;
+ top: -6px;
+ left: 10px;
+}
+.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
+ border-top: 7px solid #ccc;
+ border-top-color: rgba(0, 0, 0, 0.2);
+ border-bottom: 0;
+ bottom: -7px;
+ top: auto;
+}
+.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
+ border-top: 6px solid #ffffff;
+ border-bottom: 0;
+ bottom: -6px;
+ top: auto;
+}
+.navbar .nav li.dropdown > a:hover .caret,
+.navbar .nav li.dropdown > a:focus .caret {
+ border-top-color: #333333;
+ border-bottom-color: #333333;
+}
+.navbar .nav li.dropdown.open > .dropdown-toggle,
+.navbar .nav li.dropdown.active > .dropdown-toggle,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle {
+ background-color: #e5e5e5;
+ color: #555555;
+}
+.navbar .nav li.dropdown > .dropdown-toggle .caret {
+ border-top-color: #777777;
+ border-bottom-color: #777777;
+}
+.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
+.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
+ border-top-color: #555555;
+ border-bottom-color: #555555;
+}
+.navbar .pull-right > li > .dropdown-menu,
+.navbar .nav > li > .dropdown-menu.pull-right {
+ left: auto;
+ right: 0;
+}
+.navbar .pull-right > li > .dropdown-menu:before,
+.navbar .nav > li > .dropdown-menu.pull-right:before {
+ left: auto;
+ right: 12px;
+}
+.navbar .pull-right > li > .dropdown-menu:after,
+.navbar .nav > li > .dropdown-menu.pull-right:after {
+ left: auto;
+ right: 13px;
+}
+.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
+.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
+ left: auto;
+ right: 100%;
+ margin-left: 0;
+ margin-right: -1px;
+ -webkit-border-radius: 6px 0 6px 6px;
+ -moz-border-radius: 6px 0 6px 6px;
+ border-radius: 6px 0 6px 6px;
+}
+.navbar-inverse .navbar-inner {
+ background-color: #1b1b1b;
+ background-image: -moz-linear-gradient(top, #222222, #111111);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
+ background-image: -webkit-linear-gradient(top, #222222, #111111);
+ background-image: -o-linear-gradient(top, #222222, #111111);
+ background-image: linear-gradient(to bottom, #222222, #111111);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
+ border-color: #252525;
+}
+.navbar-inverse .brand,
+.navbar-inverse .nav > li > a {
+ color: #999999;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.navbar-inverse .brand:hover,
+.navbar-inverse .nav > li > a:hover,
+.navbar-inverse .brand:focus,
+.navbar-inverse .nav > li > a:focus {
+ color: #ffffff;
+}
+.navbar-inverse .brand {
+ color: #999999;
+}
+.navbar-inverse .navbar-text {
+ color: #999999;
+}
+.navbar-inverse .nav > li > a:focus,
+.navbar-inverse .nav > li > a:hover {
+ background-color: transparent;
+ color: #ffffff;
+}
+.navbar-inverse .nav .active > a,
+.navbar-inverse .nav .active > a:hover,
+.navbar-inverse .nav .active > a:focus {
+ color: #ffffff;
+ background-color: #111111;
+}
+.navbar-inverse .navbar-link {
+ color: #999999;
+}
+.navbar-inverse .navbar-link:hover,
+.navbar-inverse .navbar-link:focus {
+ color: #ffffff;
+}
+.navbar-inverse .divider-vertical {
+ border-left-color: #111111;
+ border-right-color: #222222;
+}
+.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
+.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
+.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
+ background-color: #111111;
+ color: #ffffff;
+}
+.navbar-inverse .nav li.dropdown > a:hover .caret,
+.navbar-inverse .nav li.dropdown > a:focus .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
+ border-top-color: #999999;
+ border-bottom-color: #999999;
+}
+.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
+.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
+.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
+ border-top-color: #ffffff;
+ border-bottom-color: #ffffff;
+}
+.navbar-inverse .navbar-search .search-query {
+ color: #ffffff;
+ background-color: #515151;
+ border-color: #111111;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
+ -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
+ box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
+ -webkit-transition: none;
+ -moz-transition: none;
+ -o-transition: none;
+ transition: none;
+}
+.navbar-inverse .navbar-search .search-query:-moz-placeholder {
+ color: #cccccc;
+}
+.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
+ color: #cccccc;
+}
+.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
+ color: #cccccc;
+}
+.navbar-inverse .navbar-search .search-query:-moz-placeholder {
+ color: #cccccc;
+}
+.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
+ color: #cccccc;
+}
+.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
+ color: #cccccc;
+}
+.navbar-inverse .navbar-search .search-query:focus,
+.navbar-inverse .navbar-search .search-query.focused {
+ padding: 5px 15px;
+ color: #333333;
+ text-shadow: 0 1px 0 #ffffff;
+ background-color: #ffffff;
+ border: 0;
+ -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+ outline: 0;
+}
+.navbar-inverse .btn-navbar {
+ color: #ffffff;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #0e0e0e;
+ background-image: -moz-linear-gradient(top, #151515, #040404);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
+ background-image: -webkit-linear-gradient(top, #151515, #040404);
+ background-image: -o-linear-gradient(top, #151515, #040404);
+ background-image: linear-gradient(to bottom, #151515, #040404);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
+ border-color: #040404 #040404 #000000;
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+ *background-color: #040404;
+ /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.navbar-inverse .btn-navbar:hover,
+.navbar-inverse .btn-navbar:focus,
+.navbar-inverse .btn-navbar:active,
+.navbar-inverse .btn-navbar.active,
+.navbar-inverse .btn-navbar.disabled,
+.navbar-inverse .btn-navbar[disabled] {
+ color: #ffffff;
+ background-color: #040404;
+ *background-color: #000000;
+}
+.navbar-inverse .btn-navbar:active,
+.navbar-inverse .btn-navbar.active {
+ background-color: #000000 \9;
+}
+.navbar-inverse .btn-navbar:hover,
+.navbar-inverse .btn-navbar:focus,
+.navbar-inverse .btn-navbar:active,
+.navbar-inverse .btn-navbar.active,
+.navbar-inverse .btn-navbar.disabled,
+.navbar-inverse .btn-navbar[disabled] {
+ color: #ffffff;
+ background-color: #040404;
+ *background-color: #000000;
+}
+.navbar-inverse .btn-navbar:active,
+.navbar-inverse .btn-navbar.active {
+ background-color: #000000 \9;
+}
+.breadcrumb {
+ padding: 8px 15px;
+ margin: 0 0 19px;
+ list-style: none;
+ background-color: #f5f5f5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.breadcrumb > li {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.breadcrumb > li > .divider {
+ padding: 0 5px;
+ color: #ccc;
+}
+.breadcrumb > .active {
+ color: #999999;
+}
+.pagination {
+ margin: 19px 0;
+}
+.pagination ul {
+ display: inline-block;
+ *display: inline;
+ /* IE7 inline-block hack */
+
+ *zoom: 1;
+ margin-left: 0;
+ margin-bottom: 0;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.pagination ul > li {
+ display: inline;
+}
+.pagination ul > li > a,
+.pagination ul > li > span {
+ float: left;
+ padding: 4px 12px;
+ line-height: 19px;
+ text-decoration: none;
+ background-color: #ffffff;
+ border: 1px solid #dddddd;
+ border-left-width: 0;
+}
+.pagination ul > li > a:hover,
+.pagination ul > li > a:focus,
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+ background-color: #f5f5f5;
+}
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+ color: #999999;
+ cursor: default;
+}
+.pagination ul > .disabled > span,
+.pagination ul > .disabled > a,
+.pagination ul > .disabled > a:hover,
+.pagination ul > .disabled > a:focus {
+ color: #999999;
+ background-color: transparent;
+ cursor: default;
+}
+.pagination ul > li:first-child > a,
+.pagination ul > li:first-child > span {
+ border-left-width: 1px;
+ -webkit-border-top-left-radius: 4px;
+ -moz-border-radius-topleft: 4px;
+ border-top-left-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -moz-border-radius-bottomleft: 4px;
+ border-bottom-left-radius: 4px;
+}
+.pagination ul > li:last-child > a,
+.pagination ul > li:last-child > span {
+ -webkit-border-top-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-bottom-right-radius: 4px;
+}
+.pagination-centered {
+ text-align: center;
+}
+.pagination-right {
+ text-align: right;
+}
+.pagination-large ul > li > a,
+.pagination-large ul > li > span {
+ padding: 11px 19px;
+ font-size: 16.25px;
+}
+.pagination-large ul > li:first-child > a,
+.pagination-large ul > li:first-child > span {
+ -webkit-border-top-left-radius: 6px;
+ -moz-border-radius-topleft: 6px;
+ border-top-left-radius: 6px;
+ -webkit-border-bottom-left-radius: 6px;
+ -moz-border-radius-bottomleft: 6px;
+ border-bottom-left-radius: 6px;
+}
+.pagination-large ul > li:last-child > a,
+.pagination-large ul > li:last-child > span {
+ -webkit-border-top-right-radius: 6px;
+ -moz-border-radius-topright: 6px;
+ border-top-right-radius: 6px;
+ -webkit-border-bottom-right-radius: 6px;
+ -moz-border-radius-bottomright: 6px;
+ border-bottom-right-radius: 6px;
+}
+.pagination-mini ul > li:first-child > a,
+.pagination-small ul > li:first-child > a,
+.pagination-mini ul > li:first-child > span,
+.pagination-small ul > li:first-child > span {
+ -webkit-border-top-left-radius: 3px;
+ -moz-border-radius-topleft: 3px;
+ border-top-left-radius: 3px;
+ -webkit-border-bottom-left-radius: 3px;
+ -moz-border-radius-bottomleft: 3px;
+ border-bottom-left-radius: 3px;
+}
+.pagination-mini ul > li:last-child > a,
+.pagination-small ul > li:last-child > a,
+.pagination-mini ul > li:last-child > span,
+.pagination-small ul > li:last-child > span {
+ -webkit-border-top-right-radius: 3px;
+ -moz-border-radius-topright: 3px;
+ border-top-right-radius: 3px;
+ -webkit-border-bottom-right-radius: 3px;
+ -moz-border-radius-bottomright: 3px;
+ border-bottom-right-radius: 3px;
+}
+.pagination-small ul > li > a,
+.pagination-small ul > li > span {
+ padding: 2px 10px;
+ font-size: 11.049999999999999px;
+}
+.pagination-mini ul > li > a,
+.pagination-mini ul > li > span {
+ padding: 0 6px;
+ font-size: 9.75px;
+}
+.pager {
+ margin: 19px 0;
+ list-style: none;
+ text-align: center;
+ *zoom: 1;
+}
+.pager:before,
+.pager:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.pager:after {
+ clear: both;
+}
+.pager:before,
+.pager:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.pager:after {
+ clear: both;
+}
+.pager li {
+ display: inline;
+}
+.pager li > a,
+.pager li > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 15px;
+ -moz-border-radius: 15px;
+ border-radius: 15px;
+}
+.pager li > a:hover,
+.pager li > a:focus {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.pager .next > a,
+.pager .next > span {
+ float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+ float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+ color: #999999;
+ background-color: #fff;
+ cursor: default;
+}
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000000;
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop,
+.modal-backdrop.fade.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+.modal {
+ position: fixed;
+ top: 10%;
+ left: 50%;
+ z-index: 1050;
+ width: 560px;
+ margin-left: -280px;
+ background-color: #ffffff;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, 0.3);
+ *border: 1px solid #999;
+ /* IE6-7 */
+
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+ outline: none;
+}
+.modal.fade {
+ -webkit-transition: opacity .3s linear, top .3s ease-out;
+ -moz-transition: opacity .3s linear, top .3s ease-out;
+ -o-transition: opacity .3s linear, top .3s ease-out;
+ transition: opacity .3s linear, top .3s ease-out;
+ top: -25%;
+}
+.modal.fade.in {
+ top: 10%;
+}
+.modal-header {
+ padding: 9px 15px;
+ border-bottom: 1px solid #eee;
+}
+.modal-header .close {
+ margin-top: 2px;
+}
+.modal-header h3 {
+ margin: 0;
+ line-height: 30px;
+}
+.modal-body {
+ position: relative;
+ overflow-y: auto;
+ max-height: 400px;
+ padding: 15px;
+}
+.modal-form {
+ margin-bottom: 0;
+}
+.modal-footer {
+ padding: 14px 15px 15px;
+ margin-bottom: 0;
+ text-align: right;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ -webkit-border-radius: 0 0 6px 6px;
+ -moz-border-radius: 0 0 6px 6px;
+ border-radius: 0 0 6px 6px;
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 #ffffff;
+ *zoom: 1;
+}
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.modal-footer:after {
+ clear: both;
+}
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.modal-footer:after {
+ clear: both;
+}
+.modal-footer .btn + .btn {
+ margin-left: 5px;
+ margin-bottom: 0;
+}
+.modal-footer .btn-group .btn + .btn {
+ margin-left: -1px;
+}
+.modal-footer .btn-block + .btn-block {
+ margin-left: 0;
+}
+.tooltip {
+ position: absolute;
+ z-index: 1030;
+ display: block;
+ visibility: visible;
+ font-size: 11px;
+ line-height: 1.4;
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+.tooltip.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+.tooltip.top {
+ margin-top: -3px;
+ padding: 5px 0;
+}
+.tooltip.right {
+ margin-left: 3px;
+ padding: 0 5px;
+}
+.tooltip.bottom {
+ margin-top: 3px;
+ padding: 5px 0;
+}
+.tooltip.left {
+ margin-left: -3px;
+ padding: 0 5px;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 8px;
+ color: #ffffff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000000;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000000;
+}
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-width: 5px 5px 5px 0;
+ border-right-color: #000000;
+}
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-width: 5px 0 5px 5px;
+ border-left-color: #000000;
+}
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000000;
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: none;
+ max-width: 276px;
+ padding: 1px;
+ text-align: left;
+ background-color: #ffffff;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ white-space: normal;
+}
+.popover.top {
+ margin-top: -10px;
+}
+.popover.right {
+ margin-left: 10px;
+}
+.popover.bottom {
+ margin-top: 10px;
+}
+.popover.left {
+ margin-left: -10px;
+}
+.popover-title {
+ margin: 0;
+ padding: 8px 14px;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 18px;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ -webkit-border-radius: 5px 5px 0 0;
+ -moz-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+}
+.popover-title:empty {
+ display: none;
+}
+.popover-content {
+ padding: 9px 14px;
+}
+.popover .arrow,
+.popover .arrow:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.popover .arrow {
+ border-width: 11px;
+}
+.popover .arrow:after {
+ border-width: 10px;
+ content: "";
+}
+.popover.top .arrow {
+ left: 50%;
+ margin-left: -11px;
+ border-bottom-width: 0;
+ border-top-color: #999;
+ border-top-color: rgba(0, 0, 0, 0.25);
+ bottom: -11px;
+}
+.popover.top .arrow:after {
+ bottom: 1px;
+ margin-left: -10px;
+ border-bottom-width: 0;
+ border-top-color: #ffffff;
+}
+.popover.right .arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-left-width: 0;
+ border-right-color: #999;
+ border-right-color: rgba(0, 0, 0, 0.25);
+}
+.popover.right .arrow:after {
+ left: 1px;
+ bottom: -10px;
+ border-left-width: 0;
+ border-right-color: #ffffff;
+}
+.popover.bottom .arrow {
+ left: 50%;
+ margin-left: -11px;
+ border-top-width: 0;
+ border-bottom-color: #999;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+ top: -11px;
+}
+.popover.bottom .arrow:after {
+ top: 1px;
+ margin-left: -10px;
+ border-top-width: 0;
+ border-bottom-color: #ffffff;
+}
+.popover.left .arrow {
+ top: 50%;
+ right: -11px;
+ margin-top: -11px;
+ border-right-width: 0;
+ border-left-color: #999;
+ border-left-color: rgba(0, 0, 0, 0.25);
+}
+.popover.left .arrow:after {
+ right: 1px;
+ border-right-width: 0;
+ border-left-color: #ffffff;
+ bottom: -10px;
+}
+.thumbnails {
+ margin-left: -20px;
+ list-style: none;
+ *zoom: 1;
+}
+.thumbnails:before,
+.thumbnails:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.thumbnails:after {
+ clear: both;
+}
+.thumbnails:before,
+.thumbnails:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.thumbnails:after {
+ clear: both;
+}
+.row-fluid .thumbnails {
+ margin-left: 0;
+}
+.thumbnails > li {
+ float: left;
+ margin-bottom: 19px;
+ margin-left: 20px;
+}
+.thumbnail {
+ display: block;
+ padding: 4px;
+ line-height: 19px;
+ border: 1px solid #ddd;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+a.thumbnail:hover,
+a.thumbnail:focus {
+ border-color: #0088cc;
+ -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+ -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+ box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+}
+.thumbnail > img {
+ display: block;
+ max-width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+.thumbnail .caption {
+ padding: 9px;
+ color: #555555;
+}
+.media,
+.media-body {
+ overflow: hidden;
+ *overflow: visible;
+ zoom: 1;
+}
+.media,
+.media .media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+.media-object {
+ display: block;
+}
+.media-heading {
+ margin: 0 0 5px;
+}
+.media > .pull-left {
+ margin-right: 10px;
+}
+.media > .pull-right {
+ margin-left: 10px;
+}
+.media-list {
+ margin-left: 0;
+ list-style: none;
+}
+.label,
+.badge {
+ display: inline-block;
+ padding: 2px 4px;
+ font-size: 10.998px;
+ font-weight: bold;
+ line-height: 14px;
+ color: #ffffff;
+ vertical-align: baseline;
+ white-space: nowrap;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #999999;
+}
+.label {
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+}
+.badge {
+ padding-left: 9px;
+ padding-right: 9px;
+ -webkit-border-radius: 9px;
+ -moz-border-radius: 9px;
+ border-radius: 9px;
+}
+.label:empty,
+.badge:empty {
+ display: none;
+}
+a.label:hover,
+a.label:focus,
+a.badge:hover,
+a.badge:focus {
+ color: #ffffff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.label-important,
+.badge-important {
+ background-color: #b94a48;
+}
+.label-important[href],
+.badge-important[href] {
+ background-color: #953b39;
+}
+.label-warning,
+.badge-warning {
+ background-color: #f89406;
+}
+.label-warning[href],
+.badge-warning[href] {
+ background-color: #c67605;
+}
+.label-success,
+.badge-success {
+ background-color: #468847;
+}
+.label-success[href],
+.badge-success[href] {
+ background-color: #356635;
+}
+.label-info,
+.badge-info {
+ background-color: #3a87ad;
+}
+.label-info[href],
+.badge-info[href] {
+ background-color: #2d6987;
+}
+.label-inverse,
+.badge-inverse {
+ background-color: #333333;
+}
+.label-inverse[href],
+.badge-inverse[href] {
+ background-color: #1a1a1a;
+}
+.btn .label,
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+.btn-mini .label,
+.btn-mini .badge {
+ top: 0;
+}
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@-moz-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@-ms-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 0 0;
+ }
+ to {
+ background-position: 40px 0;
+ }
+}
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+.progress {
+ overflow: hidden;
+ height: 19px;
+ margin-bottom: 19px;
+ background-color: #f7f7f7;
+ background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
+ background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
+ background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.progress .bar {
+ width: 0%;
+ height: 100%;
+ color: #ffffff;
+ float: left;
+ font-size: 12px;
+ text-align: center;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+ background-color: #0e90d2;
+ background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
+ background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
+ background-image: -o-linear-gradient(top, #149bdf, #0480be);
+ background-image: linear-gradient(to bottom, #149bdf, #0480be);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: width 0.6s ease;
+ -moz-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+}
+.progress .bar + .bar {
+ -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
+ -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
+ box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
+}
+.progress-striped .bar {
+ background-color: #149bdf;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ -moz-background-size: 40px 40px;
+ -o-background-size: 40px 40px;
+ background-size: 40px 40px;
+}
+.progress.active .bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -moz-animation: progress-bar-stripes 2s linear infinite;
+ -ms-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-danger .bar,
+.progress .bar-danger {
+ background-color: #dd514c;
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+ background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
+}
+.progress-danger.progress-striped .bar,
+.progress-striped .bar-danger {
+ background-color: #ee5f5b;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-success .bar,
+.progress .bar-success {
+ background-color: #5eb95e;
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
+ background-image: linear-gradient(to bottom, #62c462, #57a957);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
+}
+.progress-success.progress-striped .bar,
+.progress-striped .bar-success {
+ background-color: #62c462;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-info .bar,
+.progress .bar-info {
+ background-color: #4bb1cf;
+ background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
+ background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
+ background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
+}
+.progress-info.progress-striped .bar,
+.progress-striped .bar-info {
+ background-color: #5bc0de;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-warning .bar,
+.progress .bar-warning {
+ background-color: #faa732;
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
+}
+.progress-warning.progress-striped .bar,
+.progress-striped .bar-warning {
+ background-color: #fbb450;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.accordion {
+ margin-bottom: 19px;
+}
+.accordion-group {
+ margin-bottom: 2px;
+ border: 1px solid #e5e5e5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.accordion-heading {
+ border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+ display: block;
+ padding: 8px 15px;
+}
+.accordion-toggle {
+ cursor: pointer;
+}
+.accordion-inner {
+ padding: 9px 15px;
+ border-top: 1px solid #e5e5e5;
+}
+.carousel {
+ position: relative;
+ margin-bottom: 19px;
+ line-height: 1;
+}
+.carousel-inner {
+ overflow: hidden;
+ width: 100%;
+ position: relative;
+}
+.carousel-inner > .item {
+ display: none;
+ position: relative;
+ -webkit-transition: 0.6s ease-in-out left;
+ -moz-transition: 0.6s ease-in-out left;
+ -o-transition: 0.6s ease-in-out left;
+ transition: 0.6s ease-in-out left;
+}
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ display: block;
+ line-height: 1;
+}
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ display: block;
+}
+.carousel-inner > .active {
+ left: 0;
+}
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.carousel-inner > .next {
+ left: 100%;
+}
+.carousel-inner > .prev {
+ left: -100%;
+}
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+ left: 0;
+}
+.carousel-inner > .active.left {
+ left: -100%;
+}
+.carousel-inner > .active.right {
+ left: 100%;
+}
+.carousel-control {
+ position: absolute;
+ top: 40%;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ font-size: 60px;
+ font-weight: 100;
+ line-height: 30px;
+ color: #ffffff;
+ text-align: center;
+ background: #222222;
+ border: 3px solid #ffffff;
+ -webkit-border-radius: 23px;
+ -moz-border-radius: 23px;
+ border-radius: 23px;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+.carousel-control.right {
+ left: auto;
+ right: 15px;
+}
+.carousel-control:hover,
+.carousel-control:focus {
+ color: #ffffff;
+ text-decoration: none;
+ opacity: 0.9;
+ filter: alpha(opacity=90);
+}
+.carousel-indicators {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ z-index: 5;
+ margin: 0;
+ list-style: none;
+}
+.carousel-indicators li {
+ display: block;
+ float: left;
+ width: 10px;
+ height: 10px;
+ margin-left: 5px;
+ text-indent: -999px;
+ background-color: #ccc;
+ background-color: rgba(255, 255, 255, 0.25);
+ border-radius: 5px;
+}
+.carousel-indicators .active {
+ background-color: #fff;
+}
+.carousel-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 15px;
+ background: #333333;
+ background: rgba(0, 0, 0, 0.75);
+}
+.carousel-caption h4,
+.carousel-caption p {
+ color: #ffffff;
+ line-height: 19px;
+}
+.carousel-caption h4 {
+ margin: 0 0 5px;
+}
+.carousel-caption p {
+ margin-bottom: 0;
+}
+.hero-unit {
+ padding: 60px;
+ margin-bottom: 30px;
+ font-size: 18px;
+ font-weight: 200;
+ line-height: 28.5px;
+ color: inherit;
+ background-color: #eeeeee;
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+}
+.hero-unit h1 {
+ margin-bottom: 0;
+ font-size: 60px;
+ line-height: 1;
+ color: inherit;
+ letter-spacing: -1px;
+}
+.hero-unit li {
+ line-height: 28.5px;
+}
+.pull-right {
+ float: right;
+}
+.pull-left {
+ float: left;
+}
+.hide {
+ display: none;
+}
+.show {
+ display: block;
+}
+.invisible {
+ visibility: hidden;
+}
+.affix {
+ position: fixed;
+}
+/*!
+ * Bootstrap Responsive v2.3.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+.clearfix {
+ *zoom: 1;
+}
+.clearfix:before,
+.clearfix:after {
+ display: table;
+ content: "";
+ line-height: 0;
+}
+.clearfix:after {
+ clear: both;
+}
+.hide-text {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+.input-block-level {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+@-ms-viewport {
+ width: device-width;
+}
+.hidden {
+ display: none;
+ visibility: hidden;
+}
+.visible-phone {
+ display: none !important;
+}
+.visible-tablet {
+ display: none !important;
+}
+.hidden-desktop {
+ display: none !important;
+}
+.visible-desktop {
+ display: inherit !important;
+}
+@media (min-width: 768px) and (max-width: 979px) {
+ .hidden-desktop {
+ display: inherit !important;
+ }
+ .visible-desktop {
+ display: none !important ;
+ }
+ .visible-tablet {
+ display: inherit !important;
+ }
+ .hidden-tablet {
+ display: none !important;
+ }
+}
+@media (max-width: 767px) {
+ .hidden-desktop {
+ display: inherit !important;
+ }
+ .visible-desktop {
+ display: none !important;
+ }
+ .visible-phone {
+ display: inherit !important;
+ }
+ .hidden-phone {
+ display: none !important;
+ }
+}
+.visible-print {
+ display: none !important;
+}
+@media print {
+ .visible-print {
+ display: inherit !important;
+ }
+ .hidden-print {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .row {
+ margin-left: -30px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 30px;
+ }
+ .container,
+ .navbar-static-top .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container {
+ width: 1170px;
+ }
+ .span12 {
+ width: 1170px;
+ }
+ .span11 {
+ width: 1070px;
+ }
+ .span10 {
+ width: 970px;
+ }
+ .span9 {
+ width: 870px;
+ }
+ .span8 {
+ width: 770px;
+ }
+ .span7 {
+ width: 670px;
+ }
+ .span6 {
+ width: 570px;
+ }
+ .span5 {
+ width: 470px;
+ }
+ .span4 {
+ width: 370px;
+ }
+ .span3 {
+ width: 270px;
+ }
+ .span2 {
+ width: 170px;
+ }
+ .span1 {
+ width: 70px;
+ }
+ .offset12 {
+ margin-left: 1230px;
+ }
+ .offset11 {
+ margin-left: 1130px;
+ }
+ .offset10 {
+ margin-left: 1030px;
+ }
+ .offset9 {
+ margin-left: 930px;
+ }
+ .offset8 {
+ margin-left: 830px;
+ }
+ .offset7 {
+ margin-left: 730px;
+ }
+ .offset6 {
+ margin-left: 630px;
+ }
+ .offset5 {
+ margin-left: 530px;
+ }
+ .offset4 {
+ margin-left: 430px;
+ }
+ .offset3 {
+ margin-left: 330px;
+ }
+ .offset2 {
+ margin-left: 230px;
+ }
+ .offset1 {
+ margin-left: 130px;
+ }
+ .row {
+ margin-left: -30px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 30px;
+ }
+ .container,
+ .navbar-static-top .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container {
+ width: 1170px;
+ }
+ .span12 {
+ width: 1170px;
+ }
+ .span11 {
+ width: 1070px;
+ }
+ .span10 {
+ width: 970px;
+ }
+ .span9 {
+ width: 870px;
+ }
+ .span8 {
+ width: 770px;
+ }
+ .span7 {
+ width: 670px;
+ }
+ .span6 {
+ width: 570px;
+ }
+ .span5 {
+ width: 470px;
+ }
+ .span4 {
+ width: 370px;
+ }
+ .span3 {
+ width: 270px;
+ }
+ .span2 {
+ width: 170px;
+ }
+ .span1 {
+ width: 70px;
+ }
+ .offset12 {
+ margin-left: 1230px;
+ }
+ .offset11 {
+ margin-left: 1130px;
+ }
+ .offset10 {
+ margin-left: 1030px;
+ }
+ .offset9 {
+ margin-left: 930px;
+ }
+ .offset8 {
+ margin-left: 830px;
+ }
+ .offset7 {
+ margin-left: 730px;
+ }
+ .offset6 {
+ margin-left: 630px;
+ }
+ .offset5 {
+ margin-left: 530px;
+ }
+ .offset4 {
+ margin-left: 430px;
+ }
+ .offset3 {
+ margin-left: 330px;
+ }
+ .offset2 {
+ margin-left: 230px;
+ }
+ .offset1 {
+ margin-left: 130px;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid [class*="span"] {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ float: left;
+ margin-left: 2.564102564102564%;
+ *margin-left: 2.5109110747408616%;
+ }
+ .row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 2.564102564102564%;
+ }
+ .row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+ }
+ .row-fluid .span11 {
+ width: 91.45299145299145%;
+ *width: 91.39979996362975%;
+ }
+ .row-fluid .span10 {
+ width: 82.90598290598291%;
+ *width: 82.8527914166212%;
+ }
+ .row-fluid .span9 {
+ width: 74.35897435897436%;
+ *width: 74.30578286961266%;
+ }
+ .row-fluid .span8 {
+ width: 65.81196581196582%;
+ *width: 65.75877432260411%;
+ }
+ .row-fluid .span7 {
+ width: 57.26495726495726%;
+ *width: 57.21176577559556%;
+ }
+ .row-fluid .span6 {
+ width: 48.717948717948715%;
+ *width: 48.664757228587014%;
+ }
+ .row-fluid .span5 {
+ width: 40.17094017094017%;
+ *width: 40.11774868157847%;
+ }
+ .row-fluid .span4 {
+ width: 31.623931623931625%;
+ *width: 31.570740134569924%;
+ }
+ .row-fluid .span3 {
+ width: 23.076923076923077%;
+ *width: 23.023731587561375%;
+ }
+ .row-fluid .span2 {
+ width: 14.52991452991453%;
+ *width: 14.476723040552828%;
+ }
+ .row-fluid .span1 {
+ width: 5.982905982905983%;
+ *width: 5.929714493544281%;
+ }
+ .row-fluid .offset12 {
+ margin-left: 105.12820512820512%;
+ *margin-left: 105.02182214948171%;
+ }
+ .row-fluid .offset12:first-child {
+ margin-left: 102.56410256410257%;
+ *margin-left: 102.45771958537915%;
+ }
+ .row-fluid .offset11 {
+ margin-left: 96.58119658119658%;
+ *margin-left: 96.47481360247316%;
+ }
+ .row-fluid .offset11:first-child {
+ margin-left: 94.01709401709402%;
+ *margin-left: 93.91071103837061%;
+ }
+ .row-fluid .offset10 {
+ margin-left: 88.03418803418803%;
+ *margin-left: 87.92780505546462%;
+ }
+ .row-fluid .offset10:first-child {
+ margin-left: 85.47008547008548%;
+ *margin-left: 85.36370249136206%;
+ }
+ .row-fluid .offset9 {
+ margin-left: 79.48717948717949%;
+ *margin-left: 79.38079650845607%;
+ }
+ .row-fluid .offset9:first-child {
+ margin-left: 76.92307692307693%;
+ *margin-left: 76.81669394435352%;
+ }
+ .row-fluid .offset8 {
+ margin-left: 70.94017094017094%;
+ *margin-left: 70.83378796144753%;
+ }
+ .row-fluid .offset8:first-child {
+ margin-left: 68.37606837606839%;
+ *margin-left: 68.26968539734497%;
+ }
+ .row-fluid .offset7 {
+ margin-left: 62.393162393162385%;
+ *margin-left: 62.28677941443899%;
+ }
+ .row-fluid .offset7:first-child {
+ margin-left: 59.82905982905982%;
+ *margin-left: 59.72267685033642%;
+ }
+ .row-fluid .offset6 {
+ margin-left: 53.84615384615384%;
+ *margin-left: 53.739770867430444%;
+ }
+ .row-fluid .offset6:first-child {
+ margin-left: 51.28205128205128%;
+ *margin-left: 51.175668303327875%;
+ }
+ .row-fluid .offset5 {
+ margin-left: 45.299145299145295%;
+ *margin-left: 45.1927623204219%;
+ }
+ .row-fluid .offset5:first-child {
+ margin-left: 42.73504273504273%;
+ *margin-left: 42.62865975631933%;
+ }
+ .row-fluid .offset4 {
+ margin-left: 36.75213675213675%;
+ *margin-left: 36.645753773413354%;
+ }
+ .row-fluid .offset4:first-child {
+ margin-left: 34.18803418803419%;
+ *margin-left: 34.081651209310785%;
+ }
+ .row-fluid .offset3 {
+ margin-left: 28.205128205128204%;
+ *margin-left: 28.0987452264048%;
+ }
+ .row-fluid .offset3:first-child {
+ margin-left: 25.641025641025642%;
+ *margin-left: 25.53464266230224%;
+ }
+ .row-fluid .offset2 {
+ margin-left: 19.65811965811966%;
+ *margin-left: 19.551736679396257%;
+ }
+ .row-fluid .offset2:first-child {
+ margin-left: 17.094017094017094%;
+ *margin-left: 16.98763411529369%;
+ }
+ .row-fluid .offset1 {
+ margin-left: 11.11111111111111%;
+ *margin-left: 11.004728132387708%;
+ }
+ .row-fluid .offset1:first-child {
+ margin-left: 8.547008547008547%;
+ *margin-left: 8.440625568285142%;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid [class*="span"] {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ float: left;
+ margin-left: 2.564102564102564%;
+ *margin-left: 2.5109110747408616%;
+ }
+ .row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 2.564102564102564%;
+ }
+ .row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+ }
+ .row-fluid .span11 {
+ width: 91.45299145299145%;
+ *width: 91.39979996362975%;
+ }
+ .row-fluid .span10 {
+ width: 82.90598290598291%;
+ *width: 82.8527914166212%;
+ }
+ .row-fluid .span9 {
+ width: 74.35897435897436%;
+ *width: 74.30578286961266%;
+ }
+ .row-fluid .span8 {
+ width: 65.81196581196582%;
+ *width: 65.75877432260411%;
+ }
+ .row-fluid .span7 {
+ width: 57.26495726495726%;
+ *width: 57.21176577559556%;
+ }
+ .row-fluid .span6 {
+ width: 48.717948717948715%;
+ *width: 48.664757228587014%;
+ }
+ .row-fluid .span5 {
+ width: 40.17094017094017%;
+ *width: 40.11774868157847%;
+ }
+ .row-fluid .span4 {
+ width: 31.623931623931625%;
+ *width: 31.570740134569924%;
+ }
+ .row-fluid .span3 {
+ width: 23.076923076923077%;
+ *width: 23.023731587561375%;
+ }
+ .row-fluid .span2 {
+ width: 14.52991452991453%;
+ *width: 14.476723040552828%;
+ }
+ .row-fluid .span1 {
+ width: 5.982905982905983%;
+ *width: 5.929714493544281%;
+ }
+ .row-fluid .offset12 {
+ margin-left: 105.12820512820512%;
+ *margin-left: 105.02182214948171%;
+ }
+ .row-fluid .offset12:first-child {
+ margin-left: 102.56410256410257%;
+ *margin-left: 102.45771958537915%;
+ }
+ .row-fluid .offset11 {
+ margin-left: 96.58119658119658%;
+ *margin-left: 96.47481360247316%;
+ }
+ .row-fluid .offset11:first-child {
+ margin-left: 94.01709401709402%;
+ *margin-left: 93.91071103837061%;
+ }
+ .row-fluid .offset10 {
+ margin-left: 88.03418803418803%;
+ *margin-left: 87.92780505546462%;
+ }
+ .row-fluid .offset10:first-child {
+ margin-left: 85.47008547008548%;
+ *margin-left: 85.36370249136206%;
+ }
+ .row-fluid .offset9 {
+ margin-left: 79.48717948717949%;
+ *margin-left: 79.38079650845607%;
+ }
+ .row-fluid .offset9:first-child {
+ margin-left: 76.92307692307693%;
+ *margin-left: 76.81669394435352%;
+ }
+ .row-fluid .offset8 {
+ margin-left: 70.94017094017094%;
+ *margin-left: 70.83378796144753%;
+ }
+ .row-fluid .offset8:first-child {
+ margin-left: 68.37606837606839%;
+ *margin-left: 68.26968539734497%;
+ }
+ .row-fluid .offset7 {
+ margin-left: 62.393162393162385%;
+ *margin-left: 62.28677941443899%;
+ }
+ .row-fluid .offset7:first-child {
+ margin-left: 59.82905982905982%;
+ *margin-left: 59.72267685033642%;
+ }
+ .row-fluid .offset6 {
+ margin-left: 53.84615384615384%;
+ *margin-left: 53.739770867430444%;
+ }
+ .row-fluid .offset6:first-child {
+ margin-left: 51.28205128205128%;
+ *margin-left: 51.175668303327875%;
+ }
+ .row-fluid .offset5 {
+ margin-left: 45.299145299145295%;
+ *margin-left: 45.1927623204219%;
+ }
+ .row-fluid .offset5:first-child {
+ margin-left: 42.73504273504273%;
+ *margin-left: 42.62865975631933%;
+ }
+ .row-fluid .offset4 {
+ margin-left: 36.75213675213675%;
+ *margin-left: 36.645753773413354%;
+ }
+ .row-fluid .offset4:first-child {
+ margin-left: 34.18803418803419%;
+ *margin-left: 34.081651209310785%;
+ }
+ .row-fluid .offset3 {
+ margin-left: 28.205128205128204%;
+ *margin-left: 28.0987452264048%;
+ }
+ .row-fluid .offset3:first-child {
+ margin-left: 25.641025641025642%;
+ *margin-left: 25.53464266230224%;
+ }
+ .row-fluid .offset2 {
+ margin-left: 19.65811965811966%;
+ *margin-left: 19.551736679396257%;
+ }
+ .row-fluid .offset2:first-child {
+ margin-left: 17.094017094017094%;
+ *margin-left: 16.98763411529369%;
+ }
+ .row-fluid .offset1 {
+ margin-left: 11.11111111111111%;
+ *margin-left: 11.004728132387708%;
+ }
+ .row-fluid .offset1:first-child {
+ margin-left: 8.547008547008547%;
+ *margin-left: 8.440625568285142%;
+ }
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0;
+ }
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 30px;
+ }
+ input.span12,
+ textarea.span12,
+ .uneditable-input.span12 {
+ width: 1156px;
+ }
+ input.span11,
+ textarea.span11,
+ .uneditable-input.span11 {
+ width: 1056px;
+ }
+ input.span10,
+ textarea.span10,
+ .uneditable-input.span10 {
+ width: 956px;
+ }
+ input.span9,
+ textarea.span9,
+ .uneditable-input.span9 {
+ width: 856px;
+ }
+ input.span8,
+ textarea.span8,
+ .uneditable-input.span8 {
+ width: 756px;
+ }
+ input.span7,
+ textarea.span7,
+ .uneditable-input.span7 {
+ width: 656px;
+ }
+ input.span6,
+ textarea.span6,
+ .uneditable-input.span6 {
+ width: 556px;
+ }
+ input.span5,
+ textarea.span5,
+ .uneditable-input.span5 {
+ width: 456px;
+ }
+ input.span4,
+ textarea.span4,
+ .uneditable-input.span4 {
+ width: 356px;
+ }
+ input.span3,
+ textarea.span3,
+ .uneditable-input.span3 {
+ width: 256px;
+ }
+ input.span2,
+ textarea.span2,
+ .uneditable-input.span2 {
+ width: 156px;
+ }
+ input.span1,
+ textarea.span1,
+ .uneditable-input.span1 {
+ width: 56px;
+ }
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0;
+ }
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 30px;
+ }
+ input.span12,
+ textarea.span12,
+ .uneditable-input.span12 {
+ width: 1156px;
+ }
+ input.span11,
+ textarea.span11,
+ .uneditable-input.span11 {
+ width: 1056px;
+ }
+ input.span10,
+ textarea.span10,
+ .uneditable-input.span10 {
+ width: 956px;
+ }
+ input.span9,
+ textarea.span9,
+ .uneditable-input.span9 {
+ width: 856px;
+ }
+ input.span8,
+ textarea.span8,
+ .uneditable-input.span8 {
+ width: 756px;
+ }
+ input.span7,
+ textarea.span7,
+ .uneditable-input.span7 {
+ width: 656px;
+ }
+ input.span6,
+ textarea.span6,
+ .uneditable-input.span6 {
+ width: 556px;
+ }
+ input.span5,
+ textarea.span5,
+ .uneditable-input.span5 {
+ width: 456px;
+ }
+ input.span4,
+ textarea.span4,
+ .uneditable-input.span4 {
+ width: 356px;
+ }
+ input.span3,
+ textarea.span3,
+ .uneditable-input.span3 {
+ width: 256px;
+ }
+ input.span2,
+ textarea.span2,
+ .uneditable-input.span2 {
+ width: 156px;
+ }
+ input.span1,
+ textarea.span1,
+ .uneditable-input.span1 {
+ width: 56px;
+ }
+ .thumbnails {
+ margin-left: -30px;
+ }
+ .thumbnails > li {
+ margin-left: 30px;
+ }
+ .row-fluid .thumbnails {
+ margin-left: 0;
+ }
+}
+@media (min-width: 768px) and (max-width: 979px) {
+ .row {
+ margin-left: -20px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 20px;
+ }
+ .container,
+ .navbar-static-top .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container {
+ width: 724px;
+ }
+ .span12 {
+ width: 724px;
+ }
+ .span11 {
+ width: 662px;
+ }
+ .span10 {
+ width: 600px;
+ }
+ .span9 {
+ width: 538px;
+ }
+ .span8 {
+ width: 476px;
+ }
+ .span7 {
+ width: 414px;
+ }
+ .span6 {
+ width: 352px;
+ }
+ .span5 {
+ width: 290px;
+ }
+ .span4 {
+ width: 228px;
+ }
+ .span3 {
+ width: 166px;
+ }
+ .span2 {
+ width: 104px;
+ }
+ .span1 {
+ width: 42px;
+ }
+ .offset12 {
+ margin-left: 764px;
+ }
+ .offset11 {
+ margin-left: 702px;
+ }
+ .offset10 {
+ margin-left: 640px;
+ }
+ .offset9 {
+ margin-left: 578px;
+ }
+ .offset8 {
+ margin-left: 516px;
+ }
+ .offset7 {
+ margin-left: 454px;
+ }
+ .offset6 {
+ margin-left: 392px;
+ }
+ .offset5 {
+ margin-left: 330px;
+ }
+ .offset4 {
+ margin-left: 268px;
+ }
+ .offset3 {
+ margin-left: 206px;
+ }
+ .offset2 {
+ margin-left: 144px;
+ }
+ .offset1 {
+ margin-left: 82px;
+ }
+ .row {
+ margin-left: -20px;
+ *zoom: 1;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ .row:before,
+ .row:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row:after {
+ clear: both;
+ }
+ [class*="span"] {
+ float: left;
+ min-height: 1px;
+ margin-left: 20px;
+ }
+ .container,
+ .navbar-static-top .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container {
+ width: 724px;
+ }
+ .span12 {
+ width: 724px;
+ }
+ .span11 {
+ width: 662px;
+ }
+ .span10 {
+ width: 600px;
+ }
+ .span9 {
+ width: 538px;
+ }
+ .span8 {
+ width: 476px;
+ }
+ .span7 {
+ width: 414px;
+ }
+ .span6 {
+ width: 352px;
+ }
+ .span5 {
+ width: 290px;
+ }
+ .span4 {
+ width: 228px;
+ }
+ .span3 {
+ width: 166px;
+ }
+ .span2 {
+ width: 104px;
+ }
+ .span1 {
+ width: 42px;
+ }
+ .offset12 {
+ margin-left: 764px;
+ }
+ .offset11 {
+ margin-left: 702px;
+ }
+ .offset10 {
+ margin-left: 640px;
+ }
+ .offset9 {
+ margin-left: 578px;
+ }
+ .offset8 {
+ margin-left: 516px;
+ }
+ .offset7 {
+ margin-left: 454px;
+ }
+ .offset6 {
+ margin-left: 392px;
+ }
+ .offset5 {
+ margin-left: 330px;
+ }
+ .offset4 {
+ margin-left: 268px;
+ }
+ .offset3 {
+ margin-left: 206px;
+ }
+ .offset2 {
+ margin-left: 144px;
+ }
+ .offset1 {
+ margin-left: 82px;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid [class*="span"] {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ float: left;
+ margin-left: 2.7624309392265194%;
+ *margin-left: 2.709239449864817%;
+ }
+ .row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 2.7624309392265194%;
+ }
+ .row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+ }
+ .row-fluid .span11 {
+ width: 91.43646408839778%;
+ *width: 91.38327259903608%;
+ }
+ .row-fluid .span10 {
+ width: 82.87292817679558%;
+ *width: 82.81973668743387%;
+ }
+ .row-fluid .span9 {
+ width: 74.30939226519337%;
+ *width: 74.25620077583166%;
+ }
+ .row-fluid .span8 {
+ width: 65.74585635359117%;
+ *width: 65.69266486422946%;
+ }
+ .row-fluid .span7 {
+ width: 57.18232044198895%;
+ *width: 57.12912895262725%;
+ }
+ .row-fluid .span6 {
+ width: 48.61878453038674%;
+ *width: 48.56559304102504%;
+ }
+ .row-fluid .span5 {
+ width: 40.05524861878453%;
+ *width: 40.00205712942283%;
+ }
+ .row-fluid .span4 {
+ width: 31.491712707182323%;
+ *width: 31.43852121782062%;
+ }
+ .row-fluid .span3 {
+ width: 22.92817679558011%;
+ *width: 22.87498530621841%;
+ }
+ .row-fluid .span2 {
+ width: 14.3646408839779%;
+ *width: 14.311449394616199%;
+ }
+ .row-fluid .span1 {
+ width: 5.801104972375691%;
+ *width: 5.747913483013988%;
+ }
+ .row-fluid .offset12 {
+ margin-left: 105.52486187845304%;
+ *margin-left: 105.41847889972962%;
+ }
+ .row-fluid .offset12:first-child {
+ margin-left: 102.76243093922652%;
+ *margin-left: 102.6560479605031%;
+ }
+ .row-fluid .offset11 {
+ margin-left: 96.96132596685082%;
+ *margin-left: 96.8549429881274%;
+ }
+ .row-fluid .offset11:first-child {
+ margin-left: 94.1988950276243%;
+ *margin-left: 94.09251204890089%;
+ }
+ .row-fluid .offset10 {
+ margin-left: 88.39779005524862%;
+ *margin-left: 88.2914070765252%;
+ }
+ .row-fluid .offset10:first-child {
+ margin-left: 85.6353591160221%;
+ *margin-left: 85.52897613729868%;
+ }
+ .row-fluid .offset9 {
+ margin-left: 79.8342541436464%;
+ *margin-left: 79.72787116492299%;
+ }
+ .row-fluid .offset9:first-child {
+ margin-left: 77.07182320441989%;
+ *margin-left: 76.96544022569647%;
+ }
+ .row-fluid .offset8 {
+ margin-left: 71.2707182320442%;
+ *margin-left: 71.16433525332079%;
+ }
+ .row-fluid .offset8:first-child {
+ margin-left: 68.50828729281768%;
+ *margin-left: 68.40190431409427%;
+ }
+ .row-fluid .offset7 {
+ margin-left: 62.70718232044199%;
+ *margin-left: 62.600799341718584%;
+ }
+ .row-fluid .offset7:first-child {
+ margin-left: 59.94475138121547%;
+ *margin-left: 59.838368402492065%;
+ }
+ .row-fluid .offset6 {
+ margin-left: 54.14364640883978%;
+ *margin-left: 54.037263430116376%;
+ }
+ .row-fluid .offset6:first-child {
+ margin-left: 51.38121546961326%;
+ *margin-left: 51.27483249088986%;
+ }
+ .row-fluid .offset5 {
+ margin-left: 45.58011049723757%;
+ *margin-left: 45.47372751851417%;
+ }
+ .row-fluid .offset5:first-child {
+ margin-left: 42.81767955801105%;
+ *margin-left: 42.71129657928765%;
+ }
+ .row-fluid .offset4 {
+ margin-left: 37.01657458563536%;
+ *margin-left: 36.91019160691196%;
+ }
+ .row-fluid .offset4:first-child {
+ margin-left: 34.25414364640884%;
+ *margin-left: 34.14776066768544%;
+ }
+ .row-fluid .offset3 {
+ margin-left: 28.45303867403315%;
+ *margin-left: 28.346655695309746%;
+ }
+ .row-fluid .offset3:first-child {
+ margin-left: 25.69060773480663%;
+ *margin-left: 25.584224756083227%;
+ }
+ .row-fluid .offset2 {
+ margin-left: 19.88950276243094%;
+ *margin-left: 19.783119783707537%;
+ }
+ .row-fluid .offset2:first-child {
+ margin-left: 17.12707182320442%;
+ *margin-left: 17.02068884448102%;
+ }
+ .row-fluid .offset1 {
+ margin-left: 11.32596685082873%;
+ *margin-left: 11.219583872105325%;
+ }
+ .row-fluid .offset1:first-child {
+ margin-left: 8.56353591160221%;
+ *margin-left: 8.457152932878806%;
+ }
+ .row-fluid {
+ width: 100%;
+ *zoom: 1;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid:before,
+ .row-fluid:after {
+ display: table;
+ content: "";
+ line-height: 0;
+ }
+ .row-fluid:after {
+ clear: both;
+ }
+ .row-fluid [class*="span"] {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ float: left;
+ margin-left: 2.7624309392265194%;
+ *margin-left: 2.709239449864817%;
+ }
+ .row-fluid [class*="span"]:first-child {
+ margin-left: 0;
+ }
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 2.7624309392265194%;
+ }
+ .row-fluid .span12 {
+ width: 100%;
+ *width: 99.94680851063829%;
+ }
+ .row-fluid .span11 {
+ width: 91.43646408839778%;
+ *width: 91.38327259903608%;
+ }
+ .row-fluid .span10 {
+ width: 82.87292817679558%;
+ *width: 82.81973668743387%;
+ }
+ .row-fluid .span9 {
+ width: 74.30939226519337%;
+ *width: 74.25620077583166%;
+ }
+ .row-fluid .span8 {
+ width: 65.74585635359117%;
+ *width: 65.69266486422946%;
+ }
+ .row-fluid .span7 {
+ width: 57.18232044198895%;
+ *width: 57.12912895262725%;
+ }
+ .row-fluid .span6 {
+ width: 48.61878453038674%;
+ *width: 48.56559304102504%;
+ }
+ .row-fluid .span5 {
+ width: 40.05524861878453%;
+ *width: 40.00205712942283%;
+ }
+ .row-fluid .span4 {
+ width: 31.491712707182323%;
+ *width: 31.43852121782062%;
+ }
+ .row-fluid .span3 {
+ width: 22.92817679558011%;
+ *width: 22.87498530621841%;
+ }
+ .row-fluid .span2 {
+ width: 14.3646408839779%;
+ *width: 14.311449394616199%;
+ }
+ .row-fluid .span1 {
+ width: 5.801104972375691%;
+ *width: 5.747913483013988%;
+ }
+ .row-fluid .offset12 {
+ margin-left: 105.52486187845304%;
+ *margin-left: 105.41847889972962%;
+ }
+ .row-fluid .offset12:first-child {
+ margin-left: 102.76243093922652%;
+ *margin-left: 102.6560479605031%;
+ }
+ .row-fluid .offset11 {
+ margin-left: 96.96132596685082%;
+ *margin-left: 96.8549429881274%;
+ }
+ .row-fluid .offset11:first-child {
+ margin-left: 94.1988950276243%;
+ *margin-left: 94.09251204890089%;
+ }
+ .row-fluid .offset10 {
+ margin-left: 88.39779005524862%;
+ *margin-left: 88.2914070765252%;
+ }
+ .row-fluid .offset10:first-child {
+ margin-left: 85.6353591160221%;
+ *margin-left: 85.52897613729868%;
+ }
+ .row-fluid .offset9 {
+ margin-left: 79.8342541436464%;
+ *margin-left: 79.72787116492299%;
+ }
+ .row-fluid .offset9:first-child {
+ margin-left: 77.07182320441989%;
+ *margin-left: 76.96544022569647%;
+ }
+ .row-fluid .offset8 {
+ margin-left: 71.2707182320442%;
+ *margin-left: 71.16433525332079%;
+ }
+ .row-fluid .offset8:first-child {
+ margin-left: 68.50828729281768%;
+ *margin-left: 68.40190431409427%;
+ }
+ .row-fluid .offset7 {
+ margin-left: 62.70718232044199%;
+ *margin-left: 62.600799341718584%;
+ }
+ .row-fluid .offset7:first-child {
+ margin-left: 59.94475138121547%;
+ *margin-left: 59.838368402492065%;
+ }
+ .row-fluid .offset6 {
+ margin-left: 54.14364640883978%;
+ *margin-left: 54.037263430116376%;
+ }
+ .row-fluid .offset6:first-child {
+ margin-left: 51.38121546961326%;
+ *margin-left: 51.27483249088986%;
+ }
+ .row-fluid .offset5 {
+ margin-left: 45.58011049723757%;
+ *margin-left: 45.47372751851417%;
+ }
+ .row-fluid .offset5:first-child {
+ margin-left: 42.81767955801105%;
+ *margin-left: 42.71129657928765%;
+ }
+ .row-fluid .offset4 {
+ margin-left: 37.01657458563536%;
+ *margin-left: 36.91019160691196%;
+ }
+ .row-fluid .offset4:first-child {
+ margin-left: 34.25414364640884%;
+ *margin-left: 34.14776066768544%;
+ }
+ .row-fluid .offset3 {
+ margin-left: 28.45303867403315%;
+ *margin-left: 28.346655695309746%;
+ }
+ .row-fluid .offset3:first-child {
+ margin-left: 25.69060773480663%;
+ *margin-left: 25.584224756083227%;
+ }
+ .row-fluid .offset2 {
+ margin-left: 19.88950276243094%;
+ *margin-left: 19.783119783707537%;
+ }
+ .row-fluid .offset2:first-child {
+ margin-left: 17.12707182320442%;
+ *margin-left: 17.02068884448102%;
+ }
+ .row-fluid .offset1 {
+ margin-left: 11.32596685082873%;
+ *margin-left: 11.219583872105325%;
+ }
+ .row-fluid .offset1:first-child {
+ margin-left: 8.56353591160221%;
+ *margin-left: 8.457152932878806%;
+ }
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0;
+ }
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 20px;
+ }
+ input.span12,
+ textarea.span12,
+ .uneditable-input.span12 {
+ width: 710px;
+ }
+ input.span11,
+ textarea.span11,
+ .uneditable-input.span11 {
+ width: 648px;
+ }
+ input.span10,
+ textarea.span10,
+ .uneditable-input.span10 {
+ width: 586px;
+ }
+ input.span9,
+ textarea.span9,
+ .uneditable-input.span9 {
+ width: 524px;
+ }
+ input.span8,
+ textarea.span8,
+ .uneditable-input.span8 {
+ width: 462px;
+ }
+ input.span7,
+ textarea.span7,
+ .uneditable-input.span7 {
+ width: 400px;
+ }
+ input.span6,
+ textarea.span6,
+ .uneditable-input.span6 {
+ width: 338px;
+ }
+ input.span5,
+ textarea.span5,
+ .uneditable-input.span5 {
+ width: 276px;
+ }
+ input.span4,
+ textarea.span4,
+ .uneditable-input.span4 {
+ width: 214px;
+ }
+ input.span3,
+ textarea.span3,
+ .uneditable-input.span3 {
+ width: 152px;
+ }
+ input.span2,
+ textarea.span2,
+ .uneditable-input.span2 {
+ width: 90px;
+ }
+ input.span1,
+ textarea.span1,
+ .uneditable-input.span1 {
+ width: 28px;
+ }
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0;
+ }
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 20px;
+ }
+ input.span12,
+ textarea.span12,
+ .uneditable-input.span12 {
+ width: 710px;
+ }
+ input.span11,
+ textarea.span11,
+ .uneditable-input.span11 {
+ width: 648px;
+ }
+ input.span10,
+ textarea.span10,
+ .uneditable-input.span10 {
+ width: 586px;
+ }
+ input.span9,
+ textarea.span9,
+ .uneditable-input.span9 {
+ width: 524px;
+ }
+ input.span8,
+ textarea.span8,
+ .uneditable-input.span8 {
+ width: 462px;
+ }
+ input.span7,
+ textarea.span7,
+ .uneditable-input.span7 {
+ width: 400px;
+ }
+ input.span6,
+ textarea.span6,
+ .uneditable-input.span6 {
+ width: 338px;
+ }
+ input.span5,
+ textarea.span5,
+ .uneditable-input.span5 {
+ width: 276px;
+ }
+ input.span4,
+ textarea.span4,
+ .uneditable-input.span4 {
+ width: 214px;
+ }
+ input.span3,
+ textarea.span3,
+ .uneditable-input.span3 {
+ width: 152px;
+ }
+ input.span2,
+ textarea.span2,
+ .uneditable-input.span2 {
+ width: 90px;
+ }
+ input.span1,
+ textarea.span1,
+ .uneditable-input.span1 {
+ width: 28px;
+ }
+}
+@media (max-width: 767px) {
+ body {
+ padding-left: 20px;
+ padding-right: 20px;
+ }
+ .navbar-fixed-top,
+ .navbar-fixed-bottom,
+ .navbar-static-top {
+ margin-left: -20px;
+ margin-right: -20px;
+ }
+ .container-fluid {
+ padding: 0;
+ }
+ .dl-horizontal dt {
+ float: none;
+ clear: none;
+ width: auto;
+ text-align: left;
+ }
+ .dl-horizontal dd {
+ margin-left: 0;
+ }
+ .container {
+ width: auto;
+ }
+ .row-fluid {
+ width: 100%;
+ }
+ .row,
+ .thumbnails {
+ margin-left: 0;
+ }
+ .thumbnails > li {
+ float: none;
+ margin-left: 0;
+ }
+ [class*="span"],
+ .uneditable-input[class*="span"],
+ .row-fluid [class*="span"] {
+ float: none;
+ display: block;
+ width: 100%;
+ margin-left: 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .span12,
+ .row-fluid .span12 {
+ width: 100%;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .row-fluid [class*="offset"]:first-child {
+ margin-left: 0;
+ }
+ .input-large,
+ .input-xlarge,
+ .input-xxlarge,
+ input[class*="span"],
+ select[class*="span"],
+ textarea[class*="span"],
+ .uneditable-input {
+ display: block;
+ width: 100%;
+ min-height: 29px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ }
+ .input-prepend input,
+ .input-append input,
+ .input-prepend input[class*="span"],
+ .input-append input[class*="span"] {
+ display: inline-block;
+ width: auto;
+ }
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 0;
+ }
+ .modal {
+ position: fixed;
+ top: 20px;
+ left: 20px;
+ right: 20px;
+ width: auto;
+ margin: 0;
+ }
+ .modal.fade {
+ top: -100px;
+ }
+ .modal.fade.in {
+ top: 20px;
+ }
+}
+@media (max-width: 480px) {
+ .nav-collapse {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
+ .page-header h1 small {
+ display: block;
+ line-height: 19px;
+ }
+ input[type="checkbox"],
+ input[type="radio"] {
+ border: 1px solid #ccc;
+ }
+ .form-horizontal .control-label {
+ float: none;
+ width: auto;
+ padding-top: 0;
+ text-align: left;
+ }
+ .form-horizontal .controls {
+ margin-left: 0;
+ }
+ .form-horizontal .control-list {
+ padding-top: 0;
+ }
+ .form-horizontal .form-actions {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ .media .pull-left,
+ .media .pull-right {
+ float: none;
+ display: block;
+ margin-bottom: 10px;
+ }
+ .media-object {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ .modal {
+ top: 10px;
+ left: 10px;
+ right: 10px;
+ }
+ .modal-header .close {
+ padding: 10px;
+ margin: -10px;
+ }
+ .carousel-caption {
+ position: static;
+ }
+}
+@media (max-width: 979px) {
+ body {
+ padding-top: 0;
+ }
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ position: static;
+ }
+ .navbar-fixed-top {
+ margin-bottom: 19px;
+ }
+ .navbar-fixed-bottom {
+ margin-top: 19px;
+ }
+ .navbar-fixed-top .navbar-inner,
+ .navbar-fixed-bottom .navbar-inner {
+ padding: 5px;
+ }
+ .navbar .container {
+ width: auto;
+ padding: 0;
+ }
+ .navbar .brand {
+ padding-left: 10px;
+ padding-right: 10px;
+ margin: 0 0 0 -5px;
+ }
+ .nav-collapse {
+ clear: both;
+ }
+ .nav-collapse .nav {
+ float: none;
+ margin: 0 0 9.5px;
+ }
+ .nav-collapse .nav > li {
+ float: none;
+ }
+ .nav-collapse .nav > li > a {
+ margin-bottom: 2px;
+ }
+ .nav-collapse .nav > .divider-vertical {
+ display: none;
+ }
+ .nav-collapse .nav .nav-header {
+ color: #777777;
+ text-shadow: none;
+ }
+ .nav-collapse .nav > li > a,
+ .nav-collapse .dropdown-menu a {
+ padding: 9px 15px;
+ font-weight: bold;
+ color: #777777;
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ }
+ .nav-collapse .btn {
+ padding: 4px 10px 4px;
+ font-weight: normal;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ }
+ .nav-collapse .dropdown-menu li + li a {
+ margin-bottom: 2px;
+ }
+ .nav-collapse .nav > li > a:hover,
+ .nav-collapse .nav > li > a:focus,
+ .nav-collapse .dropdown-menu a:hover,
+ .nav-collapse .dropdown-menu a:focus {
+ background-color: #f2f2f2;
+ }
+ .navbar-inverse .nav-collapse .nav > li > a,
+ .navbar-inverse .nav-collapse .dropdown-menu a {
+ color: #999999;
+ }
+ .navbar-inverse .nav-collapse .nav > li > a:hover,
+ .navbar-inverse .nav-collapse .nav > li > a:focus,
+ .navbar-inverse .nav-collapse .dropdown-menu a:hover,
+ .navbar-inverse .nav-collapse .dropdown-menu a:focus {
+ background-color: #111111;
+ }
+ .nav-collapse.in .btn-group {
+ margin-top: 5px;
+ padding: 0;
+ }
+ .nav-collapse .dropdown-menu {
+ position: static;
+ top: auto;
+ left: auto;
+ float: none;
+ display: none;
+ max-width: none;
+ margin: 0 15px;
+ padding: 0;
+ background-color: transparent;
+ border: none;
+ -webkit-border-radius: 0;
+ -moz-border-radius: 0;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ }
+ .nav-collapse .open > .dropdown-menu {
+ display: block;
+ }
+ .nav-collapse .dropdown-menu:before,
+ .nav-collapse .dropdown-menu:after {
+ display: none;
+ }
+ .nav-collapse .dropdown-menu .divider {
+ display: none;
+ }
+ .nav-collapse .nav > li > .dropdown-menu:before,
+ .nav-collapse .nav > li > .dropdown-menu:after {
+ display: none;
+ }
+ .nav-collapse .navbar-form,
+ .nav-collapse .navbar-search {
+ float: none;
+ padding: 9.5px 15px;
+ margin: 9.5px 0;
+ border-top: 1px solid #f2f2f2;
+ border-bottom: 1px solid #f2f2f2;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+ -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+ }
+ .navbar-inverse .nav-collapse .navbar-form,
+ .navbar-inverse .nav-collapse .navbar-search {
+ border-top-color: #111111;
+ border-bottom-color: #111111;
+ }
+ .navbar .nav-collapse .nav.pull-right {
+ float: none;
+ margin-left: 0;
+ }
+ .nav-collapse,
+ .nav-collapse.collapse {
+ overflow: hidden;
+ height: 0;
+ }
+ .navbar .btn-navbar {
+ display: block;
+ }
+ .navbar-static .navbar-inner {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+}
+@media (min-width: 980px) {
+ .nav-collapse.collapse {
+ height: auto !important;
+ overflow: visible !important;
+ }
+}
--- /dev/null
+body {
+ background-color: #f9faf5;
+}
+.container {
+ width: 80%;
+}
+.main {
+ background-color: white;
+ padding: 18px;
+ -moz-box-shadow: 0 0 3px #888;
+ -webkit-box-shadow: 0 0 3px #888;
+ box-shadow: 0 0 3px #888;
+}
+.underline {
+ border-bottom: 1.5px solid #eeeeee;
+}
+.header {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ margin-left: 0px;
+ margin-right: 0px;
+}
+.spc-navbar {
+ margin-top: 15px;
+ margin-bottom: 5px;
+ margin-left: 0px;
+ margin-right: 0px;
+}
+.spc-navbar .nav-pills {
+ margin-bottom: 0px;
+ font-size: 12px;
+}
+.spc-navbar .nav-pills > li > a {
+ padding-top: 2.5px;
+ padding-bottom: 2.5px;
+}
+.underline {
+ border-bottom: 1.5px solid #eeeeee;
+}
+.spc-page-title h1,
+.spc-page-title h2,
+.spc-page-title h3,
+.spc-page-title h4 {
+ font-weight: normal;
+ border-bottom: 1.5px solid #eeeeee;
+}
+.tags .btn {
+ border: none;
+ font-size: 9.5px;
+ font-weight: bold;
+}
+.spc-search-result-title h1,
+.spc-search-result-title h2,
+.spc-search-result-title h3,
+.spc-search-result-title h4 {
+ font-weight: normal;
+}
+.spc-snippet-header {
+ margin-bottom: 5px;
+}
+.spc-snippet-info {
+ padding-top: 10px;
+}
+.spc-snippet-info .dl-horizontal {
+ margin: 5px;
+}
+.spc-snippet-info .dl-horizontal dt {
+ font-weight: normal;
+}
+.spc-snippet-body {
+ padding: 10px;
+}
+.spc-snippet-body .accordion-group {
+ border: none;
+}
+.spc-snippet-body .accordion-heading {
+ text-transform: uppercase;
+ font-size: 14px;
+ border-bottom: 1px solid #e5e5e5;
+}
+.spc-snippet-body .accordion-heading .accordion-toggle {
+ padding-top: 10px;
+ padding-bottom: 5px;
+}
+.spc-rightsidebar {
+ color: #555555;
+}
+.spc-rightsidebar .navigation {
+ padding: 2px 10px;
+ font-size: 11.9px;
+}
+.spc-rightsidebar .navigation .nav-title {
+ font-weight: bold;
+ text-transform: uppercase;
+}
+.spc-rightsidebar .navigation li {
+ margin: 5px;
+}
+.footer {
+ padding: 5px;
+ font-size: small;
+}
--- /dev/null
+// Copyright 2014 PSF. Licensed under the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+// File originates from the cpython source found in Doc/tools/sphinxext/static/copybutton.js
+
+$(document).ready(function() {
+ /* Add a [>>>] button on the top-right corner of code samples to hide
+ * the >>> and ... prompts and the output and thus make the code
+ * copyable. */
+ var div = $('.highlight-python .highlight,' +
+ '.highlight-default .highlight,' +
+ '.highlight-python3 .highlight')
+ var pre = div.find('pre');
+
+ // get the styles from the current theme
+ pre.parent().parent().css('position', 'relative');
+ var hide_text = 'Hide the prompts and output';
+ var show_text = 'Show the prompts and output';
+ var border_width = pre.css('border-top-width');
+ var border_style = pre.css('border-top-style');
+ var border_color = pre.css('border-top-color');
+ var button_styles = {
+ 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0',
+ 'border-color': border_color, 'border-style': border_style,
+ 'border-width': border_width, 'color': border_color, 'text-size': '75%',
+ 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em',
+ 'border-radius': '0 3px 0 0'
+ }
+
+ // create and add the button to all the code blocks that contain >>>
+ div.each(function(index) {
+ var jthis = $(this);
+ if (jthis.find('.gp').length > 0) {
+ var button = $('<span class="copybutton">>>></span>');
+ button.css(button_styles)
+ button.attr('title', hide_text);
+ button.data('hidden', 'false');
+ jthis.prepend(button);
+ }
+ // tracebacks (.gt) contain bare text elements that need to be
+ // wrapped in a span to work with .nextUntil() (see later)
+ jthis.find('pre:has(.gt)').contents().filter(function() {
+ return ((this.nodeType == 3) && (this.data.trim().length > 0));
+ }).wrap('<span>');
+ });
+
+ // define the behavior of the button when it's clicked
+ $('.copybutton').click(function(e){
+ e.preventDefault();
+ var button = $(this);
+ if (button.data('hidden') === 'false') {
+ // hide the code output
+ button.parent().find('.go, .gp, .gt').hide();
+ button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden');
+ button.css('text-decoration', 'line-through');
+ button.attr('title', show_text);
+ button.data('hidden', 'true');
+ } else {
+ // show the code output
+ button.parent().find('.go, .gp, .gt').show();
+ button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible');
+ button.css('text-decoration', 'none');
+ button.attr('title', hide_text);
+ button.data('hidden', 'false');
+ }
+ });
+});
+
--- /dev/null
+//
+// Accordion
+// --------------------------------------------------
+
+
+// Parent container
+.accordion {
+ margin-bottom: @baseLineHeight;
+}
+
+// Group == heading + body
+.accordion-group {
+ margin-bottom: 2px;
+ border: 1px solid #e5e5e5;
+ .border-radius(@baseBorderRadius);
+}
+.accordion-heading {
+ border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+ display: block;
+ padding: 8px 15px;
+}
+
+// General toggle styles
+.accordion-toggle {
+ cursor: pointer;
+}
+
+// Inner needs the styles because you can't animate properly with any styles on the element
+.accordion-inner {
+ padding: 9px 15px;
+ border-top: 1px solid #e5e5e5;
+}
--- /dev/null
+//
+// Alerts
+// --------------------------------------------------
+
+
+// Base styles
+// -------------------------
+
+.alert {
+ padding: 8px 35px 8px 14px;
+ margin-bottom: @baseLineHeight;
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
+ background-color: @warningBackground;
+ border: 1px solid @warningBorder;
+ .border-radius(@baseBorderRadius);
+}
+.alert,
+.alert h4 {
+ // Specified for the h4 to prevent conflicts of changing @headingsColor
+ color: @warningText;
+}
+.alert h4 {
+ margin: 0;
+}
+
+// Adjust close link position
+.alert .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ line-height: @baseLineHeight;
+}
+
+
+// Alternate styles
+// -------------------------
+
+.alert-success {
+ background-color: @successBackground;
+ border-color: @successBorder;
+ color: @successText;
+}
+.alert-success h4 {
+ color: @successText;
+}
+.alert-danger,
+.alert-error {
+ background-color: @errorBackground;
+ border-color: @errorBorder;
+ color: @errorText;
+}
+.alert-danger h4,
+.alert-error h4 {
+ color: @errorText;
+}
+.alert-info {
+ background-color: @infoBackground;
+ border-color: @infoBorder;
+ color: @infoText;
+}
+.alert-info h4 {
+ color: @infoText;
+}
+
+
+// Block alerts
+// -------------------------
+
+.alert-block {
+ padding-top: 14px;
+ padding-bottom: 14px;
+}
+.alert-block > p,
+.alert-block > ul {
+ margin-bottom: 0;
+}
+.alert-block p + p {
+ margin-top: 5px;
+}
--- /dev/null
+/*!
+ * Bootstrap v2.3.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+// Core variables and mixins
+@import "variables.less"; // Modify this for custom colors, font-sizes, etc
+@import "mixins.less";
+
+// CSS Reset
+@import "reset.less";
+
+// Grid system and page structure
+@import "scaffolding.less";
+@import "grid.less";
+@import "layouts.less";
+
+// Base CSS
+@import "type.less";
+@import "code.less";
+@import "forms.less";
+@import "tables.less";
+
+// Components: common
+@import "sprites.less";
+@import "dropdowns.less";
+@import "wells.less";
+@import "component-animations.less";
+@import "close.less";
+
+// Components: Buttons & Alerts
+@import "buttons.less";
+@import "button-groups.less";
+@import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less
+
+// Components: Nav
+@import "navs.less";
+@import "navbar.less";
+@import "breadcrumbs.less";
+@import "pagination.less";
+@import "pager.less";
+
+// Components: Popovers
+@import "modals.less";
+@import "tooltip.less";
+@import "popovers.less";
+
+// Components: Misc
+@import "thumbnails.less";
+@import "media.less";
+@import "labels-badges.less";
+@import "progress-bars.less";
+@import "accordion.less";
+@import "carousel.less";
+@import "hero-unit.less";
+
+// Utility classes
+@import "utilities.less"; // Has to be last to override when necessary
--- /dev/null
+//
+// Breadcrumbs
+// --------------------------------------------------
+
+
+.breadcrumb {
+ padding: 8px 15px;
+ margin: 0 0 @baseLineHeight;
+ list-style: none;
+ background-color: #f5f5f5;
+ .border-radius(@baseBorderRadius);
+ > li {
+ display: inline-block;
+ .ie7-inline-block();
+ text-shadow: 0 1px 0 @white;
+ > .divider {
+ padding: 0 5px;
+ color: #ccc;
+ }
+ }
+ > .active {
+ color: @grayLight;
+ }
+}
--- /dev/null
+//
+// Button groups
+// --------------------------------------------------
+
+
+// Make the div behave like a button
+.btn-group {
+ position: relative;
+ display: inline-block;
+ .ie7-inline-block();
+ font-size: 0; // remove as part 1 of font-size inline-block hack
+ vertical-align: middle; // match .btn alignment given font-size hack above
+ white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
+ .ie7-restore-left-whitespace();
+}
+
+// Space out series of button groups
+.btn-group + .btn-group {
+ margin-left: 5px;
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+ font-size: 0; // Hack to remove whitespace that results from using inline-block
+ margin-top: @baseLineHeight / 2;
+ margin-bottom: @baseLineHeight / 2;
+ > .btn + .btn,
+ > .btn-group + .btn,
+ > .btn + .btn-group {
+ margin-left: 5px;
+ }
+}
+
+// Float them, remove border radius, then re-add to first and last elements
+.btn-group > .btn {
+ position: relative;
+ .border-radius(0);
+}
+.btn-group > .btn + .btn {
+ margin-left: -1px;
+}
+.btn-group > .btn,
+.btn-group > .dropdown-menu,
+.btn-group > .popover {
+ font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
+}
+
+// Reset fonts for other sizes
+.btn-group > .btn-mini {
+ font-size: @fontSizeMini;
+}
+.btn-group > .btn-small {
+ font-size: @fontSizeSmall;
+}
+.btn-group > .btn-large {
+ font-size: @fontSizeLarge;
+}
+
+// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
+.btn-group > .btn:first-child {
+ margin-left: 0;
+ .border-top-left-radius(@baseBorderRadius);
+ .border-bottom-left-radius(@baseBorderRadius);
+}
+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
+.btn-group > .btn:last-child,
+.btn-group > .dropdown-toggle {
+ .border-top-right-radius(@baseBorderRadius);
+ .border-bottom-right-radius(@baseBorderRadius);
+}
+// Reset corners for large buttons
+.btn-group > .btn.large:first-child {
+ margin-left: 0;
+ .border-top-left-radius(@borderRadiusLarge);
+ .border-bottom-left-radius(@borderRadiusLarge);
+}
+.btn-group > .btn.large:last-child,
+.btn-group > .large.dropdown-toggle {
+ .border-top-right-radius(@borderRadiusLarge);
+ .border-bottom-right-radius(@borderRadiusLarge);
+}
+
+// On hover/focus/active, bring the proper btn to front
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active {
+ z-index: 2;
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group > .btn + .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px;
+ .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
+ *padding-top: 5px;
+ *padding-bottom: 5px;
+}
+.btn-group > .btn-mini + .dropdown-toggle {
+ padding-left: 5px;
+ padding-right: 5px;
+ *padding-top: 2px;
+ *padding-bottom: 2px;
+}
+.btn-group > .btn-small + .dropdown-toggle {
+ *padding-top: 5px;
+ *padding-bottom: 4px;
+}
+.btn-group > .btn-large + .dropdown-toggle {
+ padding-left: 12px;
+ padding-right: 12px;
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+}
+
+.btn-group.open {
+
+ // The clickable button for toggling the menu
+ // Remove the gradient and set the same inset shadow as the :active state
+ .dropdown-toggle {
+ background-image: none;
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
+ }
+
+ // Keep the hover's background when dropdown is open
+ .btn.dropdown-toggle {
+ background-color: @btnBackgroundHighlight;
+ }
+ .btn-primary.dropdown-toggle {
+ background-color: @btnPrimaryBackgroundHighlight;
+ }
+ .btn-warning.dropdown-toggle {
+ background-color: @btnWarningBackgroundHighlight;
+ }
+ .btn-danger.dropdown-toggle {
+ background-color: @btnDangerBackgroundHighlight;
+ }
+ .btn-success.dropdown-toggle {
+ background-color: @btnSuccessBackgroundHighlight;
+ }
+ .btn-info.dropdown-toggle {
+ background-color: @btnInfoBackgroundHighlight;
+ }
+ .btn-inverse.dropdown-toggle {
+ background-color: @btnInverseBackgroundHighlight;
+ }
+}
+
+
+// Reposition the caret
+.btn .caret {
+ margin-top: 8px;
+ margin-left: 0;
+}
+// Carets in other button sizes
+.btn-large .caret {
+ margin-top: 6px;
+}
+.btn-large .caret {
+ border-left-width: 5px;
+ border-right-width: 5px;
+ border-top-width: 5px;
+}
+.btn-mini .caret,
+.btn-small .caret {
+ margin-top: 8px;
+}
+// Upside down carets for .dropup
+.dropup .btn-large .caret {
+ border-bottom-width: 5px;
+}
+
+
+
+// Account for other colors
+.btn-primary,
+.btn-warning,
+.btn-danger,
+.btn-info,
+.btn-success,
+.btn-inverse {
+ .caret {
+ border-top-color: @white;
+ border-bottom-color: @white;
+ }
+}
+
+
+
+// Vertical button groups
+// ----------------------
+
+.btn-group-vertical {
+ display: inline-block; // makes buttons only take up the width they need
+ .ie7-inline-block();
+}
+.btn-group-vertical > .btn {
+ display: block;
+ float: none;
+ max-width: 100%;
+ .border-radius(0);
+}
+.btn-group-vertical > .btn + .btn {
+ margin-left: 0;
+ margin-top: -1px;
+}
+.btn-group-vertical > .btn:first-child {
+ .border-radius(@baseBorderRadius @baseBorderRadius 0 0);
+}
+.btn-group-vertical > .btn:last-child {
+ .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
+}
+.btn-group-vertical > .btn-large:first-child {
+ .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
+}
+.btn-group-vertical > .btn-large:last-child {
+ .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
+}
--- /dev/null
+//
+// Buttons
+// --------------------------------------------------
+
+
+// Base styles
+// --------------------------------------------------
+
+// Core
+.btn {
+ display: inline-block;
+ .ie7-inline-block();
+ padding: 4px 12px;
+ margin-bottom: 0; // For input.btn
+ font-size: @baseFontSize;
+ line-height: @baseLineHeight;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
+ border: 1px solid @btnBorder;
+ *border: 0; // Remove the border to prevent IE7's black border on input:focus
+ border-bottom-color: darken(@btnBorder, 10%);
+ .border-radius(@baseBorderRadius);
+ .ie7-restore-left-whitespace(); // Give IE7 some love
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
+
+ // Hover/focus state
+ &:hover,
+ &:focus {
+ color: @grayDark;
+ text-decoration: none;
+ background-position: 0 -15px;
+
+ // transition is only when going to hover/focus, otherwise the background
+ // behind the gradient (there for IE<=9 fallback) gets mismatched
+ .transition(background-position .1s linear);
+ }
+
+ // Focus state for keyboard and accessibility
+ &:focus {
+ .tab-focus();
+ }
+
+ // Active state
+ &.active,
+ &:active {
+ background-image: none;
+ outline: 0;
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
+ }
+
+ // Disabled state
+ &.disabled,
+ &[disabled] {
+ cursor: default;
+ background-image: none;
+ .opacity(65);
+ .box-shadow(none);
+ }
+
+}
+
+
+
+// Button Sizes
+// --------------------------------------------------
+
+// Large
+.btn-large {
+ padding: @paddingLarge;
+ font-size: @fontSizeLarge;
+ .border-radius(@borderRadiusLarge);
+}
+.btn-large [class^="icon-"],
+.btn-large [class*=" icon-"] {
+ margin-top: 4px;
+}
+
+// Small
+.btn-small {
+ padding: @paddingSmall;
+ font-size: @fontSizeSmall;
+ .border-radius(@borderRadiusSmall);
+}
+.btn-small [class^="icon-"],
+.btn-small [class*=" icon-"] {
+ margin-top: 0;
+}
+.btn-mini [class^="icon-"],
+.btn-mini [class*=" icon-"] {
+ margin-top: -1px;
+}
+
+// Mini
+.btn-mini {
+ padding: @paddingMini;
+ font-size: @fontSizeMini;
+ .border-radius(@borderRadiusSmall);
+}
+
+
+// Block button
+// -------------------------
+
+.btn-block {
+ display: block;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0;
+ .box-sizing(border-box);
+}
+
+// Vertically space out multiple block buttons
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+
+// Specificity overrides
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+ &.btn-block {
+ width: 100%;
+ }
+}
+
+
+
+// Alternate buttons
+// --------------------------------------------------
+
+// Provide *some* extra contrast for those who can get it
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+ color: rgba(255,255,255,.75);
+}
+
+// Set the backgrounds
+// -------------------------
+.btn-primary {
+ .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight);
+}
+// Warning appears are orange
+.btn-warning {
+ .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight);
+}
+// Danger and error appear as red
+.btn-danger {
+ .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight);
+}
+// Success appears as green
+.btn-success {
+ .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight);
+}
+// Info appears as a neutral blue
+.btn-info {
+ .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight);
+}
+// Inverse appears as dark gray
+.btn-inverse {
+ .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight);
+}
+
+
+// Cross-browser Jank
+// --------------------------------------------------
+
+button.btn,
+input[type="submit"].btn {
+
+ // Firefox 3.6 only I believe
+ &::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+ }
+
+ // IE7 has some default padding on button controls
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+
+ &.btn-large {
+ *padding-top: 7px;
+ *padding-bottom: 7px;
+ }
+ &.btn-small {
+ *padding-top: 3px;
+ *padding-bottom: 3px;
+ }
+ &.btn-mini {
+ *padding-top: 1px;
+ *padding-bottom: 1px;
+ }
+}
+
+
+// Link buttons
+// --------------------------------------------------
+
+// Make a button look and behave like a link
+.btn-link,
+.btn-link:active,
+.btn-link[disabled] {
+ background-color: transparent;
+ background-image: none;
+ .box-shadow(none);
+}
+.btn-link {
+ border-color: transparent;
+ cursor: pointer;
+ color: @linkColor;
+ .border-radius(0);
+}
+.btn-link:hover,
+.btn-link:focus {
+ color: @linkColorHover;
+ text-decoration: underline;
+ background-color: transparent;
+}
+.btn-link[disabled]:hover,
+.btn-link[disabled]:focus {
+ color: @grayDark;
+ text-decoration: none;
+}
--- /dev/null
+//
+// Carousel
+// --------------------------------------------------
+
+
+.carousel {
+ position: relative;
+ margin-bottom: @baseLineHeight;
+ line-height: 1;
+}
+
+.carousel-inner {
+ overflow: hidden;
+ width: 100%;
+ position: relative;
+}
+
+.carousel-inner {
+
+ > .item {
+ display: none;
+ position: relative;
+ .transition(.6s ease-in-out left);
+
+ // Account for jankitude on images
+ > img,
+ > a > img {
+ display: block;
+ line-height: 1;
+ }
+ }
+
+ > .active,
+ > .next,
+ > .prev { display: block; }
+
+ > .active {
+ left: 0;
+ }
+
+ > .next,
+ > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ }
+
+ > .next {
+ left: 100%;
+ }
+ > .prev {
+ left: -100%;
+ }
+ > .next.left,
+ > .prev.right {
+ left: 0;
+ }
+
+ > .active.left {
+ left: -100%;
+ }
+ > .active.right {
+ left: 100%;
+ }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+ position: absolute;
+ top: 40%;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ margin-top: -20px;
+ font-size: 60px;
+ font-weight: 100;
+ line-height: 30px;
+ color: @white;
+ text-align: center;
+ background: @grayDarker;
+ border: 3px solid @white;
+ .border-radius(23px);
+ .opacity(50);
+
+ // we can't have this transition here
+ // because webkit cancels the carousel
+ // animation if you trip this while
+ // in the middle of another animation
+ // ;_;
+ // .transition(opacity .2s linear);
+
+ // Reposition the right one
+ &.right {
+ left: auto;
+ right: 15px;
+ }
+
+ // Hover/focus state
+ &:hover,
+ &:focus {
+ color: @white;
+ text-decoration: none;
+ .opacity(90);
+ }
+}
+
+// Carousel indicator pips
+// -----------------------------
+.carousel-indicators {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ z-index: 5;
+ margin: 0;
+ list-style: none;
+
+ li {
+ display: block;
+ float: left;
+ width: 10px;
+ height: 10px;
+ margin-left: 5px;
+ text-indent: -999px;
+ background-color: #ccc;
+ background-color: rgba(255,255,255,.25);
+ border-radius: 5px;
+ }
+ .active {
+ background-color: #fff;
+ }
+}
+
+// Caption for text below images
+// -----------------------------
+
+.carousel-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ padding: 15px;
+ background: @grayDark;
+ background: rgba(0,0,0,.75);
+}
+.carousel-caption h4,
+.carousel-caption p {
+ color: @white;
+ line-height: @baseLineHeight;
+}
+.carousel-caption h4 {
+ margin: 0 0 5px;
+}
+.carousel-caption p {
+ margin-bottom: 0;
+}
--- /dev/null
+//
+// Close icons
+// --------------------------------------------------
+
+
+.close {
+ float: right;
+ font-size: 20px;
+ font-weight: bold;
+ line-height: @baseLineHeight;
+ color: @black;
+ text-shadow: 0 1px 0 rgba(255,255,255,1);
+ .opacity(20);
+ &:hover,
+ &:focus {
+ color: @black;
+ text-decoration: none;
+ cursor: pointer;
+ .opacity(40);
+ }
+}
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+button.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+}
\ No newline at end of file
--- /dev/null
+//
+// Code (inline and blocK)
+// --------------------------------------------------
+
+
+// Inline and block code styles
+code,
+pre {
+ padding: 0 3px 2px;
+ #font > #family > .monospace;
+ font-size: @baseFontSize - 2;
+ color: @grayDark;
+ .border-radius(3px);
+}
+
+// Inline code
+code {
+ padding: 2px 4px;
+ color: #d14;
+ background-color: #f7f7f9;
+ border: 1px solid #e1e1e8;
+ white-space: nowrap;
+}
+
+// Blocks of code
+pre {
+ display: block;
+ padding: (@baseLineHeight - 1) / 2;
+ margin: 0 0 @baseLineHeight / 2;
+ font-size: @baseFontSize - 1; // 14px to 13px
+ line-height: @baseLineHeight;
+ word-break: break-all;
+ word-wrap: break-word;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc; // fallback for IE7-8
+ border: 1px solid rgba(0,0,0,.15);
+ .border-radius(@baseBorderRadius);
+
+ // Make prettyprint styles more spaced out for readability
+ &.prettyprint {
+ margin-bottom: @baseLineHeight;
+ }
+
+ // Account for some code outputs that place code tags in pre tags
+ code {
+ padding: 0;
+ color: inherit;
+ white-space: pre;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border: 0;
+ }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
\ No newline at end of file
--- /dev/null
+//
+// Component animations
+// --------------------------------------------------
+
+
+.fade {
+ opacity: 0;
+ .transition(opacity .15s linear);
+ &.in {
+ opacity: 1;
+ }
+}
+
+.collapse {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ .transition(height .35s ease);
+ &.in {
+ height: auto;
+ }
+}
--- /dev/null
+//
+// Dropdown menus
+// --------------------------------------------------
+
+
+// Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
+.dropup,
+.dropdown {
+ position: relative;
+}
+.dropdown-toggle {
+ // The caret makes the toggle a bit too tall in IE7
+ *margin-bottom: -3px;
+}
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+ outline: 0;
+}
+
+// Dropdown arrow/caret
+// --------------------
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ vertical-align: top;
+ border-top: 4px solid @black;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+ content: "";
+}
+
+// Place the caret
+.dropdown .caret {
+ margin-top: 8px;
+ margin-left: 2px;
+}
+
+// The dropdown menu (ul)
+// ----------------------
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: @zindexDropdown;
+ display: none; // none by default, but block on "open" of the menu
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0; // override default ul
+ list-style: none;
+ background-color: @dropdownBackground;
+ border: 1px solid #ccc; // Fallback for IE7-8
+ border: 1px solid @dropdownBorder;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+ .border-radius(6px);
+ .box-shadow(0 5px 10px rgba(0,0,0,.2));
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+
+ // Aligns the dropdown menu to right
+ &.pull-right {
+ right: 0;
+ left: auto;
+ }
+
+ // Dividers (basically an hr) within the dropdown
+ .divider {
+ .nav-divider(@dropdownDividerTop, @dropdownDividerBottom);
+ }
+
+ // Links within the dropdown menu
+ > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: @baseLineHeight;
+ color: @dropdownLinkColor;
+ white-space: nowrap;
+ }
+}
+
+// Hover/Focus state
+// -----------
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-submenu:hover > a,
+.dropdown-submenu:focus > a {
+ text-decoration: none;
+ color: @dropdownLinkColorHover;
+ #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
+}
+
+// Active state
+// ------------
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: @dropdownLinkColorActive;
+ text-decoration: none;
+ outline: 0;
+ #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
+}
+
+// Disabled state
+// --------------
+// Gray out text and ensure the hover/focus state remains gray
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ color: @grayLight;
+}
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ background-color: transparent;
+ background-image: none; // Remove CSS gradient
+ .reset-filter();
+ cursor: default;
+}
+
+// Open state for the dropdown
+// ---------------------------
+.open {
+ // IE7's z-index only goes to the nearest positioned ancestor, which would
+ // make the menu appear below buttons that appeared later on the page
+ *z-index: @zindexDropdown;
+
+ & > .dropdown-menu {
+ display: block;
+ }
+}
+
+// Right aligned dropdowns
+// ---------------------------
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+
+// Allow for dropdowns to go bottom up (aka, dropup-menu)
+// ------------------------------------------------------
+// Just add .dropup after the standard .dropdown class and you're set, bro.
+// TODO: abstract this so that the navbar fixed styles are not placed here?
+.dropup,
+.navbar-fixed-bottom .dropdown {
+ // Reverse the caret
+ .caret {
+ border-top: 0;
+ border-bottom: 4px solid @black;
+ content: "";
+ }
+ // Different positioning for bottom up menu
+ .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 1px;
+ }
+}
+
+// Sub menus
+// ---------------------------
+.dropdown-submenu {
+ position: relative;
+}
+// Default dropdowns
+.dropdown-submenu > .dropdown-menu {
+ top: 0;
+ left: 100%;
+ margin-top: -6px;
+ margin-left: -1px;
+ .border-radius(0 6px 6px 6px);
+}
+.dropdown-submenu:hover > .dropdown-menu {
+ display: block;
+}
+
+// Dropups
+.dropup .dropdown-submenu > .dropdown-menu {
+ top: auto;
+ bottom: 0;
+ margin-top: 0;
+ margin-bottom: -2px;
+ .border-radius(5px 5px 5px 0);
+}
+
+// Caret to indicate there is a submenu
+.dropdown-submenu > a:after {
+ display: block;
+ content: " ";
+ float: right;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ border-width: 5px 0 5px 5px;
+ border-left-color: darken(@dropdownBackground, 20%);
+ margin-top: 5px;
+ margin-right: -10px;
+}
+.dropdown-submenu:hover > a:after {
+ border-left-color: @dropdownLinkColorHover;
+}
+
+// Left aligned submenus
+.dropdown-submenu.pull-left {
+ // Undo the float
+ // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
+ float: none;
+
+ // Positioning the submenu
+ > .dropdown-menu {
+ left: -100%;
+ margin-left: 10px;
+ .border-radius(6px 0 6px 6px);
+ }
+}
+
+// Tweak nav headers
+// -----------------
+// Increase padding from 15px to 20px on sides
+.dropdown .dropdown-menu .nav-header {
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+// Typeahead
+// ---------
+.typeahead {
+ z-index: 1051;
+ margin-top: 2px; // give it some space to breathe
+ .border-radius(@baseBorderRadius);
+}
--- /dev/null
+//
+// Forms
+// --------------------------------------------------
+
+
+// GENERAL STYLES
+// --------------
+
+// Make all forms have space below them
+form {
+ margin: 0 0 @baseLineHeight;
+}
+
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+// Groups of fields with labels on top (legends)
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: @baseLineHeight;
+ font-size: @baseFontSize * 1.5;
+ line-height: @baseLineHeight * 2;
+ color: @grayDark;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+
+ // Small
+ small {
+ font-size: @baseLineHeight * .75;
+ color: @grayLight;
+ }
+}
+
+// Set font for forms
+label,
+input,
+button,
+select,
+textarea {
+ #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
+}
+input,
+button,
+select,
+textarea {
+ font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
+}
+
+// Identify controls by their labels
+label {
+ display: block;
+ margin-bottom: 5px;
+}
+
+// Form controls
+// -------------------------
+
+// Shared size and type resets
+select,
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ display: inline-block;
+ height: @baseLineHeight;
+ padding: 4px 6px;
+ margin-bottom: @baseLineHeight / 2;
+ font-size: @baseFontSize;
+ line-height: @baseLineHeight;
+ color: @gray;
+ .border-radius(@inputBorderRadius);
+ vertical-align: middle;
+}
+
+// Reset appearance properties for textual inputs and textarea
+// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
+input,
+textarea,
+.uneditable-input {
+ width: 206px; // plus 12px padding and 2px border
+}
+// Reset height since textareas have rows
+textarea {
+ height: auto;
+}
+// Everything else
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"],
+.uneditable-input {
+ background-color: @inputBackground;
+ border: 1px solid @inputBorder;
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
+ .transition(~"border linear .2s, box-shadow linear .2s");
+
+ // Focus state
+ &:focus {
+ border-color: rgba(82,168,236,.8);
+ outline: 0;
+ outline: thin dotted \9; /* IE6-9 */
+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
+ }
+}
+
+// Position radios and checkboxes better
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ *margin-top: 0; /* IE7 */
+ margin-top: 1px \9; /* IE8-9 */
+ line-height: normal;
+}
+
+// Reset width of input images, buttons, radios, checkboxes
+input[type="file"],
+input[type="image"],
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+input[type="radio"],
+input[type="checkbox"] {
+ width: auto; // Override of generic input selector
+}
+
+// Set the height of select and file controls to match text inputs
+select,
+input[type="file"] {
+ height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
+ *margin-top: 4px; /* For IE7, add top margin to align select with labels */
+ line-height: @inputHeight;
+}
+
+// Make select elements obey height by applying a border
+select {
+ width: 220px; // default input width + 10px of padding that doesn't get applied
+ border: 1px solid @inputBorder;
+ background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
+}
+
+// Make multiple select elements height not fixed
+select[multiple],
+select[size] {
+ height: auto;
+}
+
+// Focus for select, file, radio, and checkbox
+select:focus,
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ .tab-focus();
+}
+
+
+// Uneditable inputs
+// -------------------------
+
+// Make uneditable inputs look inactive
+.uneditable-input,
+.uneditable-textarea {
+ color: @grayLight;
+ background-color: darken(@inputBackground, 1%);
+ border-color: @inputBorder;
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
+ cursor: not-allowed;
+}
+
+// For text that needs to appear as an input but should not be an input
+.uneditable-input {
+ overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
+ white-space: nowrap;
+}
+
+// Make uneditable textareas behave like a textarea
+.uneditable-textarea {
+ width: auto;
+ height: auto;
+}
+
+
+// Placeholder
+// -------------------------
+
+// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
+input,
+textarea {
+ .placeholder();
+}
+
+
+// CHECKBOXES & RADIOS
+// -------------------
+
+// Indent the labels to position radios/checkboxes as hanging
+.radio,
+.checkbox {
+ min-height: @baseLineHeight; // clear the floating input if there is no label text
+ padding-left: 20px;
+}
+.radio input[type="radio"],
+.checkbox input[type="checkbox"] {
+ float: left;
+ margin-left: -20px;
+}
+
+// Move the options list down to align with labels
+.controls > .radio:first-child,
+.controls > .checkbox:first-child {
+ padding-top: 5px; // has to be padding because margin collaspes
+}
+
+// Radios and checkboxes on same line
+// TODO v3: Convert .inline to .control-inline
+.radio.inline,
+.checkbox.inline {
+ display: inline-block;
+ padding-top: 5px;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+.radio.inline + .radio.inline,
+.checkbox.inline + .checkbox.inline {
+ margin-left: 10px; // space out consecutive inline controls
+}
+
+
+
+// INPUT SIZES
+// -----------
+
+// General classes for quick sizes
+.input-mini { width: 60px; }
+.input-small { width: 90px; }
+.input-medium { width: 150px; }
+.input-large { width: 210px; }
+.input-xlarge { width: 270px; }
+.input-xxlarge { width: 530px; }
+
+// Grid style input sizes
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input[class*="span"],
+// Redeclare since the fluid row class is more specific
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"] {
+ float: none;
+ margin-left: 0;
+}
+// Ensure input-prepend/append never wraps
+.input-append input[class*="span"],
+.input-append .uneditable-input[class*="span"],
+.input-prepend input[class*="span"],
+.input-prepend .uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"],
+.row-fluid .input-prepend [class*="span"],
+.row-fluid .input-append [class*="span"] {
+ display: inline-block;
+}
+
+
+
+// GRID SIZING FOR INPUTS
+// ----------------------
+
+// Grid sizes
+#grid > .input(@gridColumnWidth, @gridGutterWidth);
+
+// Control row for multiple inputs per line
+.controls-row {
+ .clearfix(); // Clear the float from controls
+}
+
+// Float to collapse white-space for proper grid alignment
+.controls-row [class*="span"],
+// Redeclare the fluid grid collapse since we undo the float for inputs
+.row-fluid .controls-row [class*="span"] {
+ float: left;
+}
+// Explicitly set top padding on all checkboxes/radios, not just first-child
+.controls-row .checkbox[class*="span"],
+.controls-row .radio[class*="span"] {
+ padding-top: 5px;
+}
+
+
+
+
+// DISABLED STATE
+// --------------
+
+// Disabled and read-only inputs
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+ cursor: not-allowed;
+ background-color: @inputDisabledBackground;
+}
+// Explicitly reset the colors here
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+ background-color: transparent;
+}
+
+
+
+
+// FORM FIELD FEEDBACK STATES
+// --------------------------
+
+// Warning
+.control-group.warning {
+ .formFieldState(@warningText, @warningText, @warningBackground);
+}
+// Error
+.control-group.error {
+ .formFieldState(@errorText, @errorText, @errorBackground);
+}
+// Success
+.control-group.success {
+ .formFieldState(@successText, @successText, @successBackground);
+}
+// Success
+.control-group.info {
+ .formFieldState(@infoText, @infoText, @infoBackground);
+}
+
+// HTML5 invalid states
+// Shares styles with the .control-group.error above
+input:focus:invalid,
+textarea:focus:invalid,
+select:focus:invalid {
+ color: #b94a48;
+ border-color: #ee5f5b;
+ &:focus {
+ border-color: darken(#ee5f5b, 10%);
+ @shadow: 0 0 6px lighten(#ee5f5b, 20%);
+ .box-shadow(@shadow);
+ }
+}
+
+
+
+// FORM ACTIONS
+// ------------
+
+.form-actions {
+ padding: (@baseLineHeight - 1) 20px @baseLineHeight;
+ margin-top: @baseLineHeight;
+ margin-bottom: @baseLineHeight;
+ background-color: @formActionsBackground;
+ border-top: 1px solid #e5e5e5;
+ .clearfix(); // Adding clearfix to allow for .pull-right button containers
+}
+
+
+
+// HELP TEXT
+// ---------
+
+.help-block,
+.help-inline {
+ color: lighten(@textColor, 15%); // lighten the text some for contrast
+}
+
+.help-block {
+ display: block; // account for any element using help-block
+ margin-bottom: @baseLineHeight / 2;
+}
+
+.help-inline {
+ display: inline-block;
+ .ie7-inline-block();
+ vertical-align: middle;
+ padding-left: 5px;
+}
+
+
+
+// INPUT GROUPS
+// ------------
+
+// Allow us to put symbols and text within the input field for a cleaner look
+.input-append,
+.input-prepend {
+ display: inline-block;
+ margin-bottom: @baseLineHeight / 2;
+ vertical-align: middle;
+ font-size: 0; // white space collapse hack
+ white-space: nowrap; // Prevent span and input from separating
+
+ // Reset the white space collapse hack
+ input,
+ select,
+ .uneditable-input,
+ .dropdown-menu,
+ .popover {
+ font-size: @baseFontSize;
+ }
+
+ input,
+ select,
+ .uneditable-input {
+ position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
+ margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
+ *margin-left: 0;
+ vertical-align: top;
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ // Make input on top when focused so blue border and shadow always show
+ &:focus {
+ z-index: 2;
+ }
+ }
+ .add-on {
+ display: inline-block;
+ width: auto;
+ height: @baseLineHeight;
+ min-width: 16px;
+ padding: 4px 5px;
+ font-size: @baseFontSize;
+ font-weight: normal;
+ line-height: @baseLineHeight;
+ text-align: center;
+ text-shadow: 0 1px 0 @white;
+ background-color: @grayLighter;
+ border: 1px solid #ccc;
+ }
+ .add-on,
+ .btn,
+ .btn-group > .dropdown-toggle {
+ vertical-align: top;
+ .border-radius(0);
+ }
+ .active {
+ background-color: lighten(@green, 30);
+ border-color: @green;
+ }
+}
+
+.input-prepend {
+ .add-on,
+ .btn {
+ margin-right: -1px;
+ }
+ .add-on:first-child,
+ .btn:first-child {
+ // FYI, `.btn:first-child` accounts for a button group that's prepended
+ .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
+ }
+}
+
+.input-append {
+ input,
+ select,
+ .uneditable-input {
+ .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
+ + .btn-group .btn:last-child {
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ }
+ }
+ .add-on,
+ .btn,
+ .btn-group {
+ margin-left: -1px;
+ }
+ .add-on:last-child,
+ .btn:last-child,
+ .btn-group:last-child > .dropdown-toggle {
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ }
+}
+
+// Remove all border-radius for inputs with both prepend and append
+.input-prepend.input-append {
+ input,
+ select,
+ .uneditable-input {
+ .border-radius(0);
+ + .btn-group .btn {
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ }
+ }
+ .add-on:first-child,
+ .btn:first-child {
+ margin-right: -1px;
+ .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
+ }
+ .add-on:last-child,
+ .btn:last-child {
+ margin-left: -1px;
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ }
+ .btn-group:first-child {
+ margin-left: 0;
+ }
+}
+
+
+
+
+// SEARCH FORM
+// -----------
+
+input.search-query {
+ padding-right: 14px;
+ padding-right: 4px \9;
+ padding-left: 14px;
+ padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
+ margin-bottom: 0; // Remove the default margin on all inputs
+ .border-radius(15px);
+}
+
+/* Allow for input prepend/append in search forms */
+.form-search .input-append .search-query,
+.form-search .input-prepend .search-query {
+ .border-radius(0); // Override due to specificity
+}
+.form-search .input-append .search-query {
+ .border-radius(14px 0 0 14px);
+}
+.form-search .input-append .btn {
+ .border-radius(0 14px 14px 0);
+}
+.form-search .input-prepend .search-query {
+ .border-radius(0 14px 14px 0);
+}
+.form-search .input-prepend .btn {
+ .border-radius(14px 0 0 14px);
+}
+
+
+
+
+// HORIZONTAL & VERTICAL FORMS
+// ---------------------------
+
+// Common properties
+// -----------------
+
+.form-search,
+.form-inline,
+.form-horizontal {
+ input,
+ textarea,
+ select,
+ .help-inline,
+ .uneditable-input,
+ .input-prepend,
+ .input-append {
+ display: inline-block;
+ .ie7-inline-block();
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ // Re-hide hidden elements due to specifity
+ .hide {
+ display: none;
+ }
+}
+.form-search label,
+.form-inline label,
+.form-search .btn-group,
+.form-inline .btn-group {
+ display: inline-block;
+}
+// Remove margin for input-prepend/-append
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+ margin-bottom: 0;
+}
+// Inline checkbox/radio labels (remove padding on left)
+.form-search .radio,
+.form-search .checkbox,
+.form-inline .radio,
+.form-inline .checkbox {
+ padding-left: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+}
+// Remove float and margin, set to inline-block
+.form-search .radio input[type="radio"],
+.form-search .checkbox input[type="checkbox"],
+.form-inline .radio input[type="radio"],
+.form-inline .checkbox input[type="checkbox"] {
+ float: left;
+ margin-right: 3px;
+ margin-left: 0;
+}
+
+
+// Margin to space out fieldsets
+.control-group {
+ margin-bottom: @baseLineHeight / 2;
+}
+
+// Legend collapses margin, so next element is responsible for spacing
+legend + .control-group {
+ margin-top: @baseLineHeight;
+ -webkit-margin-top-collapse: separate;
+}
+
+// Horizontal-specific styles
+// --------------------------
+
+.form-horizontal {
+ // Increase spacing between groups
+ .control-group {
+ margin-bottom: @baseLineHeight;
+ .clearfix();
+ }
+ // Float the labels left
+ .control-label {
+ float: left;
+ width: @horizontalComponentOffset - 20;
+ padding-top: 5px;
+ text-align: right;
+ }
+ // Move over all input controls and content
+ .controls {
+ // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
+ // don't inherit the margin of the parent, in this case .controls
+ *display: inline-block;
+ *padding-left: 20px;
+ margin-left: @horizontalComponentOffset;
+ *margin-left: 0;
+ &:first-child {
+ *padding-left: @horizontalComponentOffset;
+ }
+ }
+ // Remove bottom margin on block level help text since that's accounted for on .control-group
+ .help-block {
+ margin-bottom: 0;
+ }
+ // And apply it only to .help-block instances that follow a form control
+ input,
+ select,
+ textarea,
+ .uneditable-input,
+ .input-prepend,
+ .input-append {
+ + .help-block {
+ margin-top: @baseLineHeight / 2;
+ }
+ }
+ // Move over buttons in .form-actions to align with .controls
+ .form-actions {
+ padding-left: @horizontalComponentOffset;
+ }
+}
--- /dev/null
+//
+// Grid system
+// --------------------------------------------------
+
+
+// Fixed (940px)
+#grid > .core(@gridColumnWidth, @gridGutterWidth);
+
+// Fluid (940px)
+#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);
+
+// Reset utility classes due to specificity
+[class*="span"].hide,
+.row-fluid [class*="span"].hide {
+ display: none;
+}
+
+[class*="span"].pull-right,
+.row-fluid [class*="span"].pull-right {
+ float: right;
+}
--- /dev/null
+//
+// Hero unit
+// --------------------------------------------------
+
+
+.hero-unit {
+ padding: 60px;
+ margin-bottom: 30px;
+ font-size: 18px;
+ font-weight: 200;
+ line-height: @baseLineHeight * 1.5;
+ color: @heroUnitLeadColor;
+ background-color: @heroUnitBackground;
+ .border-radius(6px);
+ h1 {
+ margin-bottom: 0;
+ font-size: 60px;
+ line-height: 1;
+ color: @heroUnitHeadingColor;
+ letter-spacing: -1px;
+ }
+ li {
+ line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less
+ }
+}
--- /dev/null
+//
+// Labels and badges
+// --------------------------------------------------
+
+
+// Base classes
+.label,
+.badge {
+ display: inline-block;
+ padding: 2px 4px;
+ font-size: @baseFontSize * .846;
+ font-weight: bold;
+ line-height: 14px; // ensure proper line-height if floated
+ color: @white;
+ vertical-align: baseline;
+ white-space: nowrap;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ background-color: @grayLight;
+}
+// Set unique padding and border-radii
+.label {
+ .border-radius(3px);
+}
+.badge {
+ padding-left: 9px;
+ padding-right: 9px;
+ .border-radius(9px);
+}
+
+// Empty labels/badges collapse
+.label,
+.badge {
+ &:empty {
+ display: none;
+ }
+}
+
+// Hover/focus state, but only for links
+a {
+ &.label:hover,
+ &.label:focus,
+ &.badge:hover,
+ &.badge:focus {
+ color: @white;
+ text-decoration: none;
+ cursor: pointer;
+ }
+}
+
+// Colors
+// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
+.label,
+.badge {
+ // Important (red)
+ &-important { background-color: @errorText; }
+ &-important[href] { background-color: darken(@errorText, 10%); }
+ // Warnings (orange)
+ &-warning { background-color: @orange; }
+ &-warning[href] { background-color: darken(@orange, 10%); }
+ // Success (green)
+ &-success { background-color: @successText; }
+ &-success[href] { background-color: darken(@successText, 10%); }
+ // Info (turquoise)
+ &-info { background-color: @infoText; }
+ &-info[href] { background-color: darken(@infoText, 10%); }
+ // Inverse (black)
+ &-inverse { background-color: @grayDark; }
+ &-inverse[href] { background-color: darken(@grayDark, 10%); }
+}
+
+// Quick fix for labels/badges in buttons
+.btn {
+ .label,
+ .badge {
+ position: relative;
+ top: -1px;
+ }
+}
+.btn-mini {
+ .label,
+ .badge {
+ top: 0;
+ }
+}
--- /dev/null
+//
+// Layouts
+// --------------------------------------------------
+
+
+// Container (centered, fixed-width layouts)
+.container {
+ .container-fixed();
+}
+
+// Fluid layouts (left aligned, with sidebar, min- & max-width content)
+.container-fluid {
+ padding-right: @gridGutterWidth;
+ padding-left: @gridGutterWidth;
+ .clearfix();
+}
\ No newline at end of file
--- /dev/null
+// Media objects
+// Source: http://stubbornella.org/content/?p=497
+// --------------------------------------------------
+
+
+// Common styles
+// -------------------------
+
+// Clear the floats
+.media,
+.media-body {
+ overflow: hidden;
+ *overflow: visible;
+ zoom: 1;
+}
+
+// Proper spacing between instances of .media
+.media,
+.media .media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+
+// For images and videos, set to block
+.media-object {
+ display: block;
+}
+
+// Reset margins on headings for tighter default spacing
+.media-heading {
+ margin: 0 0 5px;
+}
+
+
+// Media image alignment
+// -------------------------
+
+.media > .pull-left {
+ margin-right: 10px;
+}
+.media > .pull-right {
+ margin-left: 10px;
+}
+
+
+// Media list variation
+// -------------------------
+
+// Undo default ul/ol styles
+.media-list {
+ margin-left: 0;
+ list-style: none;
+}
--- /dev/null
+//
+// Mixins
+// --------------------------------------------------
+
+
+// UTILITY MIXINS
+// --------------------------------------------------
+
+// Clearfix
+// --------
+// For clearing floats like a boss h5bp.com/q
+.clearfix {
+ *zoom: 1;
+ &:before,
+ &:after {
+ display: table;
+ content: "";
+ // Fixes Opera/contenteditable bug:
+ // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
+ line-height: 0;
+ }
+ &:after {
+ clear: both;
+ }
+}
+
+// Webkit-style focus
+// ------------------
+.tab-focus() {
+ // Default
+ outline: thin dotted #333;
+ // Webkit
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+// Center-align a block level element
+// ----------------------------------
+.center-block() {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+// IE7 inline-block
+// ----------------
+.ie7-inline-block() {
+ *display: inline; /* IE7 inline-block hack */
+ *zoom: 1;
+}
+
+// IE7 likes to collapse whitespace on either side of the inline-block elements.
+// Ems because we're attempting to match the width of a space character. Left
+// version is for form buttons, which typically come after other elements, and
+// right version is for icons, which come before. Applying both is ok, but it will
+// mean that space between those elements will be .6em (~2 space characters) in IE7,
+// instead of the 1 space in other browsers.
+.ie7-restore-left-whitespace() {
+ *margin-left: .3em;
+
+ &:first-child {
+ *margin-left: 0;
+ }
+}
+
+.ie7-restore-right-whitespace() {
+ *margin-right: .3em;
+}
+
+// Sizing shortcuts
+// -------------------------
+.size(@height, @width) {
+ width: @width;
+ height: @height;
+}
+.square(@size) {
+ .size(@size, @size);
+}
+
+// Placeholder text
+// -------------------------
+.placeholder(@color: @placeholderText) {
+ &:-moz-placeholder {
+ color: @color;
+ }
+ &:-ms-input-placeholder {
+ color: @color;
+ }
+ &::-webkit-input-placeholder {
+ color: @color;
+ }
+}
+
+// Text overflow
+// -------------------------
+// Requires inline-block or block for proper styling
+.text-overflow() {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+// CSS image replacement
+// -------------------------
+// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
+.hide-text {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+
+
+// FONTS
+// --------------------------------------------------
+
+#font {
+ #family {
+ .serif() {
+ font-family: @serifFontFamily;
+ }
+ .sans-serif() {
+ font-family: @sansFontFamily;
+ }
+ .monospace() {
+ font-family: @monoFontFamily;
+ }
+ }
+ .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+ font-size: @size;
+ font-weight: @weight;
+ line-height: @lineHeight;
+ }
+ .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+ #font > #family > .serif;
+ #font > .shorthand(@size, @weight, @lineHeight);
+ }
+ .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+ #font > #family > .sans-serif;
+ #font > .shorthand(@size, @weight, @lineHeight);
+ }
+ .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
+ #font > #family > .monospace;
+ #font > .shorthand(@size, @weight, @lineHeight);
+ }
+}
+
+
+// FORMS
+// --------------------------------------------------
+
+// Block level inputs
+.input-block-level {
+ display: block;
+ width: 100%;
+ min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
+ .box-sizing(border-box); // Makes inputs behave like true block-level elements
+}
+
+
+
+// Mixin for form field states
+.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
+ // Set the text color
+ .control-label,
+ .help-block,
+ .help-inline {
+ color: @textColor;
+ }
+ // Style inputs accordingly
+ .checkbox,
+ .radio,
+ input,
+ select,
+ textarea {
+ color: @textColor;
+ }
+ input,
+ select,
+ textarea {
+ border-color: @borderColor;
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
+ &:focus {
+ border-color: darken(@borderColor, 10%);
+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
+ .box-shadow(@shadow);
+ }
+ }
+ // Give a small background color for input-prepend/-append
+ .input-prepend .add-on,
+ .input-append .add-on {
+ color: @textColor;
+ background-color: @backgroundColor;
+ border-color: @textColor;
+ }
+}
+
+
+
+// CSS3 PROPERTIES
+// --------------------------------------------------
+
+// Border Radius
+.border-radius(@radius) {
+ -webkit-border-radius: @radius;
+ -moz-border-radius: @radius;
+ border-radius: @radius;
+}
+
+// Single Corner Border Radius
+.border-top-left-radius(@radius) {
+ -webkit-border-top-left-radius: @radius;
+ -moz-border-radius-topleft: @radius;
+ border-top-left-radius: @radius;
+}
+.border-top-right-radius(@radius) {
+ -webkit-border-top-right-radius: @radius;
+ -moz-border-radius-topright: @radius;
+ border-top-right-radius: @radius;
+}
+.border-bottom-right-radius(@radius) {
+ -webkit-border-bottom-right-radius: @radius;
+ -moz-border-radius-bottomright: @radius;
+ border-bottom-right-radius: @radius;
+}
+.border-bottom-left-radius(@radius) {
+ -webkit-border-bottom-left-radius: @radius;
+ -moz-border-radius-bottomleft: @radius;
+ border-bottom-left-radius: @radius;
+}
+
+// Single Side Border Radius
+.border-top-radius(@radius) {
+ .border-top-right-radius(@radius);
+ .border-top-left-radius(@radius);
+}
+.border-right-radius(@radius) {
+ .border-top-right-radius(@radius);
+ .border-bottom-right-radius(@radius);
+}
+.border-bottom-radius(@radius) {
+ .border-bottom-right-radius(@radius);
+ .border-bottom-left-radius(@radius);
+}
+.border-left-radius(@radius) {
+ .border-top-left-radius(@radius);
+ .border-bottom-left-radius(@radius);
+}
+
+// Drop shadows
+.box-shadow(@shadow) {
+ -webkit-box-shadow: @shadow;
+ -moz-box-shadow: @shadow;
+ box-shadow: @shadow;
+}
+
+// Transitions
+.transition(@transition) {
+ -webkit-transition: @transition;
+ -moz-transition: @transition;
+ -o-transition: @transition;
+ transition: @transition;
+}
+.transition-delay(@transition-delay) {
+ -webkit-transition-delay: @transition-delay;
+ -moz-transition-delay: @transition-delay;
+ -o-transition-delay: @transition-delay;
+ transition-delay: @transition-delay;
+}
+.transition-duration(@transition-duration) {
+ -webkit-transition-duration: @transition-duration;
+ -moz-transition-duration: @transition-duration;
+ -o-transition-duration: @transition-duration;
+ transition-duration: @transition-duration;
+}
+
+// Transformations
+.rotate(@degrees) {
+ -webkit-transform: rotate(@degrees);
+ -moz-transform: rotate(@degrees);
+ -ms-transform: rotate(@degrees);
+ -o-transform: rotate(@degrees);
+ transform: rotate(@degrees);
+}
+.scale(@ratio) {
+ -webkit-transform: scale(@ratio);
+ -moz-transform: scale(@ratio);
+ -ms-transform: scale(@ratio);
+ -o-transform: scale(@ratio);
+ transform: scale(@ratio);
+}
+.translate(@x, @y) {
+ -webkit-transform: translate(@x, @y);
+ -moz-transform: translate(@x, @y);
+ -ms-transform: translate(@x, @y);
+ -o-transform: translate(@x, @y);
+ transform: translate(@x, @y);
+}
+.skew(@x, @y) {
+ -webkit-transform: skew(@x, @y);
+ -moz-transform: skew(@x, @y);
+ -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
+ -o-transform: skew(@x, @y);
+ transform: skew(@x, @y);
+ -webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
+}
+.translate3d(@x, @y, @z) {
+ -webkit-transform: translate3d(@x, @y, @z);
+ -moz-transform: translate3d(@x, @y, @z);
+ -o-transform: translate3d(@x, @y, @z);
+ transform: translate3d(@x, @y, @z);
+}
+
+// Backface visibility
+// Prevent browsers from flickering when using CSS 3D transforms.
+// Default value is `visible`, but can be changed to `hidden
+// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
+.backface-visibility(@visibility){
+ -webkit-backface-visibility: @visibility;
+ -moz-backface-visibility: @visibility;
+ backface-visibility: @visibility;
+}
+
+// Background clipping
+// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
+.background-clip(@clip) {
+ -webkit-background-clip: @clip;
+ -moz-background-clip: @clip;
+ background-clip: @clip;
+}
+
+// Background sizing
+.background-size(@size) {
+ -webkit-background-size: @size;
+ -moz-background-size: @size;
+ -o-background-size: @size;
+ background-size: @size;
+}
+
+
+// Box sizing
+.box-sizing(@boxmodel) {
+ -webkit-box-sizing: @boxmodel;
+ -moz-box-sizing: @boxmodel;
+ box-sizing: @boxmodel;
+}
+
+// User select
+// For selecting text on the page
+.user-select(@select) {
+ -webkit-user-select: @select;
+ -moz-user-select: @select;
+ -ms-user-select: @select;
+ -o-user-select: @select;
+ user-select: @select;
+}
+
+// Resize anything
+.resizable(@direction) {
+ resize: @direction; // Options: horizontal, vertical, both
+ overflow: auto; // Safari fix
+}
+
+// CSS3 Content Columns
+.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
+ -webkit-column-count: @columnCount;
+ -moz-column-count: @columnCount;
+ column-count: @columnCount;
+ -webkit-column-gap: @columnGap;
+ -moz-column-gap: @columnGap;
+ column-gap: @columnGap;
+}
+
+// Optional hyphenation
+.hyphens(@mode: auto) {
+ word-wrap: break-word;
+ -webkit-hyphens: @mode;
+ -moz-hyphens: @mode;
+ -ms-hyphens: @mode;
+ -o-hyphens: @mode;
+ hyphens: @mode;
+}
+
+// Opacity
+.opacity(@opacity) {
+ opacity: @opacity / 100;
+ filter: ~"alpha(opacity=@{opacity})";
+}
+
+
+
+// BACKGROUNDS
+// --------------------------------------------------
+
+// Add an alphatransparency value to any background or border color (via Elyse Holladay)
+#translucent {
+ .background(@color: @white, @alpha: 1) {
+ background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
+ }
+ .border(@color: @white, @alpha: 1) {
+ border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
+ .background-clip(padding-box);
+ }
+}
+
+// Gradient Bar Colors for buttons and alerts
+.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
+ color: @textColor;
+ text-shadow: @textShadow;
+ #gradient > .vertical(@primaryColor, @secondaryColor);
+ border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
+ border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
+}
+
+// Gradients
+#gradient {
+ .horizontal(@startColor: #555, @endColor: #333) {
+ background-color: @endColor;
+ background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
+ background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
+ background-repeat: repeat-x;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
+ }
+ .vertical(@startColor: #555, @endColor: #333) {
+ background-color: mix(@startColor, @endColor, 60%);
+ background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
+ background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
+ background-repeat: repeat-x;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
+ }
+ .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
+ background-color: @endColor;
+ background-repeat: repeat-x;
+ background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
+ background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
+ background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
+ }
+ .horizontal-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
+ background-color: mix(@midColor, @endColor, 80%);
+ background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
+ background-image: -webkit-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
+ background-image: -moz-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
+ background-image: -o-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
+ background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor);
+ background-repeat: no-repeat;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
+ }
+
+ .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
+ background-color: mix(@midColor, @endColor, 80%);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
+ background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
+ background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
+ background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
+ background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
+ background-repeat: no-repeat;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
+ }
+ .radial(@innerColor: #555, @outerColor: #333) {
+ background-color: @outerColor;
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
+ background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
+ background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
+ background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
+ background-repeat: no-repeat;
+ }
+ .striped(@color: #555, @angle: 45deg) {
+ background-color: @color;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ }
+}
+// Reset filters for IE
+.reset-filter() {
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
+}
+
+
+
+// COMPONENT MIXINS
+// --------------------------------------------------
+
+// Horizontal dividers
+// -------------------------
+// Dividers (basically an hr) within dropdowns and nav lists
+.nav-divider(@top: #e5e5e5, @bottom: @white) {
+ // IE7 needs a set width since we gave a height. Restricting just
+ // to IE7 to keep the 1px left/right space in other browsers.
+ // It is unclear where IE is getting the extra space that we need
+ // to negative-margin away, but so it goes.
+ *width: 100%;
+ height: 1px;
+ margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
+ *margin: -5px 0 5px;
+ overflow: hidden;
+ background-color: @top;
+ border-bottom: 1px solid @bottom;
+}
+
+// Button backgrounds
+// ------------------
+.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
+ // gradientBar will set the background to a pleasing blend of these, to support IE<=9
+ .gradientBar(@startColor, @endColor, @textColor, @textShadow);
+ *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
+ .reset-filter();
+
+ // in these cases the gradient won't cover the background, so we override
+ &:hover, &:focus, &:active, &.active, &.disabled, &[disabled] {
+ color: @textColor;
+ background-color: @endColor;
+ *background-color: darken(@endColor, 5%);
+ }
+
+ // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
+ &:active,
+ &.active {
+ background-color: darken(@endColor, 10%) e("\9");
+ }
+}
+
+// Navbar vertical align
+// -------------------------
+// Vertically center elements in the navbar.
+// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
+.navbarVerticalAlign(@elementHeight) {
+ margin-top: (@navbarHeight - @elementHeight) / 2;
+}
+
+
+
+// Grid System
+// -----------
+
+// Centered container element
+.container-fixed() {
+ margin-right: auto;
+ margin-left: auto;
+ .clearfix();
+}
+
+// Table columns
+.tableColumns(@columnSpan: 1) {
+ float: none; // undo default grid column styles
+ width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
+ margin-left: 0; // undo default grid column styles
+}
+
+// Make a Grid
+// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
+.makeRow() {
+ margin-left: @gridGutterWidth * -1;
+ .clearfix();
+}
+.makeColumn(@columns: 1, @offset: 0) {
+ float: left;
+ margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2);
+ width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
+}
+
+// The Grid
+#grid {
+
+ .core (@gridColumnWidth, @gridGutterWidth) {
+
+ .spanX (@index) when (@index > 0) {
+ .span@{index} { .span(@index); }
+ .spanX(@index - 1);
+ }
+ .spanX (0) {}
+
+ .offsetX (@index) when (@index > 0) {
+ .offset@{index} { .offset(@index); }
+ .offsetX(@index - 1);
+ }
+ .offsetX (0) {}
+
+ .offset (@columns) {
+ margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1));
+ }
+
+ .span (@columns) {
+ width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
+ }
+
+ .row {
+ margin-left: @gridGutterWidth * -1;
+ .clearfix();
+ }
+
+ [class*="span"] {
+ float: left;
+ min-height: 1px; // prevent collapsing columns
+ margin-left: @gridGutterWidth;
+ }
+
+ // Set the container width, and override it for fixed navbars in media queries
+ .container,
+ .navbar-static-top .container,
+ .navbar-fixed-top .container,
+ .navbar-fixed-bottom .container { .span(@gridColumns); }
+
+ // generate .spanX and .offsetX
+ .spanX (@gridColumns);
+ .offsetX (@gridColumns);
+
+ }
+
+ .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
+
+ .spanX (@index) when (@index > 0) {
+ .span@{index} { .span(@index); }
+ .spanX(@index - 1);
+ }
+ .spanX (0) {}
+
+ .offsetX (@index) when (@index > 0) {
+ .offset@{index} { .offset(@index); }
+ .offset@{index}:first-child { .offsetFirstChild(@index); }
+ .offsetX(@index - 1);
+ }
+ .offsetX (0) {}
+
+ .offset (@columns) {
+ margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2);
+ *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%);
+ }
+
+ .offsetFirstChild (@columns) {
+ margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth);
+ *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
+ }
+
+ .span (@columns) {
+ width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
+ *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
+ }
+
+ .row-fluid {
+ width: 100%;
+ .clearfix();
+ [class*="span"] {
+ .input-block-level();
+ float: left;
+ margin-left: @fluidGridGutterWidth;
+ *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
+ }
+ [class*="span"]:first-child {
+ margin-left: 0;
+ }
+
+ // Space grid-sized controls properly if multiple per line
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: @fluidGridGutterWidth;
+ }
+
+ // generate .spanX and .offsetX
+ .spanX (@gridColumns);
+ .offsetX (@gridColumns);
+ }
+
+ }
+
+ .input(@gridColumnWidth, @gridGutterWidth) {
+
+ .spanX (@index) when (@index > 0) {
+ input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index} { .span(@index); }
+ .spanX(@index - 1);
+ }
+ .spanX (0) {}
+
+ .span(@columns) {
+ width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14;
+ }
+
+ input,
+ textarea,
+ .uneditable-input {
+ margin-left: 0; // override margin-left from core grid system
+ }
+
+ // Space grid-sized controls properly if multiple per line
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: @gridGutterWidth;
+ }
+
+ // generate .spanX
+ .spanX (@gridColumns);
+
+ }
+}
--- /dev/null
+//
+// Modals
+// --------------------------------------------------
+
+// Background
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: @zindexModalBackdrop;
+ background-color: @black;
+ // Fade for backdrop
+ &.fade { opacity: 0; }
+}
+
+.modal-backdrop,
+.modal-backdrop.fade.in {
+ .opacity(80);
+}
+
+// Base modal
+.modal {
+ position: fixed;
+ top: 10%;
+ left: 50%;
+ z-index: @zindexModal;
+ width: 560px;
+ margin-left: -280px;
+ background-color: @white;
+ border: 1px solid #999;
+ border: 1px solid rgba(0,0,0,.3);
+ *border: 1px solid #999; /* IE6-7 */
+ .border-radius(6px);
+ .box-shadow(0 3px 7px rgba(0,0,0,0.3));
+ .background-clip(padding-box);
+ // Remove focus outline from opened modal
+ outline: none;
+
+ &.fade {
+ .transition(e('opacity .3s linear, top .3s ease-out'));
+ top: -25%;
+ }
+ &.fade.in { top: 10%; }
+}
+.modal-header {
+ padding: 9px 15px;
+ border-bottom: 1px solid #eee;
+ // Close icon
+ .close { margin-top: 2px; }
+ // Heading
+ h3 {
+ margin: 0;
+ line-height: 30px;
+ }
+}
+
+// Body (where all modal content resides)
+.modal-body {
+ position: relative;
+ overflow-y: auto;
+ max-height: 400px;
+ padding: 15px;
+}
+// Remove bottom margin if need be
+.modal-form {
+ margin-bottom: 0;
+}
+
+// Footer (for actions)
+.modal-footer {
+ padding: 14px 15px 15px;
+ margin-bottom: 0;
+ text-align: right; // right align buttons
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ .border-radius(0 0 6px 6px);
+ .box-shadow(inset 0 1px 0 @white);
+ .clearfix(); // clear it in case folks use .pull-* classes on buttons
+
+ // Properly space out buttons
+ .btn + .btn {
+ margin-left: 5px;
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
+ }
+ // but override that for button groups
+ .btn-group .btn + .btn {
+ margin-left: -1px;
+ }
+ // and override it for block buttons as well
+ .btn-block + .btn-block {
+ margin-left: 0;
+ }
+}
--- /dev/null
+//
+// Navbars (Redux)
+// --------------------------------------------------
+
+
+// COMMON STYLES
+// -------------
+
+// Base class and wrapper
+.navbar {
+ overflow: visible;
+ margin-bottom: @baseLineHeight;
+
+ // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
+ *position: relative;
+ *z-index: 2;
+}
+
+// Inner for background effects
+// Gradient is applied to its own element because overflow visible is not honored by IE when filter is present
+.navbar-inner {
+ min-height: @navbarHeight;
+ padding-left: 20px;
+ padding-right: 20px;
+ #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
+ border: 1px solid @navbarBorder;
+ .border-radius(@baseBorderRadius);
+ .box-shadow(0 1px 4px rgba(0,0,0,.065));
+
+ // Prevent floats from breaking the navbar
+ .clearfix();
+}
+
+// Set width to auto for default container
+// We then reset it for fixed navbars in the #gridSystem mixin
+.navbar .container {
+ width: auto;
+}
+
+// Override the default collapsed state
+.nav-collapse.collapse {
+ height: auto;
+ overflow: visible;
+}
+
+
+// Brand: website or project name
+// -------------------------
+.navbar .brand {
+ float: left;
+ display: block;
+ // Vertically center the text given @navbarHeight
+ padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2);
+ margin-left: -20px; // negative indent to left-align the text down the page
+ font-size: 20px;
+ font-weight: 200;
+ color: @navbarBrandColor;
+ text-shadow: 0 1px 0 @navbarBackgroundHighlight;
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ }
+}
+
+// Plain text in topbar
+// -------------------------
+.navbar-text {
+ margin-bottom: 0;
+ line-height: @navbarHeight;
+ color: @navbarText;
+}
+
+// Janky solution for now to account for links outside the .nav
+// -------------------------
+.navbar-link {
+ color: @navbarLinkColor;
+ &:hover,
+ &:focus {
+ color: @navbarLinkColorHover;
+ }
+}
+
+// Dividers in navbar
+// -------------------------
+.navbar .divider-vertical {
+ height: @navbarHeight;
+ margin: 0 9px;
+ border-left: 1px solid @navbarBackground;
+ border-right: 1px solid @navbarBackgroundHighlight;
+}
+
+// Buttons in navbar
+// -------------------------
+.navbar .btn,
+.navbar .btn-group {
+ .navbarVerticalAlign(30px); // Vertically center in navbar
+}
+.navbar .btn-group .btn,
+.navbar .input-prepend .btn,
+.navbar .input-append .btn,
+.navbar .input-prepend .btn-group,
+.navbar .input-append .btn-group {
+ margin-top: 0; // then undo the margin here so we don't accidentally double it
+}
+
+// Navbar forms
+// -------------------------
+.navbar-form {
+ margin-bottom: 0; // remove default bottom margin
+ .clearfix();
+ input,
+ select,
+ .radio,
+ .checkbox {
+ .navbarVerticalAlign(30px); // Vertically center in navbar
+ }
+ input,
+ select,
+ .btn {
+ display: inline-block;
+ margin-bottom: 0;
+ }
+ input[type="image"],
+ input[type="checkbox"],
+ input[type="radio"] {
+ margin-top: 3px;
+ }
+ .input-append,
+ .input-prepend {
+ margin-top: 5px;
+ white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
+ input {
+ margin-top: 0; // remove the margin on top since it's on the parent
+ }
+ }
+}
+
+// Navbar search
+// -------------------------
+.navbar-search {
+ position: relative;
+ float: left;
+ .navbarVerticalAlign(30px); // Vertically center in navbar
+ margin-bottom: 0;
+ .search-query {
+ margin-bottom: 0;
+ padding: 4px 14px;
+ #font > .sans-serif(13px, normal, 1);
+ .border-radius(15px); // redeclare because of specificity of the type attribute
+ }
+}
+
+
+
+// Static navbar
+// -------------------------
+
+.navbar-static-top {
+ position: static;
+ margin-bottom: 0; // remove 18px margin for default navbar
+ .navbar-inner {
+ .border-radius(0);
+ }
+}
+
+
+
+// Fixed navbar
+// -------------------------
+
+// Shared (top/bottom) styles
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: @zindexFixedNavbar;
+ margin-bottom: 0; // remove 18px margin for default navbar
+}
+.navbar-fixed-top .navbar-inner,
+.navbar-static-top .navbar-inner {
+ border-width: 0 0 1px;
+}
+.navbar-fixed-bottom .navbar-inner {
+ border-width: 1px 0 0;
+}
+.navbar-fixed-top .navbar-inner,
+.navbar-fixed-bottom .navbar-inner {
+ padding-left: 0;
+ padding-right: 0;
+ .border-radius(0);
+}
+
+// Reset container width
+// Required here as we reset the width earlier on and the grid mixins don't override early enough
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+ #grid > .core > .span(@gridColumns);
+}
+
+// Fixed to top
+.navbar-fixed-top {
+ top: 0;
+}
+.navbar-fixed-top,
+.navbar-static-top {
+ .navbar-inner {
+ .box-shadow(~"0 1px 10px rgba(0,0,0,.1)");
+ }
+}
+
+// Fixed to bottom
+.navbar-fixed-bottom {
+ bottom: 0;
+ .navbar-inner {
+ .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)");
+ }
+}
+
+
+
+// NAVIGATION
+// ----------
+
+.navbar .nav {
+ position: relative;
+ left: 0;
+ display: block;
+ float: left;
+ margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+ float: right; // redeclare due to specificity
+ margin-right: 0; // remove margin on float right nav
+}
+.navbar .nav > li {
+ float: left;
+}
+
+// Links
+.navbar .nav > li > a {
+ float: none;
+ // Vertically center the text given @navbarHeight
+ padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2);
+ color: @navbarLinkColor;
+ text-decoration: none;
+ text-shadow: 0 1px 0 @navbarBackgroundHighlight;
+}
+.navbar .nav .dropdown-toggle .caret {
+ margin-top: 8px;
+}
+
+// Hover/focus
+.navbar .nav > li > a:focus,
+.navbar .nav > li > a:hover {
+ background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active
+ color: @navbarLinkColorHover;
+ text-decoration: none;
+}
+
+// Active nav items
+.navbar .nav > .active > a,
+.navbar .nav > .active > a:hover,
+.navbar .nav > .active > a:focus {
+ color: @navbarLinkColorActive;
+ text-decoration: none;
+ background-color: @navbarLinkBackgroundActive;
+ .box-shadow(inset 0 3px 8px rgba(0,0,0,.125));
+}
+
+// Navbar button for toggling navbar items in responsive layouts
+// These definitions need to come after '.navbar .btn'
+.navbar .btn-navbar {
+ display: none;
+ float: right;
+ padding: 7px 10px;
+ margin-left: 5px;
+ margin-right: 5px;
+ .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
+}
+.navbar .btn-navbar .icon-bar {
+ display: block;
+ width: 18px;
+ height: 2px;
+ background-color: #f5f5f5;
+ .border-radius(1px);
+ .box-shadow(0 1px 0 rgba(0,0,0,.25));
+}
+.btn-navbar .icon-bar + .icon-bar {
+ margin-top: 3px;
+}
+
+
+
+// Dropdown menus
+// --------------
+
+// Menu position and menu carets
+.navbar .nav > li > .dropdown-menu {
+ &:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-bottom-color: @dropdownBorder;
+ position: absolute;
+ top: -7px;
+ left: 9px;
+ }
+ &:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid @dropdownBackground;
+ position: absolute;
+ top: -6px;
+ left: 10px;
+ }
+}
+// Menu position and menu caret support for dropups via extra dropup class
+.navbar-fixed-bottom .nav > li > .dropdown-menu {
+ &:before {
+ border-top: 7px solid #ccc;
+ border-top-color: @dropdownBorder;
+ border-bottom: 0;
+ bottom: -7px;
+ top: auto;
+ }
+ &:after {
+ border-top: 6px solid @dropdownBackground;
+ border-bottom: 0;
+ bottom: -6px;
+ top: auto;
+ }
+}
+
+// Caret should match text color on hover/focus
+.navbar .nav li.dropdown > a:hover .caret,
+.navbar .nav li.dropdown > a:focus .caret {
+ border-top-color: @navbarLinkColorHover;
+ border-bottom-color: @navbarLinkColorHover;
+}
+
+// Remove background color from open dropdown
+.navbar .nav li.dropdown.open > .dropdown-toggle,
+.navbar .nav li.dropdown.active > .dropdown-toggle,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle {
+ background-color: @navbarLinkBackgroundActive;
+ color: @navbarLinkColorActive;
+}
+.navbar .nav li.dropdown > .dropdown-toggle .caret {
+ border-top-color: @navbarLinkColor;
+ border-bottom-color: @navbarLinkColor;
+}
+.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
+.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
+.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
+ border-top-color: @navbarLinkColorActive;
+ border-bottom-color: @navbarLinkColorActive;
+}
+
+// Right aligned menus need alt position
+.navbar .pull-right > li > .dropdown-menu,
+.navbar .nav > li > .dropdown-menu.pull-right {
+ left: auto;
+ right: 0;
+ &:before {
+ left: auto;
+ right: 12px;
+ }
+ &:after {
+ left: auto;
+ right: 13px;
+ }
+ .dropdown-menu {
+ left: auto;
+ right: 100%;
+ margin-left: 0;
+ margin-right: -1px;
+ .border-radius(6px 0 6px 6px);
+ }
+}
+
+
+// Inverted navbar
+// -------------------------
+
+.navbar-inverse {
+
+ .navbar-inner {
+ #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground);
+ border-color: @navbarInverseBorder;
+ }
+
+ .brand,
+ .nav > li > a {
+ color: @navbarInverseLinkColor;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ &:hover,
+ &:focus {
+ color: @navbarInverseLinkColorHover;
+ }
+ }
+
+ .brand {
+ color: @navbarInverseBrandColor;
+ }
+
+ .navbar-text {
+ color: @navbarInverseText;
+ }
+
+ .nav > li > a:focus,
+ .nav > li > a:hover {
+ background-color: @navbarInverseLinkBackgroundHover;
+ color: @navbarInverseLinkColorHover;
+ }
+
+ .nav .active > a,
+ .nav .active > a:hover,
+ .nav .active > a:focus {
+ color: @navbarInverseLinkColorActive;
+ background-color: @navbarInverseLinkBackgroundActive;
+ }
+
+ // Inline text links
+ .navbar-link {
+ color: @navbarInverseLinkColor;
+ &:hover,
+ &:focus {
+ color: @navbarInverseLinkColorHover;
+ }
+ }
+
+ // Dividers in navbar
+ .divider-vertical {
+ border-left-color: @navbarInverseBackground;
+ border-right-color: @navbarInverseBackgroundHighlight;
+ }
+
+ // Dropdowns
+ .nav li.dropdown.open > .dropdown-toggle,
+ .nav li.dropdown.active > .dropdown-toggle,
+ .nav li.dropdown.open.active > .dropdown-toggle {
+ background-color: @navbarInverseLinkBackgroundActive;
+ color: @navbarInverseLinkColorActive;
+ }
+ .nav li.dropdown > a:hover .caret,
+ .nav li.dropdown > a:focus .caret {
+ border-top-color: @navbarInverseLinkColorActive;
+ border-bottom-color: @navbarInverseLinkColorActive;
+ }
+ .nav li.dropdown > .dropdown-toggle .caret {
+ border-top-color: @navbarInverseLinkColor;
+ border-bottom-color: @navbarInverseLinkColor;
+ }
+ .nav li.dropdown.open > .dropdown-toggle .caret,
+ .nav li.dropdown.active > .dropdown-toggle .caret,
+ .nav li.dropdown.open.active > .dropdown-toggle .caret {
+ border-top-color: @navbarInverseLinkColorActive;
+ border-bottom-color: @navbarInverseLinkColorActive;
+ }
+
+ // Navbar search
+ .navbar-search {
+ .search-query {
+ color: @white;
+ background-color: @navbarInverseSearchBackground;
+ border-color: @navbarInverseSearchBorder;
+ .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
+ .transition(none);
+ .placeholder(@navbarInverseSearchPlaceholderColor);
+
+ // Focus states (we use .focused since IE7-8 and down doesn't support :focus)
+ &:focus,
+ &.focused {
+ padding: 5px 15px;
+ color: @grayDark;
+ text-shadow: 0 1px 0 @white;
+ background-color: @navbarInverseSearchBackgroundFocus;
+ border: 0;
+ .box-shadow(0 0 3px rgba(0,0,0,.15));
+ outline: 0;
+ }
+ }
+ }
+
+ // Navbar collapse button
+ .btn-navbar {
+ .buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%));
+ }
+
+}
--- /dev/null
+//
+// Navs
+// --------------------------------------------------
+
+
+// BASE CLASS
+// ----------
+
+.nav {
+ margin-left: 0;
+ margin-bottom: @baseLineHeight;
+ list-style: none;
+}
+
+// Make links block level
+.nav > li > a {
+ display: block;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+ text-decoration: none;
+ background-color: @grayLighter;
+}
+
+// Prevent IE8 from misplacing imgs
+// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
+.nav > li > a > img {
+ max-width: none;
+}
+
+// Redeclare pull classes because of specifity
+.nav > .pull-right {
+ float: right;
+}
+
+// Nav headers (for dropdowns and lists)
+.nav-header {
+ display: block;
+ padding: 3px 15px;
+ font-size: 11px;
+ font-weight: bold;
+ line-height: @baseLineHeight;
+ color: @grayLight;
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
+ text-transform: uppercase;
+}
+// Space them out when they follow another list item (link)
+.nav li + .nav-header {
+ margin-top: 9px;
+}
+
+
+
+// NAV LIST
+// --------
+
+.nav-list {
+ padding-left: 15px;
+ padding-right: 15px;
+ margin-bottom: 0;
+}
+.nav-list > li > a,
+.nav-list .nav-header {
+ margin-left: -15px;
+ margin-right: -15px;
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
+}
+.nav-list > li > a {
+ padding: 3px 15px;
+}
+.nav-list > .active > a,
+.nav-list > .active > a:hover,
+.nav-list > .active > a:focus {
+ color: @white;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
+ background-color: @linkColor;
+}
+.nav-list [class^="icon-"],
+.nav-list [class*=" icon-"] {
+ margin-right: 2px;
+}
+// Dividers (basically an hr) within the dropdown
+.nav-list .divider {
+ .nav-divider();
+}
+
+
+
+// TABS AND PILLS
+// -------------
+
+// Common styles
+.nav-tabs,
+.nav-pills {
+ .clearfix();
+}
+.nav-tabs > li,
+.nav-pills > li {
+ float: left;
+}
+.nav-tabs > li > a,
+.nav-pills > li > a {
+ padding-right: 12px;
+ padding-left: 12px;
+ margin-right: 2px;
+ line-height: 14px; // keeps the overall height an even number
+}
+
+// TABS
+// ----
+
+// Give the tabs something to sit on
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+// Make the list-items overlay the bottom border
+.nav-tabs > li {
+ margin-bottom: -1px;
+}
+// Actual tabs (as links)
+.nav-tabs > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ line-height: @baseLineHeight;
+ border: 1px solid transparent;
+ .border-radius(4px 4px 0 0);
+ &:hover,
+ &:focus {
+ border-color: @grayLighter @grayLighter #ddd;
+ }
+}
+// Active state, and it's :hover/:focus to override normal :hover/:focus
+.nav-tabs > .active > a,
+.nav-tabs > .active > a:hover,
+.nav-tabs > .active > a:focus {
+ color: @gray;
+ background-color: @bodyBackground;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+ cursor: default;
+}
+
+
+// PILLS
+// -----
+
+// Links rendered as pills
+.nav-pills > li > a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ .border-radius(5px);
+}
+
+// Active state
+.nav-pills > .active > a,
+.nav-pills > .active > a:hover,
+.nav-pills > .active > a:focus {
+ color: @white;
+ background-color: @linkColor;
+}
+
+
+
+// STACKED NAV
+// -----------
+
+// Stacked tabs and pills
+.nav-stacked > li {
+ float: none;
+}
+.nav-stacked > li > a {
+ margin-right: 0; // no need for the gap between nav items
+}
+
+// Tabs
+.nav-tabs.nav-stacked {
+ border-bottom: 0;
+}
+.nav-tabs.nav-stacked > li > a {
+ border: 1px solid #ddd;
+ .border-radius(0);
+}
+.nav-tabs.nav-stacked > li:first-child > a {
+ .border-top-radius(4px);
+}
+.nav-tabs.nav-stacked > li:last-child > a {
+ .border-bottom-radius(4px);
+}
+.nav-tabs.nav-stacked > li > a:hover,
+.nav-tabs.nav-stacked > li > a:focus {
+ border-color: #ddd;
+ z-index: 2;
+}
+
+// Pills
+.nav-pills.nav-stacked > li > a {
+ margin-bottom: 3px;
+}
+.nav-pills.nav-stacked > li:last-child > a {
+ margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
+}
+
+
+
+// DROPDOWNS
+// ---------
+
+.nav-tabs .dropdown-menu {
+ .border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu
+}
+.nav-pills .dropdown-menu {
+ .border-radius(6px); // make rounded corners match the pills
+}
+
+// Default dropdown links
+// -------------------------
+// Make carets use linkColor to start
+.nav .dropdown-toggle .caret {
+ border-top-color: @linkColor;
+ border-bottom-color: @linkColor;
+ margin-top: 6px;
+}
+.nav .dropdown-toggle:hover .caret,
+.nav .dropdown-toggle:focus .caret {
+ border-top-color: @linkColorHover;
+ border-bottom-color: @linkColorHover;
+}
+/* move down carets for tabs */
+.nav-tabs .dropdown-toggle .caret {
+ margin-top: 8px;
+}
+
+// Active dropdown links
+// -------------------------
+.nav .active .dropdown-toggle .caret {
+ border-top-color: #fff;
+ border-bottom-color: #fff;
+}
+.nav-tabs .active .dropdown-toggle .caret {
+ border-top-color: @gray;
+ border-bottom-color: @gray;
+}
+
+// Active:hover/:focus dropdown links
+// -------------------------
+.nav > .dropdown.active > a:hover,
+.nav > .dropdown.active > a:focus {
+ cursor: pointer;
+}
+
+// Open dropdowns
+// -------------------------
+.nav-tabs .open .dropdown-toggle,
+.nav-pills .open .dropdown-toggle,
+.nav > li.dropdown.open.active > a:hover,
+.nav > li.dropdown.open.active > a:focus {
+ color: @white;
+ background-color: @grayLight;
+ border-color: @grayLight;
+}
+.nav li.dropdown.open .caret,
+.nav li.dropdown.open.active .caret,
+.nav li.dropdown.open a:hover .caret,
+.nav li.dropdown.open a:focus .caret {
+ border-top-color: @white;
+ border-bottom-color: @white;
+ .opacity(100);
+}
+
+// Dropdowns in stacked tabs
+.tabs-stacked .open > a:hover,
+.tabs-stacked .open > a:focus {
+ border-color: @grayLight;
+}
+
+
+
+// TABBABLE
+// --------
+
+
+// COMMON STYLES
+// -------------
+
+// Clear any floats
+.tabbable {
+ .clearfix();
+}
+.tab-content {
+ overflow: auto; // prevent content from running below tabs
+}
+
+// Remove border on bottom, left, right
+.tabs-below > .nav-tabs,
+.tabs-right > .nav-tabs,
+.tabs-left > .nav-tabs {
+ border-bottom: 0;
+}
+
+// Show/hide tabbable areas
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+ display: none;
+}
+.tab-content > .active,
+.pill-content > .active {
+ display: block;
+}
+
+
+// BOTTOM
+// ------
+
+.tabs-below > .nav-tabs {
+ border-top: 1px solid #ddd;
+}
+.tabs-below > .nav-tabs > li {
+ margin-top: -1px;
+ margin-bottom: 0;
+}
+.tabs-below > .nav-tabs > li > a {
+ .border-radius(0 0 4px 4px);
+ &:hover,
+ &:focus {
+ border-bottom-color: transparent;
+ border-top-color: #ddd;
+ }
+}
+.tabs-below > .nav-tabs > .active > a,
+.tabs-below > .nav-tabs > .active > a:hover,
+.tabs-below > .nav-tabs > .active > a:focus {
+ border-color: transparent #ddd #ddd #ddd;
+}
+
+// LEFT & RIGHT
+// ------------
+
+// Common styles
+.tabs-left > .nav-tabs > li,
+.tabs-right > .nav-tabs > li {
+ float: none;
+}
+.tabs-left > .nav-tabs > li > a,
+.tabs-right > .nav-tabs > li > a {
+ min-width: 74px;
+ margin-right: 0;
+ margin-bottom: 3px;
+}
+
+// Tabs on the left
+.tabs-left > .nav-tabs {
+ float: left;
+ margin-right: 19px;
+ border-right: 1px solid #ddd;
+}
+.tabs-left > .nav-tabs > li > a {
+ margin-right: -1px;
+ .border-radius(4px 0 0 4px);
+}
+.tabs-left > .nav-tabs > li > a:hover,
+.tabs-left > .nav-tabs > li > a:focus {
+ border-color: @grayLighter #ddd @grayLighter @grayLighter;
+}
+.tabs-left > .nav-tabs .active > a,
+.tabs-left > .nav-tabs .active > a:hover,
+.tabs-left > .nav-tabs .active > a:focus {
+ border-color: #ddd transparent #ddd #ddd;
+ *border-right-color: @white;
+}
+
+// Tabs on the right
+.tabs-right > .nav-tabs {
+ float: right;
+ margin-left: 19px;
+ border-left: 1px solid #ddd;
+}
+.tabs-right > .nav-tabs > li > a {
+ margin-left: -1px;
+ .border-radius(0 4px 4px 0);
+}
+.tabs-right > .nav-tabs > li > a:hover,
+.tabs-right > .nav-tabs > li > a:focus {
+ border-color: @grayLighter @grayLighter @grayLighter #ddd;
+}
+.tabs-right > .nav-tabs .active > a,
+.tabs-right > .nav-tabs .active > a:hover,
+.tabs-right > .nav-tabs .active > a:focus {
+ border-color: #ddd #ddd #ddd transparent;
+ *border-left-color: @white;
+}
+
+
+
+// DISABLED STATES
+// ---------------
+
+// Gray out text
+.nav > .disabled > a {
+ color: @grayLight;
+}
+// Nuke hover/focus effects
+.nav > .disabled > a:hover,
+.nav > .disabled > a:focus {
+ text-decoration: none;
+ background-color: transparent;
+ cursor: default;
+}
--- /dev/null
+//
+// Pager pagination
+// --------------------------------------------------
+
+
+.pager {
+ margin: @baseLineHeight 0;
+ list-style: none;
+ text-align: center;
+ .clearfix();
+}
+.pager li {
+ display: inline;
+}
+.pager li > a,
+.pager li > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ .border-radius(15px);
+}
+.pager li > a:hover,
+.pager li > a:focus {
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.pager .next > a,
+.pager .next > span {
+ float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+ float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+ color: @grayLight;
+ background-color: #fff;
+ cursor: default;
+}
\ No newline at end of file
--- /dev/null
+//
+// Pagination (multiple pages)
+// --------------------------------------------------
+
+// Space out pagination from surrounding content
+.pagination {
+ margin: @baseLineHeight 0;
+}
+
+.pagination ul {
+ // Allow for text-based alignment
+ display: inline-block;
+ .ie7-inline-block();
+ // Reset default ul styles
+ margin-left: 0;
+ margin-bottom: 0;
+ // Visuals
+ .border-radius(@baseBorderRadius);
+ .box-shadow(0 1px 2px rgba(0,0,0,.05));
+}
+.pagination ul > li {
+ display: inline; // Remove list-style and block-level defaults
+}
+.pagination ul > li > a,
+.pagination ul > li > span {
+ float: left; // Collapse white-space
+ padding: 4px 12px;
+ line-height: @baseLineHeight;
+ text-decoration: none;
+ background-color: @paginationBackground;
+ border: 1px solid @paginationBorder;
+ border-left-width: 0;
+}
+.pagination ul > li > a:hover,
+.pagination ul > li > a:focus,
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+ background-color: @paginationActiveBackground;
+}
+.pagination ul > .active > a,
+.pagination ul > .active > span {
+ color: @grayLight;
+ cursor: default;
+}
+.pagination ul > .disabled > span,
+.pagination ul > .disabled > a,
+.pagination ul > .disabled > a:hover,
+.pagination ul > .disabled > a:focus {
+ color: @grayLight;
+ background-color: transparent;
+ cursor: default;
+}
+.pagination ul > li:first-child > a,
+.pagination ul > li:first-child > span {
+ border-left-width: 1px;
+ .border-left-radius(@baseBorderRadius);
+}
+.pagination ul > li:last-child > a,
+.pagination ul > li:last-child > span {
+ .border-right-radius(@baseBorderRadius);
+}
+
+
+// Alignment
+// --------------------------------------------------
+
+.pagination-centered {
+ text-align: center;
+}
+.pagination-right {
+ text-align: right;
+}
+
+
+// Sizing
+// --------------------------------------------------
+
+// Large
+.pagination-large {
+ ul > li > a,
+ ul > li > span {
+ padding: @paddingLarge;
+ font-size: @fontSizeLarge;
+ }
+ ul > li:first-child > a,
+ ul > li:first-child > span {
+ .border-left-radius(@borderRadiusLarge);
+ }
+ ul > li:last-child > a,
+ ul > li:last-child > span {
+ .border-right-radius(@borderRadiusLarge);
+ }
+}
+
+// Small and mini
+.pagination-mini,
+.pagination-small {
+ ul > li:first-child > a,
+ ul > li:first-child > span {
+ .border-left-radius(@borderRadiusSmall);
+ }
+ ul > li:last-child > a,
+ ul > li:last-child > span {
+ .border-right-radius(@borderRadiusSmall);
+ }
+}
+
+// Small
+.pagination-small {
+ ul > li > a,
+ ul > li > span {
+ padding: @paddingSmall;
+ font-size: @fontSizeSmall;
+ }
+}
+// Mini
+.pagination-mini {
+ ul > li > a,
+ ul > li > span {
+ padding: @paddingMini;
+ font-size: @fontSizeMini;
+ }
+}
--- /dev/null
+//
+// Popovers
+// --------------------------------------------------
+
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: @zindexPopover;
+ display: none;
+ max-width: 276px;
+ padding: 1px;
+ text-align: left; // Reset given new insertion method
+ background-color: @popoverBackground;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0,0,0,.2);
+ .border-radius(6px);
+ .box-shadow(0 5px 10px rgba(0,0,0,.2));
+
+ // Overrides for proper insertion
+ white-space: normal;
+
+ // Offset the popover to account for the popover arrow
+ &.top { margin-top: -10px; }
+ &.right { margin-left: 10px; }
+ &.bottom { margin-top: 10px; }
+ &.left { margin-left: -10px; }
+}
+
+.popover-title {
+ margin: 0; // reset heading margin
+ padding: 8px 14px;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 18px;
+ background-color: @popoverTitleBackground;
+ border-bottom: 1px solid darken(@popoverTitleBackground, 5%);
+ .border-radius(5px 5px 0 0);
+
+ &:empty {
+ display: none;
+ }
+}
+
+.popover-content {
+ padding: 9px 14px;
+}
+
+// Arrows
+//
+// .arrow is outer, .arrow:after is inner
+
+.popover .arrow,
+.popover .arrow:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.popover .arrow {
+ border-width: @popoverArrowOuterWidth;
+}
+.popover .arrow:after {
+ border-width: @popoverArrowWidth;
+ content: "";
+}
+
+.popover {
+ &.top .arrow {
+ left: 50%;
+ margin-left: -@popoverArrowOuterWidth;
+ border-bottom-width: 0;
+ border-top-color: #999; // IE8 fallback
+ border-top-color: @popoverArrowOuterColor;
+ bottom: -@popoverArrowOuterWidth;
+ &:after {
+ bottom: 1px;
+ margin-left: -@popoverArrowWidth;
+ border-bottom-width: 0;
+ border-top-color: @popoverArrowColor;
+ }
+ }
+ &.right .arrow {
+ top: 50%;
+ left: -@popoverArrowOuterWidth;
+ margin-top: -@popoverArrowOuterWidth;
+ border-left-width: 0;
+ border-right-color: #999; // IE8 fallback
+ border-right-color: @popoverArrowOuterColor;
+ &:after {
+ left: 1px;
+ bottom: -@popoverArrowWidth;
+ border-left-width: 0;
+ border-right-color: @popoverArrowColor;
+ }
+ }
+ &.bottom .arrow {
+ left: 50%;
+ margin-left: -@popoverArrowOuterWidth;
+ border-top-width: 0;
+ border-bottom-color: #999; // IE8 fallback
+ border-bottom-color: @popoverArrowOuterColor;
+ top: -@popoverArrowOuterWidth;
+ &:after {
+ top: 1px;
+ margin-left: -@popoverArrowWidth;
+ border-top-width: 0;
+ border-bottom-color: @popoverArrowColor;
+ }
+ }
+
+ &.left .arrow {
+ top: 50%;
+ right: -@popoverArrowOuterWidth;
+ margin-top: -@popoverArrowOuterWidth;
+ border-right-width: 0;
+ border-left-color: #999; // IE8 fallback
+ border-left-color: @popoverArrowOuterColor;
+ &:after {
+ right: 1px;
+ border-right-width: 0;
+ border-left-color: @popoverArrowColor;
+ bottom: -@popoverArrowWidth;
+ }
+ }
+
+}
--- /dev/null
+//
+// Progress bars
+// --------------------------------------------------
+
+
+// ANIMATIONS
+// ----------
+
+// Webkit
+@-webkit-keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+// Firefox
+@-moz-keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+// IE9
+@-ms-keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+// Opera
+@-o-keyframes progress-bar-stripes {
+ from { background-position: 0 0; }
+ to { background-position: 40px 0; }
+}
+
+// Spec
+@keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+
+
+// THE BARS
+// --------
+
+// Outer container
+.progress {
+ overflow: hidden;
+ height: @baseLineHeight;
+ margin-bottom: @baseLineHeight;
+ #gradient > .vertical(#f5f5f5, #f9f9f9);
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
+ .border-radius(@baseBorderRadius);
+}
+
+// Bar of progress
+.progress .bar {
+ width: 0%;
+ height: 100%;
+ color: @white;
+ float: left;
+ font-size: 12px;
+ text-align: center;
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ #gradient > .vertical(#149bdf, #0480be);
+ .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
+ .box-sizing(border-box);
+ .transition(width .6s ease);
+}
+.progress .bar + .bar {
+ .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)");
+}
+
+// Striped bars
+.progress-striped .bar {
+ #gradient > .striped(#149bdf);
+ .background-size(40px 40px);
+}
+
+// Call animation for the active one
+.progress.active .bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -moz-animation: progress-bar-stripes 2s linear infinite;
+ -ms-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+
+
+
+// COLORS
+// ------
+
+// Danger (red)
+.progress-danger .bar, .progress .bar-danger {
+ #gradient > .vertical(#ee5f5b, #c43c35);
+}
+.progress-danger.progress-striped .bar, .progress-striped .bar-danger {
+ #gradient > .striped(#ee5f5b);
+}
+
+// Success (green)
+.progress-success .bar, .progress .bar-success {
+ #gradient > .vertical(#62c462, #57a957);
+}
+.progress-success.progress-striped .bar, .progress-striped .bar-success {
+ #gradient > .striped(#62c462);
+}
+
+// Info (teal)
+.progress-info .bar, .progress .bar-info {
+ #gradient > .vertical(#5bc0de, #339bb9);
+}
+.progress-info.progress-striped .bar, .progress-striped .bar-info {
+ #gradient > .striped(#5bc0de);
+}
+
+// Warning (orange)
+.progress-warning .bar, .progress .bar-warning {
+ #gradient > .vertical(lighten(@orange, 15%), @orange);
+}
+.progress-warning.progress-striped .bar, .progress-striped .bar-warning {
+ #gradient > .striped(lighten(@orange, 15%));
+}
--- /dev/null
+//
+// Reset CSS
+// Adapted from http://github.com/necolas/normalize.css
+// --------------------------------------------------
+
+
+// Display in IE6-9 and FF3
+// -------------------------
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+ display: block;
+}
+
+// Display block in IE6-9 and FF3
+// -------------------------
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+// Prevents modern browsers from displaying 'audio' without controls
+// -------------------------
+
+audio:not([controls]) {
+ display: none;
+}
+
+// Base settings
+// -------------------------
+
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+// Focus states
+a:focus {
+ .tab-focus();
+}
+// Hover & Active
+a:hover,
+a:active {
+ outline: 0;
+}
+
+// Prevents sub and sup affecting line-height in all browsers
+// -------------------------
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+
+// Img border in a's and image quality
+// -------------------------
+
+img {
+ /* Responsive images (ensure images don't scale beyond their parents) */
+ max-width: 100%; /* Part 1: Set a maximum relative to the parent */
+ width: auto\9; /* IE7-8 need help adjusting responsive images */
+ height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */
+
+ vertical-align: middle;
+ border: 0;
+ -ms-interpolation-mode: bicubic;
+}
+
+// Prevent max-width from affecting Google Maps
+#map_canvas img,
+.google-maps img {
+ max-width: none;
+}
+
+// Forms
+// -------------------------
+
+// Font size in all browsers, margin changes, misc consistency
+button,
+input,
+select,
+textarea {
+ margin: 0;
+ font-size: 100%;
+ vertical-align: middle;
+}
+button,
+input {
+ *overflow: visible; // Inner spacing ie IE6/7
+ line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
+ padding: 0;
+ border: 0;
+}
+button,
+html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS.
+ cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
+}
+label,
+select,
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"],
+input[type="radio"],
+input[type="checkbox"] {
+ cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
+}
+input[type="search"] { // Appearance in Safari/Chrome
+ .box-sizing(content-box);
+ -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
+}
+textarea {
+ overflow: auto; // Remove vertical scrollbar in IE6-9
+ vertical-align: top; // Readability and alignment cross-browser
+}
+
+
+// Printing
+// -------------------------
+// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
+
+@media print {
+
+ * {
+ text-shadow: none !important;
+ color: #000 !important; // Black prints faster: h5bp.com/s
+ background: transparent !important;
+ box-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+
+ // Don't show links for images, or javascript/internal links
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group; // h5bp.com/t
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ @page {
+ margin: 0.5cm;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
--- /dev/null
+//
+// Responsive: Large desktop and up
+// --------------------------------------------------
+
+
+@media (min-width: 1200px) {
+
+ // Fixed grid
+ #grid > .core(@gridColumnWidth1200, @gridGutterWidth1200);
+
+ // Fluid grid
+ #grid > .fluid(@fluidGridColumnWidth1200, @fluidGridGutterWidth1200);
+
+ // Input grid
+ #grid > .input(@gridColumnWidth1200, @gridGutterWidth1200);
+
+ // Thumbnails
+ .thumbnails {
+ margin-left: -@gridGutterWidth1200;
+ }
+ .thumbnails > li {
+ margin-left: @gridGutterWidth1200;
+ }
+ .row-fluid .thumbnails {
+ margin-left: 0;
+ }
+
+}
--- /dev/null
+//
+// Responsive: Landscape phone to desktop/tablet
+// --------------------------------------------------
+
+
+@media (max-width: 767px) {
+
+ // Padding to set content in a bit
+ body {
+ padding-left: 20px;
+ padding-right: 20px;
+ }
+ // Negative indent the now static "fixed" navbar
+ .navbar-fixed-top,
+ .navbar-fixed-bottom,
+ .navbar-static-top {
+ margin-left: -20px;
+ margin-right: -20px;
+ }
+ // Remove padding on container given explicit padding set on body
+ .container-fluid {
+ padding: 0;
+ }
+
+ // TYPOGRAPHY
+ // ----------
+ // Reset horizontal dl
+ .dl-horizontal {
+ dt {
+ float: none;
+ clear: none;
+ width: auto;
+ text-align: left;
+ }
+ dd {
+ margin-left: 0;
+ }
+ }
+
+ // GRID & CONTAINERS
+ // -----------------
+ // Remove width from containers
+ .container {
+ width: auto;
+ }
+ // Fluid rows
+ .row-fluid {
+ width: 100%;
+ }
+ // Undo negative margin on rows and thumbnails
+ .row,
+ .thumbnails {
+ margin-left: 0;
+ }
+ .thumbnails > li {
+ float: none;
+ margin-left: 0; // Reset the default margin for all li elements when no .span* classes are present
+ }
+ // Make all grid-sized elements block level again
+ [class*="span"],
+ .uneditable-input[class*="span"], // Makes uneditable inputs full-width when using grid sizing
+ .row-fluid [class*="span"] {
+ float: none;
+ display: block;
+ width: 100%;
+ margin-left: 0;
+ .box-sizing(border-box);
+ }
+ .span12,
+ .row-fluid .span12 {
+ width: 100%;
+ .box-sizing(border-box);
+ }
+ .row-fluid [class*="offset"]:first-child {
+ margin-left: 0;
+ }
+
+ // FORM FIELDS
+ // -----------
+ // Make span* classes full width
+ .input-large,
+ .input-xlarge,
+ .input-xxlarge,
+ input[class*="span"],
+ select[class*="span"],
+ textarea[class*="span"],
+ .uneditable-input {
+ .input-block-level();
+ }
+ // But don't let it screw up prepend/append inputs
+ .input-prepend input,
+ .input-append input,
+ .input-prepend input[class*="span"],
+ .input-append input[class*="span"] {
+ display: inline-block; // redeclare so they don't wrap to new lines
+ width: auto;
+ }
+ .controls-row [class*="span"] + [class*="span"] {
+ margin-left: 0;
+ }
+
+ // Modals
+ .modal {
+ position: fixed;
+ top: 20px;
+ left: 20px;
+ right: 20px;
+ width: auto;
+ margin: 0;
+ &.fade { top: -100px; }
+ &.fade.in { top: 20px; }
+ }
+
+}
+
+
+
+// UP TO LANDSCAPE PHONE
+// ---------------------
+
+@media (max-width: 480px) {
+
+ // Smooth out the collapsing/expanding nav
+ .nav-collapse {
+ -webkit-transform: translate3d(0, 0, 0); // activate the GPU
+ }
+
+ // Block level the page header small tag for readability
+ .page-header h1 small {
+ display: block;
+ line-height: @baseLineHeight;
+ }
+
+ // Update checkboxes for iOS
+ input[type="checkbox"],
+ input[type="radio"] {
+ border: 1px solid #ccc;
+ }
+
+ // Remove the horizontal form styles
+ .form-horizontal {
+ .control-label {
+ float: none;
+ width: auto;
+ padding-top: 0;
+ text-align: left;
+ }
+ // Move over all input controls and content
+ .controls {
+ margin-left: 0;
+ }
+ // Move the options list down to align with labels
+ .control-list {
+ padding-top: 0; // has to be padding because margin collaspes
+ }
+ // Move over buttons in .form-actions to align with .controls
+ .form-actions {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+ }
+
+ // Medias
+ // Reset float and spacing to stack
+ .media .pull-left,
+ .media .pull-right {
+ float: none;
+ display: block;
+ margin-bottom: 10px;
+ }
+ // Remove side margins since we stack instead of indent
+ .media-object {
+ margin-right: 0;
+ margin-left: 0;
+ }
+
+ // Modals
+ .modal {
+ top: 10px;
+ left: 10px;
+ right: 10px;
+ }
+ .modal-header .close {
+ padding: 10px;
+ margin: -10px;
+ }
+
+ // Carousel
+ .carousel-caption {
+ position: static;
+ }
+
+}
--- /dev/null
+//
+// Responsive: Tablet to desktop
+// --------------------------------------------------
+
+
+@media (min-width: 768px) and (max-width: 979px) {
+
+ // Fixed grid
+ #grid > .core(@gridColumnWidth768, @gridGutterWidth768);
+
+ // Fluid grid
+ #grid > .fluid(@fluidGridColumnWidth768, @fluidGridGutterWidth768);
+
+ // Input grid
+ #grid > .input(@gridColumnWidth768, @gridGutterWidth768);
+
+ // No need to reset .thumbnails here since it's the same @gridGutterWidth
+
+}
--- /dev/null
+//
+// Responsive: Navbar
+// --------------------------------------------------
+
+
+// TABLETS AND BELOW
+// -----------------
+@media (max-width: @navbarCollapseWidth) {
+
+ // UNFIX THE TOPBAR
+ // ----------------
+ // Remove any padding from the body
+ body {
+ padding-top: 0;
+ }
+ // Unfix the navbars
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ position: static;
+ }
+ .navbar-fixed-top {
+ margin-bottom: @baseLineHeight;
+ }
+ .navbar-fixed-bottom {
+ margin-top: @baseLineHeight;
+ }
+ .navbar-fixed-top .navbar-inner,
+ .navbar-fixed-bottom .navbar-inner {
+ padding: 5px;
+ }
+ .navbar .container {
+ width: auto;
+ padding: 0;
+ }
+ // Account for brand name
+ .navbar .brand {
+ padding-left: 10px;
+ padding-right: 10px;
+ margin: 0 0 0 -5px;
+ }
+
+ // COLLAPSIBLE NAVBAR
+ // ------------------
+ // Nav collapse clears brand
+ .nav-collapse {
+ clear: both;
+ }
+ // Block-level the nav
+ .nav-collapse .nav {
+ float: none;
+ margin: 0 0 (@baseLineHeight / 2);
+ }
+ .nav-collapse .nav > li {
+ float: none;
+ }
+ .nav-collapse .nav > li > a {
+ margin-bottom: 2px;
+ }
+ .nav-collapse .nav > .divider-vertical {
+ display: none;
+ }
+ .nav-collapse .nav .nav-header {
+ color: @navbarText;
+ text-shadow: none;
+ }
+ // Nav and dropdown links in navbar
+ .nav-collapse .nav > li > a,
+ .nav-collapse .dropdown-menu a {
+ padding: 9px 15px;
+ font-weight: bold;
+ color: @navbarLinkColor;
+ .border-radius(3px);
+ }
+ // Buttons
+ .nav-collapse .btn {
+ padding: 4px 10px 4px;
+ font-weight: normal;
+ .border-radius(@baseBorderRadius);
+ }
+ .nav-collapse .dropdown-menu li + li a {
+ margin-bottom: 2px;
+ }
+ .nav-collapse .nav > li > a:hover,
+ .nav-collapse .nav > li > a:focus,
+ .nav-collapse .dropdown-menu a:hover,
+ .nav-collapse .dropdown-menu a:focus {
+ background-color: @navbarBackground;
+ }
+ .navbar-inverse .nav-collapse .nav > li > a,
+ .navbar-inverse .nav-collapse .dropdown-menu a {
+ color: @navbarInverseLinkColor;
+ }
+ .navbar-inverse .nav-collapse .nav > li > a:hover,
+ .navbar-inverse .nav-collapse .nav > li > a:focus,
+ .navbar-inverse .nav-collapse .dropdown-menu a:hover,
+ .navbar-inverse .nav-collapse .dropdown-menu a:focus {
+ background-color: @navbarInverseBackground;
+ }
+ // Buttons in the navbar
+ .nav-collapse.in .btn-group {
+ margin-top: 5px;
+ padding: 0;
+ }
+ // Dropdowns in the navbar
+ .nav-collapse .dropdown-menu {
+ position: static;
+ top: auto;
+ left: auto;
+ float: none;
+ display: none;
+ max-width: none;
+ margin: 0 15px;
+ padding: 0;
+ background-color: transparent;
+ border: none;
+ .border-radius(0);
+ .box-shadow(none);
+ }
+ .nav-collapse .open > .dropdown-menu {
+ display: block;
+ }
+
+ .nav-collapse .dropdown-menu:before,
+ .nav-collapse .dropdown-menu:after {
+ display: none;
+ }
+ .nav-collapse .dropdown-menu .divider {
+ display: none;
+ }
+ .nav-collapse .nav > li > .dropdown-menu {
+ &:before,
+ &:after {
+ display: none;
+ }
+ }
+ // Forms in navbar
+ .nav-collapse .navbar-form,
+ .nav-collapse .navbar-search {
+ float: none;
+ padding: (@baseLineHeight / 2) 15px;
+ margin: (@baseLineHeight / 2) 0;
+ border-top: 1px solid @navbarBackground;
+ border-bottom: 1px solid @navbarBackground;
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
+ }
+ .navbar-inverse .nav-collapse .navbar-form,
+ .navbar-inverse .nav-collapse .navbar-search {
+ border-top-color: @navbarInverseBackground;
+ border-bottom-color: @navbarInverseBackground;
+ }
+ // Pull right (secondary) nav content
+ .navbar .nav-collapse .nav.pull-right {
+ float: none;
+ margin-left: 0;
+ }
+ // Hide everything in the navbar save .brand and toggle button */
+ .nav-collapse,
+ .nav-collapse.collapse {
+ overflow: hidden;
+ height: 0;
+ }
+ // Navbar button
+ .navbar .btn-navbar {
+ display: block;
+ }
+
+ // STATIC NAVBAR
+ // -------------
+ .navbar-static .navbar-inner {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+
+
+}
+
+
+// DEFAULT DESKTOP
+// ---------------
+
+@media (min-width: @navbarCollapseDesktopWidth) {
+
+ // Required to make the collapsing navbar work on regular desktops
+ .nav-collapse.collapse {
+ height: auto !important;
+ overflow: visible !important;
+ }
+
+}
--- /dev/null
+//
+// Responsive: Utility classes
+// --------------------------------------------------
+
+
+// IE10 Metro responsive
+// Required for Windows 8 Metro split-screen snapping with IE10
+// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
+@-ms-viewport{
+ width: device-width;
+}
+
+// Hide from screenreaders and browsers
+// Credit: HTML5 Boilerplate
+.hidden {
+ display: none;
+ visibility: hidden;
+}
+
+// Visibility utilities
+
+// For desktops
+.visible-phone { display: none !important; }
+.visible-tablet { display: none !important; }
+.hidden-phone { }
+.hidden-tablet { }
+.hidden-desktop { display: none !important; }
+.visible-desktop { display: inherit !important; }
+
+// Tablets & small desktops only
+@media (min-width: 768px) and (max-width: 979px) {
+ // Hide everything else
+ .hidden-desktop { display: inherit !important; }
+ .visible-desktop { display: none !important ; }
+ // Show
+ .visible-tablet { display: inherit !important; }
+ // Hide
+ .hidden-tablet { display: none !important; }
+}
+
+// Phones only
+@media (max-width: 767px) {
+ // Hide everything else
+ .hidden-desktop { display: inherit !important; }
+ .visible-desktop { display: none !important; }
+ // Show
+ .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior
+ // Hide
+ .hidden-phone { display: none !important; }
+}
+
+// Print utilities
+.visible-print { display: none !important; }
+.hidden-print { }
+
+@media print {
+ .visible-print { display: inherit !important; }
+ .hidden-print { display: none !important; }
+}
--- /dev/null
+/*!
+ * Bootstrap Responsive v2.3.1
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+
+
+// Responsive.less
+// For phone and tablet devices
+// -------------------------------------------------------------
+
+
+// REPEAT VARIABLES & MIXINS
+// -------------------------
+// Required since we compile the responsive stuff separately
+
+@import "variables.less"; // Modify this for custom colors, font-sizes, etc
+@import "mixins.less";
+
+
+// RESPONSIVE CLASSES
+// ------------------
+
+@import "responsive-utilities.less";
+
+
+// MEDIA QUERIES
+// ------------------
+
+// Large desktops
+@import "responsive-1200px-min.less";
+
+// Tablets to regular desktops
+@import "responsive-768px-979px.less";
+
+// Phones to portrait tablets and narrow desktops
+@import "responsive-767px-max.less";
+
+
+// RESPONSIVE NAVBAR
+// ------------------
+
+// From 979px and below, show a button to toggle navbar contents
+@import "responsive-navbar.less";
--- /dev/null
+//
+// Scaffolding
+// --------------------------------------------------
+
+
+// Body reset
+// -------------------------
+
+body {
+ margin: 0;
+ font-family: @baseFontFamily;
+ font-size: @baseFontSize;
+ line-height: @baseLineHeight;
+ color: @textColor;
+ background-color: @bodyBackground;
+}
+
+
+// Links
+// -------------------------
+
+a {
+ color: @linkColor;
+ text-decoration: none;
+}
+a:hover,
+a:focus {
+ color: @linkColorHover;
+ text-decoration: underline;
+}
+
+
+// Images
+// -------------------------
+
+// Rounded corners
+.img-rounded {
+ .border-radius(6px);
+}
+
+// Add polaroid-esque trim
+.img-polaroid {
+ padding: 4px;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0,0,0,.2);
+ .box-shadow(0 1px 3px rgba(0,0,0,.1));
+}
+
+// Perfect circle
+.img-circle {
+ .border-radius(500px); // crank the border-radius so it works with most reasonably sized images
+}
--- /dev/null
+//
+// Sprites
+// --------------------------------------------------
+
+
+// ICONS
+// -----
+
+// All icons receive the styles of the <i> tag with a base class
+// of .i and are then given a unique class to add width, height,
+// and background-position. Your resulting HTML will look like
+// <i class="icon-inbox"></i>.
+
+// For the white version of the icons, just add the .icon-white class:
+// <i class="icon-inbox icon-white"></i>
+
+[class^="icon-"],
+[class*=" icon-"] {
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ .ie7-restore-right-whitespace();
+ line-height: 14px;
+ vertical-align: text-top;
+ background-image: url("@{iconSpritePath}");
+ background-position: 14px 14px;
+ background-repeat: no-repeat;
+ margin-top: 1px;
+}
+
+/* White icons with optional class, or on hover/focus/active states of certain elements */
+.icon-white,
+.nav-pills > .active > a > [class^="icon-"],
+.nav-pills > .active > a > [class*=" icon-"],
+.nav-list > .active > a > [class^="icon-"],
+.nav-list > .active > a > [class*=" icon-"],
+.navbar-inverse .nav > .active > a > [class^="icon-"],
+.navbar-inverse .nav > .active > a > [class*=" icon-"],
+.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:focus > [class^="icon-"],
+.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > li > a:focus > [class*=" icon-"],
+.dropdown-menu > .active > a > [class^="icon-"],
+.dropdown-menu > .active > a > [class*=" icon-"],
+.dropdown-submenu:hover > a > [class^="icon-"],
+.dropdown-submenu:focus > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"],
+.dropdown-submenu:focus > a > [class*=" icon-"] {
+ background-image: url("@{iconWhiteSpritePath}");
+}
+
+.icon-glass { background-position: 0 0; }
+.icon-music { background-position: -24px 0; }
+.icon-search { background-position: -48px 0; }
+.icon-envelope { background-position: -72px 0; }
+.icon-heart { background-position: -96px 0; }
+.icon-star { background-position: -120px 0; }
+.icon-star-empty { background-position: -144px 0; }
+.icon-user { background-position: -168px 0; }
+.icon-film { background-position: -192px 0; }
+.icon-th-large { background-position: -216px 0; }
+.icon-th { background-position: -240px 0; }
+.icon-th-list { background-position: -264px 0; }
+.icon-ok { background-position: -288px 0; }
+.icon-remove { background-position: -312px 0; }
+.icon-zoom-in { background-position: -336px 0; }
+.icon-zoom-out { background-position: -360px 0; }
+.icon-off { background-position: -384px 0; }
+.icon-signal { background-position: -408px 0; }
+.icon-cog { background-position: -432px 0; }
+.icon-trash { background-position: -456px 0; }
+
+.icon-home { background-position: 0 -24px; }
+.icon-file { background-position: -24px -24px; }
+.icon-time { background-position: -48px -24px; }
+.icon-road { background-position: -72px -24px; }
+.icon-download-alt { background-position: -96px -24px; }
+.icon-download { background-position: -120px -24px; }
+.icon-upload { background-position: -144px -24px; }
+.icon-inbox { background-position: -168px -24px; }
+.icon-play-circle { background-position: -192px -24px; }
+.icon-repeat { background-position: -216px -24px; }
+.icon-refresh { background-position: -240px -24px; }
+.icon-list-alt { background-position: -264px -24px; }
+.icon-lock { background-position: -287px -24px; } // 1px off
+.icon-flag { background-position: -312px -24px; }
+.icon-headphones { background-position: -336px -24px; }
+.icon-volume-off { background-position: -360px -24px; }
+.icon-volume-down { background-position: -384px -24px; }
+.icon-volume-up { background-position: -408px -24px; }
+.icon-qrcode { background-position: -432px -24px; }
+.icon-barcode { background-position: -456px -24px; }
+
+.icon-tag { background-position: 0 -48px; }
+.icon-tags { background-position: -25px -48px; } // 1px off
+.icon-book { background-position: -48px -48px; }
+.icon-bookmark { background-position: -72px -48px; }
+.icon-print { background-position: -96px -48px; }
+.icon-camera { background-position: -120px -48px; }
+.icon-font { background-position: -144px -48px; }
+.icon-bold { background-position: -167px -48px; } // 1px off
+.icon-italic { background-position: -192px -48px; }
+.icon-text-height { background-position: -216px -48px; }
+.icon-text-width { background-position: -240px -48px; }
+.icon-align-left { background-position: -264px -48px; }
+.icon-align-center { background-position: -288px -48px; }
+.icon-align-right { background-position: -312px -48px; }
+.icon-align-justify { background-position: -336px -48px; }
+.icon-list { background-position: -360px -48px; }
+.icon-indent-left { background-position: -384px -48px; }
+.icon-indent-right { background-position: -408px -48px; }
+.icon-facetime-video { background-position: -432px -48px; }
+.icon-picture { background-position: -456px -48px; }
+
+.icon-pencil { background-position: 0 -72px; }
+.icon-map-marker { background-position: -24px -72px; }
+.icon-adjust { background-position: -48px -72px; }
+.icon-tint { background-position: -72px -72px; }
+.icon-edit { background-position: -96px -72px; }
+.icon-share { background-position: -120px -72px; }
+.icon-check { background-position: -144px -72px; }
+.icon-move { background-position: -168px -72px; }
+.icon-step-backward { background-position: -192px -72px; }
+.icon-fast-backward { background-position: -216px -72px; }
+.icon-backward { background-position: -240px -72px; }
+.icon-play { background-position: -264px -72px; }
+.icon-pause { background-position: -288px -72px; }
+.icon-stop { background-position: -312px -72px; }
+.icon-forward { background-position: -336px -72px; }
+.icon-fast-forward { background-position: -360px -72px; }
+.icon-step-forward { background-position: -384px -72px; }
+.icon-eject { background-position: -408px -72px; }
+.icon-chevron-left { background-position: -432px -72px; }
+.icon-chevron-right { background-position: -456px -72px; }
+
+.icon-plus-sign { background-position: 0 -96px; }
+.icon-minus-sign { background-position: -24px -96px; }
+.icon-remove-sign { background-position: -48px -96px; }
+.icon-ok-sign { background-position: -72px -96px; }
+.icon-question-sign { background-position: -96px -96px; }
+.icon-info-sign { background-position: -120px -96px; }
+.icon-screenshot { background-position: -144px -96px; }
+.icon-remove-circle { background-position: -168px -96px; }
+.icon-ok-circle { background-position: -192px -96px; }
+.icon-ban-circle { background-position: -216px -96px; }
+.icon-arrow-left { background-position: -240px -96px; }
+.icon-arrow-right { background-position: -264px -96px; }
+.icon-arrow-up { background-position: -289px -96px; } // 1px off
+.icon-arrow-down { background-position: -312px -96px; }
+.icon-share-alt { background-position: -336px -96px; }
+.icon-resize-full { background-position: -360px -96px; }
+.icon-resize-small { background-position: -384px -96px; }
+.icon-plus { background-position: -408px -96px; }
+.icon-minus { background-position: -433px -96px; }
+.icon-asterisk { background-position: -456px -96px; }
+
+.icon-exclamation-sign { background-position: 0 -120px; }
+.icon-gift { background-position: -24px -120px; }
+.icon-leaf { background-position: -48px -120px; }
+.icon-fire { background-position: -72px -120px; }
+.icon-eye-open { background-position: -96px -120px; }
+.icon-eye-close { background-position: -120px -120px; }
+.icon-warning-sign { background-position: -144px -120px; }
+.icon-plane { background-position: -168px -120px; }
+.icon-calendar { background-position: -192px -120px; }
+.icon-random { background-position: -216px -120px; width: 16px; }
+.icon-comment { background-position: -240px -120px; }
+.icon-magnet { background-position: -264px -120px; }
+.icon-chevron-up { background-position: -288px -120px; }
+.icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off
+.icon-retweet { background-position: -336px -120px; }
+.icon-shopping-cart { background-position: -360px -120px; }
+.icon-folder-close { background-position: -384px -120px; width: 16px; }
+.icon-folder-open { background-position: -408px -120px; width: 16px; }
+.icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off
+.icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off
+
+.icon-hdd { background-position: 0 -144px; }
+.icon-bullhorn { background-position: -24px -144px; }
+.icon-bell { background-position: -48px -144px; }
+.icon-certificate { background-position: -72px -144px; }
+.icon-thumbs-up { background-position: -96px -144px; }
+.icon-thumbs-down { background-position: -120px -144px; }
+.icon-hand-right { background-position: -144px -144px; }
+.icon-hand-left { background-position: -168px -144px; }
+.icon-hand-up { background-position: -192px -144px; }
+.icon-hand-down { background-position: -216px -144px; }
+.icon-circle-arrow-right { background-position: -240px -144px; }
+.icon-circle-arrow-left { background-position: -264px -144px; }
+.icon-circle-arrow-up { background-position: -288px -144px; }
+.icon-circle-arrow-down { background-position: -312px -144px; }
+.icon-globe { background-position: -336px -144px; }
+.icon-wrench { background-position: -360px -144px; }
+.icon-tasks { background-position: -384px -144px; }
+.icon-filter { background-position: -408px -144px; }
+.icon-briefcase { background-position: -432px -144px; }
+.icon-fullscreen { background-position: -456px -144px; }
--- /dev/null
+//
+// Tables
+// --------------------------------------------------
+
+
+// BASE TABLES
+// -----------------
+
+table {
+ max-width: 100%;
+ background-color: @tableBackground;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+// BASELINE STYLES
+// ---------------
+
+.table {
+ width: 100%;
+ margin-bottom: @baseLineHeight;
+ // Cells
+ th,
+ td {
+ padding: 8px;
+ line-height: @baseLineHeight;
+ text-align: left;
+ vertical-align: top;
+ border-top: 1px solid @tableBorder;
+ }
+ th {
+ font-weight: bold;
+ }
+ // Bottom align for column headings
+ thead th {
+ vertical-align: bottom;
+ }
+ // Remove top border from thead by default
+ caption + thead tr:first-child th,
+ caption + thead tr:first-child td,
+ colgroup + thead tr:first-child th,
+ colgroup + thead tr:first-child td,
+ thead:first-child tr:first-child th,
+ thead:first-child tr:first-child td {
+ border-top: 0;
+ }
+ // Account for multiple tbody instances
+ tbody + tbody {
+ border-top: 2px solid @tableBorder;
+ }
+
+ // Nesting
+ .table {
+ background-color: @bodyBackground;
+ }
+}
+
+
+
+// CONDENSED TABLE W/ HALF PADDING
+// -------------------------------
+
+.table-condensed {
+ th,
+ td {
+ padding: 4px 5px;
+ }
+}
+
+
+// BORDERED VERSION
+// ----------------
+
+.table-bordered {
+ border: 1px solid @tableBorder;
+ border-collapse: separate; // Done so we can round those corners!
+ *border-collapse: collapse; // IE7 can't round corners anyway
+ border-left: 0;
+ .border-radius(@baseBorderRadius);
+ th,
+ td {
+ border-left: 1px solid @tableBorder;
+ }
+ // Prevent a double border
+ caption + thead tr:first-child th,
+ caption + tbody tr:first-child th,
+ caption + tbody tr:first-child td,
+ colgroup + thead tr:first-child th,
+ colgroup + tbody tr:first-child th,
+ colgroup + tbody tr:first-child td,
+ thead:first-child tr:first-child th,
+ tbody:first-child tr:first-child th,
+ tbody:first-child tr:first-child td {
+ border-top: 0;
+ }
+ // For first th/td in the first row in the first thead or tbody
+ thead:first-child tr:first-child > th:first-child,
+ tbody:first-child tr:first-child > td:first-child,
+ tbody:first-child tr:first-child > th:first-child {
+ .border-top-left-radius(@baseBorderRadius);
+ }
+ // For last th/td in the first row in the first thead or tbody
+ thead:first-child tr:first-child > th:last-child,
+ tbody:first-child tr:first-child > td:last-child,
+ tbody:first-child tr:first-child > th:last-child {
+ .border-top-right-radius(@baseBorderRadius);
+ }
+ // For first th/td (can be either) in the last row in the last thead, tbody, and tfoot
+ thead:last-child tr:last-child > th:first-child,
+ tbody:last-child tr:last-child > td:first-child,
+ tbody:last-child tr:last-child > th:first-child,
+ tfoot:last-child tr:last-child > td:first-child,
+ tfoot:last-child tr:last-child > th:first-child {
+ .border-bottom-left-radius(@baseBorderRadius);
+ }
+ // For last th/td (can be either) in the last row in the last thead, tbody, and tfoot
+ thead:last-child tr:last-child > th:last-child,
+ tbody:last-child tr:last-child > td:last-child,
+ tbody:last-child tr:last-child > th:last-child,
+ tfoot:last-child tr:last-child > td:last-child,
+ tfoot:last-child tr:last-child > th:last-child {
+ .border-bottom-right-radius(@baseBorderRadius);
+ }
+
+ // Clear border-radius for first and last td in the last row in the last tbody for table with tfoot
+ tfoot + tbody:last-child tr:last-child td:first-child {
+ .border-bottom-left-radius(0);
+ }
+ tfoot + tbody:last-child tr:last-child td:last-child {
+ .border-bottom-right-radius(0);
+ }
+
+ // Special fixes to round the left border on the first td/th
+ caption + thead tr:first-child th:first-child,
+ caption + tbody tr:first-child td:first-child,
+ colgroup + thead tr:first-child th:first-child,
+ colgroup + tbody tr:first-child td:first-child {
+ .border-top-left-radius(@baseBorderRadius);
+ }
+ caption + thead tr:first-child th:last-child,
+ caption + tbody tr:first-child td:last-child,
+ colgroup + thead tr:first-child th:last-child,
+ colgroup + tbody tr:first-child td:last-child {
+ .border-top-right-radius(@baseBorderRadius);
+ }
+
+}
+
+
+
+
+// ZEBRA-STRIPING
+// --------------
+
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+.table-striped {
+ tbody {
+ > tr:nth-child(odd) > td,
+ > tr:nth-child(odd) > th {
+ background-color: @tableBackgroundAccent;
+ }
+ }
+}
+
+
+// HOVER EFFECT
+// ------------
+// Placed here since it has to come after the potential zebra striping
+.table-hover {
+ tbody {
+ tr:hover > td,
+ tr:hover > th {
+ background-color: @tableBackgroundHover;
+ }
+ }
+}
+
+
+// TABLE CELL SIZING
+// -----------------
+
+// Reset default grid behavior
+table td[class*="span"],
+table th[class*="span"],
+.row-fluid table td[class*="span"],
+.row-fluid table th[class*="span"] {
+ display: table-cell;
+ float: none; // undo default grid column styles
+ margin-left: 0; // undo default grid column styles
+}
+
+// Change the column widths to account for td/th padding
+.table td,
+.table th {
+ &.span1 { .tableColumns(1); }
+ &.span2 { .tableColumns(2); }
+ &.span3 { .tableColumns(3); }
+ &.span4 { .tableColumns(4); }
+ &.span5 { .tableColumns(5); }
+ &.span6 { .tableColumns(6); }
+ &.span7 { .tableColumns(7); }
+ &.span8 { .tableColumns(8); }
+ &.span9 { .tableColumns(9); }
+ &.span10 { .tableColumns(10); }
+ &.span11 { .tableColumns(11); }
+ &.span12 { .tableColumns(12); }
+}
+
+
+
+// TABLE BACKGROUNDS
+// -----------------
+// Exact selectors below required to override .table-striped
+
+.table tbody tr {
+ &.success > td {
+ background-color: @successBackground;
+ }
+ &.error > td {
+ background-color: @errorBackground;
+ }
+ &.warning > td {
+ background-color: @warningBackground;
+ }
+ &.info > td {
+ background-color: @infoBackground;
+ }
+}
+
+// Hover states for .table-hover
+.table-hover tbody tr {
+ &.success:hover > td {
+ background-color: darken(@successBackground, 5%);
+ }
+ &.error:hover > td {
+ background-color: darken(@errorBackground, 5%);
+ }
+ &.warning:hover > td {
+ background-color: darken(@warningBackground, 5%);
+ }
+ &.info:hover > td {
+ background-color: darken(@infoBackground, 5%);
+ }
+}
--- /dev/null
+//
+// Thumbnails
+// --------------------------------------------------
+
+
+// Note: `.thumbnails` and `.thumbnails > li` are overridden in responsive files
+
+// Make wrapper ul behave like the grid
+.thumbnails {
+ margin-left: -@gridGutterWidth;
+ list-style: none;
+ .clearfix();
+}
+// Fluid rows have no left margin
+.row-fluid .thumbnails {
+ margin-left: 0;
+}
+
+// Float li to make thumbnails appear in a row
+.thumbnails > li {
+ float: left; // Explicitly set the float since we don't require .span* classes
+ margin-bottom: @baseLineHeight;
+ margin-left: @gridGutterWidth;
+}
+
+// The actual thumbnail (can be `a` or `div`)
+.thumbnail {
+ display: block;
+ padding: 4px;
+ line-height: @baseLineHeight;
+ border: 1px solid #ddd;
+ .border-radius(@baseBorderRadius);
+ .box-shadow(0 1px 3px rgba(0,0,0,.055));
+ .transition(all .2s ease-in-out);
+}
+// Add a hover/focus state for linked versions only
+a.thumbnail:hover,
+a.thumbnail:focus {
+ border-color: @linkColor;
+ .box-shadow(0 1px 4px rgba(0,105,214,.25));
+}
+
+// Images and captions
+.thumbnail > img {
+ display: block;
+ max-width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+.thumbnail .caption {
+ padding: 9px;
+ color: @gray;
+}
--- /dev/null
+//
+// Tooltips
+// --------------------------------------------------
+
+
+// Base class
+.tooltip {
+ position: absolute;
+ z-index: @zindexTooltip;
+ display: block;
+ visibility: visible;
+ font-size: 11px;
+ line-height: 1.4;
+ .opacity(0);
+ &.in { .opacity(80); }
+ &.top { margin-top: -3px; padding: 5px 0; }
+ &.right { margin-left: 3px; padding: 0 5px; }
+ &.bottom { margin-top: 3px; padding: 5px 0; }
+ &.left { margin-left: -3px; padding: 0 5px; }
+}
+
+// Wrapper for the tooltip content
+.tooltip-inner {
+ max-width: 200px;
+ padding: 8px;
+ color: @tooltipColor;
+ text-align: center;
+ text-decoration: none;
+ background-color: @tooltipBackground;
+ .border-radius(@baseBorderRadius);
+}
+
+// Arrows
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.tooltip {
+ &.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -@tooltipArrowWidth;
+ border-width: @tooltipArrowWidth @tooltipArrowWidth 0;
+ border-top-color: @tooltipArrowColor;
+ }
+ &.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -@tooltipArrowWidth;
+ border-width: @tooltipArrowWidth @tooltipArrowWidth @tooltipArrowWidth 0;
+ border-right-color: @tooltipArrowColor;
+ }
+ &.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -@tooltipArrowWidth;
+ border-width: @tooltipArrowWidth 0 @tooltipArrowWidth @tooltipArrowWidth;
+ border-left-color: @tooltipArrowColor;
+ }
+ &.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -@tooltipArrowWidth;
+ border-width: 0 @tooltipArrowWidth @tooltipArrowWidth;
+ border-bottom-color: @tooltipArrowColor;
+ }
+}
--- /dev/null
+//
+// Typography
+// --------------------------------------------------
+
+
+// Body text
+// -------------------------
+
+p {
+ margin: 0 0 @baseLineHeight / 2;
+}
+.lead {
+ margin-bottom: @baseLineHeight;
+ font-size: @baseFontSize * 1.5;
+ font-weight: 200;
+ line-height: @baseLineHeight * 1.5;
+}
+
+
+// Emphasis & misc
+// -------------------------
+
+// Ex: 14px base font * 85% = about 12px
+small { font-size: 85%; }
+
+strong { font-weight: bold; }
+em { font-style: italic; }
+cite { font-style: normal; }
+
+// Utility classes
+.muted { color: @grayLight; }
+a.muted:hover,
+a.muted:focus { color: darken(@grayLight, 10%); }
+
+.text-warning { color: @warningText; }
+a.text-warning:hover,
+a.text-warning:focus { color: darken(@warningText, 10%); }
+
+.text-error { color: @errorText; }
+a.text-error:hover,
+a.text-error:focus { color: darken(@errorText, 10%); }
+
+.text-info { color: @infoText; }
+a.text-info:hover,
+a.text-info:focus { color: darken(@infoText, 10%); }
+
+.text-success { color: @successText; }
+a.text-success:hover,
+a.text-success:focus { color: darken(@successText, 10%); }
+
+.text-left { text-align: left; }
+.text-right { text-align: right; }
+.text-center { text-align: center; }
+
+
+// Headings
+// -------------------------
+
+h1, h2, h3, h4, h5, h6 {
+ margin: (@baseLineHeight / 2) 0;
+ font-family: @headingsFontFamily;
+ font-weight: @headingsFontWeight;
+ line-height: @baseLineHeight;
+ color: @headingsColor;
+ text-rendering: optimizelegibility; // Fix the character spacing for headings
+ small {
+ font-weight: normal;
+ line-height: 1;
+ color: @grayLight;
+ }
+}
+
+h1,
+h2,
+h3 { line-height: @baseLineHeight * 2; }
+
+h1 { font-size: @baseFontSize * 2.75; } // ~38px
+h2 { font-size: @baseFontSize * 2.25; } // ~32px
+h3 { font-size: @baseFontSize * 1.75; } // ~24px
+h4 { font-size: @baseFontSize * 1.25; } // ~18px
+h5 { font-size: @baseFontSize; }
+h6 { font-size: @baseFontSize * 0.85; } // ~12px
+
+h1 small { font-size: @baseFontSize * 1.75; } // ~24px
+h2 small { font-size: @baseFontSize * 1.25; } // ~18px
+h3 small { font-size: @baseFontSize; }
+h4 small { font-size: @baseFontSize; }
+
+
+// Page header
+// -------------------------
+
+.page-header {
+ padding-bottom: (@baseLineHeight / 2) - 1;
+ margin: @baseLineHeight 0 (@baseLineHeight * 1.5);
+ border-bottom: 1px solid @grayLighter;
+}
+
+
+
+// Lists
+// --------------------------------------------------
+
+// Unordered and Ordered lists
+ul, ol {
+ padding: 0;
+ margin: 0 0 @baseLineHeight / 2 25px;
+}
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+ margin-bottom: 0;
+}
+li {
+ line-height: @baseLineHeight;
+}
+
+// Remove default list styles
+ul.unstyled,
+ol.unstyled {
+ margin-left: 0;
+ list-style: none;
+}
+
+// Single-line list items
+ul.inline,
+ol.inline {
+ margin-left: 0;
+ list-style: none;
+ > li {
+ display: inline-block;
+ .ie7-inline-block();
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+}
+
+// Description Lists
+dl {
+ margin-bottom: @baseLineHeight;
+}
+dt,
+dd {
+ line-height: @baseLineHeight;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: @baseLineHeight / 2;
+}
+// Horizontal layout (like forms)
+.dl-horizontal {
+ .clearfix(); // Ensure dl clears floats if empty dd elements present
+ dt {
+ float: left;
+ width: @horizontalComponentOffset - 20;
+ clear: left;
+ text-align: right;
+ .text-overflow();
+ }
+ dd {
+ margin-left: @horizontalComponentOffset;
+ }
+}
+
+// MISC
+// ----
+
+// Horizontal rules
+hr {
+ margin: @baseLineHeight 0;
+ border: 0;
+ border-top: 1px solid @hrBorder;
+ border-bottom: 1px solid @white;
+}
+
+// Abbreviations and acronyms
+abbr[title],
+// Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted @grayLight;
+}
+abbr.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+
+// Blockquotes
+blockquote {
+ padding: 0 0 0 15px;
+ margin: 0 0 @baseLineHeight;
+ border-left: 5px solid @grayLighter;
+ p {
+ margin-bottom: 0;
+ font-size: @baseFontSize * 1.25;
+ font-weight: 300;
+ line-height: 1.25;
+ }
+ small {
+ display: block;
+ line-height: @baseLineHeight;
+ color: @grayLight;
+ &:before {
+ content: '\2014 \00A0';
+ }
+ }
+
+ // Float right with text-align: right
+ &.pull-right {
+ float: right;
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid @grayLighter;
+ border-left: 0;
+ p,
+ small {
+ text-align: right;
+ }
+ small {
+ &:before {
+ content: '';
+ }
+ &:after {
+ content: '\00A0 \2014';
+ }
+ }
+ }
+}
+
+// Quotes
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+
+// Addresses
+address {
+ display: block;
+ margin-bottom: @baseLineHeight;
+ font-style: normal;
+ line-height: @baseLineHeight;
+}
--- /dev/null
+//
+// Utility classes
+// --------------------------------------------------
+
+
+// Quick floats
+.pull-right {
+ float: right;
+}
+.pull-left {
+ float: left;
+}
+
+// Toggling content
+.hide {
+ display: none;
+}
+.show {
+ display: block;
+}
+
+// Visibility
+.invisible {
+ visibility: hidden;
+}
+
+// For Affix plugin
+.affix {
+ position: fixed;
+}
--- /dev/null
+//
+// Variables
+// --------------------------------------------------
+
+
+// Global values
+// --------------------------------------------------
+
+
+// Grays
+// -------------------------
+@black: #000;
+@grayDarker: #222;
+@grayDark: #333;
+@gray: #555;
+@grayLight: #999;
+@grayLighter: #eee;
+@white: #fff;
+
+
+// Accent colors
+// -------------------------
+@blue: #049cdb;
+@blueDark: #0064cd;
+@green: #46a546;
+@red: #9d261d;
+@yellow: #ffc40d;
+@orange: #f89406;
+@pink: #c3325f;
+@purple: #7a43b6;
+
+
+// Scaffolding
+// -------------------------
+@bodyBackground: @white;
+@textColor: @grayDark;
+
+
+// Links
+// -------------------------
+@linkColor: #08c;
+@linkColorHover: darken(@linkColor, 15%);
+
+
+// Typography
+// -------------------------
+@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
+@serifFontFamily: Georgia, "Times New Roman", Times, serif;
+@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
+
+@baseFontSize: 14px;
+@baseFontFamily: @sansFontFamily;
+@baseLineHeight: 20px;
+@altFontFamily: @serifFontFamily;
+
+@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
+@headingsFontWeight: bold; // instead of browser default, bold
+@headingsColor: inherit; // empty to use BS default, @textColor
+
+
+// Component sizing
+// -------------------------
+// Based on 14px font-size and 20px line-height
+
+@fontSizeLarge: @baseFontSize * 1.25; // ~18px
+@fontSizeSmall: @baseFontSize * 0.85; // ~12px
+@fontSizeMini: @baseFontSize * 0.75; // ~11px
+
+@paddingLarge: 11px 19px; // 44px
+@paddingSmall: 2px 10px; // 26px
+@paddingMini: 0 6px; // 22px
+
+@baseBorderRadius: 4px;
+@borderRadiusLarge: 6px;
+@borderRadiusSmall: 3px;
+
+
+// Tables
+// -------------------------
+@tableBackground: transparent; // overall background-color
+@tableBackgroundAccent: #f9f9f9; // for striping
+@tableBackgroundHover: #f5f5f5; // for hover
+@tableBorder: #ddd; // table and cell border
+
+// Buttons
+// -------------------------
+@btnBackground: @white;
+@btnBackgroundHighlight: darken(@white, 10%);
+@btnBorder: #ccc;
+
+@btnPrimaryBackground: @linkColor;
+@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%);
+
+@btnInfoBackground: #5bc0de;
+@btnInfoBackgroundHighlight: #2f96b4;
+
+@btnSuccessBackground: #62c462;
+@btnSuccessBackgroundHighlight: #51a351;
+
+@btnWarningBackground: lighten(@orange, 15%);
+@btnWarningBackgroundHighlight: @orange;
+
+@btnDangerBackground: #ee5f5b;
+@btnDangerBackgroundHighlight: #bd362f;
+
+@btnInverseBackground: #444;
+@btnInverseBackgroundHighlight: @grayDarker;
+
+
+// Forms
+// -------------------------
+@inputBackground: @white;
+@inputBorder: #ccc;
+@inputBorderRadius: @baseBorderRadius;
+@inputDisabledBackground: @grayLighter;
+@formActionsBackground: #f5f5f5;
+@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
+
+
+// Dropdowns
+// -------------------------
+@dropdownBackground: @white;
+@dropdownBorder: rgba(0,0,0,.2);
+@dropdownDividerTop: #e5e5e5;
+@dropdownDividerBottom: @white;
+
+@dropdownLinkColor: @grayDark;
+@dropdownLinkColorHover: @white;
+@dropdownLinkColorActive: @white;
+
+@dropdownLinkBackgroundActive: @linkColor;
+@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
+
+
+
+// COMPONENT VARIABLES
+// --------------------------------------------------
+
+
+// Z-index master list
+// -------------------------
+// Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
+@zindexDropdown: 1000;
+@zindexPopover: 1010;
+@zindexTooltip: 1030;
+@zindexFixedNavbar: 1030;
+@zindexModalBackdrop: 1040;
+@zindexModal: 1050;
+
+
+// Sprite icons path
+// -------------------------
+@iconSpritePath: "../img/glyphicons-halflings.png";
+@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
+
+
+// Input placeholder text color
+// -------------------------
+@placeholderText: @grayLight;
+
+
+// Hr border color
+// -------------------------
+@hrBorder: @grayLighter;
+
+
+// Horizontal forms & lists
+// -------------------------
+@horizontalComponentOffset: 180px;
+
+
+// Wells
+// -------------------------
+@wellBackground: #f5f5f5;
+
+
+// Navbar
+// -------------------------
+@navbarCollapseWidth: 979px;
+@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
+
+@navbarHeight: 40px;
+@navbarBackgroundHighlight: #ffffff;
+@navbarBackground: darken(@navbarBackgroundHighlight, 5%);
+@navbarBorder: darken(@navbarBackground, 12%);
+
+@navbarText: #777;
+@navbarLinkColor: #777;
+@navbarLinkColorHover: @grayDark;
+@navbarLinkColorActive: @gray;
+@navbarLinkBackgroundHover: transparent;
+@navbarLinkBackgroundActive: darken(@navbarBackground, 5%);
+
+@navbarBrandColor: @navbarLinkColor;
+
+// Inverted navbar
+@navbarInverseBackground: #111111;
+@navbarInverseBackgroundHighlight: #222222;
+@navbarInverseBorder: #252525;
+
+@navbarInverseText: @grayLight;
+@navbarInverseLinkColor: @grayLight;
+@navbarInverseLinkColorHover: @white;
+@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
+@navbarInverseLinkBackgroundHover: transparent;
+@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
+
+@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
+@navbarInverseSearchBackgroundFocus: @white;
+@navbarInverseSearchBorder: @navbarInverseBackground;
+@navbarInverseSearchPlaceholderColor: #ccc;
+
+@navbarInverseBrandColor: @navbarInverseLinkColor;
+
+
+// Pagination
+// -------------------------
+@paginationBackground: #fff;
+@paginationBorder: #ddd;
+@paginationActiveBackground: #f5f5f5;
+
+
+// Hero unit
+// -------------------------
+@heroUnitBackground: @grayLighter;
+@heroUnitHeadingColor: inherit;
+@heroUnitLeadColor: inherit;
+
+
+// Form states and alerts
+// -------------------------
+@warningText: #c09853;
+@warningBackground: #fcf8e3;
+@warningBorder: darken(spin(@warningBackground, -10), 3%);
+
+@errorText: #b94a48;
+@errorBackground: #f2dede;
+@errorBorder: darken(spin(@errorBackground, -10), 3%);
+
+@successText: #468847;
+@successBackground: #dff0d8;
+@successBorder: darken(spin(@successBackground, -10), 5%);
+
+@infoText: #3a87ad;
+@infoBackground: #d9edf7;
+@infoBorder: darken(spin(@infoBackground, -10), 7%);
+
+
+// Tooltips and popovers
+// -------------------------
+@tooltipColor: #fff;
+@tooltipBackground: #000;
+@tooltipArrowWidth: 5px;
+@tooltipArrowColor: @tooltipBackground;
+
+@popoverBackground: #fff;
+@popoverArrowWidth: 10px;
+@popoverArrowColor: #fff;
+@popoverTitleBackground: darken(@popoverBackground, 3%);
+
+// Special enhancement for popovers
+@popoverArrowOuterWidth: @popoverArrowWidth + 1;
+@popoverArrowOuterColor: rgba(0,0,0,.25);
+
+
+
+// GRID
+// --------------------------------------------------
+
+
+// Default 940px grid
+// -------------------------
+@gridColumns: 12;
+@gridColumnWidth: 60px;
+@gridGutterWidth: 20px;
+@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
+
+// 1200px min
+@gridColumnWidth1200: 70px;
+@gridGutterWidth1200: 30px;
+@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
+
+// 768px-979px
+@gridColumnWidth768: 42px;
+@gridGutterWidth768: 20px;
+@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
+
+
+// Fluid grid
+// -------------------------
+@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
+@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
+
+// 1200px min
+@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
+@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
+
+// 768px-979px
+@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
+@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
--- /dev/null
+//
+// Wells
+// --------------------------------------------------
+
+
+// Base class
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: @wellBackground;
+ border: 1px solid darken(@wellBackground, 7%);
+ .border-radius(@baseBorderRadius);
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+ blockquote {
+ border-color: #ddd;
+ border-color: rgba(0,0,0,.15);
+ }
+}
+
+// Sizes
+.well-large {
+ padding: 24px;
+ .border-radius(@borderRadiusLarge);
+}
+.well-small {
+ padding: 9px;
+ .border-radius(@borderRadiusSmall);
+}
--- /dev/null
+// spc bootstrap settings
+@import "bootstrap/bootstrap.less";
+@import "bootstrap/responsive.less";
+
+// google webfont
+@import url(https://fonts.googleapis.com/css?family=Open+Sans);
+
+//Typography
+@sansFontFamily: 'Open Sans', sans-serif !important;
+@baseFontSize: 13px;
+@baseLineHeight: 19px;
+
+//Colors
+@blue: #12567D;
+
+//Sprites
+@iconSpritePath: '../../img/glyphicons-halflings.png';
+@iconWhiteSpritePath: '../../img/glyphicons-halflings-white.png';
--- /dev/null
+@import "spc-utils.less";
+@import "bootstrap/variables.less";
+
+.spc-page-title {
+ h1, h2, h3, h4 {
+ font-weight: normal;
+ .underline;
+ }
+}
+
+//tags -- deprecated
+// need to design
+.tags .btn {
+ border: none;
+ font-size: 9.5px;
+ font-weight: bold;
+}
+
+// search item specific settings
+.spc-search-result {
+ &-title {
+ h1, h2, h3, h4 { font-weight: normal; }
+ }
+}
+
+// snippet specific settings
+.spc-snippet-header {
+ margin-bottom: 5px;
+}
+
+.spc-snippet-info {
+ padding-top: 10px;
+
+ .dl-horizontal {
+ margin: 5px;
+ dt { font-weight: normal; }
+ }
+}
+
+.spc-snippet-body {
+ padding: 10px;
+
+ .accordion-group {
+ border: none;
+ }
+
+ .accordion-heading {
+ text-transform: uppercase;
+ font-size: 14px;
+ border-bottom: 1px solid #e5e5e5;
+ }
+
+ .accordion-heading .accordion-toggle {
+ padding-top: 10px;
+ padding-bottom: 5px;
+ }
+}
--- /dev/null
+//spc extend settings
+
+body {
+ background-color: rgb(249,250,245);
+}
+
+.container {
+ width: 80%;
+}
+
+.main {
+ background-color: white;
+ padding: 18px;
+ -moz-box-shadow: 0 0 3px #888;
+ -webkit-box-shadow: 0 0 3px #888;
+ box-shadow: 0 0 3px #888;
+}
+
+@import "spc-header.less";
+@import "spc-content.less";
+@import "spc-rightsidebar.less";
+@import "spc-footer.less";
\ No newline at end of file
--- /dev/null
+@import "bootstrap/variables.less";
+
+//footer-outside
+.footer {
+ padding: 5px;
+ font-size: small;
+}
+
+//footer inside yet to be done (may be not required).
\ No newline at end of file
--- /dev/null
+// settings for
+// 1) .header
+// header block is found on the top of the website
+// spc-navbar, spc-header-searchbar found inside .header
+// 2) .spc-navbar
+// 3) .spc-header-searchbar
+
+@import "spc-utils.less";
+
+.header {
+ .margin(@top: 15px, @bottom: 15px);
+}
+
+.spc-navbar {
+ .margin (@top: 15px, @bottom: 5px);
+ .nav-pills {
+ margin-bottom: 0px;
+ font-size: 12px;
+
+ >li >a {
+ padding-top: 2.5px;
+ padding-bottom: 2.5px;
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+@import "bootstrap/variables.less";
+
+.spc-rightsidebar {
+ color: @gray;
+ .navigation {
+ padding: @paddingSmall;
+ font-size: @fontSizeSmall;
+ }
+ .navigation .nav-title {
+ font-weight: bold;
+ text-transform: uppercase;
+ }
+ .navigation li { margin: 5px; }
+}
\ No newline at end of file
--- /dev/null
+// LESS Utilities for spc
+@import "bootstrap/variables.less";
+
+.padding (@top: 0px, @bottom: 0px, @left: 0px, @right: 0px) {
+ padding-top: @top;
+ padding-bottom: @bottom;
+ padding-left: @left;
+ padding-right: @right;
+}
+
+.margin (@top: 0px, @bottom: 0px, @left: 0px, @right: 0px) {
+ margin-top: @top;
+ margin-bottom: @bottom;
+ margin-left: @left;
+ margin-right:@right;
+}
+
+.underline {
+ border-bottom: 1.5px solid @hrBorder;
+}
--- /dev/null
+/* -*- css -*-
+ *
+ * sphinxdoc.css_t
+ * ~~~~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- sphinxdoc theme. Originally created by
+ * Armin Ronacher for Werkzeug.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+@import url("basic.css");
+
+@import url("css/scipy-central.css");
+
+
+/*
+ * General tweaks
+ */
+
+div.container-navbar-bottom {
+ margin-top: 0;
+}
+
+div.container-navbar-bottom div.spc-navbar {
+ margin-top: 0;
+}
+
+div.spc-navbar {
+ margin: 0;
+}
+
+tt {
+ color: inherit;
+ font: inherit;
+}
+
+tt.literal {
+ font-family: monospace;
+ padding-left: 2px;
+ background-color: rgb(242, 242, 242);
+}
+
+a tt.literal {
+ border: none;
+ background-color: inherit;
+}
+
+tt.xref {
+ font-family: inherit;
+ border: none;
+ background-color: inherit;
+ font-weight: normal;
+ padding-left: 0px;
+}
+
+tt.descname {
+ font-size: 16px;
+}
+
+code {
+ color: inherit;
+ font: inherit;
+ padding: inherit;
+ border: inherit;
+}
+
+code.literal {
+ font-family: monospace;
+ padding-left: 2px;
+ background-color: rgb(242, 242, 242);
+}
+
+a code.literal {
+ border: none;
+ background-color: inherit;
+}
+
+code.xref {
+ font-family: inherit;
+ border-bottom: none;
+ background-color: inherit;
+ padding-left: 0px;
+}
+
+code.descname {
+ font-size: 16px;
+}
+
+dl.class > dt > em {
+ font-weight: normal;
+}
+
+dl.function > dt > em {
+ font-weight: normal;
+}
+
+dl.method > dt > em {
+ font-weight: normal;
+}
+
+pre {
+ border-radius: 0;
+ border: none;
+ font-family: monospace;
+}
+
+
+/*
+ * Field lists
+ */
+
+table.field-list {
+ border-collapse: collapse;
+ border-spacing: 5px;
+ margin-left: 1px;
+ border-left: 5px solid rgb(238, 238, 238) !important;
+}
+
+table.field-list th.field-name {
+ display: inline-block;
+ padding: 1px 8px 1px 5px;
+ white-space: nowrap;
+ background-color: rgb(238, 238, 238);
+}
+
+table.field-list td.field-body {
+ border-left: none !important;
+}
+
+table.field-list td.field-body > p {
+ font-style: italic;
+}
+
+table.field-list td.field-body > p > strong {
+ font-style: normal;
+}
+
+td.field-body blockquote {
+ border-left: none;
+ margin: 0;
+ padding-left: 30px;
+}
+
+td.field-body blockquote p,
+dl.class blockquote p,
+dl.function blockquote p,
+dl.method blockquote p
+{
+ font-family: inherit;
+ font-size: inherit;
+ font-weight: inherit;
+ line-height: inherit;
+}
+
+
+/*
+ * Sidebars and top logo
+ */
+
+div.sphinxsidebarwrapper {
+ overflow: hidden;
+}
+
+div.spc-rightsidebar h3 {
+ font-size: 120%;
+ line-height: inherit;
+ border-bottom: none;
+}
+
+div.spc-rightsidebar h4 {
+ font-size: 120%;
+ line-height: inherit;
+ border-bottom: none;
+}
+
+div.top-scipy-org-logo-header {
+ text-align: left;
+ background-color: rgb(140, 170, 230);
+ border-bottom: 8px solid rgb(0, 51, 153);
+ margin-top: 10px;
+ padding: 5px;
+ box-shadow: 0px 0px 3px rgb(136, 136, 136);
+}
+
+
+/*
+ * Headers
+ */
+
+h1 a { color: rgb(85, 85, 85); }
+h2 a { color: rgb(85, 85, 85); }
+h3 a { color: rgb(85, 85, 85); }
+h4 a { color: rgb(85, 85, 85); }
+h5 a { color: rgb(85, 85, 85); }
+h6 a { color: rgb(85, 85, 85); }
+
+h1 tt { font: inherit; border-bottom: none; }
+h2 tt { font: inherit; border-bottom: none; }
+h3 tt { font: inherit; border-bottom: none; }
+h4 tt { font: inherit; border-bottom: none; }
+h5 tt { font: inherit; border-bottom: none; }
+h6 tt { font: inherit; border-bottom: none; }
+
+h1 code { font: inherit; border: none; background-color: inherit; padding: inherit; }
+h2 code { font: inherit; border: none; background-color: inherit; padding: inherit; }
+h3 code { font: inherit; border: none; background-color: inherit; padding: inherit; }
+h4 code { font: inherit; border: none; background-color: inherit; padding: inherit; }
+h5 code { font: inherit; border: none; background-color: inherit; padding: inherit; }
+h6 code { font: inherit; border: none; background-color: inherit; padding: inherit; }
+
+div#spc-section-body h1 { color: rgb(85, 85, 85); }
+div#spc-section-body h2 { color: rgb(85, 85, 85); }
+div#spc-section-body h3 { color: rgb(85, 85, 85); }
+div#spc-section-body h4 { color: rgb(85, 85, 85); border-bottom: none; }
+div#spc-section-body h5 { color: rgb(85, 85, 85); border-bottom: none; }
+div#spc-section-body h6 { color: rgb(85, 85, 85); border-bottom: none; }
+
+p.rubric {
+ color: rgb(85, 85, 85);
+ font-size: 120%;
+ font-weight: normal;
+ border-bottom: 1px solid rgb(204, 204, 204);
+}
+
+
+/*
+ * Tables
+ */
+
+table.citation {
+ border: none;
+}
+
+table.docutils td, table.docutils th {
+ border: none;
+}
+
+table.docutils {
+ margin-bottom: 9.5px;
+}
+
+
+/*
+ * Admonitions
+ */
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.seealso dt {
+ float: left;
+ clear: left;
+ min-width: 4em;
+ padding-right: 1em;
+}
+
+div.seealso dd {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
--- /dev/null
+[theme]
+inherit = basic
+stylesheet = scipy.css
+pygments_style = friendly
+
+[options]
+edit_link = false
+rootlinks = []
+sidebar = left
+scipy_org_logo =
+navigation_links = true
--- /dev/null
+needs_sphinx = '1.1'
+
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.pngmath', 'numpydoc',
+ 'sphinx.ext.intersphinx', 'sphinx.ext.coverage',
+ 'sphinx.ext.autosummary', 'matplotlib.sphinxext.plot_directive']
+
+templates_path = ['_templates']
+source_suffix = '.rst'
+master_doc = 'index'
+project = u'scipy-sphinx-theme'
+copyright = u'2013, Surya Kasturi and Pauli Virtanen'
+version = '0.1'
+release = '0.1'
+exclude_patterns = ['_build']
+pygments_style = 'sphinx'
+
+# -- Options for HTML output ---------------------------------------------------
+
+html_theme = 'scipy'
+html_theme_path = ['_theme']
+#html_logo = '_static/scipyshiny_small.png'
+html_static_path = ['_static']
+html_theme_options = {
+ "edit_link": "true",
+ "sidebar": "right",
+ "scipy_org_logo": "true",
+ "rootlinks": [("http://scipy.org/", "Scipy.org"),
+ ("http://docs.scipy.org/", "Docs")]
+}
+
+pngmath_latex_preamble = r"""
+\usepackage{color}
+\definecolor{textgray}{RGB}{51,51,51}
+\color{textgray}
+"""
+pngmath_use_preview = True
+pngmath_dvipng_args = ['-gamma 1.5', '-D 96', '-bg Transparent']
+
+#------------------------------------------------------------------------------
+# Plot style
+#------------------------------------------------------------------------------
+
+plot_pre_code = """
+import numpy as np
+import scipy as sp
+np.random.seed(123)
+"""
+plot_include_source = True
+plot_formats = [('png', 96), 'pdf']
+plot_html_show_formats = False
+
+import math
+phi = (math.sqrt(5) + 1)/2
+
+font_size = 13*72/96.0 # 13 px
+
+plot_rcparams = {
+ 'font.size': font_size,
+ 'axes.titlesize': font_size,
+ 'axes.labelsize': font_size,
+ 'xtick.labelsize': font_size,
+ 'ytick.labelsize': font_size,
+ 'legend.fontsize': font_size,
+ 'figure.figsize': (3*phi, 3),
+ 'figure.subplot.bottom': 0.2,
+ 'figure.subplot.left': 0.2,
+ 'figure.subplot.right': 0.9,
+ 'figure.subplot.top': 0.85,
+ 'figure.subplot.wspace': 0.4,
+ 'text.usetex': False,
+}
--- /dev/null
+.. scipy-sphinx-theme documentation master file, created by
+ sphinx-quickstart on Sun Apr 21 11:22:24 2013.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+Welcome to scipy-sphinx-theme's documentation!
+==============================================
+
+The theme is under `_theme`, this document contains various test
+pages.
+
+Contents:
+
+.. toctree::
+ :maxdepth: 2
+
+ README
+ test_optimize
+ test_autodoc
+ test_autodoc_2
+ test_autodoc_3
+ test_autodoc_4
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
--- /dev/null
+scipy.odr.Model
+===============
+
+.. currentmodule:: scipy.odr
+
+.. autoclass:: ODR
--- /dev/null
+scipy.interpolate.griddata
+==========================
+
+.. currentmodule:: scipy.interpolate
+
+.. autofunction:: scipy.interpolate.griddata
--- /dev/null
+scipy.odr.ODR.run
+=================
+
+.. currentmodule:: scipy.odr
+
+.. automethod:: scipy.odr.ODR.run
+
--- /dev/null
+scipy.sparse.linalg.eigsh
+=========================
+
+.. currentmodule:: scipy.sparse.linalg
+
+.. autofunction:: scipy.sparse.linalg.eigsh
--- /dev/null
+Optimization (:mod:`scipy.optimize`)
+====================================
+
+.. sectionauthor:: Travis E. Oliphant
+
+.. sectionauthor:: Pauli Virtanen
+
+.. sectionauthor:: Denis Laxalde
+
+.. currentmodule:: scipy.optimize
+
+The :mod:`scipy.optimize` package provides several commonly used
+optimization algorithms. A detailed listing is available:
+:mod:`scipy.optimize` (can also be found by ``help(scipy.optimize)``).
+
+The module contains:
+
+1. Unconstrained and constrained minimization of multivariate scalar
+ functions (:func:`minimize`) using a variety of algorithms (e.g. BFGS,
+ Nelder-Mead simplex, Newton Conjugate Gradient, COBYLA or SLSQP)
+
+2. Global (brute-force) optimization routines (e.g., :func:`anneal`, :func:`basinhopping`)
+
+3. Least-squares minimization (:func:`leastsq`) and curve fitting
+ (:func:`curve_fit`) algorithms
+
+4. Scalar univariate functions minimizers (:func:`minimize_scalar`) and
+ root finders (:func:`newton`)
+
+5. Multivariate equation system solvers (:func:`root`) using a variety of
+ algorithms (e.g. hybrid Powell, Levenberg-Marquardt or large-scale
+ methods such as Newton-Krylov).
+
+Below, several examples demonstrate their basic usage.
+
+
+Unconstrained minimization of multivariate scalar functions (:func:`minimize`)
+------------------------------------------------------------------------------
+
+The :func:`minimize` function provides a common interface to unconstrained
+and constrained minimization algorithms for multivariate scalar functions
+in `scipy.optimize`. To demonstrate the minimization function consider the
+problem of minimizing the Rosenbrock function of :math:`N` variables:
+
+.. math::
+ :nowrap:
+
+ \[ f\left(\mathbf{x}\right)=\sum_{i=1}^{N-1}100\left(x_{i}-x_{i-1}^{2}\right)^{2}+\left(1-x_{i-1}\right)^{2}.\]
+
+The minimum value of this function is 0 which is achieved when
+:math:`x_{i}=1.`
+
+Note that the Rosenbrock function and its derivatives are included in
+`scipy.optimize`. The implementations shown in the following sections
+provide examples of how to define an objective function as well as its
+jacobian and hessian functions.
+
+Nelder-Mead Simplex algorithm (``method='Nelder-Mead'``)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In the example below, the :func:`minimize` routine is used
+with the *Nelder-Mead* simplex algorithm (selected through the ``method``
+parameter):
+
+ >>> import numpy as np
+ >>> from scipy.optimize import minimize
+
+ >>> def rosen(x):
+ ... """The Rosenbrock function"""
+ ... return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
+
+ >>> x0 = np.array([1.3, 0.7, 0.8, 1.9, 1.2])
+ >>> res = minimize(rosen, x0, method='nelder-mead',
+ ... options={'xtol': 1e-8, 'disp': True})
+ Optimization terminated successfully.
+ Current function value: 0.000000
+ Iterations: 339
+ Function evaluations: 571
+
+ >>> print(res.x)
+ [ 1. 1. 1. 1. 1.]
+
+The simplex algorithm is probably the simplest way to minimize a fairly
+well-behaved function. It requires only function evaluations and is a good
+choice for simple minimization problems. However, because it does not use
+any gradient evaluations, it may take longer to find the minimum.
+
+Another optimization algorithm that needs only function calls to find
+the minimum is *Powell*'s method available by setting ``method='powell'`` in
+:func:`minimize`.
+
+
+Broyden-Fletcher-Goldfarb-Shanno algorithm (``method='BFGS'``)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In order to converge more quickly to the solution, this routine uses
+the gradient of the objective function. If the gradient is not given
+by the user, then it is estimated using first-differences. The
+Broyden-Fletcher-Goldfarb-Shanno (BFGS) method typically requires
+fewer function calls than the simplex algorithm even when the gradient
+must be estimated.
+
+To demonstrate this algorithm, the Rosenbrock function is again used.
+The gradient of the Rosenbrock function is the vector:
+
+.. math::
+ :nowrap:
+
+ \begin{eqnarray*} \frac{\partial f}{\partial x_{j}} & = & \sum_{i=1}^{N}200\left(x_{i}-x_{i-1}^{2}\right)\left(\delta_{i,j}-2x_{i-1}\delta_{i-1,j}\right)-2\left(1-x_{i-1}\right)\delta_{i-1,j}.\\ & = & 200\left(x_{j}-x_{j-1}^{2}\right)-400x_{j}\left(x_{j+1}-x_{j}^{2}\right)-2\left(1-x_{j}\right).\end{eqnarray*}
+
+This expression is valid for the interior derivatives. Special cases
+are
+
+.. math::
+ :nowrap:
+
+ \begin{eqnarray*} \frac{\partial f}{\partial x_{0}} & = & -400x_{0}\left(x_{1}-x_{0}^{2}\right)-2\left(1-x_{0}\right),\\ \frac{\partial f}{\partial x_{N-1}} & = & 200\left(x_{N-1}-x_{N-2}^{2}\right).\end{eqnarray*}
+
+A Python function which computes this gradient is constructed by the
+code-segment:
+
+ >>> def rosen_der(x):
+ ... xm = x[1:-1]
+ ... xm_m1 = x[:-2]
+ ... xm_p1 = x[2:]
+ ... der = np.zeros_like(x)
+ ... der[1:-1] = 200*(xm-xm_m1**2) - 400*(xm_p1 - xm**2)*xm - 2*(1-xm)
+ ... der[0] = -400*x[0]*(x[1]-x[0]**2) - 2*(1-x[0])
+ ... der[-1] = 200*(x[-1]-x[-2]**2)
+ ... return der
+
+This gradient information is specified in the :func:`minimize` function
+through the ``jac`` parameter as illustrated below.
+
+
+ >>> res = minimize(rosen, x0, method='BFGS', jac=rosen_der,
+ ... options={'disp': True})
+ Optimization terminated successfully.
+ Current function value: 0.000000
+ Iterations: 51
+ Function evaluations: 63
+ Gradient evaluations: 63
+ >>> print(res.x)
+ [ 1. 1. 1. 1. 1.]
+
+
+Newton-Conjugate-Gradient algorithm (``method='Newton-CG'``)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The method which requires the fewest function calls and is therefore often
+the fastest method to minimize functions of many variables uses the
+Newton-Conjugate Gradient algorithm. This method is a modified Newton's
+method and uses a conjugate gradient algorithm to (approximately) invert
+the local Hessian. Newton's method is based on fitting the function
+locally to a quadratic form:
+
+.. math::
+ :nowrap:
+
+ \[ f\left(\mathbf{x}\right)\approx f\left(\mathbf{x}_{0}\right)+\nabla f\left(\mathbf{x}_{0}\right)\cdot\left(\mathbf{x}-\mathbf{x}_{0}\right)+\frac{1}{2}\left(\mathbf{x}-\mathbf{x}_{0}\right)^{T}\mathbf{H}\left(\mathbf{x}_{0}\right)\left(\mathbf{x}-\mathbf{x}_{0}\right).\]
+
+where :math:`\mathbf{H}\left(\mathbf{x}_{0}\right)` is a matrix of second-derivatives (the Hessian). If the Hessian is
+positive definite then the local minimum of this function can be found
+by setting the gradient of the quadratic form to zero, resulting in
+
+.. math::
+ :nowrap:
+
+ \[ \mathbf{x}_{\textrm{opt}}=\mathbf{x}_{0}-\mathbf{H}^{-1}\nabla f.\]
+
+The inverse of the Hessian is evaluated using the conjugate-gradient
+method. An example of employing this method to minimizing the
+Rosenbrock function is given below. To take full advantage of the
+Newton-CG method, a function which computes the Hessian must be
+provided. The Hessian matrix itself does not need to be constructed,
+only a vector which is the product of the Hessian with an arbitrary
+vector needs to be available to the minimization routine. As a result,
+the user can provide either a function to compute the Hessian matrix,
+or a function to compute the product of the Hessian with an arbitrary
+vector.
+
+
+Full Hessian example:
+"""""""""""""""""""""
+
+The Hessian of the Rosenbrock function is
+
+.. math::
+ :nowrap:
+
+ \begin{eqnarray*} H_{ij}=\frac{\partial^{2}f}{\partial x_{i}\partial x_{j}} & = & 200\left(\delta_{i,j}-2x_{i-1}\delta_{i-1,j}\right)-400x_{i}\left(\delta_{i+1,j}-2x_{i}\delta_{i,j}\right)-400\delta_{i,j}\left(x_{i+1}-x_{i}^{2}\right)+2\delta_{i,j},\\ & = & \left(202+1200x_{i}^{2}-400x_{i+1}\right)\delta_{i,j}-400x_{i}\delta_{i+1,j}-400x_{i-1}\delta_{i-1,j},\end{eqnarray*}
+
+if :math:`i,j\in\left[1,N-2\right]` with :math:`i,j\in\left[0,N-1\right]` defining the :math:`N\times N` matrix. Other non-zero entries of the matrix are
+
+.. math::
+ :nowrap:
+
+ \begin{eqnarray*} \frac{\partial^{2}f}{\partial x_{0}^{2}} & = & 1200x_{0}^{2}-400x_{1}+2,\\ \frac{\partial^{2}f}{\partial x_{0}\partial x_{1}}=\frac{\partial^{2}f}{\partial x_{1}\partial x_{0}} & = & -400x_{0},\\ \frac{\partial^{2}f}{\partial x_{N-1}\partial x_{N-2}}=\frac{\partial^{2}f}{\partial x_{N-2}\partial x_{N-1}} & = & -400x_{N-2},\\ \frac{\partial^{2}f}{\partial x_{N-1}^{2}} & = & 200.\end{eqnarray*}
+
+For example, the Hessian when :math:`N=5` is
+
+.. math::
+ :nowrap:
+
+ \[ \mathbf{H}=\left[\begin{array}{ccccc} 1200x_{0}^{2}-400x_{1}+2 & -400x_{0} & 0 & 0 & 0\\ -400x_{0} & 202+1200x_{1}^{2}-400x_{2} & -400x_{1} & 0 & 0\\ 0 & -400x_{1} & 202+1200x_{2}^{2}-400x_{3} & -400x_{2} & 0\\ 0 & & -400x_{2} & 202+1200x_{3}^{2}-400x_{4} & -400x_{3}\\ 0 & 0 & 0 & -400x_{3} & 200\end{array}\right].\]
+
+The code which computes this Hessian along with the code to minimize
+the function using Newton-CG method is shown in the following example:
+
+ >>> def rosen_hess(x):
+ ... x = np.asarray(x)
+ ... H = np.diag(-400*x[:-1],1) - np.diag(400*x[:-1],-1)
+ ... diagonal = np.zeros_like(x)
+ ... diagonal[0] = 1200*x[0]**2-400*x[1]+2
+ ... diagonal[-1] = 200
+ ... diagonal[1:-1] = 202 + 1200*x[1:-1]**2 - 400*x[2:]
+ ... H = H + np.diag(diagonal)
+ ... return H
+
+ >>> res = minimize(rosen, x0, method='Newton-CG',
+ ... jac=rosen_der, hess=rosen_hess,
+ ... options={'avextol': 1e-8, 'disp': True})
+ Optimization terminated successfully.
+ Current function value: 0.000000
+ Iterations: 19
+ Function evaluations: 22
+ Gradient evaluations: 19
+ Hessian evaluations: 19
+ >>> print(res.x)
+ [ 1. 1. 1. 1. 1.]
+
+
+Hessian product example:
+""""""""""""""""""""""""
+
+For larger minimization problems, storing the entire Hessian matrix can
+consume considerable time and memory. The Newton-CG algorithm only needs
+the product of the Hessian times an arbitrary vector. As a result, the user
+can supply code to compute this product rather than the full Hessian by
+giving a ``hess`` function which take the minimization vector as the first
+argument and the arbitrary vector as the second argument (along with extra
+arguments passed to the function to be minimized). If possible, using
+Newton-CG with the Hessian product option is probably the fastest way to
+minimize the function.
+
+In this case, the product of the Rosenbrock Hessian with an arbitrary
+vector is not difficult to compute. If :math:`\mathbf{p}` is the arbitrary
+vector, then :math:`\mathbf{H}\left(\mathbf{x}\right)\mathbf{p}` has
+elements:
+
+.. math::
+ :nowrap:
+
+ \[ \mathbf{H}\left(\mathbf{x}\right)\mathbf{p}=\left[\begin{array}{c} \left(1200x_{0}^{2}-400x_{1}+2\right)p_{0}-400x_{0}p_{1}\\ \vdots\\ -400x_{i-1}p_{i-1}+\left(202+1200x_{i}^{2}-400x_{i+1}\right)p_{i}-400x_{i}p_{i+1}\\ \vdots\\ -400x_{N-2}p_{N-2}+200p_{N-1}\end{array}\right].\]
+
+Code which makes use of this Hessian product to minimize the
+Rosenbrock function using :func:`minimize` follows:
+
+ >>> def rosen_hess_p(x,p):
+ ... x = np.asarray(x)
+ ... Hp = np.zeros_like(x)
+ ... Hp[0] = (1200*x[0]**2 - 400*x[1] + 2)*p[0] - 400*x[0]*p[1]
+ ... Hp[1:-1] = -400*x[:-2]*p[:-2]+(202+1200*x[1:-1]**2-400*x[2:])*p[1:-1] \
+ ... -400*x[1:-1]*p[2:]
+ ... Hp[-1] = -400*x[-2]*p[-2] + 200*p[-1]
+ ... return Hp
+
+ >>> res = minimize(rosen, x0, method='Newton-CG',
+ ... jac=rosen_der, hess=rosen_hess_p,
+ ... options={'avextol': 1e-8, 'disp': True})
+ Optimization terminated successfully.
+ Current function value: 0.000000
+ Iterations: 20
+ Function evaluations: 23
+ Gradient evaluations: 20
+ Hessian evaluations: 44
+ >>> print(res.x)
+ [ 1. 1. 1. 1. 1.]
+
+
+.. _tutorial-sqlsp:
+
+Constrained minimization of multivariate scalar functions (:func:`minimize`)
+----------------------------------------------------------------------------
+
+The :func:`minimize` function also provides an interface to several
+constrained minimization algorithm. As an example, the Sequential Least
+SQuares Programming optimization algorithm (SLSQP) will be considered here.
+This algorithm allows to deal with constrained minimization problems of the
+form:
+
+.. math::
+ :nowrap:
+
+ \begin{eqnarray*} \min F(x) \\ \text{subject to } & C_j(X) = 0 , &j = 1,...,\text{MEQ}\\
+ & C_j(x) \geq 0 , &j = \text{MEQ}+1,...,M\\
+ & XL \leq x \leq XU , &I = 1,...,N. \end{eqnarray*}
+
+
+As an example, let us consider the problem of maximizing the function:
+
+.. math::
+ :nowrap:
+
+ \[ f(x, y) = 2 x y + 2 x - x^2 - 2 y^2 \]
+
+subject to an equality and an inequality constraints defined as:
+
+.. math::
+ :nowrap:
+
+ \[ x^3 - y = 0 \]
+ \[ y - 1 \geq 0 \]
+
+
+
+The objective function and its derivative are defined as follows.
+
+ >>> def func(x, sign=1.0):
+ ... """ Objective function """
+ ... return sign*(2*x[0]*x[1] + 2*x[0] - x[0]**2 - 2*x[1]**2)
+
+ >>> def func_deriv(x, sign=1.0):
+ ... """ Derivative of objective function """
+ ... dfdx0 = sign*(-2*x[0] + 2*x[1] + 2)
+ ... dfdx1 = sign*(2*x[0] - 4*x[1])
+ ... return np.array([ dfdx0, dfdx1 ])
+
+Note that since :func:`minimize` only minimizes functions, the ``sign``
+parameter is introduced to multiply the objective function (and its
+derivative by -1) in order to perform a maximization.
+
+Then constraints are defined as a sequence of dictionaries, with keys
+``type``, ``fun`` and ``jac``.
+
+ >>> cons = ({'type': 'eq',
+ ... 'fun' : lambda x: np.array([x[0]**3 - x[1]]),
+ ... 'jac' : lambda x: np.array([3.0*(x[0]**2.0), -1.0])},
+ ... {'type': 'ineq',
+ ... 'fun' : lambda x: np.array([x[1] - 1]),
+ ... 'jac' : lambda x: np.array([0.0, 1.0])})
+
+
+Now an unconstrained optimization can be performed as:
+
+ >>> res = minimize(func, [-1.0,1.0], args=(-1.0,), jac=func_deriv,
+ ... method='SLSQP', options={'disp': True})
+ Optimization terminated successfully. (Exit mode 0)
+ Current function value: -2.0
+ Iterations: 4
+ Function evaluations: 5
+ Gradient evaluations: 4
+ >>> print(res.x)
+ [ 2. 1.]
+
+and a constrained optimization as:
+
+ >>> res = minimize(func, [-1.0,1.0], args=(-1.0,), jac=func_deriv,
+ ... constraints=cons, method='SLSQP', options={'disp': True})
+ Optimization terminated successfully. (Exit mode 0)
+ Current function value: -1.00000018311
+ Iterations: 9
+ Function evaluations: 14
+ Gradient evaluations: 9
+ >>> print(res.x)
+ [ 1.00000009 1. ]
+
+
+Least-square fitting (:func:`leastsq`)
+--------------------------------------
+
+All of the previously-explained minimization procedures can be used to
+solve a least-squares problem provided the appropriate objective
+function is constructed. For example, suppose it is desired to fit a
+set of data :math:`\left\{\mathbf{x}_{i}, \mathbf{y}_{i}\right\}`
+to a known model,
+:math:`\mathbf{y}=\mathbf{f}\left(\mathbf{x},\mathbf{p}\right)`
+where :math:`\mathbf{p}` is a vector of parameters for the model that
+need to be found. A common method for determining which parameter
+vector gives the best fit to the data is to minimize the sum of squares
+of the residuals. The residual is usually defined for each observed
+data-point as
+
+.. math::
+ :nowrap:
+
+ \[ e_{i}\left(\mathbf{p},\mathbf{y}_{i},\mathbf{x}_{i}\right)=\left\Vert \mathbf{y}_{i}-\mathbf{f}\left(\mathbf{x}_{i},\mathbf{p}\right)\right\Vert .\]
+
+An objective function to pass to any of the previous minization
+algorithms to obtain a least-squares fit is.
+
+.. math::
+ :nowrap:
+
+ \[ J\left(\mathbf{p}\right)=\sum_{i=0}^{N-1}e_{i}^{2}\left(\mathbf{p}\right).\]
+
+
+
+The :obj:`leastsq` algorithm performs this squaring and summing of the
+residuals automatically. It takes as an input argument the vector
+function :math:`\mathbf{e}\left(\mathbf{p}\right)` and returns the
+value of :math:`\mathbf{p}` which minimizes
+:math:`J\left(\mathbf{p}\right)=\mathbf{e}^{T}\mathbf{e}`
+directly. The user is also encouraged to provide the Jacobian matrix
+of the function (with derivatives down the columns or across the
+rows). If the Jacobian is not provided, it is estimated.
+
+An example should clarify the usage. Suppose it is believed some
+measured data follow a sinusoidal pattern
+
+.. math::
+ :nowrap:
+
+ \[ y_{i}=A\sin\left(2\pi kx_{i}+\theta\right)\]
+
+where the parameters :math:`A,` :math:`k` , and :math:`\theta` are unknown. The residual vector is
+
+.. math::
+ :nowrap:
+
+ \[ e_{i}=\left|y_{i}-A\sin\left(2\pi kx_{i}+\theta\right)\right|.\]
+
+By defining a function to compute the residuals and (selecting an
+appropriate starting position), the least-squares fit routine can be
+used to find the best-fit parameters :math:`\hat{A},\,\hat{k},\,\hat{\theta}`.
+This is shown in the following example:
+
+.. plot::
+
+ >>> from numpy import *
+ >>> x = arange(0,6e-2,6e-2/30)
+ >>> A,k,theta = 10, 1.0/3e-2, pi/6
+ >>> y_true = A*sin(2*pi*k*x+theta)
+ >>> y_meas = y_true + 2*random.randn(len(x))
+
+ >>> def residuals(p, y, x):
+ ... A,k,theta = p
+ ... err = y-A*sin(2*pi*k*x+theta)
+ ... return err
+
+ >>> def peval(x, p):
+ ... return p[0]*sin(2*pi*p[1]*x+p[2])
+
+ >>> p0 = [8, 1/2.3e-2, pi/3]
+ >>> print(array(p0))
+ [ 8. 43.4783 1.0472]
+
+ >>> from scipy.optimize import leastsq
+ >>> plsq = leastsq(residuals, p0, args=(y_meas, x))
+ >>> print(plsq[0])
+ [ 10.9437 33.3605 0.5834]
+
+ >>> print(array([A, k, theta]))
+ [ 10. 33.3333 0.5236]
+
+ >>> import matplotlib.pyplot as plt
+ >>> plt.plot(x,peval(x,plsq[0]),x,y_meas,'o',x,y_true)
+ >>> plt.title('Least-squares fit to noisy data')
+ >>> plt.legend(['Fit', 'Noisy', 'True'])
+ >>> plt.show()
+
+.. :caption: Least-square fitting to noisy data using
+.. :obj:`scipy.optimize.leastsq`
+
+
+Univariate function minimizers (:func:`minimize_scalar`)
+--------------------------------------------------------
+
+Often only the minimum of an univariate function (i.e. a function that
+takes a scalar as input) is needed. In these circumstances, other
+optimization techniques have been developed that can work faster. These are
+accessible from the :func:`minimize_scalar` function which proposes several
+algorithms.
+
+
+Unconstrained minimization (``method='brent'``)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+There are actually two methods that can be used to minimize an univariate
+function: `brent` and `golden`, but `golden` is included only for academic
+purposes and should rarely be used. These can be respectively selected
+through the `method` parameter in :func:`minimize_scalar`. The `brent`
+method uses Brent's algorithm for locating a minimum. Optimally a bracket
+(the `bs` parameter) should be given which contains the minimum desired. A
+bracket is a triple :math:`\left( a, b, c \right)` such that :math:`f
+\left( a \right) > f \left( b \right) < f \left( c \right)` and :math:`a <
+b < c` . If this is not given, then alternatively two starting points can
+be chosen and a bracket will be found from these points using a simple
+marching algorithm. If these two starting points are not provided `0` and
+`1` will be used (this may not be the right choice for your function and
+result in an unexpected minimum being returned).
+
+Here is an example:
+
+ >>> from scipy.optimize import minimize_scalar
+ >>> f = lambda x: (x - 2) * (x + 1)**2
+ >>> res = minimize_scalar(f, method='brent')
+ >>> print(res.x)
+ 1.0
+
+
+Bounded minimization (``method='bounded'``)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Very often, there are constraints that can be placed on the solution space
+before minimization occurs. The `bounded` method in :func:`minimize_scalar`
+is an example of a constrained minimization procedure that provides a
+rudimentary interval constraint for scalar functions. The interval
+constraint allows the minimization to occur only between two fixed
+endpoints, specified using the mandatory `bs` parameter.
+
+For example, to find the minimum of :math:`J_{1}\left( x \right)` near
+:math:`x=5` , :func:`minimize_scalar` can be called using the interval
+:math:`\left[ 4, 7 \right]` as a constraint. The result is
+:math:`x_{\textrm{min}}=5.3314` :
+
+ >>> from scipy.special import j1
+ >>> res = minimize_scalar(j1, bs=(4, 7), method='bounded')
+ >>> print(res.x)
+ 5.33144184241
+
+
+Root finding
+------------
+
+Scalar functions
+^^^^^^^^^^^^^^^^
+
+If one has a single-variable equation, there are four different root
+finding algorithms that can be tried. Each of these algorithms requires the
+endpoints of an interval in which a root is expected (because the function
+changes signs). In general :obj:`brentq` is the best choice, but the other
+methods may be useful in certain circumstances or for academic purposes.
+
+
+Fixed-point solving
+^^^^^^^^^^^^^^^^^^^
+
+A problem closely related to finding the zeros of a function is the
+problem of finding a fixed-point of a function. A fixed point of a
+function is the point at which evaluation of the function returns the
+point: :math:`g\left(x\right)=x.` Clearly the fixed point of :math:`g`
+is the root of :math:`f\left(x\right)=g\left(x\right)-x.`
+Equivalently, the root of :math:`f` is the fixed_point of
+:math:`g\left(x\right)=f\left(x\right)+x.` The routine
+:obj:`fixed_point` provides a simple iterative method using Aitkens
+sequence acceleration to estimate the fixed point of :math:`g` given a
+starting point.
+
+Sets of equations
+^^^^^^^^^^^^^^^^^
+
+Finding a root of a set of non-linear equations can be achieve using the
+:func:`root` function. Several methods are available, amongst which ``hybr``
+(the default) and ``lm`` which respectively use the hybrid method of Powell
+and the Levenberg-Marquardt method from MINPACK.
+
+The following example considers the single-variable transcendental
+equation
+
+.. math::
+ :nowrap:
+
+ \[ x+2\cos\left(x\right)=0,\]
+
+a root of which can be found as follows::
+
+ >>> import numpy as np
+ >>> from scipy.optimize import root
+ >>> def func(x):
+ ... return x + 2 * np.cos(x)
+ >>> sol = root(func, 0.3)
+ >>> sol.x
+ array([-1.02986653])
+ >>> sol.fun
+ array([ -6.66133815e-16])
+
+Consider now a set of non-linear equations
+
+.. math::
+ :nowrap:
+
+ \begin{eqnarray*}
+ x_{0}\cos\left(x_{1}\right) & = & 4,\\
+ x_{0}x_{1}-x_{1} & = & 5.
+ \end{eqnarray*}
+
+We define the objective function so that it also returns the Jacobian and
+indicate this by setting the ``jac`` parameter to ``True``. Also, the
+Levenberg-Marquardt solver is used here.
+
+::
+
+ >>> def func2(x):
+ ... f = [x[0] * np.cos(x[1]) - 4,
+ ... x[1]*x[0] - x[1] - 5]
+ ... df = np.array([[np.cos(x[1]), -x[0] * np.sin(x[1])],
+ ... [x[1], x[0] - 1]])
+ ... return f, df
+ >>> sol = root(func2, [1, 1], jac=True, method='lm')
+ >>> sol.x
+ array([ 6.50409711, 0.90841421])
+
+
+Root finding for large problems
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Methods ``hybr`` and ``lm`` in :func:`root` cannot deal with a very large
+number of variables (*N*), as they need to calculate and invert a dense *N
+x N* Jacobian matrix on every Newton step. This becomes rather inefficient
+when *N* grows.
+
+Consider for instance the following problem: we need to solve the
+following integrodifferential equation on the square
+:math:`[0,1]\times[0,1]`:
+
+.. math::
+
+ (\partial_x^2 + \partial_y^2) P + 5 \left(\int_0^1\int_0^1\cosh(P)\,dx\,dy\right)^2 = 0
+
+with the boundary condition :math:`P(x,1) = 1` on the upper edge and
+:math:`P=0` elsewhere on the boundary of the square. This can be done
+by approximating the continuous function *P* by its values on a grid,
+:math:`P_{n,m}\approx{}P(n h, m h)`, with a small grid spacing
+*h*. The derivatives and integrals can then be approximated; for
+instance :math:`\partial_x^2 P(x,y)\approx{}(P(x+h,y) - 2 P(x,y) +
+P(x-h,y))/h^2`. The problem is then equivalent to finding the root of
+some function ``residual(P)``, where ``P`` is a vector of length
+:math:`N_x N_y`.
+
+Now, because :math:`N_x N_y` can be large, methods ``hybr`` or ``lm`` in
+:func:`root` will take a long time to solve this problem. The solution can
+however be found using one of the large-scale solvers, for example
+``krylov``, ``broyden2``, or ``anderson``. These use what is known as the
+inexact Newton method, which instead of computing the Jacobian matrix
+exactly, forms an approximation for it.
+
+The problem we have can now be solved as follows:
+
+.. plot::
+
+ import numpy as np
+ from scipy.optimize import root
+ from numpy import cosh, zeros_like, mgrid, zeros
+
+ # parameters
+ nx, ny = 75, 75
+ hx, hy = 1./(nx-1), 1./(ny-1)
+
+ P_left, P_right = 0, 0
+ P_top, P_bottom = 1, 0
+
+ def residual(P):
+ d2x = zeros_like(P)
+ d2y = zeros_like(P)
+
+ d2x[1:-1] = (P[2:] - 2*P[1:-1] + P[:-2]) / hx/hx
+ d2x[0] = (P[1] - 2*P[0] + P_left)/hx/hx
+ d2x[-1] = (P_right - 2*P[-1] + P[-2])/hx/hx
+
+ d2y[:,1:-1] = (P[:,2:] - 2*P[:,1:-1] + P[:,:-2])/hy/hy
+ d2y[:,0] = (P[:,1] - 2*P[:,0] + P_bottom)/hy/hy
+ d2y[:,-1] = (P_top - 2*P[:,-1] + P[:,-2])/hy/hy
+
+ return d2x + d2y + 5*cosh(P).mean()**2
+
+ # solve
+ guess = zeros((nx, ny), float)
+ sol = root(residual, guess, method='krylov', options={'disp': True})
+ #sol = root(residual, guess, method='broyden2', options={'disp': True, 'max_rank': 50})
+ #sol = root(residual, guess, method='anderson', options={'disp': True, 'M': 10})
+ print('Residual: %g' % abs(residual(sol.x)).max())
+
+ # visualize
+ import matplotlib.pyplot as plt
+ x, y = mgrid[0:1:(nx*1j), 0:1:(ny*1j)]
+ plt.pcolor(x, y, sol.x)
+ plt.colorbar()
+ plt.show()
+
+
+Still too slow? Preconditioning.
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When looking for the zero of the functions :math:`f_i({\bf x}) = 0`,
+*i = 1, 2, ..., N*, the ``krylov`` solver spends most of its
+time inverting the Jacobian matrix,
+
+.. math:: J_{ij} = \frac{\partial f_i}{\partial x_j} .
+
+If you have an approximation for the inverse matrix
+:math:`M\approx{}J^{-1}`, you can use it for *preconditioning* the
+linear inversion problem. The idea is that instead of solving
+:math:`J{\bf s}={\bf y}` one solves :math:`MJ{\bf s}=M{\bf y}`: since
+matrix :math:`MJ` is "closer" to the identity matrix than :math:`J`
+is, the equation should be easier for the Krylov method to deal with.
+
+The matrix *M* can be passed to :func:`root` with method ``krylov`` as an
+option ``options['jac_options']['inner_M']``. It can be a (sparse) matrix
+or a :obj:`scipy.sparse.linalg.LinearOperator` instance.
+
+For the problem in the previous section, we note that the function to
+solve consists of two parts: the first one is application of the
+Laplace operator, :math:`[\partial_x^2 + \partial_y^2] P`, and the second
+is the integral. We can actually easily compute the Jacobian corresponding
+to the Laplace operator part: we know that in one dimension
+
+.. math::
+
+ \partial_x^2 \approx \frac{1}{h_x^2} \begin{pmatrix}
+ -2 & 1 & 0 & 0 \cdots \\
+ 1 & -2 & 1 & 0 \cdots \\
+ 0 & 1 & -2 & 1 \cdots \\
+ \ldots
+ \end{pmatrix}
+ = h_x^{-2} L
+
+so that the whole 2-D operator is represented by
+
+.. math::
+
+ J_1 = \partial_x^2 + \partial_y^2
+ \simeq
+ h_x^{-2} L \otimes I + h_y^{-2} I \otimes L
+
+The matrix :math:`J_2` of the Jacobian corresponding to the integral
+is more difficult to calculate, and since *all* of it entries are
+nonzero, it will be difficult to invert. :math:`J_1` on the other hand
+is a relatively simple matrix, and can be inverted by
+:obj:`scipy.sparse.linalg.splu` (or the inverse can be approximated by
+:obj:`scipy.sparse.linalg.spilu`). So we are content to take
+:math:`M\approx{}J_1^{-1}` and hope for the best.
+
+In the example below, we use the preconditioner :math:`M=J_1^{-1}`.
+
+.. literalinclude:: examples/newton_krylov_preconditioning.py
+
+Resulting run, first without preconditioning::
+
+ 0: |F(x)| = 803.614; step 1; tol 0.000257947
+ 1: |F(x)| = 345.912; step 1; tol 0.166755
+ 2: |F(x)| = 139.159; step 1; tol 0.145657
+ 3: |F(x)| = 27.3682; step 1; tol 0.0348109
+ 4: |F(x)| = 1.03303; step 1; tol 0.00128227
+ 5: |F(x)| = 0.0406634; step 1; tol 0.00139451
+ 6: |F(x)| = 0.00344341; step 1; tol 0.00645373
+ 7: |F(x)| = 0.000153671; step 1; tol 0.00179246
+ 8: |F(x)| = 6.7424e-06; step 1; tol 0.00173256
+ Residual 3.57078908664e-07
+ Evaluations 317
+
+and then with preconditioning::
+
+ 0: |F(x)| = 136.993; step 1; tol 7.49599e-06
+ 1: |F(x)| = 4.80983; step 1; tol 0.00110945
+ 2: |F(x)| = 0.195942; step 1; tol 0.00149362
+ 3: |F(x)| = 0.000563597; step 1; tol 7.44604e-06
+ 4: |F(x)| = 1.00698e-09; step 1; tol 2.87308e-12
+ Residual 9.29603061195e-11
+ Evaluations 77
+
+Using a preconditioner reduced the number of evaluations of the
+``residual`` function by a factor of *4*. For problems where the
+residual is expensive to compute, good preconditioning can be crucial
+--- it can even decide whether the problem is solvable in practice or
+not.
+
+Preconditioning is an art, science, and industry. Here, we were lucky
+in making a simple choice that worked reasonably well, but there is a
+lot more depth to this topic than is shown here.
+
+.. rubric:: References
+
+Some further reading and related software:
+
+.. [KK] D.A. Knoll and D.E. Keyes, "Jacobian-free Newton-Krylov methods",
+ J. Comp. Phys. 193, 357 (2003).
+
+.. [PP] PETSc http://www.mcs.anl.gov/petsc/ and its Python bindings
+ http://code.google.com/p/petsc4py/
+
+.. [AMG] PyAMG (algebraic multigrid preconditioners/solvers)
+ http://code.google.com/p/pyamg/
.. toctree::
:maxdepth: 3
+ 1.19.5 <release/1.19.5-notes>
1.19.4 <release/1.19.4-notes>
1.19.3 <release/1.19.3-notes>
1.19.2 <release/1.19.2-notes>
--- /dev/null
+.. currentmodule:: numpy
+
+==========================
+NumPy 1.19.5 Release Notes
+==========================
+
+NumPy 1.19.5 is a short bugfix release. Apart from fixing several bugs, the
+main improvement is the update to OpenBLAS 0.3.13 that works around the windows
+2004 bug while not breaking execution on other platforms. This release supports
+Python 3.6-3.9 and is planned to be the last release in the 1.19.x cycle.
+
+Contributors
+============
+
+A total of 8 people contributed to this release. People with a "+" by their
+names contributed a patch for the first time.
+
+* Charles Harris
+* Christoph Gohlke
+* Matti Picus
+* Raghuveer Devulapalli
+* Sebastian Berg
+* Simon Graham +
+* Veniamin Petrenko +
+* Bernie Gray +
+
+Pull requests merged
+====================
+
+A total of 11 pull requests were merged for this release.
+
+* `#17756 <https://github.com/numpy/numpy/pull/17756>`__: BUG: Fix segfault due to out of bound pointer in floatstatus...
+* `#17774 <https://github.com/numpy/numpy/pull/17774>`__: BUG: fix np.timedelta64('nat').__format__ throwing an exception
+* `#17775 <https://github.com/numpy/numpy/pull/17775>`__: BUG: Fixed file handle leak in array_tofile.
+* `#17786 <https://github.com/numpy/numpy/pull/17786>`__: BUG: Raise recursion error during dimension discovery
+* `#17917 <https://github.com/numpy/numpy/pull/17917>`__: BUG: Fix subarray dtype used with too large count in fromfile
+* `#17918 <https://github.com/numpy/numpy/pull/17918>`__: BUG: 'bool' object has no attribute 'ndim'
+* `#17919 <https://github.com/numpy/numpy/pull/17919>`__: BUG: ensure _UFuncNoLoopError can be pickled
+* `#17924 <https://github.com/numpy/numpy/pull/17924>`__: BLD: use BUFFERSIZE=20 in OpenBLAS
+* `#18026 <https://github.com/numpy/numpy/pull/18026>`__: BLD: update to OpenBLAS 0.3.13
+* `#18036 <https://github.com/numpy/numpy/pull/18036>`__: BUG: make a variable volatile to work around clang compiler bug
+* `#18114 <https://github.com/numpy/numpy/pull/18114>`__: REL: Prepare for the NumPy 1.19.5 release.
>>> a += b # b is not automatically converted to integer type
Traceback (most recent call last):
...
- numpy.core._exceptions.UFuncTypeError: Cannot cast ufunc 'add' output from dtype('float64') to dtype('int64') with casting rule 'same_kind'
+ numpy.core._exceptions._UFuncOutputCastingError: Cannot cast ufunc 'add' output from dtype('float64') to dtype('int64') with casting rule 'same_kind'
When operating with arrays of different types, the type of the resulting
array corresponds to the more general or precise one (a behavior known
--- /dev/null
+*~
+.#*
+*.bak
+*.pyc
+*.pyo
+*.egg-info
+*.swp
+*.swo
+build
+dist
--- /dev/null
+[submodule "doc/scipy-sphinx-theme"]
+ path = doc/scipy-sphinx-theme
+ url = https://github.com/scipy/scipy-sphinx-theme
--- /dev/null
+# After changing this file, check it on:
+# http://lint.travis-ci.org/
+language: python
+sudo: false
+env:
+ - SPHINX_SPEC="Sphinx==1.2.3"
+ - SPHINX_SPEC="Sphinx"
+matrix:
+ include:
+ - python: 3.6
+ - python: 2.7
+ env:
+ - SPHINXOPTS='-W'
+cache:
+ directories:
+ - $HOME/.cache/pip
+before_install:
+ - sudo apt-get install texlive texlive-latex-extra latexmk
+ - pip install --upgrade pip setuptools # Upgrade pip and setuptools to get ones with `wheel` support
+ - pip install pytest numpy matplotlib ${SPHINX_SPEC}
+script:
+ - |
+ python setup.py sdist
+ cd dist
+ pip install numpydoc* -v
+ - pytest --pyargs numpydoc
+ - |
+ cd ../doc
+ make SPHINXOPTS=$SPHINXOPTS html
+ make SPHINXOPTS=$SPHINXOPTS latexpdf
--- /dev/null
+Copyright (C) 2008 Stefan van der Walt <stefan@mentat.za.net>, Pauli Virtanen <pav@iki.fi>
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
--- /dev/null
+include MANIFEST.in
+recursive-include numpydoc *
+include *.txt
+include *.rst
+
+# Exclude what we don't want to include
+prune */__pycache__
+global-exclude *.pyc *~ *.bak *.swp *.pyo
--- /dev/null
+.. image:: https://travis-ci.org/numpy/numpydoc.png?branch=master
+ :target: https://travis-ci.org/numpy/numpydoc/
+
+.. |docs| image:: https://readthedocs.org/projects/numpydoc/badge/?version=latest
+ :alt: Documentation Status
+ :scale: 100%
+ :target: https://numpydoc.readthedocs.io/en/latest/?badge=latest
+
+
+=====================================
+numpydoc -- Numpy's Sphinx extensions
+=====================================
+
+This package provides the ``numpydoc`` Sphinx extension for handling
+docstrings formatted according to the NumPy documentation format.
+The extension also adds the code description directives
+``np:function``, ``np-c:function``, etc.
+
+For usage information, please refer to the `documentation
+<https://numpydoc.readthedocs.io/>`_.
+
+The `numpydoc docstring guide
+<https://numpydoc.readthedocs.io/en/latest/format.html>`_ explains how
+to write docs formatted for this extension, and the `user guide
+<https://numpydoc.readthedocs.io>`_ explains how to use it with Sphinx.
--- /dev/null
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " xml to make Docutils-native XML files"
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+ -rm -rf auto_examples/
+ -rm -rf generated/*
+ -rm -rf modules/generated/*
+
+html:
+ # These two lines make the build a bit more lengthy, and the
+ # the embedding of images more robust
+ rm -rf $(BUILDDIR)/html/_images
+ #rm -rf _build/doctrees/
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/project-template.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/project-template.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/project-template"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/project-template"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through platex and dvipdfmx..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+ @echo
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+ @echo
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
--- /dev/null
+# -*- coding: utf-8 -*-
+#
+# project-template documentation build configuration file, created by
+# sphinx-quickstart on Mon Jan 18 14:44:12 2016.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+import re
+
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+
+# for example.py
+sys.path.insert(0, os.path.abspath('.'))
+# project root
+sys.path.insert(0, os.path.abspath('..'))
+
+os.environ['MPLBACKEND'] = 'Agg' # avoid tkinter import errors on rtfd.io
+
+# -- General configuration ---------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+# needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.autosummary',
+ 'sphinx.ext.doctest',
+ 'sphinx.ext.intersphinx',
+ 'sphinx.ext.todo',
+ 'numpydoc',
+ 'sphinx.ext.ifconfig',
+ 'sphinx.ext.viewcode',
+]
+
+try:
+ import sphinx.ext.imgmath # noqa
+except ImportError:
+ extensions.append('sphinx.ext.pngmath')
+else:
+ extensions.append('sphinx.ext.imgmath')
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+# source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'numpydoc'
+copyright = u'2017, numpydoc maintainers'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+
+import numpydoc
+# version = .__version__
+# The full version, including alpha/beta/rc tags.
+release = numpydoc.__version__
+version = re.sub(r'(\d+\.\d+)\.\d+(.*)', r'\1\2', numpydoc.__version__)
+version = re.sub(r'(\.dev\d+).*?$', r'\1', version)
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+# language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+# today = ''
+# Else, today_fmt is used as the format for a strftime call.
+# today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = ['_build', 'scipy-sphinx-theme']
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+# default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+# add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+# add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+# show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+# modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+# keep_warnings = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+
+themedir = os.path.join(os.path.dirname(__file__), 'scipy-sphinx-theme', '_theme')
+if not os.path.isdir(themedir):
+ raise RuntimeError("Get the scipy-sphinx-theme first, "
+ "via git submodule init && git submodule update")
+
+html_theme = 'scipy'
+html_theme_path = [themedir]
+
+if 'scipyorg' in tags:
+ # Build for the scipy.org website
+ html_theme_options = {
+ "edit_link": True,
+ "sidebar": "right",
+ "scipy_org_logo": True,
+ "rootlinks": [("http://scipy.org/", "Scipy.org"),
+ ("http://docs.scipy.org/", "Docs")]
+ }
+else:
+ # Default build
+ html_theme_options = {
+ "edit_link": False,
+ "sidebar": "left",
+ "scipy_org_logo": False,
+ "rootlinks": []
+ }
+ html_sidebars = {}
+
+html_title = "%s v%s Manual" % (project, version)
+html_last_updated_fmt = '%b %d, %Y'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = [] # ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+# html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+# html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+# html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+# html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+# html_additional_pages = {}
+
+# If false, no module index is generated.
+# html_domain_indices = True
+
+# If false, no index is generated.
+# html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+# html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+# html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+# html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+# html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+# html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+# html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'project-templatedoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+ # The paper size ('letterpaper' or 'a4paper').
+ # 'papersize': 'letterpaper',
+
+ # The font size ('10pt', '11pt' or '12pt').
+ # 'pointsize': '10pt',
+
+ # Additional stuff for the LaTeX preamble.
+ # 'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+# author, documentclass [howto, manual, or own class]).
+latex_documents = [
+ ('index', 'numpydoc.tex', u'numpydoc Documentation',
+ u'Numpydoc maintainers', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+# latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+# latex_use_parts = False
+
+# If true, show page references after internal links.
+# latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+# latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+# latex_appendices = []
+
+# If false, no module index is generated.
+# latex_domain_indices = True
+
+# Documents to append as an appendix to all manuals.
+# texinfo_appendices = []
+
+# If false, no module index is generated.
+# texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+# texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+# texinfo_no_detailmenu = False
+
+
+# Example configuration for intersphinx: refer to the Python standard library.
+intersphinx_mapping = {
+ 'python': ('http://docs.python.org/', None),
+ 'scikitlearn': ('http://scikit-learn.org/stable/', None),
+}
--- /dev/null
+"""This is the docstring for the example.py module. Modules names should
+have short, all-lowercase names. The module name may have underscores if
+this improves readability.
+
+Every module should have a docstring at the very top of the file. The
+module's docstring may extend over multiple lines. If your docstring does
+extend over multiple lines, the closing three quotation marks must be on
+a line by itself, preferably preceded by a blank line.
+
+"""
+from __future__ import division, absolute_import, print_function
+
+import os # standard library imports first
+
+# Do NOT import using *, e.g. from numpy import *
+#
+# Import the module using
+#
+# import numpy
+#
+# instead or import individual functions as needed, e.g
+#
+# from numpy import array, zeros
+#
+# If you prefer the use of abbreviated module names, we suggest the
+# convention used by NumPy itself::
+
+import numpy as np
+import matplotlib as mpl
+import matplotlib.pyplot as plt
+
+# These abbreviated names are not to be used in docstrings; users must
+# be able to paste and execute docstrings after importing only the
+# numpy module itself, unabbreviated.
+
+
+def foo(var1, var2, long_var_name='hi'):
+ r"""A one-line summary that does not use variable names or the
+ function name.
+
+ Several sentences providing an extended description. Refer to
+ variables using back-ticks, e.g. `var`.
+
+ Parameters
+ ----------
+ var1 : array_like
+ Array_like means all those objects -- lists, nested lists, etc. --
+ that can be converted to an array. We can also refer to
+ variables like `var1`.
+ var2 : int
+ The type above can either refer to an actual Python type
+ (e.g. ``int``), or describe the type of the variable in more
+ detail, e.g. ``(N,) ndarray`` or ``array_like``.
+ long_var_name : {'hi', 'ho'}, optional
+ Choices in brackets, default first when optional.
+
+ Returns
+ -------
+ type
+ Explanation of anonymous return value of type ``type``.
+ describe : type
+ Explanation of return value named `describe`.
+ out : type
+ Explanation of `out`.
+ type_without_description
+
+ Other Parameters
+ ----------------
+ only_seldom_used_keywords : type
+ Explanation
+ common_parameters_listed_above : type
+ Explanation
+
+ Raises
+ ------
+ BadException
+ Because you shouldn't have done that.
+
+ See Also
+ --------
+ otherfunc : relationship (optional)
+ newfunc : Relationship (optional), which could be fairly long, in which
+ case the line wraps here.
+ thirdfunc, fourthfunc, fifthfunc
+
+ Notes
+ -----
+ Notes about the implementation algorithm (if needed).
+
+ This can have multiple paragraphs.
+
+ You may include some math:
+
+ .. math:: X(e^{j\omega } ) = x(n)e^{ - j\omega n}
+
+ And even use a Greek symbol like :math:`\omega` inline.
+
+ References
+ ----------
+ Cite the relevant literature, e.g. [1]_. You may also cite these
+ references in the notes section above.
+
+ .. [1] O. McNoleg, "The integration of GIS, remote sensing,
+ expert systems and adaptive co-kriging for environmental habitat
+ modelling of the Highland Haggis using object-oriented, fuzzy-logic
+ and neural-network techniques," Computers & Geosciences, vol. 22,
+ pp. 585-588, 1996.
+
+ Examples
+ --------
+ These are written in doctest format, and should illustrate how to
+ use the function.
+
+ >>> a = [1, 2, 3]
+ >>> print [x + 3 for x in a]
+ [4, 5, 6]
+ >>> print "a\n\nb"
+ a
+ b
+
+ """
+
+ pass
--- /dev/null
+
+.. _example:
+
+=======
+Example
+=======
+
+Source
+======
+
+.. literalinclude:: example.py
+ :caption: `example.py <http://github.com/numpy/numpydoc/blob/master/doc/example.py>`_
+ :language: python
+
+Rendered
+========
+
+.. automodule:: example
+ :members:
--- /dev/null
+
+.. _format:
+
+========================
+numpydoc docstring guide
+========================
+
+.. Contents::
+
+This document describes the syntax and best practices for docstrings used with
+the numpydoc extension for `Sphinx <http://sphinx-doc.org/>`__.
+
+.. Note::
+
+ For an accompanying example, see :ref:`example.py <example>`.
+
+ Some features described in this document require a recent version of
+ ``numpydoc``. For example, the **Yields** section was added in
+ ``numpydoc`` 0.6.
+
+Overview
+--------
+We mostly follow the standard Python style conventions as described here:
+ * `Style Guide for C Code <http://python.org/dev/peps/pep-0007/>`_
+ * `Style Guide for Python Code <http://python.org/dev/peps/pep-0008/>`_
+ * `Docstring Conventions <http://python.org/dev/peps/pep-0257/>`_
+
+Additional PEPs of interest regarding documentation of code:
+ * `Docstring Processing Framework <http://python.org/dev/peps/pep-0256/>`_
+ * `Docutils Design Specification <http://python.org/dev/peps/pep-0258/>`_
+
+Use a code checker:
+ * `pylint <http://www.logilab.org/857>`_
+ * `pyflakes <https://pypi.python.org/pypi/pyflakes>`_
+ * `pep8.py <http://svn.browsershots.org/trunk/devtools/pep8/pep8.py>`_
+ * `flake8 <https://pypi.python.org/pypi/flake8>`_
+ * `vim-flake8 <https://github.com/nvie/vim-flake8>`_ plugin for
+ automatically checking syntax and style with flake8
+
+Import conventions
+------------------
+The following import conventions are used throughout the NumPy source
+and documentation::
+
+ import numpy as np
+ import matplotlib as mpl
+ import matplotlib.pyplot as plt
+
+Do not abbreviate ``scipy``. There is no motivating use case to
+abbreviate it in the real world, so we avoid it in the documentation
+to avoid confusion.
+
+Docstring Standard
+------------------
+A documentation string (docstring) is a string that describes a module,
+function, class, or method definition. The docstring is a special attribute
+of the object (``object.__doc__``) and, for consistency, is surrounded by
+triple double quotes, i.e.::
+
+ """This is the form of a docstring.
+
+ It can be spread over several lines.
+
+ """
+
+NumPy, SciPy_, and the scikits follow a common convention for
+docstrings that provides for consistency, while also allowing our
+toolchain to produce well-formatted reference guides. This document
+describes the current community consensus for such a standard. If you
+have suggestions for improvements, post them on the `numpy-discussion
+list`_.
+
+Our docstring standard uses `re-structured text (reST)
+<http://docutils.sourceforge.net/rst.html>`_ syntax and is rendered
+using Sphinx_ (a pre-processor that understands the particular
+documentation style we are using). While a rich set of
+markup is available, we limit ourselves to a very basic subset, in
+order to provide docstrings that are easy to read on text-only
+terminals.
+
+A guiding principle is that human readers of the text are given
+precedence over contorting docstrings so our tools produce nice
+output. Rather than sacrificing the readability of the docstrings, we
+have written pre-processors to assist Sphinx_ in its task.
+
+The length of docstring lines should be kept to 75 characters to
+facilitate reading the docstrings in text terminals.
+
+Sections
+--------
+
+The docstring consists of a number of sections separated by headings (except
+for the deprecation warning). Each heading should be underlined in hyphens, and
+the section ordering should be consistent with the description below.
+
+The sections of a function's docstring are:
+
+1. **Short summary**
+
+ A one-line summary that does not use variable names or the function
+ name, e.g.
+
+ ::
+
+ def add(a, b):
+ """The sum of two numbers.
+
+ """
+
+ The function signature is normally found by introspection and
+ displayed by the help function. For some functions (notably those
+ written in C) the signature is not available, so we have to specify
+ it as the first line of the docstring::
+
+ """
+ add(a, b)
+
+ The sum of two numbers.
+
+ """
+
+.. highlight:: rst
+
+2. **Deprecation warning**
+
+ A section (use if applicable) to warn users that the object is deprecated.
+ Section contents should include:
+
+ * In what NumPy version the object was deprecated, and when it will be
+ removed.
+
+ * Reason for deprecation if this is useful information (e.g., object
+ is superseded, duplicates functionality found elsewhere, etc.).
+
+ * New recommended way of obtaining the same functionality.
+
+ This section should use the ``deprecated`` Sphinx directive instead of an
+ underlined section header.
+
+ ::
+
+ .. deprecated:: 1.6.0
+ `ndobj_old` will be removed in NumPy 2.0.0, it is replaced by
+ `ndobj_new` because the latter works also with array subclasses.
+
+3. **Extended Summary**
+
+ A few sentences giving an extended description. This section
+ should be used to clarify *functionality*, not to discuss
+ implementation detail or background theory, which should rather be
+ explored in the **Notes** section below. You may refer to the
+ parameters and the function name, but parameter descriptions still
+ belong in the **Parameters** section.
+
+4. **Parameters**
+
+ Description of the function arguments, keywords and their
+ respective types.
+
+ ::
+
+ Parameters
+ ----------
+ x : type
+ Description of parameter `x`.
+ y
+ Description of parameter `y` (with type not specified)
+
+ Enclose variables in single backticks. The colon must be preceded
+ by a space, or omitted if the type is absent.
+
+ For the parameter types, be as precise as possible. Below are a
+ few examples of parameters and their types.
+
+ ::
+
+ Parameters
+ ----------
+ filename : str
+ copy : bool
+ dtype : data-type
+ iterable : iterable object
+ shape : int or tuple of int
+ files : list of str
+
+ If it is not necessary to specify a keyword argument, use
+ ``optional``::
+
+ x : int, optional
+
+ Optional keyword parameters have default values, which are
+ displayed as part of the function signature. They can also be
+ detailed in the description::
+
+ Description of parameter `x` (the default is -1, which implies summation
+ over all axes).
+
+ When a parameter can only assume one of a fixed set of values,
+ those values can be listed in braces, with the default appearing first::
+
+ order : {'C', 'F', 'A'}
+ Description of `order`.
+
+ When two or more input parameters have exactly the same type, shape and
+ description, they can be combined::
+
+ x1, x2 : array_like
+ Input arrays, description of `x1`, `x2`.
+
+5. **Returns**
+
+ Explanation of the returned values and their types. Similar to the
+ **Parameters** section, except the name of each return value is optional.
+ The type of each return value is always required::
+
+ Returns
+ -------
+ int
+ Description of anonymous integer return value.
+
+ If both the name and type are specified, the **Returns** section takes the
+ same form as the **Parameters** section::
+
+ Returns
+ -------
+ err_code : int
+ Non-zero value indicates error code, or zero on success.
+ err_msg : str or None
+ Human readable error message, or None on success.
+
+6. **Yields**
+
+ Explanation of the yielded values and their types. This is relevant to
+ generators only. Similar to the **Returns** section in that the name of
+ each value is optional, but the type of each value is always required::
+
+ Yields
+ ------
+ int
+ Description of the anonymous integer return value.
+
+ If both the name and type are specified, the **Yields** section takes the
+ same form as the **Returns** section::
+
+ Yields
+ ------
+ err_code : int
+ Non-zero value indicates error code, or zero on success.
+ err_msg : str or None
+ Human readable error message, or None on success.
+
+ Support for the **Yields** section was added in `numpydoc
+ <https://github.com/numpy/numpydoc>`_ version 0.6.
+
+7. **Receives**
+
+ Explanation of parameters passed to a generator's ``.send()`` method,
+ formatted as for Parameters, above. Since, like for Yields and Returns, a
+ single object is always passed to the method, this may describe either the
+ single parameter, or positional arguments passed as a tuple. If a docstring
+ includes Receives it must also include Yields.
+
+8. **Other Parameters**
+
+ An optional section used to describe infrequently used parameters.
+ It should only be used if a function has a large number of keyword
+ parameters, to prevent cluttering the **Parameters** section.
+
+9. **Raises**
+
+ An optional section detailing which errors get raised and under
+ what conditions::
+
+ Raises
+ ------
+ LinAlgException
+ If the matrix is not numerically invertible.
+
+ This section should be used judiciously, i.e., only for errors
+ that are non-obvious or have a large chance of getting raised.
+
+10. **Warns**
+
+ An optional section detailing which warnings get raised and
+ under what conditions, formatted similarly to Raises.
+
+11. **Warnings**
+
+ An optional section with cautions to the user in free text/reST.
+
+12. **See Also**
+
+ An optional section used to refer to related code. This section
+ can be very useful, but should be used judiciously. The goal is to
+ direct users to other functions they may not be aware of, or have
+ easy means of discovering (by looking at the module docstring, for
+ example). Routines whose docstrings further explain parameters
+ used by this function are good candidates.
+
+ As an example, for ``numpy.mean`` we would have::
+
+ See Also
+ --------
+ average : Weighted average
+
+ When referring to functions in the same sub-module, no prefix is
+ needed, and the tree is searched upwards for a match.
+
+ Prefix functions from other sub-modules appropriately. E.g.,
+ whilst documenting the ``random`` module, refer to a function in
+ ``fft`` by
+
+ ::
+
+ fft.fft2 : 2-D fast discrete Fourier transform
+
+ When referring to an entirely different module::
+
+ scipy.random.norm : Random variates, PDFs, etc.
+
+ Functions may be listed without descriptions, and this is
+ preferable if the functionality is clear from the function name::
+
+ See Also
+ --------
+ func_a : Function a with its description.
+ func_b, func_c_, func_d
+ func_e
+
+13. **Notes**
+
+ An optional section that provides additional information about the
+ code, possibly including a discussion of the algorithm. This
+ section may include mathematical equations, written in
+ `LaTeX <http://www.latex-project.org/>`_ format::
+
+ The FFT is a fast implementation of the discrete Fourier transform:
+
+ .. math:: X(e^{j\omega } ) = x(n)e^{ - j\omega n}
+
+ Equations can also be typeset underneath the math directive::
+
+ The discrete-time Fourier time-convolution property states that
+
+ .. math::
+
+ x(n) * y(n) \Leftrightarrow X(e^{j\omega } )Y(e^{j\omega } )\\
+ another equation here
+
+ Math can furthermore be used inline, i.e.
+
+ ::
+
+ The value of :math:`\omega` is larger than 5.
+
+ Variable names are displayed in typewriter font, obtained by using
+ ``\mathtt{var}``::
+
+ We square the input parameter `alpha` to obtain
+ :math:`\mathtt{alpha}^2`.
+
+ Note that LaTeX is not particularly easy to read, so use equations
+ sparingly.
+
+ Images are allowed, but should not be central to the explanation;
+ users viewing the docstring as text must be able to comprehend its
+ meaning without resorting to an image viewer. These additional
+ illustrations are included using::
+
+ .. image:: filename
+
+ where filename is a path relative to the reference guide source
+ directory.
+
+14. **References**
+
+ References cited in the **notes** section may be listed here,
+ e.g. if you cited the article below using the text ``[1]_``,
+ include it as in the list as follows::
+
+ .. [1] O. McNoleg, "The integration of GIS, remote sensing,
+ expert systems and adaptive co-kriging for environmental habitat
+ modelling of the Highland Haggis using object-oriented, fuzzy-logic
+ and neural-network techniques," Computers & Geosciences, vol. 22,
+ pp. 585-588, 1996.
+
+ which renders as [1]_:
+
+ .. [1] O. McNoleg, "The integration of GIS, remote sensing,
+ expert systems and adaptive co-kriging for environmental habitat
+ modelling of the Highland Haggis using object-oriented, fuzzy-logic
+ and neural-network techniques," Computers & Geosciences, vol. 22,
+ pp. 585-588, 1996.
+
+ Referencing sources of a temporary nature, like web pages, is
+ discouraged. References are meant to augment the docstring, but
+ should not be required to understand it. References are numbered, starting
+ from one, in the order in which they are cited.
+
+ .. warning:: **References will break tables**
+
+ Where references like [1] appear in a tables within a numpydoc
+ docstring, the table markup will be broken by numpydoc processing. See
+ `numpydoc issue #130 <https://github.com/numpy/numpydoc/issues/130>`_
+
+.. highlight:: pycon
+
+15. **Examples**
+
+ An optional section for examples, using the `doctest
+ <http://docs.python.org/library/doctest.html>`_ format.
+ This section is meant to illustrate usage, not to provide a
+ testing framework -- for that, use the ``tests/`` directory.
+ While optional, this section is very strongly encouraged.
+
+ When multiple examples are provided, they should be separated by
+ blank lines. Comments explaining the examples should have blank
+ lines both above and below them::
+
+ >>> np.add(1, 2)
+ 3
+
+ Comment explaining the second example
+
+ >>> np.add([1, 2], [3, 4])
+ array([4, 6])
+
+ The example code may be split across multiple lines, with each line after
+ the first starting with '... '::
+
+ >>> np.add([[1, 2], [3, 4]],
+ ... [[5, 6], [7, 8]])
+ array([[ 6, 8],
+ [10, 12]])
+
+ For tests with a result that is random or platform-dependent, mark the
+ output as such::
+
+ >>> import numpy.random
+ >>> np.random.rand(2)
+ array([ 0.35773152, 0.38568979]) #random
+
+ You can run examples as doctests using::
+
+ >>> np.test(doctests=True)
+ >>> np.linalg.test(doctests=True) # for a single module
+
+ In IPython it is also possible to run individual examples simply by
+ copy-pasting them in doctest mode::
+
+ In [1]: %doctest_mode
+ Exception reporting mode: Plain
+ Doctest mode is: ON
+ >>> %paste
+ import numpy.random
+ np.random.rand(2)
+ ## -- End pasted text --
+ array([ 0.8519522 , 0.15492887])
+
+
+ It is not necessary to use the doctest markup ``<BLANKLINE>`` to
+ indicate empty lines in the output. Note that the option to run
+ the examples through ``numpy.test`` is provided for checking if the
+ examples work, not for making the examples part of the testing framework.
+
+ The examples may assume that ``import numpy as np`` is executed before
+ the example code in *numpy*. Additional examples may make use of
+ *matplotlib* for plotting, but should import it explicitly, e.g.,
+ ``import matplotlib.pyplot as plt``. All other imports, including the
+ demonstrated function, must be explicit.
+
+ When matplotlib is imported in the example, the Example code will be
+ wrapped in `matplotlib's Sphinx `plot` directive
+ <http://matplotlib.org/sampledoc/extensions.html>`_. When matplotlib is
+ not explicitly imported, `.. plot::` can be used directly if
+ `matplotlib.sphinxext.plot_directive` is loaded as a Sphinx extension in
+ ``conf.py``.
+
+.. highlight:: rst
+
+Documenting classes
+-------------------
+
+Class docstring
+```````````````
+Use the same sections as outlined above (all except ``Returns`` are
+applicable). The constructor (``__init__``) should also be documented
+here, the **Parameters** section of the docstring details the constructors
+parameters.
+
+An **Attributes** section, located below the **Parameters** section,
+may be used to describe non-method attributes of the class::
+
+ Attributes
+ ----------
+ x : float
+ The X coordinate.
+ y : float
+ The Y coordinate.
+
+Attributes that are properties and have their own docstrings can be
+simply listed by name::
+
+ Attributes
+ ----------
+ real
+ imag
+ x : float
+ The X coordinate
+ y : float
+ The Y coordinate
+
+In general, it is not necessary to list class methods. Those that are
+not part of the public API have names that start with an underscore.
+In some cases, however, a class may have a great many methods, of
+which only a few are relevant (e.g., subclasses of ndarray). Then, it
+becomes useful to have an additional **Methods** section:
+
+.. code-block:: python
+
+ class Photo(ndarray):
+ """
+ Array with associated photographic information.
+
+ ...
+
+ Attributes
+ ----------
+ exposure : float
+ Exposure in seconds.
+
+ Methods
+ -------
+ colorspace(c='rgb')
+ Represent the photo in the given colorspace.
+ gamma(n=1.0)
+ Change the photo's gamma exposure.
+
+ """
+
+If it is necessary to explain a private method (use with care!), it can
+be referred to in the **Extended Summary** or the **Notes** section.
+Do not list private methods in the **methods** section.
+
+Note that `self` is *not* listed as the first parameter of methods.
+
+Method docstrings
+`````````````````
+Document these as you would any other function. Do not include
+``self`` in the list of parameters. If a method has an equivalent function
+(which is the case for many ndarray methods for example), the function
+docstring should contain the detailed documentation, and the method docstring
+should refer to it. Only put brief summary and **See Also** sections in the
+method docstring. The method should use a **Returns** or **Yields** section,
+as appropriate.
+
+
+Documenting class instances
+---------------------------
+Instances of classes that are part of the NumPy API (for example `np.r_`
+`np,c_`, `np.index_exp`, etc.) may require some care. To give these
+instances a useful docstring, we do the following:
+
+* Single instance: If only a single instance of a class is exposed,
+ document the class. Examples can use the instance name.
+
+* Multiple instances: If multiple instances are exposed, docstrings
+ for each instance are written and assigned to the instances'
+ ``__doc__`` attributes at run time. The class is documented as usual, and
+ the exposed instances can be mentioned in the **Notes** and **See Also**
+ sections.
+
+
+Documenting generators
+----------------------
+Generators should be documented just as functions are documented. The
+only difference is that one should use the **Yields** section instead
+of the **Returns** section. Support for the **Yields** section was added in
+`numpydoc <https://github.com/numpy/numpydoc>`_ version 0.6.
+
+
+Documenting constants
+---------------------
+Use the same sections as outlined for functions where applicable::
+
+ 1. summary
+ 2. extended summary (optional)
+ 3. see also (optional)
+ 4. references (optional)
+ 5. examples (optional)
+
+Docstrings for constants will not be visible in text terminals
+(constants are of immutable type, so docstrings can not be assigned
+to them like for for class instances), but will appear in the
+documentation built with Sphinx.
+
+
+Documenting modules
+-------------------
+Each module should have a docstring with at least a summary line. Other
+sections are optional, and should be used in the same order as for documenting
+functions when they are appropriate::
+
+ 1. summary
+ 2. extended summary
+ 3. routine listings
+ 4. see also
+ 5. notes
+ 6. references
+ 7. examples
+
+Routine listings are encouraged, especially for large modules, for which it is
+hard to get a good overview of all functionality provided by looking at the
+source file(s) or the ``__all__`` dict.
+
+Note that license and author info, while often included in source files, do not
+belong in docstrings.
+
+
+Other points to keep in mind
+----------------------------
+* Equations : as discussed in the **Notes** section above, LaTeX formatting
+ should be kept to a minimum. Often it's possible to show equations as
+ Python code or pseudo-code instead, which is much more readable in a
+ terminal. For inline display use double backticks (like ``y = np.sin(x)``).
+ For display with blank lines above and below, use a double colon and indent
+ the code, like::
+
+ end of previous sentence::
+
+ y = np.sin(x)
+
+* Notes and Warnings : If there are points in the docstring that deserve
+ special emphasis, the reST directives for a note or warning can be used
+ in the vicinity of the context of the warning (inside a section). Syntax::
+
+ .. warning:: Warning text.
+
+ .. note:: Note text.
+
+ Use these sparingly, as they do not look very good in text terminals
+ and are not often necessary. One situation in which a warning can
+ be useful is for marking a known bug that is not yet fixed.
+
+* array_like : For functions that take arguments which can have not only
+ a type `ndarray`, but also types that can be converted to an ndarray
+ (i.e. scalar types, sequence types), those arguments can be documented
+ with type `array_like`.
+
+* Links : If you need to include hyperlinks in your docstring, note that
+ some docstring sections are not parsed as standard reST, and in these
+ sections, numpydoc may become confused by hyperlink targets such as::
+
+ .. _Example: http://www.example.com
+
+ If the Sphinx build issues a warning of the form
+ ``WARNING: Unknown target name: "example"``, then that is what is happening.
+ To avoid this problem, use the inline hyperlink form::
+
+ `Example <http://www.example.com>`_
+
+
+Common reST concepts
+--------------------
+For paragraphs, indentation is significant and indicates indentation in the
+output. New paragraphs are marked with a blank line.
+
+Use ``*italics*``, ``**bold**`` and ````monospace```` if needed in any
+explanations
+(but not for variable names and doctest code or multi-line code).
+Variable, module, function, and class names should be written between
+single back-ticks (```numpy```).
+
+A more extensive example of reST markup can be found in `this example
+document <http://docutils.sourceforge.net/docs/user/rst/demo.txt>`_;
+the `quick reference
+<http://docutils.sourceforge.net/docs/user/rst/quickref.html>`_ is
+useful while editing.
+
+Line spacing and indentation are significant and should be carefully
+followed.
+
+Conclusion
+----------
+
+This document itself was written in ReStructuredText.
+:ref:`An example <example>` of the format shown here is available.
+
+.. _SciPy: http://www.scipy.org
+.. _numpy-discussion list: http://scipy.org/scipylib/mailing-lists.html
+.. _Sphinx: http://sphinx.pocoo.org
--- /dev/null
+=====================================
+numpydoc -- Numpy's Sphinx extensions
+=====================================
+
+Numpy's documentation uses several custom extensions to Sphinx. These
+are shipped in this ``numpydoc`` package, in case you want to make use
+of them in third-party projects.
+
+The ``numpydoc`` extension provides support for the Numpy docstring format in
+Sphinx, and adds the code description directives ``np:function``,
+``np-c:function``, etc. that support the Numpy docstring syntax.
+
+- Development: https://github.com/numpy/numpydoc/
+- Documentation: https://numpydoc.readthedocs.io/
+- PyPI: https://pypi.python.org/pypi/numpydoc/
+
+
+Documentation
+=============
+
+.. toctree::
+ install
+ format
+ example
+ validation
--- /dev/null
+
+============
+Installation
+============
+
+The extension is available from:
+
+* `numpydoc on PyPI <http://pypi.python.org/pypi/numpydoc>`_
+* `numpydoc on GitHub <https://github.com/numpy/numpydoc/>`_
+
+'numpydoc' should be added to the ``extensions`` option in your Sphinx
+``conf.py``. (Note that `sphinx.ext.autosummary` will automatically be loaded
+as well.)
+
+Sphinx config options
+=====================
+
+The following options can be set in your Sphinx ``conf.py``:
+
+numpydoc_use_plots : bool
+ Whether to produce ``plot::`` directives for Examples sections that
+ contain ``import matplotlib`` or ``from matplotlib import``.
+numpydoc_show_class_members : bool
+ Whether to show all members of a class in the Methods and Attributes
+ sections automatically.
+ ``True`` by default.
+numpydoc_show_inherited_class_members : bool
+ Whether to show all inherited members of a class in the Methods and Attributes
+ sections automatically. If it's false, inherited members won't shown.
+ ``True`` by default.
+numpydoc_class_members_toctree : bool
+ Whether to create a Sphinx table of contents for the lists of class
+ methods and attributes. If a table of contents is made, Sphinx expects
+ each entry to have a separate page.
+ ``True`` by default.
+numpydoc_citation_re : str
+ A regular expression matching citations which
+ should be mangled to avoid conflicts due to
+ duplication across the documentation. Defaults
+ to ``[\w-]+``.
+numpydoc_use_blockquotes : bool
+ Until version 0.8, parameter definitions were shown as blockquotes, rather
+ than in a definition list. If your styling requires blockquotes, switch
+ this config option to True. This option will be removed in version 0.10.
+numpydoc_edit_link : bool
+ .. deprecated:: edit your HTML template instead
+
+ Whether to insert an edit link after docstrings.
--- /dev/null
+@ECHO OFF\r
+\r
+REM Command file for Sphinx documentation\r
+\r
+if "%SPHINXBUILD%" == "" (\r
+ set SPHINXBUILD=sphinx-build\r
+)\r
+set BUILDDIR=_build\r
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .\r
+set I18NSPHINXOPTS=%SPHINXOPTS% .\r
+if NOT "%PAPER%" == "" (\r
+ set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%\r
+ set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%\r
+)\r
+\r
+if "%1" == "" goto help\r
+\r
+if "%1" == "help" (\r
+ :help\r
+ echo.Please use `make ^<target^>` where ^<target^> is one of\r
+ echo. html to make standalone HTML files\r
+ echo. dirhtml to make HTML files named index.html in directories\r
+ echo. singlehtml to make a single large HTML file\r
+ echo. pickle to make pickle files\r
+ echo. json to make JSON files\r
+ echo. htmlhelp to make HTML files and a HTML help project\r
+ echo. qthelp to make HTML files and a qthelp project\r
+ echo. devhelp to make HTML files and a Devhelp project\r
+ echo. epub to make an epub\r
+ echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter\r
+ echo. text to make text files\r
+ echo. man to make manual pages\r
+ echo. texinfo to make Texinfo files\r
+ echo. gettext to make PO message catalogs\r
+ echo. changes to make an overview over all changed/added/deprecated items\r
+ echo. xml to make Docutils-native XML files\r
+ echo. pseudoxml to make pseudoxml-XML files for display purposes\r
+ echo. linkcheck to check all external links for integrity\r
+ echo. doctest to run all doctests embedded in the documentation if enabled\r
+ goto end\r
+)\r
+\r
+if "%1" == "clean" (\r
+ for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i\r
+ del /q /s %BUILDDIR%\*\r
+ goto end\r
+)\r
+\r
+\r
+%SPHINXBUILD% 2> nul\r
+if errorlevel 9009 (\r
+ echo.\r
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx\r
+ echo.installed, then set the SPHINXBUILD environment variable to point\r
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you\r
+ echo.may add the Sphinx directory to PATH.\r
+ echo.\r
+ echo.If you don't have Sphinx installed, grab it from\r
+ echo.http://sphinx-doc.org/\r
+ exit /b 1\r
+)\r
+\r
+if "%1" == "html" (\r
+ %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The HTML pages are in %BUILDDIR%/html.\r
+ goto end\r
+)\r
+\r
+if "%1" == "dirhtml" (\r
+ %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.\r
+ goto end\r
+)\r
+\r
+if "%1" == "singlehtml" (\r
+ %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.\r
+ goto end\r
+)\r
+\r
+if "%1" == "pickle" (\r
+ %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished; now you can process the pickle files.\r
+ goto end\r
+)\r
+\r
+if "%1" == "json" (\r
+ %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished; now you can process the JSON files.\r
+ goto end\r
+)\r
+\r
+if "%1" == "htmlhelp" (\r
+ %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished; now you can run HTML Help Workshop with the ^\r
+.hhp project file in %BUILDDIR%/htmlhelp.\r
+ goto end\r
+)\r
+\r
+if "%1" == "qthelp" (\r
+ %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished; now you can run "qcollectiongenerator" with the ^\r
+.qhcp project file in %BUILDDIR%/qthelp, like this:\r
+ echo.^> qcollectiongenerator %BUILDDIR%\qthelp\project-template.qhcp\r
+ echo.To view the help file:\r
+ echo.^> assistant -collectionFile %BUILDDIR%\qthelp\project-template.ghc\r
+ goto end\r
+)\r
+\r
+if "%1" == "devhelp" (\r
+ %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished.\r
+ goto end\r
+)\r
+\r
+if "%1" == "epub" (\r
+ %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The epub file is in %BUILDDIR%/epub.\r
+ goto end\r
+)\r
+\r
+if "%1" == "latex" (\r
+ %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.\r
+ goto end\r
+)\r
+\r
+if "%1" == "latexpdf" (\r
+ %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex\r
+ cd %BUILDDIR%/latex\r
+ make all-pdf\r
+ cd %BUILDDIR%/..\r
+ echo.\r
+ echo.Build finished; the PDF files are in %BUILDDIR%/latex.\r
+ goto end\r
+)\r
+\r
+if "%1" == "latexpdfja" (\r
+ %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex\r
+ cd %BUILDDIR%/latex\r
+ make all-pdf-ja\r
+ cd %BUILDDIR%/..\r
+ echo.\r
+ echo.Build finished; the PDF files are in %BUILDDIR%/latex.\r
+ goto end\r
+)\r
+\r
+if "%1" == "text" (\r
+ %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The text files are in %BUILDDIR%/text.\r
+ goto end\r
+)\r
+\r
+if "%1" == "man" (\r
+ %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The manual pages are in %BUILDDIR%/man.\r
+ goto end\r
+)\r
+\r
+if "%1" == "texinfo" (\r
+ %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.\r
+ goto end\r
+)\r
+\r
+if "%1" == "gettext" (\r
+ %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The message catalogs are in %BUILDDIR%/locale.\r
+ goto end\r
+)\r
+\r
+if "%1" == "changes" (\r
+ %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.The overview file is in %BUILDDIR%/changes.\r
+ goto end\r
+)\r
+\r
+if "%1" == "linkcheck" (\r
+ %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Link check complete; look for any errors in the above output ^\r
+or in %BUILDDIR%/linkcheck/output.txt.\r
+ goto end\r
+)\r
+\r
+if "%1" == "doctest" (\r
+ %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Testing of doctests in the sources finished, look at the ^\r
+results in %BUILDDIR%/doctest/output.txt.\r
+ goto end\r
+)\r
+\r
+if "%1" == "xml" (\r
+ %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The XML files are in %BUILDDIR%/xml.\r
+ goto end\r
+)\r
+\r
+if "%1" == "pseudoxml" (\r
+ %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml\r
+ if errorlevel 1 exit /b 1\r
+ echo.\r
+ echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.\r
+ goto end\r
+)\r
+\r
+:end\r
--- /dev/null
+numpy
+matplotlib
--- /dev/null
+==============================
+Validating NumpyDoc docstrings
+==============================
+
+One tool for validating docstrings is to see how an object's dosctring
+translates to Restructured Text. Using numpydoc as a command-line tool
+facilitates this. For example to see the Restructured Text generated
+for ``numpy.ndarray``, use:
+
+.. code-block:: bash
+
+ $ python -m numpydoc numpy.ndarray
--- /dev/null
+from __future__ import division, absolute_import, print_function
+
+__version__ = '0.9.0.dev0'
+
+
+def setup(app, *args, **kwargs):
+ from .numpydoc import setup
+ return setup(app, *args, **kwargs)
--- /dev/null
+import argparse
+import importlib
+import ast
+
+from .docscrape_sphinx import get_doc_object
+
+
+def main(argv=None):
+ """Test numpydoc docstring generation for a given object"""
+
+ ap = argparse.ArgumentParser(description=__doc__)
+ ap.add_argument('import_path', help='e.g. numpy.ndarray')
+
+ def _parse_config(s):
+ key, _, value = s.partition('=')
+ value = ast.literal_eval(value)
+ return key, value
+
+ ap.add_argument('-c', '--config', type=_parse_config,
+ action='append',
+ help='key=val where val will be parsed by literal_eval, '
+ 'e.g. -c use_plots=True. Multiple -c can be used.')
+ args = ap.parse_args(argv)
+
+ parts = args.import_path.split('.')
+
+ for split_point in range(len(parts), 0, -1):
+ try:
+ path = '.'.join(parts[:split_point])
+ obj = importlib.import_module(path)
+ except ImportError:
+ continue
+ break
+ else:
+ raise ImportError('Could not resolve {!r} to an importable object'
+ ''.format(args.import_path))
+
+ for part in parts[split_point:]:
+ obj = getattr(obj, part)
+
+ print(get_doc_object(obj, config=dict(args.config or [])))
+
+if __name__ == '__main__':
+ main()
--- /dev/null
+"""Extract reference documentation from the NumPy source tree.
+
+"""
+from __future__ import division, absolute_import, print_function
+
+import inspect
+import textwrap
+import re
+import pydoc
+from warnings import warn
+from collections import namedtuple
+try:
+ from collections.abc import Callable, Mapping
+except ImportError:
+ from collections import Callable, Mapping
+import copy
+import sys
+
+from sphinx.ext.autodoc import ALL
+
+def strip_blank_lines(l):
+ "Remove leading and trailing blank lines from a list of lines"
+ while l and not l[0].strip():
+ del l[0]
+ while l and not l[-1].strip():
+ del l[-1]
+ return l
+
+
+class Reader(object):
+ """A line-based string reader.
+
+ """
+ def __init__(self, data):
+ """
+ Parameters
+ ----------
+ data : str
+ String with lines separated by '\n'.
+
+ """
+ if isinstance(data, list):
+ self._str = data
+ else:
+ self._str = data.split('\n') # store string as list of lines
+
+ self.reset()
+
+ def __getitem__(self, n):
+ return self._str[n]
+
+ def reset(self):
+ self._l = 0 # current line nr
+
+ def read(self):
+ if not self.eof():
+ out = self[self._l]
+ self._l += 1
+ return out
+ else:
+ return ''
+
+ def seek_next_non_empty_line(self):
+ for l in self[self._l:]:
+ if l.strip():
+ break
+ else:
+ self._l += 1
+
+ def eof(self):
+ return self._l >= len(self._str)
+
+ def read_to_condition(self, condition_func):
+ start = self._l
+ for line in self[start:]:
+ if condition_func(line):
+ return self[start:self._l]
+ self._l += 1
+ if self.eof():
+ return self[start:self._l+1]
+ return []
+
+ def read_to_next_empty_line(self):
+ self.seek_next_non_empty_line()
+
+ def is_empty(line):
+ return not line.strip()
+
+ return self.read_to_condition(is_empty)
+
+ def read_to_next_unindented_line(self):
+ def is_unindented(line):
+ return (line.strip() and (len(line.lstrip()) == len(line)))
+ return self.read_to_condition(is_unindented)
+
+ def peek(self, n=0):
+ if self._l + n < len(self._str):
+ return self[self._l + n]
+ else:
+ return ''
+
+ def is_empty(self):
+ return not ''.join(self._str).strip()
+
+
+class ParseError(Exception):
+ def __str__(self):
+ message = self.args[0]
+ if hasattr(self, 'docstring'):
+ message = "%s in %r" % (message, self.docstring)
+ return message
+
+
+Parameter = namedtuple('Parameter', ['name', 'type', 'desc'])
+
+
+class NumpyDocString(Mapping):
+ """Parses a numpydoc string to an abstract representation
+
+ Instances define a mapping from section title to structured data.
+
+ """
+
+ sections = {
+ 'Signature': '',
+ 'Summary': [''],
+ 'Extended Summary': [],
+ 'Parameters': [],
+ 'Returns': [],
+ 'Yields': [],
+ 'Receives': [],
+ 'Raises': [],
+ 'Warns': [],
+ 'Other Parameters': [],
+ 'Attributes': [],
+ 'Methods': [],
+ 'See Also': [],
+ 'Notes': [],
+ 'Warnings': [],
+ 'References': '',
+ 'Examples': '',
+ 'index': {}
+ }
+
+ def __init__(self, docstring, config={}):
+ orig_docstring = docstring
+ docstring = textwrap.dedent(docstring).split('\n')
+
+ self._doc = Reader(docstring)
+ self._parsed_data = copy.deepcopy(self.sections)
+
+ try:
+ self._parse()
+ except ParseError as e:
+ e.docstring = orig_docstring
+ raise
+
+ def __getitem__(self, key):
+ return self._parsed_data[key]
+
+ def __setitem__(self, key, val):
+ if key not in self._parsed_data:
+ self._error_location("Unknown section %s" % key, error=False)
+ else:
+ self._parsed_data[key] = val
+
+ def __iter__(self):
+ return iter(self._parsed_data)
+
+ def __len__(self):
+ return len(self._parsed_data)
+
+ def _is_at_section(self):
+ self._doc.seek_next_non_empty_line()
+
+ if self._doc.eof():
+ return False
+
+ l1 = self._doc.peek().strip() # e.g. Parameters
+
+ if l1.startswith('.. index::'):
+ return True
+
+ l2 = self._doc.peek(1).strip() # ---------- or ==========
+ return l2.startswith('-'*len(l1)) or l2.startswith('='*len(l1))
+
+ def _strip(self, doc):
+ i = 0
+ j = 0
+ for i, line in enumerate(doc):
+ if line.strip():
+ break
+
+ for j, line in enumerate(doc[::-1]):
+ if line.strip():
+ break
+
+ return doc[i:len(doc)-j]
+
+ def _read_to_next_section(self):
+ section = self._doc.read_to_next_empty_line()
+
+ while not self._is_at_section() and not self._doc.eof():
+ if not self._doc.peek(-1).strip(): # previous line was empty
+ section += ['']
+
+ section += self._doc.read_to_next_empty_line()
+
+ return section
+
+ def _read_sections(self):
+ while not self._doc.eof():
+ data = self._read_to_next_section()
+ name = data[0].strip()
+
+ if name.startswith('..'): # index section
+ yield name, data[1:]
+ elif len(data) < 2:
+ yield StopIteration
+ else:
+ yield name, self._strip(data[2:])
+
+ def _parse_param_list(self, content):
+ r = Reader(content)
+ params = []
+ while not r.eof():
+ header = r.read().strip()
+ if ' : ' in header:
+ arg_name, arg_type = header.split(' : ')[:2]
+ else:
+ arg_name, arg_type = header, ''
+
+ desc = r.read_to_next_unindented_line()
+ desc = dedent_lines(desc)
+ desc = strip_blank_lines(desc)
+
+ params.append(Parameter(arg_name, arg_type, desc))
+
+ return params
+
+ _name_rgx = re.compile(r"^\s*(:(?P<role>\w+):"
+ r"`(?P<name>(?:~\w+\.)?[a-zA-Z0-9_.-]+)`|"
+ r" (?P<name2>[a-zA-Z0-9_.-]+))\s*", re.X)
+
+ def _parse_see_also(self, content):
+ """
+ func_name : Descriptive text
+ continued text
+ another_func_name : Descriptive text
+ func_name1, func_name2, :meth:`func_name`, func_name3
+
+ """
+ items = []
+
+ def parse_item_name(text):
+ """Match ':role:`name`' or 'name'"""
+ m = self._name_rgx.match(text)
+ if m:
+ g = m.groups()
+ if g[1] is None:
+ return g[3], None
+ else:
+ return g[2], g[1]
+ raise ParseError("%s is not a item name" % text)
+
+ def push_item(name, rest):
+ if not name:
+ return
+ name, role = parse_item_name(name)
+ items.append((name, list(rest), role))
+ del rest[:]
+
+ current_func = None
+ rest = []
+
+ for line in content:
+ if not line.strip():
+ continue
+
+ m = self._name_rgx.match(line)
+ if m and line[m.end():].strip().startswith(':'):
+ push_item(current_func, rest)
+ current_func, line = line[:m.end()], line[m.end():]
+ rest = [line.split(':', 1)[1].strip()]
+ if not rest[0]:
+ rest = []
+ elif not line.startswith(' '):
+ push_item(current_func, rest)
+ current_func = None
+ if ',' in line:
+ for func in line.split(','):
+ if func.strip():
+ push_item(func, [])
+ elif line.strip():
+ current_func = line
+ elif current_func is not None:
+ rest.append(line.strip())
+ push_item(current_func, rest)
+ return items
+
+ def _parse_index(self, section, content):
+ """
+ .. index: default
+ :refguide: something, else, and more
+
+ """
+ def strip_each_in(lst):
+ return [s.strip() for s in lst]
+
+ out = {}
+ section = section.split('::')
+ if len(section) > 1:
+ out['default'] = strip_each_in(section[1].split(','))[0]
+ for line in content:
+ line = line.split(':')
+ if len(line) > 2:
+ out[line[1]] = strip_each_in(line[2].split(','))
+ return out
+
+ def _parse_summary(self):
+ """Grab signature (if given) and summary"""
+ if self._is_at_section():
+ return
+
+ # If several signatures present, take the last one
+ while True:
+ summary = self._doc.read_to_next_empty_line()
+ summary_str = " ".join([s.strip() for s in summary]).strip()
+ compiled = re.compile(r'^([\w., ]+=)?\s*[\w\.]+\(.*\)$')
+ if compiled.match(summary_str):
+ self['Signature'] = summary_str
+ if not self._is_at_section():
+ continue
+ break
+
+ if summary is not None:
+ self['Summary'] = summary
+
+ if not self._is_at_section():
+ self['Extended Summary'] = self._read_to_next_section()
+
+ def _parse(self):
+ self._doc.reset()
+ self._parse_summary()
+
+ sections = list(self._read_sections())
+ section_names = set([section for section, content in sections])
+
+ has_returns = 'Returns' in section_names
+ has_yields = 'Yields' in section_names
+ # We could do more tests, but we are not. Arbitrarily.
+ if has_returns and has_yields:
+ msg = 'Docstring contains both a Returns and Yields section.'
+ raise ValueError(msg)
+ if not has_yields and 'Receives' in section_names:
+ msg = 'Docstring contains a Receives section but not Yields.'
+ raise ValueError(msg)
+
+ for (section, content) in sections:
+ if not section.startswith('..'):
+ section = (s.capitalize() for s in section.split(' '))
+ section = ' '.join(section)
+ if self.get(section):
+ self._error_location("The section %s appears twice"
+ % section)
+
+ if section in ('Parameters', 'Returns', 'Yields', 'Receives',
+ 'Raises', 'Warns', 'Other Parameters', 'Attributes',
+ 'Methods'):
+ self[section] = self._parse_param_list(content)
+ elif section.startswith('.. index::'):
+ self['index'] = self._parse_index(section, content)
+ elif section == 'See Also':
+ self['See Also'] = self._parse_see_also(content)
+ else:
+ self[section] = content
+
+ def _error_location(self, msg, error=True):
+ if hasattr(self, '_obj'):
+ # we know where the docs came from:
+ try:
+ filename = inspect.getsourcefile(self._obj)
+ except TypeError:
+ filename = None
+ msg = msg + (" in the docstring of %s in %s."
+ % (self._obj, filename))
+ if error:
+ raise ValueError(msg)
+ else:
+ warn(msg)
+
+ # string conversion routines
+
+ def _str_header(self, name, symbol='-'):
+ return [name, len(name)*symbol]
+
+ def _str_indent(self, doc, indent=4):
+ out = []
+ for line in doc:
+ out += [' '*indent + line]
+ return out
+
+ def _str_signature(self):
+ if self['Signature']:
+ return [self['Signature'].replace('*', r'\*')] + ['']
+ else:
+ return ['']
+
+ def _str_summary(self):
+ if self['Summary']:
+ return self['Summary'] + ['']
+ else:
+ return []
+
+ def _str_extended_summary(self):
+ if self['Extended Summary']:
+ return self['Extended Summary'] + ['']
+ else:
+ return []
+
+ def _str_param_list(self, name):
+ out = []
+ if self[name]:
+ out += self._str_header(name)
+ for param in self[name]:
+ if param.type:
+ out += ['%s : %s' % (param.name, param.type)]
+ else:
+ out += [param.name]
+ if param.desc and ''.join(param.desc).strip():
+ out += self._str_indent(param.desc)
+ out += ['']
+ return out
+
+ def _str_section(self, name):
+ out = []
+ if self[name]:
+ out += self._str_header(name)
+ out += self[name]
+ out += ['']
+ return out
+
+ def _str_see_also(self, func_role):
+ if not self['See Also']:
+ return []
+ out = []
+ out += self._str_header("See Also")
+ last_had_desc = True
+ for func, desc, role in self['See Also']:
+ if role:
+ link = ':%s:`%s`' % (role, func)
+ elif func_role:
+ link = ':%s:`%s`' % (func_role, func)
+ else:
+ link = "`%s`_" % func
+ if desc or last_had_desc:
+ out += ['']
+ out += [link]
+ else:
+ out[-1] += ", %s" % link
+ if desc:
+ out += self._str_indent([' '.join(desc)])
+ last_had_desc = True
+ else:
+ last_had_desc = False
+ out += ['']
+ return out
+
+ def _str_index(self):
+ idx = self['index']
+ out = []
+ output_index = False
+ default_index = idx.get('default', '')
+ if default_index:
+ output_index = True
+ out += ['.. index:: %s' % default_index]
+ for section, references in idx.items():
+ if section == 'default':
+ continue
+ output_index = True
+ out += [' :%s: %s' % (section, ', '.join(references))]
+ if output_index:
+ return out
+ else:
+ return ''
+
+ def __str__(self, func_role=''):
+ out = []
+ out += self._str_signature()
+ out += self._str_summary()
+ out += self._str_extended_summary()
+ for param_list in ('Parameters', 'Returns', 'Yields', 'Receives',
+ 'Other Parameters', 'Raises', 'Warns'):
+ out += self._str_param_list(param_list)
+ out += self._str_section('Warnings')
+ out += self._str_see_also(func_role)
+ for s in ('Notes', 'References', 'Examples'):
+ out += self._str_section(s)
+ for param_list in ('Attributes', 'Methods'):
+ out += self._str_param_list(param_list)
+ out += self._str_index()
+ return '\n'.join(out)
+
+
+def indent(str, indent=4):
+ indent_str = ' '*indent
+ if str is None:
+ return indent_str
+ lines = str.split('\n')
+ return '\n'.join(indent_str + l for l in lines)
+
+
+def dedent_lines(lines):
+ """Deindent a list of lines maximally"""
+ return textwrap.dedent("\n".join(lines)).split("\n")
+
+
+def header(text, style='-'):
+ return text + '\n' + style*len(text) + '\n'
+
+
+class FunctionDoc(NumpyDocString):
+ def __init__(self, func, role='func', doc=None, config={}):
+ self._f = func
+ self._role = role # e.g. "func" or "meth"
+
+ if doc is None:
+ if func is None:
+ raise ValueError("No function or docstring given")
+ doc = inspect.getdoc(func) or ''
+ NumpyDocString.__init__(self, doc)
+
+ if not self['Signature'] and func is not None:
+ func, func_name = self.get_func()
+ try:
+ try:
+ signature = str(inspect.signature(func))
+ except (AttributeError, ValueError):
+ # try to read signature, backward compat for older Python
+ if sys.version_info[0] >= 3:
+ argspec = inspect.getfullargspec(func)
+ else:
+ argspec = inspect.getargspec(func)
+ signature = inspect.formatargspec(*argspec)
+ signature = '%s%s' % (func_name, signature.replace('*', r'\*'))
+ except TypeError:
+ signature = '%s()' % func_name
+ self['Signature'] = signature
+
+ def get_func(self):
+ func_name = getattr(self._f, '__name__', self.__class__.__name__)
+ if inspect.isclass(self._f):
+ func = getattr(self._f, '__call__', self._f.__init__)
+ else:
+ func = self._f
+ return func, func_name
+
+ def __str__(self):
+ out = ''
+
+ func, func_name = self.get_func()
+ signature = self['Signature'].replace('*', r'\*')
+
+ roles = {'func': 'function',
+ 'meth': 'method'}
+
+ if self._role:
+ if self._role not in roles:
+ print("Warning: invalid role %s" % self._role)
+ out += '.. %s:: %s\n \n\n' % (roles.get(self._role, ''),
+ func_name)
+
+ out += super(FunctionDoc, self).__str__(func_role=self._role)
+ return out
+
+
+class ClassDoc(NumpyDocString):
+
+ extra_public_methods = ['__call__']
+
+ def __init__(self, cls, doc=None, modulename='', func_doc=FunctionDoc,
+ config={}):
+ if not inspect.isclass(cls) and cls is not None:
+ raise ValueError("Expected a class or None, but got %r" % cls)
+ self._cls = cls
+
+ self.show_inherited_members = config.get(
+ 'show_inherited_class_members', True)
+
+ if modulename and not modulename.endswith('.'):
+ modulename += '.'
+ self._mod = modulename
+
+ if doc is None:
+ if cls is None:
+ raise ValueError("No class or documentation string given")
+ doc = pydoc.getdoc(cls)
+
+ NumpyDocString.__init__(self, doc)
+
+ _members = config.get('members', [])
+ if _members is ALL:
+ _members = None
+ _exclude = config.get('exclude-members', [])
+
+ if config.get('show_class_members', True) and _exclude is not ALL:
+ def splitlines_x(s):
+ if not s:
+ return []
+ else:
+ return s.splitlines()
+ for field, items in [('Methods', self.methods),
+ ('Attributes', self.properties)]:
+ if not self[field]:
+ doc_list = []
+ for name in sorted(items):
+ if (name in _exclude or
+ (_members and name not in _members)):
+ continue
+ try:
+ doc_item = pydoc.getdoc(getattr(self._cls, name))
+ doc_list.append(
+ Parameter(name, '', splitlines_x(doc_item)))
+ except AttributeError:
+ pass # method doesn't exist
+ self[field] = doc_list
+
+ @property
+ def methods(self):
+ if self._cls is None:
+ return []
+ return [name for name, func in inspect.getmembers(self._cls)
+ if ((not name.startswith('_')
+ or name in self.extra_public_methods)
+ and isinstance(func, Callable)
+ and self._is_show_member(name))]
+
+ @property
+ def properties(self):
+ if self._cls is None:
+ return []
+ return [name for name, func in inspect.getmembers(self._cls)
+ if (not name.startswith('_') and
+ (func is None or isinstance(func, property) or
+ inspect.isdatadescriptor(func))
+ and self._is_show_member(name))]
+
+ def _is_show_member(self, name):
+ if self.show_inherited_members:
+ return True # show all class members
+ if name not in self._cls.__dict__:
+ return False # class member is inherited, we do not show it
+ return True
--- /dev/null
+from __future__ import division, absolute_import, print_function
+
+import sys
+import re
+import inspect
+import textwrap
+import pydoc
+try:
+ from collections.abc import Callable
+except ImportError:
+ from collections import Callable
+import os
+
+from jinja2 import FileSystemLoader
+from jinja2.sandbox import SandboxedEnvironment
+import sphinx
+from sphinx.jinja2glue import BuiltinTemplateLoader
+
+from .docscrape import NumpyDocString, FunctionDoc, ClassDoc
+
+if sys.version_info[0] >= 3:
+ sixu = lambda s: s
+else:
+ sixu = lambda s: unicode(s, 'unicode_escape')
+
+
+IMPORT_MATPLOTLIB_RE = r'\b(import +matplotlib|from +matplotlib +import)\b'
+
+
+class SphinxDocString(NumpyDocString):
+ def __init__(self, docstring, config={}):
+ NumpyDocString.__init__(self, docstring, config=config)
+ self.load_config(config)
+
+ def load_config(self, config):
+ self.use_plots = config.get('use_plots', False)
+ self.use_blockquotes = config.get('use_blockquotes', False)
+ self.class_members_toctree = config.get('class_members_toctree', True)
+ self.template = config.get('template', None)
+ if self.template is None:
+ template_dirs = [os.path.join(os.path.dirname(__file__), 'templates')]
+ template_loader = FileSystemLoader(template_dirs)
+ template_env = SandboxedEnvironment(loader=template_loader)
+ self.template = template_env.get_template('numpydoc_docstring.rst')
+
+ # string conversion routines
+ def _str_header(self, name, symbol='`'):
+ return ['.. rubric:: ' + name, '']
+
+ def _str_field_list(self, name):
+ return [':' + name + ':']
+
+ def _str_indent(self, doc, indent=4):
+ out = []
+ for line in doc:
+ out += [' '*indent + line]
+ return out
+
+ def _str_signature(self):
+ return ['']
+ if self['Signature']:
+ return ['``%s``' % self['Signature']] + ['']
+ else:
+ return ['']
+
+ def _str_summary(self):
+ return self['Summary'] + ['']
+
+ def _str_extended_summary(self):
+ return self['Extended Summary'] + ['']
+
+ def _str_returns(self, name='Returns'):
+ typed_fmt = '**%s** : %s'
+ untyped_fmt = '**%s**'
+
+ out = []
+ if self[name]:
+ out += self._str_field_list(name)
+ out += ['']
+ for param in self[name]:
+ if param.type:
+ out += self._str_indent([typed_fmt % (param.name.strip(),
+ param.type)])
+ else:
+ out += self._str_indent([untyped_fmt % param.name.strip()])
+ if not param.desc:
+ out += self._str_indent(['..'], 8)
+ else:
+ if self.use_blockquotes:
+ out += ['']
+ out += self._str_indent(param.desc, 8)
+ out += ['']
+ return out
+
+ def _escape_args_and_kwargs(self, name):
+ if name[:2] == '**':
+ return r'\*\*' + name[2:]
+ elif name[:1] == '*':
+ return r'\*' + name[1:]
+ else:
+ return name
+
+ def _process_param(self, param, desc, fake_autosummary):
+ """Determine how to display a parameter
+
+ Emulates autosummary behavior if fake_autosummary
+
+ Parameters
+ ----------
+ param : str
+ The name of the parameter
+ desc : list of str
+ The parameter description as given in the docstring. This is
+ ignored when autosummary logic applies.
+ fake_autosummary : bool
+ If True, autosummary-style behaviour will apply for params
+ that are attributes of the class and have a docstring.
+
+ Returns
+ -------
+ display_param : str
+ The marked up parameter name for display. This may include a link
+ to the corresponding attribute's own documentation.
+ desc : list of str
+ A list of description lines. This may be identical to the input
+ ``desc``, if ``autosum is None`` or ``param`` is not a class
+ attribute, or it will be a summary of the class attribute's
+ docstring.
+
+ Notes
+ -----
+ This does not have the autosummary functionality to display a method's
+ signature, and hence is not used to format methods. It may be
+ complicated to incorporate autosummary's signature mangling, as it
+ relies on Sphinx's plugin mechanism.
+ """
+ param = self._escape_args_and_kwargs(param.strip())
+ # param = param.strip()
+ # XXX: If changing the following, please check the rendering when param
+ # ends with '_', e.g. 'word_'
+ # See https://github.com/numpy/numpydoc/pull/144
+ display_param = '**%s**' % param
+
+ if not fake_autosummary:
+ return display_param, desc
+
+ param_obj = getattr(self._obj, param, None)
+ if not (callable(param_obj)
+ or isinstance(param_obj, property)
+ or inspect.isgetsetdescriptor(param_obj)
+ or inspect.ismemberdescriptor(param_obj)):
+ param_obj = None
+ obj_doc = pydoc.getdoc(param_obj)
+
+ if not (param_obj and obj_doc):
+ return display_param, desc
+
+ prefix = getattr(self, '_name', '')
+ if prefix:
+ autosum_prefix = '~%s.' % prefix
+ link_prefix = '%s.' % prefix
+ else:
+ autosum_prefix = ''
+ link_prefix = ''
+
+ # Referenced object has a docstring
+ display_param = ':obj:`%s <%s%s>`' % (param,
+ link_prefix,
+ param)
+ if obj_doc:
+ # Overwrite desc. Take summary logic of autosummary
+ desc = re.split(r'\n\s*\n', obj_doc.strip(), 1)[0]
+ # XXX: Should this have DOTALL?
+ # It does not in autosummary
+ m = re.search(r"^([A-Z].*?\.)(?:\s|$)",
+ ' '.join(desc.split()))
+ if m:
+ desc = m.group(1).strip()
+ else:
+ desc = desc.partition('\n')[0]
+ desc = desc.split('\n')
+ return display_param, desc
+
+ def _str_param_list(self, name, fake_autosummary=False):
+ """Generate RST for a listing of parameters or similar
+
+ Parameter names are displayed as bold text, and descriptions
+ are in blockquotes. Descriptions may therefore contain block
+ markup as well.
+
+ Parameters
+ ----------
+ name : str
+ Section name (e.g. Parameters)
+ fake_autosummary : bool
+ When True, the parameter names may correspond to attributes of the
+ object beign documented, usually ``property`` instances on a class.
+ In this case, names will be linked to fuller descriptions.
+
+ Returns
+ -------
+ rst : list of str
+ """
+ out = []
+ if self[name]:
+ out += self._str_field_list(name)
+ out += ['']
+ for param in self[name]:
+ display_param, desc = self._process_param(param.name,
+ param.desc,
+ fake_autosummary)
+
+ if param.type:
+ out += self._str_indent(['%s : %s' % (display_param,
+ param.type)])
+ else:
+ out += self._str_indent([display_param])
+ if desc and self.use_blockquotes:
+ out += ['']
+ elif not desc:
+ # empty definition
+ desc = ['..']
+ out += self._str_indent(desc, 8)
+ out += ['']
+
+ return out
+
+ @property
+ def _obj(self):
+ if hasattr(self, '_cls'):
+ return self._cls
+ elif hasattr(self, '_f'):
+ return self._f
+ return None
+
+ def _str_member_list(self, name):
+ """
+ Generate a member listing, autosummary:: table where possible,
+ and a table where not.
+
+ """
+ out = []
+ if self[name]:
+ out += ['.. rubric:: %s' % name, '']
+ prefix = getattr(self, '_name', '')
+
+ if prefix:
+ prefix = '~%s.' % prefix
+
+ autosum = []
+ others = []
+ for param in self[name]:
+ param = param._replace(name=param.name.strip())
+
+ # Check if the referenced member can have a docstring or not
+ param_obj = getattr(self._obj, param.name, None)
+ if not (callable(param_obj)
+ or isinstance(param_obj, property)
+ or inspect.isdatadescriptor(param_obj)):
+ param_obj = None
+
+ if param_obj and pydoc.getdoc(param_obj):
+ # Referenced object has a docstring
+ autosum += [" %s%s" % (prefix, param.name)]
+ else:
+ others.append(param)
+
+ if autosum:
+ out += ['.. autosummary::']
+ if self.class_members_toctree:
+ out += [' :toctree:']
+ out += [''] + autosum
+
+ if others:
+ maxlen_0 = max(3, max([len(p.name) + 4 for p in others]))
+ hdr = sixu("=") * maxlen_0 + sixu(" ") + sixu("=") * 10
+ fmt = sixu('%%%ds %%s ') % (maxlen_0,)
+ out += ['', '', hdr]
+ for param in others:
+ name = "**" + param.name.strip() + "**"
+ desc = sixu(" ").join(x.strip()
+ for x in param.desc).strip()
+ if param.type:
+ desc = "(%s) %s" % (param.type, desc)
+ out += [fmt % (name, desc)]
+ out += [hdr]
+ out += ['']
+ return out
+
+ def _str_section(self, name):
+ out = []
+ if self[name]:
+ out += self._str_header(name)
+ content = textwrap.dedent("\n".join(self[name])).split("\n")
+ out += content
+ out += ['']
+ return out
+
+ def _str_see_also(self, func_role):
+ out = []
+ if self['See Also']:
+ see_also = super(SphinxDocString, self)._str_see_also(func_role)
+ out = ['.. seealso::', '']
+ out += self._str_indent(see_also[2:])
+ return out
+
+ def _str_warnings(self):
+ out = []
+ if self['Warnings']:
+ out = ['.. warning::', '']
+ out += self._str_indent(self['Warnings'])
+ out += ['']
+ return out
+
+ def _str_index(self):
+ idx = self['index']
+ out = []
+ if len(idx) == 0:
+ return out
+
+ out += ['.. index:: %s' % idx.get('default', '')]
+ for section, references in idx.items():
+ if section == 'default':
+ continue
+ elif section == 'refguide':
+ out += [' single: %s' % (', '.join(references))]
+ else:
+ out += [' %s: %s' % (section, ','.join(references))]
+ out += ['']
+ return out
+
+ def _str_references(self):
+ out = []
+ if self['References']:
+ out += self._str_header('References')
+ if isinstance(self['References'], str):
+ self['References'] = [self['References']]
+ out.extend(self['References'])
+ out += ['']
+ # Latex collects all references to a separate bibliography,
+ # so we need to insert links to it
+ if sphinx.__version__ >= "0.6":
+ out += ['.. only:: latex', '']
+ else:
+ out += ['.. latexonly::', '']
+ items = []
+ for line in self['References']:
+ m = re.match(r'.. \[([a-z0-9._-]+)\]', line, re.I)
+ if m:
+ items.append(m.group(1))
+ out += [' ' + ", ".join(["[%s]_" % item for item in items]), '']
+ return out
+
+ def _str_examples(self):
+ examples_str = "\n".join(self['Examples'])
+
+ if (self.use_plots and re.search(IMPORT_MATPLOTLIB_RE, examples_str)
+ and 'plot::' not in examples_str):
+ out = []
+ out += self._str_header('Examples')
+ out += ['.. plot::', '']
+ out += self._str_indent(self['Examples'])
+ out += ['']
+ return out
+ else:
+ return self._str_section('Examples')
+
+ def __str__(self, indent=0, func_role="obj"):
+ ns = {
+ 'signature': self._str_signature(),
+ 'index': self._str_index(),
+ 'summary': self._str_summary(),
+ 'extended_summary': self._str_extended_summary(),
+ 'parameters': self._str_param_list('Parameters'),
+ 'returns': self._str_returns('Returns'),
+ 'yields': self._str_returns('Yields'),
+ 'receives': self._str_returns('Receives'),
+ 'other_parameters': self._str_param_list('Other Parameters'),
+ 'raises': self._str_param_list('Raises'),
+ 'warns': self._str_param_list('Warns'),
+ 'warnings': self._str_warnings(),
+ 'see_also': self._str_see_also(func_role),
+ 'notes': self._str_section('Notes'),
+ 'references': self._str_references(),
+ 'examples': self._str_examples(),
+ 'attributes': self._str_param_list('Attributes',
+ fake_autosummary=True),
+ 'methods': self._str_member_list('Methods'),
+ }
+ ns = dict((k, '\n'.join(v)) for k, v in ns.items())
+
+ rendered = self.template.render(**ns)
+ return '\n'.join(self._str_indent(rendered.split('\n'), indent))
+
+
+class SphinxFunctionDoc(SphinxDocString, FunctionDoc):
+ def __init__(self, obj, doc=None, config={}):
+ self.load_config(config)
+ FunctionDoc.__init__(self, obj, doc=doc, config=config)
+
+
+class SphinxClassDoc(SphinxDocString, ClassDoc):
+ def __init__(self, obj, doc=None, func_doc=None, config={}):
+ self.load_config(config)
+ ClassDoc.__init__(self, obj, doc=doc, func_doc=None, config=config)
+
+
+class SphinxObjDoc(SphinxDocString):
+ def __init__(self, obj, doc=None, config={}):
+ self._f = obj
+ self.load_config(config)
+ SphinxDocString.__init__(self, doc, config=config)
+
+
+def get_doc_object(obj, what=None, doc=None, config={}, builder=None):
+ if what is None:
+ if inspect.isclass(obj):
+ what = 'class'
+ elif inspect.ismodule(obj):
+ what = 'module'
+ elif isinstance(obj, Callable):
+ what = 'function'
+ else:
+ what = 'object'
+
+ template_dirs = [os.path.join(os.path.dirname(__file__), 'templates')]
+ if builder is not None:
+ template_loader = BuiltinTemplateLoader()
+ template_loader.init(builder, dirs=template_dirs)
+ else:
+ template_loader = FileSystemLoader(template_dirs)
+ template_env = SandboxedEnvironment(loader=template_loader)
+ config['template'] = template_env.get_template('numpydoc_docstring.rst')
+
+ if what == 'class':
+ return SphinxClassDoc(obj, func_doc=SphinxFunctionDoc, doc=doc,
+ config=config)
+ elif what in ('function', 'method'):
+ return SphinxFunctionDoc(obj, doc=doc, config=config)
+ else:
+ if doc is None:
+ doc = pydoc.getdoc(obj)
+ return SphinxObjDoc(obj, doc, config=config)
--- /dev/null
+"""
+========
+numpydoc
+========
+
+Sphinx extension that handles docstrings in the Numpy standard format. [1]
+
+It will:
+
+- Convert Parameters etc. sections to field lists.
+- Convert See Also section to a See also entry.
+- Renumber references.
+- Extract the signature from the docstring, if it can't be determined
+ otherwise.
+
+.. [1] https://github.com/numpy/numpydoc
+
+"""
+from __future__ import division, absolute_import, print_function
+
+import sys
+import re
+import pydoc
+import inspect
+try:
+ from collections.abc import Callable
+except ImportError:
+ from collections import Callable
+import hashlib
+import itertools
+
+from docutils.nodes import citation, Text, section, comment, reference
+import sphinx
+from sphinx.addnodes import pending_xref, desc_content, only
+
+if sphinx.__version__ < '1.0.1':
+ raise RuntimeError("Sphinx 1.0.1 or newer is required")
+
+from .docscrape_sphinx import get_doc_object
+from . import __version__
+
+if sys.version_info[0] >= 3:
+ sixu = lambda s: s
+else:
+ sixu = lambda s: unicode(s, 'unicode_escape')
+
+
+HASH_LEN = 12
+
+def rename_references(app, what, name, obj, options, lines):
+ # decorate reference numbers so that there are no duplicates
+ # these are later undecorated in the doctree, in relabel_references
+ references = set()
+ for line in lines:
+ line = line.strip()
+ m = re.match(sixu(r'^\.\. +\[(%s)\]') %
+ app.config.numpydoc_citation_re,
+ line, re.I)
+ if m:
+ references.add(m.group(1))
+
+ if references:
+ # we use a hash to mangle the reference name to avoid invalid names
+ sha = hashlib.sha256()
+ sha.update(name.encode('utf8'))
+ prefix = 'R' + sha.hexdigest()[:HASH_LEN]
+
+ for r in references:
+ new_r = prefix + '-' + r
+ for i, line in enumerate(lines):
+ lines[i] = lines[i].replace(sixu('[%s]_') % r,
+ sixu('[%s]_') % new_r)
+ lines[i] = lines[i].replace(sixu('.. [%s]') % r,
+ sixu('.. [%s]') % new_r)
+
+
+def _is_cite_in_numpydoc_docstring(citation_node):
+ # Find DEDUPLICATION_TAG in comment as last node of sibling section
+
+ # XXX: I failed to use citation_node.traverse to do this:
+ section_node = citation_node.parent
+
+ def is_docstring_section(node):
+ return isinstance(node, (section, desc_content))
+
+ while not is_docstring_section(section_node):
+ section_node = section_node.parent
+ if section_node is None:
+ return False
+
+ sibling_sections = itertools.chain(section_node.traverse(is_docstring_section,
+ include_self=True,
+ descend=False,
+ siblings=True))
+ for sibling_section in sibling_sections:
+ if not sibling_section.children:
+ continue
+ last_child = sibling_section.children[-1]
+ if not isinstance(last_child, comment):
+ continue
+ if last_child.rawsource.strip() == DEDUPLICATION_TAG.strip():
+ return True
+ return False
+
+
+def relabel_references(app, doc):
+ # Change 'hash-ref' to 'ref' in label text
+ for citation_node in doc.traverse(citation):
+ if not _is_cite_in_numpydoc_docstring(citation_node):
+ continue
+ label_node = citation_node[0]
+ prefix, _, new_label = label_node[0].astext().partition('-')
+ assert len(prefix) == HASH_LEN + 1
+ new_text = Text(new_label)
+ label_node.replace(label_node[0], new_text)
+
+ for id_ in citation_node['backrefs']:
+ ref = doc.ids[id_]
+ ref_text = ref[0]
+
+ # Sphinx has created pending_xref nodes with [reftext] text.
+ def matching_pending_xref(node):
+ return (isinstance(node, pending_xref) and
+ node[0].astext() == '[%s]' % ref_text)
+
+ for xref_node in ref.parent.traverse(matching_pending_xref):
+ xref_node.replace(xref_node[0], Text('[%s]' % new_text))
+ ref.replace(ref_text, new_text.copy())
+
+
+def clean_backrefs(app, doc, docname):
+ # only::latex directive has resulted in citation backrefs without reference
+ known_ref_ids = set()
+ for ref in doc.traverse(reference, descend=True):
+ for id_ in ref['ids']:
+ known_ref_ids.add(id_)
+ for citation_node in doc.traverse(citation, descend=True):
+ # remove backrefs to non-existant refs
+ citation_node['backrefs'] = [id_ for id_ in citation_node['backrefs']
+ if id_ in known_ref_ids]
+
+
+DEDUPLICATION_TAG = ' !! processed by numpydoc !!'
+
+
+def mangle_docstrings(app, what, name, obj, options, lines):
+ if DEDUPLICATION_TAG in lines:
+ return
+
+ cfg = {'use_plots': app.config.numpydoc_use_plots,
+ 'use_blockquotes': app.config.numpydoc_use_blockquotes,
+ 'show_class_members': app.config.numpydoc_show_class_members,
+ 'show_inherited_class_members':
+ app.config.numpydoc_show_inherited_class_members,
+ 'class_members_toctree': app.config.numpydoc_class_members_toctree}
+
+ cfg.update(options or {})
+ u_NL = sixu('\n')
+ if what == 'module':
+ # Strip top title
+ pattern = '^\\s*[#*=]{4,}\\n[a-z0-9 -]+\\n[#*=]{4,}\\s*'
+ title_re = re.compile(sixu(pattern), re.I | re.S)
+ lines[:] = title_re.sub(sixu(''), u_NL.join(lines)).split(u_NL)
+ else:
+ doc = get_doc_object(obj, what, u_NL.join(lines), config=cfg,
+ builder=app.builder)
+ if sys.version_info[0] >= 3:
+ doc = str(doc)
+ else:
+ doc = unicode(doc)
+ lines[:] = doc.split(u_NL)
+
+ if (app.config.numpydoc_edit_link and hasattr(obj, '__name__') and
+ obj.__name__):
+ if hasattr(obj, '__module__'):
+ v = dict(full_name=sixu("%s.%s") % (obj.__module__, obj.__name__))
+ else:
+ v = dict(full_name=obj.__name__)
+ lines += [sixu(''), sixu('.. htmlonly::'), sixu('')]
+ lines += [sixu(' %s') % x for x in
+ (app.config.numpydoc_edit_link % v).split("\n")]
+
+ # call function to replace reference numbers so that there are no
+ # duplicates
+ rename_references(app, what, name, obj, options, lines)
+
+ lines += ['..', DEDUPLICATION_TAG]
+
+
+def mangle_signature(app, what, name, obj, options, sig, retann):
+ # Do not try to inspect classes that don't define `__init__`
+ if (inspect.isclass(obj) and
+ (not hasattr(obj, '__init__') or
+ 'initializes x; see ' in pydoc.getdoc(obj.__init__))):
+ return '', ''
+
+ if not (isinstance(obj, Callable) or
+ hasattr(obj, '__argspec_is_invalid_')):
+ return
+
+ if not hasattr(obj, '__doc__'):
+ return
+ doc = get_doc_object(obj, config={'show_class_members': False})
+ sig = doc['Signature'] or getattr(obj, '__text_signature__', None)
+ if sig:
+ sig = re.sub(sixu("^[^(]*"), sixu(""), sig)
+ return sig, sixu('')
+
+
+def setup(app, get_doc_object_=get_doc_object):
+ if not hasattr(app, 'add_config_value'):
+ return # probably called by nose, better bail out
+
+ global get_doc_object
+ get_doc_object = get_doc_object_
+
+ app.setup_extension('sphinx.ext.autosummary')
+
+ app.connect('autodoc-process-docstring', mangle_docstrings)
+ app.connect('autodoc-process-signature', mangle_signature)
+ app.connect('doctree-read', relabel_references)
+ app.connect('doctree-resolved', clean_backrefs)
+ app.add_config_value('numpydoc_edit_link', None, False)
+ app.add_config_value('numpydoc_use_plots', None, False)
+ app.add_config_value('numpydoc_use_blockquotes', None, False)
+ app.add_config_value('numpydoc_show_class_members', True, True)
+ app.add_config_value('numpydoc_show_inherited_class_members', True, True)
+ app.add_config_value('numpydoc_class_members_toctree', True, True)
+ app.add_config_value('numpydoc_citation_re', '[a-z0-9_.-]+', True)
+
+ # Extra mangling domains
+ app.add_domain(NumpyPythonDomain)
+ app.add_domain(NumpyCDomain)
+
+ metadata = {'version': __version__,
+ 'parallel_read_safe': True}
+ return metadata
+
+# ------------------------------------------------------------------------------
+# Docstring-mangling domains
+# ------------------------------------------------------------------------------
+
+from docutils.statemachine import ViewList
+from sphinx.domains.c import CDomain
+from sphinx.domains.python import PythonDomain
+
+
+class ManglingDomainBase(object):
+ directive_mangling_map = {}
+
+ def __init__(self, *a, **kw):
+ super(ManglingDomainBase, self).__init__(*a, **kw)
+ self.wrap_mangling_directives()
+
+ def wrap_mangling_directives(self):
+ for name, objtype in list(self.directive_mangling_map.items()):
+ self.directives[name] = wrap_mangling_directive(
+ self.directives[name], objtype)
+
+
+class NumpyPythonDomain(ManglingDomainBase, PythonDomain):
+ name = 'np'
+ directive_mangling_map = {
+ 'function': 'function',
+ 'class': 'class',
+ 'exception': 'class',
+ 'method': 'function',
+ 'classmethod': 'function',
+ 'staticmethod': 'function',
+ 'attribute': 'attribute',
+ }
+ indices = []
+
+
+class NumpyCDomain(ManglingDomainBase, CDomain):
+ name = 'np-c'
+ directive_mangling_map = {
+ 'function': 'function',
+ 'member': 'attribute',
+ 'macro': 'function',
+ 'type': 'class',
+ 'var': 'object',
+ }
+
+
+def match_items(lines, content_old):
+ """Create items for mangled lines.
+
+ This function tries to match the lines in ``lines`` with the items (source
+ file references and line numbers) in ``content_old``. The
+ ``mangle_docstrings`` function changes the actual docstrings, but doesn't
+ keep track of where each line came from. The manging does many operations
+ on the original lines, which are hard to track afterwards.
+
+ Many of the line changes come from deleting or inserting blank lines. This
+ function tries to match lines by ignoring blank lines. All other changes
+ (such as inserting figures or changes in the references) are completely
+ ignored, so the generated line numbers will be off if ``mangle_docstrings``
+ does anything non-trivial.
+
+ This is a best-effort function and the real fix would be to make
+ ``mangle_docstrings`` actually keep track of the ``items`` together with
+ the ``lines``.
+
+ Examples
+ --------
+ >>> lines = ['', 'A', '', 'B', ' ', '', 'C', 'D']
+ >>> lines_old = ['a', '', '', 'b', '', 'c']
+ >>> items_old = [('file1.py', 0), ('file1.py', 1), ('file1.py', 2),
+ ... ('file2.py', 0), ('file2.py', 1), ('file2.py', 2)]
+ >>> content_old = ViewList(lines_old, items=items_old)
+ >>> match_items(lines, content_old) # doctest: +NORMALIZE_WHITESPACE
+ [('file1.py', 0), ('file1.py', 0), ('file2.py', 0), ('file2.py', 0),
+ ('file2.py', 2), ('file2.py', 2), ('file2.py', 2), ('file2.py', 2)]
+ >>> # first 2 ``lines`` are matched to 'a', second 2 to 'b', rest to 'c'
+ >>> # actual content is completely ignored.
+
+ Notes
+ -----
+ The algorithm tries to match any line in ``lines`` with one in
+ ``lines_old``. It skips over all empty lines in ``lines_old`` and assigns
+ this line number to all lines in ``lines``, unless a non-empty line is
+ found in ``lines`` in which case it goes to the next line in ``lines_old``.
+
+ """
+ items_new = []
+ lines_old = content_old.data
+ items_old = content_old.items
+ j = 0
+ for i, line in enumerate(lines):
+ # go to next non-empty line in old:
+ # line.strip() checks whether the string is all whitespace
+ while j < len(lines_old) - 1 and not lines_old[j].strip():
+ j += 1
+ items_new.append(items_old[j])
+ if line.strip() and j < len(lines_old) - 1:
+ j += 1
+ assert(len(items_new) == len(lines))
+ return items_new
+
+
+def wrap_mangling_directive(base_directive, objtype):
+ class directive(base_directive):
+ def run(self):
+ env = self.state.document.settings.env
+
+ name = None
+ if self.arguments:
+ m = re.match(r'^(.*\s+)?(.*?)(\(.*)?', self.arguments[0])
+ name = m.group(2).strip()
+
+ if not name:
+ name = self.arguments[0]
+
+ lines = list(self.content)
+ mangle_docstrings(env.app, objtype, name, None, None, lines)
+ if self.content:
+ items = match_items(lines, self.content)
+ self.content = ViewList(lines, items=items,
+ parent=self.content.parent)
+
+ return base_directive.run(self)
+
+ return directive
--- /dev/null
+{{index}}
+{{summary}}
+{{extended_summary}}
+{{parameters}}
+{{returns}}
+{{yields}}
+{{receives}}
+{{other_parameters}}
+{{raises}}
+{{warns}}
+{{warnings}}
+{{see_also}}
+{{notes}}
+{{references}}
+{{examples}}
+{{attributes}}
+{{methods}}
--- /dev/null
+# -*- encoding:utf-8 -*-
+from __future__ import division, absolute_import, print_function
+
+import re
+import sys
+import textwrap
+import warnings
+
+import jinja2
+
+from numpydoc.docscrape import (
+ NumpyDocString,
+ FunctionDoc,
+ ClassDoc,
+ ParseError
+)
+from numpydoc.docscrape_sphinx import (SphinxDocString, SphinxClassDoc,
+ SphinxFunctionDoc, get_doc_object)
+from pytest import raises as assert_raises
+
+
+if sys.version_info[0] >= 3:
+ sixu = lambda s: s
+else:
+ sixu = lambda s: unicode(s, 'unicode_escape')
+
+
+doc_txt = '''\
+ numpy.multivariate_normal(mean, cov, shape=None, spam=None)
+
+ Draw values from a multivariate normal distribution with specified
+ mean and covariance.
+
+ The multivariate normal or Gaussian distribution is a generalisation
+ of the one-dimensional normal distribution to higher dimensions.
+
+ Parameters
+ ----------
+ mean : (N,) ndarray
+ Mean of the N-dimensional distribution.
+
+ .. math::
+
+ (1+2+3)/3
+
+ cov : (N, N) ndarray
+ Covariance matrix of the distribution.
+ shape : tuple of ints
+ Given a shape of, for example, (m,n,k), m*n*k samples are
+ generated, and packed in an m-by-n-by-k arrangement. Because
+ each sample is N-dimensional, the output shape is (m,n,k,N).
+
+ Returns
+ -------
+ out : ndarray
+ The drawn samples, arranged according to `shape`. If the
+ shape given is (m,n,...), then the shape of `out` is
+ (m,n,...,N).
+
+ In other words, each entry ``out[i,j,...,:]`` is an N-dimensional
+ value drawn from the distribution.
+ list of str
+ This is not a real return value. It exists to test
+ anonymous return values.
+ no_description
+
+ Other Parameters
+ ----------------
+ spam : parrot
+ A parrot off its mortal coil.
+
+ Raises
+ ------
+ RuntimeError
+ Some error
+
+ Warns
+ -----
+ RuntimeWarning
+ Some warning
+
+ Warnings
+ --------
+ Certain warnings apply.
+
+ Notes
+ -----
+ Instead of specifying the full covariance matrix, popular
+ approximations include:
+
+ - Spherical covariance (`cov` is a multiple of the identity matrix)
+ - Diagonal covariance (`cov` has non-negative elements only on the diagonal)
+
+ This geometrical property can be seen in two dimensions by plotting
+ generated data-points:
+
+ >>> mean = [0,0]
+ >>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
+
+ >>> x,y = multivariate_normal(mean,cov,5000).T
+ >>> plt.plot(x,y,'x'); plt.axis('equal'); plt.show()
+
+ Note that the covariance matrix must be symmetric and non-negative
+ definite.
+
+ References
+ ----------
+ .. [1] A. Papoulis, "Probability, Random Variables, and Stochastic
+ Processes," 3rd ed., McGraw-Hill Companies, 1991
+ .. [2] R.O. Duda, P.E. Hart, and D.G. Stork, "Pattern Classification,"
+ 2nd ed., Wiley, 2001.
+
+ See Also
+ --------
+ some, other, funcs
+ otherfunc : relationship
+
+ Examples
+ --------
+ >>> mean = (1,2)
+ >>> cov = [[1,0],[1,0]]
+ >>> x = multivariate_normal(mean,cov,(3,3))
+ >>> print x.shape
+ (3, 3, 2)
+
+ The following is probably true, given that 0.6 is roughly twice the
+ standard deviation:
+
+ >>> print list( (x[0,0,:] - mean) < 0.6 )
+ [True, True]
+
+ .. index:: random
+ :refguide: random;distributions, random;gauss
+
+ '''
+doc = NumpyDocString(doc_txt)
+
+doc_yields_txt = """
+Test generator
+
+Yields
+------
+a : int
+ The number of apples.
+b : int
+ The number of bananas.
+int
+ The number of unknowns.
+"""
+doc_yields = NumpyDocString(doc_yields_txt)
+
+
+doc_sent_txt = """
+Test generator
+
+Yields
+------
+a : int
+ The number of apples.
+
+Receives
+--------
+b : int
+ The number of bananas.
+c : int
+ The number of oranges.
+
+"""
+doc_sent = NumpyDocString(doc_sent_txt)
+
+
+def test_signature():
+ assert doc['Signature'].startswith('numpy.multivariate_normal(')
+ assert doc['Signature'].endswith('spam=None)')
+
+
+def test_summary():
+ assert doc['Summary'][0].startswith('Draw values')
+ assert doc['Summary'][-1].endswith('covariance.')
+
+
+def test_extended_summary():
+ assert doc['Extended Summary'][0].startswith('The multivariate normal')
+
+
+def test_parameters():
+ assert len(doc['Parameters']) == 3
+ names = [n for n, _, _ in doc['Parameters']]
+ assert all(a == b for a, b in zip(names, ['mean', 'cov', 'shape']))
+
+ arg, arg_type, desc = doc['Parameters'][1]
+ assert arg_type == '(N, N) ndarray'
+ assert desc[0].startswith('Covariance matrix')
+ assert doc['Parameters'][0][-1][-1] == ' (1+2+3)/3'
+
+
+def test_other_parameters():
+ assert len(doc['Other Parameters']) == 1
+ assert [n for n, _, _ in doc['Other Parameters']] == ['spam']
+ arg, arg_type, desc = doc['Other Parameters'][0]
+ assert arg_type == 'parrot'
+ assert desc[0].startswith('A parrot off its mortal coil')
+
+
+def test_returns():
+ assert len(doc['Returns']) == 3
+ arg, arg_type, desc = doc['Returns'][0]
+ assert arg == 'out'
+ assert arg_type == 'ndarray'
+ assert desc[0].startswith('The drawn samples')
+ assert desc[-1].endswith('distribution.')
+
+ arg, arg_type, desc = doc['Returns'][1]
+ assert arg == 'list of str'
+ assert arg_type == ''
+ assert desc[0].startswith('This is not a real')
+ assert desc[-1].endswith('anonymous return values.')
+
+ arg, arg_type, desc = doc['Returns'][2]
+ assert arg == 'no_description'
+ assert arg_type == ''
+ assert not ''.join(desc).strip()
+
+
+def test_yields():
+ section = doc_yields['Yields']
+ assert len(section) == 3
+ truth = [('a', 'int', 'apples.'),
+ ('b', 'int', 'bananas.'),
+ ('int', '', 'unknowns.')]
+ for (arg, arg_type, desc), (arg_, arg_type_, end) in zip(section, truth):
+ assert arg == arg_
+ assert arg_type == arg_type_
+ assert desc[0].startswith('The number of')
+ assert desc[0].endswith(end)
+
+
+def test_sent():
+ section = doc_sent['Receives']
+ assert len(section) == 2
+ truth = [('b', 'int', 'bananas.'),
+ ('c', 'int', 'oranges.')]
+ for (arg, arg_type, desc), (arg_, arg_type_, end) in zip(section, truth):
+ assert arg == arg_
+ assert arg_type == arg_type_
+ assert desc[0].startswith('The number of')
+ assert desc[0].endswith(end)
+
+
+def test_returnyield():
+ doc_text = """
+Test having returns and yields.
+
+Returns
+-------
+int
+ The number of apples.
+
+Yields
+------
+a : int
+ The number of apples.
+b : int
+ The number of bananas.
+
+"""
+ assert_raises(ValueError, NumpyDocString, doc_text)
+
+
+def test_returnyield():
+ doc_text = """
+Test having returns and yields.
+
+Returns
+-------
+int
+ The number of apples.
+
+Yields
+------
+a : int
+ The number of apples.
+b : int
+ The number of bananas.
+
+"""
+ assert_raises(ValueError, NumpyDocString, doc_text)
+
+
+def test_section_twice():
+ doc_text = """
+Test having a section Notes twice
+
+Notes
+-----
+See the next note for more information
+
+Notes
+-----
+That should break...
+"""
+ assert_raises(ValueError, NumpyDocString, doc_text)
+
+ # if we have a numpydoc object, we know where the error came from
+ class Dummy(object):
+ """
+ Dummy class.
+
+ Notes
+ -----
+ First note.
+
+ Notes
+ -----
+ Second note.
+
+ """
+ def spam(self, a, b):
+ """Spam\n\nSpam spam."""
+ pass
+
+ def ham(self, c, d):
+ """Cheese\n\nNo cheese."""
+ pass
+
+ def dummy_func(arg):
+ """
+ Dummy function.
+
+ Notes
+ -----
+ First note.
+
+ Notes
+ -----
+ Second note.
+ """
+
+ try:
+ SphinxClassDoc(Dummy)
+ except ValueError as e:
+ # python 3 version or python 2 version
+ assert ("test_section_twice.<locals>.Dummy" in str(e)
+ or 'test_docscrape.Dummy' in str(e))
+
+ try:
+ SphinxFunctionDoc(dummy_func)
+ except ValueError as e:
+ # python 3 version or python 2 version
+ assert ("test_section_twice.<locals>.dummy_func" in str(e)
+ or 'function dummy_func' in str(e))
+
+
+def test_notes():
+ assert doc['Notes'][0].startswith('Instead')
+ assert doc['Notes'][-1].endswith('definite.')
+ assert len(doc['Notes']) == 17
+
+
+def test_references():
+ assert doc['References'][0].startswith('..')
+ assert doc['References'][-1].endswith('2001.')
+
+
+def test_examples():
+ assert doc['Examples'][0].startswith('>>>')
+ assert doc['Examples'][-1].endswith('True]')
+
+
+def test_index():
+ assert doc['index']['default'] == 'random'
+ assert len(doc['index']) == 2
+ assert len(doc['index']['refguide']) == 2
+
+
+def _strip_blank_lines(s):
+ "Remove leading, trailing and multiple blank lines"
+ s = re.sub(r'^\s*\n', '', s)
+ s = re.sub(r'\n\s*$', '', s)
+ s = re.sub(r'\n\s*\n', r'\n\n', s)
+ return s
+
+
+def line_by_line_compare(a, b):
+ a = textwrap.dedent(a)
+ b = textwrap.dedent(b)
+ a = [l.rstrip() for l in _strip_blank_lines(a).split('\n')]
+ b = [l.rstrip() for l in _strip_blank_lines(b).split('\n')]
+ assert all(x == y for x, y in zip(a, b))
+
+
+def test_str():
+ # doc_txt has the order of Notes and See Also sections flipped.
+ # This should be handled automatically, and so, one thing this test does
+ # is to make sure that See Also precedes Notes in the output.
+ line_by_line_compare(str(doc),
+"""numpy.multivariate_normal(mean, cov, shape=None, spam=None)
+
+Draw values from a multivariate normal distribution with specified
+mean and covariance.
+
+The multivariate normal or Gaussian distribution is a generalisation
+of the one-dimensional normal distribution to higher dimensions.
+
+Parameters
+----------
+mean : (N,) ndarray
+ Mean of the N-dimensional distribution.
+
+ .. math::
+
+ (1+2+3)/3
+cov : (N, N) ndarray
+ Covariance matrix of the distribution.
+shape : tuple of ints
+ Given a shape of, for example, (m,n,k), m*n*k samples are
+ generated, and packed in an m-by-n-by-k arrangement. Because
+ each sample is N-dimensional, the output shape is (m,n,k,N).
+
+Returns
+-------
+out : ndarray
+ The drawn samples, arranged according to `shape`. If the
+ shape given is (m,n,...), then the shape of `out` is
+ (m,n,...,N).
+
+ In other words, each entry ``out[i,j,...,:]`` is an N-dimensional
+ value drawn from the distribution.
+list of str
+ This is not a real return value. It exists to test
+ anonymous return values.
+no_description
+
+Other Parameters
+----------------
+spam : parrot
+ A parrot off its mortal coil.
+
+Raises
+------
+RuntimeError
+ Some error
+
+Warns
+-----
+RuntimeWarning
+ Some warning
+
+Warnings
+--------
+Certain warnings apply.
+
+See Also
+--------
+
+`some`_, `other`_, `funcs`_
+
+`otherfunc`_
+ relationship
+
+Notes
+-----
+Instead of specifying the full covariance matrix, popular
+approximations include:
+
+ - Spherical covariance (`cov` is a multiple of the identity matrix)
+ - Diagonal covariance (`cov` has non-negative elements only on the diagonal)
+
+This geometrical property can be seen in two dimensions by plotting
+generated data-points:
+
+>>> mean = [0,0]
+>>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
+
+>>> x,y = multivariate_normal(mean,cov,5000).T
+>>> plt.plot(x,y,'x'); plt.axis('equal'); plt.show()
+
+Note that the covariance matrix must be symmetric and non-negative
+definite.
+
+References
+----------
+.. [1] A. Papoulis, "Probability, Random Variables, and Stochastic
+ Processes," 3rd ed., McGraw-Hill Companies, 1991
+.. [2] R.O. Duda, P.E. Hart, and D.G. Stork, "Pattern Classification,"
+ 2nd ed., Wiley, 2001.
+
+Examples
+--------
+>>> mean = (1,2)
+>>> cov = [[1,0],[1,0]]
+>>> x = multivariate_normal(mean,cov,(3,3))
+>>> print x.shape
+(3, 3, 2)
+
+The following is probably true, given that 0.6 is roughly twice the
+standard deviation:
+
+>>> print list( (x[0,0,:] - mean) < 0.6 )
+[True, True]
+
+.. index:: random
+ :refguide: random;distributions, random;gauss""")
+
+
+def test_yield_str():
+ line_by_line_compare(str(doc_yields),
+"""Test generator
+
+Yields
+------
+a : int
+ The number of apples.
+b : int
+ The number of bananas.
+int
+ The number of unknowns.
+
+.. index:: """)
+
+
+def test_receives_str():
+ line_by_line_compare(str(doc_sent),
+"""Test generator
+
+Yields
+------
+a : int
+ The number of apples.
+
+Receives
+--------
+b : int
+ The number of bananas.
+c : int
+ The number of oranges.
+
+.. index:: """)
+
+
+def test_no_index_in_str():
+ assert "index" not in str(NumpyDocString("""Test idx
+
+ """))
+
+ assert "index" in str(NumpyDocString("""Test idx
+
+ .. index :: random
+ """))
+
+ assert "index" in str(NumpyDocString("""Test idx
+
+ .. index ::
+ foo
+ """))
+
+def test_sphinx_str():
+ sphinx_doc = SphinxDocString(doc_txt)
+ line_by_line_compare(str(sphinx_doc),
+"""
+.. index:: random
+ single: random;distributions, random;gauss
+
+Draw values from a multivariate normal distribution with specified
+mean and covariance.
+
+The multivariate normal or Gaussian distribution is a generalisation
+of the one-dimensional normal distribution to higher dimensions.
+
+:Parameters:
+
+ **mean** : (N,) ndarray
+ Mean of the N-dimensional distribution.
+
+ .. math::
+
+ (1+2+3)/3
+
+ **cov** : (N, N) ndarray
+ Covariance matrix of the distribution.
+
+ **shape** : tuple of ints
+ Given a shape of, for example, (m,n,k), m*n*k samples are
+ generated, and packed in an m-by-n-by-k arrangement. Because
+ each sample is N-dimensional, the output shape is (m,n,k,N).
+
+:Returns:
+
+ **out** : ndarray
+ The drawn samples, arranged according to `shape`. If the
+ shape given is (m,n,...), then the shape of `out` is
+ (m,n,...,N).
+
+ In other words, each entry ``out[i,j,...,:]`` is an N-dimensional
+ value drawn from the distribution.
+
+ **list of str**
+ This is not a real return value. It exists to test
+ anonymous return values.
+
+ **no_description**
+ ..
+
+:Other Parameters:
+
+ **spam** : parrot
+ A parrot off its mortal coil.
+
+:Raises:
+
+ **RuntimeError**
+ Some error
+
+:Warns:
+
+ **RuntimeWarning**
+ Some warning
+
+.. warning::
+
+ Certain warnings apply.
+
+.. seealso::
+
+ :obj:`some`, :obj:`other`, :obj:`funcs`
+
+ :obj:`otherfunc`
+ relationship
+
+.. rubric:: Notes
+
+Instead of specifying the full covariance matrix, popular
+approximations include:
+
+ - Spherical covariance (`cov` is a multiple of the identity matrix)
+ - Diagonal covariance (`cov` has non-negative elements only on the diagonal)
+
+This geometrical property can be seen in two dimensions by plotting
+generated data-points:
+
+>>> mean = [0,0]
+>>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
+
+>>> x,y = multivariate_normal(mean,cov,5000).T
+>>> plt.plot(x,y,'x'); plt.axis('equal'); plt.show()
+
+Note that the covariance matrix must be symmetric and non-negative
+definite.
+
+.. rubric:: References
+
+.. [1] A. Papoulis, "Probability, Random Variables, and Stochastic
+ Processes," 3rd ed., McGraw-Hill Companies, 1991
+.. [2] R.O. Duda, P.E. Hart, and D.G. Stork, "Pattern Classification,"
+ 2nd ed., Wiley, 2001.
+
+.. only:: latex
+
+ [1]_, [2]_
+
+.. rubric:: Examples
+
+>>> mean = (1,2)
+>>> cov = [[1,0],[1,0]]
+>>> x = multivariate_normal(mean,cov,(3,3))
+>>> print x.shape
+(3, 3, 2)
+
+The following is probably true, given that 0.6 is roughly twice the
+standard deviation:
+
+>>> print list( (x[0,0,:] - mean) < 0.6 )
+[True, True]
+""")
+
+
+def test_sphinx_yields_str():
+ sphinx_doc = SphinxDocString(doc_yields_txt)
+ line_by_line_compare(str(sphinx_doc),
+"""Test generator
+
+:Yields:
+
+ **a** : int
+ The number of apples.
+
+ **b** : int
+ The number of bananas.
+
+ **int**
+ The number of unknowns.
+""")
+
+
+doc2 = NumpyDocString("""
+ Returns array of indices of the maximum values of along the given axis.
+
+ Parameters
+ ----------
+ a : {array_like}
+ Array to look in.
+ axis : {None, integer}
+ If None, the index is into the flattened array, otherwise along
+ the specified axis""")
+
+
+def test_parameters_without_extended_description():
+ assert len(doc2['Parameters']) == 2
+
+
+doc3 = NumpyDocString("""
+ my_signature(*params, **kwds)
+
+ Return this and that.
+ """)
+
+
+def test_escape_stars():
+ signature = str(doc3).split('\n')[0]
+ assert signature == r'my_signature(\*params, \*\*kwds)'
+
+ def my_func(a, b, **kwargs):
+ pass
+
+ fdoc = FunctionDoc(func=my_func)
+ assert fdoc['Signature'] == r'my_func(a, b, \*\*kwargs)'
+
+
+doc4 = NumpyDocString(
+ """a.conj()
+
+ Return an array with all complex-valued elements conjugated.""")
+
+
+def test_empty_extended_summary():
+ assert doc4['Extended Summary'] == []
+
+
+doc5 = NumpyDocString(
+ """
+ a.something()
+
+ Raises
+ ------
+ LinAlgException
+ If array is singular.
+
+ Warns
+ -----
+ SomeWarning
+ If needed
+ """)
+
+
+def test_raises():
+ assert len(doc5['Raises']) == 1
+ name, _, desc = doc5['Raises'][0]
+ assert name == 'LinAlgException'
+ assert desc == ['If array is singular.']
+
+
+def test_warns():
+ assert len(doc5['Warns']) == 1
+ name, _, desc = doc5['Warns'][0]
+ assert name == 'SomeWarning'
+ assert desc == ['If needed']
+
+
+def test_see_also():
+ doc6 = NumpyDocString(
+ """
+ z(x,theta)
+
+ See Also
+ --------
+ func_a, func_b, func_c
+ func_d : some equivalent func
+ foo.func_e : some other func over
+ multiple lines
+ func_f, func_g, :meth:`func_h`, func_j,
+ func_k
+ :obj:`baz.obj_q`
+ :obj:`~baz.obj_r`
+ :class:`class_j`: fubar
+ foobar
+ """)
+
+ assert len(doc6['See Also']) == 13
+ for func, desc, role in doc6['See Also']:
+ if func in ('func_a', 'func_b', 'func_c', 'func_f',
+ 'func_g', 'func_h', 'func_j', 'func_k', 'baz.obj_q',
+ '~baz.obj_r'):
+ assert(not desc)
+ else:
+ assert(desc)
+
+ if func == 'func_h':
+ assert role == 'meth'
+ elif func == 'baz.obj_q' or func == '~baz.obj_r':
+ assert role == 'obj'
+ elif func == 'class_j':
+ assert role == 'class'
+ else:
+ assert role is None
+
+ if func == 'func_d':
+ assert desc == ['some equivalent func']
+ elif func == 'foo.func_e':
+ assert desc == ['some other func over', 'multiple lines']
+ elif func == 'class_j':
+ assert desc == ['fubar', 'foobar']
+
+
+def test_see_also_parse_error():
+ text = (
+ """
+ z(x,theta)
+
+ See Also
+ --------
+ :func:`~foo`
+ """)
+ with assert_raises(ParseError) as err:
+ NumpyDocString(text)
+
+ s1 = str(r":func:`~foo` is not a item name in '\n z(x,theta)\n\n See Also\n --------\n :func:`~foo`\n '")
+ s2 = str(err.value)
+ assert s1 == s2
+
+
+def test_see_also_print():
+ class Dummy(object):
+ """
+ See Also
+ --------
+ func_a, func_b
+ func_c : some relationship
+ goes here
+ func_d
+ """
+ pass
+
+ obj = Dummy()
+ s = str(FunctionDoc(obj, role='func'))
+ assert(':func:`func_a`, :func:`func_b`' in s)
+ assert(' some relationship' in s)
+ assert(':func:`func_d`' in s)
+
+
+def test_unknown_section():
+ doc_text = """
+Test having an unknown section
+
+Mope
+----
+This should be ignored and warned about
+"""
+
+ class BadSection(object):
+ """Class with bad section.
+
+ Nope
+ ----
+ This class has a nope section.
+ """
+ pass
+
+ with warnings.catch_warnings(record=True) as w:
+ warnings.filterwarnings('always', '', UserWarning)
+ NumpyDocString(doc_text)
+ assert len(w) == 1
+ assert "Unknown section Mope" == str(w[0].message)
+
+ with warnings.catch_warnings(record=True) as w:
+ warnings.filterwarnings('always', '', UserWarning)
+ SphinxClassDoc(BadSection)
+ assert len(w) == 1
+ assert('test_docscrape.test_unknown_section.<locals>.BadSection'
+ in str(w[0].message)
+ or 'test_docscrape.BadSection' in str(w[0].message))
+
+
+doc7 = NumpyDocString("""
+
+ Doc starts on second line.
+
+ """)
+
+
+def test_empty_first_line():
+ assert doc7['Summary'][0].startswith('Doc starts')
+
+
+def test_no_summary():
+ str(SphinxDocString("""
+ Parameters
+ ----------"""))
+
+
+def test_unicode():
+ doc = SphinxDocString("""
+ öäöäöäöäöåååå
+
+ öäöäöäööäååå
+
+ Parameters
+ ----------
+ ååå : äää
+ ööö
+
+ Returns
+ -------
+ ååå : ööö
+ äää
+
+ """)
+ assert isinstance(doc['Summary'][0], str)
+ assert doc['Summary'][0] == 'öäöäöäöäöåååå'
+
+
+def test_plot_examples():
+ cfg = dict(use_plots=True)
+
+ doc = SphinxDocString("""
+ Examples
+ --------
+ >>> import matplotlib.pyplot as plt
+ >>> plt.plot([1,2,3],[4,5,6])
+ >>> plt.show()
+ """, config=cfg)
+ assert 'plot::' in str(doc), str(doc)
+
+ doc = SphinxDocString("""
+ Examples
+ --------
+ >>> from matplotlib import pyplot as plt
+ >>> plt.plot([1,2,3],[4,5,6])
+ >>> plt.show()
+ """, config=cfg)
+ assert 'plot::' in str(doc), str(doc)
+
+ doc = SphinxDocString("""
+ Examples
+ --------
+ .. plot::
+
+ import matplotlib.pyplot as plt
+ plt.plot([1,2,3],[4,5,6])
+ plt.show()
+ """, config=cfg)
+ assert str(doc).count('plot::') == 1, str(doc)
+
+
+def test_use_blockquotes():
+ cfg = dict(use_blockquotes=True)
+ doc = SphinxDocString("""
+ Parameters
+ ----------
+ abc : def
+ ghi
+ jkl
+ mno
+
+ Returns
+ -------
+ ABC : DEF
+ GHI
+ JKL
+ MNO
+ """, config=cfg)
+ line_by_line_compare(str(doc), '''
+ :Parameters:
+
+ **abc** : def
+
+ ghi
+
+ **jkl**
+
+ mno
+
+ :Returns:
+
+ **ABC** : DEF
+
+ GHI
+
+ **JKL**
+
+ MNO
+ ''')
+
+
+def test_class_members():
+
+ class Dummy(object):
+ """
+ Dummy class.
+
+ """
+ def spam(self, a, b):
+ """Spam\n\nSpam spam."""
+ pass
+ def ham(self, c, d):
+ """Cheese\n\nNo cheese."""
+ pass
+ @property
+ def spammity(self):
+ """Spammity index"""
+ return 0.95
+
+ class Ignorable(object):
+ """local class, to be ignored"""
+ pass
+
+ for cls in (ClassDoc, SphinxClassDoc):
+ doc = cls(Dummy, config=dict(show_class_members=False))
+ assert 'Methods' not in str(doc), (cls, str(doc))
+ assert 'spam' not in str(doc), (cls, str(doc))
+ assert 'ham' not in str(doc), (cls, str(doc))
+ assert 'spammity' not in str(doc), (cls, str(doc))
+ assert 'Spammity index' not in str(doc), (cls, str(doc))
+
+ doc = cls(Dummy, config=dict(show_class_members=True))
+ assert 'Methods' in str(doc), (cls, str(doc))
+ assert 'spam' in str(doc), (cls, str(doc))
+ assert 'ham' in str(doc), (cls, str(doc))
+ assert 'spammity' in str(doc), (cls, str(doc))
+
+ if cls is SphinxClassDoc:
+ assert '.. autosummary::' in str(doc), str(doc)
+ else:
+ assert 'Spammity index' in str(doc), str(doc)
+
+ class SubDummy(Dummy):
+ """
+ Subclass of Dummy class.
+
+ """
+ def ham(self, c, d):
+ """Cheese\n\nNo cheese.\nOverloaded Dummy.ham"""
+ pass
+
+ def bar(self, a, b):
+ """Bar\n\nNo bar"""
+ pass
+
+ for cls in (ClassDoc, SphinxClassDoc):
+ doc = cls(SubDummy, config=dict(show_class_members=True,
+ show_inherited_class_members=False))
+ assert 'Methods' in str(doc), (cls, str(doc))
+ assert 'spam' not in str(doc), (cls, str(doc))
+ assert 'ham' in str(doc), (cls, str(doc))
+ assert 'bar' in str(doc), (cls, str(doc))
+ assert 'spammity' not in str(doc), (cls, str(doc))
+
+ if cls is SphinxClassDoc:
+ assert '.. autosummary::' in str(doc), str(doc)
+ else:
+ assert 'Spammity index' not in str(doc), str(doc)
+
+ doc = cls(SubDummy, config=dict(show_class_members=True,
+ show_inherited_class_members=True))
+ assert 'Methods' in str(doc), (cls, str(doc))
+ assert 'spam' in str(doc), (cls, str(doc))
+ assert 'ham' in str(doc), (cls, str(doc))
+ assert 'bar' in str(doc), (cls, str(doc))
+ assert 'spammity' in str(doc), (cls, str(doc))
+
+ if cls is SphinxClassDoc:
+ assert '.. autosummary::' in str(doc), str(doc)
+ else:
+ assert 'Spammity index' in str(doc), str(doc)
+
+
+def test_duplicate_signature():
+ # Duplicate function signatures occur e.g. in ufuncs, when the
+ # automatic mechanism adds one, and a more detailed comes from the
+ # docstring itself.
+
+ doc = NumpyDocString(
+ """
+ z(x1, x2)
+
+ z(a, theta)
+ """)
+
+ assert doc['Signature'].strip() == 'z(a, theta)'
+
+
+class_doc_txt = """
+ Foo
+
+ Parameters
+ ----------
+ f : callable ``f(t, y, *f_args)``
+ Aaa.
+ jac : callable ``jac(t, y, *jac_args)``
+
+ Bbb.
+
+ Attributes
+ ----------
+ t : float
+ Current time.
+ y : ndarray
+ Current variable values.
+
+ * hello
+ * world
+ an_attribute : float
+ The docstring is printed instead
+ no_docstring : str
+ But a description
+ no_docstring2 : str
+ multiline_sentence
+ midword_period
+ no_period
+
+ Methods
+ -------
+ a
+ b
+ c
+
+ Examples
+ --------
+ For usage examples, see `ode`.
+"""
+
+
+def test_class_members_doc():
+ doc = ClassDoc(None, class_doc_txt)
+ line_by_line_compare(str(doc),
+ """
+ Foo
+
+ Parameters
+ ----------
+ f : callable ``f(t, y, *f_args)``
+ Aaa.
+ jac : callable ``jac(t, y, *jac_args)``
+ Bbb.
+
+ Examples
+ --------
+ For usage examples, see `ode`.
+
+ Attributes
+ ----------
+ t : float
+ Current time.
+ y : ndarray
+ Current variable values.
+
+ * hello
+ * world
+ an_attribute : float
+ The docstring is printed instead
+ no_docstring : str
+ But a description
+ no_docstring2 : str
+ multiline_sentence
+ midword_period
+ no_period
+
+ Methods
+ -------
+ a
+ b
+ c
+
+ .. index::
+
+ """)
+
+
+def test_class_members_doc_sphinx():
+ class Foo:
+ @property
+ def an_attribute(self):
+ """Test attribute"""
+ return None
+
+ @property
+ def no_docstring(self):
+ return None
+
+ @property
+ def no_docstring2(self):
+ return None
+
+ @property
+ def multiline_sentence(self):
+ """This is a
+ sentence. It spans multiple lines."""
+ return None
+
+ @property
+ def midword_period(self):
+ """The sentence for numpy.org."""
+ return None
+
+ @property
+ def no_period(self):
+ """This does not have a period
+ so we truncate its summary to the first linebreak
+
+ Apparently.
+ """
+ return None
+
+ doc = SphinxClassDoc(Foo, class_doc_txt)
+ line_by_line_compare(str(doc),
+ """
+ Foo
+
+ :Parameters:
+
+ **f** : callable ``f(t, y, *f_args)``
+ Aaa.
+
+ **jac** : callable ``jac(t, y, *jac_args)``
+ Bbb.
+
+ .. rubric:: Examples
+
+ For usage examples, see `ode`.
+
+ :Attributes:
+
+ **t** : float
+ Current time.
+
+ **y** : ndarray
+ Current variable values.
+
+ * hello
+ * world
+
+ :obj:`an_attribute <an_attribute>` : float
+ Test attribute
+
+ **no_docstring** : str
+ But a description
+
+ **no_docstring2** : str
+ ..
+
+ :obj:`multiline_sentence <multiline_sentence>`
+ This is a sentence.
+
+ :obj:`midword_period <midword_period>`
+ The sentence for numpy.org.
+
+ :obj:`no_period <no_period>`
+ This does not have a period
+
+ .. rubric:: Methods
+
+ ===== ==========
+ **a**
+ **b**
+ **c**
+ ===== ==========
+
+ """)
+
+
+def test_templated_sections():
+ doc = SphinxClassDoc(None, class_doc_txt,
+ config={'template': jinja2.Template('{{examples}}\n{{parameters}}')})
+ line_by_line_compare(str(doc),
+ """
+ .. rubric:: Examples
+
+ For usage examples, see `ode`.
+
+ :Parameters:
+
+ **f** : callable ``f(t, y, *f_args)``
+ Aaa.
+
+ **jac** : callable ``jac(t, y, *jac_args)``
+ Bbb.
+
+ """)
+
+
+def test_nonstandard_property():
+ # test discovery of a property that does not satisfy isinstace(.., property)
+
+ class SpecialProperty(object):
+
+ def __init__(self, axis=0, doc=""):
+ self.axis = axis
+ self.__doc__ = doc
+
+ def __get__(self, obj, type):
+ if obj is None:
+ # Only instances have actual _data, not classes
+ return self
+ else:
+ return obj._data.axes[self.axis]
+
+ def __set__(self, obj, value):
+ obj._set_axis(self.axis, value)
+
+ class Dummy:
+
+ attr = SpecialProperty(doc="test attribute")
+
+ doc = get_doc_object(Dummy)
+ assert "test attribute" in str(doc)
+
+
+def test_args_and_kwargs():
+ cfg = dict()
+ doc = SphinxDocString("""
+ Parameters
+ ----------
+ param1 : int
+ First parameter
+ *args : tuple
+ Arguments
+ **kwargs : dict
+ Keyword arguments
+ """, config=cfg)
+ line_by_line_compare(str(doc), r"""
+:Parameters:
+
+ **param1** : int
+ First parameter
+
+ **\*args** : tuple
+ Arguments
+
+ **\*\*kwargs** : dict
+ Keyword arguments
+ """)
+
+def test_autoclass():
+ cfg=dict(show_class_members=True,
+ show_inherited_class_members=True)
+ doc = SphinxClassDoc(str, '''
+A top section before
+
+.. autoclass:: str
+ ''', config=cfg)
+ line_by_line_compare(str(doc), r'''
+A top section before
+
+.. autoclass:: str
+
+.. rubric:: Methods
+
+
+ ''')
+
+
+if __name__ == "__main__":
+ import pytest
+ pytest.main()
--- /dev/null
+from __future__ import print_function
+
+from contextlib import contextmanager
+import os
+import sys
+import tempfile
+try:
+ from StringIO import StringIO
+except ImportError:
+ from io import StringIO
+
+from numpydoc.__main__ import main
+
+
+PACKAGE_CODE = """
+'''This package has test stuff'''
+"""
+
+MODULE_CODE = """
+'''This module has test stuff'''
+
+def foo(a, b=5):
+ '''Hello world
+
+ Parameters
+ ----------
+ something : foo
+ bar
+ something_else
+ bar
+ '''
+"""
+
+
+@contextmanager
+def _mock_module(pkg_name):
+ try:
+ tempdir = tempfile.mkdtemp()
+ os.mkdir(os.path.join(tempdir, pkg_name))
+ with open(os.path.join(tempdir, pkg_name, '__init__.py'), 'w') as f:
+ print(PACKAGE_CODE, file=f)
+ with open(os.path.join(tempdir, pkg_name, 'module.py'), 'w') as f:
+ print(MODULE_CODE, file=f)
+
+ sys.path.insert(0, tempdir)
+ yield tempdir
+ finally:
+ try:
+ os.path.rmdir(tempdir)
+ sys.path.remove(tempdir)
+ except:
+ pass
+
+
+def _capture_main(*args):
+ f = StringIO()
+ sys.stdout, old_stdout = f, sys.stdout
+ try:
+ main(args)
+ return f.getvalue().strip('\n\r')
+ finally:
+ sys.stdout = old_stdout
+
+
+def test_main():
+ # TODO: does not currently check that numpydoc transformations are applied
+
+ assert (_capture_main('numpydoc.__main__.main') ==
+ main.__doc__.strip())
+
+ # check it works with modules not imported from __init__
+ with _mock_module('somepackage1'):
+ out = _capture_main('somepackage1.module.foo')
+ assert out.startswith('Hello world\n')
+ with _mock_module('somepackage2'):
+ out = _capture_main('somepackage2.module')
+ assert out.startswith('This module has test')
+ with _mock_module('somepackage3'):
+ out = _capture_main('somepackage3')
+ assert out.startswith('This package has test')
--- /dev/null
+# -*- encoding:utf-8 -*-
+from __future__ import division, absolute_import, print_function
+
+from numpydoc.numpydoc import mangle_docstrings
+from sphinx.ext.autodoc import ALL
+
+class MockConfig():
+ numpydoc_use_plots = False
+ numpydoc_use_blockquotes = True
+ numpydoc_show_class_members = True
+ numpydoc_show_inherited_class_members = True
+ numpydoc_class_members_toctree = True
+ templates_path = []
+ numpydoc_edit_link = False
+ numpydoc_citation_re = '[a-z0-9_.-]+'
+
+class MockBuilder():
+ config = MockConfig()
+
+class MockApp():
+ config = MockConfig()
+ builder = MockBuilder()
+ translator = None
+
+
+app = MockApp()
+app.builder.app = app
+
+def test_mangle_docstrings():
+ s ='''
+A top section before
+
+.. autoclass:: str
+ '''
+ lines = s.split('\n')
+ doc = mangle_docstrings(MockApp(), 'class', 'str', str, {}, lines)
+ assert 'rpartition' in [x.strip() for x in lines]
+
+ lines = s.split('\n')
+ doc = mangle_docstrings(MockApp(), 'class', 'str', str, {'members': ['upper']}, lines)
+ assert 'rpartition' not in [x.strip() for x in lines]
+ assert 'upper' in [x.strip() for x in lines]
+
+ lines = s.split('\n')
+ doc = mangle_docstrings(MockApp(), 'class', 'str', str, {'exclude-members': ALL}, lines)
+ assert 'rpartition' not in [x.strip() for x in lines]
+ assert 'upper' not in [x.strip() for x in lines]
+
+ lines = s.split('\n')
+ doc = mangle_docstrings(MockApp(), 'class', 'str', str,
+ {'exclude-members': ['upper']}, lines)
+ assert 'rpartition' in [x.strip() for x in lines]
+ assert 'upper' not in [x.strip() for x in lines]
+
+if __name__ == "__main__":
+ import pytest
--- /dev/null
+from __future__ import division, print_function
+
+import sys
+import os
+
+import setuptools # may monkeypatch distutils in some versions. # noqa
+from distutils.command.sdist import sdist
+from distutils.core import setup
+
+from numpydoc import __version__ as version
+
+if sys.version_info[:2] < (2, 7) or (3, 0) <= sys.version_info[0:2] < (3, 4):
+ raise RuntimeError("Python version 2.7 or >= 3.4 required.")
+
+
+def read(fname):
+ """Utility function to get README.rst into long_description.
+
+ ``long_description`` is what ends up on the PyPI front page.
+ """
+ with open(os.path.join(os.path.dirname(__file__), fname)) as f:
+ contents = f.read()
+
+ return contents
+
+
+setup(
+ name="numpydoc",
+ packages=["numpydoc"],
+ version=version,
+ description="Sphinx extension to support docstrings in Numpy format",
+ long_description=read('README.rst'),
+ # classifiers from http://pypi.python.org/pypi?%3Aaction=list_classifiers
+ classifiers=["Development Status :: 4 - Beta",
+ "Environment :: Plugins",
+ "License :: OSI Approved :: BSD License",
+ "Topic :: Documentation",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Programming Language :: Python :: 2.7",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.4",
+ "Programming Language :: Python :: 3.5",
+ "Programming Language :: Python :: 3.6"],
+ keywords="sphinx numpy",
+ author="Pauli Virtanen and others",
+ author_email="pav@iki.fi",
+ url="https://numpydoc.readthedocs.io",
+ license="BSD",
+ install_requires=["sphinx >= 1.2.3", 'Jinja2>=2.3'],
+ package_data={'numpydoc': ['tests/test_*.py', 'templates/*.rst']},
+ test_suite = 'nose.collector',
+ cmdclass={"sdist": sdist},
+)
"""
assert issubclass(cls, Exception)
cls.__name__ = cls.__base__.__name__
- cls.__qualname__ = cls.__base__.__qualname__
- set_module(cls.__base__.__module__)(cls)
return cls
if (!PySequence_Check(obj) ||
PySequence_Length(obj) < 0) {
*maxndim = 0;
- PyErr_Clear();
+ if (PyErr_Occurred()) {
+ if (PyErr_ExceptionMatches(PyExc_RecursionError) ||
+ PyErr_ExceptionMatches(PyExc_MemoryError)) {
+ return -1;
+ }
+ PyErr_Clear();
+ }
return 0;
}
return 0;
}
else if (PyErr_Occurred()) {
- /* TODO[gh-14801]: propagate crashes during attribute access? */
+ /*
+ * Clear all but clearly fatal errors (previously cleared all).
+ * 1.20+ does not clear any errors here.
+ */
+ if (PyErr_ExceptionMatches(PyExc_RecursionError) ||
+ PyErr_ExceptionMatches(PyExc_MemoryError)) {
+ return -1;
+ }
PyErr_Clear();
}
else {
*out_dtype = NULL;
if (PyArray_DTypeFromObject(op, NPY_MAXDIMS, out_dtype) < 0) {
- if (PyErr_ExceptionMatches(PyExc_MemoryError)) {
+ if (PyErr_ExceptionMatches(PyExc_MemoryError) ||
+ PyErr_ExceptionMatches(PyExc_RecursionError)) {
return -1;
}
/* Return NPY_OBJECT for most exceptions */
"__array_interface__");
if (iface == NULL) {
if (PyErr_Occurred()) {
- PyErr_Clear(); /* TODO[gh-14801]: propagate crashes during attribute access? */
+ /*
+ * Clear all but clearly fatal errors (previously cleared all).
+ * 1.20+ does not clear any errors here.
+ */
+ if (PyErr_ExceptionMatches(PyExc_RecursionError) ||
+ PyErr_ExceptionMatches(PyExc_MemoryError)) {
+ return NULL;
+ }
}
return Py_NotImplemented;
}
array_meth = PyArray_LookupSpecial_OnInstance(op, "__array__");
if (array_meth == NULL) {
if (PyErr_Occurred()) {
- PyErr_Clear(); /* TODO[gh-14801]: propagate crashes during attribute access? */
+ /*
+ * Clear all but clearly fatal errors (previously cleared all).
+ * 1.20+ does not clear any errors here.
+ */
+ if (PyErr_ExceptionMatches(PyExc_RecursionError) ||
+ PyErr_ExceptionMatches(PyExc_MemoryError)) {
+ return NULL;
+ }
+ PyErr_Clear();
}
return Py_NotImplemented;
}
return NULL;
}
-/* This array creation function steals the reference to dtype. */
+/* This array creation function does not steal the reference to dtype. */
static PyArrayObject *
array_fromfile_binary(FILE *fp, PyArray_Descr *dtype, npy_intp num, size_t *nread)
{
if (fail) {
PyErr_SetString(PyExc_IOError,
"could not seek in file");
- Py_DECREF(dtype);
return NULL;
}
num = numbytes / dtype->elsize;
*/
elsize = dtype->elsize;
+ Py_INCREF(dtype); /* do not steal the original dtype. */
r = (PyArrayObject *)PyArray_NewFromDescr(&PyArray_Type, dtype, 1, &num,
NULL, NULL, 0, NULL);
if (r == NULL) {
/*
* Create an array by reading from the given stream, using the passed
* next_element and skip_separator functions.
- * As typical for array creation functions, it steals the reference to dtype.
+ * Does not steal the reference to dtype.
*/
#define FROM_BUFFER_SIZE 4096
static PyArrayObject *
PyArray_NewFromDescr(&PyArray_Type, dtype, 1, &size,
NULL, NULL, 0, NULL);
if (r == NULL) {
- Py_DECREF(dtype);
return NULL;
}
if (PyErr_Occurred()) {
/* If an error is already set (unlikely), do not create new one */
Py_DECREF(r);
- Py_DECREF(dtype);
return NULL;
}
/* 2019-09-12, NumPy 1.18 */
}
fail:
- Py_DECREF(dtype);
if (err == 1) {
PyErr_NoMemory();
}
(skip_separator) fromfile_skip_separator, NULL);
}
if (ret == NULL) {
+ Py_DECREF(dtype);
return NULL;
}
if (((npy_intp) nread) < num) {
- /* Realloc memory for smaller number of elements */
- const size_t nsize = PyArray_MAX(nread,1)*PyArray_DESCR(ret)->elsize;
+ /*
+ * Realloc memory for smaller number of elements, use original dtype
+ * which may have include a subarray (and is used for `nread`).
+ */
+ const size_t nsize = PyArray_MAX(nread,1) * dtype->elsize;
char *tmp;
- if((tmp = PyDataMem_RENEW(PyArray_DATA(ret), nsize)) == NULL) {
+ if ((tmp = PyDataMem_RENEW(PyArray_DATA(ret), nsize)) == NULL) {
+ Py_DECREF(dtype);
Py_DECREF(ret);
return PyErr_NoMemory();
}
((PyArrayObject_fields *)ret)->data = tmp;
PyArray_DIMS(ret)[0] = nread;
}
+ Py_DECREF(dtype);
return (PyObject *)ret;
}
(next_element) fromstr_next_element,
(skip_separator) fromstr_skip_separator,
end);
+ Py_DECREF(dtype);
}
return (PyObject *)ret;
}
return PyArray_ToString(self, order);
}
+/* Like PyArray_ToFile but takes the file as a python object */
+static int
+PyArray_ToFileObject(PyArrayObject *self, PyObject *file, char *sep, char *format)
+{
+ npy_off_t orig_pos = 0;
+ FILE *fd = npy_PyFile_Dup2(file, "wb", &orig_pos);
+
+ if (fd == NULL) {
+ return -1;
+ }
+
+ int write_ret = PyArray_ToFile(self, fd, sep, format);
+ PyObject *err_type, *err_value, *err_traceback;
+ PyErr_Fetch(&err_type, &err_value, &err_traceback);
+ int close_ret = npy_PyFile_DupClose2(file, fd, orig_pos);
+ npy_PyErr_ChainExceptions(err_type, err_value, err_traceback);
+
+ if (write_ret || close_ret) {
+ return -1;
+ }
+ return 0;
+}
/* This should grow an order= keyword to be consistent
*/
{
int own;
PyObject *file;
- FILE *fd;
char *sep = "";
char *format = "";
- npy_off_t orig_pos = 0;
static char *kwlist[] = {"file", "sep", "format", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|ss:tofile", kwlist,
own = 0;
}
- fd = npy_PyFile_Dup2(file, "wb", &orig_pos);
- if (fd == NULL) {
- goto fail;
- }
- if (PyArray_ToFile(self, fd, sep, format) < 0) {
- goto fail;
- }
- if (npy_PyFile_DupClose2(file, fd, orig_pos) < 0) {
- goto fail;
- }
- if (own && npy_PyFile_CloseFile(file) < 0) {
- goto fail;
+ int file_ret = PyArray_ToFileObject(self, file, sep, format);
+ int close_ret = 0;
+
+ if (own) {
+ PyObject *err_type, *err_value, *err_traceback;
+ PyErr_Fetch(&err_type, &err_value, &err_traceback);
+ close_ret = npy_PyFile_CloseFile(file);
+ npy_PyErr_ChainExceptions(err_type, err_value, err_traceback);
}
- Py_DECREF(file);
- Py_RETURN_NONE;
-fail:
Py_DECREF(file);
- return NULL;
+
+ if (file_ret || close_ret) {
+ return NULL;
+ }
+ Py_RETURN_NONE;
}
static PyObject *
if (Py_TYPE(self) == &PyBoolArrType_Type) {
obj = PyBool_FromLong(PyArrayScalar_VAL(self, Bool));
}
- else if (PyArray_IsScalar(self, Integer)) {
+ else if (PyArray_IsScalar(self, Integer)
+ && !PyArray_IsScalar(self, Timedelta)) {
obj = Py_TYPE(self)->tp_as_number->nb_int(self);
}
else if (PyArray_IsScalar(self, Floating)) {
__m256 denormal_mask = _mm256_cmp_ps(x, _mm256_set1_ps(FLT_MIN), _CMP_LT_OQ);
__m256 normal_mask = _mm256_cmp_ps(x, _mm256_set1_ps(FLT_MIN), _CMP_GE_OQ);
- __m256 temp1 = _mm256_blendv_ps(x, _mm256_set1_ps(0.0f), normal_mask);
+ /*
+ * It is necessary for temp1 to be volatile, a bug in clang optimizes it out which leads
+ * to an overflow warning in some cases. See https://github.com/numpy/numpy/issues/18005
+ */
+ volatile __m256 temp1 = _mm256_blendv_ps(x, _mm256_set1_ps(0.0f), normal_mask);
__m256 temp = _mm256_mul_ps(temp1, two_power_100);
x = _mm256_blendv_ps(x, temp, denormal_mask);
__m256 denormal_mask = _mm256_cmp_ps(x, _mm256_set1_ps(FLT_MIN), _CMP_LT_OQ);
__m256 normal_mask = _mm256_cmp_ps(x, _mm256_set1_ps(FLT_MIN), _CMP_GE_OQ);
- __m256 temp1 = _mm256_blendv_ps(x, _mm256_set1_ps(0.0f), normal_mask);
+ /*
+ * It is necessary for temp1 to be volatile, a bug in clang optimizes it out which leads
+ * to an overflow warning in some cases. See https://github.com/numpy/numpy/issues/18005
+ */
+ volatile __m256 temp1 = _mm256_blendv_ps(x, _mm256_set1_ps(0.0f), normal_mask);
__m256 temp = _mm256_mul_ps(temp1, two_power_100);
x = _mm256_blendv_ps(x, temp, denormal_mask);
ip += 2*@num_lanes@*stride_ip1;
num_remaining_elements -= 2*@num_lanes@;
}
- npy_clear_floatstatus_barrier((char*)op);
+ npy_clear_floatstatus_barrier((char*)&num_remaining_elements);
}
#endif
"""
Tests of the ._exceptions module. Primarily for exercising the __str__ methods.
"""
+
+import pickle
+
import numpy as np
_ArrayMemoryError = np.core._exceptions._ArrayMemoryError
+_UFuncNoLoopError = np.core._exceptions._UFuncNoLoopError
class TestArrayMemoryError:
+ def test_pickling(self):
+ """ Test that _ArrayMemoryError can be pickled """
+ error = _ArrayMemoryError((1023,), np.dtype(np.uint8))
+ res = pickle.loads(pickle.dumps(error))
+ assert res._total_size == error._total_size
+
def test_str(self):
e = _ArrayMemoryError((1023,), np.dtype(np.uint8))
str(e) # not crashing is enough
e = _ArrayMemoryError((2, 4), np.dtype((np.uint64, 16)))
assert e._total_size == 1024
+
+
+class TestUFuncNoLoopError:
+ def test_pickling(self):
+ """ Test that _UFuncNoLoopError can be pickled """
+ assert isinstance(pickle.dumps(_UFuncNoLoopError), bytes)
np.timedelta64)
assert_equal(actual, expected)
+ def test_timedelta_nat_format(self):
+ # gh-17552
+ assert_equal('NaT', '{0}'.format(np.timedelta64('nat')))
+
def test_timedelta_scalar_construction_units(self):
# String construction detecting units
assert_equal(np.datetime64('2010').dtype,
assert_raises(ValueError, np.array, x())
+ @pytest.mark.parametrize("error", [RecursionError, MemoryError])
+ @pytest.mark.parametrize("attribute",
+ ["__array_interface__", "__array__", "__array_struct__"])
+ def test_bad_array_like_attributes(self, attribute, error):
+ # Check that errors during attribute retrieval are raised unless
+ # they are Attribute errors.
+
+ class BadInterface:
+ def __getattr__(self, attr):
+ if attr == attribute:
+ raise error
+ super().__getattr__(attr)
+
+ with pytest.raises(error):
+ np.array(BadInterface())
+
+ @pytest.mark.parametrize("error", [RecursionError, MemoryError])
+ def test_bad_array_like_bad_length(self, error):
+ # RecursionError and MemoryError are considered "critical" in
+ # sequences. We could expand this more generally though. (NumPy 1.20)
+ class BadSequence:
+ def __len__(self):
+ raise error
+ def __getitem__(self):
+ # must have getitem to be a Sequence
+ return 1
+
+ with pytest.raises(error):
+ np.array(BadSequence())
+
+
def test_from_string(self):
types = np.typecodes['AllInteger'] + np.typecodes['Float']
nstr = ['123', '123']
s = f.read()
assert_equal(s, '1.51,2.00,3.51,4.00')
+ def test_tofile_cleanup(self):
+ x = np.zeros((10), dtype=object)
+ with open(self.filename, 'wb') as f:
+ assert_raises(IOError, lambda: x.tofile(f, sep=''))
+ # Dup-ed file handle should be closed or remove will fail on Windows OS
+ os.remove(self.filename)
+
+ # Also make sure that we close the Python handle
+ assert_raises(IOError, lambda: x.tofile(self.filename))
+ os.remove(self.filename)
+
def test_locale(self):
with CommaDecimalPointLocale():
self.test_numbers()
res = np.fromstring(x_str, dtype="(3,4)i4")
assert_array_equal(x, res)
+ def test_parsing_subarray_unsupported(self):
+ # We currently do not support parsing subarray dtypes
+ data = "12,42,13," * 50
+ with pytest.raises(ValueError):
+ expected = np.fromstring(data, dtype="(3,)i", sep=",")
+
+ with open(self.filename, "w") as f:
+ f.write(data)
+
+ with pytest.raises(ValueError):
+ np.fromfile(self.filename, dtype="(3,)i", sep=",")
+
+ def test_read_shorter_than_count_subarray(self):
+ # Test that requesting more values does not cause any problems
+ # in conjuction with subarray dimensions being absored into the
+ # array dimension.
+ expected = np.arange(511 * 10, dtype="i").reshape(-1, 10)
+
+ binary = expected.tobytes()
+ with pytest.raises(ValueError):
+ with pytest.warns(DeprecationWarning):
+ np.fromstring(binary, dtype="(10,)i", count=10000)
+
+ expected.tofile(self.filename)
+ res = np.fromfile(self.filename, dtype="(10,)i", count=10000)
+ assert_array_equal(res, expected)
+
class TestFromBuffer:
@pytest.mark.parametrize('byteorder', ['<', '>'])
assert_raises(FloatingPointError, np.log, np.float32(-np.inf))
assert_raises(FloatingPointError, np.log, np.float32(-1.0))
+ # See https://github.com/numpy/numpy/issues/18005
+ with assert_no_warnings():
+ a = np.array(1e9, dtype='float32')
+ np.log(a)
+
def test_sincos_values(self):
with np.errstate(all='ignore'):
x = [np.nan, np.nan, np.nan, np.nan]
# flag as it everywhere, so we should return the scalar flag.
if isinstance(x_id, bool) or x_id.ndim == 0:
return bool_(x_id)
- elif isinstance(x_id, bool) or y_id.ndim == 0:
+ elif isinstance(y_id, bool) or y_id.ndim == 0:
return bool_(y_id)
else:
return y_id
--- /dev/null
+
+# THIS FILE IS GENERATED FROM NUMPY SETUP.PY
+#
+# To compare versions robustly, use `numpy.lib.NumpyVersion`
+short_version = '1.19.5'
+version = '1.19.5'
+full_version = '1.19.5'
+git_revision = '8f4b73a0d04f7bebb06a154b43e5ef5b5980052f'
+release = True
+
+if not release:
+ version = full_version
+++ /dev/null
-r"""
-This paver file is intended to help with the release process as much as
-possible. It relies on virtualenv to generate 'bootstrap' environments as
-independent from the user system as possible (e.g. to make sure the sphinx doc
-is built against the built numpy, not an installed one).
-
-Building changelog + notes
-==========================
-
-Assumes you have git and the binaries/tarballs in installers/::
-
- paver write_release
- paver write_note
-
-This automatically put the checksum into README.rst, and writes the Changelog.
-
-TODO
-====
- - the script is messy, lots of global variables
- - make it more easily customizable (through command line args)
- - missing targets: install & test, sdist test, debian packaging
- - fix bdist_mpkg: we build the same source twice -> how to make sure we use
- the same underlying python for egg install in venv and for bdist_mpkg
-"""
-import os
-import sys
-import shutil
-import hashlib
-
-# The paver package needs to be installed to run tasks
-import paver
-from paver.easy import Bunch, options, task, sh
-
-
-#-----------------------------------
-# Things to be changed for a release
-#-----------------------------------
-
-# Path to the release notes
-RELEASE_NOTES = 'doc/source/release/1.19.4-notes.rst'
-
-
-#-------------------------------------------------------
-# Hardcoded build/install dirs, virtualenv options, etc.
-#-------------------------------------------------------
-
-# Where to put the release installers
-options(installers=Bunch(releasedir="release",
- installersdir=os.path.join("release", "installers")),)
-
-
-#-----------------------------
-# Generate the release version
-#-----------------------------
-
-sys.path.insert(0, os.path.dirname(__file__))
-try:
- setup_py = __import__("setup")
- FULLVERSION = setup_py.VERSION
- # This is duplicated from setup.py
- if os.path.exists('.git'):
- GIT_REVISION = setup_py.git_version()
- elif os.path.exists('numpy/version.py'):
- # must be a source distribution, use existing version file
- from numpy.version import git_revision as GIT_REVISION
- else:
- GIT_REVISION = "Unknown"
-
- if not setup_py.ISRELEASED:
- FULLVERSION += '.dev0+' + GIT_REVISION[:7]
-finally:
- sys.path.pop(0)
-
-
-#--------------------------
-# Source distribution stuff
-#--------------------------
-def tarball_name(ftype='gztar'):
- """Generate source distribution name
-
- Parameters
- ----------
- ftype : {'zip', 'gztar'}
- Type of archive, default is 'gztar'.
-
- """
- root = f'numpy-{FULLVERSION}'
- if ftype == 'gztar':
- return root + '.tar.gz'
- elif ftype == 'zip':
- return root + '.zip'
- raise ValueError(f"Unknown type {type}")
-
-
-@task
-def sdist(options):
- """Make source distributions.
-
- Parameters
- ----------
- options :
- Set by ``task`` decorator.
-
- """
- # First clean the repo and update submodules (for up-to-date doc html theme
- # and Sphinx extensions)
- sh('git clean -xdf')
- sh('git submodule init')
- sh('git submodule update')
-
- # To be sure to bypass paver when building sdist... paver + numpy.distutils
- # do not play well together.
- # Cython is run over all Cython files in setup.py, so generated C files
- # will be included.
- sh('python3 setup.py sdist --formats=gztar,zip')
-
- # Copy the superpack into installers dir
- idirs = options.installers.installersdir
- if not os.path.exists(idirs):
- os.makedirs(idirs)
-
- for ftype in ['gztar', 'zip']:
- source = os.path.join('dist', tarball_name(ftype))
- target = os.path.join(idirs, tarball_name(ftype))
- shutil.copy(source, target)
-
-
-#-------------
-# README stuff
-#-------------
-
-def _compute_hash(idirs, hashfunc):
- """Hash files using given hashfunc.
-
- Parameters
- ----------
- idirs : directory path
- Directory containing files to be hashed.
- hashfunc : hash function
- Function to be used to hash the files.
-
- """
- released = paver.path.path(idirs).listdir()
- checksums = []
- for fpath in sorted(released):
- with open(fpath, 'rb') as fin:
- fhash = hashfunc(fin.read())
- checksums.append(
- '%s %s' % (fhash.hexdigest(), os.path.basename(fpath)))
- return checksums
-
-
-def compute_md5(idirs):
- """Compute md5 hash of files in idirs.
-
- Parameters
- ----------
- idirs : directory path
- Directory containing files to be hashed.
-
- """
- return _compute_hash(idirs, hashlib.md5)
-
-
-def compute_sha256(idirs):
- """Compute sha256 hash of files in idirs.
-
- Parameters
- ----------
- idirs : directory path
- Directory containing files to be hashed.
-
- """
- # better checksum so gpg signed README.rst containing the sums can be used
- # to verify the binaries instead of signing all binaries
- return _compute_hash(idirs, hashlib.sha256)
-
-
-def write_release_task(options, filename='README'):
- """Append hashes of release files to release notes.
-
- This appends file hashes to the release notes ane creates
- four README files of the result in various formats:
-
- - README.rst
- - README.rst.gpg
- - README.md
- - README.md.gpg
-
- The md file are created using `pandoc` so that the links are
- properly updated. The gpg files are kept separate, so that
- the unsigned files may be edited before signing if needed.
-
- Parameters
- ----------
- options :
- Set by ``task`` decorator.
- filename : string
- Filename of the modified notes. The file is written
- in the release directory.
-
- """
- idirs = options.installers.installersdir
- notes = paver.path.path(RELEASE_NOTES)
- rst_readme = paver.path.path(filename + '.rst')
- md_readme = paver.path.path(filename + '.md')
-
- # append hashes
- with open(rst_readme, 'w') as freadme:
- with open(notes) as fnotes:
- freadme.write(fnotes.read())
-
- freadme.writelines("""
-Checksums
-=========
-
-MD5
----
-::
-
-""")
- freadme.writelines([f' {c}\n' for c in compute_md5(idirs)])
- freadme.writelines("""
-SHA256
-------
-::
-
-""")
- freadme.writelines([f' {c}\n' for c in compute_sha256(idirs)])
-
- # generate md file using pandoc before signing
- sh(f"pandoc -s -o {md_readme} {rst_readme}")
-
- # Sign files
- if hasattr(options, 'gpg_key'):
- cmd = f'gpg --clearsign --armor --default_key {options.gpg_key}'
- else:
- cmd = 'gpg --clearsign --armor'
-
- sh(cmd + f' --output {rst_readme}.gpg {rst_readme}')
- sh(cmd + f' --output {md_readme}.gpg {md_readme}')
-
-
-@task
-def write_release(options):
- """Write the README files.
-
- Two README files are generated from the release notes, one in ``rst``
- markup for the general release, the other in ``md`` markup for the github
- release notes.
-
- Parameters
- ----------
- options :
- Set by ``task`` decorator.
-
- """
- rdir = options.installers.releasedir
- write_release_task(options, os.path.join(rdir, 'README'))
MAJOR = 1
MINOR = 19
-MICRO = 4
+MICRO = 5
ISRELEASED = True
VERSION = '%d.%d.%d' % (MAJOR, MINOR, MICRO)
+++ /dev/null
-branches:
- only:
- - master
- - maintenance/*
-
-language: python
-
-python:
- # use versions available for job image
- # aarch64_u16pytall:v6.7.4
- # (what we currently have access to by default)
- # this is a bit restrictive in terms
- # of version availability / control,
- # but it is convenient
- - 3.7
-
-runtime:
- # use the free open source pool of nodes
- # only for ARM platform
- nodePool: shippable_shared_aarch64
-
-build:
- ci:
- # install dependencies and newer toolchain for gfortran5
- - sudo add-apt-repository ppa:ubuntu-toolchain-r/test
- - sudo apt-get update
- - sudo apt-get install gcc gfortran libgfortran5
- - target=$(python tools/openblas_support.py)
- - ls -lR "${target}"
- - sudo cp -r "${target}"/lib/* /usr/lib
- - sudo cp "${target}"/include/* /usr/include
- - python -m pip install --upgrade pip
-
- # we will pay the ~13 minute cost of compiling Cython only when a new
- # version is scraped in by pip; otherwise, use the cached
- # wheel shippable places on Amazon S3 after we build it once
- - python -m pip install -r test_requirements.txt --cache-dir=/root/.cache/pip/wheels/$SHIPPABLE_PYTHON_VERSION
- # install pytest-xdist to leverage a second core
- # for unit tests
- - python -m pip install pytest-xdist
-
- # build and test numpy
- - export PATH=$PATH:$SHIPPABLE_REPO_DIR
- # build first and adjust PATH so f2py is found in scripts dir
- # use > 1 core for build sometimes slows down a fair bit,
- # other times modestly speeds up, so avoid for now
- - python -m pip install .
- - extra_directories=($SHIPPABLE_REPO_DIR/build/*scripts*)
- - extra_path=$(printf "%s:" "${extra_directories[@]}")
- - export PATH="${extra_path}${PATH}"
- # check OpenBLAS version
- - python tools/openblas_support.py --check_version
- # run the test suite
- - python runtests.py -n --debug-info --show-build-log -- -rsx --junit-xml=$SHIPPABLE_REPO_DIR/shippable/testresults/tests.xml -n 2 --durations=10
-
- cache: false
-
-# disable email notification
-# of CI job result
-integrations:
- notifications:
- - integrationName: email
- type: email
- on_success: never
- on_failure: never
- on_cancel: never
- on_pull_request: never
from tempfile import mkstemp, gettempdir
from urllib.request import urlopen, Request
+from urllib.error import HTTPError
-OPENBLAS_V = '0.3.9'
-# Temporary build of OpenBLAS to test a fix for dynamic detection of CPU
-OPENBLAS_LONG = 'v0.3.7-527-g79fd006c' # the 0.3.7 is misleading
+OPENBLAS_V = '0.3.13'
+OPENBLAS_LONG = 'v0.3.13'
BASE_LOC = 'https://anaconda.org/multibuild-wheels-staging/openblas-libs'
BASEURL = f'{BASE_LOC}/{OPENBLAS_LONG}/download'
-ARCHITECTURES = ['', 'windows', 'darwin', 'aarch64', 'x86_64', 'i686', 'ppc64le', 's390x']
-sha256_vals = {
-"openblas-v0.3.7-527-g79fd006c-win_amd64-gcc_7_1_0.zip": "7249d68c02e6b6339e06edfeab1fecddf29ee1e67a3afaa77917c320c43de840",
-"openblas64_-v0.3.7-527-g79fd006c-win_amd64-gcc_7_1_0.zip": "6488e0961a5926e47242f63b63b41cfdd661e6f1d267e8e313e397cde4775c17",
-"openblas-v0.3.7-527-g79fd006c-win32-gcc_7_1_0.zip": "5fb0867ca70b1d0fdbf68dd387c0211f26903d74631420e4aabb49e94aa3930d",
-"openblas-v0.3.7-527-g79fd006c-macosx_10_9_x86_64-gf_1becaaa.tar.gz": "69434bd626bbc495da9ce8c36b005d140c75e3c47f94e88c764a199e820f9259",
-"openblas64_-v0.3.7-527-g79fd006c-macosx_10_9_x86_64-gf_1becaaa.tar.gz": "093f6d953e3fa76a86809be67bd1f0b27656671b5a55b233169cfaa43fd63e22",
-"openblas-v0.3.7-527-g79fd006c-manylinux2014_aarch64.tar.gz": "42676c69dc48cd6e412251b39da6b955a5a0e00323ddd77f9137f7c259d35319",
-"openblas64_-v0.3.7-527-g79fd006c-manylinux2014_aarch64.tar.gz": "5aec167af4052cf5e9e3e416c522d9794efabf03a2aea78b9bb3adc94f0b73d8",
-"openblas-v0.3.7-527-g79fd006c-manylinux2010_x86_64.tar.gz": "fa67c6cc29d4cc5c70a147c80526243239a6f95fc3feadcf83a78176cd9c526b",
-"openblas64_-v0.3.7-527-g79fd006c-manylinux2010_x86_64.tar.gz": "9ad34e89a5307dcf5823bf5c020580d0559a0c155fe85b44fc219752e61852b0",
-"openblas-v0.3.7-527-g79fd006c-manylinux2010_i686.tar.gz": "0b8595d316c8b7be84ab1f1d5a0c89c1b35f7c987cdaf61d441bcba7ab4c7439",
-"openblas-v0.3.7-527-g79fd006c-manylinux2014_ppc64le.tar.gz": "3e1c7d6472c34e7210e3605be4bac9ddd32f613d44297dc50cf2d067e720c4a9",
-"openblas64_-v0.3.7-527-g79fd006c-manylinux2014_ppc64le.tar.gz": "a0885873298e21297a04be6cb7355a585df4fa4873e436b4c16c0a18fc9073ea",
-"openblas-v0.3.7-527-g79fd006c-manylinux2014_s390x.tar.gz": "79b454320817574e20499d58f05259ed35213bea0158953992b910607b17f240",
-"openblas64_-v0.3.7-527-g79fd006c-manylinux2014_s390x.tar.gz": "9fddbebf5301518fc4a5d2022a61886544a0566868c8c014359a1ee6b17f2814",
-"openblas-v0.3.7-527-g79fd006c-manylinux1_i686.tar.gz": "24fb92684ec4676185fff5c9340f50c3db6075948bcef760e9c715a8974e4680",
-"openblas-v0.3.7-527-g79fd006c-manylinux1_x86_64.tar.gz": "ebb8236b57a1b4075fd5cdc3e9246d2900c133a42482e5e714d1e67af5d00e62",
-"openblas-v0.3.7-527-g79fd006c-manylinux1_i686.tar.gz": "24fb92684ec4676185fff5c9340f50c3db6075948bcef760e9c715a8974e4680",
-"openblas-v0.3.7-527-g79fd006c-manylinux1_x86_64.tar.gz": "ebb8236b57a1b4075fd5cdc3e9246d2900c133a42482e5e714d1e67af5d00e62",
-"openblas-v0.3.7-527-g79fd006c-manylinux1_i686.tar.gz": "24fb92684ec4676185fff5c9340f50c3db6075948bcef760e9c715a8974e4680",
-"openblas-v0.3.7-527-g79fd006c-manylinux1_x86_64.tar.gz": "ebb8236b57a1b4075fd5cdc3e9246d2900c133a42482e5e714d1e67af5d00e62",
-}
-
-
+ARCHITECTURES = ['', 'windows', 'darwin', 'aarch64', 'x86_64',
+ 'i686', 'ppc64le', 's390x']
IS_32BIT = sys.maxsize < 2**32
+
def get_arch():
if platform.system() == 'Windows':
ret = 'windows'
# What do 32 bit machines report?
# If they are a docker, they can report x86_64
if 'x86' in ret and IS_32BIT:
- arch = 'i686'
+ ret = 'i686'
assert ret in ARCHITECTURES, f'invalid architecture {ret}'
return ret
+
def get_ilp64():
if os.environ.get("NPY_USE_BLAS_ILP64", "0") == "0":
return None
raise RuntimeError("NPY_USE_BLAS_ILP64 set on 32-bit arch")
return "64_"
+
def get_manylinux(arch):
if arch in ('x86_64', 'i686'):
default = '2010'
return ret
-def download_openblas(target, arch, ilp64):
+def download_openblas(target, arch, ilp64, is_32bit):
ml_ver = get_manylinux(arch)
fnsuffix = {None: "", "64_": "64_"}[ilp64]
filename = ''
- headers = {'User-Agent': ('Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 ; '
- '(KHTML, like Gecko) Chrome/41.0.2228.0 '
- 'Safari/537.3')}
+ headers = {'User-Agent':
+ ('Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 ; '
+ '(KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3')}
if arch in ('aarch64', 'ppc64le', 's390x', 'x86_64', 'i686'):
suffix = f'manylinux{ml_ver}_{arch}.tar.gz'
filename = f'{BASEURL}/openblas{fnsuffix}-{OPENBLAS_LONG}-{suffix}'
filename = f'{BASEURL}/openblas{fnsuffix}-{OPENBLAS_LONG}-{suffix}'
typ = 'tar.gz'
elif arch == 'windows':
- if IS_32BIT:
- suffix = 'win32-gcc_7_1_0.zip'
+ if is_32bit:
+ suffix = 'win32-gcc_8_1_0.zip'
else:
- suffix = 'win_amd64-gcc_7_1_0.zip'
+ suffix = 'win_amd64-gcc_8_1_0.zip'
filename = f'{BASEURL}/openblas{fnsuffix}-{OPENBLAS_LONG}-{suffix}'
typ = 'zip'
if not filename:
return None
req = Request(url=filename, headers=headers)
- response = urlopen(req)
+ try:
+ response = urlopen(req)
+ except HTTPError:
+ print(f'Could not download "{filename}"', file=sys.stderr)
+ raise
length = response.getheader('content-length')
if response.status != 200:
print(f'Could not download "{filename}"', file=sys.stderr)
data = response.read()
# Verify hash
key = os.path.basename(filename)
- sha256_returned = hashlib.sha256(data).hexdigest()
- if key not in sha256_vals:
- raise ValueError(
- f'key "{key}" with hash "{sha256_returned}" not in sha256_vals')
- sha256_expected = sha256_vals[key]
- if sha256_returned != sha256_expected:
- raise ValueError(f'sha256 hash mismatch for filename {filename}')
print("Saving to file", file=sys.stderr)
with open(target, 'wb') as fid:
fid.write(data)
return typ
-def setup_openblas(arch=get_arch(), ilp64=get_ilp64()):
+
+def setup_openblas(arch=get_arch(), ilp64=get_ilp64(), is_32bit=IS_32BIT):
'''
Download and setup an openblas library for building. If successful,
the configuration script will find it automatically.
_, tmp = mkstemp()
if not arch:
raise ValueError('unknown architecture')
- typ = download_openblas(tmp, arch, ilp64)
+ typ = download_openblas(tmp, arch, ilp64, is_32bit)
if not typ:
return ''
if arch == 'windows':
if not typ == 'zip':
- return 'expecting to download zipfile on windows, not %s' % str(typ)
+ return f'expecting to download zipfile on windows, not {typ}'
return unpack_windows_zip(tmp)
else:
if not typ == 'tar.gz':
return 'expecting to download tar.gz, not %s' % str(typ)
return unpack_targz(tmp)
+
def unpack_windows_zip(fname):
with zipfile.ZipFile(fname, 'r') as zf:
# Get the openblas.a file, but not openblas.dll.a nor openblas.dev.a
lib = [x for x in zf.namelist() if OPENBLAS_LONG in x and
- x.endswith('a') and not x.endswith('dll.a') and
- not x.endswith('dev.a')]
+ x.endswith('a') and not x.endswith('dll.a') and
+ not x.endswith('dev.a')]
if not lib:
return 'could not find libopenblas_%s*.a ' \
'in downloaded zipfile' % OPENBLAS_LONG
fid.write(zf.read(lib[0]))
return target
+
def unpack_targz(fname):
target = os.path.join(gettempdir(), 'openblas')
if not os.path.exists(target):
extract_tarfile_to(zf, target, prefix)
return target
+
def extract_tarfile_to(tarfileobj, target_path, archive_path):
"""Extract TarFile contents under archive_path/ to target_path/"""
tarfileobj.extractall(target_path, members=get_members())
+
def make_init(dirname):
'''
Create a _distributor_init.py file for OpenBlas
DLL_filenames.append(filename)
if len(DLL_filenames) > 1:
import warnings
- warnings.warn("loaded more than 1 DLL from .libs:\\n%s" %
- "\\n".join(DLL_filenames),
+ warnings.warn("loaded more than 1 DLL from .libs:"
+ "\\n%s" % "\\n".join(DLL_filenames),
stacklevel=1)
"""))
+
def test_setup(arches):
'''
Make sure all the downloadable files exist and can be opened
'''
def items():
+ """ yields all combinations of arch, ilp64, is_32bit
+ """
for arch in arches:
- yield arch, None
- if arch not in ('i686'):
- yield arch, '64_'
+ yield arch, None, False
+ if arch not in ('i686',):
+ yield arch, '64_', False
+ if arch in ('windows',):
+ yield arch, None, True
+ if arch in ('i686', 'x86_64'):
+ oldval = os.environ.get('MB_ML_VER', None)
+ os.environ['MB_ML_VER'] = '1'
+ yield arch, None, False
+ # Once we create x86_64 and i686 manylinux2014 wheels...
+ # os.environ['MB_ML_VER'] = '2014'
+ # yield arch, None, False
+ if oldval:
+ os.environ['MB_ML_VER'] = oldval
+ else:
+ os.environ.pop('MB_ML_VER')
errs = []
- for arch, ilp64 in items():
+ for arch, ilp64, is_32bit in items():
if arch == '':
continue
-
+ if arch not in arches:
+ continue
target = None
try:
try:
- target = setup_openblas(arch, ilp64)
+ target = setup_openblas(arch, ilp64, is_32bit)
except Exception as e:
- print(f'Could not setup {arch}:')
- print(str(e))
+ print(f'Could not setup {arch} with ilp64 {ilp64}, '
+ f'32bit {is_32bit}:')
+ print(e)
errs.append(e)
continue
if not target:
get_config = dll.openblas_get_config64_
else:
get_config = dll.openblas_get_config
- get_config.restype=ctypes.c_char_p
+ get_config.restype = ctypes.c_char_p
res = get_config()
print('OpenBLAS get_config returned', str(res))
if not expected_version:
expected_version = OPENBLAS_V
check_str = b'OpenBLAS %s' % expected_version.encode()
print(check_str)
- assert check_str in res, '%s not found in %s' %(expected_version, res)
+ assert check_str in res, f'{expected_version} not found in {res}'
if ilp64:
assert b"USE64BITINT" in res
else:
assert b"USE64BITINT" not in res
+
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser(
- description='Download and expand an OpenBLAS archive for this ' \
+ description='Download and expand an OpenBLAS archive for this '
'architecture')
parser.add_argument('--test', nargs='*', default=None,
- help='Test different architectures. "all", or any of %s' % ARCHITECTURES)
+ help='Test different architectures. "all", or any of '
+ f'{ARCHITECTURES}')
parser.add_argument('--check_version', nargs='?', default='',
- help='Check provided OpenBLAS version string against available OpenBLAS')
+ help='Check provided OpenBLAS version string '
+ 'against available OpenBLAS')
args = parser.parse_args()
if args.check_version != '':
test_version(args.check_version)