Commits

Lynn Rees committed da00a88

- hole in undo

  • Participants
  • Parent commits 16ecfea

Comments (0)

Files changed (95)

File docs/_build/doctest/output.txt

-Results of doctest builder run on 2012-08-12 00:36:13
-=====================================================
-
-Document: index
----------------
-1 items passed all tests:
-  28 tests in default
-28 tests in 1 items.
-28 passed and 0 failed.
-Test passed.
-
-Document: areduceknife
-----------------------
-1 items passed all tests:
-  39 tests in default
-39 tests in 1 items.
-39 passed and 0 failed.
-Test passed.
-
-Document: asliceknife
----------------------
-1 items passed all tests:
-  42 tests in default
-42 tests in 1 items.
-42 passed and 0 failed.
-Test passed.
-
-Document: lorderknife
----------------------
-1 items passed all tests:
-  37 tests in default
-37 tests in 1 items.
-37 passed and 0 failed.
-Test passed.
-
-Document: lreduceknife
-----------------------
-1 items passed all tests:
-  39 tests in default
-39 tests in 1 items.
-39 passed and 0 failed.
-Test passed.
-
-Document: lsliceknife
----------------------
-1 items passed all tests:
-  42 tests in default
-42 tests in 1 items.
-42 passed and 0 failed.
-Test passed.
-
-Document: amapknife
--------------------
-1 items passed all tests:
-  43 tests in default
-43 tests in 1 items.
-43 passed and 0 failed.
-Test passed.
-
-Document: afilterknife
-----------------------
-1 items passed all tests:
-  54 tests in default
-54 tests in 1 items.
-54 passed and 0 failed.
-Test passed.
-
-Document: arepeatknife
-----------------------
-1 items passed all tests:
-  36 tests in default
-36 tests in 1 items.
-36 passed and 0 failed.
-Test passed.
-
-Document: lazyknife
--------------------
-1 items passed all tests:
- 137 tests in default
-137 tests in 1 items.
-137 passed and 0 failed.
-Test passed.
-
-Document: lmathknife
---------------------
-1 items passed all tests:
-  50 tests in default
-50 tests in 1 items.
-50 passed and 0 failed.
-Test passed.
-
-Document: amathknife
---------------------
-1 items passed all tests:
-  50 tests in default
-50 tests in 1 items.
-50 passed and 0 failed.
-Test passed.
-
-Document: aorderknife
----------------------
-1 items passed all tests:
-  37 tests in default
-37 tests in 1 items.
-37 passed and 0 failed.
-Test passed.
-
-Document: acmpknife
--------------------
-1 items passed all tests:
-  39 tests in default
-39 tests in 1 items.
-39 passed and 0 failed.
-Test passed.
-
-Document: lmapknife
--------------------
-1 items passed all tests:
-  43 tests in default
-43 tests in 1 items.
-43 passed and 0 failed.
-Test passed.
-
-Document: lrepeatknife
-----------------------
-1 items passed all tests:
-  36 tests in default
-36 tests in 1 items.
-36 passed and 0 failed.
-Test passed.
-
-Document: activeknife
----------------------
-1 items passed all tests:
- 137 tests in default
-137 tests in 1 items.
-137 passed and 0 failed.
-Test passed.
-
-Document: lcmpknife
--------------------
-1 items passed all tests:
-  39 tests in default
-39 tests in 1 items.
-39 passed and 0 failed.
-Test passed.
-
-Document: lfilterknife
-----------------------
-1 items passed all tests:
-  54 tests in default
-54 tests in 1 items.
-54 passed and 0 failed.
-Test passed.
-
-Doctest summary
-===============
-  982 tests
-    0 failures in tests
-    0 failures in setup code
-    0 failures in cleanup code

File docs/_build/doctrees/acmpknife.doctree

Binary file removed.

File docs/_build/doctrees/activeknife.doctree

Binary file removed.

File docs/_build/doctrees/afilterknife.doctree

Binary file removed.

File docs/_build/doctrees/amapknife.doctree

Binary file removed.

File docs/_build/doctrees/amathknife.doctree

Binary file removed.

File docs/_build/doctrees/aorderknife.doctree

Binary file removed.

File docs/_build/doctrees/areduceknife.doctree

Binary file removed.

File docs/_build/doctrees/arepeatknife.doctree

Binary file removed.

File docs/_build/doctrees/asliceknife.doctree

Binary file removed.

File docs/_build/doctrees/environment.pickle

Binary file removed.

File docs/_build/doctrees/index.doctree

Binary file removed.

File docs/_build/doctrees/lazyknife.doctree

Binary file removed.

File docs/_build/doctrees/lcmpknife.doctree

Binary file removed.

File docs/_build/doctrees/lfilterknife.doctree

Binary file removed.

File docs/_build/doctrees/lmapknife.doctree

Binary file removed.

File docs/_build/doctrees/lmathknife.doctree

Binary file removed.

File docs/_build/doctrees/lorderknife.doctree

Binary file removed.

File docs/_build/doctrees/lreduceknife.doctree

Binary file removed.

File docs/_build/doctrees/lrepeatknife.doctree

Binary file removed.

File docs/_build/doctrees/lsliceknife.doctree

Binary file removed.

File docs/_build/html/.buildinfo

-# Sphinx build info version 1
-# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: fbd3d81fa8a4f7c427da8b60caacc3dd
-tags: fbb0d17656682115ca4d033fb2f83ba1

File docs/_build/html/_sources/acmpknife.txt

-:class:`knife.active.cmpknife` --- Actively evaluated comparing knife
-=====================================================================
-
-.. module:: knife.active
-
-.. autoclass:: cmpknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/activeknife.txt

-:class:`knife.active.activeknife` --- Actively evaluated combo knife
-====================================================================
-
-.. module:: knife.active
-
-.. autoclass:: activeknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/afilterknife.txt

-:class:`knife.active.filterknife` --- Actively evaluated filtering knife
-========================================================================
-
-.. module:: knife.active
-
-.. autoclass:: filterknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/amapknife.txt

-:class:`knife.active.mapknife` --- Actively evaluated mapping knife
-===================================================================
-
-.. module:: knife.active
-
-.. autoclass:: mapknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/amathknife.txt

-:class:`knife.active.mathknife` --- Actively evaluated mathing knife
-====================================================================
-
-.. module:: knife.active
-
-.. autoclass:: mathknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/aorderknife.txt

-:class:`knife.active.orderknife` --- Actively evaluated ordering knife
-======================================================================
-
-.. module:: knife.active
-
-.. autoclass:: orderknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/areduceknife.txt

-:class:`knife.active.reduceknife` --- Actively evaluated reducing knife
-=======================================================================
-
-.. module:: knife.active
-
-.. autoclass:: reduceknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/arepeatknife.txt

-:class:`knife.active.repeatknife` --- Actively evaluated repeating knife
-========================================================================
-
-.. module:: knife.active
-
-.. autoclass:: repeatknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/asliceknife.txt

-:class:`knife.active.sliceknife` --- Actively evaluated slicing knife
-=====================================================================
-
-.. module:: knife.active
-
-.. autoclass:: sliceknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/index.txt

-.. knife documentation master file, created by
-   sphinx-quickstart on Wed Apr 11 00:32:47 2012.
-   You can adapt this file completely to your liking, but it should at least
-   contain the root `toctree` directive.
-
-*knife* Documentation
-#####################
-
-:mod:`knife` is a powerful `Python <http://docs.python.org/>`_ multitool
-loosely inspired by `Underscore.js <http://documentcloud.github.com/underscore/>`_
-but remixed for maximum `pythonicity <http://docs.python.org/glossary.html#term-pythonic>`_. 
-
-:mod:`knife` concentrates power that is normally dispersed across the entire Python
-universe in one convenient shrink-wrapped package.
-
-Vitals
-======
-
-:mod:`knife` works with CPython 2.6, 2.7, 3.1. and 3.2 and PyPy 1.8.
-
-:mod:`knife` documentation is at http://readthedocs.org/docs/knife/en/latest/ or
-http://packages.python.org/knife/
-
-Installation
-============
-
-Install :mod:`knife` with `pip <http://www.pip-installer.org/en/latest/index.html>`_...::
-
-  $ pip install knife
-  [... possibly exciting stuff happening ...]
-  Successfully installed knife
-  
-...or `easy_install <http://packages.python.org/distribute/>`_...::
-
-  $ easy_install knife
-  [... possibly exciting stuff happening ...]
-  Finished processing dependencies for knife
-  
-...or old school by downloading :mod:`knife` from http://pypi.python.org/pypi/knife/::
-
-  $ python setup.py install
-  [... possibly exciting stuff happening ...]
-  Finished processing dependencies for knife
-
-Development
-===========
-
- * Public repository: https://bitbucket.org/lcrees/knife.
- * Mirror: https://github.com/kwarterthieves/knife/
- * Issue tracker: https://bitbucket.org/lcrees/knife/issues
- * License: `BSD <http://www.opensource.org/licenses/bsd-license.php>`_
-
-3 second *knife*
-================
-
-Things go in:
-
-  >>> from knife import __
-  >>> gauntlet = __(5, 4, 3, 2, 1)
-  
-Things get knifed:
-
-  >>> gauntlet.initial().rest().slice(1, 2).last()
-  knife.lazy.lazyknife ([IN: ([3]) => WORK: ([]) => HOLD: ([]) => OUT: ([3])])
-
-Things come out:
-
-  >>> gauntlet.get()
-  3
-
-Slightly more *knife*
-=====================
-
-:mod:`knife` has 40 plus :term:`method`\s that can be `chained <https://en.wikipedia.org/
-wiki/Fluent_interface>`_ into pipelines...
-
-contrived example:
-^^^^^^^^^^^^^^^^^^
-
-  >>> __(5, 4, 3, 2, 1).initial().rest().slice(1, 2).last().get()
-  3
-
-...or used :term:`object`\-oriented style.
-
-contrived example:
-^^^^^^^^^^^^^^^^^^
-
-  >>> from knife import knife
-  >>> oo = knife(5, 4, 3, 2, 1)
-  >>> oo.initial()
-  knife.active.activeknife ([IN: ([5, 4, 3, 2, 1]) => WORK: ([]) => HOLD: ([]) => OUT: ([5, 4, 3, 2])])
-  >>> oo.rest()
-  knife.active.activeknife ([IN: ([5, 4, 3, 2]) => WORK: ([]) => HOLD: ([]) => OUT: ([4, 3, 2])])
-  >>> oo.slice(1, 2)
-  knife.active.activeknife ([IN: ([4, 3, 2]) => WORK: ([]) => HOLD: ([]) => OUT: ([3])])
-  >>> oo.last()
-  knife.active.activeknife ([IN: ([3]) => WORK: ([]) => HOLD: ([]) => OUT: ([3])])
-  >>> oo.get()
-  3
-  
-A :mod:`knife` :term:`object` can roll its current state back to previous states
-like snapshots of immediately preceding operations, a baseline snapshot, or even 
-a snapshot of the original arguments.
-
-contrived example:
-^^^^^^^^^^^^^^^^^^
-  
-  >>> undone = __(1, 2, 3).prepend(1, 2, 3, 4, 5, 6)
-  >>> undone.peek()
-  [1, 2, 3, 4, 5, 6, 1, 2, 3]
-  >>> undone.append(1).undo().peek()
-  [1, 2, 3, 4, 5, 6, 1, 2, 3]
-  >>> undone.append(1).append(2).undo(2).peek()
-  [1, 2, 3, 4, 5, 6, 1, 2, 3]
-  >>> undone.snapshot().append(1).append(2).baseline().peek()
-  [1, 2, 3, 4, 5, 6, 1, 2, 3]
-  >>> undone.original().peek()
-  [1, 2, 3]
-
-:mod:`knife` knives come in two flavors: :mod:`active` and :mod:`lazy`.
-:mod:`active.knife` :term:`object`\s evaluate the result of calling a
-:term:`method` immediately after the call. Calling the same :term:`method` with
-a :mod:`lazy.knife` :term:`object` only yields results when it is iterated over
-or :meth:`knife.lazy.lazyknife.get` is called to get results.
-  
-:class:`knife.lazy.lazyknife` combines all :mod:`knife` methods in one
-:mod:`knife` class:
-
-  >>> from knife import lazyknife
-
-It can be imported under its *dunderscore* (:class:`knife.__`) alias.
-
-  >>> from knife import __  
-  
-:class:`knife.active.activeknife` also combines every :mod:`knife` method in one
-combo :mod:`knife` :term:`class`:
-
-  >>> from knife import activeknife
-
-It can be imported under its :class:`knife.knife` alias:
- 
-  >>> from knife import knife
-
-:mod:`knife` :term:`method`\s are available in more focused :term:`class`\es
-that group related :term:`method`\s together. These :term:`class`\es can also be
-chained together into pipelines.
-
-contrived example:
-^^^^^^^^^^^^^^^^^^
-
-  >>> from knife.active import mathknife, reduceknife
-  >>> one = mathknife(10, 5, 100, 2, 1000)
-  >>> two = reduceknife()
-  >>> one.minmax().pipe(two).merge().back().min().get()
-  2
-  >>> one.original().minmax().pipe(two).merge().back().max().get()
-  1000
-  >>> one.original().minmax().pipe(two).merge().back().sum().get()
-  1002
-
-Lazy knives
-===========
-
-.. toctree::
-   :maxdepth: 2
-
-   lazyknife
-   lcmpknife
-   lfilterknife
-   lmapknife
-   lmathknife
-   lorderknife
-   lreduceknife
-   lrepeatknife
-   lsliceknife
-
-Active knives
-=============
-
-.. toctree::
-   :maxdepth: 2
-
-   activeknife
-   acmpknife
-   afilterknife
-   amapknife
-   amathknife
-   aorderknife
-   areduceknife
-   arepeatknife
-   asliceknife
-
-indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`

File docs/_build/html/_sources/lazyknife.txt

-:class:`knife.lazy.lazyknife` --- Lazier evaluated combo knife
-==============================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: lazyknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lcmpknife.txt

-:class:`knife.lazy.cmpknife` --- Lazier evaluated comparing knife
-=================================================================
-
-.. module:: knife.lazy
-    
-.. autoclass:: cmpknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lfilterknife.txt

-:class:`knife.lazy.filterknife` --- Lazier evaluated filtering knife
-====================================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: filterknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lmapknife.txt

-:class:`knife.lazy.mapknife` --- Lazier evaluated mapping knife
-===============================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: mapknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lmathknife.txt

-:class:`knife.lazy.mathknife` --- Lazier evaluated mathing knife
-================================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: mathknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lorderknife.txt

-:class:`knife.lazy.orderknife` --- Lazier evaluated ordering knife
-================================================================== 
-
-.. module:: knife.lazy
-
-.. autoclass:: orderknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lreduceknife.txt

-:class:`knife.lazy.reduceknife` --- Lazier evaluated reducing knife
-===================================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: reduceknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lrepeatknife.txt

-:class:`knife.lazy.repeatknife` --- Lazier evaluated repeating knife
-====================================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: repeatknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, snapshots=5)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_sources/lsliceknife.txt

-:class:`knife.lazy.sliceknife` --- Lazier evaluated slicing knife
-=================================================================
-
-.. module:: knife.lazy
-
-.. autoclass:: sliceknife
-    :inherited-members:
-    
-    .. automethod:: __init__(*things, **kw)
-    .. automethod:: __len__()
-    .. automethod:: __iter__()

File docs/_build/html/_static/ajax-loader.gif

Removed
Old image

File docs/_build/html/_static/alert_info_32.png

Removed
Old image

File docs/_build/html/_static/alert_warning_32.png

Removed
Old image

File docs/_build/html/_static/basic.css

-/*
- * basic.css
- * ~~~~~~~~~
- *
- * Sphinx stylesheet -- basic theme.
- *
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/* -- main layout ----------------------------------------------------------- */
-
-div.clearer {
-    clear: both;
-}
-
-/* -- relbar ---------------------------------------------------------------- */
-
-div.related {
-    width: 100%;
-    font-size: 90%;
-}
-
-div.related h3 {
-    display: none;
-}
-
-div.related ul {
-    margin: 0;
-    padding: 0 0 0 10px;
-    list-style: none;
-}
-
-div.related li {
-    display: inline;
-}
-
-div.related li.right {
-    float: right;
-    margin-right: 5px;
-}
-
-/* -- sidebar --------------------------------------------------------------- */
-
-div.sphinxsidebarwrapper {
-    padding: 10px 5px 0 10px;
-}
-
-div.sphinxsidebar {
-    float: left;
-    width: 230px;
-    margin-left: -100%;
-    font-size: 90%;
-}
-
-div.sphinxsidebar ul {
-    list-style: none;
-}
-
-div.sphinxsidebar ul ul,
-div.sphinxsidebar ul.want-points {
-    margin-left: 20px;
-    list-style: square;
-}
-
-div.sphinxsidebar ul ul {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-div.sphinxsidebar form {
-    margin-top: 10px;
-}
-
-div.sphinxsidebar input {
-    border: 1px solid #98dbcc;
-    font-family: sans-serif;
-    font-size: 1em;
-}
-
-div.sphinxsidebar #searchbox input[type="text"] {
-    width: 170px;
-}
-
-div.sphinxsidebar #searchbox input[type="submit"] {
-    width: 30px;
-}
-
-img {
-    border: 0;
-}
-
-/* -- search page ----------------------------------------------------------- */
-
-ul.search {
-    margin: 10px 0 0 20px;
-    padding: 0;
-}
-
-ul.search li {
-    padding: 5px 0 5px 20px;
-    background-image: url(file.png);
-    background-repeat: no-repeat;
-    background-position: 0 7px;
-}
-
-ul.search li a {
-    font-weight: bold;
-}
-
-ul.search li div.context {
-    color: #888;
-    margin: 2px 0 0 30px;
-    text-align: left;
-}
-
-ul.keywordmatches li.goodmatch a {
-    font-weight: bold;
-}
-
-/* -- index page ------------------------------------------------------------ */
-
-table.contentstable {
-    width: 90%;
-}
-
-table.contentstable p.biglink {
-    line-height: 150%;
-}
-
-a.biglink {
-    font-size: 1.3em;
-}
-
-span.linkdescr {
-    font-style: italic;
-    padding-top: 5px;
-    font-size: 90%;
-}
-
-/* -- general index --------------------------------------------------------- */
-
-table.indextable {
-    width: 100%;
-}
-
-table.indextable td {
-    text-align: left;
-    vertical-align: top;
-}
-
-table.indextable dl, table.indextable dd {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-table.indextable tr.pcap {
-    height: 10px;
-}
-
-table.indextable tr.cap {
-    margin-top: 10px;
-    background-color: #f2f2f2;
-}
-
-img.toggler {
-    margin-right: 3px;
-    margin-top: 3px;
-    cursor: pointer;
-}
-
-div.modindex-jumpbox {
-    border-top: 1px solid #ddd;
-    border-bottom: 1px solid #ddd;
-    margin: 1em 0 1em 0;
-    padding: 0.4em;
-}
-
-div.genindex-jumpbox {
-    border-top: 1px solid #ddd;
-    border-bottom: 1px solid #ddd;
-    margin: 1em 0 1em 0;
-    padding: 0.4em;
-}
-
-/* -- general body styles --------------------------------------------------- */
-
-a.headerlink {
-    visibility: hidden;
-}
-
-h1:hover > a.headerlink,
-h2:hover > a.headerlink,
-h3:hover > a.headerlink,
-h4:hover > a.headerlink,
-h5:hover > a.headerlink,
-h6:hover > a.headerlink,
-dt:hover > a.headerlink {
-    visibility: visible;
-}
-
-div.body p.caption {
-    text-align: inherit;
-}
-
-div.body td {
-    text-align: left;
-}
-
-.field-list ul {
-    padding-left: 1em;
-}
-
-.first {
-    margin-top: 0 !important;
-}
-
-p.rubric {
-    margin-top: 30px;
-    font-weight: bold;
-}
-
-img.align-left, .figure.align-left, object.align-left {
-    clear: left;
-    float: left;
-    margin-right: 1em;
-}
-
-img.align-right, .figure.align-right, object.align-right {
-    clear: right;
-    float: right;
-    margin-left: 1em;
-}
-
-img.align-center, .figure.align-center, object.align-center {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.align-left {
-    text-align: left;
-}
-
-.align-center {
-    text-align: center;
-}
-
-.align-right {
-    text-align: right;
-}
-
-/* -- sidebars -------------------------------------------------------------- */
-
-div.sidebar {
-    margin: 0 0 0.5em 1em;
-    border: 1px solid #ddb;
-    padding: 7px 7px 0 7px;
-    background-color: #ffe;
-    width: 40%;
-    float: right;
-}
-
-p.sidebar-title {
-    font-weight: bold;
-}
-
-/* -- topics ---------------------------------------------------------------- */
-
-div.topic {
-    border: 1px solid #ccc;
-    padding: 7px 7px 0 7px;
-    margin: 10px 0 10px 0;
-}
-
-p.topic-title {
-    font-size: 1.1em;
-    font-weight: bold;
-    margin-top: 10px;
-}
-
-/* -- admonitions ----------------------------------------------------------- */
-
-div.admonition {
-    margin-top: 10px;
-    margin-bottom: 10px;
-    padding: 7px;
-}
-
-div.admonition dt {
-    font-weight: bold;
-}
-
-div.admonition dl {
-    margin-bottom: 0;
-}
-
-p.admonition-title {
-    margin: 0px 10px 5px 0px;
-    font-weight: bold;
-}
-
-div.body p.centered {
-    text-align: center;
-    margin-top: 25px;
-}
-
-/* -- tables ---------------------------------------------------------------- */
-
-table.docutils {
-    border: 0;
-    border-collapse: collapse;
-}
-
-table.docutils td, table.docutils th {
-    padding: 1px 8px 1px 5px;
-    border-top: 0;
-    border-left: 0;
-    border-right: 0;
-    border-bottom: 1px solid #aaa;
-}
-
-table.field-list td, table.field-list th {
-    border: 0 !important;
-}
-
-table.footnote td, table.footnote th {
-    border: 0 !important;
-}
-
-th {
-    text-align: left;
-    padding-right: 5px;
-}
-
-table.citation {
-    border-left: solid 1px gray;
-    margin-left: 1px;
-}
-
-table.citation td {
-    border-bottom: none;
-}
-
-/* -- other body styles ----------------------------------------------------- */
-
-ol.arabic {
-    list-style: decimal;
-}
-
-ol.loweralpha {
-    list-style: lower-alpha;
-}
-
-ol.upperalpha {
-    list-style: upper-alpha;
-}
-
-ol.lowerroman {
-    list-style: lower-roman;
-}
-
-ol.upperroman {
-    list-style: upper-roman;
-}
-
-dl {
-    margin-bottom: 15px;
-}
-
-dd p {
-    margin-top: 0px;
-}
-
-dd ul, dd table {
-    margin-bottom: 10px;
-}
-
-dd {
-    margin-top: 3px;
-    margin-bottom: 10px;
-    margin-left: 30px;
-}
-
-dt:target, .highlighted {
-    background-color: #fbe54e;
-}
-
-dl.glossary dt {
-    font-weight: bold;
-    font-size: 1.1em;
-}
-
-.field-list ul {
-    margin: 0;
-    padding-left: 1em;
-}
-
-.field-list p {
-    margin: 0;
-}
-
-.refcount {
-    color: #060;
-}
-
-.optional {
-    font-size: 1.3em;
-}
-
-.versionmodified {
-    font-style: italic;
-}
-
-.system-message {
-    background-color: #fda;
-    padding: 5px;
-    border: 3px solid red;
-}
-
-.footnote:target  {
-    background-color: #ffa;
-}
-
-.line-block {
-    display: block;
-    margin-top: 1em;
-    margin-bottom: 1em;
-}
-
-.line-block .line-block {
-    margin-top: 0;
-    margin-bottom: 0;
-    margin-left: 1.5em;
-}
-
-.guilabel, .menuselection {
-    font-family: sans-serif;
-}
-
-.accelerator {
-    text-decoration: underline;
-}
-
-.classifier {
-    font-style: oblique;
-}
-
-abbr, acronym {
-    border-bottom: dotted 1px;
-    cursor: help;
-}
-
-/* -- code displays --------------------------------------------------------- */
-
-pre {
-    overflow: auto;
-    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
-}
-
-td.linenos pre {
-    padding: 5px 0px;
-    border: 0;
-    background-color: transparent;
-    color: #aaa;
-}
-
-table.highlighttable {
-    margin-left: 0.5em;
-}
-
-table.highlighttable td {
-    padding: 0 0.5em 0 0.5em;
-}
-
-tt.descname {
-    background-color: transparent;
-    font-weight: bold;
-    font-size: 1.2em;
-}
-
-tt.descclassname {
-    background-color: transparent;
-}
-
-tt.xref, a tt {
-    background-color: transparent;
-    font-weight: bold;
-}
-
-h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
-    background-color: transparent;
-}
-
-.viewcode-link {
-    float: right;
-}
-
-.viewcode-back {
-    float: right;
-    font-family: sans-serif;
-}
-
-div.viewcode-block:target {
-    margin: -1px -10px;
-    padding: 0 10px;
-}
-
-/* -- math display ---------------------------------------------------------- */
-
-img.math {
-    vertical-align: middle;
-}
-
-div.body div.math p {
-    text-align: center;
-}
-
-span.eqno {
-    float: right;
-}
-
-/* -- printout stylesheet --------------------------------------------------- */
-
-@media print {
-    div.document,
-    div.documentwrapper,
-    div.bodywrapper {
-        margin: 0 !important;
-        width: 100%;
-    }
-
-    div.sphinxsidebar,
-    div.related,
-    div.footer,
-    #top-link {
-        display: none;
-    }
-}

File docs/_build/html/_static/bg-page.png

Removed
Old image

File docs/_build/html/_static/bullet_orange.png

Removed
Old image

File docs/_build/html/_static/comment-bright.png

Removed
Old image

File docs/_build/html/_static/comment-close.png

Removed
Old image

File docs/_build/html/_static/comment.png

Removed
Old image

File docs/_build/html/_static/doctools.js

-/*
- * doctools.js
- * ~~~~~~~~~~~
- *
- * Sphinx JavaScript utilities for all documentation.
- *
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/**
- * select a different prefix for underscore
- */
-$u = _.noConflict();
-
-/**
- * make the code below compatible with browsers without
- * an installed firebug like debugger
-if (!window.console || !console.firebug) {
-  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
-    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
-    "profile", "profileEnd"];
-  window.console = {};
-  for (var i = 0; i < names.length; ++i)
-    window.console[names[i]] = function() {};
-}
- */
-
-/**
- * small helper function to urldecode strings
- */
-jQuery.urldecode = function(x) {
-  return decodeURIComponent(x).replace(/\+/g, ' ');
-}
-
-/**
- * small helper function to urlencode strings
- */
-jQuery.urlencode = encodeURIComponent;
-
-/**
- * This function returns the parsed url parameters of the
- * current request. Multiple values per key are supported,
- * it will always return arrays of strings for the value parts.
- */
-jQuery.getQueryParameters = function(s) {
-  if (typeof s == 'undefined')
-    s = document.location.search;
-  var parts = s.substr(s.indexOf('?') + 1).split('&');
-  var result = {};
-  for (var i = 0; i < parts.length; i++) {
-    var tmp = parts[i].split('=', 2);
-    var key = jQuery.urldecode(tmp[0]);
-    var value = jQuery.urldecode(tmp[1]);
-    if (key in result)
-      result[key].push(value);
-    else
-      result[key] = [value];
-  }
-  return result;
-};
-
-/**
- * small function to check if an array contains
- * a given item.
- */
-jQuery.contains = function(arr, item) {
-  for (var i = 0; i < arr.length; i++) {
-    if (arr[i] == item)
-      return true;
-  }
-  return false;
-};
-
-/**
- * highlight a given string on a jquery object by wrapping it in
- * span elements with the given class name.
- */
-jQuery.fn.highlightText = function(text, className) {
-  function highlight(node) {
-    if (node.nodeType == 3) {
-      var val = node.nodeValue;
-      var pos = val.toLowerCase().indexOf(text);
-      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
-        var span = document.createElement("span");
-        span.className = className;
-        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
-        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
-          document.createTextNode(val.substr(pos + text.length)),
-          node.nextSibling));
-        node.nodeValue = val.substr(0, pos);
-      }
-    }
-    else if (!jQuery(node).is("button, select, textarea")) {
-      jQuery.each(node.childNodes, function() {
-        highlight(this);
-      });
-    }
-  }
-  return this.each(function() {
-    highlight(this);
-  });
-};
-
-/**
- * Small JavaScript module for the documentation.
- */
-var Documentation = {
-
-  init : function() {
-    this.fixFirefoxAnchorBug();
-    this.highlightSearchWords();
-    this.initIndexTable();
-  },
-
-  /**
-   * i18n support
-   */
-  TRANSLATIONS : {},
-  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
-  LOCALE : 'unknown',
-
-  // gettext and ngettext don't access this so that the functions
-  // can safely bound to a different name (_ = Documentation.gettext)
-  gettext : function(string) {
-    var translated = Documentation.TRANSLATIONS[string];
-    if (typeof translated == 'undefined')
-      return string;
-    return (typeof translated == 'string') ? translated : translated[0];
-  },
-
-  ngettext : function(singular, plural, n) {
-    var translated = Documentation.TRANSLATIONS[singular];
-    if (typeof translated == 'undefined')
-      return (n == 1) ? singular : plural;
-    return translated[Documentation.PLURALEXPR(n)];
-  },
-
-  addTranslations : function(catalog) {
-    for (var key in catalog.messages)
-      this.TRANSLATIONS[key] = catalog.messages[key];
-    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
-    this.LOCALE = catalog.locale;
-  },
-
-  /**
-   * add context elements like header anchor links
-   */
-  addContextElements : function() {
-    $('div[id] > :header:first').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this headline')).
-      appendTo(this);
-    });
-    $('dt[id]').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this definition')).
-      appendTo(this);
-    });
-  },
-
-  /**
-   * workaround a firefox stupidity
-   */
-  fixFirefoxAnchorBug : function() {
-    if (document.location.hash && $.browser.mozilla)
-      window.setTimeout(function() {
-        document.location.href += '';
-      }, 10);
-  },
-
-  /**
-   * highlight the search words provided in the url in the text
-   */
-  highlightSearchWords : function() {
-    var params = $.getQueryParameters();
-    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
-    if (terms.length) {
-      var body = $('div.body');
-      window.setTimeout(function() {
-        $.each(terms, function() {
-          body.highlightText(this.toLowerCase(), 'highlighted');
-        });
-      }, 10);
-      $('<p class="highlight-link"><a href="javascript:Documentation.' +
-        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
-          .appendTo($('#searchbox'));
-    }
-  },
-
-  /**
-   * init the domain index toggle buttons
-   */
-  initIndexTable : function() {
-    var togglers = $('img.toggler').click(function() {
-      var src = $(this).attr('src');
-      var idnum = $(this).attr('id').substr(7);
-      $('tr.cg-' + idnum).toggle();
-      if (src.substr(-9) == 'minus.png')
-        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
-      else
-        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
-    }).css('display', '');
-    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
-        togglers.click();
-    }
-  },
-
-  /**
-   * helper function to hide the search marks again
-   */
-  hideSearchWords : function() {
-    $('#searchbox .highlight-link').fadeOut(300);
-    $('span.highlighted').removeClass('highlighted');
-  },
-
-  /**
-   * make the url absolute
-   */
-  makeURL : function(relativeURL) {
-    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
-  },
-
-  /**
-   * get the current relative url
-   */
-  getCurrentURL : function() {
-    var path = document.location.pathname;
-    var parts = path.split(/\//);
-    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
-      if (this == '..')
-        parts.pop();
-    });
-    var url = parts.join('/');
-    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
-  }
-};
-
-// quick alias for translations
-_ = Documentation.gettext;
-
-$(document).ready(function() {
-  Documentation.init();
-});

File docs/_build/html/_static/down-pressed.png

Removed
Old image

File docs/_build/html/_static/down.png

Removed
Old image

File docs/_build/html/_static/file.png

Removed
Old image

File docs/_build/html/_static/haiku.css

-/*
- * haiku.css_t
- * ~~~~~~~~~~~
- *
- * Sphinx stylesheet -- haiku theme.
- *
- * Adapted from http://haiku-os.org/docs/Haiku-doc.css.
- * Original copyright message:
- *
- *     Copyright 2008-2009, Haiku. All rights reserved.
- *     Distributed under the terms of the MIT License.
- *
- *     Authors:
- *              Francois Revol <revol@free.fr>
- *              Stephan Assmus <superstippi@gmx.de>
- *              Braden Ewing <brewin@gmail.com>
- *              Humdinger <humdingerb@gmail.com>
- *
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-@import url("basic.css");
-
-html {
-    margin: 0px;
-    padding: 0px;
-    background: #FFF url(bg-page.png) top left repeat-x;
-}
-
-body {
-    line-height: 1.5;
-    margin: auto;
-    padding: 0px;
-    font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
-    min-width: 59em;
-    max-width: 70em;
-    color: #333333;
-}
-
-div.footer {
-    padding: 8px;
-    font-size: 11px;
-    text-align: center;
-    letter-spacing: 0.5px;
-}
-
-/* link colors and text decoration */
-
-a:link {
-    font-weight: bold;
-    text-decoration: none;
-    color: #dc3c01;
-}
-
-a:visited {
-    font-weight: bold;
-    text-decoration: none;
-    color: #892601;
-}
-
-a:hover, a:active {
-    text-decoration: underline;
-    color: #ff4500;
-}
-
-/* Some headers act as anchors, don't give them a hover effect */
-
-h1 a:hover, a:active {
-    text-decoration: none;
-    color: #0c3762;
-}
-
-h2 a:hover, a:active {
-    text-decoration: none;
-    color: #0c3762;
-}
-
-h3 a:hover, a:active {
-    text-decoration: none;
-    color: #0c3762;
-}
-
-h4 a:hover, a:active {
-    text-decoration: none;
-    color: #0c3762;
-}
-
-a.headerlink {
-    color: #a7ce38;
-    padding-left: 5px;
-}
-
-a.headerlink:hover {
-    color: #a7ce38;
-}
-
-/* basic text elements */
-
-div.content {
-    margin-top: 20px;
-    margin-left: 40px;
-    margin-right: 40px;
-    margin-bottom: 50px;
-    font-size: 0.9em;
-}
-
-/* heading and navigation */
-
-div.header {
-    position: relative;
-    left: 0px;
-    top: 0px;
-    height: 85px;
-    /* background: #eeeeee; */
-    padding: 0 40px;
-}
-div.header h1 {
-    font-size: 1.6em;
-    font-weight: normal;
-    letter-spacing: 1px;
-    color: #0c3762;
-    border: 0;
-    margin: 0;
-    padding-top: 15px;
-}
-div.header h1 a {
-    font-weight: normal;
-    color: #0c3762;
-}
-div.header h2 {
-    font-size: 1.3em;
-    font-weight: normal;
-    letter-spacing: 1px;
-    text-transform: uppercase;
-    color: #aaa;
-    border: 0;
-    margin-top: -3px;
-    padding: 0;
-}
-
-div.header img.rightlogo {
-    float: right;
-}
-
-
-div.title {
-    font-size: 1.3em;
-    font-weight: bold;
-    color: #0c3762;
-    border-bottom: dotted thin #e0e0e0;
-    margin-bottom: 25px;
-}
-div.topnav {
-    /* background: #e0e0e0; */
-}
-div.topnav p {
-    margin-top: 0;
-    margin-left: 40px;
-    margin-right: 40px;
-    margin-bottom: 0px;
-    text-align: right;
-    font-size: 0.8em;
-}
-div.bottomnav {
-    background: #eeeeee;
-}
-div.bottomnav p {
-    margin-right: 40px;
-    text-align: right;
-    font-size: 0.8em;
-}
-
-a.uplink {
-    font-weight: normal;
-}
-
-
-/* contents box */
-
-table.index {
-    margin: 0px 0px 30px 30px;
-    padding: 1px;
-    border-width: 1px;
-    border-style: dotted;
-    border-color: #e0e0e0;
-}
-table.index tr.heading {
-    background-color: #e0e0e0;
-    text-align: center;
-    font-weight: bold;
-    font-size: 1.1em;
-}
-table.index tr.index {
-    background-color: #eeeeee;
-}
-table.index td {
-    padding: 5px 20px;
-}
-
-table.index a:link, table.index a:visited {
-    font-weight: normal;
-    text-decoration: none;
-    color: #dc3c01;
-}
-table.index a:hover, table.index a:active {
-    text-decoration: underline;
-    color: #ff4500;
-}
-
-
-/* Haiku User Guide styles and layout */
-
-/* Rounded corner boxes */
-/* Common declarations */
-div.admonition {
-    -webkit-border-radius: 10px;
-    -khtml-border-radius: 10px;
-    -moz-border-radius: 10px;
-    border-radius: 10px;
-    border-style: dotted;
-    border-width: thin;
-    border-color: #dcdcdc;
-    padding: 10px 15px 10px 15px;
-    margin-bottom: 15px;
-    margin-top: 15px;
-}
-div.note {
-    padding: 10px 15px 10px 80px;
-    background: #e4ffde url(alert_info_32.png) 15px 15px no-repeat;
-    min-height: 42px;
-}
-div.warning {
-    padding: 10px 15px 10px 80px;
-    background: #fffbc6 url(alert_warning_32.png) 15px 15px no-repeat;
-    min-height: 42px;
-}
-div.seealso {
-    background: #e4ffde;
-}
-
-/* More layout and styles */
-h1 {
-    font-size: 1.3em;
-    font-weight: bold;
-    color: #0c3762;
-    border-bottom: dotted thin #e0e0e0;
-    margin-top: 30px;
-}
-
-h2 {
-    font-size: 1.2em;
-    font-weight: normal;
-    color: #0c3762;
-    border-bottom: dotted thin #e0e0e0;
-    margin-top: 30px;
-}
-
-h3 {
-    font-size: 1.1em;
-    font-weight: normal;
-    color: #0c3762;
-    margin-top: 30px;
-}
-
-h4 {
-    font-size: 1.0em;
-    font-weight: normal;
-    color: #0c3762;
-    margin-top: 30px;
-}
-
-p {
-    text-align: justify;
-}
-
-p.last {
-    margin-bottom: 0;
-}
-
-ol {
-    padding-left: 20px;
-}
-
-ul {
-    padding-left: 5px;
-    margin-top: 3px;
-}
-
-li {
-    line-height: 1.3;
-}
-
-div.content ul > li {
-    -moz-background-clip:border;
-    -moz-background-inline-policy:continuous;
-    -moz-background-origin:padding;
-    background: transparent url(bullet_orange.png) no-repeat scroll left 0.45em;
-    list-style-image: none;
-    list-style-type: none;
-    padding: 0 0 0 1.666em;
-    margin-bottom: 3px;
-}
-
-td {
-    vertical-align: top;
-}
-
-tt {
-    background-color: #e2e2e2;
-    font-size: 1.0em;
-    font-family: monospace;
-}
-
-pre {
-    border-color: #0c3762;
-    border-style: dotted;
-    border-width: thin;
-    margin: 0 0 12px 0;
-    padding: 0.8em;
-    background-color: #f0f0f0;
-}
-
-hr {
-    border-top: 1px solid #ccc;
-    border-bottom: 0;
-    border-right: 0;
-    border-left: 0;
-    margin-bottom: 10px;
-    margin-top: 20px;
-}
-
-/* printer only pretty stuff */
-@media print {
-    .noprint {
-        display: none;
-    }
-    /* for acronyms we want their definitions inlined at print time */
-    acronym[title]:after {
-        font-size: small;
-        content: " (" attr(title) ")";
-        font-style: italic;
-    }
-    /* and not have mozilla dotted underline */
-    acronym {
-        border: none;
-    }
-    div.topnav, div.bottomnav, div.header, table.index {
-        display: none;
-    }
-    div.content {
-        margin: 0px;
-        padding: 0px;
-    }
-    html {
-        background: #FFF;
-    }
-}
-
-.viewcode-back {
-    font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
-}
-
-div.viewcode-block:target {
-    background-color: #f4debf;
-    border-top: 1px solid #ac9;
-    border-bottom: 1px solid #ac9;
-    margin: -1px -12px;
-    padding: 0 12px;
-}

File docs/_build/html/_static/jquery.js

-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,