diff --git a/Documentation/UserManual/.gitignore b/Documentation/UserManual/.gitignore
new file mode 100644
index 0000000..ea1472e
--- /dev/null
+++ b/Documentation/UserManual/.gitignore
@@ -0,0 +1 @@
+output/
diff --git a/Documentation/UserManual/Rakefile b/Documentation/UserManual/Rakefile
new file mode 100644
index 0000000..b14c470
--- /dev/null
+++ b/Documentation/UserManual/Rakefile
@@ -0,0 +1,21 @@
+require 'fileutils'
+require 'erb'
+
+task :generate do
+ require 'rdiscount'
+ `rm -rf output`
+ FileUtils.mkdir("output")
+ `cat text/*.markdown > output/UserManual.markdown`
+ `cp -r assets output`
+
+ source = Dir.glob("text/**/*.markdown").map do |file|
+ File.read(file)
+ end.join("\n")
+ body = Markdown.new(source).to_html
+ template = ERB.new(File.read("template.html"))
+
+ File.open("output/UserManual.html", "w") do |f|
+ f.puts template.result(binding)
+ end
+ `open output/UserManual.html`
+end
\ No newline at end of file
diff --git a/Documentation/UserManual/assets/.DS_Store b/Documentation/UserManual/assets/.DS_Store
new file mode 100644
index 0000000..0008fd8
Binary files /dev/null and b/Documentation/UserManual/assets/.DS_Store differ
diff --git a/Documentation/UserManual/assets/blueprint/ie.css b/Documentation/UserManual/assets/blueprint/ie.css
new file mode 100644
index 0000000..bb59a79
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/ie.css
@@ -0,0 +1,22 @@
+/* -----------------------------------------------------------------------
+
+ Blueprint CSS Framework 0.7.1
+ http://blueprintcss.googlecode.com
+
+ * Copyright (c) 2007-2008. See LICENSE for more info.
+ * See README for instructions on how to use Blueprint.
+ * For credits and origins, see AUTHORS.
+ * This is a compressed file. See the sources in the 'src' directory.
+
+----------------------------------------------------------------------- */
+
+/* ie.css */
+body {text-align:center;}
+.container {text-align:left;}
+* html .column {overflow-x:hidden;}
+* html legend {margin:-18px -8px 16px 0;padding:0;}
+ol {margin-left:2em;}
+sup {vertical-align:text-top;}
+sub {vertical-align:text-bottom;}
+html>body p code {*white-space:normal;}
+hr {margin:-8px auto 11px;}
\ No newline at end of file
diff --git a/Documentation/UserManual/assets/blueprint/plugins/fancy-type/readme.txt b/Documentation/UserManual/assets/blueprint/plugins/fancy-type/readme.txt
new file mode 100644
index 0000000..85f2491
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/plugins/fancy-type/readme.txt
@@ -0,0 +1,14 @@
+Fancy Type
+
+* Gives you classes to use if you'd like some
+ extra fancy typography.
+
+Credits and instructions are specified above each class
+in the fancy-type.css file in this directory.
+
+
+Usage
+----------------------------------------------------------------
+
+1) Add this plugin to lib/settings.yml.
+ See compress.rb for instructions.
diff --git a/Documentation/UserManual/assets/blueprint/plugins/fancy-type/screen.css b/Documentation/UserManual/assets/blueprint/plugins/fancy-type/screen.css
new file mode 100644
index 0000000..028e05b
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/plugins/fancy-type/screen.css
@@ -0,0 +1,71 @@
+/* --------------------------------------------------------------
+
+ fancy-type.css
+ * Lots of pretty advanced classes for manipulating text.
+
+ See the Readme file in this folder for additional instructions.
+
+-------------------------------------------------------------- */
+
+/* Indentation instead of line shifts for sibling paragraphs. */
+ p + p { text-indent:2em; margin-top:-1.5em; }
+ form p + p { text-indent: 0; } /* Don't want this in forms. */
+
+
+/* For great looking type, use this code instead of asdf:
+ asdf
+ Best used on prepositions and ampersands. */
+
+.alt {
+ color: #666;
+ font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif;
+ font-style: italic;
+ font-weight: normal;
+}
+
+
+/* For great looking quote marks in titles, replace "asdf" with:
+ “asdf”
+ (That is, when the title starts with a quote mark).
+ (You may have to change this value depending on your font size). */
+
+.dquo { margin-left: -.5em; }
+
+
+/* Reduced size type with incremental leading
+ (http://www.markboulton.co.uk/journal/comments/incremental_leading/)
+
+ This could be used for side notes. For smaller type, you don't necessarily want to
+ follow the 1.5x vertical rhythm -- the line-height is too much.
+
+ Using this class, it reduces your font size and line-height so that for
+ every four lines of normal sized type, there is five lines of the sidenote. eg:
+
+ New type size in em's:
+ 10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems)
+
+ New line-height value:
+ 12px x 1.5 = 18px (old line-height)
+ 18px x 4 = 72px
+ 72px / 5 = 14.4px (new line height)
+ 14.4px / 10px = 1.44 (new line height in em's) */
+
+p.incr, .incr p {
+ font-size: 10px;
+ line-height: 1.44em;
+ margin-bottom: 1.5em;
+}
+
+
+/* Surround uppercase words and abbreviations with this class.
+ Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */
+
+.caps {
+ font-variant: small-caps;
+ letter-spacing: 1px;
+ text-transform: lowercase;
+ font-size:1.2em;
+ line-height:1%;
+ font-weight:bold;
+ padding:0 2px;
+}
diff --git a/Documentation/UserManual/assets/blueprint/print.css b/Documentation/UserManual/assets/blueprint/print.css
new file mode 100644
index 0000000..6618614
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/print.css
@@ -0,0 +1,29 @@
+/* -----------------------------------------------------------------------
+
+ Blueprint CSS Framework 0.7.1
+ http://blueprintcss.googlecode.com
+
+ * Copyright (c) 2007-2008. See LICENSE for more info.
+ * See README for instructions on how to use Blueprint.
+ * For credits and origins, see AUTHORS.
+ * This is a compressed file. See the sources in the 'src' directory.
+
+----------------------------------------------------------------------- */
+
+/* print.css */
+body {line-height:1.5;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;color:#000;background:none;font-size:10pt;}
+.container {background:none;}
+hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
+hr.space {background:#fff;color:#fff;}
+h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
+code {font:.9em "Courier New", Monaco, Courier, monospace;}
+img {float:left;margin:1.5em 1.5em 1.5em 0;}
+a img {border:none;}
+p img.top {margin-top:0;}
+blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
+.small {font-size:.9em;}
+.large {font-size:1.1em;}
+.quiet {color:#999;}
+.hide {display:none;}
+a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
+a:link:after, a:visited:after {content:" (" attr(href) ") ";font-size:90%;}
\ No newline at end of file
diff --git a/Documentation/UserManual/assets/blueprint/screen.css b/Documentation/UserManual/assets/blueprint/screen.css
new file mode 100755
index 0000000..7594e0c
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/screen.css
@@ -0,0 +1,225 @@
+/*
+ BLUEPRINT CSS
+ * Filename: compressed.css
+ * Version: 0.7.1 (2008-02-25) YYYY-MM-DD
+ * Website: http://code.google.com/p/blueprintcss/
+
+ Generated by:
+ * Blueprint CSS Grid Generator (2008-07-22) [http://kematzy.com/blueprint-generator/]
+
+ == STRUCTURE: ========================
+ * Page width: 788 px
+ * Number of columns: 21
+ * Column width: 28 px
+ * Margin width: 10 px
+ ======================================
+
+*/
+
+/* reset.css */
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
+body {line-height:1.5;}
+table {border-collapse:separate;border-spacing:0;}
+caption, th, td {text-align:left;font-weight:normal;}
+table, td, th {vertical-align:middle;}
+blockquote:before, blockquote:after, q:before, q:after {content:"";}
+blockquote, q {quotes:"" "";}
+a img {border:none;}
+
+/* typography.css */
+body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;}
+h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
+h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
+h2 {font-size:2em;margin-bottom:0.75em;}
+h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
+h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;height:1.25em;}
+h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
+h6 {font-size:1em;font-weight:bold;}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
+p {margin:0 0 1.5em;}
+p img {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
+p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
+a:focus, a:hover {color:#000;}
+a {color:#009;text-decoration:underline;}
+blockquote {margin:1.5em;color:#666;font-style:italic;}
+strong {font-weight:bold;}
+em, dfn {font-style:italic;}
+dfn {font-weight:bold;}
+sup, sub {line-height:0;}
+abbr, acronym {border-bottom:1px dotted #666;}
+address {margin:0 0 1.5em;font-style:italic;}
+del {color:#666;}
+pre, code {margin:1.5em 0;white-space:pre;}
+pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
+li ul, li ol {margin:0 1.5em;}
+ul, ol {margin:0 1.5em 1.5em 1.5em;}
+ul {list-style-type:disc;}
+ol {list-style-type:decimal;}
+dl {margin:0 0 1.5em 0;}
+dl dt {font-weight:bold;}
+dd {margin-left:1.5em;}
+table {margin-bottom:1.4em;width:100%;}
+th {font-weight:bold;background:#C3D9FF;}
+th, td {padding:4px 10px 4px 5px;}
+tr.even td {background:#E5ECF9;}
+tfoot {font-style:italic;}
+caption {background:#eee;}
+.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
+.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
+.hide {display:none;}
+.quiet {color:#666;}
+.loud {color:#000;}
+.highlight {background:#ff0;}
+.added {background:#060;color:#fff;}
+.removed {background:#900;color:#fff;}
+.first {margin-left:0;padding-left:0;}
+.last {margin-right:0;padding-right:0;}
+.top {margin-top:0;padding-top:0;}
+.bottom {margin-bottom:0;padding-bottom:0;}
+
+/* grid.css */
+.container {width:788px;margin:0 auto;}
+.showgrid {background:url(src/grid.png);}
+body {margin:1.5em 0;}
+div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21 {float:left;margin-right: 10px;}
+
+div.last {margin-right:0;}
+.span-1 { width: 28px;}
+.span-2 { width: 66px;}
+.span-3 { width: 104px;}
+.span-4 { width: 142px;}
+.span-5 { width: 180px;}
+.span-6 { width: 218px;}
+.span-7 { width: 256px;}
+.span-8 { width: 294px;}
+.span-9 { width: 332px;}
+.span-10 { width: 370px;}
+.span-11 { width: 408px;}
+.span-12 { width: 446px;}
+.span-13 { width: 484px;}
+.span-14 { width: 522px;}
+.span-15 { width: 560px;}
+.span-16 { width: 598px;}
+.span-17 { width: 636px;}
+.span-18 { width: 674px;}
+.span-19 { width: 712px;}
+.span-20 { width: 750px;}
+.span-21, div.span-21 { width: 788px; margin: 0; }
+
+.append-1 { padding-right: 38px;}
+.append-2 { padding-right: 76px;}
+.append-3 { padding-right: 114px;}
+.append-4 { padding-right: 152px;}
+.append-5 { padding-right: 190px;}
+.append-6 { padding-right: 228px;}
+.append-7 { padding-right: 266px;}
+.append-8 { padding-right: 304px;}
+.append-9 { padding-right: 342px;}
+.append-10 { padding-right: 380px;}
+.append-11 { padding-right: 418px;}
+.append-12 { padding-right: 456px;}
+.append-13 { padding-right: 494px;}
+.append-14 { padding-right: 532px;}
+.append-15 { padding-right: 570px;}
+.append-16 { padding-right: 608px;}
+.append-17 { padding-right: 646px;}
+.append-18 { padding-right: 684px;}
+.append-19 { padding-right: 722px;}
+.append-20 { padding-right: 760px;}
+
+.prepend-1 { padding-left: 38px;}
+.prepend-2 { padding-left: 76px;}
+.prepend-3 { padding-left: 114px;}
+.prepend-4 { padding-left: 152px;}
+.prepend-5 { padding-left: 190px;}
+.prepend-6 { padding-left: 228px;}
+.prepend-7 { padding-left: 266px;}
+.prepend-8 { padding-left: 304px;}
+.prepend-9 { padding-left: 342px;}
+.prepend-10 { padding-left: 380px;}
+.prepend-11 { padding-left: 418px;}
+.prepend-12 { padding-left: 456px;}
+.prepend-13 { padding-left: 494px;}
+.prepend-14 { padding-left: 532px;}
+.prepend-15 { padding-left: 570px;}
+.prepend-16 { padding-left: 608px;}
+.prepend-17 { padding-left: 646px;}
+.prepend-18 { padding-left: 684px;}
+.prepend-19 { padding-left: 722px;}
+.prepend-20 { padding-left: 760px;}
+
+div.border{padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
+div.colborder { padding-right:24px;margin-right:23px;border-right:1px solid #eee;}
+.pull-1 { margin-left: -38px;}
+.pull-2 { margin-left: -76px;}
+.pull-3 { margin-left: -114px;}
+.pull-4 { margin-left: -152px;}
+.pull-5 { margin-left: -190px;}
+.pull-6 { margin-left: -228px;}
+.pull-7 { margin-left: -266px;}
+.pull-8 { margin-left: -304px;}
+.pull-9 { margin-left: -342px;}
+.pull-10 { margin-left: -380px;}
+.pull-11 { margin-left: -418px;}
+.pull-12 { margin-left: -456px;}
+.pull-13 { margin-left: -494px;}
+.pull-14 { margin-left: -532px;}
+.pull-15 { margin-left: -570px;}
+.pull-16 { margin-left: -608px;}
+.pull-17 { margin-left: -646px;}
+.pull-18 { margin-left: -684px;}
+.pull-19 { margin-left: -722px;}
+.pull-20 { margin-left: -760px;}
+.pull-21 { margin-left: -798px;}
+
+.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21 {float:left;position:relative;}
+
+.push-1 { margin: 0 -38px 1.5em 38px;}
+.push-2 { margin: 0 -76px 1.5em 76px;}
+.push-3 { margin: 0 -114px 1.5em 114px;}
+.push-4 { margin: 0 -152px 1.5em 152px;}
+.push-5 { margin: 0 -190px 1.5em 190px;}
+.push-6 { margin: 0 -228px 1.5em 228px;}
+.push-7 { margin: 0 -266px 1.5em 266px;}
+.push-8 { margin: 0 -304px 1.5em 304px;}
+.push-9 { margin: 0 -342px 1.5em 342px;}
+.push-10 { margin: 0 -380px 1.5em 380px;}
+.push-11 { margin: 0 -418px 1.5em 418px;}
+.push-12 { margin: 0 -456px 1.5em 456px;}
+.push-13 { margin: 0 -494px 1.5em 494px;}
+.push-14 { margin: 0 -532px 1.5em 532px;}
+.push-15 { margin: 0 -570px 1.5em 570px;}
+.push-16 { margin: 0 -608px 1.5em 608px;}
+.push-17 { margin: 0 -646px 1.5em 646px;}
+.push-18 { margin: 0 -684px 1.5em 684px;}
+.push-19 { margin: 0 -722px 1.5em 722px;}
+.push-20 { margin: 0 -760px 1.5em 760px;}
+.push-21 { margin: 0 -798px 1.5em 798px;}
+
+.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21 {float:right;position:relative;}
+
+.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
+hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
+hr.space {background:#fff;color:#fff;}
+.clearfix:after, .container:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
+.clearfix, .container {display:inline-block;}
+* html .clearfix, * html .container {height:1%;}
+.clearfix, .container {display:block;}
+.clear {clear:both;}
+
+/* forms.css */
+label {font-weight:bold;}
+fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
+legend {font-weight:bold;font-size:1.2em;}
+input.text, input.title, textarea, select {margin:0.5em 0;border:1px solid #bbb;}
+input.text:focus, input.title:focus, textarea:focus, select:focus {border:1px solid #666;}
+input.text, input.title {width:300px;padding:5px;}
+input.title {font-size:1.5em;}
+textarea {width:390px;height:250px;padding:5px;}
+.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
+.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
+.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
+.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
+.error a {color:#8a1f11;}
+.notice a {color:#514721;}
+.success a {color:#264409;}
\ No newline at end of file
diff --git a/Documentation/UserManual/assets/blueprint/src/forms.css b/Documentation/UserManual/assets/blueprint/src/forms.css
new file mode 100644
index 0000000..c075be7
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/src/forms.css
@@ -0,0 +1,49 @@
+/* --------------------------------------------------------------
+
+ forms.css
+ * Sets up some default styling for forms
+ * Gives you classes to enhance your forms
+
+ Usage:
+ * For text fields, use class .title or .text
+
+-------------------------------------------------------------- */
+
+label { font-weight: bold; }
+fieldset { padding:1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
+legend { font-weight: bold; font-size:1.2em; }
+
+
+/* Form fields
+-------------------------------------------------------------- */
+
+input.text, input.title,
+textarea, select {
+ margin:0.5em 0;
+ border:1px solid #bbb;
+}
+
+input.text:focus, input.title:focus,
+textarea:focus, select:focus {
+ border:1px solid #666;
+}
+
+input.text,
+input.title { width: 300px; padding:5px; }
+input.title { font-size:1.5em; }
+textarea { width: 390px; height: 250px; padding:5px; }
+
+
+/* Success, notice and error boxes
+-------------------------------------------------------------- */
+
+.error,
+.notice,
+.success { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; }
+
+.error { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; }
+.notice { background: #FFF6BF; color: #514721; border-color: #FFD324; }
+.success { background: #E6EFC2; color: #264409; border-color: #C6D880; }
+.error a { color: #8a1f11; }
+.notice a { color: #514721; }
+.success a { color: #264409; }
diff --git a/Documentation/UserManual/assets/blueprint/src/grid.css b/Documentation/UserManual/assets/blueprint/src/grid.css
new file mode 100755
index 0000000..9298d06
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/src/grid.css
@@ -0,0 +1,250 @@
+/* --------------------------------------------------------------
+
+ BLUEPRINT CSS
+ * Filename: grid.css
+ * Version: 0.7.1 (2008-02-25) YYYY-MM-DD
+ * Website: http://code.google.com/p/blueprintcss/
+
+ Generated by:
+ * Blueprint CSS Grid Generator (2008-07-23) [http://kematzy.com/blueprint-generator/]
+
+ Based on work by:
+ * Olav Bjorkoy [bjorkoy.com]
+ * Nathan Borror [playgroundblues.com]
+ * Jeff Croft [jeffcroft.com]
+ * Christian Metts [mintchaos.com]
+ * Khoi Vinh [subtraction.com]
+
+ == STRUCTURE: ========================
+ * Page width: 788 px
+ * Number of columns: 21
+ * Column width: 28 px
+ * Margin width: 10 px
+ ======================================
+
+ By default, the grid is 788px wide, with 21 columns
+ spanning 28px, and a 10px margin between columns.
+
+ If you need fewer or more columns, use this formula to calculate
+ the new total width:
+
+ Total width = (number_of_columns * column_width) - margin_width
+
+ Read more about using a grid here:
+ * subtraction.com/archives/2007/0318_oh_yeeaahh.php
+
+-------------------------------------------------------------- */
+
+/* A container should group all your columns. */
+.container {
+ width: 788px;
+ margin: 0 auto;
+}
+
+/* Use this class on any div.span / container to see the grid. */
+.showgrid {
+ background: url(src/grid.png);
+}
+
+/* Body margin for a sensile default look. */
+body {
+ margin:1.5em 0;
+}
+
+
+/* Columns
+-------------------------------------------------------------- */
+
+/* Sets up basic grid floating and margin. */
+div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21 {float:left;margin-right: 10px;}
+
+/* The last column in a row needs this class. */
+div.last { margin-right: 0; }
+
+/* Use these classes to set the width of a column. */
+.span-1 { width: 28px;}
+.span-2 { width: 66px;}
+.span-3 { width: 104px;}
+.span-4 { width: 142px;}
+.span-5 { width: 180px;}
+.span-6 { width: 218px;}
+.span-7 { width: 256px;}
+.span-8 { width: 294px;}
+.span-9 { width: 332px;}
+.span-10 { width: 370px;}
+.span-11 { width: 408px;}
+.span-12 { width: 446px;}
+.span-13 { width: 484px;}
+.span-14 { width: 522px;}
+.span-15 { width: 560px;}
+.span-16 { width: 598px;}
+.span-17 { width: 636px;}
+.span-18 { width: 674px;}
+.span-19 { width: 712px;}
+.span-20 { width: 750px;}
+.span-21, div.span-21 { width: 788px; margin: 0; }
+
+
+/* Add these to a column to append empty cols. */
+.append-1 { padding-right: 38px;}
+.append-2 { padding-right: 76px;}
+.append-3 { padding-right: 114px;}
+.append-4 { padding-right: 152px;}
+.append-5 { padding-right: 190px;}
+.append-6 { padding-right: 228px;}
+.append-7 { padding-right: 266px;}
+.append-8 { padding-right: 304px;}
+.append-9 { padding-right: 342px;}
+.append-10 { padding-right: 380px;}
+.append-11 { padding-right: 418px;}
+.append-12 { padding-right: 456px;}
+.append-13 { padding-right: 494px;}
+.append-14 { padding-right: 532px;}
+.append-15 { padding-right: 570px;}
+.append-16 { padding-right: 608px;}
+.append-17 { padding-right: 646px;}
+.append-18 { padding-right: 684px;}
+.append-19 { padding-right: 722px;}
+.append-20 { padding-right: 760px;}
+
+
+/* Add these to a column to prepend empty cols. */
+.prepend-1 { padding-left: 38px;}
+.prepend-2 { padding-left: 76px;}
+.prepend-3 { padding-left: 114px;}
+.prepend-4 { padding-left: 152px;}
+.prepend-5 { padding-left: 190px;}
+.prepend-6 { padding-left: 228px;}
+.prepend-7 { padding-left: 266px;}
+.prepend-8 { padding-left: 304px;}
+.prepend-9 { padding-left: 342px;}
+.prepend-10 { padding-left: 380px;}
+.prepend-11 { padding-left: 418px;}
+.prepend-12 { padding-left: 456px;}
+.prepend-13 { padding-left: 494px;}
+.prepend-14 { padding-left: 532px;}
+.prepend-15 { padding-left: 570px;}
+.prepend-16 { padding-left: 608px;}
+.prepend-17 { padding-left: 646px;}
+.prepend-18 { padding-left: 684px;}
+.prepend-19 { padding-left: 722px;}
+.prepend-20 { padding-left: 760px;}
+
+
+
+/* Border on right hand side of a column. */
+div.border {
+ padding-right:4px;
+ margin-right:5px;
+ border-right: 1px solid #eee;
+}
+
+/* Border with more whitespace, spans one column. */
+div.colborder {
+ padding-right:26px;
+ margin-right:23px;
+ border-right: 1px solid #eee;
+}
+
+/* Use these classes on an element to push it into the
+ next column, or to pull it into the previous column. */
+
+.pull-1 { margin-left: -38px;}
+.pull-2 { margin-left: -76px;}
+.pull-3 { margin-left: -114px;}
+.pull-4 { margin-left: -152px;}
+.pull-5 { margin-left: -190px;}
+.pull-6 { margin-left: -228px;}
+.pull-7 { margin-left: -266px;}
+.pull-8 { margin-left: -304px;}
+.pull-9 { margin-left: -342px;}
+.pull-10 { margin-left: -380px;}
+.pull-11 { margin-left: -418px;}
+.pull-12 { margin-left: -456px;}
+.pull-13 { margin-left: -494px;}
+.pull-14 { margin-left: -532px;}
+.pull-15 { margin-left: -570px;}
+.pull-16 { margin-left: -608px;}
+.pull-17 { margin-left: -646px;}
+.pull-18 { margin-left: -684px;}
+.pull-19 { margin-left: -722px;}
+.pull-20 { margin-left: -760px;}
+.pull-21 { margin-left: -798px;}
+
+.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21 {float:left;position:relative;}
+
+
+.push-1 { margin: 0 -38px 1.5em 38px;}
+.push-2 { margin: 0 -76px 1.5em 76px;}
+.push-3 { margin: 0 -114px 1.5em 114px;}
+.push-4 { margin: 0 -152px 1.5em 152px;}
+.push-5 { margin: 0 -190px 1.5em 190px;}
+.push-6 { margin: 0 -228px 1.5em 228px;}
+.push-7 { margin: 0 -266px 1.5em 266px;}
+.push-8 { margin: 0 -304px 1.5em 304px;}
+.push-9 { margin: 0 -342px 1.5em 342px;}
+.push-10 { margin: 0 -380px 1.5em 380px;}
+.push-11 { margin: 0 -418px 1.5em 418px;}
+.push-12 { margin: 0 -456px 1.5em 456px;}
+.push-13 { margin: 0 -494px 1.5em 494px;}
+.push-14 { margin: 0 -532px 1.5em 532px;}
+.push-15 { margin: 0 -570px 1.5em 570px;}
+.push-16 { margin: 0 -608px 1.5em 608px;}
+.push-17 { margin: 0 -646px 1.5em 646px;}
+.push-18 { margin: 0 -684px 1.5em 684px;}
+.push-19 { margin: 0 -722px 1.5em 722px;}
+.push-20 { margin: 0 -760px 1.5em 760px;}
+.push-21 { margin: 0 -798px 1.5em 798px;}
+
+.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21 {float:right;position:relative;}
+
+
+
+/* Misc classes and elements
+-------------------------------------------------------------- */
+
+/* Use a .box to create a padded box inside a column. */
+.box {
+ padding: 1.5em;
+ margin-bottom: 1.5em;
+ background: #E5ECF9;
+}
+
+/* Use this to create a horizontal ruler across a column. */
+hr {
+ background: #ddd;
+ color: #ddd;
+ clear: both;
+ float: none;
+ width: 100%;
+ height: .1em;
+ margin: 0 0 1.45em;
+ border: none;
+}
+hr.space {
+ background: #fff;
+ color: #fff;
+}
+
+
+/* Clearing floats without extra markup
+ Based on How To Clear Floats Without Structural Markup by PiE
+ [http://www.positioniseverything.net/easyclearing.html] */
+
+.clearfix:after, .container:after {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+}
+.clearfix, .container {display: inline-block;}
+* html .clearfix,
+* html .container {height: 1%;}
+.clearfix, .container {display: block;}
+
+/* Regular clearing
+ apply to column that should drop below previous ones. */
+
+.clear { clear:both; }
+
diff --git a/Documentation/UserManual/assets/blueprint/src/grid.png b/Documentation/UserManual/assets/blueprint/src/grid.png
new file mode 100644
index 0000000..6a4db89
Binary files /dev/null and b/Documentation/UserManual/assets/blueprint/src/grid.png differ
diff --git a/Documentation/UserManual/assets/blueprint/src/ie.css b/Documentation/UserManual/assets/blueprint/src/ie.css
new file mode 100644
index 0000000..fed798d
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/src/ie.css
@@ -0,0 +1,35 @@
+/* --------------------------------------------------------------
+
+ ie.css
+
+ Contains every hack for Internet Explorer,
+ so that our core files stay sweet and nimble.
+
+-------------------------------------------------------------- */
+
+/* Make sure the layout is centered in IE5 */
+body { text-align: center; }
+.container { text-align: left; }
+
+/* Fixes IE margin bugs */
+* html .column { overflow-x: hidden; }
+
+
+/* Elements
+-------------------------------------------------------------- */
+
+/* Fixes incorrect styling of legend in IE6. */
+* html legend { margin:-18px -8px 16px 0; padding:0; }
+
+/* Fixes incorrect placement of ol numbers in IE6/7. */
+ol { margin-left:2em; }
+
+/* Fixes wrong line-height on sup/sub in IE. */
+sup { vertical-align: text-top; }
+sub { vertical-align: text-bottom; }
+
+/* Fixes IE7 missing wrapping of code elements. */
+html>body p code { *white-space: normal; }
+
+/* IE 6&7 has problems with setting proper
margins. */
+hr { margin: -8px auto 11px; }
diff --git a/Documentation/UserManual/assets/blueprint/src/print.css b/Documentation/UserManual/assets/blueprint/src/print.css
new file mode 100755
index 0000000..719e40c
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/src/print.css
@@ -0,0 +1,85 @@
+/* --------------------------------------------------------------
+
+ print.css
+ * Gives you some sensible styles for printing pages.
+ * See Readme file in this directory for further instructions.
+
+ Some additions you'll want to make, customized to your markup:
+ #header, #footer, #navigation { display:none; }
+
+-------------------------------------------------------------- */
+
+body {
+ line-height: 1.5;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color:#000;
+ background: none;
+ font-size: 10pt;
+}
+
+
+/* Layout
+-------------------------------------------------------------- */
+
+.container {
+ background: none;
+}
+
+hr {
+ background:#ccc;
+ color:#ccc;
+ width:100%;
+ height:2px;
+ margin:2em 0;
+ padding:0;
+ border:none;
+}
+hr.space {
+ background: #fff;
+ color: #fff;
+}
+
+
+/* Text
+-------------------------------------------------------------- */
+
+h1,h2,h3,h4,h5,h6 { font-family: "Helvetica Neue", Arial, "Lucida Grande", sans-serif; }
+code { font:.9em "Courier New", Monaco, Courier, monospace; }
+
+img { float:left; margin:1.5em 1.5em 1.5em 0; }
+a img { border:none; }
+p img.top { margin-top: 0; }
+
+blockquote {
+ margin:1.5em;
+ padding:1em;
+ font-style:italic;
+ font-size:.9em;
+}
+
+.small { font-size: .9em; }
+.large { font-size: 1.1em; }
+.quiet { color: #999; }
+.hide { display:none; }
+
+
+/* Links
+-------------------------------------------------------------- */
+
+a:link, a:visited {
+ background: transparent;
+ font-weight:700;
+ text-decoration: underline;
+}
+
+a:link:after, a:visited:after {
+ content: " (" attr(href) ") ";
+ font-size: 90%;
+}
+
+/* If you're having trouble printing relative links, uncomment and customize this:
+ (note: This is valid CSS3, but it still won't go through the W3C CSS Validator) */
+
+/* a[href^="/"]:after {
+ content: " (http://www.yourdomain.com" attr(href) ") ";
+} */
diff --git a/Documentation/UserManual/assets/blueprint/src/reset.css b/Documentation/UserManual/assets/blueprint/src/reset.css
new file mode 100755
index 0000000..fc0788c
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/src/reset.css
@@ -0,0 +1,38 @@
+/* --------------------------------------------------------------
+
+ reset.css
+ * Resets default browser CSS.
+
+-------------------------------------------------------------- */
+
+html, body, div, span, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, code,
+del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+
+body {
+ line-height: 1.5;
+}
+
+/* Tables still need 'cellspacing="0"' in the markup. */
+table { border-collapse: separate; border-spacing: 0; }
+caption, th, td { text-align: left; font-weight: normal; }
+table, td, th { vertical-align: middle; }
+
+/* Remove possible quote marks (") from , . */
+blockquote:before, blockquote:after, q:before, q:after { content: ""; }
+blockquote, q { quotes: "" ""; }
+
+/* Remove annoying border on linked images. */
+a img { border: none; }
diff --git a/Documentation/UserManual/assets/blueprint/src/typography.css b/Documentation/UserManual/assets/blueprint/src/typography.css
new file mode 100644
index 0000000..a686e78
--- /dev/null
+++ b/Documentation/UserManual/assets/blueprint/src/typography.css
@@ -0,0 +1,104 @@
+/* --------------------------------------------------------------
+
+ typography.css
+ * Sets up some sensible default typography.
+
+-------------------------------------------------------------- */
+
+/* Default font settings.
+ The font-size percentage is of 16px. (0.75 * 16px = 12px) */
+body {
+ font-size: 75%;
+ color: #222;
+ background: #fff;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+
+
+/* Headings
+-------------------------------------------------------------- */
+
+h1,h2,h3,h4,h5,h6 { font-weight: normal; color: #111; }
+
+h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
+h2 { font-size: 2em; margin-bottom: 0.75em; }
+h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
+h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; height: 1.25em; }
+h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
+h6 { font-size: 1em; font-weight: bold; }
+
+h1 img, h2 img, h3 img,
+h4 img, h5 img, h6 img {
+ margin: 0;
+}
+
+
+/* Text elements
+-------------------------------------------------------------- */
+
+p { margin: 0 0 1.5em; }
+p img { float: left; margin: 1.5em 1.5em 1.5em 0; padding: 0; }
+p img.right { float: right; margin: 1.5em 0 1.5em 1.5em; }
+
+a:focus,
+a:hover { color: #000; }
+a { color: #009; text-decoration: underline; }
+
+blockquote { margin: 1.5em; color: #666; font-style: italic; }
+strong { font-weight: bold; }
+em,dfn { font-style: italic; }
+dfn { font-weight: bold; }
+sup, sub { line-height: 0; }
+
+abbr,
+acronym { border-bottom: 1px dotted #666; }
+address { margin: 0 0 1.5em; font-style: italic; }
+del { color:#666; }
+
+pre,code { margin: 1.5em 0; white-space: pre; }
+pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }
+
+
+/* Lists
+-------------------------------------------------------------- */
+
+li ul,
+li ol { margin:0 1.5em; }
+ul, ol { margin: 0 1.5em 1.5em 1.5em; }
+
+ul { list-style-type: disc; }
+ol { list-style-type: decimal; }
+
+dl { margin: 0 0 1.5em 0; }
+dl dt { font-weight: bold; }
+dd { margin-left: 1.5em;}
+
+
+/* Tables
+-------------------------------------------------------------- */
+
+table { margin-bottom: 1.4em; width:100%; }
+th { font-weight: bold; background: #C3D9FF; }
+th,td { padding: 4px 10px 4px 5px; }
+tr.even td { background: #E5ECF9; }
+tfoot { font-style: italic; }
+caption { background: #eee; }
+
+
+/* Misc classes
+-------------------------------------------------------------- */
+
+.small { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
+.large { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
+.hide { display: none; }
+
+.quiet { color: #666; }
+.loud { color: #000; }
+.highlight { background:#ff0; }
+.added { background:#060; color: #fff; }
+.removed { background:#900; color: #fff; }
+
+.first { margin-left:0; padding-left:0; }
+.last { margin-right:0; padding-right:0; }
+.top { margin-top:0; padding-top:0; }
+.bottom { margin-bottom:0; padding-bottom:0; }
diff --git a/Documentation/UserManual/assets/images/.DS_Store b/Documentation/UserManual/assets/images/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/Documentation/UserManual/assets/images/.DS_Store differ
diff --git a/Documentation/UserManual/assets/images/branchswitcher.png b/Documentation/UserManual/assets/images/branchswitcher.png
new file mode 100644
index 0000000..ef2f2e8
Binary files /dev/null and b/Documentation/UserManual/assets/images/branchswitcher.png differ
diff --git a/Documentation/UserManual/assets/images/commitview.png b/Documentation/UserManual/assets/images/commitview.png
new file mode 100644
index 0000000..f942b26
Binary files /dev/null and b/Documentation/UserManual/assets/images/commitview.png differ
diff --git a/Documentation/UserManual/assets/images/detailswitcher.png b/Documentation/UserManual/assets/images/detailswitcher.png
new file mode 100644
index 0000000..6f74154
Binary files /dev/null and b/Documentation/UserManual/assets/images/detailswitcher.png differ
diff --git a/Documentation/UserManual/assets/images/gistie.png b/Documentation/UserManual/assets/images/gistie.png
new file mode 100644
index 0000000..cafc487
Binary files /dev/null and b/Documentation/UserManual/assets/images/gistie.png differ
diff --git a/Documentation/UserManual/assets/images/gitx.png b/Documentation/UserManual/assets/images/gitx.png
new file mode 100644
index 0000000..2db6784
Binary files /dev/null and b/Documentation/UserManual/assets/images/gitx.png differ
diff --git a/Documentation/UserManual/assets/images/historyview.png b/Documentation/UserManual/assets/images/historyview.png
new file mode 100644
index 0000000..1ea3a54
Binary files /dev/null and b/Documentation/UserManual/assets/images/historyview.png differ
diff --git a/Documentation/UserManual/assets/images/left-right.png b/Documentation/UserManual/assets/images/left-right.png
new file mode 100644
index 0000000..86d6b8f
Binary files /dev/null and b/Documentation/UserManual/assets/images/left-right.png differ
diff --git a/Documentation/UserManual/assets/images/opendialog.png b/Documentation/UserManual/assets/images/opendialog.png
new file mode 100644
index 0000000..68bdc94
Binary files /dev/null and b/Documentation/UserManual/assets/images/opendialog.png differ
diff --git a/Documentation/UserManual/assets/images/quicklook.png b/Documentation/UserManual/assets/images/quicklook.png
new file mode 100644
index 0000000..9966061
Binary files /dev/null and b/Documentation/UserManual/assets/images/quicklook.png differ
diff --git a/Documentation/UserManual/assets/images/remove_ref.png b/Documentation/UserManual/assets/images/remove_ref.png
new file mode 100644
index 0000000..e5edb3d
Binary files /dev/null and b/Documentation/UserManual/assets/images/remove_ref.png differ
diff --git a/Documentation/UserManual/assets/images/viewswitcher.png b/Documentation/UserManual/assets/images/viewswitcher.png
new file mode 100644
index 0000000..e0b29b6
Binary files /dev/null and b/Documentation/UserManual/assets/images/viewswitcher.png differ
diff --git a/Documentation/UserManual/assets/javascripts/application.js b/Documentation/UserManual/assets/javascripts/application.js
new file mode 100644
index 0000000..fe45776
--- /dev/null
+++ b/Documentation/UserManual/assets/javascripts/application.js
@@ -0,0 +1,2 @@
+// Place your application-specific JavaScript functions and classes here
+// This file is automatically included by javascript_include_tag :defaults
diff --git a/Documentation/UserManual/assets/javascripts/jquery-1.2.6.min.js b/Documentation/UserManual/assets/javascripts/jquery-1.2.6.min.js
new file mode 100644
index 0000000..82b98e1
--- /dev/null
+++ b/Documentation/UserManual/assets/javascripts/jquery-1.2.6.min.js
@@ -0,0 +1,32 @@
+/*
+ * jQuery 1.2.6 - New Wave Javascript
+ *
+ * Copyright (c) 2008 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
+ * $Rev: 5685 $
+ */
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
+selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
+this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
+return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
+jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,""]||!tags.indexOf("
",""]||(!tags.indexOf(" | ","
"]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div","
"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
+ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
+while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
+for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("").append(res.responseText.replace(/