You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ct...@apache.org on 2017/05/12 14:05:36 UTC

[28/37] lucene-solr:branch_6x: squash merge jira/solr-10290 into master

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/css/printstyles.css
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/css/printstyles.css b/solr/solr-ref-guide/src/css/printstyles.css
new file mode 100755
index 0000000..5e55e57
--- /dev/null
+++ b/solr/solr-ref-guide/src/css/printstyles.css
@@ -0,0 +1,160 @@
+
+/*body.print .container {max-width: 650px;}*/
+
+body {
+    font-size:14px;
+}
+.nav ul li a {border-top:0px; background-color:transparent; color: #808080; }
+#navig a[href] {color: #595959 !important;}
+table .table {max-width:650px;}
+
+#navig li.sectionHead {font-weight: bold; font-size: 18px; color: #595959 !important; }
+#navig li {font-weight: normal; }
+
+#navig a[href]::after { content: leader(".") target-counter(attr(href), page); }
+
+a[href]::after {
+    content: " (page " target-counter(attr(href), page) ")"
+}
+
+a[href^="http:"]::after, a[href^="https:"]::after {
+    content: " (" attr(href) ")";
+}
+
+a[href] {
+    color: blue !important;
+}
+a[href*="mailto"]::after, a[data-toggle="tooltip"]::after, a[href].noCrossRef::after {
+    content: "";
+}
+
+
+@page {
+    margin: 60pt 90pt 60pt 90pt;
+    font-family: sans-serif;
+    font-style:none;
+    color: gray;
+
+}
+
+.printTitle {
+    line-height:30pt;
+    font-size:27pt;
+    font-weight: bold;
+    letter-spacing: -.5px;
+    margin-bottom:25px;
+}
+
+.printSubtitle {
+    font-size: 19pt;
+    color: #cccccc !important;
+    front-family: "Grotesque MT Light";
+    line-height: 22pt;
+    letter-spacing: -.5px;
+    margin-bottom:20px;
+}
+.printTitleArea hr {
+    color: #999999 !important;
+    height: 2px;
+    width: 100%;
+}
+
+.printTitleImage {
+    max-width:300px;
+    margin-bottom:200px;
+}
+
+
+.printTitleImage {
+    max-width: 250px;
+}
+
+#navig {
+    /*page-break-before: always;*/
+}
+
+.copyrightBoilerplate {
+    page-break-before:always;
+    font-size:14px;
+}
+
+.lastGeneratedDate {
+    font-style: italic;
+    font-size:14px;
+    color: gray;
+}
+
+.alert a {
+    text-decoration: none !important;
+}
+
+
+body.title { page: title }
+
+@page title {
+    @top-left {
+        content: " ";
+    }
+    @top-right {
+        content: " "
+    }
+    @bottom-right {
+        content: " ";
+    }
+    @bottom-left {
+        content: " ";
+    }
+}
+
+body.frontmatter { page: frontmatter }
+body.frontmatter {counter-reset: page 1}
+
+
+@page frontmatter {
+    @top-left {
+        content: prince-script(guideName);
+    }
+    @top-right {
+        content: prince-script(datestamp);
+    }
+    @bottom-right {
+        content: counter(page, lower-roman);
+    }
+    @bottom-left {
+        content: "youremail@domain.com";   }
+}
+
+body.first_page {counter-reset: page 1}
+
+h1 { string-set: doctitle content() }
+
+@page {
+    @top-left {
+        content: string(doctitle);
+        font-size: 11px;
+        font-style: italic;
+    }
+    @top-right {
+        content: prince-script(datestamp);
+        font-size: 11px;
+    }
+
+    @bottom-right {
+        content: "Page " counter(page);
+        font-size: 11px;
+    }
+    @bottom-left {
+        content: prince-script(guideName);
+        font-size: 11px;
+    }
+}
+.alert {
+    background-color: #fafafa !important;
+    border-color: #dedede !important;
+    color: black;
+}
+
+pre {
+    background-color: #fafafa;
+}
+

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/css/ref-guide.css
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/css/ref-guide.css b/solr/solr-ref-guide/src/css/ref-guide.css
new file mode 100644
index 0000000..100266b
--- /dev/null
+++ b/solr/solr-ref-guide/src/css/ref-guide.css
@@ -0,0 +1,2822 @@
+/* Load Noto Sans for body and header text */
+@font-face
+{
+    font-family: 'Noto Sans';
+    src: url(../fonts/Noto_Sans/NotoSans-Regular.ttf);
+}
+
+@font-face
+{
+    font-weight: bold;
+    font-family: 'Noto Sans';
+    src: url(../fonts/Noto_Sans/NotoSans-Bold.ttf);
+}
+
+/* Load Inconsolata for monospace */
+@font-face {
+   font-family: 'Inconsolata';
+   src: url(../fonts/Inconsolata/Inconsolata-Regular.ttf);
+}
+
+@font-face {
+   font-weight: bold;
+   font-family: 'Inconsolata';
+   src: url(../fonts/Inconsolata/Inconsolata-Bold.ttf);
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary
+{
+    display: block;
+}
+
+audio,
+canvas,
+video
+{
+    display: inline-block;
+}
+
+audio:not([controls])
+{
+    display: none;
+    height: 0;
+}
+
+[hidden],
+template
+{
+    display: none;
+}
+
+script
+{
+    display: none!important;
+}
+
+html
+{
+    font-family: 'Noto Sans', sans-serif;
+    -ms-text-size-adjust: 100%;
+    -webkit-text-size-adjust: 100%;
+}
+
+body
+{
+    margin: 0;
+}
+
+a
+{
+    background: transparent;
+}
+
+a:focus
+{
+    outline: thin dotted;
+   outline-offset: -2px;
+}
+
+a:active,
+a:hover
+{
+    outline: 0;
+}
+
+/* this part adds an icon after external links, using FontAwesome */
+a[href^="http://"]:after,
+a[href^="https://"]:after {
+    content: "\f08e";
+    font-family: FontAwesome;
+    font-weight: normal;
+    font-style: normal;
+    display: inline-block;
+    text-decoration: none;
+    padding-left: 3px;
+    font-size: 12pt;
+}
+
+/* Strip the outbound icon when this class is present */
+a[href].noCrossRef::after,
+a.no_icon:after
+ {
+    content:"" !important;
+    padding-left: 0;
+}
+
+/* indent extra nav levels
+   TODO: is there any easy way to do this that just incrementally applies to anything below sb-level2?
+         ...w/o assuming sb-level4 is as deep as we go?
+*/
+ul#mysidebar li.sb-level3 a {
+   padding-left: 20px;
+}
+ul#mysidebar li.sb-level4 a {
+   padding-left: 40px;
+}
+/* we can style the 'current-tree' hierarchy in the sidebar independently of the 'active' page as
+   the user clicks around expanding/collapsing the nav menus w/o clicking a link to load a diff page
+
+   For now:
+    - the 'current' page title is always bolder if 'active' (ie: visible)
+    - if the 'current' page is not 'active'/visible, then the closest ancestor that *is* 'active'/visible
+      will be bolded -- reminding the reader what section of the doc they are currently in.
+*/
+ul#mysidebar li.current-tree > a {
+    font-weight: bolder;
+}
+ul#mysidebar li.current-tree.active > a {
+    font-weight: inherit;
+}
+ul#mysidebar li.current.active > a {
+    font-weight: bolder;
+}
+
+
+abbr[title]
+{
+    border-bottom: 1px dotted;
+}
+
+b,
+strong
+{
+    font-weight: bold;
+}
+
+dfn
+{
+    font-style: italic;
+}
+
+hr
+{
+    -moz-box-sizing: content-box;
+         box-sizing: content-box;
+    height: 0;
+}
+
+mark
+{
+    background: #ff0;
+    color: #000;
+}
+
+code,
+kbd,
+pre,
+samp
+{
+    font-size: 1em;
+    font-family: 'Inconsolata', monospace;
+}
+
+pre
+{
+    white-space: pre-wrap;
+}
+
+q
+{
+    quotes: '\201C' '\201D' '\2018' '\2019';
+}
+
+small
+{
+    font-size: 80%;
+   line-height: inherit;
+}
+
+sub,
+sup
+{
+    position: relative;
+    vertical-align: baseline;
+    font-size: 75%;
+    line-height: 0;
+}
+
+sup
+{
+    top: -.5em;
+}
+
+sub
+{
+    bottom: -.25em;
+}
+
+img
+{
+    border: 0;
+}
+
+svg:not(:root)
+{
+    overflow: hidden;
+}
+
+figure
+{
+    margin: 0;
+}
+
+fieldset
+{
+    margin: 0 2px;
+    padding: .35em .625em .75em;
+    border: 1px solid silver;
+}
+
+legend
+{
+    padding: 0;
+    border: 0;
+}
+
+button,
+input,
+select,
+textarea
+{
+    margin: 0;
+    font-size: 100%;
+    font-family: inherit;
+}
+
+button,
+input
+{
+    line-height: normal;
+}
+
+button,
+select
+{
+    text-transform: none;
+}
+
+button,
+html input[type='button'],
+input[type='reset'],
+input[type='submit']
+{
+    cursor: pointer;
+
+    -webkit-appearance: button;
+}
+
+button[disabled],
+html input[disabled]
+{
+    cursor: default;
+}
+
+input[type='checkbox'],
+input[type='radio']
+{
+    box-sizing: border-box;
+    padding: 0;
+}
+
+input[type='search']
+{
+    -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+            box-sizing: content-box;
+
+    -webkit-appearance: textfield;
+}
+
+input[type='search']::-webkit-search-cancel-button,
+input[type='search']::-webkit-search-decoration
+{
+    -webkit-appearance: none;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner
+{
+    padding: 0;
+    border: 0;
+}
+
+textarea
+{
+    overflow: auto;
+    vertical-align: top;
+}
+
+table
+{
+    border-spacing: 0;
+    border-collapse: collapse;
+}
+
+*,
+*:after,
+*:before
+{
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+}
+
+body,
+html
+{
+    font-size: 100%;
+}
+
+body
+{
+    position: relative;
+    margin: 0;
+    padding: 0;
+    background: #fff;
+    color: rgba(0,0,0,.8);
+    font-weight: 400;
+    font-style: normal;
+    line-height: 1;
+    cursor: auto;
+}
+
+a:hover
+{
+    cursor: pointer;
+}
+
+embed,
+img,
+object
+{
+    max-width: 100%;
+    height: auto;
+}
+
+embed,
+object
+{
+    height: 100%;
+}
+
+img
+{
+    -ms-interpolation-mode: bicubic;
+}
+
+#map_canvas embed,
+#map_canvas img,
+#map_canvas object,
+.map_canvas embed,
+.map_canvas img,
+.map_canvas object
+{
+    max-width: none!important;
+}
+
+.left
+{
+    float: left!important;
+}
+
+.right
+{
+    float: right!important;
+}
+
+.text-left
+{
+    text-align: left!important;
+}
+
+.text-right
+{
+    text-align: right!important;
+}
+
+.text-center
+{
+    text-align: center!important;
+}
+
+.text-justify
+{
+    text-align: justify!important;
+}
+
+.hide
+{
+    display: none;
+}
+
+.antialiased,
+body
+{
+    -webkit-font-smoothing: antialiased;
+}
+
+img
+{
+    display: inline-block;
+    vertical-align: middle;
+}
+
+textarea
+{
+    min-height: 50px;
+    height: auto;
+}
+
+select
+{
+    width: 100%;
+}
+
+#preamble > .sectionbody > .paragraph:first-of-type p,
+.paragraph.lead > p,
+p.lead
+{
+    font-size: 1.21875em;
+    line-height: 1.6;
+}
+
+.admonitionblock td.content > .title,
+.audioblock > .title,
+.dlist > .title,
+.exampleblock > .title,
+.hdlist > .title,
+.imageblock > .title,
+.listingblock > .title,
+.literalblock > .title,
+.olist > .title,
+.openblock > .title,
+.paragraph > .title,
+.qlist > .title,
+.quoteblock > .title,
+.stemblock > .title,
+.subheader,
+.ulist > .title,
+.verseblock > .title,
+.videoblock > .title,
+table.tableblock > .title
+{
+    margin-top: 0;
+    margin-bottom: .25em;
+    color: #7a2518;
+    font-weight: 400;
+    line-height: 1.45;
+}
+
+#toctitle,
+.sidebarblock > .content > .title,
+blockquote,
+dd,
+div,
+dl,
+dt,
+form,
+li,
+ol,
+p,
+pre,
+td,
+th,
+ul
+{
+    margin: 0;
+    padding: 0;
+    direction: ltr;
+}
+
+a
+{
+    color: #2156a5;
+    text-decoration: underline;
+    line-height: inherit;
+}
+
+a:focus,
+a:hover
+{
+    color: #1d4b8f;
+}
+
+a img
+{
+    border: none;
+}
+
+p
+{
+    margin-bottom: 1.25em;
+    font-weight: 400;
+    font-size: 1em;
+    font-family: inherit;
+    line-height: 1.6;
+}
+
+p aside
+{
+    font-style: italic;
+    font-size: .875em;
+    line-height: 1.35;
+}
+
+#toctitle,
+.sidebarblock > .content > .title,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6
+{
+    color: #d9411e;
+    font-weight: 300;
+    font-style: normal;
+    font-family: 'Noto Sans', sans-serif;
+   margin: 40px 0 0 0;
+   padding: 0;
+   direction: ltr;
+   word-spacing: -.05em;
+   line-height: 1.2;
+   letter-spacing: -.01em;
+    page-break-after: avoid;
+}
+
+#toctitle small,
+.sidebarblock > .content > .title small,
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small
+{
+    color: #e99b8f;
+    font-size: 60%;
+    line-height: 0;
+}
+
+/* Pad the page title and sidebar header */
+h1.post-title-main,
+li.sidebarTitle {
+  padding-top: 20px;
+}
+
+h1
+{
+    font-size: 2.125em;
+}
+
+h2
+{
+    font-size: 1.6875em;
+}
+
+#toctitle,
+.sidebarblock > .content > .title,
+h3
+{
+    font-size: 1.375em;
+}
+
+h4,
+h5
+{
+    font-size: 1.125em;
+}
+
+h6
+{
+    font-size: 1em;
+}
+
+hr
+{
+    clear: both;
+    margin: 1.25em 0 1.1875em;
+    height: 0;
+    border: solid #ddddd8;
+    border-width: 1px 0 0;
+}
+
+em,
+i
+{
+    font-style: italic;
+    line-height: inherit;
+}
+
+b,
+strong
+{
+    font-weight: bold;
+    line-height: inherit;
+}
+
+code
+{
+    color: rgba(0,0,0,.9);
+    font-weight: 400;
+    font-family: 'Inconsolata', monospace;
+}
+
+dl,
+ol,
+ul
+{
+    margin-bottom: 1.25em;
+    list-style-position: outside;
+    font-size: 1em;
+    font-family: inherit;
+    line-height: 1.6;
+}
+
+ol,
+ol.no-bullet,
+ul,
+ul.no-bullet
+{
+    margin-left: 1.5em;
+}
+
+ul li ol,
+ul li ul
+{
+    margin-bottom: 0;
+    margin-left: 1.25em;
+    font-size: 1em;
+}
+
+ul.circle li ul,
+ul.disc li ul,
+ul.square li ul
+{
+    list-style: inherit;
+}
+
+ul.square
+{
+    list-style-type: square;
+}
+
+ul.circle
+{
+    list-style-type: circle;
+}
+
+ul.disc
+{
+    list-style-type: disc;
+}
+
+ul.no-bullet
+{
+    list-style: none;
+}
+
+ol li ol,
+ol li ul
+{
+    margin-bottom: 0;
+    margin-left: 1.25em;
+}
+
+dl dt
+{
+    margin-bottom: .3125em;
+    font-weight: bold;
+}
+
+dl dd
+{
+    margin-bottom: 1.25em;
+}
+
+abbr,
+acronym
+{
+    border-bottom: 1px dotted #ddd;
+    color: rgba(0,0,0,.8);
+    text-transform: uppercase;
+    font-size: 90%;
+    cursor: help;
+}
+
+abbr
+{
+    text-transform: none;
+}
+
+blockquote
+{
+    margin: 0 0 1.25em;
+    padding: .5625em 1.25em 0 1.1875em;
+    border-left: 1px solid #ddd;
+}
+
+blockquote cite
+{
+    display: block;
+    color: rgba(0,0,0,.6);
+    font-size: .9375em;
+}
+
+blockquote cite:before
+{
+    content: '\2014 \0020';
+}
+
+blockquote cite a,
+blockquote cite a:visited
+{
+    color: rgba(0,0,0,.6);
+}
+
+blockquote,
+blockquote p
+{
+    color: rgba(0,0,0,.85);
+    line-height: 1.6;
+}
+
+@media only screen
+       and (min-width : 768px)
+{
+    #toctitle,
+    .sidebarblock > .content > .title,
+    h1,
+    h2,
+    h3,
+    h4,
+    h5,
+    h6
+    {
+        line-height: 1.2;
+    }
+
+    h1
+    {
+        font-size: 2.75em;
+    }
+
+    h2
+    {
+        font-size: 2.3125em;
+    }
+
+    #toctitle,
+    .sidebarblock > .content > .title,
+    h3
+    {
+        font-size: 1.6875em;
+    }
+
+    h4
+    {
+        font-size: 1.4375em;
+    }
+}
+
+table
+{
+    margin-bottom: 1.25em;
+    border: solid 1px #dedede;
+    background: #fff;
+}
+
+table tfoot,
+table thead
+{
+    background: #f7f8f7;
+    font-weight: bold;
+}
+
+table tfoot tr td,
+table tfoot tr th,
+table thead tr td,
+table thead tr th
+{
+    padding: .5em .625em .625em;
+    color: rgba(0,0,0,.8);
+    text-align: left;
+    font-size: inherit;
+}
+
+table tr td,
+table tr th
+{
+    padding: .5625em .625em;
+    color: rgba(0,0,0,.8);
+    font-size: inherit;
+}
+
+table tr.alt,
+table tr.even,
+table tr:nth-of-type(even)
+{
+    background: #f8f8f7;
+}
+
+table tbody tr td,
+table tfoot tr td,
+table tfoot tr th,
+table thead tr th,
+table tr td
+{
+    display: table-cell;
+    line-height: 1.6;
+}
+
+#toctitle strong,
+.sidebarblock > .content > .title strong,
+h1 strong,
+h2 strong,
+h3 strong,
+h4 strong,
+h5 strong,
+h6 strong
+{
+    font-weight: 400;
+}
+
+.clearfix:after,
+.clearfix:before,
+.float-group:after,
+.float-group:before
+{
+    display: table;
+    content: ' ';
+}
+
+.clearfix:after,
+.float-group:after
+{
+    clear: both;
+}
+
+*:not(pre) > code
+{
+    padding: .1em .5ex;
+    -webkit-border-radius: 4px;
+            border-radius: 4px;
+    background-color: #f7f7f8;
+    word-spacing: -.15em;
+    letter-spacing: 0;
+    font-style: normal!important;
+    font-size: 1em;
+    line-height: 1.45;
+}
+
+pre,
+pre > code
+{
+    color: rgba(0,0,0,.9);
+    font-weight: 400;
+    font-family: 'Inconsolata', monospace;
+    line-height: 1.45;
+   white-space: pre-wrap;
+}
+
+.keyseq
+{
+    color: rgba(51,51,51,.8);
+}
+
+kbd
+{
+    display: inline-block;
+    margin: -.15em .15em 0 .15em;
+    padding: .2em .6em .2em .5em;
+    border: 1px solid #ccc;
+    -webkit-border-radius: 3px;
+            border-radius: 3px;
+    background-color: #f7f7f7;
+    -webkit-box-shadow: 0 1px 0 rgba(0,0,0,.2),
+    0 0 0 .1em white inset;
+            box-shadow: 0 1px 0 rgba(0,0,0,.2),
+    0 0 0 .1em #fff inset;
+    color: rgba(0,0,0,.8);
+    vertical-align: middle;
+    white-space: nowrap;
+    font-size: .75em;
+    line-height: 1.4;
+}
+
+.keyseq kbd:first-child
+{
+    margin-left: 0;
+}
+
+.keyseq kbd:last-child
+{
+    margin-right: 0;
+}
+
+.menu,
+.menuseq
+{
+    color: rgba(0,0,0,.8);
+}
+
+b.button:after,
+b.button:before
+{
+    position: relative;
+    top: -1px;
+    font-weight: 400;
+}
+
+b.button:before
+{
+    padding: 0 3px 0 2px;
+    content: '[';
+}
+
+b.button:after
+{
+    padding: 0 2px 0 3px;
+    content: ']';
+}
+
+p a > code:hover
+{
+    color: rgba(0,0,0,.9);
+}
+
+#content,
+#footer,
+#footnotes,
+#header
+{
+    margin: 0 auto 0 auto;
+    max-width: 62.5em;
+    width: 100%;
+}
+
+#content:after,
+#content:before,
+#footer:after,
+#footer:before,
+#footnotes:after,
+#footnotes:before,
+#header:after,
+#header:before
+{
+    display: table;
+    content: ' ';
+}
+
+#content:after,
+#footer:after,
+#footnotes:after,
+#header:after
+{
+    clear: both;
+}
+
+#content
+{
+    margin-top: 1.25em;
+}
+
+#content:before
+{
+    content: none;
+}
+
+span.projectTitle
+{
+    font-weight: bold;
+    font-family: 'Noto Sans', sans-serif;
+    font-size: 14pt;
+}
+
+#header > h1:first-child
+{
+    margin-top: 2.25rem;
+    margin-bottom: 0;
+    color: rgba(0,0,0,.85);
+}
+
+#header > h1:first-child + #toc
+{
+    margin-top: 8px;
+    border-top: 1px solid #ddddd8;
+}
+
+#header > h1:only-child,
+body.toc2 #header > h1:nth-last-child(2)
+{
+    padding-bottom: 8px;
+    border-bottom: 1px solid #ddddd8;
+}
+
+#header .details
+{
+    display: -ms-flexbox;
+    display: -webkit-flex;
+    display:         flex;
+    padding-top: .25em;
+    padding-bottom: .25em;
+    padding-left: .25em;
+    border-bottom: 1px solid #ddddd8;
+    color: rgba(0,0,0,.6);
+    line-height: 1.45;
+}
+
+#header .details span:first-child
+{
+    margin-left: -.125em;
+}
+
+#header .details span.email a
+{
+    color: rgba(0,0,0,.85);
+}
+
+#header .details br
+{
+    display: none;
+}
+
+#header .details br + span:before
+{
+    content: '\00a0\2013\00a0';
+}
+
+#header .details br + span.author:before
+{
+    color: rgba(0,0,0,.85);
+    content: '\00a0\22c5\00a0';
+}
+
+#header .details br + span#revremark:before
+{
+    content: '\00a0|\00a0';
+}
+
+#header #revnumber
+{
+    text-transform: capitalize;
+}
+
+#header #revnumber:after
+{
+    content: '\00a0';
+}
+
+#content > h1:first-child:not([class])
+{
+    margin-top: 0;
+    margin-bottom: 1.25rem;
+    padding-top: 1rem;
+    padding-bottom: 8px;
+    border-bottom: 1px solid #ddddd8;
+    color: rgba(0,0,0,.85);
+}
+
+#toc
+{
+    padding-bottom: .5em;
+    border-bottom: 1px solid #efefed;
+}
+
+#toc > ul
+{
+    margin-left: .125em;
+}
+
+#toc ul.sectlevel0 > li > a
+{
+    font-weight: bold;
+}
+
+#toc ul.sectlevel0 ul.sectlevel1
+{
+    margin: .5em 0;
+}
+
+#toc ul
+{
+    list-style-type: none;
+    font-family: 'Noto Sans', sans-serif;
+}
+
+#toc a
+{
+    text-decoration: none;
+}
+
+#toc a:active
+{
+    text-decoration: underline;
+}
+
+#toctitle
+{
+    color: #7a2518;
+    font-size: 1.2em;
+}
+
+div#toc ul li {
+    margin: 8px 0 8px 22px;
+    list-style: square;
+    line-height: 1.25;
+}
+
+div#toc ul {
+    background-color: whitesmoke;
+    padding: 5px;
+    border-radius: 5px;
+    max-width: 300px;
+    color: gray;
+}
+
+div#toc ul li ul {
+    padding-left:8px;
+
+}
+
+div#toc ul li ul li::before {
+    content: "–  ";
+}
+
+div#toc >ul::before {
+    content: "On this Page";
+    font-weight: bold;
+    color: #555;
+    text-align:center;
+    margin-left:auto;
+    margin-right:auto;
+    width:70px;
+    padding-top:20px;
+    padding-bottom:20px;
+    padding-left:10px;
+}
+
+@media only screen
+       and (min-width : 768px)
+{
+    #toctitle
+    {
+        font-size: 1.375em;
+    }
+
+    body.toc2
+    {
+        padding-right: 0;
+        padding-left: 15em;
+    }
+
+    #toc.toc2
+    {
+        position: fixed;
+        top: 0;
+        left: 0;
+        z-index: 1000;
+        overflow: auto;
+        margin-top: 0!important;
+        padding: 1.25em 1em;
+        width: 15em;
+        height: 100%;
+        border-top-width: 0!important;
+        border-right: 1px solid #efefed;
+        border-bottom-width: 0!important;
+        background-color: #f8f8f7;
+    }
+
+    #toc.toc2 #toctitle
+    {
+        margin-top: 0;
+        font-size: 1.2em;
+    }
+
+    #toc.toc2 > ul
+    {
+        margin-bottom: 0;
+        font-size: .9em;
+    }
+
+    #toc.toc2 ul ul
+    {
+        margin-left: 0;
+        padding-left: 1em;
+    }
+
+    #toc.toc2 ul.sectlevel0 ul.sectlevel1
+    {
+        margin-top: .5em;
+        margin-bottom: .5em;
+        padding-left: 0;
+    }
+
+    body.toc2.toc-right
+    {
+        padding-right: 15em;
+        padding-left: 0;
+    }
+
+    body.toc2.toc-right #toc.toc2
+    {
+        right: 0;
+        left: auto;
+        border-right-width: 0;
+        border-left: 1px solid #efefed;
+    }
+}
+
+@media only screen
+       and (min-width : 1280px)
+{
+    body.toc2
+    {
+        padding-right: 0;
+        padding-left: 20em;
+    }
+
+    #toc.toc2
+    {
+        width: 20em;
+    }
+
+    #toc.toc2 #toctitle
+    {
+        font-size: 1.375em;
+    }
+
+    #toc.toc2 > ul
+    {
+        font-size: .95em;
+    }
+
+    #toc.toc2 ul ul
+    {
+        padding-left: 1.25em;
+    }
+
+    body.toc2.toc-right
+    {
+        padding-right: 20em;
+        padding-left: 0;
+    }
+}
+
+#content #toc
+{
+    margin-bottom: 1.25em;
+    padding: 1.25em;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #e0e0dc;
+    -webkit-border-radius: 4px;
+            border-radius: 4px;
+    background: #f8f8f7;
+}
+
+#content #toc > :first-child
+{
+    margin-top: 0;
+}
+
+#content #toc > :last-child
+{
+    margin-bottom: 0;
+}
+
+#footer
+{
+    margin: 30px 0;
+    padding: 1.25em;
+    max-width: 100%;
+    background-color: none;
+}
+
+#footer-text
+{
+    color: rgba(255,255,255,.8);
+    line-height: 1.44;
+}
+
+.sect1
+{
+    padding-bottom: .625em;
+}
+
+@media only screen
+       and (min-width : 768px)
+{
+    .sect1
+    {
+        padding-bottom: 1.25em;
+    }
+}
+
+.sect1 + .sect1
+{
+    border-top: 1px solid #efefed;
+}
+
+#content h1 > a.anchor,
+#toctitle > a.anchor,
+.sidebarblock > .content > .title > a.anchor,
+h2 > a.anchor,
+h3 > a.anchor,
+h4 > a.anchor,
+h5 > a.anchor,
+h6 > a.anchor
+{
+    position: absolute;
+    z-index: 1001;
+    display: block;
+    visibility: hidden;
+    margin-left: -1.5ex;
+    width: 1.5ex;
+    text-align: center;
+    text-decoration: none!important;
+    font-weight: 400;
+}
+
+#content h1 > a.anchor:before,
+#toctitle > a.anchor:before,
+.sidebarblock > .content > .title > a.anchor:before,
+h2 > a.anchor:before,
+h3 > a.anchor:before,
+h4 > a.anchor:before,
+h5 > a.anchor:before,
+h6 > a.anchor:before
+{
+    display: block;
+    padding-top: .1em;
+    content: '\00A7';
+    font-size: .85em;
+}
+
+#content h1:hover > a.anchor,
+#content h1 > a.anchor:hover,
+#toctitle:hover > a.anchor,
+#toctitle > a.anchor:hover,
+.sidebarblock > .content > .title:hover > a.anchor,
+.sidebarblock > .content > .title > a.anchor:hover,
+h2:hover > a.anchor,
+h2 > a.anchor:hover,
+h3:hover > a.anchor,
+h3 > a.anchor:hover,
+h4:hover > a.anchor,
+h4 > a.anchor:hover,
+h5:hover > a.anchor,
+h5 > a.anchor:hover,
+h6:hover > a.anchor,
+h6 > a.anchor:hover
+{
+    visibility: visible;
+}
+
+#content h1 > a.link,
+#toctitle > a.link,
+.sidebarblock > .content > .title > a.link,
+h2 > a.link,
+h3 > a.link,
+h4 > a.link,
+h5 > a.link,
+h6 > a.link
+{
+    color: #d9411e;
+    text-decoration: none;
+}
+
+#content h1 > a.link:hover,
+#toctitle > a.link:hover,
+.sidebarblock > .content > .title > a.link:hover,
+h2 > a.link:hover,
+h3 > a.link:hover,
+h4 > a.link:hover,
+h5 > a.link:hover,
+h6 > a.link:hover
+{
+    color: #a53221;
+}
+
+.audioblock,
+.imageblock,
+.listingblock,
+.literalblock,
+.stemblock,
+.videoblock
+{
+    margin-bottom: 1.25em;
+}
+
+
+
+table.tableblock > caption.title
+{
+    overflow: visible;
+    max-width: 0;
+    white-space: nowrap;
+}
+
+#preamble > .sectionbody > .paragraph:first-of-type p,
+.paragraph.lead > p
+{
+    color: rgba(0,0,0,.85);
+}
+
+table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p
+{
+    font-size: inherit;
+}
+
+.admonitionblock > table
+{
+    width: 100%;
+    border: 0;
+    border-collapse: separate;
+    background: none;
+}
+
+.admonitionblock > table td.icon
+{
+    width: 80px;
+    text-align: center;
+}
+
+.admonitionblock > table td.icon img
+{
+    max-width: none;
+}
+
+.admonitionblock > table td.icon .title
+{
+    text-transform: uppercase;
+    font-weight: bold;
+    font-family: 'Noto Sans', sans-serif;
+}
+
+.admonitionblock > table td.content
+{
+    padding-right: 1.25em;
+    padding-left: 1.125em;
+    border-left: 1px solid #ddddd8;
+    color: rgba(0,0,0,.6);
+}
+
+.admonitionblock > table td.content > :last-child > :last-child
+{
+    margin-bottom: 0;
+}
+
+.exampleblock > .content
+{
+    margin-bottom: 1.25em;
+    padding: 1.25em;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #e6e6e6;
+    -webkit-border-radius: 4px;
+            border-radius: 4px;
+    background: #fff;
+}
+
+.exampleblock > .content > :first-child
+{
+    margin-top: 0;
+}
+
+.exampleblock > .content > :last-child
+{
+    margin-bottom: 0;
+}
+
+.sidebarblock
+{
+    margin-bottom: 1.25em;
+    padding: 1.25em;
+    border-width: 1px;
+    border-style: solid;
+    border-color: #e0e0dc;
+    -webkit-border-radius: 4px;
+            border-radius: 4px;
+    background: #f8f8f7;
+}
+
+.sidebarblock > :first-child
+{
+    margin-top: 0;
+}
+
+.sidebarblock > :last-child
+{
+    margin-bottom: 0;
+}
+
+.sidebarblock > .content > .title
+{
+    margin-top: 0;
+    color: #7a2518;
+    text-align: center;
+}
+
+.exampleblock > .content > :last-child>:last-child,
+.exampleblock > .content .olist > ol > li:last-child>:last-child,
+.exampleblock > .content .qlist > ol > li:last-child>:last-child,
+.exampleblock > .content .ulist > ul > li:last-child>:last-child,
+.sidebarblock > .content > :last-child>:last-child,
+.sidebarblock > .content .olist > ol > li:last-child>:last-child,
+.sidebarblock > .content .qlist > ol > li:last-child>:last-child,
+.sidebarblock > .content .ulist > ul > li:last-child>:last-child
+{
+    margin-bottom: 0;
+}
+
+.listingblock pre,
+.listingblock pre.CodeRay,
+.listingblock pre.prettyprint,
+.listingblock pre:not(.highlight),
+.listingblock pre[class='highlight'],
+.listingblock pre[class^='highlight '],
+.literalblock pre
+{
+    background: #f7f7f8;
+}
+
+.sidebarblock .listingblock pre.CodeRay,
+.sidebarblock .listingblock pre.prettyprint,
+.sidebarblock .listingblock pre:not(.highlight),
+.sidebarblock .listingblock pre[class='highlight'],
+.sidebarblock .listingblock pre[class^='highlight '],
+.sidebarblock .literalblock pre
+{
+    background: #f7f7f8;
+}
+
+.listingblock pre,
+.listingblock pre[class],
+.literalblock pre,
+.literalblock pre[class]
+{
+    padding: 1em;
+    -webkit-border-radius: 4px;
+            border-radius: 4px;
+    word-wrap: break-word;
+    font-size: .8125em;
+}
+
+.listingblock pre.nowrap,
+.listingblock pre[class].nowrap,
+.literalblock pre.nowrap,
+.literalblock pre[class].nowrap
+{
+    overflow-x: auto;
+    white-space: pre;
+    word-wrap: normal;
+}
+
+@media only screen
+       and (min-width : 768px)
+{
+    .listingblock pre,
+    .listingblock pre[class],
+    .literalblock pre,
+    .literalblock pre[class]
+    {
+        font-size: .90625em;
+    }
+}
+
+@media only screen
+       and (min-width : 1280px)
+{
+    .listingblock pre,
+    .listingblock pre[class],
+    .literalblock pre,
+    .literalblock pre[class]
+    {
+        font-size: 1em;
+    }
+}
+
+.literalblock.output pre
+{
+    background-color: rgba(0,0,0,.9);
+    color: #f7f7f8;
+}
+
+.listingblock pre.highlightjs
+{
+    padding: 0;
+}
+
+.listingblock pre.highlightjs > code
+{
+    padding: 1em;
+    -webkit-border-radius: 4px;
+            border-radius: 4px;
+}
+
+.listingblock pre.prettyprint
+{
+    border-width: 0;
+}
+
+.listingblock > .content
+{
+    position: relative;
+}
+
+.listingblock code[data-lang]:before
+{
+    position: absolute;
+    top: .425rem;
+    right: .5rem;
+    display: none;
+    color: #999;
+    content: attr(data-lang);
+    text-transform: uppercase;
+    font-size: .75em;
+    line-height: 1;
+}
+
+.listingblock:hover code[data-lang]:before
+{
+    display: block;
+}
+
+.listingblock.terminal pre .command:before
+{
+    padding-right: .5em;
+    color: #999;
+    content: attr(data-prompt);
+}
+
+.listingblock.terminal pre .command:not([data-prompt]):before
+{
+    content: '$';
+}
+
+table.pyhltable
+{
+    margin-bottom: 0;
+    border: 0;
+    border-collapse: separate;
+    background: none;
+}
+
+table.pyhltable td
+{
+    padding-top: 0;
+    padding-bottom: 0;
+    vertical-align: top;
+}
+
+table.pyhltable td.code
+{
+    padding-right: 0;
+    padding-left: .75em;
+}
+
+pre.pygments .lineno,
+table.pyhltable td:not(.code)
+{
+    padding-right: .5em;
+    padding-left: 0;
+    border-right: 1px solid #ddddd8;
+    color: #999;
+}
+
+pre.pygments .lineno
+{
+    display: inline-block;
+    margin-right: .25em;
+}
+
+table.pyhltable .linenodiv
+{
+    padding-right: 0!important;
+    background: none!important;
+}
+
+.quoteblock
+{
+    display: table;
+    margin: 0 1em 1.25em 1.5em;
+}
+
+.quoteblock > .title
+{
+    margin-bottom: .75em;
+    margin-left: -1.5em;
+}
+
+.quoteblock blockquote,
+.quoteblock blockquote p
+{
+    color: rgba(0,0,0,.85);
+    text-align: justify;
+    word-spacing: .1em;
+    letter-spacing: 0;
+    font-style: italic;
+    font-size: 1.15rem;
+    line-height: 1.75;
+}
+
+.quoteblock blockquote
+{
+    margin: 0;
+    padding: 0;
+    border: 0;
+}
+
+.quoteblock blockquote:before
+{
+    float: left;
+    margin-left: -.6em;
+    color: #7a2518;
+    content: '\201c';
+    text-shadow: 0 1px 2px rgba(0,0,0,.1);
+    font-weight: bold;
+    font-size: 2.75em;
+    line-height: .6em;
+}
+
+.quoteblock blockquote > .paragraph:last-child p
+{
+    margin-bottom: 0;
+}
+
+.quoteblock .attribution
+{
+    margin-top: .5em;
+    margin-right: .5ex;
+    text-align: right;
+}
+
+.quoteblock .quoteblock
+{
+    margin-right: 0;
+    margin-left: 0;
+    padding: .5em 0;
+    border-left: 3px solid rgba(0,0,0,.6);
+}
+
+.quoteblock .quoteblock blockquote
+{
+    padding: 0 0 0 .75em;
+}
+
+.quoteblock .quoteblock blockquote:before
+{
+    display: none;
+}
+
+.verseblock
+{
+    margin: 0 1em 1.25em 1em;
+}
+
+.verseblock pre
+{
+    color: rgba(0,0,0,.85);
+    font-weight: 300;
+    font-size: 1.15rem;
+    font-family: 'Noto Sans', sans-serif;
+}
+
+.verseblock pre strong
+{
+    font-weight: 400;
+}
+
+.verseblock .attribution
+{
+    margin-top: 1.25rem;
+    margin-left: .5ex;
+}
+
+.quoteblock .attribution,
+.verseblock .attribution
+{
+    font-style: italic;
+    font-size: .9375em;
+    line-height: 1.45;
+}
+
+.quoteblock .attribution br,
+.verseblock .attribution br
+{
+    display: none;
+}
+
+.quoteblock .attribution cite,
+.verseblock .attribution cite
+{
+    display: block;
+    color: rgba(0,0,0,.6);
+    letter-spacing: -.05em;
+}
+
+.quoteblock.abstract
+{
+    display: block;
+    margin: 0 0 1.25em 0;
+}
+
+.quoteblock.abstract blockquote,
+.quoteblock.abstract blockquote p
+{
+    text-align: left;
+    word-spacing: 0;
+}
+
+.quoteblock.abstract blockquote:before,
+.quoteblock.abstract blockquote p:first-of-type:before
+{
+    display: none;
+}
+
+table.tableblock
+{
+    max-width: 100%;
+    border-collapse: separate;
+}
+
+table.tableblock td > .paragraph:last-child p > p:last-child,
+table.tableblock td > p:last-child,
+table.tableblock th > p:last-child
+{
+    margin-bottom: 0;
+}
+
+table.spread
+{
+    width: 100%;
+}
+
+table.tableblock,
+td.tableblock,
+th.tableblock
+{
+    border: 0 solid #dedede;
+}
+
+table.grid-all td.tableblock,
+table.grid-all th.tableblock
+{
+    border-width: 0 1px 1px 0;
+}
+
+table.grid-all tfoot > tr > td.tableblock,
+table.grid-all tfoot > tr > th.tableblock
+{
+    border-width: 1px 1px 0 0;
+}
+
+table.grid-cols td.tableblock,
+table.grid-cols th.tableblock
+{
+    border-width: 0 1px 0 0;
+}
+
+table.grid-all * > tr > .tableblock:last-child,
+table.grid-cols * > tr > .tableblock:last-child
+{
+    border-right-width: 0;
+}
+
+table.grid-rows td.tableblock,
+table.grid-rows th.tableblock
+{
+    border-width: 0 0 1px 0;
+}
+
+table.grid-all tbody > tr:last-child > td.tableblock,
+table.grid-all tbody > tr:last-child > th.tableblock,
+table.grid-all thead:last-child > tr > th.tableblock,
+table.grid-rows tbody > tr:last-child > td.tableblock,
+table.grid-rows tbody > tr:last-child > th.tableblock,
+table.grid-rows thead:last-child > tr > th.tableblock
+{
+    border-bottom-width: 0;
+}
+
+table.grid-rows tfoot > tr > td.tableblock,
+table.grid-rows tfoot > tr > th.tableblock
+{
+    border-width: 1px 0 0 0;
+}
+
+table.frame-all
+{
+    border-width: 1px;
+}
+
+table.frame-sides
+{
+    border-width: 0 1px;
+}
+
+table.frame-topbot
+{
+    border-width: 1px 0;
+}
+
+td.halign-left,
+th.halign-left
+{
+    text-align: left;
+}
+
+td.halign-right,
+th.halign-right
+{
+    text-align: right;
+}
+
+td.halign-center,
+th.halign-center
+{
+    text-align: center;
+}
+
+td.valign-top,
+th.valign-top
+{
+    vertical-align: top;
+}
+
+td.valign-bottom,
+th.valign-bottom
+{
+    vertical-align: bottom;
+}
+
+td.valign-middle,
+th.valign-middle
+{
+    vertical-align: middle;
+}
+
+table tfoot th,
+table thead th
+{
+    font-weight: bold;
+}
+
+tbody tr th
+{
+    display: table-cell;
+    background: #f7f8f7;
+    line-height: 1.6;
+}
+
+tbody tr th,
+tbody tr th p,
+tfoot tr th,
+tfoot tr th p
+{
+    color: rgba(0,0,0,.8);
+    font-weight: bold;
+}
+
+p.tableblock > code:only-child
+{
+    padding: 0;
+    background: none;
+}
+
+td > div.verse
+{
+    white-space: pre;
+}
+
+ol
+{
+    margin-left: 1.75em;
+}
+
+ul li ol
+{
+    margin-left: 1.5em;
+}
+
+dl dd
+{
+    margin-left: 1.125em;
+}
+
+dl dd:last-child,
+dl dd:last-child > :last-child
+{
+    margin-bottom: 0;
+}
+
+.olist .olist,
+.olist .ulist,
+.ulist .olist,
+.ulist .ulist,
+ol > li p,
+ol dd,
+ul > li p,
+ul dd
+{
+    margin-bottom: .625em;
+}
+
+ol.unnumbered,
+ul.checklist,
+ul.none,
+ul.unstyled
+{
+    list-style-type: none;
+}
+
+ol.unnumbered,
+ul.checklist,
+ul.unstyled
+{
+    margin-left: .625em;
+}
+
+ul.checklist li > p:first-child > .fa-check-square-o:first-child,
+ul.checklist li > p:first-child > input[type='checkbox']:first-child
+{
+    margin-right: .25em;
+}
+
+ul.checklist li > p:first-child > input[type='checkbox']:first-child
+{
+    position: relative;
+    top: 1px;
+}
+
+ul.inline
+{
+    margin: 0 auto .625em auto;
+    margin-right: 0;
+    margin-left: -1.375em;
+    padding: 0;
+}
+
+ul.inline > li
+{
+    display: block;
+    float: left;
+    margin-left: 1.375em;
+    list-style: none;
+}
+
+ul.inline > li > *
+{
+    display: block;
+}
+
+.unstyled dl dt
+{
+    font-weight: 400;
+    font-style: normal;
+}
+
+ol.arabic
+{
+    list-style-type: decimal;
+}
+
+ol.decimal
+{
+    list-style-type: decimal-leading-zero;
+}
+
+ol.loweralpha
+{
+    list-style-type: lower-alpha;
+}
+
+ol.upperalpha
+{
+    list-style-type: upper-alpha;
+}
+
+ol.lowerroman
+{
+    list-style-type: lower-roman;
+}
+
+ol.upperroman
+{
+    list-style-type: upper-roman;
+}
+
+ol.lowergreek
+{
+    list-style-type: lower-greek;
+}
+
+.colist > table,
+.hdlist > table
+{
+    border: 0;
+    background: none;
+}
+
+.colist > table > tbody>tr,
+.hdlist > table > tbody > tr
+{
+    background: none;
+}
+
+td.hdlist1
+{
+    padding-right: .75em;
+    font-weight: bold;
+}
+
+td.hdlist1,
+td.hdlist2
+{
+    vertical-align: top;
+}
+
+.listingblock + .colist,
+.literalblock + .colist
+{
+    margin-top: -.5em;
+}
+
+.colist > table tr > td:first-of-type
+{
+    padding: 0 .75em;
+    line-height: 1;
+}
+
+.colist > table tr > td:last-of-type
+{
+    padding: .25em 0;
+}
+
+.th,
+.thumb
+{
+    display: inline-block;
+    border: solid 4px #fff;
+    -webkit-box-shadow: 0 0 0 1px #ddd;
+            box-shadow: 0 0 0 1px #ddd;
+    line-height: 0;
+}
+
+.imageblock.left,
+.imageblock[style*='float: left']
+{
+    margin: .25em .625em 1.25em 0;
+}
+
+.imageblock.right,
+.imageblock[style*='float: right']
+{
+    margin: .25em 0 1.25em .625em;
+}
+
+.imageblock > .title
+{
+    margin-bottom: 0;
+}
+
+.imageblock.th,
+.imageblock.thumb
+{
+    border-width: 6px;
+}
+
+.imageblock.th > .title,
+.imageblock.thumb > .title
+{
+    padding: 0 .125em;
+}
+
+.image.left,
+.image.right
+{
+    display: inline-block;
+    margin-top: .25em;
+    margin-bottom: .25em;
+    line-height: 0;
+}
+
+.image.left
+{
+    margin-right: .625em;
+}
+
+.image.right
+{
+    margin-left: .625em;
+}
+
+a.image
+{
+    text-decoration: none;
+}
+
+span.footnote,
+span.footnoteref
+{
+    vertical-align: super;
+    font-size: .875em;
+}
+
+span.footnote a,
+span.footnoteref a
+{
+    text-decoration: none;
+}
+
+span.footnote a:active,
+span.footnoteref a:active
+{
+    text-decoration: underline;
+}
+
+#footnotes
+{
+    margin-bottom: .625em;
+    padding-top: .75em;
+    padding-bottom: .75em;
+}
+
+#footnotes hr
+{
+    margin: -.25em 0 .75em 0;
+    min-width: 6.25em;
+    width: 20%;
+    border-width: 1px 0 0 0;
+}
+
+#footnotes .footnote
+{
+    margin-bottom: .2em;
+    margin-left: 1.2em;
+    padding: 0 .375em;
+    text-indent: -1.2em;
+    font-size: .875em;
+    line-height: 1.3;
+}
+
+#footnotes .footnote a:first-of-type
+{
+    text-decoration: none;
+    font-weight: bold;
+}
+
+#footnotes .footnote:last-of-type
+{
+    margin-bottom: 0;
+}
+
+#content #footnotes
+{
+    margin-top: -.625em;
+    margin-bottom: 0;
+    padding: .75em 0;
+}
+
+.gist .file-data > table
+{
+    margin-bottom: 0;
+    width: 100%;
+    border: 0;
+    background: #fff;
+}
+
+.gist .file-data > table td.line-data
+{
+    width: 99%;
+}
+
+div.unbreakable
+{
+    page-break-inside: avoid;
+}
+
+.big
+{
+    font-size: larger;
+}
+
+.small
+{
+    font-size: smaller;
+}
+
+.underline
+{
+    text-decoration: underline;
+}
+
+.overline
+{
+    text-decoration: overline;
+}
+
+.line-through
+{
+    text-decoration: line-through;
+}
+
+.aqua
+{
+    color: #00bfbf;
+}
+
+.aqua-background
+{
+    background-color: #00fafa;
+}
+
+.black
+{
+    color: #000;
+}
+
+.black-background
+{
+    background-color: #000;
+}
+
+.blue
+{
+    color: #0000bf;
+}
+
+.blue-background
+{
+    background-color: #0000fa;
+}
+
+.fuchsia
+{
+    color: #bf00bf;
+}
+
+.fuchsia-background
+{
+    background-color: #fa00fa;
+}
+
+.gray
+{
+    color: #606060;
+}
+
+.gray-background
+{
+    background-color: #7d7d7d;
+}
+
+.green
+{
+    color: #006000;
+}
+
+.green-background
+{
+    background-color: #007d00;
+}
+
+.lime
+{
+    color: #00bf00;
+}
+
+.lime-background
+{
+    background-color: #00fa00;
+}
+
+.maroon
+{
+    color: #600000;
+}
+
+.maroon-background
+{
+    background-color: #7d0000;
+}
+
+.navy
+{
+    color: #000060;
+}
+
+.navy-background
+{
+    background-color: #00007d;
+}
+
+.olive
+{
+    color: #606000;
+}
+
+.olive-background
+{
+    background-color: #7d7d00;
+}
+
+.purple
+{
+    color: #600060;
+}
+
+.purple-background
+{
+    background-color: #7d007d;
+}
+
+.red
+{
+    color: #bf0000;
+}
+
+.red-background
+{
+    background-color: #fa0000;
+}
+
+.silver
+{
+    color: #909090;
+}
+
+.silver-background
+{
+    background-color: #bcbcbc;
+}
+
+.teal
+{
+    color: #006060;
+}
+
+.teal-background
+{
+    background-color: #007d7d;
+}
+
+.white
+{
+    color: #bfbfbf;
+}
+
+.white-background
+{
+    background-color: #fafafa;
+}
+
+.yellow
+{
+    color: #bfbf00;
+}
+
+.yellow-background
+{
+    background-color: #fafa00;
+}
+
+span.icon > .fa
+{
+    cursor: default;
+}
+
+
+.admonitionblock td.icon [class^='fa icon-']
+{
+    text-shadow: 1px 1px 2px rgba(0,0,0,.5);
+    font-size: 2.5em;
+    cursor: default;
+}
+
+/* font awesome icon info-circle: http://fontawesome.io/icon/info-circle/ */
+.admonitionblock td.icon .icon-note:before
+{
+    color: #19407c;
+    content: '\f05a';
+}
+
+/* font awesome icon lightbulb-o: http://fontawesome.io/icon/lightbulb-o/ */
+.admonitionblock td.icon .icon-tip:before
+{
+    color: #428b30;
+    content: '\f0eb';
+    text-shadow: 1px 1px 2px rgba(155,155,0,.8);
+}
+
+/* font awesome icon exclamation-triangle: http://fontawesome.io/icon/exclamation-triangle/ */
+.admonitionblock td.icon .icon-warning:before
+{
+    color: #bf0000;
+    content: '\f071';
+}
+
+/* font awesome icon fire: http://fontawesome.io/icon/fire/ */
+.admonitionblock td.icon .icon-caution:before
+{
+    color: #bf6900;
+    content: '\f06d';
+}
+
+/* font awesome icon bolt: http://fontawesome.io/icon/bolt/ */
+.admonitionblock td.icon .icon-important:before
+{
+    color: #eeea74;
+    content: '\f0e7';
+}
+
+.conum[data-value]
+{
+    display: inline-block;
+    width: 1.67em;
+    height: 1.67em;
+    -webkit-border-radius: 100px;
+            border-radius: 100px;
+    background-color: rgba(0,0,0,.8);
+    color: #fff!important;
+    text-align: center;
+    font-weight: bold;
+    font-style: normal;
+    font-size: .75em;
+    font-family: 'Noto Sans', sans-serif;
+    line-height: 1.67em;
+}
+
+.conum[data-value] *
+{
+    color: #fff!important;
+}
+
+.conum[data-value] + b
+{
+    display: none;
+}
+
+.conum[data-value]:after
+{
+    content: attr(data-value);
+}
+
+pre .conum[data-value]
+{
+    position: relative;
+    top: -.125em;
+}
+
+b.conum *
+{
+    color: inherit!important;
+}
+
+.conum:not([data-value]):empty
+{
+    display: none;
+}
+
+
+p,
+td.content
+{
+    letter-spacing: -.01em;
+}
+
+p strong,
+td.content strong
+{
+    letter-spacing: -.005em;
+}
+
+blockquote,
+dt,
+p,
+td.content
+{
+    font-size: 1.0625rem;
+}
+
+p
+{
+    margin-bottom: 1.25rem;
+}
+
+.sidebarblock dt,
+.sidebarblock p,
+.sidebarblock td.content,
+p.tableblock
+{
+    font-size: 1em;
+}
+
+.exampleblock > .content
+{
+    border-color: #e0e0dc;
+    background-color: #fffef7;
+    -webkit-box-shadow: 0 1px 4px #e0e0dc;
+            box-shadow: 0 1px 4px #e0e0dc;
+}
+
+.print-only
+{
+    display: none!important;
+}
+
+@media print
+{
+    @page
+    {
+        margin: 1.25cm .75cm;
+    }
+
+    *
+    {
+        -webkit-box-shadow: none!important;
+                box-shadow: none!important;
+        text-shadow: none!important;
+    }
+
+    a
+    {
+        color: inherit!important;
+        text-decoration: underline!important;
+    }
+
+    a.bare,
+    a[href^='#'],
+    a[href^='mailto:']
+    {
+        text-decoration: none!important;
+    }
+
+    a[href^='http:']:not(.bare):after,
+    a[href^='https:']:not(.bare):after
+    {
+        display: inline-block;
+        padding-left: .25em;
+        content: '(' attr(href) ')';
+        font-size: .875em;
+    }
+
+    abbr[title]:after
+    {
+        content: ' (' attr(title) ')';
+    }
+
+    blockquote,
+    img,
+    pre,
+    tr
+    {
+        page-break-inside: avoid;
+    }
+
+    thead
+    {
+        display: table-header-group;
+    }
+
+    img
+    {
+        max-width: 100%!important;
+    }
+
+    blockquote,
+    dt,
+    p,
+    td.content
+    {
+        font-size: 1em;
+        orphans: 3;
+        widows: 3;
+    }
+
+    #toc,
+    .exampleblock > .content,
+    .sidebarblock
+    {
+        background: none!important;
+    }
+
+    #toc
+    {
+        padding-bottom: 0!important;
+        border-bottom: 1px solid #ddddd8!important;
+    }
+
+    .sect1
+    {
+        padding-bottom: 0!important;
+    }
+
+    .sect1 + .sect1
+    {
+        border: 0!important;
+    }
+
+    #header > h1:first-child
+    {
+        margin-top: 1.25rem;
+    }
+
+    body.book #header
+    {
+        text-align: center;
+    }
+
+    body.book #header > h1:first-child
+    {
+        margin: 2.5em 0 1em 0;
+        border: 0!important;
+    }
+
+    body.book #header .details
+    {
+        display: block;
+        padding: 0!important;
+        border: 0!important;
+    }
+
+    body.book #header .details span:first-child
+    {
+        margin-left: 0!important;
+    }
+
+    body.book #header .details br
+    {
+        display: block;
+    }
+
+    body.book #header .details br + span:before
+    {
+        content: none!important;
+    }
+
+    body.book #toc
+    {
+        margin: 0!important;
+        padding: 0!important;
+        border: 0!important;
+        text-align: left!important;
+    }
+
+    body.book #preamble,
+    body.book #toc,
+    body.book .sect1 > h2,
+    body.book h1.sect0
+    {
+        page-break-before: always;
+    }
+
+    .listingblock code[data-lang]:before
+    {
+        display: block;
+    }
+
+    #footer
+    {
+        padding: 0 .9375em;
+        background: none!important;
+    }
+
+    #footer-text
+    {
+        color: rgba(0,0,0,.6)!important;
+        font-size: .9em;
+    }
+
+    .hide-on-print
+    {
+        display: none!important;
+    }
+
+    .print-only
+    {
+        display: block!important;
+    }
+
+    .hide-for-print
+    {
+        display: none!important;
+    }
+
+    .show-for-print
+    {
+        display: inherit!important;
+    }
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/css/theme-solr.css
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/css/theme-solr.css b/solr/solr-ref-guide/src/css/theme-solr.css
new file mode 100644
index 0000000..ae0d6bf
--- /dev/null
+++ b/solr/solr-ref-guide/src/css/theme-solr.css
@@ -0,0 +1,127 @@
+.summary {
+    color: #808080;
+    border-left: 5px solid #d9411e;
+    font-size:16px;
+}
+
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+    background-color: #FF833D;
+    color: white;
+}
+
+.nav > li.active > a {
+    background-color: #262130;
+}
+
+.nav > li > a:hover {
+    background-color: #FF833D;
+}
+
+div.navbar-collapse .dropdown-menu > li > a:hover {
+    background-color: #D9411E;
+}
+
+.nav li.thirdlevel > a {
+    background-color: #FAFAFA !important;
+    color: #FF833D;
+    font-weight: bold;
+}
+
+a[data-toggle="tooltip"] {
+    color: #649345;
+    font-style: italic;
+    cursor: default;
+}
+
+.navbar-inverse {
+    background-color: #D9411E;
+    border-color: #015CAE;
+}
+
+.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+    color: #015CAE;
+}
+
+.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+    background-color: #015CAE;
+    color: #ffffff;
+}
+
+/* not sure if using this ...*/
+.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
+    border-color: #248ec2 !important;
+}
+
+/* Used for nav buttons */
+.btn-primary {
+    color: #ffffff;
+    background-color: #0A7C38;
+    border-color: #E6E7E8;
+}
+
+.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
+    background-color: #D9411E;
+}
+
+/* Used for nav buttons */
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+    background-color: #305CB3;
+    border-color: #E6E7E8;
+}
+
+.printTitle {
+    color: #015CAE !important;
+}
+
+body.print h1 {color: #015CAE !important; font-size:28px !important;}
+body.print h2 {color: #595959 !important; font-size:20px !important;}
+body.print h3 {color: #E50E51 !important; font-size:14px !important;}
+body.print h4 {color: #679DCE !important; font-size:14px; font-style: italic !important;}
+
+.anchorjs-link:hover {
+    color: #216f9b;
+}
+
+div.sidebarTitle {
+    color: #015CAE;
+}
+
+li.sidebarTitle {
+    margin-top:40px;
+    font-weight:normal;
+    font-size:120%;
+    color: #262130;
+    margin-bottom:10px;
+    margin-left: 5px;
+
+}
+.scrollnav {
+    font-size: larger;
+    /* why do we need both of these??? */
+    padding-bottom: 1em;
+    margin-bottom: 2em;
+}
+.scrollnav .prev {
+    text-align: left;
+    float: left;
+    font-size: inherit;
+}
+.scrollnav .prev:before {
+    padding-right: 0.5em;
+    content: "\25C0 ";
+    display: inline-block; /* text-decoration: none doesn't work, but this does */
+}
+.scrollnav .next {
+    text-align: right;
+    float: right;
+    font-size: inherit;
+}
+.scrollnav .next:after {
+    padding-left: 0.5em;
+    content: " \25B6";
+    display: inline-block; /* text-decoration: none doesn't work, but this does */
+}

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/datadir-and-directoryfactory-in-solrconfig.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/datadir-and-directoryfactory-in-solrconfig.adoc b/solr/solr-ref-guide/src/datadir-and-directoryfactory-in-solrconfig.adoc
new file mode 100644
index 0000000..e2a847f
--- /dev/null
+++ b/solr/solr-ref-guide/src/datadir-and-directoryfactory-in-solrconfig.adoc
@@ -0,0 +1,45 @@
+= DataDir and DirectoryFactory in SolrConfig
+:page-shortname: datadir-and-directoryfactory-in-solrconfig
+:page-permalink: datadir-and-directoryfactory-in-solrconfig.html
+
+Where and how Solr stores its indexes are configurable options.
+
+== Specifying a Location for Index Data with the `dataDir` Parameter
+
+By default, Solr stores its index data in a directory called `/data` under the core's instance directory (`instanceDir`). If you would like to specify a different directory for storing index data, you can configure the `dataDir` in the `core.properties` file for the core, or use the `<dataDir>` parameter in the `solrconfig.xml` file. You can specify another directory either with an absolute path or a pathname relative to the instanceDir of the SolrCore. For example:
+
+[source,xml]
+----
+<dataDir>/solr/data/${solr.core.name}</dataDir>
+----
+
+The `${solr.core.name}` substitution will cause the name of the current core to be substituted, which results in each core's data being kept in a separate subdirectory.
+
+If you are using replication to replicate the Solr index (as described in <<legacy-scaling-and-distribution.adoc#legacy-scaling-and-distribution,Legacy Scaling and Distribution>>), then the `<dataDir>` directory should correspond to the index directory used in the replication configuration.
+
+[[DataDirandDirectoryFactoryinSolrConfig-SpecifyingtheDirectoryFactoryForYourIndex]]
+== Specifying the DirectoryFactory For Your Index
+
+The default {solr-javadocs}/solr-core/org/apache/solr/core/StandardDirectoryFactory.html[`solr.StandardDirectoryFactory`] is filesystem based, and tries to pick the best implementation for the current JVM and platform. You can force a particular implementation and/or config options by specifying {solr-javadocs}/solr-core/org/apache/solr/core/MMapDirectoryFactory.html[`solr.MMapDirectoryFactory`], {solr-javadocs}/solr-core/org/apache/solr/core/NIOFSDirectoryFactory.html[`solr.NIOFSDirectoryFactory`], or {solr-javadocs}/solr-core/org/apache/solr/core/SimpleFSDirectoryFactory.html[`solr.SimpleFSDirectoryFactory`].
+
+[source,xml]
+----
+<directoryFactory name="DirectoryFactory"
+                  class="solr.MMapDirectoryFactory">
+  <bool name="preload">true</bool>
+</directoryFactory>
+----
+
+The {solr-javadocs}/solr-core/org/apache/solr/core/RAMDirectoryFactory.html[`solr.RAMDirectoryFactory`] is memory based, not persistent, and does not work with replication. Use this DirectoryFactory to store your index in RAM.
+
+[source,xml]
+----
+<directoryFactory class="org.apache.solr.core.RAMDirectoryFactory"/>
+----
+
+[NOTE]
+====
+
+If you are using Hadoop and would like to store your indexes in HDFS, you should use the {solr-javadocs}/solr-core/org/apache/solr/core/HdfsDirectoryFactory.html[`solr.HdfsDirectoryFactory`] instead of either of the above implementations. For more details, see the section <<running-solr-on-hdfs.adoc#running-solr-on-hdfs,Running Solr on HDFS>>.
+
+====

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/dataimport-screen.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/dataimport-screen.adoc b/solr/solr-ref-guide/src/dataimport-screen.adoc
new file mode 100644
index 0000000..a90923e
--- /dev/null
+++ b/solr/solr-ref-guide/src/dataimport-screen.adoc
@@ -0,0 +1,13 @@
+= Dataimport Screen
+:page-shortname: dataimport-screen
+:page-permalink: dataimport-screen.html
+
+The Dataimport screen shows the configuration of the DataImportHandler (DIH) and allows you start, and monitor the status of, import commands as defined by the options selected on the screen and defined in the configuration file.
+
+.The Dataimport Screen
+image::images/dataimport-screen/dataimport.png[image,width=485,height=250]
+
+
+This screen also lets you adjust various options to control how the data is imported to Solr, and view the data import configuration file that controls the import.
+
+For more information about data importing with DIH, see the section on <<uploading-structured-data-store-data-with-the-data-import-handler.adoc#uploading-structured-data-store-data-with-the-data-import-handler,Uploading Structured Data Store Data with the Data Import Handler>>.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/de-duplication.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/de-duplication.adoc b/solr/solr-ref-guide/src/de-duplication.adoc
new file mode 100644
index 0000000..60d3b587
--- /dev/null
+++ b/solr/solr-ref-guide/src/de-duplication.adoc
@@ -0,0 +1,100 @@
+= De-Duplication
+:page-shortname: de-duplication
+:page-permalink: de-duplication.html
+
+If duplicate, or near-duplicate documents are a concern in your index, de-duplication may be worth implementing.
+
+Preventing duplicate or near duplicate documents from entering an index or tagging documents with a signature/fingerprint for duplicate field collapsing can be efficiently achieved with a low collision or fuzzy hash algorithm. Solr natively supports de-duplication techniques of this type via the `Signature` class and allows for the easy addition of new hash/signature implementations. A Signature can be implemented several ways:
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="30,70",options="header"]
+|===
+|Method |Description
+|MD5Signature |128-bit hash used for exact duplicate detection.
+|Lookup3Signature |64-bit hash used for exact duplicate detection. This is much faster than MD5 and smaller to index.
+|http://wiki.apache.org/solr/TextProfileSignature[TextProfileSignature] |Fuzzy hashing implementation from Apache Nutch for near duplicate detection. It's tunable but works best on longer text.
+|===
+
+Other, more sophisticated algorithms for fuzzy/near hashing can be added later.
+
+[IMPORTANT]
+====
+Adding in the de-duplication process will change the `allowDups` setting so that it applies to an update term (with `signatureField` in this case) rather than the unique field Term.
+
+Of course the `signatureField` could be the unique field, but generally you want the unique field to be unique. When a document is added, a signature will automatically be generated and attached to the document in the specified `signatureField`.
+====
+
+[[De-Duplication-ConfigurationOptions]]
+== Configuration Options
+
+There are two places in Solr to configure de-duplication: in `solrconfig.xml` and in `schema.xml`.
+
+[[De-Duplication-Insolrconfig.xml]]
+=== In `solrconfig.xml`
+
+The `SignatureUpdateProcessorFactory` has to be registered in `solrconfig.xml` as part of an <<update-request-processors.adoc#update-request-processors,Update Request Processor Chain>>, as in this example:
+
+[source,xml]
+----
+<updateRequestProcessorChain name="dedupe">
+  <processor class="solr.processor.SignatureUpdateProcessorFactory">
+    <bool name="enabled">true</bool>
+    <str name="signatureField">id</str>
+    <bool name="overwriteDupes">false</bool>
+    <str name="fields">name,features,cat</str>
+    <str name="signatureClass">solr.processor.Lookup3Signature</str>
+  </processor>
+  <processor class="solr.LogUpdateProcessorFactory" />
+  <processor class="solr.RunUpdateProcessorFactory" />
+</updateRequestProcessorChain>
+----
+
+The `SignatureUpdateProcessorFactory` takes several properties:
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="20,30,50",options="header"]
+|===
+|Parameter |Default |Description
+|signatureClass |`org.apache.solr.update.processor.Lookup3Signature` a|
+A Signature implementation for generating a signature hash. The full classpath of the implementation must be specified. The available options are described above, the associated classpaths to use are:
+
+* `org.apache.solr.update.processor.Lookup3Signature`
+* `org.apache.solr.update.processor.MD5Signature`
+* `org.apache.solr.update.process.TextProfileSignature`
+
+|fields |all fields |The fields to use to generate the signature hash in a comma separated list. By default, all fields on the document will be used.
+|signatureField |signatureField |The name of the field used to hold the fingerprint/signature. The field should be defined in schema.xml.
+|enabled |true |Enable/disable de-duplication processing.
+|overwriteDupes |true |If true, when a document exists that already matches this signature, it will be overwritten.
+|===
+
+[[De-Duplication-Inschema.xml]]
+=== In `schema.xml`
+
+If you are using a separate field for storing the signature, you must have it indexed:
+
+[source,xml]
+----
+<field name="signatureField" type="string" stored="true" indexed="true" multiValued="false" />
+----
+
+Be sure to change your update handlers to use the defined chain, as below:
+
+[source,xml]
+----
+<requestHandler name="/update" class="solr.UpdateRequestHandler" >
+  <lst name="defaults">
+    <str name="update.chain">dedupe</str>
+  </lst>
+...
+</requestHandler>
+----
+
+This example assumes you have other sections of your request handler defined.
+
+[TIP]
+====
+The update processor can also be specified per request with a parameter of `update.chain=dedupe`.
+====

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/defining-core-properties.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/defining-core-properties.adoc b/solr/solr-ref-guide/src/defining-core-properties.adoc
new file mode 100644
index 0000000..0515838
--- /dev/null
+++ b/solr/solr-ref-guide/src/defining-core-properties.adoc
@@ -0,0 +1,79 @@
+= Defining core.properties
+:page-shortname: defining-core-properties
+:page-permalink: defining-core-properties.html
+
+Core discovery means that creating a core is as simple as a `core.properties` file located on disk.
+
+The `core.properties` file is a simple Java Properties file where each line is just a key=value pair, e.g., `name=core1`. Notice that no quotes are required.
+
+A minimal `core.properties` file looks like the example below. However, it can also be empty, see information on placement of `core.properties` below.
+
+[source,bash]
+----
+name=my_core_name
+----
+
+[[Definingcore.properties-Placementofcore.properties]]
+== Placement of core.properties
+
+Solr cores are configured by placing a file named `core.properties` in a sub-directory under `solr.home`. There are no a-priori limits to the depth of the tree, nor are there limits to the number of cores that can be defined. Cores may be anywhere in the tree with the exception that cores may _not_ be defined under an existing core. That is, the following is not allowed:
+
+[source,text]
+----
+./cores/core1/core.properties
+./cores/core1/coremore/core5/core.properties
+----
+
+In this example, the enumeration will stop at "core1".
+
+The following is legal:
+
+[source,text]
+----
+./cores/somecores/core1/core.properties
+./cores/somecores/core2/core.properties
+./cores/othercores/core3/core.properties
+./cores/extracores/deepertree/core4/core.properties
+----
+
+It is possible to segment Solr into multiple cores, each with its own configuration and indices. Cores may be dedicated to a single application or to very different ones, but all are administered through a common administration interface. You can create new Solr cores on the fly, shutdown cores, even replace one running core with another, all without ever stopping or restarting Solr.
+
+Your `core.properties` file can be empty if necessary. Suppose `core.properties` is located in `./cores/core1` (relative to `solr_home`) but is empty. In this case, the core name is assumed to be "core1". The instanceDir will be the folder containing `core.properties` (i.e., `./cores/core1`). The dataDir will be `../cores/core1/data`, etc.
+
+[NOTE]
+====
+You can run Solr without configuring any cores.
+====
+
+[[Definingcore.properties-Definingcore.propertiesFiles]]
+== Defining core.properties Files
+
+[[Definingcore.properties-core.properties_files]]
+
+The minimal `core.properties` file is an empty file, in which case all of the properties are defaulted appropriately.
+
+Java properties files allow the hash (`#`) or bang (`!`) characters to specify comment-to-end-of-line.
+
+This table defines the recognized properties:
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="25,75",options="header"]
+|===
+|Property |Description
+|`name` |The name of the SolrCore. You'll use this name to reference the SolrCore when running commands with the CoreAdminHandler.
+|`config` |The configuration file name for a given core. The default is `solrconfig.xml`.
+|`schema` |The schema file name for a given core. The default is `schema.xml` but please note that if you are using a "managed schema" (the default behavior) then any value for this property which does not match the effective `managedSchemaResourceName` will be read once, backed up, and converted for managed schema use. See <<schema-factory-definition-in-solrconfig.adoc#schema-factory-definition-in-solrconfig,Schema Factory Definition in SolrConfig>> for details.
+|`dataDir` |The core's data directory (where indexes are stored) as either an absolute pathname, or a path relative to the value of `instanceDir`. This is `data` by default.
+|`configSet` |The name of a defined configset, if desired, to use to configure the core (see the <<config-sets.adoc#config-sets,Config Sets>> for more details).
+|`properties` |The name of the properties file for this core. The value can be an absolute pathname or a path relative to the value of `instanceDir`.
+|`transient` |If *true*, the core can be unloaded if Solr reaches the `transientCacheSize`. The default if not specified is *false*. Cores are unloaded in order of least recently used first. _Setting to *true* is not recommended in SolrCloud mode._
+|`loadOnStartup` |If *true*, the default if it is not specified, the core will loaded when Solr starts. _Setting to *false* is not recommended in SolrCloud mode._
+|`coreNodeName` |Used only in SolrCloud, this is a unique identifier for the node hosting this replica. By default a coreNodeName is generated automatically, but setting this attribute explicitly allows you to manually assign a new core to replace an existing replica. For example: when replacing a machine that has had a hardware failure by restoring from backups on a new machine with a new hostname or port..
+|`ulogDir` |The absolute or relative directory for the update log for this core (SolrCloud).
+|`shard` |The shard to assign this core to (SolrCloud).
+|`collection` |The name of the collection this core is part of (SolrCloud).
+|`roles` |Future param for SolrCloud or a way for users to mark nodes for their own use.
+|===
+
+Additional "user defined" properties may be specified for use as variables. For more information on how to define local properties, see the section <<configuring-solrconfig-xml.adoc#Configuringsolrconfig.xml-SubstitutingPropertiesinSolrConfigFiles,Substituting Properties in Solr Config Files>>.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/defining-fields.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/defining-fields.adoc b/solr/solr-ref-guide/src/defining-fields.adoc
new file mode 100644
index 0000000..15dba12
--- /dev/null
+++ b/solr/solr-ref-guide/src/defining-fields.adoc
@@ -0,0 +1,57 @@
+= Defining Fields
+:page-shortname: defining-fields
+:page-permalink: defining-fields.html
+
+Fields are defined in the fields element of `schema.xml`. Once you have the field types set up, defining the fields themselves is simple.
+
+[[DefiningFields-Example]]
+== Example
+
+The following example defines a field named `price` with a type named `float` and a default value of `0.0`; the `indexed` and `stored` properties are explicitly set to `true`, while any other properties specified on the `float` field type are inherited.
+
+[source,xml]
+----
+<field name="price" type="float" default="0.0" indexed="true" stored="true"/>
+----
+
+[[DefiningFields-FieldProperties]]
+== Field Properties
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="30,70",options="header"]
+|===
+|Property |Description
+|name |The name of the field. Field names should consist of alphanumeric or underscore characters only and not start with a digit. This is not currently strictly enforced, but other field names will not have first class support from all components and back compatibility is not guaranteed. Names with both leading and trailing underscores (e.g., `\_version_`) are reserved. Every field must have a `name`.
+|type |The name of the `fieldType` for this field. This will be found in the `name` attribute on the `fieldType` definition. Every field must have a `type`.
+|default |A default value that will be added automatically to any document that does not have a value in this field when it is indexed. If this property is not specified, there is no default.
+|===
+
+[[DefiningFields-OptionalFieldTypeOverrideProperties]]
+== Optional Field Type Override Properties
+
+Fields can have many of the same properties as field types. Properties from the table below which are specified on an individual field will override any explicit value for that property specified on the the `fieldType` of the field, or any implicit default property value provided by the underlying `fieldType` implementation. The table below is reproduced from <<field-type-definitions-and-properties.adoc#field-type-definitions-and-properties,Field Type Definitions and Properties>>, which has more details:
+
+// TODO: SOLR-10655 BEGIN: refactor this into a 'field-default-properties.include.adoc' file for reuse
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="20,40,20,20",options="header"]
+|===
+|Property |Description |Values |Implicit Default
+|indexed |If true, the value of the field can be used in queries to retrieve matching documents. |true or false |true
+|stored |If true, the actual value of the field can be retrieved by queries. |true or false |true
+|docValues |If true, the value of the field will be put in a column-oriented <<docvalues.adoc#docvalues,DocValues>> structure. |true or false |false
+|sortMissingFirst sortMissingLast |Control the placement of documents when a sort field is not present. |true or false |false
+|multiValued |If true, indicates that a single document might contain multiple values for this field type. |true or false |false
+|omitNorms |If true, omits the norms associated with this field (this disables length normalization for the field, and saves some memory). *Defaults to true for all primitive (non-analyzed) field types, such as int, float, data, bool, and string.* Only full-text fields or fields need norms. |true or false |*
+|omitTermFreqAndPositions |If true, omits term frequency, positions, and payloads from postings for this field. This can be a performance boost for fields that don't require that information. It also reduces the storage space required for the index. Queries that rely on position that are issued on a field with this option will silently fail to find documents. *This property defaults to true for all field types that are not text fields.* |true or false |*
+|omitPositions |Similar to `omitTermFreqAndPositions` but preserves term frequency information. |true or false |*
+|termVectors termPositions termOffsets termPayloads |These options instruct Solr to maintain full term vectors for each document, optionally including position, offset and payload information for each term occurrence in those vectors. These can be used to accelerate highlighting and other ancillary functionality, but impose a substantial cost in terms of index size. They are not necessary for typical uses of Solr. |true or false |false
+|required |Instructs Solr to reject any attempts to add a document which does not have a value for this field. This property defaults to false. |true or false |false
+|useDocValuesAsStored |If the field has `<<docvalues.adoc#docvalues,docValues>>` enabled, setting this to true would allow the field to be returned as if it were a stored field (even if it has `stored=false`) when matching "`*`" in an <<common-query-parameters.adoc#CommonQueryParameters-Thefl_FieldList_Parameter,fl parameter>>. |true or false |true
+|large |Large fields are always lazy loaded and will only take up space in the document cache if the actual value is < 512KB. This option requires `stored="true"` and `multiValued="false"`. It's intended for fields that might have very large values so that they don't get cached in memory. |true or false |false
+|===
+
+// TODO: SOLR-10655 END
+

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/detecting-languages-during-indexing.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/detecting-languages-during-indexing.adoc b/solr/solr-ref-guide/src/detecting-languages-during-indexing.adoc
new file mode 100644
index 0000000..44cd456
--- /dev/null
+++ b/solr/solr-ref-guide/src/detecting-languages-during-indexing.adoc
@@ -0,0 +1,82 @@
+= Detecting Languages During Indexing
+:page-shortname: detecting-languages-during-indexing
+:page-permalink: detecting-languages-during-indexing.html
+
+Solr can identify languages and map text to language-specific fields during indexing using the `langid` UpdateRequestProcessor.
+
+Solr supports two implementations of this feature:
+
+* Tika's language detection feature: http://tika.apache.org/0.10/detection.html
+* LangDetect language detection: https://github.com/shuyo/language-detection
+
+You can see a comparison between the two implementations here: http://blog.mikemccandless.com/2011/10/accuracy-and-performance-of-googles.html. In general, the LangDetect implementation supports more languages with higher performance.
+
+For specific information on each of these language identification implementations, including a list of supported languages for each, see the relevant project websites.
+
+For more information about language analysis in Solr, see <<language-analysis.adoc#language-analysis,Language Analysis>>.
+
+[[DetectingLanguagesDuringIndexing-ConfiguringLanguageDetection]]
+== Configuring Language Detection
+
+You can configure the `langid` UpdateRequestProcessor in `solrconfig.xml`. Both implementations take the same parameters, which are described in the following section. At a minimum, you must specify the fields for language identification and a field for the resulting language code.
+
+[[DetectingLanguagesDuringIndexing-ConfiguringTikaLanguageDetection]]
+=== Configuring Tika Language Detection
+
+Here is an example of a minimal Tika `langid` configuration in `solrconfig.xml`:
+
+[source,xml]
+----
+<processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory">
+  <lst name="defaults">
+    <str name="langid.fl">title,subject,text,keywords</str>
+    <str name="langid.langField">language_s</str>
+  </lst>
+</processor>
+----
+
+[[DetectingLanguagesDuringIndexing-ConfiguringLangDetectLanguageDetection]]
+=== Configuring LangDetect Language Detection
+
+Here is an example of a minimal LangDetect `langid` configuration in `solrconfig.xml`:
+
+[source,xml]
+----
+<processor class="org.apache.solr.update.processor.LangDetectLanguageIdentifierUpdateProcessorFactory">
+  <lst name="defaults">
+    <str name="langid.fl">title,subject,text,keywords</str>
+    <str name="langid.langField">language_s</str>
+  </lst>
+</processor>
+----
+
+[[DetectingLanguagesDuringIndexing-langidParameters]]
+== `langid` Parameters
+
+As previously mentioned, both implementations of the `langid` UpdateRequestProcessor take the same parameters.
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="20,10,10,10,50",options="header"]
+|===
+|Parameter |Type |Default |Required |Description
+|langid |Boolean |true |no |Enables and disables language detection.
+|langid.fl |string |none |yes |A comma- or space-delimited list of fields to be processed by `langid`.
+|langid.langField |string |none |yes |Specifies the field for the returned language code.
+|langid.langsField |multivalued string |none |no |Specifies the field for a list of returned language codes. If you use `langid.map.individual`, each detected language will be added to this field.
+|langid.overwrite |Boolean |false |no |Specifies whether the content of the `langField` and `langsField` fields will be overwritten if they already contain values.
+|langid.lcmap |string |none |false |A space-separated list specifying colon delimited language code mappings to apply to the detected languages. For example, you might use this to map Chinese, Japanese, and Korean to a common `cjk` code, and map both American and British English to a single `en` code by using `langid.lcmap=ja:cjk zh:cjk ko:cjk en_GB:en en_US:en`. This affects both the values put into the `langField` and `langsField` fields, as well as the field suffixes when using `langid.map`, unless overridden by `langid.map.lcmap`
+|langid.threshold |float |0.5 |no |Specifies a threshold value between 0 and 1 that the language identification score must reach before `langid` accepts it. With longer text fields, a high threshold such at 0.8 will give good results. For shorter text fields, you may need to lower the threshold for language identification, though you will be risking somewhat lower quality results. We recommend experimenting with your data to tune your results.
+|langid.whitelist |string |none |no |Specifies a list of allowed language identification codes. Use this in combination with `langid.map` to ensure that you only index documents into fields that are in your schema.
+|langid.map |Boolean |false |no |Enables field name mapping. If true, Solr will map field names for all fields listed in `langid.fl`.
+|langid.map.fl |string |none |no |A comma-separated list of fields for `langid.map` that is different than the fields specified in `langid.fl`.
+|langid.map.keepOrig |Boolean |false |no |If true, Solr will copy the field during the field name mapping process, leaving the original field in place.
+|langid.map.individual |Boolean |false |no |If true, Solr will detect and map languages for each field individually.
+|langid.map.individual.fl |string |none |no |A comma-separated list of fields for use with `langid.map.individual` that is different than the fields specified in `langid.fl`.
+|langid.fallbackFields |string |none |no |If no language is detected that meets the `langid.threshold` score, or if the detected language is not on the `langid.whitelist`, this field specifies language codes to be used as fallback values. If no appropriate fallback languages are found, Solr will use the language code specified in `langid.fallback`.
+|langid.fallback |string |none |no |Specifies a language code to use if no language is detected or specified in `langid.fallbackFields`.
+|langid.map.lcmap |string |determined by `langid.lcmap` |no |A space-separated list specifying colon delimited language code mappings to use when mapping field names. For example, you might use this to make Chinese, Japanese, and Korean language fields use a common `*_cjk` suffix, and map both American and British English fields to a single `*_en` by using `langid.map.lcmap=ja:cjk zh:cjk ko:cjk en_GB:en en_US:en`.
+|langid.map.pattern |Java regular expression |none |no |By default, fields are mapped as <field>_<language>. To change this pattern, you can specify a Java regular expression in this parameter.
+|langid.map.replace |Java replace |none |no |By default, fields are mapped as <field>_<language>. To change this pattern, you can specify a Java replace in this parameter.
+|langid.enforceSchema |Boolean |true |no |If false, the `langid` processor does not validate field names against your schema. This may be useful if you plan to rename or delete fields later in the UpdateChain.
+|===

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ccbc93b8/solr/solr-ref-guide/src/distributed-requests.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/distributed-requests.adoc b/solr/solr-ref-guide/src/distributed-requests.adoc
new file mode 100644
index 0000000..ae77179
--- /dev/null
+++ b/solr/solr-ref-guide/src/distributed-requests.adoc
@@ -0,0 +1,123 @@
+= Distributed Requests
+:page-shortname: distributed-requests
+:page-permalink: distributed-requests.html
+
+When a Solr node receives a search request, the request is routed behind the scenes to a replica of a shard that is part of the collection being searched.
+
+The chosen replica acts as an aggregator: it creates internal requests to randomly chosen replicas of every shard in the collection, coordinates the responses, issues any subsequent internal requests as needed (for example, to refine facets values, or request additional stored fields), and constructs the final response for the client.
+
+[[DistributedRequests-LimitingWhichShardsareQueried]]
+== Limiting Which Shards are Queried
+
+While one of the advantages of using SolrCloud is the ability to query very large collections distributed among various shards, in some cases <<shards-and-indexing-data-in-solrcloud.adoc#ShardsandIndexingDatainSolrCloud-DocumentRouting,you may know that you are only interested in results from a subset of your shards>>. You have the option of searching over all of your data or just parts of it.
+
+Querying all shards for a collection should look familiar; it's as though SolrCloud didn't even come into play:
+
+[source,text]
+----
+http://localhost:8983/solr/gettingstarted/select?q=*:*
+----
+
+If, on the other hand, you wanted to search just one shard, you can specify that shard by its logical ID, as in:
+
+[source,text]
+----
+http://localhost:8983/solr/gettingstarted/select?q=*:*&shards=shard1
+----
+
+If you want to search a group of shard Ids, you can specify them together:
+
+[source,text]
+----
+http://localhost:8983/solr/gettingstarted/select?q=*:*&shards=shard1,shard2
+----
+
+In both of the above examples, the shard Id(s) will be used to pick a random replica of that shard.
+
+Alternatively, you can specify the explicit replicas you wish to use in place of a shard Ids:
+
+[source,text]
+----
+http://localhost:8983/solr/gettingstarted/select?q=*:*&shards=localhost:7574/solr/gettingstarted,localhost:8983/solr/gettingstarted
+----
+
+Or you can specify a list of replicas to choose from for a single shard (for load balancing purposes) by using the pipe symbol (|):
+
+[source,text]
+----
+http://localhost:8983/solr/gettingstarted/select?q=*:*&shards=localhost:7574/solr/gettingstarted|localhost:7500/solr/gettingstarted
+----
+
+And of course, you can specify a list of shards (seperated by commas) each defined by a list of replicas (seperated by pipes). In this example, 2 shards are queried, the first being a random replica from shard1, the second being a random replica from the explicit pipe delimited list:
+
+[source,text]
+----
+http://localhost:8983/solr/gettingstarted/select?q=*:*&shards=shard1,localhost:7574/solr/gettingstarted|localhost:7500/solr/gettingstarted
+----
+
+[[DistributedRequests-ConfiguringtheShardHandlerFactory]]
+== Configuring the ShardHandlerFactory
+
+You can directly configure aspects of the concurrency and thread-pooling used within distributed search in Solr. This allows for finer grained control and you can tune it to target your own specific requirements. The default configuration favors throughput over latency.
+
+To configure the standard handler, provide a configuration like this in `solrconfig.xml`:
+
+[source,xml]
+----
+<requestHandler name="standard" class="solr.SearchHandler" default="true">
+  <!-- other params go here -->
+  <shardHandler class="HttpShardHandlerFactory">
+    <int name="socketTimeOut">1000</int>
+    <int name="connTimeOut">5000</int>
+  </shardHandler>
+</requestHandler>
+----
+
+The parameters that can be specified are as follows:
+
+// TODO: Change column width to %autowidth.spread when https://github.com/asciidoctor/asciidoctor-pdf/issues/599 is fixed
+
+[cols="20,15,65",options="header"]
+|===
+|Parameter |Default |Explanation
+|`socketTimeout` |0 (use OS default) |The amount of time in ms that a socket is allowed to wait.
+|`connTimeout` |0 (use OS default) |The amount of time in ms that is accepted for binding / connecting a socket
+|`maxConnectionsPerHost` |20 |The maximum number of concurrent connections that is made to each individual shard in a distributed search.
+|`maxConnections` |`10000` |The total maximum number of concurrent connections in distributed searches.
+|`corePoolSize` |0 |The retained lowest limit on the number of threads used in coordinating distributed search.
+|`maximumPoolSize` |Integer.MAX_VALUE |The maximum number of threads used for coordinating distributed search.
+|`maxThreadIdleTime` |5 seconds |The amount of time to wait for before threads are scaled back in response to a reduction in load.
+|`sizeOfQueue` |-1 |If specified, the thread pool will use a backing queue instead of a direct handoff buffer. High throughput systems will want to configure this to be a direct hand off (with -1). Systems that desire better latency will want to configure a reasonable size of queue to handle variations in requests.
+|`fairnessPolicy` |false |Chooses the JVM specifics dealing with fair policy queuing, if enabled distributed searches will be handled in a First in First out fashion at a cost to throughput. If disabled throughput will be favored over latency.
+|===
+
+[[DistributedRequests-ConfiguringstatsCache_DistributedIDF_]]
+== Configuring statsCache (Distributed IDF)
+
+Document and term statistics are needed in order to calculate relevancy. Solr provides four implementations out of the box when it comes to document stats calculation:
+
+* `LocalStatsCache`: This only uses local term and document statistics to compute relevance. In cases with uniform term distribution across shards, this works reasonably well.This option is the default if no `<statsCache>` is configured.
+* `ExactStatsCache`: This implementation uses global values (across the collection) for document frequency.
+* `ExactSharedStatsCache`: This is exactly like the exact stats cache in its functionality but the global stats are reused for subsequent requests with the same terms.
+* `LRUStatsCache`: This implementation uses an LRU cache to hold global stats, which are shared between requests.
+
+The implementation can be selected by setting `<statsCache>` in `solrconfig.xml`. For example, the following line makes Solr use the `ExactStatsCache` implementation:
+
+[source,xml]
+----
+<statsCache class="org.apache.solr.search.stats.ExactStatsCache"/>
+----
+
+[[DistributedRequests-AvoidingDistributedDeadlock]]
+== Avoiding Distributed Deadlock
+
+Each shard serves top-level query requests and then makes sub-requests to all of the other shards. Care should be taken to ensure that the max number of threads serving HTTP requests is greater than the possible number of requests from both top-level clients and other shards. If this is not the case, the configuration may result in a distributed deadlock.
+
+For example, a deadlock might occur in the case of two shards, each with just a single thread to service HTTP requests. Both threads could receive a top-level request concurrently, and make sub-requests to each other. Because there are no more remaining threads to service requests, the incoming requests will be blocked until the other pending requests are finished, but they will not finish since they are waiting for the sub-requests. By ensuring that Solr is configured to handle a sufficient number of threads, you can avoid deadlock situations like this.
+
+[[DistributedRequests-PreferLocalShards]]
+== Prefer Local Shards
+
+Solr allows you to pass an optional boolean parameter named `preferLocalShards` to indicate that a distributed query should prefer local replicas of a shard when available. In other words, if a query includes `preferLocalShards=true`, then the query controller will look for local replicas to service the query instead of selecting replicas at random from across the cluster. This is useful when a query requests many fields or large fields to be returned per document because it avoids moving large amounts of data over the network when it is available locally. In addition, this feature can be useful for minimizing the impact of a problematic replica with degraded performance, as it reduces the likelihood that the degraded replica will be hit by other healthy replicas.
+
+Lastly, it follows that the value of this feature diminishes as the number of shards in a collection increases because the query controller will have to direct the query to non-local replicas for most of the shards. In other words, this feature is mostly useful for optimizing queries directed towards collections with a small number of shards and many replicas. Also, this option should only be used if you are load balancing requests across all nodes that host replicas for the collection you are querying, as Solr's CloudSolrClient will do. If not load-balancing, this feature can introduce a hotspot in the cluster since queries won't be evenly distributed across the cluster.