Merge commit '9e1dcefc5f559944b70d2fa520f6acd5c56a69f2'
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 31 May 2020 10:43:33 +0000 (12:43 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 31 May 2020 10:43:33 +0000 (12:43 +0200)
34 files changed:
1  2 
docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/_header-link.css
docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/css/main.css
docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/index.js
docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/main.js
docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/css/app.css
docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/output/js/app.js
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/_markup/render-heading.html
docs/_vendor/github.com/gohugoio/gohugoioTheme/layouts/_default/baseof.html
docs/_vendor/modules.txt
docs/config.toml
docs/config/_default/config.toml
docs/config/_default/markup.toml
docs/content/en/content-management/comments.md
docs/content/en/content-management/image-processing/index.md
docs/content/en/content-management/syntax-highlighting.md
docs/content/en/content-management/urls.md
docs/content/en/getting-started/configuration-markup.md
docs/content/en/hugo-modules/use-modules.md
docs/content/en/news/0.71.0-relnotes/hugo-71-featured.png
docs/content/en/news/0.71.0-relnotes/index.md
docs/content/en/news/0.71.1-relnotes/index.md
docs/content/en/readfiles/pages-vs-site-pages.md
docs/content/en/templates/rss.md
docs/content/en/tools/migrations.md
docs/content/en/tools/search.md
docs/content/en/variables/site.md
docs/go.mod
docs/go.sum
docs/netlify.toml
docs/resources/_gen/images/news/0.71.0-relnotes/hugo-71-featured_hu8a56287afe6ebd759706bbede29716ba_209832_480x0_resize_catmullrom_2.png
docs/resources/_gen/images/news/0.71.0-relnotes/hugo-71-featured_hu8a56287afe6ebd759706bbede29716ba_209832_640x0_resize_catmullrom_2.png
docs/resources/_gen/images/showcase/digitalgov/featured_hu45beff20946cd0e416030040cf926cad_65077_1024x512_fill_catmullrom_top_2.png
docs/resources/_gen/images/showcase/digitalgov/featured_hu45beff20946cd0e416030040cf926cad_65077_640x0_resize_catmullrom_2.png
docs/resources/_gen/images/showcase/digitalgov/featured_hu45beff20946cd0e416030040cf926cad_65077_c8f48c1aff227b9372baf6b4f5592d6c.png

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..56a16be6d7e925281bacadb75cb98a1eb517070e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++.header-link:after {
++  position: relative;
++  left: 0.5em;
++  opacity: 0;
++  font-size: 0.8em;
++  -moz-transition: opacity 0.2s ease-in-out 0.1s;
++  -ms-transition: opacity 0.2s ease-in-out 0.1s;
++}
++h2:hover .header-link,
++h3:hover .header-link,
++h4:hover .header-link,
++h5:hover .header-link,
++h6:hover .header-link {
++  opacity: 1;
++}
index 1cd15fb1059900343402d60ea2f978938ebfd291,0000000000000000000000000000000000000000..c71f69dd1249a853617ed9dd8767304b272fcb62
mode 100644,000000..100644
--- /dev/null
@@@ -1,39 -1,0 +1,39 @@@
- @import '_anchorforid';
 +/*Base Styles*/
 +@import '_tachyons';
 +
 +/* purgecss start ignore */
- /* purgecss end ignore */
++@import '_header-link';
 +@import '_animation';
 +@import '_documentation-styles';
 +
 +@import 'docsearch.js/dist/cdn/docsearch.min';
 +@import '_carousel';
 +@import '_code';
 +@import '_tabs';
 +@import '_color-scheme';
 +@import '_columns';
 +@import '_content';
 +@import '_content-tables';
 +@import '_definition-lists';
 +@import '_fluid-type';
 +@import '_font-family';
 +@import '_hugo-internal-template-styling';
 +@import '_no-js';
 +@import '_social-icons';
 +@import '_stickyheader';
 +
 +@import '_svg';
 +@import '_chroma';
 +@import '_variables';
 +
 +.nested-blockquote blockquote {
 +  border-left: 4px solid var(--primary-color);
 +  padding-left: 1em;
 +  /*margin: 0;*/
 +}
 +
 +
 +.mw-90 {
 +  max-width:90%;
 +}
++/* purgecss end ignore */
index 5a3dbc8c13b265d6f5f2e8250a4a4d0905c03133,0000000000000000000000000000000000000000..e309bdb99ce2418eaa6a643de25182eeffae681c
mode 100644,000000..100644
--- /dev/null
@@@ -1,16 -1,0 +1,12 @@@
- import './js/anchorforid.js'
 +require("typeface-muli")
 +import styles from './css/main.css';
 +import './js/clipboardjs.js'
 +import './js/codeblocks.js'
 +import './js/docsearch.js'
 +import './js/hljs.js'
 +import './js/lazysizes.js'
 +import './js/menutoggle.js'
 +import './js/scrolldir.js'
 +import './js/smoothscroll.js'
 +import './js/tabs.js'
 +import './js/nojs.js'
index d5b163a2bbc2c4f3f78a4e28a081e45d0d4c7aaa,0000000000000000000000000000000000000000..f6d3eac9f09ad483699828b12c148c8f5f760d06
mode 100644,000000..100644
--- /dev/null
@@@ -1,25 -1,0 +1,22 @@@
- import './anchorforid.js'
 +import styles from './../css/main.css';
- // TO use Jquery, just call the modules you want
 +import './clipboardjs.js'
 +import './codeblocks.js'
 +import './docsearch.js'
 +import './lazysizes.js'
 +import './menutoggle.js'
 +import './scrolldir.js'
 +import './smoothscroll.js'
 +import './tabs.js'
 +import './nojs.js'
 +
++// TO use jQuery, just call the modules you want
 +// var $ = require('jquery/src/core');
 +// require('jquery/src/core/init');
 +// require('jquery/src/manipulation');
 +
 +// OR, use all of them
 +// var $ = require('jquery/src/jquery');
 +
 +// And write your code
 +// $('body').append('<p>Jquery is working</p>');
 +//
index 93c008e6ed2a3ce2714a52a79669783cc9452b54,0000000000000000000000000000000000000000..c08fbc9dc49ed9ae0373555b0229c1982797e613
mode 100644,000000..100644
--- /dev/null
@@@ -1,5282 -1,0 +1,5283 @@@
 +/* muli-200normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 200;
 +  src:
 +    local('Muli Extra Light '),
 +    local('Muli-Extra Light'),
 +    url(/fonts/muli-latin-200.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-200.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-200italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 200;
 +  src:
 +    local('Muli Extra Light italic'),
 +    local('Muli-Extra Lightitalic'),
 +    url(/fonts/muli-latin-200italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-200italic.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-300normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 300;
 +  src:
 +    local('Muli Light '),
 +    local('Muli-Light'),
 +    url(/fonts/muli-latin-300.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-300.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-300italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 300;
 +  src:
 +    local('Muli Light italic'),
 +    local('Muli-Lightitalic'),
 +    url(/fonts/muli-latin-300italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-300italic.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-400normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 400;
 +  src:
 +    local('Muli Regular '),
 +    local('Muli-Regular'),
 +    url(/fonts/muli-latin-400.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-400.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-400italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 400;
 +  src:
 +    local('Muli Regular italic'),
 +    local('Muli-Regularitalic'),
 +    url(/fonts/muli-latin-400italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-400italic.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-600normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 600;
 +  src:
 +    local('Muli SemiBold '),
 +    local('Muli-SemiBold'),
 +    url(/fonts/muli-latin-600.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-600.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-600italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 600;
 +  src:
 +    local('Muli SemiBold italic'),
 +    local('Muli-SemiBolditalic'),
 +    url(/fonts/muli-latin-600italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-600italic.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-700normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 700;
 +  src:
 +    local('Muli Bold '),
 +    local('Muli-Bold'),
 +    url(/fonts/muli-latin-700.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-700.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-700italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 700;
 +  src:
 +    local('Muli Bold italic'),
 +    local('Muli-Bolditalic'),
 +    url(/fonts/muli-latin-700italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-700italic.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-800normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 800;
 +  src:
 +    local('Muli ExtraBold '),
 +    local('Muli-ExtraBold'),
 +    url(/fonts/muli-latin-800.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-800.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-800italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 800;
 +  src:
 +    local('Muli ExtraBold italic'),
 +    local('Muli-ExtraBolditalic'),
 +    url(/fonts/muli-latin-800italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-800italic.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-900normal - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: normal;
 +  font-display: swap;
 +  font-weight: 900;
 +  src:
 +    local('Muli Black '),
 +    local('Muli-Black'),
 +    url(/fonts/muli-latin-900.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-900.woff) format('woff'); /* Modern Browsers */
 +}
 +/* muli-900italic - latin */
 +@font-face {
 +  font-family: 'Muli';
 +  font-style: italic;
 +  font-display: swap;
 +  font-weight: 900;
 +  src:
 +    local('Muli Black italic'),
 +    local('Muli-Blackitalic'),
 +    url(/fonts/muli-latin-900italic.woff2) format('woff2'), 
 +    url(/fonts/muli-latin-900italic.woff) format('woff'); /* Modern Browsers */
 +}
 +
 +
 +/*Base Styles*/
 +/*! TACHYONS v4.7.0 | http://tachyons.io */
 +/*
 + * NOTE: The Tachyons folder is for backup/reference only. This file references the module
 + *      ________            ______
 + *      ___  __/_____ _________  /______  ______________________
 + *      __  /  _  __ `/  ___/_  __ \_  / / /  __ \_  __ \_  ___/
 + *      _  /   / /_/ // /__ _  / / /  /_/ // /_/ /  / / /(__  )
 + *      /_/    \__,_/ \___/ /_/ /_/_\__, / \____//_/ /_//____/
 + *                                 /____/
 + *
 + *    TABLE OF CONTENTS
 + *
 + *    1. External Library Includes
 + *       - Normalize.css | http://normalize.css.github.io
 + *    2. Tachyons Modules
 + *    3. Variables
 + *       - Media Queries
 + *       - Colors
 + *    4. Debugging
 + *       - Debug all
 + *       - Debug children
 + *
 + */
 +/* External Library Includes */
 +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
 +/* Document
 +   ========================================================================== */
 +/**
 + * 1. Correct the line height in all browsers.
 + * 2. Prevent adjustments of font size after orientation changes in iOS.
 + */
 +html {
 +  line-height: 1.15; /* 1 */
 +  -webkit-text-size-adjust: 100%; /* 2 */
 +}
 +/* Sections
 +   ========================================================================== */
 +/**
 + * Remove the margin in all browsers.
 + */
 +body {
 +  margin: 0;
 +}
 +/**
 + * Correct the font size and margin on `h1` elements within `section` and
 + * `article` contexts in Chrome, Firefox, and Safari.
 + */
 +h1 {
 +  font-size: 2em;
 +  margin: 0.67em 0;
 +}
 +/* Grouping content
 +   ========================================================================== */
 +/**
 + * 1. Add the correct box sizing in Firefox.
 + * 2. Show the overflow in Edge and IE.
 + */
 +hr {
 +  -webkit-box-sizing: content-box;
 +          box-sizing: content-box; /* 1 */
 +  height: 0; /* 1 */
 +  overflow: visible; /* 2 */
 +}
 +/**
 + * 1. Correct the inheritance and scaling of font size in all browsers.
 + * 2. Correct the odd `em` font sizing in all browsers.
 + */
 +pre {
 +  font-family: monospace, monospace; /* 1 */
 +  font-size: 1em; /* 2 */
 +}
 +/* Text-level semantics
 +   ========================================================================== */
 +/**
 + * Remove the gray background on active links in IE 10.
 + */
 +a {
 +  background-color: transparent;
 +}
 +/**
 + * 1. Remove the bottom border in Chrome 57-
 + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 + */
 +abbr[title] {
 +  border-bottom: none; /* 1 */
 +  text-decoration: underline; /* 2 */
 +  -webkit-text-decoration: underline dotted;
 +          text-decoration: underline dotted; /* 2 */
 +}
 +/**
 + * Add the correct font weight in Chrome, Edge, and Safari.
 + */
 +b,
 +strong {
 +  font-weight: bolder;
 +}
 +/**
 + * 1. Correct the inheritance and scaling of font size in all browsers.
 + * 2. Correct the odd `em` font sizing in all browsers.
 + */
 +code,
 +kbd,
 +samp {
 +  font-family: monospace, monospace; /* 1 */
 +  font-size: 1em; /* 2 */
 +}
 +/**
 + * Add the correct font size in all browsers.
 + */
 +small {
 +  font-size: 80%;
 +}
 +/**
 + * Prevent `sub` and `sup` elements from affecting the line height in
 + * all browsers.
 + */
 +sub,
 +sup {
 +  font-size: 75%;
 +  line-height: 0;
 +  position: relative;
 +  vertical-align: baseline;
 +}
 +sub {
 +  bottom: -0.25em;
 +}
 +sup {
 +  top: -0.5em;
 +}
 +/* Embedded content
 +   ========================================================================== */
 +/**
 + * Remove the border on images inside links in IE 10.
 + */
 +img {
 +  border-style: none;
 +}
 +/* Forms
 +   ========================================================================== */
 +/**
 + * 1. Change the font styles in all browsers.
 + * 2. Remove the margin in Firefox and Safari.
 + */
 +button,
 +input,
 +optgroup,
 +select,
 +textarea {
 +  font-family: inherit; /* 1 */
 +  font-size: 100%; /* 1 */
 +  line-height: 1.15; /* 1 */
 +  margin: 0; /* 2 */
 +}
 +/**
 + * Show the overflow in IE.
 + * 1. Show the overflow in Edge.
 + */
 +button,
 +input { /* 1 */
 +  overflow: visible;
 +}
 +/**
 + * Remove the inheritance of text transform in Edge, Firefox, and IE.
 + * 1. Remove the inheritance of text transform in Firefox.
 + */
 +button,
 +select { /* 1 */
 +  text-transform: none;
 +}
 +/**
 + * Correct the inability to style clickable types in iOS and Safari.
 + */
 +button,
 +[type="button"],
 +[type="reset"],
 +[type="submit"] {
 +  -webkit-appearance: button;
 +}
 +/**
 + * Remove the inner border and padding in Firefox.
 + */
 +button::-moz-focus-inner,
 +[type="button"]::-moz-focus-inner,
 +[type="reset"]::-moz-focus-inner,
 +[type="submit"]::-moz-focus-inner {
 +  border-style: none;
 +  padding: 0;
 +}
 +/**
 + * Restore the focus styles unset by the previous rule.
 + */
 +button:-moz-focusring,
 +[type="button"]:-moz-focusring,
 +[type="reset"]:-moz-focusring,
 +[type="submit"]:-moz-focusring {
 +  outline: 1px dotted ButtonText;
 +}
 +/**
 + * Correct the padding in Firefox.
 + */
 +fieldset {
 +  padding: 0.35em 0.75em 0.625em;
 +}
 +/**
 + * 1. Correct the text wrapping in Edge and IE.
 + * 2. Correct the color inheritance from `fieldset` elements in IE.
 + * 3. Remove the padding so developers are not caught out when they zero out
 + *    `fieldset` elements in all browsers.
 + */
 +legend {
 +  -webkit-box-sizing: border-box;
 +          box-sizing: border-box; /* 1 */
 +  color: inherit; /* 2 */
 +  display: table; /* 1 */
 +  max-width: 100%; /* 1 */
 +  padding: 0; /* 3 */
 +  white-space: normal; /* 1 */
 +}
 +/**
 + * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 + */
 +progress {
 +  vertical-align: baseline;
 +}
 +/**
 + * Remove the default vertical scrollbar in IE 10+.
 + */
 +textarea {
 +  overflow: auto;
 +}
 +/**
 + * 1. Add the correct box sizing in IE 10.
 + * 2. Remove the padding in IE 10.
 + */
 +[type="checkbox"],
 +[type="radio"] {
 +  -webkit-box-sizing: border-box;
 +          box-sizing: border-box; /* 1 */
 +  padding: 0; /* 2 */
 +}
 +/**
 + * Correct the cursor style of increment and decrement buttons in Chrome.
 + */
 +[type="number"]::-webkit-inner-spin-button,
 +[type="number"]::-webkit-outer-spin-button {
 +  height: auto;
 +}
 +/**
 + * 1. Correct the odd appearance in Chrome and Safari.
 + * 2. Correct the outline style in Safari.
 + */
 +[type="search"] {
 +  -webkit-appearance: textfield; /* 1 */
 +  outline-offset: -2px; /* 2 */
 +}
 +/**
 + * Remove the inner padding in Chrome and Safari on macOS.
 + */
 +[type="search"]::-webkit-search-decoration {
 +  -webkit-appearance: none;
 +}
 +/**
 + * 1. Correct the inability to style clickable types in iOS and Safari.
 + * 2. Change font properties to `inherit` in Safari.
 + */
 +::-webkit-file-upload-button {
 +  -webkit-appearance: button; /* 1 */
 +  font: inherit; /* 2 */
 +}
 +/* Interactive
 +   ========================================================================== */
 +/*
 + * Add the correct display in Edge, IE 10+, and Firefox.
 + */
 +details {
 +  display: block;
 +}
 +/*
 + * Add the correct display in all browsers.
 + */
 +summary {
 +  display: list-item;
 +}
 +/* Misc
 +   ========================================================================== */
 +/**
 + * Add the correct display in IE 10+.
 + */
 +template {
 +  display: none;
 +}
 +/**
 + * Add the correct display in IE 10.
 + */
 +[hidden] {
 +  display: none;
 +}
 +/* Modules */
 +/*
 + 
 +  BOX SIZING
 +
 +*/
 +html,
 +body,
 +div,
 +article,
 +aside,
 +section,
 +main,
 +nav,
 +footer,
 +header,
 +form,
 +fieldset,
 +legend,
 +pre,
 +code,
 +a,
 +h1,h2,h3,h4,h5,h6,
 +p,
 +ul,
 +ol,
 +li,
 +dl,
 +dt,
 +dd,
 +blockquote,
 +figcaption,
 +figure,
 +textarea,
 +table, 
 +td,
 +th,
 +tr,
 +input[type="email"],
 +input[type="number"],
 +input[type="password"],
 +input[type="tel"],
 +input[type="text"],
 +input[type="url"],
 +.border-box {
 +  -webkit-box-sizing: border-box;
 +          box-sizing: border-box;
 +}
 +/*@import 'tachyons/src/_aspect-ratios';*/
 +/*
 +
 +   IMAGES
 +   Docs: http://tachyons.io/docs/elements/images/
 +
 +*/
 +/* Responsive images! */
 +img { max-width: 100%; }
 +/*
 +
 +   BACKGROUND SIZE
 +   Docs: http://tachyons.io/docs/themes/background-size/
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/*
 +  Often used in combination with background image set as an inline style
 +  on an html element.
 +*/
 +.cover { background-size: cover!important; }
 +.contain { background-size: contain!important; }
 +@media screen and (min-width: 30em) {
 +  .cover-ns { background-size: cover!important; }
 +  .contain-ns { background-size: contain!important; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .cover-m { background-size: cover!important; }
 +  .contain-m { background-size: contain!important; }
 +}
 +@media screen and (min-width: 60em) {
 +  .cover-l { background-size: cover!important; }
 +  .contain-l { background-size: contain!important; }
 +}
 +/*
 +
 +    BACKGROUND POSITION
 +
 +    Base:
 +    bg = background
 +
 +    Modifiers:
 +    -center = center center
 +    -top = top center
 +    -right = center right
 +    -bottom = bottom center
 +    -left = center left
 +
 +    Media Query Extensions:
 +      -ns = not-small
 +      -m  = medium
 +      -l  = large
 +
 + */
 +.bg-center { 
 +  background-repeat: no-repeat;
 +  background-position: center center; 
 +}
 +.bg-top {    
 +  background-repeat: no-repeat; 
 +  background-position: top center;    
 +}
 +.bg-right {  
 +  background-repeat: no-repeat; 
 +  background-position: center right;  
 +}
 +.bg-bottom { 
 +  background-repeat: no-repeat; 
 +  background-position: bottom center; 
 +}
 +.bg-left {   
 +  background-repeat: no-repeat; 
 +  background-position: center left;   
 +}
 +@media screen and (min-width: 30em) {
 +  .bg-center-ns { 
 +    background-repeat: no-repeat;
 +    background-position: center center; 
 +  }
 +
 +  .bg-top-ns {    
 +    background-repeat: no-repeat; 
 +    background-position: top center;    
 +  }
 +
 +  .bg-right-ns {  
 +    background-repeat: no-repeat; 
 +    background-position: center right;  
 +  }
 +
 +  .bg-bottom-ns { 
 +    background-repeat: no-repeat; 
 +    background-position: bottom center; 
 +  }
 +
 +  .bg-left-ns {   
 +    background-repeat: no-repeat; 
 +    background-position: center left;   
 +  }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .bg-center-m { 
 +    background-repeat: no-repeat;
 +    background-position: center center; 
 +  }
 +
 +  .bg-top-m {    
 +    background-repeat: no-repeat; 
 +    background-position: top center;    
 +  }
 +
 +  .bg-right-m {  
 +    background-repeat: no-repeat; 
 +    background-position: center right;  
 +  }
 +
 +  .bg-bottom-m { 
 +    background-repeat: no-repeat; 
 +    background-position: bottom center; 
 +  }
 +
 +  .bg-left-m {   
 +    background-repeat: no-repeat; 
 +    background-position: center left;   
 +  }
 +}
 +@media screen and (min-width: 60em) {
 +  .bg-center-l { 
 +    background-repeat: no-repeat;
 +    background-position: center center; 
 +  }
 +
 +  .bg-top-l {    
 +    background-repeat: no-repeat; 
 +    background-position: top center;    
 +  }
 +
 +  .bg-right-l {  
 +    background-repeat: no-repeat; 
 +    background-position: center right;  
 +  }
 +
 +  .bg-bottom-l { 
 +    background-repeat: no-repeat; 
 +    background-position: bottom center; 
 +  }
 +
 +  .bg-left-l {   
 +    background-repeat: no-repeat; 
 +    background-position: center left;   
 +  }
 +}
 +/*@import 'tachyons/src/_outlines';*/
 +/*
 +
 +    BORDERS
 +    Docs: http://tachyons.io/docs/themes/borders/
 +
 +    Base:
 +      b = border
 +
 +    Modifiers:
 +      a = all
 +      t = top
 +      r = right
 +      b = bottom
 +      l = left
 +      n = none
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.ba { border-style: solid; border-width: 1px; }
 +.bt { border-top-style: solid; border-top-width: 1px; }
 +.br { border-right-style: solid; border-right-width: 1px; }
 +.bb { border-bottom-style: solid; border-bottom-width: 1px; }
 +.bl { border-left-style: solid; border-left-width: 1px; }
 +.bn { border-style: none; border-width: 0; }
 +@media screen and (min-width: 30em) {
 +  .ba-ns { border-style: solid; border-width: 1px; }
 +  .bt-ns { border-top-style: solid; border-top-width: 1px; }
 +  .br-ns { border-right-style: solid; border-right-width: 1px; }
 +  .bb-ns { border-bottom-style: solid; border-bottom-width: 1px; }
 +  .bl-ns { border-left-style: solid; border-left-width: 1px; }
 +  .bn-ns { border-style: none; border-width: 0; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .ba-m { border-style: solid; border-width: 1px; }
 +  .bt-m { border-top-style: solid; border-top-width: 1px; }
 +  .br-m { border-right-style: solid; border-right-width: 1px; }
 +  .bb-m { border-bottom-style: solid; border-bottom-width: 1px; }
 +  .bl-m { border-left-style: solid; border-left-width: 1px; }
 +  .bn-m { border-style: none; border-width: 0; }
 +}
 +@media screen and (min-width: 60em) {
 +  .ba-l { border-style: solid; border-width: 1px; }
 +  .bt-l { border-top-style: solid; border-top-width: 1px; }
 +  .br-l { border-right-style: solid; border-right-width: 1px; }
 +  .bb-l { border-bottom-style: solid; border-bottom-width: 1px; }
 +  .bl-l { border-left-style: solid; border-left-width: 1px; }
 +  .bn-l { border-style: none; border-width: 0; }
 +}
 +/*
 +
 +   BORDER COLORS
 +   Docs: http://tachyons.io/docs/themes/borders/
 +
 +   Border colors can be used to extend the base
 +   border classes ba,bt,bb,br,bl found in the _borders.css file.
 +
 +   The base border class by default will set the color of the border
 +   to that of the current text color. These classes are for the cases
 +   where you desire for the text and border colors to be different.
 +
 +   Base:
 +     b = border
 +
 +   Modifiers:
 +   --color-name = each color variable name is also a border color name
 +
 +*/
 +.b--black {        border-color: #000; }
 +.b--near-black {   border-color: #111; }
 +.b--dark-gray {    border-color: #333; }
 +.b--mid-gray {     border-color: #555; }
 +.b--gray {         border-color: #777; }
 +.b--silver {       border-color: #999; }
 +.b--light-silver { border-color: #aaa; }
 +.b--moon-gray {    border-color: #ccc; }
 +.b--light-gray {   border-color: #eee; }
 +.b--near-white {   border-color: #f4f4f4; }
 +.b--white {        border-color: #fff; }
 +.b--white-90 {   border-color: rgba(255, 255, 255, .9); }
 +.b--white-80 {   border-color: rgba(255, 255, 255, .8); }
 +.b--white-70 {   border-color: rgba(255, 255, 255, .7); }
 +.b--white-60 {   border-color: rgba(255, 255, 255, .6); }
 +.b--white-50 {   border-color: rgba(255, 255, 255, .5); }
 +.b--white-40 {   border-color: rgba(255, 255, 255, .4); }
 +.b--white-30 {   border-color: rgba(255, 255, 255, .3); }
 +.b--white-20 {   border-color: rgba(255, 255, 255, .2); }
 +.b--white-10 {   border-color: rgba(255, 255, 255, .1); }
 +.b--white-05 {   border-color: rgba(255, 255, 255, .05); }
 +.b--white-025 {   border-color: rgba(255, 255, 255, .025); }
 +.b--white-0125 {   border-color: rgba(255, 255, 255, .0125); }
 +.b--black-90 {   border-color: rgba(0, 0, 0, .9); }
 +.b--black-80 {   border-color: rgba(0, 0, 0, .8); }
 +.b--black-70 {   border-color: rgba(0, 0, 0, .7); }
 +.b--black-60 {   border-color: rgba(0, 0, 0, .6); }
 +.b--black-50 {   border-color: rgba(0, 0, 0, .5); }
 +.b--black-40 {   border-color: rgba(0, 0, 0, .4); }
 +.b--black-30 {   border-color: rgba(0, 0, 0, .3); }
 +.b--black-20 {   border-color: rgba(0, 0, 0, .2); }
 +.b--black-10 {   border-color: rgba(0, 0, 0, .1); }
 +.b--black-05 {   border-color: rgba(0, 0, 0, .05); }
 +.b--black-025 {   border-color: rgba(0, 0, 0, .025); }
 +.b--black-0125 {   border-color: rgba(0, 0, 0, .0125); }
 +.b--dark-red { border-color: #e7040f; }
 +.b--red { border-color: #ff4136; }
 +.b--light-red { border-color: #ff725c; }
 +.b--orange { border-color: #ff6300; }
 +.b--gold { border-color: #ffb700; }
 +.b--yellow { border-color: #ffd700; }
 +.b--light-yellow { border-color: #fbf1a9; }
 +.b--purple { border-color: #5e2ca5; }
 +.b--light-purple { border-color: #a463f2; }
 +.b--dark-pink { border-color: #d5008f; }
 +.b--hot-pink { border-color: #ff41b4; }
 +.b--pink { border-color: #ff80cc; }
 +.b--light-pink { border-color: #ffa3d7; }
 +.b--dark-green { border-color: #137752; }
 +.b--green { border-color: #19a974; }
 +.b--light-green { border-color: #9eebcf; }
 +.b--navy { border-color: #001b44; }
 +.b--dark-blue { border-color: #00449e; }
 +.b--blue { border-color: #0594CB; }
 +.b--light-blue { border-color: #96ccff; }
 +.b--lightest-blue { border-color: #cdecff; }
 +.b--washed-blue { border-color: #f6fffe; }
 +.b--washed-green { border-color: #e8fdf5; }
 +.b--washed-yellow { border-color: #fffceb; }
 +.b--washed-red { border-color: #ffdfdf; }
 +.b--transparent { border-color: transparent; }
 +.b--inherit { border-color: inherit; }
 +/*
 +
 +   BORDER RADIUS
 +   Docs: http://tachyons.io/docs/themes/border-radius/
 +
 +   Base:
 +     br   = border-radius
 +
 +   Modifiers:
 +     0    = 0/none
 +     1    = 1st step in scale
 +     2    = 2nd step in scale
 +     3    = 3rd step in scale
 +     4    = 4th step in scale
 +
 +   Literal values:
 +     -100 = 100%
 +     -pill = 9999px
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.br0 {        border-radius: 0; }
 +.br1 {        border-radius: .125rem; }
 +.br2 {        border-radius: .25rem; }
 +.br3 {        border-radius: .5rem; }
 +.br4 {        border-radius: 1rem; }
 +.br-100 {     border-radius: 100%; }
 +.br-pill {    border-radius: 9999px; }
 +.br--bottom {
 +      border-top-left-radius: 0;
 +      border-top-right-radius: 0;
 +  }
 +.br--top {
 +      border-bottom-left-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +.br--right {
 +      border-top-left-radius: 0;
 +      border-bottom-left-radius: 0;
 +  }
 +.br--left {
 +      border-top-right-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +@media screen and (min-width: 30em) {
 +  .br0-ns {     border-radius: 0; }
 +  .br1-ns {     border-radius: .125rem; }
 +  .br2-ns {     border-radius: .25rem; }
 +  .br3-ns {     border-radius: .5rem; }
 +  .br4-ns {     border-radius: 1rem; }
 +  .br-100-ns {  border-radius: 100%; }
 +  .br-pill-ns { border-radius: 9999px; }
 +  .br--bottom-ns {
 +      border-top-left-radius: 0;
 +      border-top-right-radius: 0;
 +  }
 +  .br--top-ns {
 +      border-bottom-left-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +  .br--right-ns {
 +      border-top-left-radius: 0;
 +      border-bottom-left-radius: 0;
 +  }
 +  .br--left-ns {
 +      border-top-right-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .br0-m {     border-radius: 0; }
 +  .br1-m {     border-radius: .125rem; }
 +  .br2-m {     border-radius: .25rem; }
 +  .br3-m {     border-radius: .5rem; }
 +  .br4-m {     border-radius: 1rem; }
 +  .br-100-m {  border-radius: 100%; }
 +  .br-pill-m { border-radius: 9999px; }
 +  .br--bottom-m {
 +      border-top-left-radius: 0;
 +      border-top-right-radius: 0;
 +  }
 +  .br--top-m {
 +      border-bottom-left-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +  .br--right-m {
 +      border-top-left-radius: 0;
 +      border-bottom-left-radius: 0;
 +  }
 +  .br--left-m {
 +      border-top-right-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +}
 +@media screen and (min-width: 60em) {
 +  .br0-l {     border-radius: 0; }
 +  .br1-l {     border-radius: .125rem; }
 +  .br2-l {     border-radius: .25rem; }
 +  .br3-l {     border-radius: .5rem; }
 +  .br4-l {     border-radius: 1rem; }
 +  .br-100-l {  border-radius: 100%; }
 +  .br-pill-l { border-radius: 9999px; }
 +  .br--bottom-l {
 +      border-top-left-radius: 0;
 +      border-top-right-radius: 0;
 +  }
 +  .br--top-l {
 +      border-bottom-left-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +  .br--right-l {
 +      border-top-left-radius: 0;
 +      border-bottom-left-radius: 0;
 +  }
 +  .br--left-l {
 +      border-top-right-radius: 0;
 +      border-bottom-right-radius: 0;
 +  }
 +}
 +/*
 +
 +   BORDER STYLES
 +   Docs: http://tachyons.io/docs/themes/borders/
 +
 +   Depends on base border module in _borders.css
 +
 +   Base:
 +     b = border-style
 +
 +   Modifiers:
 +     --none   = none
 +     --dotted = dotted
 +     --dashed = dashed
 +     --solid  = solid
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 + */
 +.b--dotted { border-style: dotted; }
 +.b--dashed { border-style: dashed; }
 +.b--solid {  border-style: solid; }
 +.b--none {   border-style: none; }
 +@media screen and (min-width: 30em) {
 +  .b--dotted-ns { border-style: dotted; }
 +  .b--dashed-ns { border-style: dashed; }
 +  .b--solid-ns {  border-style: solid; }
 +  .b--none-ns {   border-style: none; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .b--dotted-m { border-style: dotted; }
 +  .b--dashed-m { border-style: dashed; }
 +  .b--solid-m {  border-style: solid; }
 +  .b--none-m {   border-style: none; }
 +}
 +@media screen and (min-width: 60em) {
 +  .b--dotted-l { border-style: dotted; }
 +  .b--dashed-l { border-style: dashed; }
 +  .b--solid-l {  border-style: solid; }
 +  .b--none-l {   border-style: none; }
 +}
 +/*
 +
 +   BORDER WIDTHS
 +   Docs: http://tachyons.io/docs/themes/borders/
 +
 +   Base:
 +     bw = border-width
 +
 +   Modifiers:
 +     0 = 0 width border
 +     1 = 1st step in border-width scale
 +     2 = 2nd step in border-width scale
 +     3 = 3rd step in border-width scale
 +     4 = 4th step in border-width scale
 +     5 = 5th step in border-width scale
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.bw0 { border-width: 0; }
 +.bw1 { border-width: .125rem; }
 +.bw2 { border-width: .25rem; }
 +.bw3 { border-width: .5rem; }
 +.bw4 { border-width: 1rem; }
 +.bw5 { border-width: 2rem; }
 +/* Resets */
 +.bt-0 { border-top-width: 0; }
 +.br-0 { border-right-width: 0; }
 +.bb-0 { border-bottom-width: 0; }
 +.bl-0 { border-left-width: 0; }
 +@media screen and (min-width: 30em) {
 +  .bw0-ns { border-width: 0; }
 +  .bw1-ns { border-width: .125rem; }
 +  .bw2-ns { border-width: .25rem; }
 +  .bw3-ns { border-width: .5rem; }
 +  .bw4-ns { border-width: 1rem; }
 +  .bw5-ns { border-width: 2rem; }
 +  .bt-0-ns { border-top-width: 0; }
 +  .br-0-ns { border-right-width: 0; }
 +  .bb-0-ns { border-bottom-width: 0; }
 +  .bl-0-ns { border-left-width: 0; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .bw0-m { border-width: 0; }
 +  .bw1-m { border-width: .125rem; }
 +  .bw2-m { border-width: .25rem; }
 +  .bw3-m { border-width: .5rem; }
 +  .bw4-m { border-width: 1rem; }
 +  .bw5-m { border-width: 2rem; }
 +  .bt-0-m { border-top-width: 0; }
 +  .br-0-m { border-right-width: 0; }
 +  .bb-0-m { border-bottom-width: 0; }
 +  .bl-0-m { border-left-width: 0; }
 +}
 +@media screen and (min-width: 60em) {
 +  .bw0-l { border-width: 0; }
 +  .bw1-l { border-width: .125rem; }
 +  .bw2-l { border-width: .25rem; }
 +  .bw3-l { border-width: .5rem; }
 +  .bw4-l { border-width: 1rem; }
 +  .bw5-l { border-width: 2rem; }
 +  .bt-0-l { border-top-width: 0; }
 +  .br-0-l { border-right-width: 0; }
 +  .bb-0-l { border-bottom-width: 0; }
 +  .bl-0-l { border-left-width: 0; }
 +}
 +/*
 +
 +  BOX-SHADOW
 +  Docs: http://tachyons.io/docs/themes/box-shadow/
 +
 +  Media Query Extensions:
 +   -ns = not-small
 +   -m  = medium
 +   -l  = large
 +
 + */
 +.shadow-1 { -webkit-box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
 +.shadow-2 { -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
 +.shadow-3 { -webkit-box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
 +.shadow-4 { -webkit-box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
 +.shadow-5 { -webkit-box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
 +@media screen and (min-width: 30em) {
 +  .shadow-1-ns { -webkit-box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
 +  .shadow-2-ns { -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
 +  .shadow-3-ns { -webkit-box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
 +  .shadow-4-ns { -webkit-box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
 +  .shadow-5-ns { -webkit-box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .shadow-1-m { -webkit-box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
 +  .shadow-2-m { -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
 +  .shadow-3-m { -webkit-box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
 +  .shadow-4-m { -webkit-box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
 +  .shadow-5-m { -webkit-box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
 +}
 +@media screen and (min-width: 60em) {
 +  .shadow-1-l { -webkit-box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, .2); }
 +  .shadow-2-l { -webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .2); }
 +  .shadow-3-l { -webkit-box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, .2); }
 +  .shadow-4-l { -webkit-box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, .2); }
 +  .shadow-5-l { -webkit-box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, .2); }
 +}
 +/*@import 'tachyons/src/_code';*/
 +/*
 +
 +   COORDINATES
 +   Docs: http://tachyons.io/docs/layout/position/
 +
 +   Use in combination with the position module.
 +
 +   Base:
 +     top
 +     bottom
 +     right
 +     left
 +
 +   Modifiers:
 +     -0  = literal value 0
 +     -1  = literal value 1
 +     -2  = literal value 2
 +     --1 = literal value -1
 +     --2 = literal value -2
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.top-0    { top:    0; }
 +.right-0  { right:  0; }
 +.bottom-0 { bottom: 0; }
 +.left-0   { left:   0; }
 +.top-1    { top:    1rem; }
 +.right-1  { right:  1rem; }
 +.bottom-1 { bottom: 1rem; }
 +.left-1   { left:   1rem; }
 +.top-2    { top:    2rem; }
 +.right-2  { right:  2rem; }
 +.bottom-2 { bottom: 2rem; }
 +.left-2   { left:   2rem; }
 +.top--1    { top:    -1rem; }
 +.right--1  { right:  -1rem; }
 +.bottom--1 { bottom: -1rem; }
 +.left--1   { left:   -1rem; }
 +.top--2    { top:    -2rem; }
 +.right--2  { right:  -2rem; }
 +.bottom--2 { bottom: -2rem; }
 +.left--2   { left:   -2rem; }
 +.absolute--fill {
 +  top: 0;
 +  right: 0;
 +  bottom: 0;
 +  left: 0;
 +}
 +@media screen and (min-width: 30em) {
 +  .top-0-ns     { top:   0; }
 +  .left-0-ns    { left:  0; }
 +  .right-0-ns   { right: 0; }
 +  .bottom-0-ns  { bottom: 0; }
 +  .top-1-ns     { top:   1rem; }
 +  .left-1-ns    { left:  1rem; }
 +  .right-1-ns   { right: 1rem; }
 +  .bottom-1-ns  { bottom: 1rem; }
 +  .top-2-ns     { top:   2rem; }
 +  .left-2-ns    { left:  2rem; }
 +  .right-2-ns   { right: 2rem; }
 +  .bottom-2-ns  { bottom: 2rem; }
 +  .top--1-ns    { top:    -1rem; }
 +  .right--1-ns  { right:  -1rem; }
 +  .bottom--1-ns { bottom: -1rem; }
 +  .left--1-ns   { left:   -1rem; }
 +  .top--2-ns    { top:    -2rem; }
 +  .right--2-ns  { right:  -2rem; }
 +  .bottom--2-ns { bottom: -2rem; }
 +  .left--2-ns   { left:   -2rem; }
 +  .absolute--fill-ns {
 +    top: 0;
 +    right: 0;
 +    bottom: 0;
 +    left: 0;
 +  }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .top-0-m     { top:   0; }
 +  .left-0-m    { left:  0; }
 +  .right-0-m   { right: 0; }
 +  .bottom-0-m  { bottom: 0; }
 +  .top-1-m     { top:   1rem; }
 +  .left-1-m    { left:  1rem; }
 +  .right-1-m   { right: 1rem; }
 +  .bottom-1-m  { bottom: 1rem; }
 +  .top-2-m     { top:   2rem; }
 +  .left-2-m    { left:  2rem; }
 +  .right-2-m   { right: 2rem; }
 +  .bottom-2-m  { bottom: 2rem; }
 +  .top--1-m    { top:    -1rem; }
 +  .right--1-m  { right:  -1rem; }
 +  .bottom--1-m { bottom: -1rem; }
 +  .left--1-m   { left:   -1rem; }
 +  .top--2-m    { top:    -2rem; }
 +  .right--2-m  { right:  -2rem; }
 +  .bottom--2-m { bottom: -2rem; }
 +  .left--2-m   { left:   -2rem; }
 +  .absolute--fill-m {
 +    top: 0;
 +    right: 0;
 +    bottom: 0;
 +    left: 0;
 +  }
 +}
 +@media screen and (min-width: 60em) {
 +  .top-0-l     { top:   0; }
 +  .left-0-l    { left:  0; }
 +  .right-0-l   { right: 0; }
 +  .bottom-0-l  { bottom: 0; }
 +  .top-1-l     { top:   1rem; }
 +  .left-1-l    { left:  1rem; }
 +  .right-1-l   { right: 1rem; }
 +  .bottom-1-l  { bottom: 1rem; }
 +  .top-2-l     { top:   2rem; }
 +  .left-2-l    { left:  2rem; }
 +  .right-2-l   { right: 2rem; }
 +  .bottom-2-l  { bottom: 2rem; }
 +  .top--1-l    { top:    -1rem; }
 +  .right--1-l  { right:  -1rem; }
 +  .bottom--1-l { bottom: -1rem; }
 +  .left--1-l   { left:   -1rem; }
 +  .top--2-l    { top:    -2rem; }
 +  .right--2-l  { right:  -2rem; }
 +  .bottom--2-l { bottom: -2rem; }
 +  .left--2-l   { left:   -2rem; }
 +  .absolute--fill-l {
 +    top: 0;
 +    right: 0;
 +    bottom: 0;
 +    left: 0;
 +  }
 +}
 +/*
 +
 +   CLEARFIX
 +   http://tachyons.io/docs/layout/clearfix/
 +
 +*/
 +/* Nicolas Gallaghers Clearfix solution
 +   Ref: http://nicolasgallagher.com/micro-clearfix-hack/ */
 +.cf:before,
 +.cf:after { content: " "; display: table; }
 +.cf:after { clear: both; }
 +.cf {       *zoom: 1; }
 +.cl { clear: left; }
 +.cr { clear: right; }
 +.cb { clear: both; }
 +.cn { clear: none; }
 +@media screen and (min-width: 30em) {
 +  .cl-ns { clear: left; }
 +  .cr-ns { clear: right; }
 +  .cb-ns { clear: both; }
 +  .cn-ns { clear: none; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .cl-m { clear: left; }
 +  .cr-m { clear: right; }
 +  .cb-m { clear: both; }
 +  .cn-m { clear: none; }
 +}
 +@media screen and (min-width: 60em) {
 +  .cl-l { clear: left; }
 +  .cr-l { clear: right; }
 +  .cb-l { clear: both; }
 +  .cn-l { clear: none; }
 +}
 +/*
 +
 +   DISPLAY
 +   Docs: http://tachyons.io/docs/layout/display
 +
 +   Base:
 +    d = display
 +
 +   Modifiers:
 +    n     = none
 +    b     = block
 +    ib    = inline-block
 +    it    = inline-table
 +    t     = table
 +    tc    = table-cell
 +    t-row          = table-row
 +    t-columm       = table-column
 +    t-column-group = table-column-group
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.dn {              display: none; }
 +.di {              display: inline; }
 +.db {              display: block; }
 +.dib {             display: inline-block; }
 +.dit {             display: inline-table; }
 +.dt {              display: table; }
 +.dtc {             display: table-cell; }
 +.dt-row {          display: table-row; }
 +.dt-row-group {    display: table-row-group; }
 +.dt-column {       display: table-column; }
 +.dt-column-group { display: table-column-group; }
 +/*
 +  This will set table to full width and then
 +  all cells will be equal width
 +*/
 +.dt--fixed {
 +  table-layout: fixed;
 +  width: 100%;
 +}
 +@media screen and (min-width: 30em) {
 +  .dn-ns {              display: none; }
 +  .di-ns {              display: inline; }
 +  .db-ns {              display: block; }
 +  .dib-ns {             display: inline-block; }
 +  .dit-ns {             display: inline-table; }
 +  .dt-ns {              display: table; }
 +  .dtc-ns {             display: table-cell; }
 +  .dt-row-ns {          display: table-row; }
 +  .dt-row-group-ns {    display: table-row-group; }
 +  .dt-column-ns {       display: table-column; }
 +  .dt-column-group-ns { display: table-column-group; }
 +
 +  .dt--fixed-ns {
 +    table-layout: fixed;
 +    width: 100%;
 +  }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .dn-m {              display: none; }
 +  .di-m {              display: inline; }
 +  .db-m {              display: block; }
 +  .dib-m {             display: inline-block; }
 +  .dit-m {             display: inline-table; }
 +  .dt-m {              display: table; }
 +  .dtc-m {             display: table-cell; }
 +  .dt-row-m {          display: table-row; }
 +  .dt-row-group-m {    display: table-row-group; }
 +  .dt-column-m {       display: table-column; }
 +  .dt-column-group-m { display: table-column-group; }
 +
 +  .dt--fixed-m {
 +    table-layout: fixed;
 +    width: 100%;
 +  }
 +}
 +@media screen and (min-width: 60em) {
 +  .dn-l {              display: none; }
 +  .di-l {              display: inline; }
 +  .db-l {              display: block; }
 +  .dib-l {             display: inline-block; }
 +  .dit-l {             display: inline-table; }
 +  .dt-l {              display: table; }
 +  .dtc-l {             display: table-cell; }
 +  .dt-row-l {          display: table-row; }
 +  .dt-row-group-l {    display: table-row-group; }
 +  .dt-column-l {       display: table-column; }
 +  .dt-column-group-l { display: table-column-group; }
 +
 +  .dt--fixed-l {
 +    table-layout: fixed;
 +    width: 100%;
 +  }
 +}
 +/*
 +
 +  FLEXBOX
 +
 +  Media Query Extensions:
 +   -ns = not-small
 +   -m  = medium
 +   -l  = large
 +
 +*/
 +.flex { display: -webkit-box; display: -ms-flexbox; display: flex; }
 +.inline-flex { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
 +/* 1. Fix for Chrome 44 bug.
 + * https://code.google.com/p/chromium/issues/detail?id=506893 */
 +.flex-auto {
 +  -webkit-box-flex: 1;
 +      -ms-flex: 1 1 auto;
 +          flex: 1 1 auto;
 +  min-width: 0; /* 1 */
 +  min-height: 0; /* 1 */
 +}
 +.flex-none { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
 +.flex-column  { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
 +.flex-row     { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
 +.flex-wrap    { -ms-flex-wrap: wrap; flex-wrap: wrap; }
 +.flex-nowrap    { -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
 +.flex-wrap-reverse    { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; }
 +.flex-column-reverse  { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
 +.flex-row-reverse     { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
 +.items-start    { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
 +.items-end      { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
 +.items-center   { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
 +.items-baseline { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
 +.items-stretch  { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
 +.self-start    { -ms-flex-item-align: start; align-self: flex-start; }
 +.self-end      { -ms-flex-item-align: end; align-self: flex-end; }
 +.self-center   { -ms-flex-item-align: center; align-self: center; }
 +.self-baseline { -ms-flex-item-align: baseline; align-self: baseline; }
 +.self-stretch  { -ms-flex-item-align: stretch; align-self: stretch; }
 +.justify-start   { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
 +.justify-end     { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
 +.justify-center  { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
 +.justify-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
 +.justify-around  { -ms-flex-pack: distribute; justify-content: space-around; }
 +.content-start   { -ms-flex-line-pack: start; align-content: flex-start; }
 +.content-end     { -ms-flex-line-pack: end; align-content: flex-end; }
 +.content-center  { -ms-flex-line-pack: center; align-content: center; }
 +.content-between { -ms-flex-line-pack: justify; align-content: space-between; }
 +.content-around  { -ms-flex-line-pack: distribute; align-content: space-around; }
 +.content-stretch { -ms-flex-line-pack: stretch; align-content: stretch; }
 +.order-0 { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
 +.order-1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
 +.order-2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
 +.order-3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
 +.order-4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
 +.order-5 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
 +.order-6 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
 +.order-7 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
 +.order-8 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
 +.order-last { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
 +.flex-grow-0 { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; }
 +.flex-grow-1 { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
 +.flex-shrink-0 { -ms-flex-negative: 0; flex-shrink: 0; }
 +.flex-shrink-1 { -ms-flex-negative: 1; flex-shrink: 1; }
 +@media screen and (min-width: 30em) {
 +  .flex-ns { display: -webkit-box; display: -ms-flexbox; display: flex; }
 +  .inline-flex-ns { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
 +  .flex-auto-ns {
 +    -webkit-box-flex: 1;
 +        -ms-flex: 1 1 auto;
 +            flex: 1 1 auto;
 +    min-width: 0; /* 1 */
 +    min-height: 0; /* 1 */
 +  }
 +  .flex-none-ns { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
 +  .flex-column-ns { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
 +  .flex-row-ns { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
 +  .flex-wrap-ns { -ms-flex-wrap: wrap; flex-wrap: wrap; }
 +  .flex-nowrap-ns { -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
 +  .flex-wrap-reverse-ns { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; }
 +  .flex-column-reverse-ns { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
 +  .flex-row-reverse-ns { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
 +  .items-start-ns { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
 +  .items-end-ns { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
 +  .items-center-ns { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
 +  .items-baseline-ns { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
 +  .items-stretch-ns { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
 +
 +  .self-start-ns { -ms-flex-item-align: start; align-self: flex-start; }
 +  .self-end-ns { -ms-flex-item-align: end; align-self: flex-end; }
 +  .self-center-ns { -ms-flex-item-align: center; align-self: center; }
 +  .self-baseline-ns { -ms-flex-item-align: baseline; align-self: baseline; }
 +  .self-stretch-ns { -ms-flex-item-align: stretch; align-self: stretch; }
 +
 +  .justify-start-ns { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
 +  .justify-end-ns { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
 +  .justify-center-ns { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
 +  .justify-between-ns { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
 +  .justify-around-ns { -ms-flex-pack: distribute; justify-content: space-around; }
 +
 +  .content-start-ns { -ms-flex-line-pack: start; align-content: flex-start; }
 +  .content-end-ns { -ms-flex-line-pack: end; align-content: flex-end; }
 +  .content-center-ns { -ms-flex-line-pack: center; align-content: center; }
 +  .content-between-ns { -ms-flex-line-pack: justify; align-content: space-between; }
 +  .content-around-ns { -ms-flex-line-pack: distribute; align-content: space-around; }
 +  .content-stretch-ns { -ms-flex-line-pack: stretch; align-content: stretch; }
 +
 +  .order-0-ns { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
 +  .order-1-ns { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
 +  .order-2-ns { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
 +  .order-3-ns { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
 +  .order-4-ns { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
 +  .order-5-ns { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
 +  .order-6-ns { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
 +  .order-7-ns { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
 +  .order-8-ns { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
 +  .order-last-ns { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
 +
 +  .flex-grow-0-ns { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; }
 +  .flex-grow-1-ns { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
 +
 +  .flex-shrink-0-ns { -ms-flex-negative: 0; flex-shrink: 0; }
 +  .flex-shrink-1-ns { -ms-flex-negative: 1; flex-shrink: 1; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .flex-m { display: -webkit-box; display: -ms-flexbox; display: flex; }
 +  .inline-flex-m { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
 +  .flex-auto-m {
 +    -webkit-box-flex: 1;
 +        -ms-flex: 1 1 auto;
 +            flex: 1 1 auto;
 +    min-width: 0; /* 1 */
 +    min-height: 0; /* 1 */
 +  }
 +  .flex-none-m { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
 +  .flex-column-m { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
 +  .flex-row-m     { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
 +  .flex-wrap-m { -ms-flex-wrap: wrap; flex-wrap: wrap; }
 +  .flex-nowrap-m { -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
 +  .flex-wrap-reverse-m { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; }
 +  .flex-column-reverse-m { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
 +  .flex-row-reverse-m { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
 +  .items-start-m { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
 +  .items-end-m { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
 +  .items-center-m { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
 +  .items-baseline-m { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
 +  .items-stretch-m { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
 +
 +  .self-start-m { -ms-flex-item-align: start; align-self: flex-start; }
 +  .self-end-m { -ms-flex-item-align: end; align-self: flex-end; }
 +  .self-center-m { -ms-flex-item-align: center; align-self: center; }
 +  .self-baseline-m { -ms-flex-item-align: baseline; align-self: baseline; }
 +  .self-stretch-m { -ms-flex-item-align: stretch; align-self: stretch; }
 +
 +  .justify-start-m { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
 +  .justify-end-m { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
 +  .justify-center-m { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
 +  .justify-between-m { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
 +  .justify-around-m { -ms-flex-pack: distribute; justify-content: space-around; }
 +
 +  .content-start-m { -ms-flex-line-pack: start; align-content: flex-start; }
 +  .content-end-m { -ms-flex-line-pack: end; align-content: flex-end; }
 +  .content-center-m { -ms-flex-line-pack: center; align-content: center; }
 +  .content-between-m { -ms-flex-line-pack: justify; align-content: space-between; }
 +  .content-around-m { -ms-flex-line-pack: distribute; align-content: space-around; }
 +  .content-stretch-m { -ms-flex-line-pack: stretch; align-content: stretch; }
 +
 +  .order-0-m { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
 +  .order-1-m { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
 +  .order-2-m { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
 +  .order-3-m { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
 +  .order-4-m { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
 +  .order-5-m { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
 +  .order-6-m { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
 +  .order-7-m { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
 +  .order-8-m { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
 +  .order-last-m { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
 +
 +  .flex-grow-0-m { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; }
 +  .flex-grow-1-m { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
 +
 +  .flex-shrink-0-m { -ms-flex-negative: 0; flex-shrink: 0; }
 +  .flex-shrink-1-m { -ms-flex-negative: 1; flex-shrink: 1; }
 +}
 +@media screen and (min-width: 60em) {
 +  .flex-l { display: -webkit-box; display: -ms-flexbox; display: flex; }
 +  .inline-flex-l { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; }
 +  .flex-auto-l {
 +    -webkit-box-flex: 1;
 +        -ms-flex: 1 1 auto;
 +            flex: 1 1 auto;
 +    min-width: 0; /* 1 */
 +    min-height: 0; /* 1 */
 +  }
 +  .flex-none-l { -webkit-box-flex: 0; -ms-flex: none; flex: none; }
 +  .flex-column-l { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
 +  .flex-row-l { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
 +  .flex-wrap-l { -ms-flex-wrap: wrap; flex-wrap: wrap; }
 +  .flex-nowrap-l { -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
 +  .flex-wrap-reverse-l { -ms-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; }
 +  .flex-column-reverse-l { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
 +  .flex-row-reverse-l { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
 +
 +  .items-start-l { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
 +  .items-end-l { -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }
 +  .items-center-l { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
 +  .items-baseline-l { -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; }
 +  .items-stretch-l { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
 +
 +  .self-start-l { -ms-flex-item-align: start; align-self: flex-start; }
 +  .self-end-l { -ms-flex-item-align: end; align-self: flex-end; }
 +  .self-center-l { -ms-flex-item-align: center; align-self: center; }
 +  .self-baseline-l { -ms-flex-item-align: baseline; align-self: baseline; }
 +  .self-stretch-l { -ms-flex-item-align: stretch; align-self: stretch; }
 +
 +  .justify-start-l { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
 +  .justify-end-l { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
 +  .justify-center-l { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
 +  .justify-between-l { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
 +  .justify-around-l { -ms-flex-pack: distribute; justify-content: space-around; }
 +
 +  .content-start-l { -ms-flex-line-pack: start; align-content: flex-start; }
 +  .content-end-l { -ms-flex-line-pack: end; align-content: flex-end; }
 +  .content-center-l { -ms-flex-line-pack: center; align-content: center; }
 +  .content-between-l { -ms-flex-line-pack: justify; align-content: space-between; }
 +  .content-around-l { -ms-flex-line-pack: distribute; align-content: space-around; }
 +  .content-stretch-l { -ms-flex-line-pack: stretch; align-content: stretch; }
 +
 +  .order-0-l { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
 +  .order-1-l { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
 +  .order-2-l { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
 +  .order-3-l { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
 +  .order-4-l { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
 +  .order-5-l { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
 +  .order-6-l { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
 +  .order-7-l { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }
 +  .order-8-l { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
 +  .order-last-l { -webkit-box-ordinal-group: 100000; -ms-flex-order: 99999; order: 99999; }
 +
 +  .flex-grow-0-l { -webkit-box-flex: 0; -ms-flex-positive: 0; flex-grow: 0; }
 +  .flex-grow-1-l { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
 +
 +  .flex-shrink-0-l { -ms-flex-negative: 0; flex-shrink: 0; }
 +  .flex-shrink-1-l { -ms-flex-negative: 1; flex-shrink: 1; }
 +}
 +/*
 +
 +   FLOATS
 +   http://tachyons.io/docs/layout/floats/
 +
 +   1. Floated elements are automatically rendered as block level elements.
 +      Setting floats to display inline will fix the double margin bug in
 +      ie6. You know... just in case.
 +
 +   2. Don't forget to clearfix your floats with .cf
 +
 +   Base:
 +     f = float
 +
 +   Modifiers:
 +     l = left
 +     r = right
 +     n = none
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.fl { float: left;  _display: inline; }
 +.fr { float: right; _display: inline; }
 +.fn { float: none; }
 +@media screen and (min-width: 30em) {
 +  .fl-ns { float: left; _display: inline; }
 +  .fr-ns { float: right; _display: inline; }
 +  .fn-ns { float: none; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .fl-m { float: left; _display: inline; }
 +  .fr-m { float: right; _display: inline; }
 +  .fn-m { float: none; }
 +}
 +@media screen and (min-width: 60em) {
 +  .fl-l { float: left; _display: inline; }
 +  .fr-l { float: right; _display: inline; }
 +  .fn-l { float: none; }
 +}
 +/*@import 'tachyons/src/_font-family';*/
 +/*
 +
 +   FONT STYLE
 +   Docs: http://tachyons.io/docs/typography/font-style/
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.i         { font-style: italic; }
 +.fs-normal { font-style: normal; }
 +@media screen and (min-width: 30em) {
 +  .i-ns       { font-style: italic; }
 +  .fs-normal-ns     { font-style: normal; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .i-m       { font-style: italic; }
 +  .fs-normal-m     { font-style: normal; }
 +}
 +@media screen and (min-width: 60em) {
 +  .i-l       { font-style: italic; }
 +  .fs-normal-l     { font-style: normal; }
 +}
 +/*
 +
 +   FONT WEIGHT
 +   Docs: http://tachyons.io/docs/typography/font-weight/
 +
 +   Base
 +     fw = font-weight
 +
 +   Modifiers:
 +     1 = literal value 100
 +     2 = literal value 200
 +     3 = literal value 300
 +     4 = literal value 400
 +     5 = literal value 500
 +     6 = literal value 600
 +     7 = literal value 700
 +     8 = literal value 800
 +     9 = literal value 900
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.normal { font-weight: normal; }
 +.b      { font-weight: bold; }
 +.fw1    { font-weight: 100; }
 +.fw2    { font-weight: 200; }
 +.fw3    { font-weight: 300; }
 +.fw4    { font-weight: 400; }
 +.fw5    { font-weight: 500; }
 +.fw6    { font-weight: 600; }
 +.fw7    { font-weight: 700; }
 +.fw8    { font-weight: 800; }
 +.fw9    { font-weight: 900; }
 +@media screen and (min-width: 30em) {
 +  .normal-ns { font-weight: normal; }
 +  .b-ns      { font-weight: bold; }
 +  .fw1-ns    { font-weight: 100; }
 +  .fw2-ns    { font-weight: 200; }
 +  .fw3-ns    { font-weight: 300; }
 +  .fw4-ns    { font-weight: 400; }
 +  .fw5-ns    { font-weight: 500; }
 +  .fw6-ns    { font-weight: 600; }
 +  .fw7-ns    { font-weight: 700; }
 +  .fw8-ns    { font-weight: 800; }
 +  .fw9-ns    { font-weight: 900; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .normal-m { font-weight: normal; }
 +  .b-m      { font-weight: bold; }
 +  .fw1-m    { font-weight: 100; }
 +  .fw2-m    { font-weight: 200; }
 +  .fw3-m    { font-weight: 300; }
 +  .fw4-m    { font-weight: 400; }
 +  .fw5-m    { font-weight: 500; }
 +  .fw6-m    { font-weight: 600; }
 +  .fw7-m    { font-weight: 700; }
 +  .fw8-m    { font-weight: 800; }
 +  .fw9-m    { font-weight: 900; }
 +}
 +@media screen and (min-width: 60em) {
 +  .normal-l { font-weight: normal; }
 +  .b-l      { font-weight: bold; }
 +  .fw1-l    { font-weight: 100; }
 +  .fw2-l    { font-weight: 200; }
 +  .fw3-l    { font-weight: 300; }
 +  .fw4-l    { font-weight: 400; }
 +  .fw5-l    { font-weight: 500; }
 +  .fw6-l    { font-weight: 600; }
 +  .fw7-l    { font-weight: 700; }
 +  .fw8-l    { font-weight: 800; }
 +  .fw9-l    { font-weight: 900; }
 +}
 +/*
 +
 +   FORMS
 +   
 +*/
 +.input-reset {
 +  -webkit-appearance: none;
 +  -moz-appearance: none;
 +}
 +.button-reset::-moz-focus-inner,
 +.input-reset::-moz-focus-inner {
 +  border: 0;
 +  padding: 0;
 +}
 +/*
 +
 +   HEIGHTS
 +   Docs: http://tachyons.io/docs/layout/heights/
 +
 +   Base:
 +     h = height
 +     min-h = min-height
 +     min-vh = min-height vertical screen height
 +     vh = vertical screen height
 +
 +   Modifiers
 +     1 = 1st step in height scale
 +     2 = 2nd step in height scale
 +     3 = 3rd step in height scale
 +     4 = 4th step in height scale
 +     5 = 5th step in height scale
 +
 +     -25   = literal value 25%
 +     -50   = literal value 50%
 +     -75   = literal value 75%
 +     -100  = literal value 100%
 +
 +     -auto = string value of auto
 +     -inherit = string value of inherit
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/* Height Scale */
 +.h1 { height: 1rem; }
 +.h2 { height: 2rem; }
 +.h3 { height: 4rem; }
 +.h4 { height: 8rem; }
 +.h5 { height: 16rem; }
 +/* Height Percentages - Based off of height of parent */
 +.h-25 {  height:  25%; }
 +.h-50 {  height:  50%; }
 +.h-75 {  height:  75%; }
 +.h-100 { height: 100%; }
 +.min-h-100 { min-height: 100%; }
 +/* Screen Height Percentage */
 +.vh-25 {  height:  25vh; }
 +.vh-50 {  height:  50vh; }
 +.vh-75 {  height:  75vh; }
 +.vh-100 { height: 100vh; }
 +.min-vh-100 { min-height: 100vh; }
 +/* String Properties */
 +.h-auto {     height: auto; }
 +.h-inherit {  height: inherit; }
 +@media screen and (min-width: 30em) {
 +  .h1-ns {  height: 1rem; }
 +  .h2-ns {  height: 2rem; }
 +  .h3-ns {  height: 4rem; }
 +  .h4-ns {  height: 8rem; }
 +  .h5-ns {  height: 16rem; }
 +  .h-25-ns { height: 25%; }
 +  .h-50-ns { height: 50%; }
 +  .h-75-ns { height: 75%; }
 +  .h-100-ns { height: 100%; }
 +  .min-h-100-ns { min-height: 100%; }
 +  .vh-25-ns {  height:  25vh; }
 +  .vh-50-ns {  height:  50vh; }
 +  .vh-75-ns {  height:  75vh; }
 +  .vh-100-ns { height: 100vh; }
 +  .min-vh-100-ns { min-height: 100vh; }
 +  .h-auto-ns { height: auto; }
 +  .h-inherit-ns { height: inherit; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .h1-m { height: 1rem; }
 +  .h2-m { height: 2rem; }
 +  .h3-m { height: 4rem; }
 +  .h4-m { height: 8rem; }
 +  .h5-m { height: 16rem; }
 +  .h-25-m { height: 25%; }
 +  .h-50-m { height: 50%; }
 +  .h-75-m { height: 75%; }
 +  .h-100-m { height: 100%; }
 +  .min-h-100-m { min-height: 100%; }
 +  .vh-25-m {  height:  25vh; }
 +  .vh-50-m {  height:  50vh; }
 +  .vh-75-m {  height:  75vh; }
 +  .vh-100-m { height: 100vh; }
 +  .min-vh-100-m { min-height: 100vh; }
 +  .h-auto-m { height: auto; }
 +  .h-inherit-m { height: inherit; }
 +}
 +@media screen and (min-width: 60em) {
 +  .h1-l { height: 1rem; }
 +  .h2-l { height: 2rem; }
 +  .h3-l { height: 4rem; }
 +  .h4-l { height: 8rem; }
 +  .h5-l { height: 16rem; }
 +  .h-25-l { height: 25%; }
 +  .h-50-l { height: 50%; }
 +  .h-75-l { height: 75%; }
 +  .h-100-l { height: 100%; }
 +  .min-h-100-l { min-height: 100%; }
 +  .vh-25-l {  height:  25vh; }
 +  .vh-50-l {  height:  50vh; }
 +  .vh-75-l {  height:  75vh; }
 +  .vh-100-l { height: 100vh; }
 +  .min-vh-100-l { min-height: 100vh; }
 +  .h-auto-l { height: auto; }
 +  .h-inherit-l { height: inherit; }
 +}
 +/*
 +
 +   LETTER SPACING
 +   Docs: http://tachyons.io/docs/typography/tracking/
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.tracked       { letter-spacing:  .1em; }
 +.tracked-tight { letter-spacing: -.05em; }
 +.tracked-mega  { letter-spacing:  .25em; }
 +@media screen and (min-width: 30em) {
 +  .tracked-ns       { letter-spacing:  .1em; }
 +  .tracked-tight-ns { letter-spacing: -.05em; }
 +  .tracked-mega-ns  { letter-spacing:  .25em; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .tracked-m       { letter-spacing:  .1em; }
 +  .tracked-tight-m { letter-spacing: -.05em; }
 +  .tracked-mega-m  { letter-spacing:  .25em; }
 +}
 +@media screen and (min-width: 60em) {
 +  .tracked-l       { letter-spacing:  .1em; }
 +  .tracked-tight-l { letter-spacing: -.05em; }
 +  .tracked-mega-l  { letter-spacing:  .25em; }
 +}
 +/*
 +
 +   LINE HEIGHT / LEADING
 +   Docs: http://tachyons.io/docs/typography/line-height
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.lh-solid { line-height: 1; }
 +.lh-title { line-height: 1.25; }
 +.lh-copy  { line-height: 1.5; }
 +@media screen and (min-width: 30em) {
 +  .lh-solid-ns { line-height: 1; }
 +  .lh-title-ns { line-height: 1.25; }
 +  .lh-copy-ns  { line-height: 1.5; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .lh-solid-m { line-height: 1; }
 +  .lh-title-m { line-height: 1.25; }
 +  .lh-copy-m  { line-height: 1.5; }
 +}
 +@media screen and (min-width: 60em) {
 +  .lh-solid-l { line-height: 1; }
 +  .lh-title-l { line-height: 1.25; }
 +  .lh-copy-l  { line-height: 1.5; }
 +}
 +/*
 +
 +   LINKS
 +   Docs: http://tachyons.io/docs/elements/links/
 +
 +*/
 +.link {
 +  text-decoration: none;
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +}
 +.link:link,
 +.link:visited {
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +}
 +.link:hover   {
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +}
 +.link:active  {
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +}
 +.link:focus   {
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +  outline: 1px dotted currentColor;
 +}
 +/*
 +
 +   LISTS
 +   http://tachyons.io/docs/elements/lists/
 +
 +*/
 +.list {         list-style-type: none; }
 +/*
 +
 +   MAX WIDTHS
 +   Docs: http://tachyons.io/docs/layout/max-widths/
 +
 +   Base:
 +     mw = max-width
 +
 +   Modifiers
 +     1 = 1st step in width scale
 +     2 = 2nd step in width scale
 +     3 = 3rd step in width scale
 +     4 = 4th step in width scale
 +     5 = 5th step in width scale
 +     6 = 6st step in width scale
 +     7 = 7nd step in width scale
 +     8 = 8rd step in width scale
 +     9 = 9th step in width scale
 +
 +     -100 = literal value 100%
 +
 +     -none  = string value none
 +
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/* Max Width Percentages */
 +.mw-100  { max-width: 100%; }
 +/* Max Width Scale */
 +.mw1  {  max-width: 1rem; }
 +.mw2  {  max-width: 2rem; }
 +.mw3  {  max-width: 4rem; }
 +.mw4  {  max-width: 8rem; }
 +.mw5  {  max-width: 16rem; }
 +.mw6  {  max-width: 32rem; }
 +.mw7  {  max-width: 48rem; }
 +.mw8  {  max-width: 64rem; }
 +.mw9  {  max-width: 96rem; }
 +/* Max Width String Properties */
 +.mw-none { max-width: none; }
 +@media screen and (min-width: 30em) {
 +  .mw-100-ns  { max-width: 100%; }
 +
 +  .mw1-ns  {  max-width: 1rem; }
 +  .mw2-ns  {  max-width: 2rem; }
 +  .mw3-ns  {  max-width: 4rem; }
 +  .mw4-ns  {  max-width: 8rem; }
 +  .mw5-ns  {  max-width: 16rem; }
 +  .mw6-ns  {  max-width: 32rem; }
 +  .mw7-ns  {  max-width: 48rem; }
 +  .mw8-ns  {  max-width: 64rem; }
 +  .mw9-ns  {  max-width: 96rem; }
 +
 +  .mw-none-ns { max-width: none; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .mw-100-m  { max-width: 100%; }
 +
 +  .mw1-m  {  max-width: 1rem; }
 +  .mw2-m  {  max-width: 2rem; }
 +  .mw3-m  {  max-width: 4rem; }
 +  .mw4-m  {  max-width: 8rem; }
 +  .mw5-m  {  max-width: 16rem; }
 +  .mw6-m  {  max-width: 32rem; }
 +  .mw7-m  {  max-width: 48rem; }
 +  .mw8-m  {  max-width: 64rem; }
 +  .mw9-m  {  max-width: 96rem; }
 +
 +  .mw-none-m { max-width: none; }
 +}
 +@media screen and (min-width: 60em) {
 +  .mw-100-l  { max-width: 100%; }
 +
 +  .mw1-l  {  max-width: 1rem; }
 +  .mw2-l  {  max-width: 2rem; }
 +  .mw3-l  {  max-width: 4rem; }
 +  .mw4-l  {  max-width: 8rem; }
 +  .mw5-l  {  max-width: 16rem; }
 +  .mw6-l  {  max-width: 32rem; }
 +  .mw7-l  {  max-width: 48rem; }
 +  .mw8-l  {  max-width: 64rem; }
 +  .mw9-l  {  max-width: 96rem; }
 +
 +  .mw-none-l { max-width: none; }
 +}
 +/*
 +
 +   WIDTHS
 +   Docs: http://tachyons.io/docs/layout/widths/
 +
 +   Base:
 +     w = width
 +
 +   Modifiers
 +     1 = 1st step in width scale
 +     2 = 2nd step in width scale
 +     3 = 3rd step in width scale
 +     4 = 4th step in width scale
 +     5 = 5th step in width scale
 +
 +     -10  = literal value 10%
 +     -20  = literal value 20%
 +     -25  = literal value 25%
 +     -30  = literal value 30%
 +     -33  = literal value 33%
 +     -34  = literal value 34%
 +     -40  = literal value 40%
 +     -50  = literal value 50%
 +     -60  = literal value 60%
 +     -70  = literal value 70%
 +     -75  = literal value 75%
 +     -80  = literal value 80%
 +     -90  = literal value 90%
 +     -100 = literal value 100%
 +
 +     -third      = 100% / 3 (Not supported in opera mini or IE8)
 +     -two-thirds = 100% / 1.5 (Not supported in opera mini or IE8)
 +     -auto       = string value auto
 +
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/* Width Scale */
 +.w1 {    width: 1rem; }
 +.w2 {    width: 2rem; }
 +.w3 {    width: 4rem; }
 +.w4 {    width: 8rem; }
 +.w5 {    width: 16rem; }
 +.w-10 {  width:  10%; }
 +.w-20 {  width:  20%; }
 +.w-25 {  width:  25%; }
 +.w-30 {  width:  30%; }
 +.w-33 {  width:  33%; }
 +.w-34 {  width:  34%; }
 +.w-40 {  width:  40%; }
 +.w-50 {  width:  50%; }
 +.w-60 {  width:  60%; }
 +.w-70 {  width:  70%; }
 +.w-75 {  width:  75%; }
 +.w-80 {  width:  80%; }
 +.w-90 {  width:  90%; }
 +.w-100 { width: 100%; }
 +.w-third { width: 33.33333%; }
 +.w-two-thirds { width: 66.66667%; }
 +.w-auto { width: auto; }
 +@media screen and (min-width: 30em) {
 +  .w1-ns {  width: 1rem; }
 +  .w2-ns {  width: 2rem; }
 +  .w3-ns {  width: 4rem; }
 +  .w4-ns {  width: 8rem; }
 +  .w5-ns {  width: 16rem; }
 +  .w-10-ns { width:  10%; }
 +  .w-20-ns { width:  20%; }
 +  .w-25-ns { width:  25%; }
 +  .w-30-ns { width:  30%; }
 +  .w-33-ns { width:  33%; }
 +  .w-34-ns { width:  34%; }
 +  .w-40-ns { width:  40%; }
 +  .w-50-ns { width:  50%; }
 +  .w-60-ns { width:  60%; }
 +  .w-70-ns { width:  70%; }
 +  .w-75-ns { width:  75%; }
 +  .w-80-ns { width:  80%; }
 +  .w-90-ns { width:  90%; }
 +  .w-100-ns { width: 100%; }
 +  .w-third-ns { width: 33.33333%; }
 +  .w-two-thirds-ns { width: 66.66667%; }
 +  .w-auto-ns { width: auto; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .w1-m {      width: 1rem; }
 +  .w2-m {      width: 2rem; }
 +  .w3-m {      width: 4rem; }
 +  .w4-m {      width: 8rem; }
 +  .w5-m {      width: 16rem; }
 +  .w-10-m { width:  10%; }
 +  .w-20-m { width:  20%; }
 +  .w-25-m { width:  25%; }
 +  .w-30-m { width:  30%; }
 +  .w-33-m { width:  33%; }
 +  .w-34-m { width:  34%; }
 +  .w-40-m { width:  40%; }
 +  .w-50-m { width:  50%; }
 +  .w-60-m { width:  60%; }
 +  .w-70-m { width:  70%; }
 +  .w-75-m { width:  75%; }
 +  .w-80-m { width:  80%; }
 +  .w-90-m { width:  90%; }
 +  .w-100-m { width: 100%; }
 +  .w-third-m { width: 33.33333%; }
 +  .w-two-thirds-m { width: 66.66667%; }
 +  .w-auto-m {    width: auto; }
 +}
 +@media screen and (min-width: 60em) {
 +  .w1-l {      width: 1rem; }
 +  .w2-l {      width: 2rem; }
 +  .w3-l {      width: 4rem; }
 +  .w4-l {      width: 8rem; }
 +  .w5-l {      width: 16rem; }
 +  .w-10-l {    width:  10%; }
 +  .w-20-l {    width:  20%; }
 +  .w-25-l {    width:  25%; }
 +  .w-30-l {    width:  30%; }
 +  .w-33-l {    width:  33%; }
 +  .w-34-l {    width:  34%; }
 +  .w-40-l {    width:  40%; }
 +  .w-50-l {    width:  50%; }
 +  .w-60-l {    width:  60%; }
 +  .w-70-l {    width:  70%; }
 +  .w-75-l {    width:  75%; }
 +  .w-80-l {    width:  80%; }
 +  .w-90-l {    width:  90%; }
 +  .w-100-l {   width: 100%; }
 +  .w-third-l { width: 33.33333%; }
 +  .w-two-thirds-l { width: 66.66667%; }
 +  .w-auto-l {    width: auto; }
 +}
 +/*
 +
 +    OVERFLOW
 +
 +    Media Query Extensions:
 +      -ns = not-small
 +      -m  = medium
 +      -l  = large
 +
 + */
 +.overflow-visible { overflow: visible; }
 +.overflow-hidden { overflow: hidden; }
 +.overflow-scroll { overflow: scroll; }
 +.overflow-auto { overflow: auto; }
 +.overflow-x-visible { overflow-x: visible; }
 +.overflow-x-hidden { overflow-x: hidden; }
 +.overflow-x-scroll { overflow-x: scroll; }
 +.overflow-x-auto { overflow-x: auto; }
 +.overflow-y-visible { overflow-y: visible; }
 +.overflow-y-hidden { overflow-y: hidden; }
 +.overflow-y-scroll { overflow-y: scroll; }
 +.overflow-y-auto { overflow-y: auto; }
 +@media screen and (min-width: 30em) {
 +  .overflow-visible-ns { overflow: visible; }
 +  .overflow-hidden-ns { overflow: hidden; }
 +  .overflow-scroll-ns { overflow: scroll; }
 +  .overflow-auto-ns { overflow: auto; }
 +  .overflow-x-visible-ns { overflow-x: visible; }
 +  .overflow-x-hidden-ns { overflow-x: hidden; }
 +  .overflow-x-scroll-ns { overflow-x: scroll; }
 +  .overflow-x-auto-ns { overflow-x: auto; }
 +
 +  .overflow-y-visible-ns { overflow-y: visible; }
 +  .overflow-y-hidden-ns { overflow-y: hidden; }
 +  .overflow-y-scroll-ns { overflow-y: scroll; }
 +  .overflow-y-auto-ns { overflow-y: auto; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .overflow-visible-m { overflow: visible; }
 +  .overflow-hidden-m { overflow: hidden; }
 +  .overflow-scroll-m { overflow: scroll; }
 +  .overflow-auto-m { overflow: auto; }
 +
 +  .overflow-x-visible-m { overflow-x: visible; }
 +  .overflow-x-hidden-m { overflow-x: hidden; }
 +  .overflow-x-scroll-m { overflow-x: scroll; }
 +  .overflow-x-auto-m { overflow-x: auto; }
 +
 +  .overflow-y-visible-m { overflow-y: visible; }
 +  .overflow-y-hidden-m { overflow-y: hidden; }
 +  .overflow-y-scroll-m { overflow-y: scroll; }
 +  .overflow-y-auto-m { overflow-y: auto; }
 +}
 +@media screen and (min-width: 60em) {
 +  .overflow-visible-l { overflow: visible; }
 +  .overflow-hidden-l { overflow: hidden; }
 +  .overflow-scroll-l { overflow: scroll; }
 +  .overflow-auto-l { overflow: auto; }
 +
 +  .overflow-x-visible-l { overflow-x: visible; }
 +  .overflow-x-hidden-l { overflow-x: hidden; }
 +  .overflow-x-scroll-l { overflow-x: scroll; }
 +  .overflow-x-auto-l { overflow-x: auto; }
 +
 +  .overflow-y-visible-l { overflow-y: visible; }
 +  .overflow-y-hidden-l { overflow-y: hidden; }
 +  .overflow-y-scroll-l { overflow-y: scroll; }
 +  .overflow-y-auto-l { overflow-y: auto; }
 +}
 +/*
 +
 +   POSITIONING
 +   Docs: http://tachyons.io/docs/layout/position/
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.static { position: static; }
 +.relative  { position: relative; }
 +.absolute  { position: absolute; }
 +.fixed  { position: fixed; }
 +@media screen and (min-width: 30em) {
 +  .static-ns { position: static; }
 +  .relative-ns  { position: relative; }
 +  .absolute-ns  { position: absolute; }
 +  .fixed-ns  { position: fixed; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .static-m { position: static; }
 +  .relative-m  { position: relative; }
 +  .absolute-m  { position: absolute; }
 +  .fixed-m  { position: fixed; }
 +}
 +@media screen and (min-width: 60em) {
 +  .static-l { position: static; }
 +  .relative-l  { position: relative; }
 +  .absolute-l  { position: absolute; }
 +  .fixed-l  { position: fixed; }
 +}
 +/*
 +
 +    OPACITY
 +    Docs: http://tachyons.io/docs/themes/opacity/
 +
 +*/
 +.o-100 { opacity: 1;    }
 +.o-90  { opacity: .9;   }
 +.o-80  { opacity: .8;   }
 +.o-70  { opacity: .7;   }
 +.o-60  { opacity: .6;   }
 +.o-50  { opacity: .5;   }
 +.o-40  { opacity: .4;   }
 +.o-30  { opacity: .3;   }
 +.o-20  { opacity: .2;   }
 +.o-10  { opacity: .1;   }
 +.o-05  { opacity: .05;  }
 +.o-025 { opacity: .025; }
 +.o-0   { opacity: 0; }
 +/*@import 'tachyons/src/_rotations';*/
 +/*
 +
 +   SKINS
 +   Docs: http://tachyons.io/docs/themes/skins/
 +
 +   Classes for setting foreground and background colors on elements.
 +   If you haven't declared a border color, but set border on an element, it will 
 +   be set to the current text color. 
 +
 +*/
 +/* Text colors */
 +.black-90 {         color: rgba(0, 0, 0, .9); }
 +.black-80 {         color: rgba(0, 0, 0, .8); }
 +.black-70 {         color: rgba(0, 0, 0, .7); }
 +.black-60 {         color: rgba(0, 0, 0, .6); }
 +.black-50 {         color: rgba(0, 0, 0, .5); }
 +.black-40 {         color: rgba(0, 0, 0, .4); }
 +.black-30 {         color: rgba(0, 0, 0, .3); }
 +.black-20 {         color: rgba(0, 0, 0, .2); }
 +.black-10 {         color: rgba(0, 0, 0, .1); }
 +.black-05 {         color: rgba(0, 0, 0, .05); }
 +.white-90 {         color: rgba(255, 255, 255, .9); }
 +.white-80 {         color: rgba(255, 255, 255, .8); }
 +.white-70 {         color: rgba(255, 255, 255, .7); }
 +.white-60 {         color: rgba(255, 255, 255, .6); }
 +.white-50 {         color: rgba(255, 255, 255, .5); }
 +.white-40 {         color: rgba(255, 255, 255, .4); }
 +.white-30 {         color: rgba(255, 255, 255, .3); }
 +.white-20 {         color: rgba(255, 255, 255, .2); }
 +.white-10 {         color: rgba(255, 255, 255, .1); }
 +.black {         color: #000; }
 +.near-black {    color: #111; }
 +.dark-gray {     color: #333; }
 +.mid-gray {      color: #555; }
 +.gray {          color: #777; }
 +.silver  {       color: #999; }
 +.light-silver {  color: #aaa; }
 +.moon-gray {     color: #ccc; }
 +.light-gray {    color: #eee; }
 +.near-white {    color: #f4f4f4; }
 +.white {         color: #fff; }
 +.dark-red { color: #e7040f; }
 +.red { color: #ff4136; }
 +.light-red { color: #ff725c; }
 +.orange { color: #ff6300; }
 +.gold { color: #ffb700; }
 +.yellow { color: #ffd700; }
 +.light-yellow { color: #fbf1a9; }
 +.purple { color: #5e2ca5; }
 +.light-purple { color: #a463f2; }
 +.dark-pink { color: #d5008f; }
 +.hot-pink { color: #ff41b4; }
 +.pink { color: #ff80cc; }
 +.light-pink { color: #ffa3d7; }
 +.dark-green { color: #137752; }
 +.green { color: #19a974; }
 +.light-green { color: #9eebcf; }
 +.navy { color: #001b44; }
 +.dark-blue { color: #00449e; }
 +.blue { color: #0594CB; }
 +.light-blue { color: #96ccff; }
 +.lightest-blue { color: #cdecff; }
 +.washed-blue { color: #f6fffe; }
 +.washed-green { color: #e8fdf5; }
 +.washed-yellow { color: #fffceb; }
 +.washed-red { color: #ffdfdf; }
 +.color-inherit { color: inherit; }
 +.bg-black-90 {         background-color: rgba(0, 0, 0, .9); }
 +.bg-black-80 {         background-color: rgba(0, 0, 0, .8); }
 +.bg-black-70 {         background-color: rgba(0, 0, 0, .7); }
 +.bg-black-60 {         background-color: rgba(0, 0, 0, .6); }
 +.bg-black-50 {         background-color: rgba(0, 0, 0, .5); }
 +.bg-black-40 {         background-color: rgba(0, 0, 0, .4); }
 +.bg-black-30 {         background-color: rgba(0, 0, 0, .3); }
 +.bg-black-20 {         background-color: rgba(0, 0, 0, .2); }
 +.bg-black-10 {         background-color: rgba(0, 0, 0, .1); }
 +.bg-black-05 {         background-color: rgba(0, 0, 0, .05); }
 +.bg-white-90 {        background-color: rgba(255, 255, 255, .9); }
 +.bg-white-80 {        background-color: rgba(255, 255, 255, .8); }
 +.bg-white-70 {        background-color: rgba(255, 255, 255, .7); }
 +.bg-white-60 {        background-color: rgba(255, 255, 255, .6); }
 +.bg-white-50 {        background-color: rgba(255, 255, 255, .5); }
 +.bg-white-40 {        background-color: rgba(255, 255, 255, .4); }
 +.bg-white-30 {        background-color: rgba(255, 255, 255, .3); }
 +.bg-white-20 {        background-color: rgba(255, 255, 255, .2); }
 +.bg-white-10 {        background-color: rgba(255, 255, 255, .1); }
 +/* Background colors */
 +.bg-black {         background-color: #000; }
 +.bg-near-black {    background-color: #111; }
 +.bg-dark-gray {     background-color: #333; }
 +.bg-mid-gray {      background-color: #555; }
 +.bg-gray {          background-color: #777; }
 +.bg-silver  {       background-color: #999; }
 +.bg-light-silver {  background-color: #aaa; }
 +.bg-moon-gray {     background-color: #ccc; }
 +.bg-light-gray {    background-color: #eee; }
 +.bg-near-white {    background-color: #f4f4f4; }
 +.bg-white {         background-color: #fff; }
 +.bg-transparent {   background-color: transparent; }
 +.bg-dark-red { background-color: #e7040f; }
 +.bg-red { background-color: #ff4136; }
 +.bg-light-red { background-color: #ff725c; }
 +.bg-orange { background-color: #ff6300; }
 +.bg-gold { background-color: #ffb700; }
 +.bg-yellow { background-color: #ffd700; }
 +.bg-light-yellow { background-color: #fbf1a9; }
 +.bg-purple { background-color: #5e2ca5; }
 +.bg-light-purple { background-color: #a463f2; }
 +.bg-dark-pink { background-color: #d5008f; }
 +.bg-hot-pink { background-color: #ff41b4; }
 +.bg-pink { background-color: #ff80cc; }
 +.bg-light-pink { background-color: #ffa3d7; }
 +.bg-dark-green { background-color: #137752; }
 +.bg-green { background-color: #19a974; }
 +.bg-light-green { background-color: #9eebcf; }
 +.bg-navy { background-color: #001b44; }
 +.bg-dark-blue { background-color: #00449e; }
 +.bg-blue { background-color: #0594CB; }
 +.bg-light-blue { background-color: #96ccff; }
 +.bg-lightest-blue { background-color: #cdecff; }
 +.bg-washed-blue { background-color: #f6fffe; }
 +.bg-washed-green { background-color: #e8fdf5; }
 +.bg-washed-yellow { background-color: #fffceb; }
 +.bg-washed-red { background-color: #ffdfdf; }
 +.bg-inherit { background-color: inherit; }
 +/* 
 +  
 +   SKINS:PSEUDO
 +
 +   Customize the color of an element when
 +   it is focused or hovered over.
 + 
 + */
 +.hover-black:hover, 
 +.hover-black:focus { color: #000; }
 +.hover-near-black:hover, 
 +.hover-near-black:focus { color: #111; }
 +.hover-dark-gray:hover, 
 +.hover-dark-gray:focus { color: #333; }
 +.hover-mid-gray:hover, 
 +.hover-mid-gray:focus { color: #555; }
 +.hover-gray:hover, 
 +.hover-gray:focus { color: #777; }
 +.hover-silver:hover, 
 +.hover-silver:focus { color: #999; }
 +.hover-light-silver:hover, 
 +.hover-light-silver:focus { color: #aaa; }
 +.hover-moon-gray:hover, 
 +.hover-moon-gray:focus { color: #ccc; }
 +.hover-light-gray:hover, 
 +.hover-light-gray:focus { color: #eee; }
 +.hover-near-white:hover, 
 +.hover-near-white:focus { color: #f4f4f4; }
 +.hover-white:hover, 
 +.hover-white:focus { color: #fff; }
 +.hover-black-90:hover,
 +.hover-black-90:focus { color: rgba(0, 0, 0, .9); }
 +.hover-black-80:hover,
 +.hover-black-80:focus { color: rgba(0, 0, 0, .8); }
 +.hover-black-70:hover,
 +.hover-black-70:focus { color: rgba(0, 0, 0, .7); }
 +.hover-black-60:hover,
 +.hover-black-60:focus { color: rgba(0, 0, 0, .6); }
 +.hover-black-50:hover,
 +.hover-black-50:focus { color: rgba(0, 0, 0, .5); }
 +.hover-black-40:hover,
 +.hover-black-40:focus { color: rgba(0, 0, 0, .4); }
 +.hover-black-30:hover,
 +.hover-black-30:focus { color: rgba(0, 0, 0, .3); }
 +.hover-black-20:hover,
 +.hover-black-20:focus { color: rgba(0, 0, 0, .2); }
 +.hover-black-10:hover,
 +.hover-black-10:focus { color: rgba(0, 0, 0, .1); }
 +.hover-white-90:hover,
 +.hover-white-90:focus { color: rgba(255, 255, 255, .9); }
 +.hover-white-80:hover,
 +.hover-white-80:focus { color: rgba(255, 255, 255, .8); }
 +.hover-white-70:hover,
 +.hover-white-70:focus { color: rgba(255, 255, 255, .7); }
 +.hover-white-60:hover,
 +.hover-white-60:focus { color: rgba(255, 255, 255, .6); }
 +.hover-white-50:hover,
 +.hover-white-50:focus { color: rgba(255, 255, 255, .5); }
 +.hover-white-40:hover,
 +.hover-white-40:focus { color: rgba(255, 255, 255, .4); }
 +.hover-white-30:hover,
 +.hover-white-30:focus { color: rgba(255, 255, 255, .3); }
 +.hover-white-20:hover,
 +.hover-white-20:focus { color: rgba(255, 255, 255, .2); }
 +.hover-white-10:hover,
 +.hover-white-10:focus { color: rgba(255, 255, 255, .1); }
 +.hover-inherit:hover,
 +.hover-inherit:focus { color: inherit; }
 +.hover-bg-black:hover, 
 +.hover-bg-black:focus { background-color: #000; }
 +.hover-bg-near-black:hover, 
 +.hover-bg-near-black:focus { background-color: #111; }
 +.hover-bg-dark-gray:hover, 
 +.hover-bg-dark-gray:focus { background-color: #333; }
 +.hover-bg-mid-gray:hover, 
 +.hover-bg-mid-gray:focus { background-color: #555; }
 +.hover-bg-gray:hover, 
 +.hover-bg-gray:focus { background-color: #777; }
 +.hover-bg-silver:hover, 
 +.hover-bg-silver:focus { background-color: #999; }
 +.hover-bg-light-silver:hover, 
 +.hover-bg-light-silver:focus { background-color: #aaa; }
 +.hover-bg-moon-gray:hover, 
 +.hover-bg-moon-gray:focus { background-color: #ccc; }
 +.hover-bg-light-gray:hover, 
 +.hover-bg-light-gray:focus { background-color: #eee; }
 +.hover-bg-near-white:hover, 
 +.hover-bg-near-white:focus { background-color: #f4f4f4; }
 +.hover-bg-white:hover, 
 +.hover-bg-white:focus { background-color: #fff; }
 +.hover-bg-transparent:hover, 
 +.hover-bg-transparent:focus { background-color: transparent; }
 +.hover-bg-black-90:hover,
 +.hover-bg-black-90:focus { background-color: rgba(0, 0, 0, .9); }
 +.hover-bg-black-80:hover,
 +.hover-bg-black-80:focus { background-color: rgba(0, 0, 0, .8); }
 +.hover-bg-black-70:hover,
 +.hover-bg-black-70:focus { background-color: rgba(0, 0, 0, .7); }
 +.hover-bg-black-60:hover,
 +.hover-bg-black-60:focus { background-color: rgba(0, 0, 0, .6); }
 +.hover-bg-black-50:hover,
 +.hover-bg-black-50:focus { background-color: rgba(0, 0, 0, .5); }
 +.hover-bg-black-40:hover,
 +.hover-bg-black-40:focus { background-color: rgba(0, 0, 0, .4); }
 +.hover-bg-black-30:hover,
 +.hover-bg-black-30:focus { background-color: rgba(0, 0, 0, .3); }
 +.hover-bg-black-20:hover,
 +.hover-bg-black-20:focus { background-color: rgba(0, 0, 0, .2); }
 +.hover-bg-black-10:hover,
 +.hover-bg-black-10:focus { background-color: rgba(0, 0, 0, .1); }
 +.hover-bg-white-90:hover,
 +.hover-bg-white-90:focus { background-color: rgba(255, 255, 255, .9); }
 +.hover-bg-white-80:hover,
 +.hover-bg-white-80:focus { background-color: rgba(255, 255, 255, .8); }
 +.hover-bg-white-70:hover,
 +.hover-bg-white-70:focus { background-color: rgba(255, 255, 255, .7); }
 +.hover-bg-white-60:hover,
 +.hover-bg-white-60:focus { background-color: rgba(255, 255, 255, .6); }
 +.hover-bg-white-50:hover,
 +.hover-bg-white-50:focus { background-color: rgba(255, 255, 255, .5); }
 +.hover-bg-white-40:hover,
 +.hover-bg-white-40:focus { background-color: rgba(255, 255, 255, .4); }
 +.hover-bg-white-30:hover,
 +.hover-bg-white-30:focus { background-color: rgba(255, 255, 255, .3); }
 +.hover-bg-white-20:hover,
 +.hover-bg-white-20:focus { background-color: rgba(255, 255, 255, .2); }
 +.hover-bg-white-10:hover,
 +.hover-bg-white-10:focus { background-color: rgba(255, 255, 255, .1); }
 +.hover-dark-red:hover,
 +.hover-dark-red:focus { color: #e7040f; }
 +.hover-red:hover,
 +.hover-red:focus { color: #ff4136; }
 +.hover-light-red:hover,
 +.hover-light-red:focus { color: #ff725c; }
 +.hover-orange:hover,
 +.hover-orange:focus { color: #ff6300; }
 +.hover-gold:hover,
 +.hover-gold:focus { color: #ffb700; }
 +.hover-yellow:hover,
 +.hover-yellow:focus { color: #ffd700; }
 +.hover-light-yellow:hover,
 +.hover-light-yellow:focus { color: #fbf1a9; }
 +.hover-purple:hover,
 +.hover-purple:focus { color: #5e2ca5; }
 +.hover-light-purple:hover,
 +.hover-light-purple:focus { color: #a463f2; }
 +.hover-dark-pink:hover,
 +.hover-dark-pink:focus { color: #d5008f; }
 +.hover-hot-pink:hover,
 +.hover-hot-pink:focus { color: #ff41b4; }
 +.hover-pink:hover,
 +.hover-pink:focus { color: #ff80cc; }
 +.hover-light-pink:hover,
 +.hover-light-pink:focus { color: #ffa3d7; }
 +.hover-dark-green:hover,
 +.hover-dark-green:focus { color: #137752; }
 +.hover-green:hover,
 +.hover-green:focus { color: #19a974; }
 +.hover-light-green:hover,
 +.hover-light-green:focus { color: #9eebcf; }
 +.hover-navy:hover,
 +.hover-navy:focus { color: #001b44; }
 +.hover-dark-blue:hover,
 +.hover-dark-blue:focus { color: #00449e; }
 +.hover-blue:hover,
 +.hover-blue:focus { color: #0594CB; }
 +.hover-light-blue:hover,
 +.hover-light-blue:focus { color: #96ccff; }
 +.hover-lightest-blue:hover,
 +.hover-lightest-blue:focus { color: #cdecff; }
 +.hover-washed-blue:hover,
 +.hover-washed-blue:focus { color: #f6fffe; }
 +.hover-washed-green:hover,
 +.hover-washed-green:focus { color: #e8fdf5; }
 +.hover-washed-yellow:hover,
 +.hover-washed-yellow:focus { color: #fffceb; }
 +.hover-washed-red:hover,
 +.hover-washed-red:focus { color: #ffdfdf; }
 +.hover-bg-dark-red:hover,
 +.hover-bg-dark-red:focus { background-color: #e7040f; }
 +.hover-bg-red:hover,
 +.hover-bg-red:focus { background-color: #ff4136; }
 +.hover-bg-light-red:hover,
 +.hover-bg-light-red:focus { background-color: #ff725c; }
 +.hover-bg-orange:hover,
 +.hover-bg-orange:focus { background-color: #ff6300; }
 +.hover-bg-gold:hover,
 +.hover-bg-gold:focus { background-color: #ffb700; }
 +.hover-bg-yellow:hover,
 +.hover-bg-yellow:focus { background-color: #ffd700; }
 +.hover-bg-light-yellow:hover,
 +.hover-bg-light-yellow:focus { background-color: #fbf1a9; }
 +.hover-bg-purple:hover,
 +.hover-bg-purple:focus { background-color: #5e2ca5; }
 +.hover-bg-light-purple:hover,
 +.hover-bg-light-purple:focus { background-color: #a463f2; }
 +.hover-bg-dark-pink:hover,
 +.hover-bg-dark-pink:focus { background-color: #d5008f; }
 +.hover-bg-hot-pink:hover,
 +.hover-bg-hot-pink:focus { background-color: #ff41b4; }
 +.hover-bg-pink:hover,
 +.hover-bg-pink:focus { background-color: #ff80cc; }
 +.hover-bg-light-pink:hover,
 +.hover-bg-light-pink:focus { background-color: #ffa3d7; }
 +.hover-bg-dark-green:hover,
 +.hover-bg-dark-green:focus { background-color: #137752; }
 +.hover-bg-green:hover,
 +.hover-bg-green:focus { background-color: #19a974; }
 +.hover-bg-light-green:hover,
 +.hover-bg-light-green:focus { background-color: #9eebcf; }
 +.hover-bg-navy:hover,
 +.hover-bg-navy:focus { background-color: #001b44; }
 +.hover-bg-dark-blue:hover,
 +.hover-bg-dark-blue:focus { background-color: #00449e; }
 +.hover-bg-blue:hover,
 +.hover-bg-blue:focus { background-color: #0594CB; }
 +.hover-bg-light-blue:hover,
 +.hover-bg-light-blue:focus { background-color: #96ccff; }
 +.hover-bg-lightest-blue:hover,
 +.hover-bg-lightest-blue:focus { background-color: #cdecff; }
 +.hover-bg-washed-blue:hover,
 +.hover-bg-washed-blue:focus { background-color: #f6fffe; }
 +.hover-bg-washed-green:hover,
 +.hover-bg-washed-green:focus { background-color: #e8fdf5; }
 +.hover-bg-washed-yellow:hover,
 +.hover-bg-washed-yellow:focus { background-color: #fffceb; }
 +.hover-bg-washed-red:hover,
 +.hover-bg-washed-red:focus { background-color: #ffdfdf; }
 +.hover-bg-inherit:hover,
 +.hover-bg-inherit:focus { background-color: inherit; }
 +/* Variables */
 +/*
 +   SPACING
 +   Docs: http://tachyons.io/docs/layout/spacing/
 +
 +   An eight step powers of two scale ranging from 0 to 16rem.
 +
 +   Base:
 +     p = padding
 +     m = margin
 +
 +   Modifiers:
 +     a = all
 +     h = horizontal
 +     v = vertical
 +     t = top
 +     r = right
 +     b = bottom
 +     l = left
 +
 +     0 = none
 +     1 = 1st step in spacing scale
 +     2 = 2nd step in spacing scale
 +     3 = 3rd step in spacing scale
 +     4 = 4th step in spacing scale
 +     5 = 5th step in spacing scale
 +     6 = 6th step in spacing scale
 +     7 = 7th step in spacing scale
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.pa0 { padding: 0; }
 +.pa1 { padding: .25rem; }
 +.pa2 { padding: .5rem; }
 +.pa3 { padding: 1rem; }
 +.pa4 { padding: 2rem; }
 +.pa5 { padding: 4rem; }
 +.pa6 { padding: 8rem; }
 +.pa7 { padding: 16rem; }
 +.pl0 { padding-left: 0; }
 +.pl1 { padding-left: .25rem; }
 +.pl2 { padding-left: .5rem; }
 +.pl3 { padding-left: 1rem; }
 +.pl4 { padding-left: 2rem; }
 +.pl5 { padding-left: 4rem; }
 +.pl6 { padding-left: 8rem; }
 +.pl7 { padding-left: 16rem; }
 +.pr0 { padding-right: 0; }
 +.pr1 { padding-right: .25rem; }
 +.pr2 { padding-right: .5rem; }
 +.pr3 { padding-right: 1rem; }
 +.pr4 { padding-right: 2rem; }
 +.pr5 { padding-right: 4rem; }
 +.pr6 { padding-right: 8rem; }
 +.pr7 { padding-right: 16rem; }
 +.pb0 { padding-bottom: 0; }
 +.pb1 { padding-bottom: .25rem; }
 +.pb2 { padding-bottom: .5rem; }
 +.pb3 { padding-bottom: 1rem; }
 +.pb4 { padding-bottom: 2rem; }
 +.pb5 { padding-bottom: 4rem; }
 +.pb6 { padding-bottom: 8rem; }
 +.pb7 { padding-bottom: 16rem; }
 +.pt0 { padding-top: 0; }
 +.pt1 { padding-top: .25rem; }
 +.pt2 { padding-top: .5rem; }
 +.pt3 { padding-top: 1rem; }
 +.pt4 { padding-top: 2rem; }
 +.pt5 { padding-top: 4rem; }
 +.pt6 { padding-top: 8rem; }
 +.pt7 { padding-top: 16rem; }
 +.pv0 {
 +  padding-top: 0;
 +  padding-bottom: 0;
 +}
 +.pv1 {
 +  padding-top: .25rem;
 +  padding-bottom: .25rem;
 +}
 +.pv2 {
 +  padding-top: .5rem;
 +  padding-bottom: .5rem;
 +}
 +.pv3 {
 +  padding-top: 1rem;
 +  padding-bottom: 1rem;
 +}
 +.pv4 {
 +  padding-top: 2rem;
 +  padding-bottom: 2rem;
 +}
 +.pv5 {
 +  padding-top: 4rem;
 +  padding-bottom: 4rem;
 +}
 +.pv6 {
 +  padding-top: 8rem;
 +  padding-bottom: 8rem;
 +}
 +.pv7 {
 +  padding-top: 16rem;
 +  padding-bottom: 16rem;
 +}
 +.ph0 {
 +  padding-left: 0;
 +  padding-right: 0;
 +}
 +.ph1 {
 +  padding-left: .25rem;
 +  padding-right: .25rem;
 +}
 +.ph2 {
 +  padding-left: .5rem;
 +  padding-right: .5rem;
 +}
 +.ph3 {
 +  padding-left: 1rem;
 +  padding-right: 1rem;
 +}
 +.ph4 {
 +  padding-left: 2rem;
 +  padding-right: 2rem;
 +}
 +.ph5 {
 +  padding-left: 4rem;
 +  padding-right: 4rem;
 +}
 +.ph6 {
 +  padding-left: 8rem;
 +  padding-right: 8rem;
 +}
 +.ph7 {
 +  padding-left: 16rem;
 +  padding-right: 16rem;
 +}
 +.ma0  {  margin: 0; }
 +.ma1 {  margin: .25rem; }
 +.ma2  {  margin: .5rem; }
 +.ma3  {  margin: 1rem; }
 +.ma4  {  margin: 2rem; }
 +.ma5  {  margin: 4rem; }
 +.ma6 {  margin: 8rem; }
 +.ma7 { margin: 16rem; }
 +.ml0  {  margin-left: 0; }
 +.ml1 {  margin-left: .25rem; }
 +.ml2  {  margin-left: .5rem; }
 +.ml3  {  margin-left: 1rem; }
 +.ml4  {  margin-left: 2rem; }
 +.ml5  {  margin-left: 4rem; }
 +.ml6 {  margin-left: 8rem; }
 +.ml7 { margin-left: 16rem; }
 +.mr0  {  margin-right: 0; }
 +.mr1 {  margin-right: .25rem; }
 +.mr2  {  margin-right: .5rem; }
 +.mr3  {  margin-right: 1rem; }
 +.mr4  {  margin-right: 2rem; }
 +.mr5  {  margin-right: 4rem; }
 +.mr6 {  margin-right: 8rem; }
 +.mr7 { margin-right: 16rem; }
 +.mb0  {  margin-bottom: 0; }
 +.mb1 {  margin-bottom: .25rem; }
 +.mb2  {  margin-bottom: .5rem; }
 +.mb3  {  margin-bottom: 1rem; }
 +.mb4  {  margin-bottom: 2rem; }
 +.mb5  {  margin-bottom: 4rem; }
 +.mb6 {  margin-bottom: 8rem; }
 +.mb7 { margin-bottom: 16rem; }
 +.mt0  {  margin-top: 0; }
 +.mt1 {  margin-top: .25rem; }
 +.mt2  {  margin-top: .5rem; }
 +.mt3  {  margin-top: 1rem; }
 +.mt4  {  margin-top: 2rem; }
 +.mt5  {  margin-top: 4rem; }
 +.mt6 {  margin-top: 8rem; }
 +.mt7 { margin-top: 16rem; }
 +.mv0   {
 +  margin-top: 0;
 +  margin-bottom: 0;
 +}
 +.mv1  {
 +  margin-top: .25rem;
 +  margin-bottom: .25rem;
 +}
 +.mv2   {
 +  margin-top: .5rem;
 +  margin-bottom: .5rem;
 +}
 +.mv3   {
 +  margin-top: 1rem;
 +  margin-bottom: 1rem;
 +}
 +.mv4   {
 +  margin-top: 2rem;
 +  margin-bottom: 2rem;
 +}
 +.mv5   {
 +  margin-top: 4rem;
 +  margin-bottom: 4rem;
 +}
 +.mv6  {
 +  margin-top: 8rem;
 +  margin-bottom: 8rem;
 +}
 +.mv7  {
 +  margin-top: 16rem;
 +  margin-bottom: 16rem;
 +}
 +.mh0   {
 +  margin-left: 0;
 +  margin-right: 0;
 +}
 +.mh1   {
 +  margin-left: .25rem;
 +  margin-right: .25rem;
 +}
 +.mh2   {
 +  margin-left: .5rem;
 +  margin-right: .5rem;
 +}
 +.mh3   {
 +  margin-left: 1rem;
 +  margin-right: 1rem;
 +}
 +.mh4   {
 +  margin-left: 2rem;
 +  margin-right: 2rem;
 +}
 +.mh5   {
 +  margin-left: 4rem;
 +  margin-right: 4rem;
 +}
 +.mh6  {
 +  margin-left: 8rem;
 +  margin-right: 8rem;
 +}
 +.mh7  {
 +  margin-left: 16rem;
 +  margin-right: 16rem;
 +}
 +@media screen and (min-width: 30em) {
 +  .pa0-ns  {  padding: 0; }
 +  .pa1-ns {  padding: .25rem; }
 +  .pa2-ns  {  padding: .5rem; }
 +  .pa3-ns  {  padding: 1rem; }
 +  .pa4-ns  {  padding: 2rem; }
 +  .pa5-ns  {  padding: 4rem; }
 +  .pa6-ns {  padding: 8rem; }
 +  .pa7-ns { padding: 16rem; }
 +
 +  .pl0-ns  {  padding-left: 0; }
 +  .pl1-ns {  padding-left: .25rem; }
 +  .pl2-ns  {  padding-left: .5rem; }
 +  .pl3-ns  {  padding-left: 1rem; }
 +  .pl4-ns  {  padding-left: 2rem; }
 +  .pl5-ns  {  padding-left: 4rem; }
 +  .pl6-ns {  padding-left: 8rem; }
 +  .pl7-ns { padding-left: 16rem; }
 +
 +  .pr0-ns  {  padding-right: 0; }
 +  .pr1-ns {  padding-right: .25rem; }
 +  .pr2-ns  {  padding-right: .5rem; }
 +  .pr3-ns  {  padding-right: 1rem; }
 +  .pr4-ns  {  padding-right: 2rem; }
 +  .pr5-ns {   padding-right: 4rem; }
 +  .pr6-ns {  padding-right: 8rem; }
 +  .pr7-ns { padding-right: 16rem; }
 +
 +  .pb0-ns  {  padding-bottom: 0; }
 +  .pb1-ns {  padding-bottom: .25rem; }
 +  .pb2-ns  {  padding-bottom: .5rem; }
 +  .pb3-ns  {  padding-bottom: 1rem; }
 +  .pb4-ns  {  padding-bottom: 2rem; }
 +  .pb5-ns  {  padding-bottom: 4rem; }
 +  .pb6-ns {  padding-bottom: 8rem; }
 +  .pb7-ns { padding-bottom: 16rem; }
 +
 +  .pt0-ns  {  padding-top: 0; }
 +  .pt1-ns {  padding-top: .25rem; }
 +  .pt2-ns  {  padding-top: .5rem; }
 +  .pt3-ns  {  padding-top: 1rem; }
 +  .pt4-ns  {  padding-top: 2rem; }
 +  .pt5-ns  {  padding-top: 4rem; }
 +  .pt6-ns {  padding-top: 8rem; }
 +  .pt7-ns { padding-top: 16rem; }
 +
 +  .pv0-ns {
 +    padding-top: 0;
 +    padding-bottom: 0;
 +  }
 +  .pv1-ns {
 +    padding-top: .25rem;
 +    padding-bottom: .25rem;
 +  }
 +  .pv2-ns {
 +    padding-top: .5rem;
 +    padding-bottom: .5rem;
 +  }
 +  .pv3-ns {
 +    padding-top: 1rem;
 +    padding-bottom: 1rem;
 +  }
 +  .pv4-ns {
 +    padding-top: 2rem;
 +    padding-bottom: 2rem;
 +  }
 +  .pv5-ns {
 +    padding-top: 4rem;
 +    padding-bottom: 4rem;
 +  }
 +  .pv6-ns {
 +    padding-top: 8rem;
 +    padding-bottom: 8rem;
 +  }
 +  .pv7-ns {
 +    padding-top: 16rem;
 +    padding-bottom: 16rem;
 +  }
 +  .ph0-ns {
 +    padding-left: 0;
 +    padding-right: 0;
 +  }
 +  .ph1-ns {
 +    padding-left: .25rem;
 +    padding-right: .25rem;
 +  }
 +  .ph2-ns {
 +    padding-left: .5rem;
 +    padding-right: .5rem;
 +  }
 +  .ph3-ns {
 +    padding-left: 1rem;
 +    padding-right: 1rem;
 +  }
 +  .ph4-ns {
 +    padding-left: 2rem;
 +    padding-right: 2rem;
 +  }
 +  .ph5-ns {
 +    padding-left: 4rem;
 +    padding-right: 4rem;
 +  }
 +  .ph6-ns {
 +    padding-left: 8rem;
 +    padding-right: 8rem;
 +  }
 +  .ph7-ns {
 +    padding-left: 16rem;
 +    padding-right: 16rem;
 +  }
 +
 +  .ma0-ns  {  margin: 0; }
 +  .ma1-ns {  margin: .25rem; }
 +  .ma2-ns  {  margin: .5rem; }
 +  .ma3-ns  {  margin: 1rem; }
 +  .ma4-ns  {  margin: 2rem; }
 +  .ma5-ns  {  margin: 4rem; }
 +  .ma6-ns {  margin: 8rem; }
 +  .ma7-ns { margin: 16rem; }
 +
 +  .ml0-ns  {  margin-left: 0; }
 +  .ml1-ns {  margin-left: .25rem; }
 +  .ml2-ns  {  margin-left: .5rem; }
 +  .ml3-ns  {  margin-left: 1rem; }
 +  .ml4-ns  {  margin-left: 2rem; }
 +  .ml5-ns  {  margin-left: 4rem; }
 +  .ml6-ns {  margin-left: 8rem; }
 +  .ml7-ns { margin-left: 16rem; }
 +
 +  .mr0-ns  {  margin-right: 0; }
 +  .mr1-ns {  margin-right: .25rem; }
 +  .mr2-ns  {  margin-right: .5rem; }
 +  .mr3-ns  {  margin-right: 1rem; }
 +  .mr4-ns  {  margin-right: 2rem; }
 +  .mr5-ns  {  margin-right: 4rem; }
 +  .mr6-ns {  margin-right: 8rem; }
 +  .mr7-ns { margin-right: 16rem; }
 +
 +  .mb0-ns  {  margin-bottom: 0; }
 +  .mb1-ns {  margin-bottom: .25rem; }
 +  .mb2-ns  {  margin-bottom: .5rem; }
 +  .mb3-ns  {  margin-bottom: 1rem; }
 +  .mb4-ns  {  margin-bottom: 2rem; }
 +  .mb5-ns  {  margin-bottom: 4rem; }
 +  .mb6-ns {  margin-bottom: 8rem; }
 +  .mb7-ns { margin-bottom: 16rem; }
 +
 +  .mt0-ns  {  margin-top: 0; }
 +  .mt1-ns {  margin-top: .25rem; }
 +  .mt2-ns  {  margin-top: .5rem; }
 +  .mt3-ns  {  margin-top: 1rem; }
 +  .mt4-ns  {  margin-top: 2rem; }
 +  .mt5-ns  {  margin-top: 4rem; }
 +  .mt6-ns {  margin-top: 8rem; }
 +  .mt7-ns { margin-top: 16rem; }
 +
 +  .mv0-ns   {
 +    margin-top: 0;
 +    margin-bottom: 0;
 +  }
 +  .mv1-ns  {
 +    margin-top: .25rem;
 +    margin-bottom: .25rem;
 +  }
 +  .mv2-ns   {
 +    margin-top: .5rem;
 +    margin-bottom: .5rem;
 +  }
 +  .mv3-ns   {
 +    margin-top: 1rem;
 +    margin-bottom: 1rem;
 +  }
 +  .mv4-ns   {
 +    margin-top: 2rem;
 +    margin-bottom: 2rem;
 +  }
 +  .mv5-ns   {
 +    margin-top: 4rem;
 +    margin-bottom: 4rem;
 +  }
 +  .mv6-ns  {
 +    margin-top: 8rem;
 +    margin-bottom: 8rem;
 +  }
 +  .mv7-ns  {
 +    margin-top: 16rem;
 +    margin-bottom: 16rem;
 +  }
 +
 +  .mh0-ns   {
 +    margin-left: 0;
 +    margin-right: 0;
 +  }
 +  .mh1-ns   {
 +    margin-left: .25rem;
 +    margin-right: .25rem;
 +  }
 +  .mh2-ns   {
 +    margin-left: .5rem;
 +    margin-right: .5rem;
 +  }
 +  .mh3-ns   {
 +    margin-left: 1rem;
 +    margin-right: 1rem;
 +  }
 +  .mh4-ns   {
 +    margin-left: 2rem;
 +    margin-right: 2rem;
 +  }
 +  .mh5-ns   {
 +    margin-left: 4rem;
 +    margin-right: 4rem;
 +  }
 +  .mh6-ns  {
 +    margin-left: 8rem;
 +    margin-right: 8rem;
 +  }
 +  .mh7-ns  {
 +    margin-left: 16rem;
 +    margin-right: 16rem;
 +  }
 +
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .pa0-m  {  padding: 0; }
 +  .pa1-m {  padding: .25rem; }
 +  .pa2-m  {  padding: .5rem; }
 +  .pa3-m  {  padding: 1rem; }
 +  .pa4-m  {  padding: 2rem; }
 +  .pa5-m  {  padding: 4rem; }
 +  .pa6-m {  padding: 8rem; }
 +  .pa7-m { padding: 16rem; }
 +
 +  .pl0-m  {  padding-left: 0; }
 +  .pl1-m {  padding-left: .25rem; }
 +  .pl2-m  {  padding-left: .5rem; }
 +  .pl3-m  {  padding-left: 1rem; }
 +  .pl4-m  {  padding-left: 2rem; }
 +  .pl5-m  {  padding-left: 4rem; }
 +  .pl6-m {  padding-left: 8rem; }
 +  .pl7-m { padding-left: 16rem; }
 +
 +  .pr0-m  {  padding-right: 0; }
 +  .pr1-m {  padding-right: .25rem; }
 +  .pr2-m  {  padding-right: .5rem; }
 +  .pr3-m  {  padding-right: 1rem; }
 +  .pr4-m  {  padding-right: 2rem; }
 +  .pr5-m  {  padding-right: 4rem; }
 +  .pr6-m {  padding-right: 8rem; }
 +  .pr7-m { padding-right: 16rem; }
 +
 +  .pb0-m  {  padding-bottom: 0; }
 +  .pb1-m {  padding-bottom: .25rem; }
 +  .pb2-m  {  padding-bottom: .5rem; }
 +  .pb3-m  {  padding-bottom: 1rem; }
 +  .pb4-m  {  padding-bottom: 2rem; }
 +  .pb5-m  {  padding-bottom: 4rem; }
 +  .pb6-m {  padding-bottom: 8rem; }
 +  .pb7-m { padding-bottom: 16rem; }
 +
 +  .pt0-m  {  padding-top: 0; }
 +  .pt1-m {  padding-top: .25rem; }
 +  .pt2-m  {  padding-top: .5rem; }
 +  .pt3-m  {  padding-top: 1rem; }
 +  .pt4-m  {  padding-top: 2rem; }
 +  .pt5-m  {  padding-top: 4rem; }
 +  .pt6-m {  padding-top: 8rem; }
 +  .pt7-m { padding-top: 16rem; }
 +
 +  .pv0-m {
 +    padding-top: 0;
 +    padding-bottom: 0;
 +  }
 +  .pv1-m {
 +    padding-top: .25rem;
 +    padding-bottom: .25rem;
 +  }
 +  .pv2-m {
 +    padding-top: .5rem;
 +    padding-bottom: .5rem;
 +  }
 +  .pv3-m {
 +    padding-top: 1rem;
 +    padding-bottom: 1rem;
 +  }
 +  .pv4-m {
 +    padding-top: 2rem;
 +    padding-bottom: 2rem;
 +  }
 +  .pv5-m {
 +    padding-top: 4rem;
 +    padding-bottom: 4rem;
 +  }
 +  .pv6-m {
 +    padding-top: 8rem;
 +    padding-bottom: 8rem;
 +  }
 +  .pv7-m {
 +    padding-top: 16rem;
 +    padding-bottom: 16rem;
 +  }
 +
 +  .ph0-m {
 +    padding-left: 0;
 +    padding-right: 0;
 +  }
 +  .ph1-m {
 +    padding-left: .25rem;
 +    padding-right: .25rem;
 +  }
 +  .ph2-m {
 +    padding-left: .5rem;
 +    padding-right: .5rem;
 +  }
 +  .ph3-m {
 +    padding-left: 1rem;
 +    padding-right: 1rem;
 +  }
 +  .ph4-m {
 +    padding-left: 2rem;
 +    padding-right: 2rem;
 +  }
 +  .ph5-m {
 +    padding-left: 4rem;
 +    padding-right: 4rem;
 +  }
 +  .ph6-m {
 +    padding-left: 8rem;
 +    padding-right: 8rem;
 +  }
 +  .ph7-m {
 +    padding-left: 16rem;
 +    padding-right: 16rem;
 +  }
 +
 +  .ma0-m  {  margin: 0; }
 +  .ma1-m {  margin: .25rem; }
 +  .ma2-m  {  margin: .5rem; }
 +  .ma3-m  {  margin: 1rem; }
 +  .ma4-m  {  margin: 2rem; }
 +  .ma5-m  {  margin: 4rem; }
 +  .ma6-m {  margin: 8rem; }
 +  .ma7-m { margin: 16rem; }
 +
 +  .ml0-m  {  margin-left: 0; }
 +  .ml1-m {  margin-left: .25rem; }
 +  .ml2-m  {  margin-left: .5rem; }
 +  .ml3-m  {  margin-left: 1rem; }
 +  .ml4-m  {  margin-left: 2rem; }
 +  .ml5-m  {  margin-left: 4rem; }
 +  .ml6-m {  margin-left: 8rem; }
 +  .ml7-m { margin-left: 16rem; }
 +
 +  .mr0-m  {  margin-right: 0; }
 +  .mr1-m {  margin-right: .25rem; }
 +  .mr2-m  {  margin-right: .5rem; }
 +  .mr3-m  {  margin-right: 1rem; }
 +  .mr4-m  {  margin-right: 2rem; }
 +  .mr5-m  {  margin-right: 4rem; }
 +  .mr6-m {  margin-right: 8rem; }
 +  .mr7-m { margin-right: 16rem; }
 +
 +  .mb0-m  {  margin-bottom: 0; }
 +  .mb1-m {  margin-bottom: .25rem; }
 +  .mb2-m  {  margin-bottom: .5rem; }
 +  .mb3-m  {  margin-bottom: 1rem; }
 +  .mb4-m  {  margin-bottom: 2rem; }
 +  .mb5-m  {  margin-bottom: 4rem; }
 +  .mb6-m {  margin-bottom: 8rem; }
 +  .mb7-m { margin-bottom: 16rem; }
 +
 +  .mt0-m  {  margin-top: 0; }
 +  .mt1-m {  margin-top: .25rem; }
 +  .mt2-m  {  margin-top: .5rem; }
 +  .mt3-m  {  margin-top: 1rem; }
 +  .mt4-m  {  margin-top: 2rem; }
 +  .mt5-m  {  margin-top: 4rem; }
 +  .mt6-m {  margin-top: 8rem; }
 +  .mt7-m { margin-top: 16rem; }
 +
 +  .mv0-m {
 +    margin-top: 0;
 +    margin-bottom: 0;
 +  }
 +  .mv1-m {
 +    margin-top: .25rem;
 +    margin-bottom: .25rem;
 +  }
 +  .mv2-m {
 +    margin-top: .5rem;
 +    margin-bottom: .5rem;
 +  }
 +  .mv3-m {
 +    margin-top: 1rem;
 +    margin-bottom: 1rem;
 +  }
 +  .mv4-m {
 +    margin-top: 2rem;
 +    margin-bottom: 2rem;
 +  }
 +  .mv5-m {
 +    margin-top: 4rem;
 +    margin-bottom: 4rem;
 +  }
 +  .mv6-m {
 +    margin-top: 8rem;
 +    margin-bottom: 8rem;
 +  }
 +  .mv7-m {
 +    margin-top: 16rem;
 +    margin-bottom: 16rem;
 +  }
 +
 +  .mh0-m {
 +    margin-left: 0;
 +    margin-right: 0;
 +  }
 +  .mh1-m {
 +    margin-left: .25rem;
 +    margin-right: .25rem;
 +  }
 +  .mh2-m {
 +    margin-left: .5rem;
 +    margin-right: .5rem;
 +  }
 +  .mh3-m {
 +    margin-left: 1rem;
 +    margin-right: 1rem;
 +  }
 +  .mh4-m {
 +    margin-left: 2rem;
 +    margin-right: 2rem;
 +  }
 +  .mh5-m {
 +    margin-left: 4rem;
 +    margin-right: 4rem;
 +  }
 +  .mh6-m {
 +    margin-left: 8rem;
 +    margin-right: 8rem;
 +  }
 +  .mh7-m {
 +    margin-left: 16rem;
 +    margin-right: 16rem;
 +  }
 +
 +}
 +@media screen and (min-width: 60em) {
 +  .pa0-l  {  padding: 0; }
 +  .pa1-l {  padding: .25rem; }
 +  .pa2-l  {  padding: .5rem; }
 +  .pa3-l  {  padding: 1rem; }
 +  .pa4-l  {  padding: 2rem; }
 +  .pa5-l  {  padding: 4rem; }
 +  .pa6-l {  padding: 8rem; }
 +  .pa7-l { padding: 16rem; }
 +
 +  .pl0-l  {  padding-left: 0; }
 +  .pl1-l {  padding-left: .25rem; }
 +  .pl2-l  {  padding-left: .5rem; }
 +  .pl3-l  {  padding-left: 1rem; }
 +  .pl4-l  {  padding-left: 2rem; }
 +  .pl5-l  {  padding-left: 4rem; }
 +  .pl6-l {  padding-left: 8rem; }
 +  .pl7-l { padding-left: 16rem; }
 +
 +  .pr0-l  {  padding-right: 0; }
 +  .pr1-l {  padding-right: .25rem; }
 +  .pr2-l  {  padding-right: .5rem; }
 +  .pr3-l  {  padding-right: 1rem; }
 +  .pr4-l  {  padding-right: 2rem; }
 +  .pr5-l  {  padding-right: 4rem; }
 +  .pr6-l {  padding-right: 8rem; }
 +  .pr7-l { padding-right: 16rem; }
 +
 +  .pb0-l  {  padding-bottom: 0; }
 +  .pb1-l {  padding-bottom: .25rem; }
 +  .pb2-l  {  padding-bottom: .5rem; }
 +  .pb3-l  {  padding-bottom: 1rem; }
 +  .pb4-l  {  padding-bottom: 2rem; }
 +  .pb5-l  {  padding-bottom: 4rem; }
 +  .pb6-l {  padding-bottom: 8rem; }
 +  .pb7-l { padding-bottom: 16rem; }
 +
 +  .pt0-l  {  padding-top: 0; }
 +  .pt1-l {  padding-top: .25rem; }
 +  .pt2-l  {  padding-top: .5rem; }
 +  .pt3-l  {  padding-top: 1rem; }
 +  .pt4-l  {  padding-top: 2rem; }
 +  .pt5-l  {  padding-top: 4rem; }
 +  .pt6-l {  padding-top: 8rem; }
 +  .pt7-l { padding-top: 16rem; }
 +
 +  .pv0-l {
 +    padding-top: 0;
 +    padding-bottom: 0;
 +  }
 +  .pv1-l {
 +    padding-top: .25rem;
 +    padding-bottom: .25rem;
 +  }
 +  .pv2-l {
 +    padding-top: .5rem;
 +    padding-bottom: .5rem;
 +  }
 +  .pv3-l {
 +    padding-top: 1rem;
 +    padding-bottom: 1rem;
 +  }
 +  .pv4-l {
 +    padding-top: 2rem;
 +    padding-bottom: 2rem;
 +  }
 +  .pv5-l {
 +    padding-top: 4rem;
 +    padding-bottom: 4rem;
 +  }
 +  .pv6-l {
 +    padding-top: 8rem;
 +    padding-bottom: 8rem;
 +  }
 +  .pv7-l {
 +    padding-top: 16rem;
 +    padding-bottom: 16rem;
 +  }
 +
 +  .ph0-l {
 +    padding-left: 0;
 +    padding-right: 0;
 +  }
 +  .ph1-l {
 +    padding-left: .25rem;
 +    padding-right: .25rem;
 +  }
 +  .ph2-l {
 +    padding-left: .5rem;
 +    padding-right: .5rem;
 +  }
 +  .ph3-l {
 +    padding-left: 1rem;
 +    padding-right: 1rem;
 +  }
 +  .ph4-l {
 +    padding-left: 2rem;
 +    padding-right: 2rem;
 +  }
 +  .ph5-l {
 +    padding-left: 4rem;
 +    padding-right: 4rem;
 +  }
 +  .ph6-l {
 +    padding-left: 8rem;
 +    padding-right: 8rem;
 +  }
 +  .ph7-l {
 +    padding-left: 16rem;
 +    padding-right: 16rem;
 +  }
 +
 +  .ma0-l  {  margin: 0; }
 +  .ma1-l {  margin: .25rem; }
 +  .ma2-l  {  margin: .5rem; }
 +  .ma3-l  {  margin: 1rem; }
 +  .ma4-l  {  margin: 2rem; }
 +  .ma5-l  {  margin: 4rem; }
 +  .ma6-l {  margin: 8rem; }
 +  .ma7-l { margin: 16rem; }
 +
 +  .ml0-l  {  margin-left: 0; }
 +  .ml1-l {  margin-left: .25rem; }
 +  .ml2-l  {  margin-left: .5rem; }
 +  .ml3-l  {  margin-left: 1rem; }
 +  .ml4-l  {  margin-left: 2rem; }
 +  .ml5-l  {  margin-left: 4rem; }
 +  .ml6-l {  margin-left: 8rem; }
 +  .ml7-l { margin-left: 16rem; }
 +
 +  .mr0-l  {  margin-right: 0; }
 +  .mr1-l {  margin-right: .25rem; }
 +  .mr2-l  {  margin-right: .5rem; }
 +  .mr3-l  {  margin-right: 1rem; }
 +  .mr4-l  {  margin-right: 2rem; }
 +  .mr5-l  {  margin-right: 4rem; }
 +  .mr6-l {  margin-right: 8rem; }
 +  .mr7-l { margin-right: 16rem; }
 +
 +  .mb0-l  {  margin-bottom: 0; }
 +  .mb1-l {  margin-bottom: .25rem; }
 +  .mb2-l  {  margin-bottom: .5rem; }
 +  .mb3-l  {  margin-bottom: 1rem; }
 +  .mb4-l  {  margin-bottom: 2rem; }
 +  .mb5-l  {  margin-bottom: 4rem; }
 +  .mb6-l {  margin-bottom: 8rem; }
 +  .mb7-l { margin-bottom: 16rem; }
 +
 +  .mt0-l  {  margin-top: 0; }
 +  .mt1-l {  margin-top: .25rem; }
 +  .mt2-l  {  margin-top: .5rem; }
 +  .mt3-l  {  margin-top: 1rem; }
 +  .mt4-l  {  margin-top: 2rem; }
 +  .mt5-l  {  margin-top: 4rem; }
 +  .mt6-l {  margin-top: 8rem; }
 +  .mt7-l { margin-top: 16rem; }
 +
 +  .mv0-l {
 +    margin-top: 0;
 +    margin-bottom: 0;
 +  }
 +  .mv1-l {
 +    margin-top: .25rem;
 +    margin-bottom: .25rem;
 +  }
 +  .mv2-l {
 +    margin-top: .5rem;
 +    margin-bottom: .5rem;
 +  }
 +  .mv3-l {
 +    margin-top: 1rem;
 +    margin-bottom: 1rem;
 +  }
 +  .mv4-l {
 +    margin-top: 2rem;
 +    margin-bottom: 2rem;
 +  }
 +  .mv5-l {
 +    margin-top: 4rem;
 +    margin-bottom: 4rem;
 +  }
 +  .mv6-l {
 +    margin-top: 8rem;
 +    margin-bottom: 8rem;
 +  }
 +  .mv7-l {
 +    margin-top: 16rem;
 +    margin-bottom: 16rem;
 +  }
 +
 +  .mh0-l {
 +    margin-left: 0;
 +    margin-right: 0;
 +  }
 +  .mh1-l {
 +    margin-left: .25rem;
 +    margin-right: .25rem;
 +  }
 +  .mh2-l {
 +    margin-left: .5rem;
 +    margin-right: .5rem;
 +  }
 +  .mh3-l {
 +    margin-left: 1rem;
 +    margin-right: 1rem;
 +  }
 +  .mh4-l {
 +    margin-left: 2rem;
 +    margin-right: 2rem;
 +  }
 +  .mh5-l {
 +    margin-left: 4rem;
 +    margin-right: 4rem;
 +  }
 +  .mh6-l {
 +    margin-left: 8rem;
 +    margin-right: 8rem;
 +  }
 +  .mh7-l {
 +    margin-left: 16rem;
 +    margin-right: 16rem;
 +  }
 +}
 +/*
 +   NEGATIVE MARGINS
 +
 +   Base:
 +     n = negative
 +
 +   Modifiers:
 +     a = all
 +     t = top
 +     r = right
 +     b = bottom
 +     l = left
 +
 +     1 = 1st step in spacing scale
 +     2 = 2nd step in spacing scale
 +     3 = 3rd step in spacing scale
 +     4 = 4th step in spacing scale
 +     5 = 5th step in spacing scale
 +     6 = 6th step in spacing scale
 +     7 = 7th step in spacing scale
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.na1 { margin: -0.25rem; }
 +.na2 { margin: -0.5rem; }
 +.na3 { margin: -1rem; }
 +.na4 { margin: -2rem; }
 +.na5 { margin: -4rem; }
 +.na6 { margin: -8rem; }
 +.na7 { margin: -16rem; }
 +.nl1 { margin-left: -0.25rem; }
 +.nl2 { margin-left: -0.5rem; }
 +.nl3 { margin-left: -1rem; }
 +.nl4 { margin-left: -2rem; }
 +.nl5 { margin-left: -4rem; }
 +.nl6 { margin-left: -8rem; }
 +.nl7 { margin-left: -16rem; }
 +.nr1 { margin-right: -0.25rem; }
 +.nr2 { margin-right: -0.5rem; }
 +.nr3 { margin-right: -1rem; }
 +.nr4 { margin-right: -2rem; }
 +.nr5 { margin-right: -4rem; }
 +.nr6 { margin-right: -8rem; }
 +.nr7 { margin-right: -16rem; }
 +.nb1 { margin-bottom: -0.25rem; }
 +.nb2 { margin-bottom: -0.5rem; }
 +.nb3 { margin-bottom: -1rem; }
 +.nb4 { margin-bottom: -2rem; }
 +.nb5 { margin-bottom: -4rem; }
 +.nb6 { margin-bottom: -8rem; }
 +.nb7 { margin-bottom: -16rem; }
 +.nt1 { margin-top: -0.25rem; }
 +.nt2 { margin-top: -0.5rem; }
 +.nt3 { margin-top: -1rem; }
 +.nt4 { margin-top: -2rem; }
 +.nt5 { margin-top: -4rem; }
 +.nt6 { margin-top: -8rem; }
 +.nt7 { margin-top: -16rem; }
 +@media screen and (min-width: 30em) {
 +
 +  .na1-ns { margin: -0.25rem; }
 +  .na2-ns { margin: -0.5rem; }
 +  .na3-ns { margin: -1rem; }
 +  .na4-ns { margin: -2rem; }
 +  .na5-ns { margin: -4rem; }
 +  .na6-ns { margin: -8rem; }
 +  .na7-ns { margin: -16rem; }
 +
 +  .nl1-ns { margin-left: -0.25rem; }
 +  .nl2-ns { margin-left: -0.5rem; }
 +  .nl3-ns { margin-left: -1rem; }
 +  .nl4-ns { margin-left: -2rem; }
 +  .nl5-ns { margin-left: -4rem; }
 +  .nl6-ns { margin-left: -8rem; }
 +  .nl7-ns { margin-left: -16rem; }
 +
 +  .nr1-ns { margin-right: -0.25rem; }
 +  .nr2-ns { margin-right: -0.5rem; }
 +  .nr3-ns { margin-right: -1rem; }
 +  .nr4-ns { margin-right: -2rem; }
 +  .nr5-ns { margin-right: -4rem; }
 +  .nr6-ns { margin-right: -8rem; }
 +  .nr7-ns { margin-right: -16rem; }
 +
 +  .nb1-ns { margin-bottom: -0.25rem; }
 +  .nb2-ns { margin-bottom: -0.5rem; }
 +  .nb3-ns { margin-bottom: -1rem; }
 +  .nb4-ns { margin-bottom: -2rem; }
 +  .nb5-ns { margin-bottom: -4rem; }
 +  .nb6-ns { margin-bottom: -8rem; }
 +  .nb7-ns { margin-bottom: -16rem; }
 +
 +  .nt1-ns { margin-top: -0.25rem; }
 +  .nt2-ns { margin-top: -0.5rem; }
 +  .nt3-ns { margin-top: -1rem; }
 +  .nt4-ns { margin-top: -2rem; }
 +  .nt5-ns { margin-top: -4rem; }
 +  .nt6-ns { margin-top: -8rem; }
 +  .nt7-ns { margin-top: -16rem; }
 +
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .na1-m { margin: -0.25rem; }
 +  .na2-m { margin: -0.5rem; }
 +  .na3-m { margin: -1rem; }
 +  .na4-m { margin: -2rem; }
 +  .na5-m { margin: -4rem; }
 +  .na6-m { margin: -8rem; }
 +  .na7-m { margin: -16rem; }
 +
 +  .nl1-m { margin-left: -0.25rem; }
 +  .nl2-m { margin-left: -0.5rem; }
 +  .nl3-m { margin-left: -1rem; }
 +  .nl4-m { margin-left: -2rem; }
 +  .nl5-m { margin-left: -4rem; }
 +  .nl6-m { margin-left: -8rem; }
 +  .nl7-m { margin-left: -16rem; }
 +
 +  .nr1-m { margin-right: -0.25rem; }
 +  .nr2-m { margin-right: -0.5rem; }
 +  .nr3-m { margin-right: -1rem; }
 +  .nr4-m { margin-right: -2rem; }
 +  .nr5-m { margin-right: -4rem; }
 +  .nr6-m { margin-right: -8rem; }
 +  .nr7-m { margin-right: -16rem; }
 +
 +  .nb1-m { margin-bottom: -0.25rem; }
 +  .nb2-m { margin-bottom: -0.5rem; }
 +  .nb3-m { margin-bottom: -1rem; }
 +  .nb4-m { margin-bottom: -2rem; }
 +  .nb5-m { margin-bottom: -4rem; }
 +  .nb6-m { margin-bottom: -8rem; }
 +  .nb7-m { margin-bottom: -16rem; }
 +
 +  .nt1-m { margin-top: -0.25rem; }
 +  .nt2-m { margin-top: -0.5rem; }
 +  .nt3-m { margin-top: -1rem; }
 +  .nt4-m { margin-top: -2rem; }
 +  .nt5-m { margin-top: -4rem; }
 +  .nt6-m { margin-top: -8rem; }
 +  .nt7-m { margin-top: -16rem; }
 +
 +}
 +@media screen and (min-width: 60em) {
 +  .na1-l { margin: -0.25rem; }
 +  .na2-l { margin: -0.5rem; }
 +  .na3-l { margin: -1rem; }
 +  .na4-l { margin: -2rem; }
 +  .na5-l { margin: -4rem; }
 +  .na6-l { margin: -8rem; }
 +  .na7-l { margin: -16rem; }
 +
 +  .nl1-l { margin-left: -0.25rem; }
 +  .nl2-l { margin-left: -0.5rem; }
 +  .nl3-l { margin-left: -1rem; }
 +  .nl4-l { margin-left: -2rem; }
 +  .nl5-l { margin-left: -4rem; }
 +  .nl6-l { margin-left: -8rem; }
 +  .nl7-l { margin-left: -16rem; }
 +
 +  .nr1-l { margin-right: -0.25rem; }
 +  .nr2-l { margin-right: -0.5rem; }
 +  .nr3-l { margin-right: -1rem; }
 +  .nr4-l { margin-right: -2rem; }
 +  .nr5-l { margin-right: -4rem; }
 +  .nr6-l { margin-right: -8rem; }
 +  .nr7-l { margin-right: -16rem; }
 +
 +  .nb1-l { margin-bottom: -0.25rem; }
 +  .nb2-l { margin-bottom: -0.5rem; }
 +  .nb3-l { margin-bottom: -1rem; }
 +  .nb4-l { margin-bottom: -2rem; }
 +  .nb5-l { margin-bottom: -4rem; }
 +  .nb6-l { margin-bottom: -8rem; }
 +  .nb7-l { margin-bottom: -16rem; }
 +
 +  .nt1-l { margin-top: -0.25rem; }
 +  .nt2-l { margin-top: -0.5rem; }
 +  .nt3-l { margin-top: -1rem; }
 +  .nt4-l { margin-top: -2rem; }
 +  .nt5-l { margin-top: -4rem; }
 +  .nt6-l { margin-top: -8rem; }
 +  .nt7-l { margin-top: -16rem; }
 +}
 +/*
 +
 +  TABLES
 +  Docs: http://tachyons.io/docs/elements/tables/
 +
 +*/
 +.collapse {
 +    border-collapse: collapse;
 +    border-spacing: 0;
 +}
 +.striped--light-silver:nth-child(odd) {
 +  background-color: #aaa;
 +}
 +.striped--moon-gray:nth-child(odd) {
 +  background-color: #ccc;
 +}
 +.striped--light-gray:nth-child(odd) {
 +  background-color: #eee;
 +}
 +.striped--near-white:nth-child(odd) {
 +  background-color: #f4f4f4;
 +}
 +.stripe-light:nth-child(odd) {
 +  background-color: rgba(255, 255, 255, .1);
 +}
 +.stripe-dark:nth-child(odd) {
 +  background-color: rgba(0, 0, 0, .1);
 +}
 +/*
 +
 +   TEXT DECORATION
 +   Docs: http://tachyons.io/docs/typography/text-decoration/
 +
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.strike       { text-decoration: line-through; }
 +.underline    { text-decoration: underline; }
 +.no-underline { text-decoration: none; }
 +@media screen and (min-width: 30em) {
 +  .strike-ns       { text-decoration: line-through; }
 +  .underline-ns    { text-decoration: underline; }
 +  .no-underline-ns { text-decoration: none; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .strike-m       { text-decoration: line-through; }
 +  .underline-m    { text-decoration: underline; }
 +  .no-underline-m { text-decoration: none; }
 +}
 +@media screen and (min-width: 60em) {
 +  .strike-l       { text-decoration: line-through; }
 +  .underline-l {    text-decoration: underline; }
 +  .no-underline-l { text-decoration: none; }
 +}
 +/*
 +
 +  TEXT ALIGN
 +  Docs: http://tachyons.io/docs/typography/text-align/
 +
 +  Base
 +    t = text-align
 +
 +  Modifiers
 +    l = left
 +    r = right
 +    c = center
 +    j = justify
 +
 +  Media Query Extensions:
 +    -ns = not-small
 +    -m  = medium
 +    -l  = large
 +
 +*/
 +.tl  { text-align: left; }
 +.tr  { text-align: right; }
 +.tc  { text-align: center; }
 +.tj  { text-align: justify; }
 +@media screen and (min-width: 30em) {
 +  .tl-ns  { text-align: left; }
 +  .tr-ns  { text-align: right; }
 +  .tc-ns  { text-align: center; }
 +  .tj-ns  { text-align: justify; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .tl-m  { text-align: left; }
 +  .tr-m  { text-align: right; }
 +  .tc-m  { text-align: center; }
 +  .tj-m  { text-align: justify; }
 +}
 +@media screen and (min-width: 60em) {
 +  .tl-l  { text-align: left; }
 +  .tr-l  { text-align: right; }
 +  .tc-l  { text-align: center; }
 +  .tj-l  { text-align: justify; }
 +}
 +/*
 +
 +   TEXT TRANSFORM
 +   Docs: http://tachyons.io/docs/typography/text-transform/
 +
 +   Base:
 +     tt = text-transform
 +
 +   Modifiers
 +     c = capitalize
 +     l = lowercase
 +     u = uppercase
 +     n = none
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.ttc { text-transform: capitalize; }
 +.ttl { text-transform: lowercase; }
 +.ttu { text-transform: uppercase; }
 +.ttn { text-transform: none; }
 +@media screen and (min-width: 30em) {
 +  .ttc-ns { text-transform: capitalize; }
 +  .ttl-ns { text-transform: lowercase; }
 +  .ttu-ns { text-transform: uppercase; }
 +  .ttn-ns { text-transform: none; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .ttc-m { text-transform: capitalize; }
 +  .ttl-m { text-transform: lowercase; }
 +  .ttu-m { text-transform: uppercase; }
 +  .ttn-m { text-transform: none; }
 +}
 +@media screen and (min-width: 60em) {
 +  .ttc-l { text-transform: capitalize; }
 +  .ttl-l { text-transform: lowercase; }
 +  .ttu-l { text-transform: uppercase; }
 +  .ttn-l { text-transform: none; }
 +}
 +/*
 +
 +   TYPE SCALE
 +   Docs: http://tachyons.io/docs/typography/scale/
 +
 +   Base:
 +    f = font-size
 +
 +   Modifiers
 +     1 = 1st step in size scale
 +     2 = 2nd step in size scale
 +     3 = 3rd step in size scale
 +     4 = 4th step in size scale
 +     5 = 5th step in size scale
 +     6 = 6th step in size scale
 +     7 = 7th step in size scale
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +*/
 +/*
 + * For Hero/Marketing Titles
 + *
 + * These generally are too large for mobile
 + * so be careful using them on smaller screens.
 + * */
 +.f-6,
 +.f-headline {
 +  font-size: 6rem;
 +}
 +.f-5,
 +.f-subheadline {
 +  font-size: 5rem;
 +}
 +/* Type Scale */
 +.f1 { font-size: 3rem; }
 +.f2 { font-size: 2.25rem; }
 +.f3 { font-size: 1.5rem; }
 +.f4 { font-size: 1.25rem; }
 +.f5 { font-size: 1rem; }
 +.f6 { font-size: .875rem; }
 +.f7 { font-size: .75rem; }
 +/* Small and hard to read for many people so use with extreme caution */
 +@media screen and (min-width: 30em){
 +  .f-6-ns,
 +  .f-headline-ns { font-size: 6rem; }
 +  .f-5-ns,
 +  .f-subheadline-ns { font-size: 5rem; }
 +  .f1-ns { font-size: 3rem; }
 +  .f2-ns { font-size: 2.25rem; }
 +  .f3-ns { font-size: 1.5rem; }
 +  .f4-ns { font-size: 1.25rem; }
 +  .f5-ns { font-size: 1rem; }
 +  .f6-ns { font-size: .875rem; }
 +  .f7-ns { font-size: .75rem; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .f-6-m,
 +  .f-headline-m { font-size: 6rem; }
 +  .f-5-m,
 +  .f-subheadline-m { font-size: 5rem; }
 +  .f1-m { font-size: 3rem; }
 +  .f2-m { font-size: 2.25rem; }
 +  .f3-m { font-size: 1.5rem; }
 +  .f4-m { font-size: 1.25rem; }
 +  .f5-m { font-size: 1rem; }
 +  .f6-m { font-size: .875rem; }
 +  .f7-m { font-size: .75rem; }
 +}
 +@media screen and (min-width: 60em) {
 +  .f-6-l,
 +  .f-headline-l {
 +    font-size: 6rem;
 +  }
 +  .f-5-l,
 +  .f-subheadline-l {
 +    font-size: 5rem;
 +  }
 +  .f1-l { font-size: 3rem; }
 +  .f2-l { font-size: 2.25rem; }
 +  .f3-l { font-size: 1.5rem; }
 +  .f4-l { font-size: 1.25rem; }
 +  .f5-l { font-size: 1rem; }
 +  .f6-l { font-size: .875rem; }
 +  .f7-l { font-size: .75rem; }
 +}
 +/*
 +
 +   TYPOGRAPHY
 +   http://tachyons.io/docs/typography/measure/
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/* Measure is limited to ~66 characters */
 +.measure {
 +  max-width: 30em;
 +}
 +/* Measure is limited to ~80 characters */
 +.measure-wide {
 +  max-width: 34em;
 +}
 +/* Measure is limited to ~45 characters */
 +.measure-narrow {
 +  max-width: 20em;
 +}
 +/* Book paragraph style - paragraphs are indented with no vertical spacing. */
 +.indent {
 +  text-indent: 1em;
 +  margin-top: 0;
 +  margin-bottom: 0;
 +}
 +.small-caps {
 +  -webkit-font-feature-settings: "c2sc";
 +          font-feature-settings: "c2sc";
 +  font-variant: small-caps;
 +}
 +/* Combine this class with a width to truncate text (or just leave as is to truncate at width of containing element. */
 +.truncate {
 +  white-space: nowrap;
 +  overflow: hidden;
 +  text-overflow: ellipsis;
 +}
 +@media screen and (min-width: 30em) {
 +  .measure-ns  {
 +    max-width: 30em;
 +  }
 +  .measure-wide-ns {
 +    max-width: 34em;
 +  }
 +  .measure-narrow-ns {
 +    max-width: 20em;
 +  }
 +  .indent-ns {
 +    text-indent: 1em;
 +    margin-top: 0;
 +    margin-bottom: 0;
 +  }
 +  .small-caps-ns {
 +    -webkit-font-feature-settings: "c2sc";
 +            font-feature-settings: "c2sc";
 +    font-variant: small-caps;
 +  }
 +  .truncate-ns {
 +    white-space: nowrap;
 +    overflow: hidden;
 +    text-overflow: ellipsis;
 +  }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .measure-m {
 +    max-width: 30em;
 +  }
 +  .measure-wide-m {
 +    max-width: 34em;
 +  }
 +  .measure-narrow-m {
 +    max-width: 20em;
 +  }
 +  .indent-m {
 +    text-indent: 1em;
 +    margin-top: 0;
 +    margin-bottom: 0;
 +  }
 +  .small-caps-m {
 +    -webkit-font-feature-settings: "c2sc";
 +            font-feature-settings: "c2sc";
 +    font-variant: small-caps;
 +  }
 +  .truncate-m {
 +    white-space: nowrap;
 +    overflow: hidden;
 +    text-overflow: ellipsis;
 +  }
 +}
 +@media screen and (min-width: 60em) {
 +  .measure-l {
 +    max-width: 30em;
 +  }
 +  .measure-wide-l {
 +    max-width: 34em;
 +  }
 +  .measure-narrow-l {
 +    max-width: 20em;
 +  }
 +  .indent-l {
 +    text-indent: 1em;
 +    margin-top: 0;
 +    margin-bottom: 0;
 +  }
 +  .small-caps-l {
 +    -webkit-font-feature-settings: "c2sc";
 +            font-feature-settings: "c2sc";
 +    font-variant: small-caps;
 +  }
 +  .truncate-l {
 +    white-space: nowrap;
 +    overflow: hidden;
 +    text-overflow: ellipsis;
 +  }
 +}
 +/*
 +
 +   UTILITIES
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/* Equivalent to .overflow-y-scroll */
 +.overflow-container {
 +  overflow-y: scroll;
 +}
 +.center {
 +  margin-right: auto;
 +  margin-left: auto;
 +}
 +.mr-auto { margin-right: auto; }
 +.ml-auto { margin-left:  auto; }
 +@media screen and (min-width: 30em){
 +  .center-ns {
 +    margin-right: auto;
 +    margin-left: auto;
 +  }
 +  .mr-auto-ns { margin-right: auto; }
 +  .ml-auto-ns { margin-left:  auto; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em){
 +  .center-m {
 +    margin-right: auto;
 +    margin-left: auto;
 +  }
 +  .mr-auto-m { margin-right: auto; }
 +  .ml-auto-m { margin-left:  auto; }
 +}
 +@media screen and (min-width: 60em){
 +  .center-l {
 +    margin-right: auto;
 +    margin-left: auto;
 +  }
 +  .mr-auto-l { margin-right: auto; }
 +  .ml-auto-l { margin-left:  auto; }
 +}
 +/*
 +
 +   VISIBILITY
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +/*
 +    Text that is hidden but accessible
 +    Ref: http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 +*/
 +.clip {
 +  position: fixed !important;
 +  _position: absolute !important;
 +  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
 +  clip: rect(1px, 1px, 1px, 1px);
 +}
 +@media screen and (min-width: 30em) {
 +  .clip-ns {
 +    position: fixed !important;
 +    _position: absolute !important;
 +    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
 +    clip: rect(1px, 1px, 1px, 1px);
 +  }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .clip-m {
 +    position: fixed !important;
 +    _position: absolute !important;
 +    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
 +    clip: rect(1px, 1px, 1px, 1px);
 +  }
 +}
 +@media screen and (min-width: 60em) {
 +  .clip-l {
 +    position: fixed !important;
 +    _position: absolute !important;
 +    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
 +    clip: rect(1px, 1px, 1px, 1px);
 +  }
 +}
 +/*
 +
 +   WHITE SPACE
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.ws-normal { white-space: normal; }
 +.nowrap { white-space: nowrap; }
 +.pre { white-space: pre; }
 +@media screen and (min-width: 30em) {
 +  .ws-normal-ns { white-space: normal; }
 +  .nowrap-ns { white-space: nowrap; }
 +  .pre-ns { white-space: pre; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .ws-normal-m { white-space: normal; }
 +  .nowrap-m { white-space: nowrap; }
 +  .pre-m { white-space: pre; }
 +}
 +@media screen and (min-width: 60em) {
 +  .ws-normal-l { white-space: normal; }
 +  .nowrap-l { white-space: nowrap; }
 +  .pre-l { white-space: pre; }
 +}
 +/*
 +
 +   VERTICAL ALIGN
 +
 +   Media Query Extensions:
 +     -ns = not-small
 +     -m  = medium
 +     -l  = large
 +
 +*/
 +.v-base     { vertical-align: baseline; }
 +.v-mid      { vertical-align: middle; }
 +.v-top      { vertical-align: top; }
 +.v-btm      { vertical-align: bottom; }
 +@media screen and (min-width: 30em) {
 +  .v-base-ns     { vertical-align: baseline; }
 +  .v-mid-ns      { vertical-align: middle; }
 +  .v-top-ns      { vertical-align: top; }
 +  .v-btm-ns      { vertical-align: bottom; }
 +}
 +@media screen and (min-width: 30em) and (max-width: 60em) {
 +  .v-base-m     { vertical-align: baseline; }
 +  .v-mid-m      { vertical-align: middle; }
 +  .v-top-m      { vertical-align: top; }
 +  .v-btm-m      { vertical-align: bottom; }
 +}
 +@media screen and (min-width: 60em) {
 +  .v-base-l     { vertical-align: baseline; }
 +  .v-mid-l      { vertical-align: middle; }
 +  .v-top-l      { vertical-align: top; }
 +  .v-btm-l      { vertical-align: bottom; }
 +}
 +/*
 +
 +  HOVER EFFECTS
 +  Docs: http://tachyons.io/docs/themes/hovers/
 +
 +    - Dim
 +    - Glow
 +    - Hide Child
 +    - Underline text
 +    - Grow
 +    - Pointer
 +    - Shadow
 +
 +*/
 +/*
 +
 +  Dim element on hover by adding the dim class.
 +
 +*/
 +.dim {
 +  opacity: 1;
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +.dim:hover,
 +.dim:focus {
 +  opacity: .5;
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +.dim:active {
 +  opacity: .8; -webkit-transition: opacity .15s ease-out; transition: opacity .15s ease-out;
 +}
 +/*
 +
 +  Animate opacity to 100% on hover by adding the glow class.
 +
 +*/
 +.glow {
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +.glow:hover,
 +.glow:focus {
 +  opacity: 1;
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +/*
 +
 +  Hide child & reveal on hover:
 +
 +  Put the hide-child class on a parent element and any nested element with the
 +  child class will be hidden and displayed on hover or focus.
 +
 +  <div class="hide-child">
 +    <div class="child"> Hidden until hover or focus </div>
 +    <div class="child"> Hidden until hover or focus </div>
 +    <div class="child"> Hidden until hover or focus </div>
 +    <div class="child"> Hidden until hover or focus </div>
 +  </div>
 +*/
 +.hide-child .child {
 +  opacity: 0;
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +.hide-child:hover  .child,
 +.hide-child:focus  .child,
 +.hide-child:active .child {
 +  opacity: 1;
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +.underline-hover:hover,
 +.underline-hover:focus {
 +  text-decoration: underline;
 +}
 +/* Can combine this with overflow-hidden to make background images grow on hover
 + * even if you are using background-size: cover */
 +.grow {
 +  -moz-osx-font-smoothing: grayscale;
 +  -webkit-backface-visibility: hidden;
 +          backface-visibility: hidden;
 +  -webkit-transform: translateZ(0);
 +          transform: translateZ(0);
 +  -webkit-transition: -webkit-transform 0.25s ease-out;
 +  transition: -webkit-transform 0.25s ease-out;
 +  transition: transform 0.25s ease-out;
 +  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
 +}
 +.grow:hover,
 +.grow:focus {
 +  -webkit-transform: scale(1.05);
 +          transform: scale(1.05);
 +}
 +.grow:active {
 +  -webkit-transform: scale(.90);
 +          transform: scale(.90);
 +}
 +.grow-large {
 +  -moz-osx-font-smoothing: grayscale;
 +  -webkit-backface-visibility: hidden;
 +          backface-visibility: hidden;
 +  -webkit-transform: translateZ(0);
 +          transform: translateZ(0);
 +  -webkit-transition: -webkit-transform .25s ease-in-out;
 +  transition: -webkit-transform .25s ease-in-out;
 +  transition: transform .25s ease-in-out;
 +  transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out;
 +}
 +.grow-large:hover,
 +.grow-large:focus {
 +  -webkit-transform: scale(1.2);
 +          transform: scale(1.2);
 +}
 +.grow-large:active {
 +  -webkit-transform: scale(.95);
 +          transform: scale(.95);
 +}
 +/* Add pointer on hover */
 +.pointer:hover {
 +  cursor: pointer;
 +}
 +/* 
 +   Add shadow on hover.
 +
 +   Performant box-shadow animation pattern from 
 +   http://tobiasahlin.com/blog/how-to-animate-box-shadow/ 
 +*/
 +.shadow-hover {
 +  cursor: pointer;
 +  position: relative;
 +  -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
 +  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
 +}
 +.shadow-hover::after {
 +  content: '';
 +  -webkit-box-shadow: 0px 0px 16px 2px rgba(0, 0, 0, .2);
 +          box-shadow: 0px 0px 16px 2px rgba(0, 0, 0, .2);
 +  border-radius: inherit;
 +  opacity: 0;
 +  position: absolute;
 +  top: 0;
 +  left: 0;
 +  width: 100%;
 +  height: 100%;
 +  z-index: -1;
 +  -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
 +  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
 +}
 +.shadow-hover:hover::after,
 +.shadow-hover:focus::after {
 +  opacity: 1;
 +}
 +/* Combine with classes in skins and skins-pseudo for 
 + * many different transition possibilities. */
 +.bg-animate,
 +.bg-animate:hover,
 +.bg-animate:focus {
 +  -webkit-transition: background-color .15s ease-in-out;
 +  transition: background-color .15s ease-in-out; 
 +}
 +/*
 +
 +  Z-INDEX
 +
 +  Base
 +    z = z-index
 +
 +  Modifiers
 +    -0 = literal value 0
 +    -1 = literal value 1
 +    -2 = literal value 2
 +    -3 = literal value 3
 +    -4 = literal value 4
 +    -5 = literal value 5
 +    -999 = literal value 999
 +    -9999 = literal value 9999
 +
 +    -max = largest accepted z-index value as integer
 +
 +    -inherit = string value inherit
 +    -initial = string value initial
 +    -unset = string value unset
 +
 +  MDN: https://developer.mozilla.org/en/docs/Web/CSS/z-index
 +  Spec: http://www.w3.org/TR/CSS2/zindex.html
 +  Articles:
 +    https://philipwalton.com/articles/what-no-one-told-you-about-z-index/
 +
 +  Tips on extending:
 +  There might be a time worth using negative z-index values.
 +  Or if you are using tachyons with another project, you might need to
 +  adjust these values to suit your needs.
 +
 +*/
 +.z-0 { z-index: 0; }
 +.z-1 { z-index: 1; }
 +.z-2 { z-index: 2; }
 +.z-3 { z-index: 3; }
 +.z-4 { z-index: 4; }
 +.z-5 { z-index: 5; }
 +.z-999 { z-index: 999; }
 +.z-9999 { z-index: 9999; }
 +.z-max {
 +  z-index: 2147483647;
 +}
 +.z-inherit { z-index: inherit; }
 +.z-initial { z-index: auto; z-index: initial; }
 +.z-unset { z-index: unset; }
 +/*
 +
 +    NESTED
 +    Tachyons module for styling nested elements
 +    that are generated by a cms.
 +
 +*/
 +.nested-copy-line-height p,
 +.nested-copy-line-height ul,
 +.nested-copy-line-height ol {
 +  line-height: 1.5;
 +}
 +.nested-headline-line-height h1,
 +.nested-headline-line-height h2,
 +.nested-headline-line-height h3,
 +.nested-headline-line-height h4,
 +.nested-headline-line-height h5,
 +.nested-headline-line-height h6 {
 +  line-height: 1.25;
 +}
 +.nested-list-reset ul,
 +.nested-list-reset ol {
 +  padding-left: 0;
 +  margin-left: 0;
 +  list-style-type: none;
 +}
 +.nested-copy-indent p+p {
 +  text-indent: 1em;
 +  margin-top: 0;
 +  margin-bottom: 0;
 +}
 +.nested-copy-separator p+p {
 +  margin-top: 1.5em;
 +}
 +.nested-img img {
 +  width: 100%;
 +  max-width: 100%;
 +  display: block;
 +}
 +.nested-links a {
 +  color: #0594CB;
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +}
 +.nested-links a:hover,
 +.nested-links a:focus {
 +  color: #96ccff;
 +  -webkit-transition: color .15s ease-in;
 +  transition: color .15s ease-in;
 +}
 +/*@import 'tachyons/src/_styles';*/
 +/* Variables */
 +/* Importing here will allow you to override any variables in the modules */
 +/*
 +
 +   Tachyons
 +   COLOR VARIABLES
 +
 +   Grayscale
 +   - Solids
 +   - Transparencies
 +   Colors
 +
 +*/
 +/*
 +
 +  CUSTOM MEDIA QUERIES
 +
 +  Media query values can be changed to fit your own content.
 +  There are no magic bullets when it comes to media query width values.
 +  They should be declared in em units - and they should be set to meet
 +  the needs of your content. You can also add additional media queries,
 +  or remove some of the existing ones.
 +
 +  These media queries can be referenced like so:
 +
 +  @media (--breakpoint-not-small) {
 +    .medium-and-larger-specific-style {
 +      background-color: red;
 +    }
 +  }
 +
 +  @media (--breakpoint-medium) {
 +    .medium-screen-specific-style {
 +      background-color: red;
 +    }
 +  }
 +
 +  @media (--breakpoint-large) {
 +    .large-and-larger-screen-specific-style {
 +      background-color: red;
 +    }
 +  }
 +
 +*/
 +/* Media Queries */
 +/* Debugging */
 +/*@import 'tachyons/src/_debug-children';
 +@import 'tachyons/src/_debug-grid';*/
 +/* Uncomment out the line below to help debug layout issues */
 +/* @import 'tachyons/src/_debug'; */
 +/* purgecss start ignore */
 +.header-link:after {
 +  position: relative;
 +  left: 0.5em;
 +  opacity: 0;
 +  font-size: 0.8em;
 +  -moz-transition: opacity 0.2s ease-in-out 0.1s;
 +  -ms-transition: opacity 0.2s ease-in-out 0.1s;
 +}
 +h2:hover .header-link,
 +h3:hover .header-link,
 +h4:hover .header-link,
 +h5:hover .header-link,
 +h6:hover .header-link {
 +  opacity: 1;
 +}
 +.animated {
 +  -webkit-animation-duration: .5s;
 +          animation-duration: .5s;
 +  -webkit-animation-fill-mode: forwards;
 +          animation-fill-mode: forwards;
 +  -webkit-animation-timing-function: ease-in-out;
 +          animation-timing-function: ease-in-out;
 +}
 +@-webkit-keyframes fadeIn {
 +  from {
 +    opacity: 0;
 +  }
 +
 +  to {
 +    opacity: 1;
 +  }
 +}
 +@keyframes fadeIn {
 +  from {
 +    opacity: 0;
 +  }
 +
 +  to {
 +    opacity: 1;
 +  }
 +}
 +.fadeIn {
 +  -webkit-animation-name: fadeIn;
 +          animation-name: fadeIn;
 +}
 +.animated-delay-1 {
 +  -webkit-animation-delay: 0.5s;
 +          animation-delay: 0.5s;
 +}
 +.note,
 +.warning {
 +
 +  border-left-width: 4px;
 +  border-left-style: solid;
 +  position: relative;
 +  border-color: #0594CB;
 +
 +  display: block;
 +}
 +.note #exclamation-icon,
 +.warning #exclamation-icon {
 +
 +  fill: #0594CB;
 +  position: absolute;
 +  top: 35%;
 +  left: -12px;
 +  /*background-color: white;*/
 +}
 +.admonition-content {
 +    display: block;
 +    margin: 0px;
 +    padding: .125em 1em;
 +    /*margin-left: 1em;*/
 +    margin-top: 2em;
 +    margin-bottom: 2em;
 +    overflow-x: auto;
 +    /*font-size: .9375em;*/
 +    background-color: rgba(0, 0, 0, .05);
 +  }
 +.hide-child-menu .child-menu {
 +    display: none;
 +  }
 +.hide-child-menu:hover  .child-menu,
 +  .hide-child-menu:focus  .child-menu,
 +  .hide-child-menu:active .child-menu {
 +  display: block;
 +  }
 +/*documentation-copy headings exaggerate spacing and size to chunk content */
 +.documentation-copy h2 {
 +    margin-top: 3em
 +  }
 +.documentation-copy h2.minor {
 +  font-size: inherit;
 +  margin-top: inherit;
 +  border-bottom: none;
 +}
 +.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;visibility:visible!important}
 +.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}
 +.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}
 +.searchbox__input{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background .4s ease,-webkit-box-shadow .4s ease;transition:background .4s ease,-webkit-box-shadow .4s ease;transition:box-shadow .4s ease,background .4s ease;transition:box-shadow .4s ease,background .4s ease,-webkit-box-shadow .4s ease;border:0;border-radius:16px;-webkit-box-shadow:inset 0 0 0 1px #ccc;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}
 +.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}
 +.searchbox__input:hover{-webkit-box-shadow:inset 0 0 0 1px #b3b3b3;box-shadow:inset 0 0 0 1px #b3b3b3}
 +.searchbox__input:active,.searchbox__input:focus{outline:0;-webkit-box-shadow:inset 0 0 0 1px #aaa;box-shadow:inset 0 0 0 1px #aaa;background:#fff}
 +.searchbox__input::-webkit-input-placeholder{color:#aaa}
 +.searchbox__input:-ms-input-placeholder{color:#aaa}
 +.searchbox__input::-ms-input-placeholder{color:#aaa}
 +.searchbox__input::placeholder{color:#aaa}
 +.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69, 142, 225, 0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}
 +.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}
 +.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}
 +.searchbox__submit:focus{outline:0}
 +.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}
 +.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0, 0, 0, .5)}
 +.searchbox__reset.hide{display:none}
 +.searchbox__reset:focus{outline:0}
 +.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}
 +.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}
 +@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}
 +@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}
 +.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}
 +.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}
 +.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}
 +.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}
 +.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;max-width:600px;min-width:500px;-webkit-box-shadow:0 1px 0 0 rgba(0, 0, 0, .2),0 2px 3px 0 rgba(0, 0, 0, .1);box-shadow:0 1px 0 0 rgba(0, 0, 0, .2),0 2px 3px 0 rgba(0, 0, 0, .1)}
 +.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}
 +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000;margin-top:8px}
 +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions a:hover{text-decoration:none}
 +.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}
 +.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69, 142, 225, .05)}
 +.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}
 +.algolia-autocomplete .ds-dropdown-menu *{-webkit-box-sizing:border-box;box-sizing:border-box}
 +.algolia-autocomplete .algolia-docsearch-suggestion{display:block;position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}
 +.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143, 187, 237, .1);padding:.1em .05em}
 +.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;-webkit-box-shadow:inset 0 -2px 0 0 rgba(69, 142, 225, .8);box-shadow:inset 0 -2px 0 0 rgba(69, 142, 225, .8);color:inherit}
 +.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}
 +.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}
 +.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}
 +.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}
 +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}
 +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}
 +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}
 +.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}
 +.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}
 +.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}
 +.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}
 +.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}
 +.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}
 +.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}
 +@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}
 +@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;padding:0;color:#02060c;font-size:.9em;font-weight:700;text-align:left;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}
 +.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,<svg width="10" height="10" viewBox="0 0 20 38" xmlns="http://www.w3.org/2000/svg"><path d="M1.49 4.31l14 16.126.002-2.624-14 16.074-1.314 1.51 3.017 2.626 1.313-1.508 14-16.075 1.142-1.313-1.14-1.313-14-16.125L3.2.18.18 2.8l1.31 1.51z" fill-rule="evenodd" fill="%231D3657" /></svg>');content:"";width:10px;height:10px;display:inline-block}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}
 +.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;-webkit-box-shadow:none;box-shadow:none}
 +.algolia-autocomplete .algolia-docsearch-footer{width:134px;height:20px;z-index:2000;margin-top:10.66667px;float:right;font-size:0;line-height:0}
 +.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='168' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938zm41.937 17.866c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z' fill='%235468FF'/%3E%3Cpath d='M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z' fill='%235D6494'/%3E%3Cpath d='M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}
 +/* These styles enhance the home page carousel, located here: themes/gohugoioTheme/layouts/partials/home-page-sections/showcase.html */
 +.overflow-x-scroll{
 +  -webkit-overflow-scrolling: touch;
 +}
 +.row {
 +  -webkit-transition: 450ms -webkit-transform;
 +  transition: 450ms -webkit-transform;
 +  transition: 450ms transform;
 +  transition: 450ms transform, 450ms -webkit-transform;
 +  font-size: 0;
 +}
 +.tile {
 +  -webkit-transition: 450ms all;
 +  transition: 450ms all;
 +}
 +.details {
 +  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .9)), to(rgba(0, 0, 0, 0)));
 +  background: linear-gradient(to top, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, 0) 100%);
 +  -webkit-transition: 450ms opacity;
 +  transition: 450ms opacity;
 +}
 +.tile:hover .details {
 +  opacity: 1;
 +}
 +.row:hover .tile {
 +  opacity: 0.3;
 +}
 +.row:hover .tile:hover {
 +  opacity: 1;
 +}
 +.chroma .lntable pre {
 +  padding: 0;
 +  margin: 0;
 +  border: 0;
 +}
 +.chroma .lntable pre code  {
 +  padding: 0;
 +  margin: 0;
 +}
 +pre, .pre  {
 +  overflow-x: auto;
 +  overflow-y: hidden;
 +  overflow:   scroll;
 +}
 +code {
 +    padding: 0.2em;
 +    margin: 0;
 +    font-size: 85%;
 +    background-color: rgba(27, 31, 35, .05);
 +    border-radius: 3px;
 +}
 +pre  code {
 +  display: block;
 +  padding: 1.5em 1.5em;
 +  font-size: .875rem;
 +  line-height: 2;
 +  overflow-x: auto;
 +}
 +pre {
 +  background-color: #fff;
 +  color: #333;
 +  white-space: pre;
 +  -webkit-hyphens: none;
 +      -ms-hyphens: none;
 +          hyphens: none;
 +  position: relative;
 +  border-width: 1px;
 +  border-color: #ccc;
 +  border-style: solid;
 +}
 +/* The Pygments highlighter comes with its own styles. */
 +.highlight pre {
 +  background-color: inherit;
 +  color: inherit;
 +  padding: 0.5em;
 +  font-size: .875rem;
 +}
 +/*We are adding the copy button content here so we can change it with javascript. See the "Clipboard scripts"*/
 +.copy:after {
 +  content: "Copy"
 +}
 +.copied:after {
 +  content: "Copied"
 +}
 +@media screen and (min-width: 60em) {
 +  .full-width, pre.expand:hover
 +  {
 +  /*width: 100vw;
 +  position: relative;
 +  left: 50%;
 +  right: 50%;
 +  margin-left: -50vw;
 +  margin-right: -50vw;*/
 +  /*width: 60vw;*/
 +  /*position: relative;
 +  left: 50%;
 +  right: 50%;*/
 +  /*margin-left: -30vw;*/
 +  margin-right: -30vw;
 +  max-width: 100vw;
 +  }
 +}
 +.code-block .line-numbers-rows {
 +    background: #2f3a46;
 +    border: none;
 +    bottom: -50px;
 +    color: #98a4b3;
 +    left: -178px;
 +    padding: 50px 0;
 +    top: -50px;
 +    width: 138px
 +}
 +.code-block .line-numbers-rows>span:before {
 +    color: inherit;
 +    padding-right: 30px
 +}
 +.tab-button{
 +      margin-bottom:1px;
 +      position: relative;
 +      z-index: 1;
 +      color:#333;
 +      border-color:#ccc;
 +      outline: none;
 +      background-color:white;
 +}
 +.tab-pane code{
 +      background:#f1f2f2;
 +      border-radius:0;
 +}
 +.tab-pane .chroma{
 +      background:none;
 +      padding:0;
 +}
 +.tab-button.active{
 +      border-bottom-color:#f1f2f2;
 +      background-color: #f1f2f2;
 +}
 +.tab-content .tab-pane{
 +      display: none;
 +}
 +.tab-content .tab-pane.active{
 +      display: block;
 +}
 +/* Treatment of copy buttons inside a tab module */
 +.tab-content .copy, .tab-content .copied{
 +      display: none;
 +}
 +.tab-content .tab-pane.active + .copy, .tab-content .tab-pane.active + .copied{
 +      display: block;
 +}
 +.primary-color                      {color: #0594CB}
 +.bg-primary-color                   {background-color: #0594CB}
 +.hover-bg-primary-color:hover       {background-color: #0594CB}
 +.primary-color-dark                  {color: #0A1922}
 +.bg-primary-color-dark               {background-color: #0A1922}
 +.hover-bg-primary-color-dark:hover   {background-color: #0A1922}
 +.primary-color-light                  {color: #f9f9f9}
 +.bg-primary-color-light               {background-color: #f9f9f9}
 +.hover-bg-primary-color-light:hover   {background-color: #f9f9f9}
 +.accent-color                         {color: #EBB951}
 +.bg-accent-color                      {background-color: #EBB951}
 +.hover-bg-accent-color:hover          {background-color: #EBB951}
 +.accent-color-light                   {color: #FF4088}
 +.hover-accent-color-light:hover                   {color: #FF4088}
 +.bg-accent-color-light                {background-color: #FF4088}
 +.hover-bg-accent-color-light:hover    {background-color: #FF4088}
 +.accent-color-dark                    {color: #33ba91}
 +.bg-accent-color-dark                 {background-color: #33ba91}
 +.hover-bg-accent-color-dark:hover     {background-color: #33ba91}
 +.text-color-primary    {color: #373737}
 +.text-on-primary-color {color: #fff}
 +.text-color-secondary  {color: #ccc}
 +.text-color-disabled   {color: #F7f7f7}
 +.divider-color         {color: #f6f6f6}
 +.warn-color            {color: red}
 +.nested-links a {
 +  color: #0594CB;
 +  text-decoration: none;
 +
 +}
 +.column-count-2 {-webkit-column-count: 1;column-count: 1}
 +.column-gap-1 {-webkit-column-gap: 0;column-gap: 0}
 +.break-inside-avoid {-webkit-column-break-inside: auto;break-inside: auto}
 +@media screen and (min-width: 60em) {
 +  .column-count-3-l {-webkit-column-count: 3;column-count: 3}
 +  .column-count-2-l {-webkit-column-count: 2;column-count: 2}
 +  .column-gap-1-l {-webkit-column-gap: 1;column-gap: 1}
 +  .break-inside-avoid-l {-webkit-column-break-inside: avoid;break-inside: avoid}
 +}
 +.prose ul, .prose ol {
 +  margin-bottom: 2em;
 +}
 +.prose ul li, .prose  ol li {
 +  margin-bottom: .5em;
 +}
 +.prose li:hover {
 +  background-color: #eee
 +}
 +.prose ::selection {
 +  background: #0594CB; /* WebKit/Blink Browsers */
 +  color: white;
 +}
 +body {
 +
 +line-height: 1.45;
 +
 +}
 +p {margin-bottom: 1.3em;}
 +h1, h2, h3, h4 {
 +margin: 1.414em 0 0.5em;
 +
 +line-height: 1.2;
 +}
 +h1 {
 +margin-top: 0;
 +font-size: 2.441em;
 +}
 +h2 {font-size: 1.953em;}
 +h3 {font-size: 1.563em;}
 +h4 {font-size: 1.25em;}
 +small, .font_small {font-size: 0.8em;}
 +.prose table {
 +    width: 100%;
 +    margin-bottom: 3em;
 +    border-collapse: collapse;
 +    border-spacing: 0;
 +    font-size: 1em;
 +    border: 1px solid #eee
 +
 +}
 +.prose table th {
 +  background-color: #0594CB;
 +  border-bottom: 1px solid #0594CB;
 +  color: white;
 +  font-weight: 400;
 +  text-align: left;
 +  padding: .375em .5em;
 +}
 +.prose table td, .prose table tc {
 +  padding: .75em .5em;
 +  text-align: left;
 +  border-right: 1px solid #eee;
 +}
 +.prose table tr:nth-child(even) {
 +  background-color: #eee;
 +}
 +dl dt {
 +  font-weight: bold;
 +  font-size: 1.125rem;
 +}
 +dd {
 +  margin: .5em 0 2em 0;
 +  padding: 0;
 +}
 +.f2-fluid {
 +  font-size: 2.25rem;
 +}
 +@media screen and (min-width: 60em) {
 +  .f2-fluid {
 +    font-size: 1.25rem;
 +    font-size: calc(0.70833rem + 0.83333vw);
 +  }
 +}
 +/* From http://cssfontstack.com */
 +code, .code, pre code, .highlight pre  {
 +  font-family: 'inconsolata',Menlo,Monaco,'Courier New',monospace;
 +}
 +.sans-serif {
 +  font-family: 'Muli',
 +              avenir,
 +               'helvetica neue', helvetica,
 +               ubuntu,
 +               roboto, noto,
 +               'segoe ui', arial,
 +               sans-serif;
 +}
 +.serif {
 +  font-family: Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;
 +}
 +/* Monospaced Typefaces (for code) */
 +.courier {
 +  font-family: 'Courier Next',
 +               courier,
 +               monospace;
 +}
 +/* Sans-Serif Typefaces */
 +.helvetica {
 +  font-family: 'helvetica neue', helvetica,
 +               sans-serif;
 +}
 +.avenir {
 +  font-family: 'avenir next', avenir,
 +               sans-serif;
 +}
 +/* Serif Typefaces */
 +.athelas {
 +  font-family: athelas,
 +               georgia,
 +               serif;
 +}
 +.georgia {
 +  font-family: georgia,
 +               serif;
 +}
 +.times {
 +  font-family: times,
 +               serif;
 +}
 +.bodoni {
 +  font-family: "Bodoni MT",
 +                serif;
 +}
 +.calisto {
 +  font-family: "Calisto MT",
 +                serif;
 +}
 +.garamond {
 +  font-family: garamond,
 +               serif;
 +}
 +.baskerville {
 +  font-family: baskerville,
 +               serif;
 +}
 +/* pagination.html: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/template_embedded.go#L117 */
 +.pagination {
 +  margin: 3rem 0;
 +}
 +.pagination li {
 +  display: inline-block;
 +  margin-right: .375rem;
 +  font-size: .875rem;
 +  margin-bottom: 2.5em;
 +}
 +.pagination li a {
 +  padding: .5rem .625rem;
 +  background-color: white;
 +  color: #333;
 +  border: 1px solid #ddd;
 +  border-radius: 3px;
 +  text-decoration: none;
 +}
 +.pagination li.disabled {
 +  display: none;
 +}
 +.pagination li.active a:link,
 +.pagination li.active a:active,
 +.pagination li.active a:visited {
 +  background-color: #ddd;
 +}
 +/* Hides non-meaningful TOC items*/
 +#TableOfContents ul li ul li ul li{
 +    display: none;
 +  }
 +#TableOfContents ul li {
 +  color: black;
 +  display: block;
 +  margin-bottom: .375em;
 +  line-height: 1.375;
 +}
 +#TableOfContents ul li a{
 +  width: 100%;
 +  padding: .25em .375em;
 +  margin-left: -.375em;
 +
 +}
 +#TableOfContents ul li a:hover {
 +  background-color: #999;
 +  color: white;
 +
 +}
 +.no-js .needs-js {
 +  opacity: 0
 +}
 +.js .needs-js {
 +  opacity: 1;
 +  -webkit-transition: opacity .15s ease-in;
 +  transition: opacity .15s ease-in;
 +}
 +.facebook, .twitter, .instagram, .youtube {
 +  fill: #BABABA;
 +}
 +.facebook:hover {
 +  fill: #3b5998;
 +}
 +.twitter {
 +  fill: #55acee;
 +}
 +.twitter:hover {
 +  fill: #BABABA;
 +}
 +.instagram:hover {
 +  fill: #e95950;
 +}
 +.youtube:hover {
 +  fill: #bb0000;
 +}
 +@media (min-width: 75em) {
 +  
 +  [data-scrolldir="down"] .sticky {
 +    position: fixed;
 +    top:100px;
 +    right:0;
 +  }
 +
 +  [data-scrolldir="up"] .sticky {
 +    position: fixed;
 +    top:100px;
 +    right:0;
 +  }
 +}
 +.fill-current { fill: currentColor; }
 +/* Background */
 +.chroma { background-color: #ffffff }
 +/* Error */
 +.chroma .err { color: #a61717; background-color: #e3d2d2 }
 +/* LineTableTD */
 +.chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
 +/* LineTable */
 +.chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
 +/* LineHighlight */
 +.chroma .hl { display: block; width: 100%;background-color: #ffffcc }
 +/* LineNumbersTable */
 +.chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
 +/* LineNumbers */
 +.chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
 +/* Keyword */
 +.chroma .k { font-weight: bold }
 +/* KeywordConstant */
 +.chroma .kc { font-weight: bold }
 +/* KeywordDeclaration */
 +.chroma .kd { font-weight: bold }
 +/* KeywordNamespace */
 +.chroma .kn { font-weight: bold }
 +/* KeywordPseudo */
 +.chroma .kp { font-weight: bold }
 +/* KeywordReserved */
 +.chroma .kr { font-weight: bold }
 +/* KeywordType */
 +.chroma .kt { color: #445588; font-weight: bold }
 +/* NameAttribute */
 +.chroma .na { color: #008080 }
 +/* NameBuiltin */
 +.chroma .nb { color: #999999 }
 +/* NameClass */
 +.chroma .nc { color: #445588; font-weight: bold }
 +/* NameConstant */
 +.chroma .no { color: #008080 }
 +/* NameEntity */
 +.chroma .ni { color: #800080 }
 +/* NameException */
 +.chroma .ne { color: #990000; font-weight: bold }
 +/* NameFunction */
 +.chroma .nf { color: #990000; font-weight: bold }
 +/* NameNamespace */
 +.chroma .nn { color: #555555 }
 +/* NameTag */
 +.chroma .nt { color: #000080 }
 +/* NameVariable */
 +.chroma .nv { color: #008080 }
 +/* LiteralString */
 +.chroma .s { color: #bb8844 }
 +/* LiteralStringAffix */
 +.chroma .sa { color: #bb8844 }
 +/* LiteralStringBacktick */
 +.chroma .sb { color: #bb8844 }
 +/* LiteralStringChar */
 +.chroma .sc { color: #bb8844 }
 +/* LiteralStringDelimiter */
 +.chroma .dl { color: #bb8844 }
 +/* LiteralStringDoc */
 +.chroma .sd { color: #bb8844 }
 +/* LiteralStringDouble */
 +.chroma .s2 { color: #bb8844 }
 +/* LiteralStringEscape */
 +.chroma .se { color: #bb8844 }
 +/* LiteralStringHeredoc */
 +.chroma .sh { color: #bb8844 }
 +/* LiteralStringInterpol */
 +.chroma .si { color: #bb8844 }
 +/* LiteralStringOther */
 +.chroma .sx { color: #bb8844 }
 +/* LiteralStringRegex */
 +.chroma .sr { color: #808000 }
 +/* LiteralStringSingle */
 +.chroma .s1 { color: #bb8844 }
 +/* LiteralStringSymbol */
 +.chroma .ss { color: #bb8844 }
 +/* LiteralNumber */
 +.chroma .m { color: #009999 }
 +/* LiteralNumberBin */
 +.chroma .mb { color: #009999 }
 +/* LiteralNumberFloat */
 +.chroma .mf { color: #009999 }
 +/* LiteralNumberHex */
 +.chroma .mh { color: #009999 }
 +/* LiteralNumberInteger */
 +.chroma .mi { color: #009999 }
 +/* LiteralNumberIntegerLong */
 +.chroma .il { color: #009999 }
 +/* LiteralNumberOct */
 +.chroma .mo { color: #009999 }
 +/* Operator */
 +.chroma .o { font-weight: bold }
 +/* OperatorWord */
 +.chroma .ow { font-weight: bold }
 +/* Comment */
 +.chroma .c { color: #999988; font-style: italic }
 +/* CommentHashbang */
 +.chroma .ch { color: #999988; font-style: italic }
 +/* CommentMultiline */
 +.chroma .cm { color: #999988; font-style: italic }
 +/* CommentSingle */
 +.chroma .c1 { color: #999988; font-style: italic }
 +/* CommentSpecial */
 +.chroma .cs { color: #999999; font-weight: bold; font-style: italic }
 +/* CommentPreproc */
 +.chroma .cp { color: #999999; font-weight: bold }
 +/* CommentPreprocFile */
 +.chroma .cpf { color: #999999; font-weight: bold }
 +/* GenericDeleted */
 +.chroma .gd { color: #000000; background-color: #ffdddd }
 +/* GenericEmph */
 +.chroma .ge { font-style: italic }
 +/* GenericError */
 +.chroma .gr { color: #aa0000 }
 +/* GenericHeading */
 +.chroma .gh { color: #999999 }
 +/* GenericInserted */
 +.chroma .gi { color: #000000; background-color: #ddffdd }
 +/* GenericOutput */
 +.chroma .go { color: #888888 }
 +/* GenericPrompt */
 +.chroma .gp { color: #555555 }
 +/* GenericStrong */
 +.chroma .gs { font-weight: bold }
 +/* GenericSubheading */
 +.chroma .gu { color: #aaaaaa }
 +/* GenericTraceback */
 +.chroma .gt { color: #aa0000 }
 +/* TextWhitespace */
 +.chroma .w { color: #bbbbbb }
 +.nested-blockquote blockquote {
 +  border-left: 4px solid #0594CB;
 +  padding-left: 1em;
 +  /*margin: 0;*/
 +}
 +.mw-90 {
 +  max-width:90%;
 +}
 +/* purgecss end ignore */
++
index 3097ec5a6b8409a995fb53cc8fe04cbf0094cce7,0000000000000000000000000000000000000000..8d871af7bf11cae8223f30795e66967bb3b46b94
mode 100644,000000..100644
--- /dev/null
@@@ -1,18 -1,0 +1,17 @@@
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){!function(t,n){var r=function(e,t){"use strict";if(!t.getElementsByClassName)return;var n,r,i=t.documentElement,s=e.Date,o=e.HTMLPictureElement,a=e.addEventListener,c=e.setTimeout,u=e.requestAnimationFrame||c,l=e.requestIdleCallback,h=/^picture$/i,d=["load","error","lazyincluded","_lazyloaded"],f={},p=Array.prototype.forEach,g=function(e,t){return f[t]||(f[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")),f[t].test(e.getAttribute("class")||"")&&f[t]},m=function(e,t){g(e,t)||e.setAttribute("class",(e.getAttribute("class")||"").trim()+" "+t)},v=function(e,t){var n;(n=g(e,t))&&e.setAttribute("class",(e.getAttribute("class")||"").replace(n," "))},y=function(e,t,n){var r=n?"addEventListener":"removeEventListener";n&&y(e,t),d.forEach(function(n){e[r](n,t)})},b=function(e,r,i,s,o){var a=t.createEvent("Event");return i||(i={}),i.instance=n,a.initEvent(r,!s,!o),a.detail=i,e.dispatchEvent(a),a},w=function(t,n){var i;!o&&(i=e.picturefill||r.pf)?(n&&n.src&&!t.getAttribute("srcset")&&t.setAttribute("srcset",n.src),i({reevaluate:!0,elements:[t]})):n&&n.src&&(t.src=n.src)},_=function(e,t){return(getComputedStyle(e,null)||{})[t]},E=function(e,t,n){for(n=n||e.offsetWidth;n<r.minSize&&t&&!e._lazysizesWidth;)n=t.offsetWidth,t=t.parentNode;return n},x=function(){var e,n,r=[],i=[],s=r,o=function(){var t=s;for(s=r.length?i:r,e=!0,n=!1;t.length;)t.shift()();e=!1},a=function(r,i){e&&!i?r.apply(this,arguments):(s.push(r),n||(n=!0,(t.hidden?c:u)(o)))};return a._lsFlush=o,a}(),S=function(e,t){return t?function(){x(e)}:function(){var t=this,n=arguments;x(function(){e.apply(t,n)})}},C=function(e){var t,n,r=function(){t=null,e()},i=function(){var e=s.now()-n;e<99?c(i,99-e):(l||r)(r)};return function(){n=s.now(),t||(t=c(i,99))}};!function(){var t,n={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};for(t in r=e.lazySizesConfig||e.lazysizesConfig||{},n)t in r||(r[t]=n[t]);e.lazySizesConfig=r,c(function(){r.init&&O()})}();var A=function(){var o,u,d,f,E,A,O,T,k,R,M,L,I,D,P=/^img$/i,j=/^iframe$/i,$="onscroll"in e&&!/(gle|ing)bot/.test(navigator.userAgent),H=0,B=0,q=-1,z=function(e){B--,e&&e.target&&y(e.target,z),(!e||B<0||!e.target)&&(B=0)},F=function(e,n){var r,s=e,o="hidden"==_(t.body,"visibility")||"hidden"!=_(e.parentNode,"visibility")&&"hidden"!=_(e,"visibility");for(T-=n,M+=n,k-=n,R+=n;o&&(s=s.offsetParent)&&s!=t.body&&s!=i;)(o=(_(s,"opacity")||1)>0)&&"visible"!=_(s,"overflow")&&(r=s.getBoundingClientRect(),o=R>r.left&&k<r.right&&M>r.top-1&&T<r.bottom+1);return o},U=function(){var e,s,a,c,l,h,d,p,g,m=n.elements;if((f=r.loadMode)&&B<8&&(e=m.length)){s=0,q++,null==I&&("expand"in r||(r.expand=i.clientHeight>500&&i.clientWidth>500?500:370),L=r.expand,I=L*r.expFactor),H<I&&B<1&&q>2&&f>2&&!t.hidden?(H=I,q=0):H=f>1&&q>1&&B<6?L:0;for(;s<e;s++)if(m[s]&&!m[s]._lazyRace)if($)if((p=m[s].getAttribute("data-expand"))&&(h=1*p)||(h=H),g!==h&&(A=innerWidth+h*D,O=innerHeight+h,d=-1*h,g=h),a=m[s].getBoundingClientRect(),(M=a.bottom)>=d&&(T=a.top)<=O&&(R=a.right)>=d*D&&(k=a.left)<=A&&(M||R||k||T)&&(r.loadHidden||"hidden"!=_(m[s],"visibility"))&&(u&&B<3&&!p&&(f<3||q<4)||F(m[s],h))){if(X(m[s]),l=!0,B>9)break}else!l&&u&&!c&&B<4&&q<4&&f>2&&(o[0]||r.preloadAfterLoad)&&(o[0]||!p&&(M||R||k||T||"auto"!=m[s].getAttribute(r.sizesAttr)))&&(c=o[0]||m[s]);else X(m[s]);c&&!l&&X(c)}},K=function(e){var t,n=0,i=r.throttleDelay,o=r.ricTimeout,a=function(){t=!1,n=s.now(),e()},u=l&&o>49?function(){l(a,{timeout:o}),o!==r.ricTimeout&&(o=r.ricTimeout)}:S(function(){c(a)},!0);return function(e){var r;(e=!0===e)&&(o=33),t||(t=!0,(r=i-(s.now()-n))<0&&(r=0),e||r<9?u():c(u,r))}}(U),V=function(e){m(e.target,r.loadedClass),v(e.target,r.loadingClass),y(e.target,W),b(e.target,"lazyloaded")},J=S(V),W=function(e){J({target:e.target})},G=function(e){var t,n=e.getAttribute(r.srcsetAttr);(t=r.customMedia[e.getAttribute("data-media")||e.getAttribute("media")])&&e.setAttribute("media",t),n&&e.setAttribute("srcset",n)},Q=S(function(e,t,n,i,s){var o,a,u,l,f,g;(f=b(e,"lazybeforeunveil",t)).defaultPrevented||(i&&(n?m(e,r.autosizesClass):e.setAttribute("sizes",i)),a=e.getAttribute(r.srcsetAttr),o=e.getAttribute(r.srcAttr),s&&(u=e.parentNode,l=u&&h.test(u.nodeName||"")),g=t.firesLoad||"src"in e&&(a||o||l),f={target:e},g&&(y(e,z,!0),clearTimeout(d),d=c(z,2500),m(e,r.loadingClass),y(e,W,!0)),l&&p.call(u.getElementsByTagName("source"),G),a?e.setAttribute("srcset",a):o&&!l&&(j.test(e.nodeName)?function(e,t){try{e.contentWindow.location.replace(t)}catch(n){e.src=t}}(e,o):e.src=o),s&&(a||l)&&w(e,{src:o})),e._lazyRace&&delete e._lazyRace,v(e,r.lazyClass),x(function(){(!g||e.complete&&e.naturalWidth>1)&&(g?z(f):B--,V(f))},!0)}),X=function(e){var t,n=P.test(e.nodeName),i=n&&(e.getAttribute(r.sizesAttr)||e.getAttribute("sizes")),s="auto"==i;(!s&&u||!n||!e.getAttribute("src")&&!e.srcset||e.complete||g(e,r.errorClass)||!g(e,r.lazyClass))&&(t=b(e,"lazyunveilread").detail,s&&N.updateElem(e,!0,e.offsetWidth),e._lazyRace=!0,B++,Q(e,t,s,i,n))},Z=function(){if(!u)if(s.now()-E<999)c(Z,999);else{var e=C(function(){r.loadMode=3,K()});u=!0,r.loadMode=3,K(),a("scroll",function(){3==r.loadMode&&(r.loadMode=2),e()},!0)}};return{_:function(){E=s.now(),n.elements=t.getElementsByClassName(r.lazyClass),o=t.getElementsByClassName(r.lazyClass+" "+r.preloadClass),D=r.hFac,a("scroll",K,!0),a("resize",K,!0),e.MutationObserver?new MutationObserver(K).observe(i,{childList:!0,subtree:!0,attributes:!0}):(i.addEventListener("DOMNodeInserted",K,!0),i.addEventListener("DOMAttrModified",K,!0),setInterval(K,999)),a("hashchange",K,!0),["focus","mouseover","click","load","transitionend","animationend","webkitAnimationEnd"].forEach(function(e){t.addEventListener(e,K,!0)}),/d$|^c/.test(t.readyState)?Z():(a("load",Z),t.addEventListener("DOMContentLoaded",K),c(Z,2e4)),n.elements.length?(U(),x._lsFlush()):K()},checkElems:K,unveil:X}}(),N=function(){var e,n=S(function(e,t,n,r){var i,s,o;if(e._lazysizesWidth=r,r+="px",e.setAttribute("sizes",r),h.test(t.nodeName||""))for(i=t.getElementsByTagName("source"),s=0,o=i.length;s<o;s++)i[s].setAttribute("sizes",r);n.detail.dataAttr||w(e,n.detail)}),i=function(e,t,r){var i,s=e.parentNode;s&&(r=E(e,s,r),(i=b(e,"lazybeforesizes",{width:r,dataAttr:!!t})).defaultPrevented||(r=i.detail.width)&&r!==e._lazysizesWidth&&n(e,s,i,r))},s=C(function(){var t,n=e.length;if(n)for(t=0;t<n;t++)i(e[t])});return{_:function(){e=t.getElementsByClassName(r.autosizesClass),a("resize",s)},checkElems:s,updateElem:i}}(),O=function(){O.i||(O.i=!0,N._(),A._())};return n={cfg:r,autoSizer:N,loader:A,init:O,uP:w,aC:m,rC:v,hC:g,fire:b,gW:E,rAF:x}}(t,t.document);t.lazySizes=r,e.exports&&(e.exports=r)}(window)},function(e,t,n){"use strict";n.r(t);n(3),n(4),n(5),n(7),n(8),n(10),n(21),n(23),n(24),n(26),n(27),n(28);n(2)},function(e,t,n){},function(e,t,n){},function(e,t){var n=function(e){var t=document.createElement("a");return t.className="header-link",t.href="#"+e,t.innerHTML='  <svg class="fill-current o-60 hover-accent-color-light" height="22px" viewBox="0 0 24 24" width="22px" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',t},r=function(e,t){for(var r=t.getElementsByTagName("h"+e),i=0;i<r.length;i++){var s=r[i];void 0!==s.id&&""!==s.id&&s.appendChild(n(s.id))}};document.onreadystatechange=function(){if("complete"===this.readyState){var e=document.getElementsByClassName("prose")[0];if(!e)return;for(var t=2;t<=4;t++)r(t,e)}}},function(e,t,n){function r(e,t){e.setAttribute("class","copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2"),e.setAttribute("aria-label",t)}new(n(6))(".copy",{target:function(e){return e.classList.contains("copy-toggle")?e.previousElementSibling:e.nextElementSibling}}).on("success",function(e){r(e.trigger,"Copied!"),e.clearSelection()}).on("error",function(e){r(e.trigger,function(e,t){var n="",r="cut"===t?"X":"C";n=isMac?"Press ⌘-"+r:"Press Ctrl-"+r;return n}(e.action))})},function(e,t,n){
++!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){!function(t,n){var r=function(e,t){"use strict";if(!t.getElementsByClassName)return;var n,r,i=t.documentElement,s=e.Date,o=e.HTMLPictureElement,a=e.addEventListener,c=e.setTimeout,u=e.requestAnimationFrame||c,l=e.requestIdleCallback,h=/^picture$/i,d=["load","error","lazyincluded","_lazyloaded"],f={},p=Array.prototype.forEach,g=function(e,t){return f[t]||(f[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")),f[t].test(e.getAttribute("class")||"")&&f[t]},m=function(e,t){g(e,t)||e.setAttribute("class",(e.getAttribute("class")||"").trim()+" "+t)},v=function(e,t){var n;(n=g(e,t))&&e.setAttribute("class",(e.getAttribute("class")||"").replace(n," "))},y=function(e,t,n){var r=n?"addEventListener":"removeEventListener";n&&y(e,t),d.forEach((function(n){e[r](n,t)}))},b=function(e,r,i,s,o){var a=t.createEvent("Event");return i||(i={}),i.instance=n,a.initEvent(r,!s,!o),a.detail=i,e.dispatchEvent(a),a},w=function(t,n){var i;!o&&(i=e.picturefill||r.pf)?(n&&n.src&&!t.getAttribute("srcset")&&t.setAttribute("srcset",n.src),i({reevaluate:!0,elements:[t]})):n&&n.src&&(t.src=n.src)},_=function(e,t){return(getComputedStyle(e,null)||{})[t]},E=function(e,t,n){for(n=n||e.offsetWidth;n<r.minSize&&t&&!e._lazysizesWidth;)n=t.offsetWidth,t=t.parentNode;return n},x=(O=[],T=[],k=O,R=function(){var e=k;for(k=O.length?T:O,A=!0,N=!1;e.length;)e.shift()();A=!1},M=function(e,n){A&&!n?e.apply(this,arguments):(k.push(e),N||(N=!0,(t.hidden?c:u)(R)))},M._lsFlush=R,M),S=function(e,t){return t?function(){x(e)}:function(){var t=this,n=arguments;x((function(){e.apply(t,n)}))}},C=function(e){var t,n,r=function(){t=null,e()},i=function(){var e=s.now()-n;e<99?c(i,99-e):(l||r)(r)};return function(){n=s.now(),t||(t=c(i,99))}};var A,N,O,T,k,R,M;!function(){var t,n={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};for(t in r=e.lazySizesConfig||e.lazysizesConfig||{},n)t in r||(r[t]=n[t]);e.lazySizesConfig=r,c((function(){r.init&&D()}))}();var L=(ee=/^img$/i,te=/^iframe$/i,ne="onscroll"in e&&!/(gle|ing)bot/.test(navigator.userAgent),re=0,ie=0,se=-1,oe=function(e){ie--,e&&e.target&&y(e.target,oe),(!e||ie<0||!e.target)&&(ie=0)},ae=function(e,n){var r,s=e,o="hidden"==_(t.body,"visibility")||"hidden"!=_(e.parentNode,"visibility")&&"hidden"!=_(e,"visibility");for(J-=n,Q+=n,W-=n,G+=n;o&&(s=s.offsetParent)&&s!=t.body&&s!=i;)(o=(_(s,"opacity")||1)>0)&&"visible"!=_(s,"overflow")&&(r=s.getBoundingClientRect(),o=G>r.left&&W<r.right&&Q>r.top-1&&J<r.bottom+1);return o},ce=function(){var e,s,o,a,c,u,l,h,d,f=n.elements;if((z=r.loadMode)&&ie<8&&(e=f.length)){s=0,se++,null==Z&&("expand"in r||(r.expand=i.clientHeight>500&&i.clientWidth>500?500:370),X=r.expand,Z=X*r.expFactor),re<Z&&ie<1&&se>2&&z>2&&!t.hidden?(re=Z,se=0):re=z>1&&se>1&&ie<6?X:0;for(;s<e;s++)if(f[s]&&!f[s]._lazyRace)if(ne)if((h=f[s].getAttribute("data-expand"))&&(u=1*h)||(u=re),d!==u&&(K=innerWidth+u*Y,V=innerHeight+u,l=-1*u,d=u),o=f[s].getBoundingClientRect(),(Q=o.bottom)>=l&&(J=o.top)<=V&&(G=o.right)>=l*Y&&(W=o.left)<=K&&(Q||G||W||J)&&(r.loadHidden||"hidden"!=_(f[s],"visibility"))&&(q&&ie<3&&!h&&(z<3||se<4)||ae(f[s],u))){if(ge(f[s]),c=!0,ie>9)break}else!c&&q&&!a&&ie<4&&se<4&&z>2&&(B[0]||r.preloadAfterLoad)&&(B[0]||!h&&(Q||G||W||J||"auto"!=f[s].getAttribute(r.sizesAttr)))&&(a=B[0]||f[s]);else ge(f[s]);a&&!c&&ge(a)}},ue=function(e){var t,n=0,i=r.throttleDelay,o=r.ricTimeout,a=function(){t=!1,n=s.now(),e()},u=l&&o>49?function(){l(a,{timeout:o}),o!==r.ricTimeout&&(o=r.ricTimeout)}:S((function(){c(a)}),!0);return function(e){var r;(e=!0===e)&&(o=33),t||(t=!0,(r=i-(s.now()-n))<0&&(r=0),e||r<9?u():c(u,r))}}(ce),le=function(e){m(e.target,r.loadedClass),v(e.target,r.loadingClass),y(e.target,de),b(e.target,"lazyloaded")},he=S(le),de=function(e){he({target:e.target})},fe=function(e){var t,n=e.getAttribute(r.srcsetAttr);(t=r.customMedia[e.getAttribute("data-media")||e.getAttribute("media")])&&e.setAttribute("media",t),n&&e.setAttribute("srcset",n)},pe=S((function(e,t,n,i,s){var o,a,u,l,d,f;(d=b(e,"lazybeforeunveil",t)).defaultPrevented||(i&&(n?m(e,r.autosizesClass):e.setAttribute("sizes",i)),a=e.getAttribute(r.srcsetAttr),o=e.getAttribute(r.srcAttr),s&&(l=(u=e.parentNode)&&h.test(u.nodeName||"")),f=t.firesLoad||"src"in e&&(a||o||l),d={target:e},f&&(y(e,oe,!0),clearTimeout(F),F=c(oe,2500),m(e,r.loadingClass),y(e,de,!0)),l&&p.call(u.getElementsByTagName("source"),fe),a?e.setAttribute("srcset",a):o&&!l&&(te.test(e.nodeName)?function(e,t){try{e.contentWindow.location.replace(t)}catch(n){e.src=t}}(e,o):e.src=o),s&&(a||l)&&w(e,{src:o})),e._lazyRace&&delete e._lazyRace,v(e,r.lazyClass),x((function(){(!f||e.complete&&e.naturalWidth>1)&&(f?oe(d):ie--,le(d))}),!0)})),ge=function(e){var t,n=ee.test(e.nodeName),i=n&&(e.getAttribute(r.sizesAttr)||e.getAttribute("sizes")),s="auto"==i;(!s&&q||!n||!e.getAttribute("src")&&!e.srcset||e.complete||g(e,r.errorClass)||!g(e,r.lazyClass))&&(t=b(e,"lazyunveilread").detail,s&&I.updateElem(e,!0,e.offsetWidth),e._lazyRace=!0,ie++,pe(e,t,s,i,n))},me=function(){if(!q)if(s.now()-U<999)c(me,999);else{var e=C((function(){r.loadMode=3,ue()}));q=!0,r.loadMode=3,ue(),a("scroll",(function(){3==r.loadMode&&(r.loadMode=2),e()}),!0)}},{_:function(){U=s.now(),n.elements=t.getElementsByClassName(r.lazyClass),B=t.getElementsByClassName(r.lazyClass+" "+r.preloadClass),Y=r.hFac,a("scroll",ue,!0),a("resize",ue,!0),e.MutationObserver?new MutationObserver(ue).observe(i,{childList:!0,subtree:!0,attributes:!0}):(i.addEventListener("DOMNodeInserted",ue,!0),i.addEventListener("DOMAttrModified",ue,!0),setInterval(ue,999)),a("hashchange",ue,!0),["focus","mouseover","click","load","transitionend","animationend","webkitAnimationEnd"].forEach((function(e){t.addEventListener(e,ue,!0)})),/d$|^c/.test(t.readyState)?me():(a("load",me),t.addEventListener("DOMContentLoaded",ue),c(me,2e4)),n.elements.length?(ce(),x._lsFlush()):ue()},checkElems:ue,unveil:ge}),I=(P=S((function(e,t,n,r){var i,s,o;if(e._lazysizesWidth=r,r+="px",e.setAttribute("sizes",r),h.test(t.nodeName||""))for(s=0,o=(i=t.getElementsByTagName("source")).length;s<o;s++)i[s].setAttribute("sizes",r);n.detail.dataAttr||w(e,n.detail)})),$=function(e,t,n){var r,i=e.parentNode;i&&(n=E(e,i,n),(r=b(e,"lazybeforesizes",{width:n,dataAttr:!!t})).defaultPrevented||(n=r.detail.width)&&n!==e._lazysizesWidth&&P(e,i,r,n))},H=C((function(){var e,t=j.length;if(t)for(e=0;e<t;e++)$(j[e])})),{_:function(){j=t.getElementsByClassName(r.autosizesClass),a("resize",H)},checkElems:H,updateElem:$}),D=function(){D.i||(D.i=!0,I._(),L._())};var j,P,$,H;var B,q,F,z,U,K,V,J,W,G,Q,X,Z,Y,ee,te,ne,re,ie,se,oe,ae,ce,ue,le,he,de,fe,pe,ge,me;return n={cfg:r,autoSizer:I,loader:L,init:D,uP:w,aC:m,rC:v,hC:g,fire:b,gW:E,rAF:x}}(t,t.document);t.lazySizes=r,e.exports&&(e.exports=r)}(window)},function(e,t,n){"use strict";n.r(t);n(3),n(4),n(6),n(7),n(9),n(20),n(22),n(23),n(25),n(26),n(27);n(2)},function(e,t,n){},function(e,t,n){},function(e,t,n){function r(e,t){e.setAttribute("class","copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2"),e.setAttribute("aria-label",t)}new(n(5))(".copy",{target:function(e){return e.classList.contains("copy-toggle")?e.previousElementSibling:e.nextElementSibling}}).on("success",(function(e){r(e.trigger,"Copied!"),e.clearSelection()})).on("error",(function(e){r(e.trigger,function(e,t){var n="",r="cut"===t?"X":"C";n=isMac?"Press ⌘-"+r:"Press Ctrl-"+r;return n}(e.action))}))},function(e,t,n){
 +/*!
 + * clipboard.js v2.0.4
 + * https://zenorocha.github.io/clipboard.js
 + * 
 + * Licensed MIT © Zeno Rocha
 + */
- !function(t,n){e.exports=n()}(0,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=c(n(1)),o=c(n(3)),a=c(n(4));function c(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.resolveOptions(n),r.listenClick(e),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,o.default),i(t,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===r(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,a.default)(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}]),t}();function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}e.exports=u},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e){return e&&e.__esModule?e:{default:e}}(n(2));var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,s.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,s.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=o},function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}},function(e,t){function n(){}n.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function i(){r.off(e,i),t.apply(n,arguments)}return i._=t,this.on(e,i,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;r<i;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&i.push(r[s]);return i.length?n[e]=i:delete n[e],this}},e.exports=n},function(e,t,n){var r=n(5),i=n(6);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}(e,t,n);if(r.string(e))return function(e,t,n){return i(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},function(e,t,n){var r=n(7);function i(e,t,n,i,s){var o=function(e,t,n,i){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&i.call(e,n)}}.apply(this,arguments);return e.addEventListener(n,o,s),{destroy:function(){e.removeEventListener(n,o,s)}}}e.exports=function(e,t,n,r,s){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(e){return i(e,t,n,r,s)}))}},function(e,t){var n=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}e.exports=function(e,t){for(;e&&e.nodeType!==n;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}}])})},function(e,t){let n=document.getElementById("prose");if(n){let e=n.getElementsByTagName("code");for(let[t,n]of Object.entries(e)){n.scrollWidth-n.clientWidth>0&&n.parentNode.classList.add("expand")}}},function(e,t,n){n(9)({apiKey:"167e7998590aebda7f9fedcf86bc4a55",indexName:"hugodocs",inputSelector:"#search-input",debug:!0})},function(e,t,n){
++var r;r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=c(n(1)),o=c(n(3)),a=c(n(4));function c(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.resolveOptions(n),r.listenClick(e),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===r(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,a.default)(e,"click",(function(e){return t.onClick(e)}))}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach((function(e){n=n&&!!document.queryCommandSupported(e)})),n}}]),t}(o.default);function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}e.exports=u},function(e,t,n){"use strict";var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(2),a=(r=o)&&r.__esModule?r:{default:r},c=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return s(e,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,a.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,a.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":i(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=c},function(e,t){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}},function(e,t){function n(){}n.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function i(){r.off(e,i),t.apply(n,arguments)}return i._=t,this.on(e,i,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;r<i;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&i.push(r[s]);return i.length?n[e]=i:delete n[e],this}},e.exports=n},function(e,t,n){var r=n(5),i=n(6);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,(function(e){e.addEventListener(t,n)})),{destroy:function(){Array.prototype.forEach.call(e,(function(e){e.removeEventListener(t,n)}))}}}(e,t,n);if(r.string(e))return function(e,t,n){return i(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},function(e,t,n){var r=n(7);function i(e,t,n,r,i){var o=s.apply(this,arguments);return e.addEventListener(n,o,i),{destroy:function(){e.removeEventListener(n,o,i)}}}function s(e,t,n,i){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&i.call(e,n)}}e.exports=function(e,t,n,r,s){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return i(e,t,n,r,s)})))}},function(e,t){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}e.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}}])},e.exports=r()},function(e,t){let n=document.getElementById("prose");if(n){let e=n.getElementsByTagName("code");for(let[t,n]of Object.entries(e)){n.scrollWidth-n.clientWidth>0&&n.parentNode.classList.add("expand")}}},function(e,t,n){n(8)({apiKey:"167e7998590aebda7f9fedcf86bc4a55",indexName:"hugodocs",inputSelector:"#search-input",debug:!0})},function(e,t,n){
 +/*! docsearch 2.6.1 | © Algolia | github.com/algolia/docsearch */
- !function(t,n){e.exports=n()}("undefined"!=typeof self&&self,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=22)}([function(e,t,n){"use strict";var r=n(1);function i(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return void 0===e||null===e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,function(e,r){e&&(n.isArray(e)?t[r]=[].concat(e):n.isObject(e)&&(t[r]=n.cloneDeep(e)))}),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,function(r,i){if(!(n=t.call(null,r,i,e)))return!1}),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,function(r,i){if(t.call(null,r,i,e))return n=!0,!1}),n):n},getUniqueId:function(){var e=0;return function(){return e++}}(),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"<em>";var r=document.createElement("div");r.appendChild(document.createTextNode(t)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(i(r.innerHTML),"g"),t).replace(RegExp(i(s.innerHTML),"g"),n)}}},function(e,t,n){"use strict";e.exports={element:null}},function(e,t){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;e.exports=function(e,t,i){if("[object Function]"!==r.call(t))throw new TypeError("iterator must be a function");var s=e.length;if(s===+s)for(var o=0;o<s;o++)t.call(i,e[o],o,e);else for(var a in e)n.call(e,a)&&t.call(i,e[a],a,e)}},function(e,t){e.exports=function(e){return JSON.parse(JSON.stringify(e))}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=n(12);function i(e,t){var r=n(2),i=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):i.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=e||"Unknown error",t&&r(t,function(e,t){i[t]=e})}function s(e,t){function n(){var n=Array.prototype.slice.call(arguments,0);"string"!=typeof n[0]&&n.unshift(t),i.apply(this,n),this.name="AlgoliaSearch"+e+"Error"}return r(n,i),n}r(i,Error),e.exports={AlgoliaSearchError:i,UnparsableJSON:s("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:s("RequestTimeout","Request timedout before getting a response"),Network:s("Network","Network issue, see err.more for details"),JSONPScriptFail:s("JSONPScriptFail","<script> was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError","<script> unable to load due to an `error` event on it"),Unknown:s("Unknown","Unknown error occured")}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){var r=n(2);e.exports=function(e,t){var n=[];return r(e,function(r,i){n.push(t(r,i,e))}),n}},function(e,t,n){(function(r){function i(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=Object({NODE_ENV:"production"}).DEBUG),e}(t=e.exports=n(39)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),!n)return;var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var i=0,s=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&"%c"===e&&(s=++i)}),e.splice(s,0,r)},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=i,t.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(i())}).call(t,n(9))},function(e,t){var n,r,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var c,u=[],l=!1,h=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&f())}function f(){if(!l){var e=a(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++h<t;)c&&c[h].run();h=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(53),i=/\s+/;function s(e,t,n,r){var s;if(!n)return this;for(t=t.split(i),n=r?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,r):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var r,i=0,s=e.length;!r&&i<s;i+=1)r=!1===e[i].apply(t,n);return!r}}e.exports={onSync:function(e,t,n){return s.call(this,"sync",e,t,n)},onAsync:function(e,t,n){return s.call(this,"async",e,t,n)},off:function(e){var t;if(!this._callbacks)return this;e=e.split(i);for(;t=e.shift();)delete this._callbacks[t];return this},trigger:function(e){var t,n,s,a,c;if(!this._callbacks)return this;e=e.split(i),s=[].slice.call(arguments,1);for(;(t=e.shift())&&(n=this._callbacks[t]);)a=o(n.sync,this,[t].concat(s)),c=o(n.async,this,[t].concat(s)),a()&&r(c);return this}}},function(e,t,n){"use strict";var r=n(0),i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};r.isMsie()&&r.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),r.isMsie()&&r.isMsie()<=7&&r.mixin(i.input,{marginTop:"-1px"}),e.exports=i},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=function(e,t){return function(n,i,s){if("function"==typeof n&&"object"==typeof i||"object"==typeof s)throw new r.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof n?(s=n,n=""):1!==arguments.length&&"function"!=typeof i||(s=i,i=void 0),"object"==typeof n&&null!==n?(i=n,n=void 0):void 0!==n&&null!==n||(n="");var o,a="";return void 0!==n&&(a+=e+"="+encodeURIComponent(n)),void 0!==i&&(i.additionalUA&&(o=i.additionalUA,delete i.additionalUA),a=this.as._getSearchParams(i,a)),this._search(a,t,s,o)}};var r=n(5)},function(e,t,n){e.exports=function(e,t){var r=n(36),i={};return n(2)(r(e),function(n){!0!==t(n)&&(i[n]=e[n])}),i}},function(e,t){!function(t,n){e.exports=function(e){var t=function(){var t,n,r,i,s,o,a=[],c=a.concat,u=a.filter,l=a.slice,h=e.document,d={},f={},p={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,b=/([A-Z])/g,w=["val","css","html","text","data","width","height","offset"],_=h.createElement("table"),E=h.createElement("tr"),x={tr:h.createElement("tbody"),tbody:_,thead:_,tfoot:_,td:E,th:E,"*":h.createElement("div")},S=/complete|loaded|interactive/,C=/^[\w-]*$/,A={},N=A.toString,O={},T=h.createElement("div"),k={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},R=Array.isArray||function(e){return e instanceof Array};function M(e){return null==e?String(e):A[N.call(e)]||"object"}function L(e){return"function"==M(e)}function I(e){return null!=e&&e==e.window}function D(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function P(e){return"object"==M(e)}function j(e){return P(e)&&!I(e)&&Object.getPrototypeOf(e)==Object.prototype}function $(e){var t=!!e&&"length"in e&&e.length,n=r.type(e);return"function"!=n&&!I(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function H(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function B(e){return e in f?f[e]:f[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function q(e,t){return"number"!=typeof t||p[H(e)]?t:t+"px"}function z(e){return"children"in e?l.call(e.children):r.map(e.childNodes,function(e){if(1==e.nodeType)return e})}function F(e,t){var n,r=e?e.length:0;for(n=0;n<r;n++)this[n]=e[n];this.length=r,this.selector=t||""}function U(e,t){return null==t?r(e):r(e).filter(t)}function K(e,t,n,r){return L(t)?t.call(e,n,r):t}function V(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function J(e,n){var r=e.className||"",i=r&&r.baseVal!==t;if(n===t)return i?r.baseVal:r;i?r.baseVal=n:e.className=n}function W(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?r.parseJSON(e):e):e}catch(t){return e}}return O.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var r,i=e.parentNode,s=!i;return s&&(i=T).appendChild(e),r=~O.qsa(i,t).indexOf(e),s&&T.removeChild(e),r},s=function(e){return e.replace(/-+(.)?/g,function(e,t){return t?t.toUpperCase():""})},o=function(e){return u.call(e,function(t,n){return e.indexOf(t)==n})},O.fragment=function(e,n,i){var s,o,a;return m.test(e)&&(s=r(h.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(v,"<$1></$2>")),n===t&&(n=g.test(e)&&RegExp.$1),n in x||(n="*"),(a=x[n]).innerHTML=""+e,s=r.each(l.call(a.childNodes),function(){a.removeChild(this)})),j(i)&&(o=r(s),r.each(i,function(e,t){w.indexOf(e)>-1?o[e](t):o.attr(e,t)})),s},O.Z=function(e,t){return new F(e,t)},O.isZ=function(e){return e instanceof O.Z},O.init=function(e,n){var i;if(!e)return O.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&g.test(e))i=O.fragment(e,RegExp.$1,n),e=null;else{if(n!==t)return r(n).find(e);i=O.qsa(h,e)}else{if(L(e))return r(h).ready(e);if(O.isZ(e))return e;if(R(e))i=function(e){return u.call(e,function(e){return null!=e})}(e);else if(P(e))i=[e],e=null;else if(g.test(e))i=O.fragment(e.trim(),RegExp.$1,n),e=null;else{if(n!==t)return r(n).find(e);i=O.qsa(h,e)}}return O.Z(i,e)},(r=function(e,t){return O.init(e,t)}).extend=function(e){var r,i=l.call(arguments,1);return"boolean"==typeof e&&(r=e,e=i.shift()),i.forEach(function(i){!function e(r,i,s){for(n in i)s&&(j(i[n])||R(i[n]))?(j(i[n])&&!j(r[n])&&(r[n]={}),R(i[n])&&!R(r[n])&&(r[n]=[]),e(r[n],i[n],s)):i[n]!==t&&(r[n]=i[n])}(e,i,r)}),e},O.qsa=function(e,t){var n,r="#"==t[0],i=!r&&"."==t[0],s=r||i?t.slice(1):t,o=C.test(s);return e.getElementById&&o&&r?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!r&&e.getElementsByClassName?i?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},r.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},r.type=M,r.isFunction=L,r.isWindow=I,r.isArray=R,r.isPlainObject=j,r.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},r.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},r.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},r.camelCase=s,r.trim=function(e){return null==e?"":String.prototype.trim.call(e)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(e,t){var n,i,s,o=[];if($(e))for(i=0;i<e.length;i++)null!=(n=t(e[i],i))&&o.push(n);else for(s in e)null!=(n=t(e[s],s))&&o.push(n);return function(e){return e.length>0?r.fn.concat.apply([],e):e}(o)},r.each=function(e,t){var n,r;if($(e)){for(n=0;n<e.length;n++)if(!1===t.call(e[n],n,e[n]))return e}else for(r in e)if(!1===t.call(e[r],r,e[r]))return e;return e},r.grep=function(e,t){return u.call(e,t)},e.JSON&&(r.parseJSON=JSON.parse),r.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){A["[object "+t+"]"]=t.toLowerCase()}),r.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var e,t,n=[];for(e=0;e<arguments.length;e++)t=arguments[e],n[e]=O.isZ(t)?t.toArray():t;return c.apply(O.isZ(this)?this.toArray():this,n)},map:function(e){return r(r.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return r(l.apply(this,arguments))},ready:function(e){return S.test(h.readyState)&&h.body?e(r):h.addEventListener("DOMContentLoaded",function(){e(r)},!1),this},get:function(e){return e===t?l.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(e){return a.every.call(this,function(t,n){return!1!==e.call(t,n,t)}),this},filter:function(e){return L(e)?this.not(this.not(e)):r(u.call(this,function(t){return O.matches(t,e)}))},add:function(e,t){return r(o(this.concat(r(e,t))))},is:function(e){return this.length>0&&O.matches(this[0],e)},not:function(e){var n=[];if(L(e)&&e.call!==t)this.each(function(t){e.call(this,t)||n.push(this)});else{var i="string"==typeof e?this.filter(e):$(e)&&L(e.item)?l.call(e):r(e);this.forEach(function(e){i.indexOf(e)<0&&n.push(e)})}return r(n)},has:function(e){return this.filter(function(){return P(e)?r.contains(this,e):r(this).find(e).size()})},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!P(e)?e:r(e)},last:function(){var e=this[this.length-1];return e&&!P(e)?e:r(e)},find:function(e){var t=this;return e?"object"==typeof e?r(e).filter(function(){var e=this;return a.some.call(t,function(t){return r.contains(t,e)})}):1==this.length?r(O.qsa(this[0],e)):this.map(function(){return O.qsa(this,e)}):r()},closest:function(e,t){var n=[],i="object"==typeof e&&r(e);return this.each(function(r,s){for(;s&&!(i?i.indexOf(s)>=0:O.matches(s,e));)s=s!==t&&!D(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)}),r(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=r.map(n,function(e){if((e=e.parentNode)&&!D(e)&&t.indexOf(e)<0)return t.push(e),e});return U(t,e)},parent:function(e){return U(o(this.pluck("parentNode")),e)},children:function(e){return U(this.map(function(){return z(this)}),e)},contents:function(){return this.map(function(){return this.contentDocument||l.call(this.childNodes)})},siblings:function(e){return U(this.map(function(e,t){return u.call(z(t.parentNode),function(e){return e!==t})}),e)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(e){return r.map(this,function(t){return t[e]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=function(e){var t,n;d[e]||(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),d[e]=n);return d[e]}(this.nodeName))})},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=L(e);if(this[0]&&!t)var n=r(e).get(0),i=n.parentNode||this.length>1;return this.each(function(s){r(this).wrapAll(t?e.call(this,s):i?n.cloneNode(!0):n)})},wrapAll:function(e){if(this[0]){var t;for(r(this[0]).before(e=r(e));(t=e.children()).length;)e=t.first();r(e).append(this)}return this},wrapInner:function(e){var t=L(e);return this.each(function(n){var i=r(this),s=i.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):i.append(o)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var n=r(this);(e===t?"none"==n.css("display"):e)?n.show():n.hide()})},prev:function(e){return r(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return r(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each(function(t){var n=this.innerHTML;r(this).empty().append(K(this,e,t,n))}):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each(function(t){var n=K(this,e,t,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(e,r){var i;return"string"!=typeof e||1 in arguments?this.each(function(t){if(1===this.nodeType)if(P(e))for(n in e)V(this,n,e[n]);else V(this,e,K(this,r,t,this.getAttribute(e)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(e))?i:t},removeAttr:function(e){return this.each(function(){1===this.nodeType&&e.split(" ").forEach(function(e){V(this,e)},this)})},prop:function(e,t){return e=k[e]||e,1 in arguments?this.each(function(n){this[e]=K(this,t,n,this[e])}):this[0]&&this[0][e]},removeProp:function(e){return e=k[e]||e,this.each(function(){delete this[e]})},data:function(e,n){var r="data-"+e.replace(b,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?W(i):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each(function(t){this.value=K(this,e,t,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=r(this),i=K(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:i.top-s.top,left:i.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(h.documentElement!==this[0]&&!r.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var i=this[0];if("string"==typeof e){if(!i)return;return i.style[s(e)]||getComputedStyle(i,"").getPropertyValue(e)}if(R(e)){if(!i)return;var o={},a=getComputedStyle(i,"");return r.each(e,function(e,t){o[t]=i.style[s(t)]||a.getPropertyValue(t)}),o}}var c="";if("string"==M(e))t||0===t?c=H(e)+":"+q(e,t):this.each(function(){this.style.removeProperty(H(e))});else for(n in e)e[n]||0===e[n]?c+=H(n)+":"+q(n,e[n])+";":this.each(function(){this.style.removeProperty(H(n))});return this.each(function(){this.style.cssText+=";"+c})},index:function(e){return e?this.indexOf(r(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,function(e){return this.test(J(e))},B(e))},addClass:function(e){return e?this.each(function(t){if("className"in this){i=[];var n=J(this),s=K(this,e,t,n);s.split(/\s+/g).forEach(function(e){r(this).hasClass(e)||i.push(e)},this),i.length&&J(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(e){return this.each(function(n){if("className"in this){if(e===t)return J(this,"");i=J(this),K(this,e,n,i).split(/\s+/g).forEach(function(e){i=i.replace(B(e)," ")}),J(this,i.trim())}})},toggleClass:function(e,n){return e?this.each(function(i){var s=r(this),o=K(this,e,i,J(this));o.split(/\s+/g).forEach(function(e){(n===t?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),i=y.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(r(e).css("margin-top"))||0,n.left-=parseFloat(r(e).css("margin-left"))||0,i.top+=parseFloat(r(t[0]).css("border-top-width"))||0,i.left+=parseFloat(r(t[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||h.body;e&&!y.test(e.nodeName)&&"static"==r(e).css("position");)e=e.offsetParent;return e})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(e){var n=e.replace(/./,function(e){return e[0].toUpperCase()});r.fn[e]=function(i){var s,o=this[0];return i===t?I(o)?o["inner"+n]:D(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each(function(t){(o=r(this)).css(e,K(this,i,t,o[e]()))})}}),["after","prepend","before","append"].forEach(function(n,i){var s=i%2;r.fn[n]=function(){var n,o,a=r.map(arguments,function(e){var i=[];return"array"==(n=M(e))?(e.forEach(function(e){return e.nodeType!==t?i.push(e):r.zepto.isZ(e)?i=i.concat(e.get()):void(i=i.concat(O.fragment(e)))}),i):"object"==n||null==e?e:O.fragment(e)}),c=this.length>1;return a.length<1?this:this.each(function(t,n){o=s?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var u=r.contains(h.documentElement,o);a.forEach(function(t){if(c)t=t.cloneNode(!0);else if(!o)return r(t).remove();o.insertBefore(t,n),u&&function e(t,n){n(t);for(var r=0,i=t.childNodes.length;r<i;r++)e(t.childNodes[r],n)}(t,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}})})})},r.fn[s?n+"To":"insert"+(i?"Before":"After")]=function(e){return r(e)[n](this),this}}),O.Z.prototype=F.prototype=r.fn,O.uniq=o,O.deserializeValue=W,r.zepto=O,r}();return function(t){var n,r=1,i=Array.prototype.slice,s=t.isFunction,o=function(e){return"string"==typeof e},a={},c={},u="onfocusin"in e,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function d(e){return e._zid||(e._zid=r++)}function f(e,t,n,r){if((t=p(t)).ns)var i=function(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}(t.ns);return(a[d(e)]||[]).filter(function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||i.test(e.ns))&&(!n||d(e.fn)===d(n))&&(!r||e.sel==r)})}function p(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function g(e,t){return e.del&&!u&&e.e in l||!!t}function m(e){return h[e]||u&&l[e]||e}function v(e,r,i,s,o,c,u){var l=d(e),f=a[l]||(a[l]=[]);r.split(/\s/).forEach(function(r){if("ready"==r)return t(document).ready(i);var a=p(r);a.fn=i,a.sel=o,a.e in h&&(i=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return a.fn.apply(this,arguments)}),a.del=c;var l=c||i;a.proxy=function(t){if(!(t=x(t)).isImmediatePropagationStopped()){try{var r=Object.getOwnPropertyDescriptor(t,"data");r&&!r.writable||(t.data=s)}catch(t){}var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return!1===i&&(t.preventDefault(),t.stopPropagation()),i}},a.i=f.length,f.push(a),"addEventListener"in e&&e.addEventListener(m(a.e),a.proxy,g(a,u))})}function y(e,t,n,r,i){var s=d(e);(t||"").split(/\s/).forEach(function(t){f(e,t,n,r).forEach(function(t){delete a[s][t.i],"removeEventListener"in e&&e.removeEventListener(m(t.e),t.proxy,g(t,i))})})}c.click=c.mousedown=c.mouseup=c.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){var r=2 in arguments&&i.call(arguments,2);if(s(e)){var a=function(){return e.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=d(e),a}if(o(n))return r?(r.unshift(e[n],e),t.proxy.apply(null,r)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,r){return this.on(e,t,n,r,1)};var b=function(){return!0},w=function(){return!1},_=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function x(e,r){return!r&&e.isDefaultPrevented||(r||(r=e),t.each(E,function(t,n){var i=r[t];e[t]=function(){return this[n]=b,i&&i.apply(r,arguments)},e[n]=w}),e.timeStamp||(e.timeStamp=Date.now()),(r.defaultPrevented!==n?r.defaultPrevented:"returnValue"in r?!1===r.returnValue:r.getPreventDefault&&r.getPreventDefault())&&(e.isDefaultPrevented=b)),e}function S(e){var t,r={originalEvent:e};for(t in e)_.test(t)||e[t]===n||(r[t]=e[t]);return x(r,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,r,a,c,u){var l,h,d=this;return e&&!o(e)?(t.each(e,function(e,t){d.on(e,r,a,t,u)}),d):(o(r)||s(c)||!1===c||(c=a,a=r,r=n),c!==n&&!1!==a||(c=a,a=n),!1===c&&(c=w),d.each(function(n,s){u&&(l=function(e){return y(s,e.type,c),c.apply(this,arguments)}),r&&(h=function(e){var n,o=t(e.target).closest(r,s).get(0);if(o&&o!==s)return n=t.extend(S(e),{currentTarget:o,liveFired:s}),(l||c).apply(o,[n].concat(i.call(arguments,1)))}),v(s,e,c,a,r,h||l)}))},t.fn.off=function(e,r,i){var a=this;return e&&!o(e)?(t.each(e,function(e,t){a.off(e,r,t)}),a):(o(r)||s(i)||!1===i||(i=r,r=n),!1===i&&(i=w),a.each(function(){y(this,e,i,r)}))},t.fn.trigger=function(e,n){return(e=o(e)||t.isPlainObject(e)?t.Event(e):x(e))._args=n,this.each(function(){e.type in l&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var r,i;return this.each(function(s,a){(r=S(o(e)?t.Event(e):e))._args=n,r.target=a,t.each(f(a,e.type||e),function(e,t){if(i=t.proxy(r),r.isImmediatePropagationStopped())return!1})}),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(e,t){o(e)||(e=(t=e).type);var n=document.createEvent(c[e]||"Events"),r=!0;if(t)for(var i in t)"bubbles"==i?r=!!t[i]:n[i]=t[i];return n.initEvent(e,r,!0),x(n)}}(t),function(e){var n,r=[];t.fn.remove=function(){return this.each(function(){this.parentNode&&("IMG"===this.tagName&&(r.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",n&&clearTimeout(n),n=setTimeout(function(){r=[]},6e4)),this.parentNode.removeChild(this))})}}(),function(e){var t={},n=e.fn.data,r=e.camelCase,i=e.expando="Zepto"+ +new Date,s=[];function o(n,o,a){var c=n[i]||(n[i]=++e.uuid),u=t[c]||(t[c]=function(t){var n={};return e.each(t.attributes||s,function(t,i){0==i.name.indexOf("data-")&&(n[r(i.name.replace("data-",""))]=e.zepto.deserializeValue(i.value))}),n}(n));return void 0!==o&&(u[r(o)]=a),u}e.fn.data=function(s,a){return void 0===a?e.isPlainObject(s)?this.each(function(t,n){e.each(s,function(e,t){o(n,e,t)})}):0 in this?function(s,a){var c=s[i],u=c&&t[c];if(void 0===a)return u||o(s);if(u){if(a in u)return u[a];var l=r(a);if(l in u)return u[l]}return n.call(e(s),a)}(this[0],s):void 0:this.each(function(){o(this,s,a)})},e.data=function(t,n,r){return e(t).data(n,r)},e.hasData=function(n){var r=n[i],s=r&&t[r];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each(function(){var s=this[i],o=s&&t[s];o&&e.each(n||o,function(e){delete o[n?r(this):e]})})},["remove","empty"].forEach(function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}})}(t),t}(t)}(window)},function(e,t,n){"use strict";var r=n(0),i=n(1);function s(e){e&&e.el||r.error("EventBus initialized without el"),this.$el=i.element(e.el)}r.mixin(s.prototype,{trigger:function(e){var t=[].slice.call(arguments,1),n=r.Event("autocomplete:"+e);return this.$el.trigger(n,t),n}}),e.exports=s},function(e,t,n){"use strict";e.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},function(e,t){e.exports="0.32.0"},function(e,t,n){"use strict";e.exports=function(e){var t=e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){return e&&e.__esModule?e:{default:e}}(n(15));t.default=r.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.6.1"},function(e,t,n){"use strict";var r=function(e){return e&&e.__esModule?e:{default:e}}(n(23));e.exports=r.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(24)),i=o(n(25)),s=o(n(21));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)(i.default);a.version=s.default,t.default=a},function(e,t,n){"use strict";var r=Function.prototype.bind;e.exports=function(e){var t=function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return new(r.apply(e,[null].concat(n)))};return t.__proto__=e,t.prototype=e.prototype,t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=d(n(26)),o=d(n(29)),a=d(n(49)),c=d(n(64)),u=d(n(65)),l=d(n(21)),h=d(n(20));function d(e){return e&&e.__esModule?e:{default:e}}var f=function(){function e(t){var n=t.apiKey,i=t.indexName,s=t.inputSelector,u=t.appId,d=void 0===u?"BH4D9OD16A":u,f=t.debug,p=void 0!==f&&f,g=t.algoliaOptions,m=void 0===g?{}:g,v=t.autocompleteOptions,y=void 0===v?{debug:!1,hint:!1,autoselect:!0}:v,b=t.transformData,w=void 0!==b&&b,_=t.queryHook,E=void 0!==_&&_,x=t.handleSelected,S=void 0!==x&&x,C=t.enhancedSearchInput,A=void 0!==C&&C,N=t.layout,O=void 0===N?"collumns":N;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),e.checkArguments({apiKey:n,indexName:i,inputSelector:s,debug:p,algoliaOptions:m,autocompleteOptions:y,transformData:w,queryHook:E,handleSelected:S,enhancedSearchInput:A,layout:O}),this.apiKey=n,this.appId=d,this.indexName=i,this.input=e.getInputFromSelector(s),this.algoliaOptions=r({hitsPerPage:5},m);var T=!(!y||!y.debug)&&y.debug;y.debug=p||T,this.autocompleteOptions=y,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds",S=S||this.handleSelected,this.isSimpleLayout="simple"===O,this.client=(0,o.default)(this.appId,this.apiKey),this.client.addAlgoliaAgent("docsearch.js "+l.default),A&&(this.input=e.injectSearchBox(this.input)),this.autocomplete=(0,a.default)(this.input,y,[{source:this.getAutocompleteSource(w,E),templates:{suggestion:e.getSuggestionTemplate(this.isSimpleLayout),footer:c.default.footer,empty:e.getEmptyTemplate()}}]),S&&(0,h.default)(".algolia-autocomplete").on("click",".ds-suggestions a",function(e){e.preventDefault()}),this.autocomplete.on("autocomplete:selected",S.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),A&&e.bindSearchBoxEvent()}return i(e,[{key:"getAutocompleteSource",value:function(t,n){var r=this;return function(i,s){n&&(i=n(i)||i),r.client.search([{indexName:r.indexName,query:i,params:r.algoliaOptions}]).then(function(n){var r=n.results[0].hits;t&&(r=t(r)||r),s(e.formatHits(r))})}}},{key:"handleSelected",value:function(e,t,n){e.setVal(""),window.location.assign(n.url)}},{key:"handleShown",value:function(e){var t=e.offset().left+e.width()/2,n=(0,h.default)(document).width()/2;isNaN(n)&&(n=900);var r=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",i=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=(0,h.default)(".algolia-autocomplete");s.hasClass(r)||s.addClass(r),s.hasClass(i)&&s.removeClass(i)}}],[{key:"checkArguments",value:function(t){if(!t.apiKey||!t.indexName)throw new Error("Usage:\n  documentationSearch({\n  apiKey,\n  indexName,\n  inputSelector,\n  [ appId ],\n  [ algoliaOptions.{hitsPerPage} ]\n  [ autocompleteOptions.{hint,debug} ]\n})");if("string"!=typeof t.inputSelector)throw new Error("Error: inputSelector:"+t.inputSelector+"  must be a string. Each selector must match only one element and separated by ','");if(!e.getInputFromSelector(t.inputSelector))throw new Error("Error: No input element in the page matches "+t.inputSelector)}},{key:"injectSearchBox",value:function(e){e.before(c.default.searchBox);var t=e.prev().prev().find("input");return e.remove(),t}},{key:"bindSearchBoxEvent",value:function(){(0,h.default)('.searchbox [type="reset"]').on("click",function(){(0,h.default)("input#docsearch").focus(),(0,h.default)(this).addClass("hide"),a.default.autocomplete.setVal("")}),(0,h.default)("input#docsearch").on("keyup",function(){var e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")})}},{key:"getInputFromSelector",value:function(e){var t=(0,h.default)(e).filter("input");return t.length?(0,h.default)(t[0]):null}},{key:"formatHits",value:function(t){var n=u.default.deepClone(t).map(function(e){return e._highlightResult&&(e._highlightResult=u.default.mergeKeyWithParent(e._highlightResult,"hierarchy")),u.default.mergeKeyWithParent(e,"hierarchy")}),r=u.default.groupBy(n,"lvl0");return h.default.each(r,function(e,t){var n=u.default.groupBy(t,"lvl1"),i=u.default.flattenAndFlagFirst(n,"isSubCategoryHeader");r[e]=i}),(r=u.default.flattenAndFlagFirst(r,"isCategoryHeader")).map(function(t){var n=e.formatURL(t),r=u.default.getHighlightedValue(t,"lvl0"),i=u.default.getHighlightedValue(t,"lvl1")||r,s=u.default.compact([u.default.getHighlightedValue(t,"lvl2")||i,u.default.getHighlightedValue(t,"lvl3"),u.default.getHighlightedValue(t,"lvl4"),u.default.getHighlightedValue(t,"lvl5"),u.default.getHighlightedValue(t,"lvl6")]).join('<span class="aa-suggestion-title-separator" aria-hidden="true"> › </span>'),o=u.default.getSnippetedValue(t,"content"),a=i&&""!==i||s&&""!==s,c=s&&""!==s&&s!==i,l=!c&&i&&""!==i&&i!==r;return{isLvl0:!l&&!c,isLvl1:l,isLvl2:c,isLvl1EmptyOrDuplicate:!i||""===i||i===r,isCategoryHeader:t.isCategoryHeader,isSubCategoryHeader:t.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:a,category:r,subcategory:i,title:s,text:o,url:n}})}},{key:"formatURL",value:function(e){var t=e.url,n=e.anchor;return t?-1!==t.indexOf("#")?t:n?e.url+"#"+e.anchor:t:n?"#"+e.anchor:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}},{key:"getEmptyTemplate",value:function(){return function(e){return s.default.compile(c.default.empty).render(e)}}},{key:"getSuggestionTemplate",value:function(e){var t=e?c.default.suggestionSimple:c.default.suggestion,n=s.default.compile(t);return function(e){return n.render(e)}}}]),e}();t.default=f},function(e,t,n){var r=n(27);r.Template=n(28).Template,r.template=r.Template,e.exports=r},function(e,t,n){!function(e){var t=/\S/,n=/\"/g,r=/\n/g,i=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function u(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function l(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r<i;r++)if(t.charAt(n+r)!=e.charAt(r))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,r){var i=n.length,s=0,o=null,a=null,h="",d=[],f=!1,p=0,g=0,m="{{",v="}}";function y(){h.length>0&&(d.push({tag:"_t",text:new String(h)}),h="")}function b(n,r){if(y(),n&&function(){for(var n=!0,r=g;r<d.length;r++)if(!(n=e.tags[d[r].tag]<e.tags._v||"_t"==d[r].tag&&null===d[r].text.match(t)))return!1;return n}())for(var i,s=g;s<d.length;s++)d[s].text&&((i=d[s+1])&&">"==i.tag&&(i.indent=d[s].text.toString()),d.splice(s,1));else r||d.push({tag:"\n"});f=!1,g=d.length}function w(e,t){var n="="+v,r=e.indexOf(n,t),i=u(e.substring(e.indexOf("=",t)+1,r)).split(" ");return m=i[0],v=i[i.length-1],r+n.length-1}for(r&&(r=r.split(" "),m=r[0],v=r[1]),p=0;p<i;p++)0==s?l(m,n,p)?(--p,y(),s=1):"\n"==n.charAt(p)?b(f):h+=n.charAt(p):1==s?(p+=m.length-1,"="==(o=(a=e.tags[n.charAt(p+1)])?n.charAt(p+1):"_v")?(p=w(n,p),s=0):(a&&p++,s=2),f=p):l(v,n,p)?(d.push({tag:o,n:u(h),otag:m,ctag:v,i:"/"==o?f-m.length:p+v.length}),h="",p+=v.length-1,s=0,"{"==o&&("}}"==v?p++:c(d[d.length-1]))):h+=n.charAt(p);return b(f,!0),d};var h={_t:!0,"\n":!0,$:!0,"/":!0};function d(e,t){for(var n=0,r=t.length;n<r;n++)if(t[n].o==e.n)return e.tag="#",!0}function f(e,t,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==e&&n[r].o==t)return!0}function p(e){var t=[];for(var n in e.partials)t.push('"'+m(n)+'":{name:"'+m(e.partials[n].name)+'", '+p(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+m(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,r){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+p(t)+"}"};var g=0;function m(e){return e.replace(s,"\\\\").replace(n,'\\"').replace(r,"\\n").replace(i,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function v(e){return~e.indexOf(".")?"d":"f"}function y(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+m(n)+'",c,p,"'+(e.indent||"")+'"));',n}function b(e,t){t.code+="t.b(t.t(t."+v(e.n)+'("'+m(e.n)+'",c,p,0)));'}function w(e){return"t.b("+e+");"}e.generate=function(t,n,r){g=0;var i={code:"",subs:{},partials:{}};return e.walk(t,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var r=this.makePartials(e);return r.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(r,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+v(t.n)+'("'+m(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+v(t.n)+'("'+m(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":y,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[y(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+m(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=w('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+v(e.n)+'("'+m(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=w('"'+m(e.text)+'"')},"{":b,"&":b},e.walk=function(t,n){for(var r,i=0,s=t.length;i<s;i++)(r=e.codegen[t[i].tag])&&r(t[i],n);return n},e.parse=function(t,n,r){return function t(n,r,i,s){var o,a=[],c=null,u=null;for(o=i[i.length-1];n.length>0;){if(u=n.shift(),o&&"<"==o.tag&&!(u.tag in h))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||d(u,s))i.push(u),u.nodes=t(n,u.tag,i,s);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(c=i.pop(),u.n!=c.n&&!f(u.n,c.n,s))throw new Error("Nesting error: "+c.n+" vs. "+u.n);return c.end=u.i,a}"\n"==u.tag&&(u.last=0==n.length||"\n"==n[0].tag)}a.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return a}(t,0,[],(r=r||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var r=e.cacheKey(t,n),i=this.cache[r];if(i){var s=i.partials;for(var o in s)delete s[o].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[r]=i}}(t)},function(e,t,n){!function(e){function t(e,t,n){var r;return t&&"object"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&"function"==typeof t.get&&(r=t.get(e))),r}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),a.test(e)?e.replace(n,"&amp;").replace(r,"&lt;").replace(i,"&gt;").replace(s,"&#39;").replace(o,"&quot;"):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],r=t[n.name];if(n.instance&&n.base==r)return n.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[e].base=r,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);r=function(e,t,n,r,i,s){function o(){}function a(){}var c;o.prototype=e,a.prototype=e.subs;var u=new o;for(c in u.subs=new a,u.subsText={},u.buf="",r=r||{},u.stackSubs=r,u.subsText=s,t)r[c]||(r[c]=t[c]);for(c in r)u.subs[c]=r[c];for(c in i=i||{},u.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)u.partials[c]=i[c];return u}(r,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=r,r},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(u(r))for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,r,i,s,o){var a;return(!u(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,r,i,s,o)),a=!!e,!r&&a&&t&&t.push("object"==typeof e?e:t[t.length-1]),a)},d:function(e,n,r,i){var s,o=e.split("."),a=this.f(o[0],n,r,i),c=this.options.modelGet,l=null;if("."===e&&u(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=t(o[h],a,c))?(l=a,a=s):a="";return!(i&&!a)&&(i||"function"!=typeof a||(n.push(l),a=this.mv(a,n,r),n.pop()),a)},f:function(e,n,r,i){for(var s=!1,o=!1,a=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(s=t(e,n[c],a))){o=!0;break}return o?(i||"function"!=typeof s||(s=this.mv(s,n,r)),s):!i&&""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var a,c=t[t.length-1],u=e.call(c);return"function"==typeof u?!!r||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(u,c,n,a.substring(i,s),o)):u},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return"function"==typeof i?this.ct(c(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var n=/&/g,r=/</g,i=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function c(e){return String(null===e||void 0===e?"":e)}var u=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},function(e,t,n){"use strict";var r=n(30),i=n(41);e.exports=i(r,"(lite) ")},function(e,t,n){e.exports=c;var r=n(5),i=n(31),s=n(32),o=n(38),a=Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER&&parseInt(Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER,10)||12e4;function c(e,t,i){var s=n(8)("algoliasearch"),o=n(3),a=n(6),c=n(7),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(!0!==i._allowEmptyCredentials&&!e)throw new r.AlgoliaSearchError("Please provide an application ID. "+l);if(!0!==i._allowEmptyCredentials&&!t)throw new r.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=e,this.apiKey=t,this.hosts={read:[],write:[]},i=i||{},this._timeouts=i.timeouts||{connect:1e3,read:2e3,write:3e4},i.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=i.timeout);var h=i.protocol||"https:";if(/:$/.test(h)||(h+=":"),"http:"!==h&&"https:"!==h)throw new r.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+i.protocol+"`)");if(this._checkAppIdData(),i.hosts)a(i.hosts)?(this.hosts.read=o(i.hosts),this.hosts.write=o(i.hosts)):(this.hosts.read=o(i.hosts.read),this.hosts.write=o(i.hosts.write));else{var d=c(this._shuffleResult,function(t){return e+"-"+t+".algolianet.com"}),f=(!1===i.dsn?"":"-dsn")+".algolia.net";this.hosts.read=[this.applicationID+f].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=c(this.hosts.read,u(h)),this.hosts.write=c(this.hosts.write,u(h)),this.extraHeaders={},this.cache=i._cache||{},this._ua=i._ua,this._useCache=!(void 0!==i._useCache&&!i._cache)||i._useCache,this._useRequestCache=this._useCache&&i._useRequestCache,this._useFallback=void 0===i.useFallback||i.useFallback,this._setTimeout=i._setTimeout,s("init done, %j",this)}function u(e){return function(t){return e+"//"+t.toLowerCase()}}function l(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var n=JSON.stringify(e);return Array.prototype.toJSON=t,n}function h(e){var t={};for(var n in e){var r;if(Object.prototype.hasOwnProperty.call(e,n))r="x-algolia-api-key"===n||"x-algolia-application-id"===n?"**hidden for security purposes**":e[n],t[n]=r}return t}c.prototype.initIndex=function(e){return new s(this,e)},c.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},c.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},c.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},c.prototype.addAlgoliaAgent=function(e){-1===this._ua.indexOf(";"+e)&&(this._ua+=";"+e)},c.prototype._jsonRequest=function(e){this._checkAppIdData();var t,s,o,a=n(8)("algoliasearch:"+e.url),c=e.additionalUA||"",u=e.cache,d=this,f=0,p=!1,g=d._useFallback&&d._request.fallback&&e.fallback;this.apiKey.length>500&&void 0!==e.body&&(void 0!==e.body.params||void 0!==e.body.requests)?(e.body.apiKey=this.apiKey,o=this._computeRequestHeaders({additionalUA:c,withApiKey:!1,headers:e.headers})):o=this._computeRequestHeaders({additionalUA:c,headers:e.headers}),void 0!==e.body&&(t=l(e.body)),a("request start");var m=[];function v(e,t,n){return d._useCache&&e&&t&&void 0!==t[n]}function y(t,n){if(v(d._useRequestCache,u,s)&&t.catch(function(){delete u[s]}),"function"!=typeof e.callback)return t.then(n);t.then(function(t){i(function(){e.callback(null,n(t))},d._setTimeout||setTimeout)},function(t){i(function(){e.callback(t)},d._setTimeout||setTimeout)})}if(d._useCache&&d._useRequestCache&&(s=e.url),d._useCache&&d._useRequestCache&&t&&(s+="_body_"+t),v(d._useRequestCache,u,s)){a("serving request from cache");var b=u[s];return y("function"!=typeof b.then?d._promise.resolve({responseText:b}):b,function(e){return JSON.parse(e.responseText)})}var w=function n(i,y){d._checkAppIdData();var b=new Date;if(d._useCache&&!d._useRequestCache&&(s=e.url),d._useCache&&!d._useRequestCache&&t&&(s+="_body_"+y.body),v(!d._useRequestCache,u,s)){a("serving response from cache");var w=u[s];return d._promise.resolve({body:JSON.parse(w),responseText:w})}if(f>=d.hosts[e.hostType].length)return!g||p?(a("could not get any response"),d._promise.reject(new r.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+d.applicationID,{debugData:m}))):(a("switching to fallback"),f=0,y.method=e.fallback.method,y.url=e.fallback.url,y.jsonBody=e.fallback.body,y.jsonBody&&(y.body=l(y.jsonBody)),o=d._computeRequestHeaders({additionalUA:c,headers:e.headers}),y.timeouts=d._getTimeoutsForRequest(e.hostType),d._setHostIndexByType(0,e.hostType),p=!0,n(d._request.fallback,y));var _=d._getHostByType(e.hostType),E=_+y.url,x={body:y.body,jsonBody:y.jsonBody,method:y.method,headers:o,timeouts:y.timeouts,debug:a,forceAuthHeaders:y.forceAuthHeaders};return a("method: %s, url: %s, headers: %j, timeouts: %d",x.method,E,x.headers,x.timeouts),i===d._request.fallback&&a("using fallback"),i.call(d,E,x).then(function(e){var n=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;a("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,n,e.headers);var i=2===Math.floor(n/100),c=new Date;if(m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b,statusCode:n}),i)return d._useCache&&!d._useRequestCache&&u&&(u[s]=e.responseText),{responseText:e.responseText,body:e.body};if(4!==Math.floor(n/100))return f+=1,S();a("unrecoverable error");var l=new r.AlgoliaSearchError(e.body&&e.body.message,{debugData:m,statusCode:n});return d._promise.reject(l)},function(s){a("error: %s, stack: %s",s.message,s.stack);var c=new Date;return m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b}),s instanceof r.AlgoliaSearchError||(s=new r.Unknown(s&&s.message,s)),f+=1,s instanceof r.Unknown||s instanceof r.UnparsableJSON||f>=d.hosts[e.hostType].length&&(p||!g)?(s.debugData=m,d._promise.reject(s)):s instanceof r.RequestTimeout?(a("retrying request with higher timeout"),d._incrementHostIndex(e.hostType),d._incrementTimeoutMultipler(),y.timeouts=d._getTimeoutsForRequest(e.hostType),n(i,y)):S()});function S(){return a("retrying request"),d._incrementHostIndex(e.hostType),n(i,y)}}(d._request,{url:e.url,method:e.method,body:t,jsonBody:e.body,timeouts:d._getTimeoutsForRequest(e.hostType),forceAuthHeaders:e.forceAuthHeaders});return d._useCache&&d._useRequestCache&&u&&(u[s]=w),y(w,function(e){return e.body})},c.prototype._getSearchParams=function(e,t){if(void 0===e||null===e)return t;for(var n in e)null!==n&&void 0!==e[n]&&e.hasOwnProperty(n)&&(t+=""===t?"":"&",t+=n+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[n])?l(e[n]):e[n]));return t},c.prototype._computeRequestHeaders=function(e){var t=n(2),r={"x-algolia-agent":e.additionalUA?this._ua+";"+e.additionalUA:this._ua,"x-algolia-application-id":this.applicationID};return!1!==e.withApiKey&&(r["x-algolia-api-key"]=this.apiKey),this.userToken&&(r["x-algolia-usertoken"]=this.userToken),this.securityTags&&(r["x-algolia-tagfilters"]=this.securityTags),t(this.extraHeaders,function(e,t){r[t]=e}),e.headers&&t(e.headers,function(e,t){r[t]=e}),r},c.prototype.search=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: client.search(arrayOfQueries[, callback])");"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=this,a={requests:s(e,function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:o._getSearchParams(e.params,t)}})},c=s(a.requests,function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)}).join("&");return void 0!==t.strategy&&(a.strategy=t.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:"/1/indexes/*/queries",body:a,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:c}},callback:r})},c.prototype.searchForFacetValues=function(e){var t=n(6),r=n(7),i="Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if(!t(e))throw new Error(i);var s=this;return s._promise.all(r(e,function(e){if(!e||void 0===e.indexName||void 0===e.params.facetName||void 0===e.params.facetQuery)throw new Error(i);var t=n(3),r=n(14),o=e.indexName,a=e.params,c=a.facetName,u=r(t(a),function(e){return"facetName"===e}),l=s._getSearchParams(u,"");return s._jsonRequest({cache:s.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(o)+"/facets/"+encodeURIComponent(c)+"/query",hostType:"read",body:{params:l}})}))},c.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],n=0;n<e.length;++n)if("[object Array]"===Object.prototype.toString.call(e[n])){for(var r=[],i=0;i<e[n].length;++i)r.push(e[n][i]);t.push("("+r.join(",")+")")}else t.push(e[n]);e=t.join(",")}this.securityTags=e},c.prototype.setUserToken=function(e){this.userToken=e},c.prototype.clearCache=function(){this.cache={}},c.prototype.setRequestTimeout=function(e){e&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=e)},c.prototype.setTimeouts=function(e){this._timeouts=e},c.prototype.getTimeouts=function(){return this._timeouts},c.prototype._getAppIdData=function(){var e=o.get(this.applicationID);return null!==e&&this._cacheAppIdData(e),e},c.prototype._setAppIdData=function(e){return e.lastChange=(new Date).getTime(),this._cacheAppIdData(e),o.set(this.applicationID,e)},c.prototype._checkAppIdData=function(){var e=this._getAppIdData(),t=(new Date).getTime();return null===e||t-e.lastChange>a?this._resetInitialAppIdData(e):e},c.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||function(e){var t,n,r=e.length;for(;0!==r;)n=Math.floor(Math.random()*r),t=e[r-=1],e[r]=e[n],e[n]=t;return e}([1,2,3]),this._setAppIdData(t)},c.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},c.prototype._partialAppIdDataUpdate=function(e){var t=n(2),r=this._getAppIdData();return t(e,function(e,t){r[t]=e}),this._setAppIdData(r)},c.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},c.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},c.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},c.prototype._setHostIndexByType=function(e,t){var r=n(3)(this._hostIndexes);return r[t]=e,this._partialAppIdDataUpdate({hostIndexes:r}),e},c.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},c.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},c.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}},function(e,t){e.exports=function(e,t){t(e,0)}},function(e,t,n){var r=n(13),i=n(33),s=n(34);function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}e.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=r("query"),o.prototype.similarSearch=r("similarQuery"),o.prototype.browse=function(e,t,r){var i,s,o=n(35);0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(i=0,r=arguments[0],e=void 0):"number"==typeof arguments[0]?(i=arguments[0],"number"==typeof arguments[1]?s=arguments[1]:"function"==typeof arguments[1]&&(r=arguments[1],s=void 0),e=void 0,t=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(r=arguments[1]),t=arguments[0],e=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(r=arguments[1],t=void 0),t=o({},t||{},{page:i,hitsPerPage:s,query:e});var a=this.as._getSearchParams(t,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{params:a},hostType:"read",callback:r})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(e,t){var r=n(3),i=n(14);if(void 0===e.facetName||void 0===e.facetQuery)throw new Error("Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])");var s=e.facetName,o=i(r(e),function(e){return"facetName"===e}),a=this.as._getSearchParams(o,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:a},callback:t})},o.prototype.searchFacet=i(function(e,t){return this.searchForFacetValues(e,t)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,n,r){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:n,additionalUA:r})},o.prototype.getObject=function(e,t,n){1!==arguments.length&&"function"!=typeof t||(n=t,t=void 0);var r="";if(void 0!==t){r="?attributes=";for(var i=0;i<t.length;++i)0!==i&&(r+=","),r+=t[i]}return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/"+encodeURIComponent(e)+r,hostType:"read",callback:n})},o.prototype.getObjects=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: index.getObjects(arrayOfObjectIDs[, callback])");var o=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var a={requests:s(e,function(e){var n={indexName:o.indexName,objectID:e};return t&&(n.attributesToRetrieve=t.join(",")),n})};return this.as._jsonRequest({method:"POST",url:"/1/indexes/*/objects",hostType:"read",body:a,callback:r})},o.prototype.as=null,o.prototype.indexName=null,o.prototype.typeAheadArgs=null,o.prototype.typeAheadValueOption=null},function(e,t){e.exports=function(e,t){var n=!1;return function(){return n||(console.warn(t),n=!0),e.apply(this,arguments)}}},function(e,t){e.exports=function(e,t){return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+e.toLowerCase().replace(/[\.\(\)]/g,"")}},function(e,t,n){var r=n(2);e.exports=function e(t){var n=Array.prototype.slice.call(arguments);return r(n,function(n){for(var r in n)n.hasOwnProperty(r)&&("object"==typeof t[r]&&"object"==typeof n[r]?t[r]=e({},t[r],n[r]):void 0!==n[r]&&(t[r]=n[r]))}),t}},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Array.prototype.slice,o=n(37),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(e){var t=e.constructor;return t&&t.prototype===e},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{h(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===i.call(e),s=o(e),a=t&&"[object String]"===i.call(e),d=[];if(!t&&!n&&!s)throw new TypeError("Object.keys called on a non-object");var p=u&&n;if(a&&e.length>0&&!r.call(e,0))for(var g=0;g<e.length;++g)d.push(String(g));if(s&&e.length>0)for(var m=0;m<e.length;++m)d.push(String(m));else for(var v in e)p&&"prototype"===v||!r.call(e,v)||d.push(String(v));if(c)for(var y=function(e){if("undefined"==typeof window||!f)return h(e);try{return h(e)}catch(e){return!1}}(e),b=0;b<l.length;++b)y&&"constructor"===l[b]||!r.call(e,l[b])||d.push(l[b]);return d};p.shim=function(){if(Object.keys){if(!function(){return 2===(Object.keys(arguments)||"").length}(1,2)){var e=Object.keys;Object.keys=function(t){return o(t)?e(s.call(t)):e(t)}}}else Object.keys=p;return Object.keys||p},e.exports=p},function(e,t,n){"use strict";var r=Object.prototype.toString;e.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}},function(e,t,n){(function(t){var r,i=n(8)("algoliasearch:src/hostIndexState.js"),s="algoliasearch-client-js",o={state:{},set:function(e,t){return this.state[e]=t,this.state[e]},get:function(e){return this.state[e]||null}},a={set:function(e,n){o.set(e,n);try{var r=JSON.parse(t.localStorage[s]);return r[e]=n,t.localStorage[s]=JSON.stringify(r),r[e]}catch(t){return c(e,t)}},get:function(e){try{return JSON.parse(t.localStorage[s])[e]||null}catch(t){return c(e,t)}}};function c(e,n){return i("localStorage failed with",n),function(){try{t.localStorage.removeItem(s)}catch(e){}}(),(r=o).get(e)}function u(e,t){return 1===arguments.length?r.get(e):r.set(e,t)}function l(){try{return"localStorage"in t&&null!==t.localStorage&&(t.localStorage[s]||t.localStorage.setItem(s,JSON.stringify({})),!0)}catch(e){return!1}}r=l()?a:o,e.exports={get:u,set:u,supportsLocalStorage:l}}).call(t,n(4))},function(e,t,n){var r;function i(e){function n(){if(n.enabled){var e=n,i=+new Date,s=i-(r||i);e.diff=s,e.prev=r,e.curr=i,r=i;for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];o[0]=t.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var c=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,function(n,r){if("%%"===n)return n;c++;var i=t.formatters[r];if("function"==typeof i){var s=o[c];n=i.call(e,s),o.splice(c,1),c--}return n}),t.formatArgs.call(e,o),(n.log||t.log||console.log.bind(console)).apply(e,o)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=function(e){var n,r=0;for(n in e)r=(r<<5)-r+e.charCodeAt(n),r|=0;return t.colors[Math.abs(r)%t.colors.length]}(e),"function"==typeof t.init&&t.init(n),n}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var n=("string"==typeof e?e:"").split(/[\s,]+/),r=n.length,i=0;i<r;i++)n[i]&&("-"===(e=n[i].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(40),t.names=[],t.skips=[],t.formatters={}},function(e,t){var n=1e3,r=60*n,i=60*r,s=24*i,o=365.25*s;function a(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+n:Math.ceil(e/t)+" "+n+"s"}e.exports=function(e,t){t=t||{};var c=typeof e;if("string"===c&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return a*o;case"days":case"day":case"d":return a*s;case"hours":case"hour":case"hrs":case"hr":case"h":return a*i;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(e);if("number"===c&&!1===isNaN(e))return t.long?function(e){return a(e,s,"day")||a(e,i,"hour")||a(e,r,"minute")||a(e,n,"second")||e+" ms"}(e):function(e){if(e>=s)return Math.round(e/s)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=r)return Math.round(e/r)+"m";if(e>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){"use strict";var r=n(42),i=r.Promise||n(43).Promise;e.exports=function(e,t){var s=n(12),o=n(5),a=n(44),c=n(46),u=n(47);function l(e,t,r){return(r=n(3)(r||{}))._ua=r._ua||l.ua,new d(e,t,r)}t=t||"",l.version=n(48),l.ua="Algolia for vanilla JavaScript "+t+l.version,l.initPlaces=u(l),r.__algolia={debug:n(8),algoliasearch:l};var h={hasXMLHttpRequest:"XMLHttpRequest"in r,hasXDomainRequest:"XDomainRequest"in r};function d(){e.apply(this,arguments)}return h.hasXMLHttpRequest&&(h.cors="withCredentials"in new XMLHttpRequest),s(d,e),d.prototype._request=function(e,t){return new i(function(n,r){if(h.cors||h.hasXDomainRequest){e=a(e,t.headers);var i,s,c=t.body,u=h.cors?new XMLHttpRequest:new XDomainRequest,l=!1;i=setTimeout(d,t.timeouts.connect),u.onprogress=function(){l||f()},"onreadystatechange"in u&&(u.onreadystatechange=function(){!l&&u.readyState>1&&f()}),u.onload=function(){if(s)return;var e;clearTimeout(i);try{e={body:JSON.parse(u.responseText),responseText:u.responseText,statusCode:u.status,headers:u.getAllResponseHeaders&&u.getAllResponseHeaders()||{}}}catch(t){e=new o.UnparsableJSON({more:u.responseText})}e instanceof o.UnparsableJSON?r(e):n(e)},u.onerror=function(e){if(s)return;clearTimeout(i),r(new o.Network({more:e}))},u instanceof XMLHttpRequest?(u.open(t.method,e,!0),t.forceAuthHeaders&&(u.setRequestHeader("x-algolia-application-id",t.headers["x-algolia-application-id"]),u.setRequestHeader("x-algolia-api-key",t.headers["x-algolia-api-key"]))):u.open(t.method,e),h.cors&&(c&&("POST"===t.method?u.setRequestHeader("content-type","application/x-www-form-urlencoded"):u.setRequestHeader("content-type","application/json")),u.setRequestHeader("accept","application/json")),c?u.send(c):u.send()}else r(new o.Network("CORS not supported"));function d(){s=!0,u.abort(),r(new o.RequestTimeout)}function f(){l=!0,clearTimeout(i),i=setTimeout(d,t.timeouts.complete)}})},d.prototype._request.fallback=function(e,t){return e=a(e,t.headers),new i(function(n,r){c(e,t,function(e,t){e?r(e):n(t)})})},d.prototype._promise={reject:function(e){return i.reject(e)},resolve:function(e){return i.resolve(e)},delay:function(e){return new i(function(t){setTimeout(t,e)})},all:function(e){return i.all(e)}},l}},function(e,t,n){(function(t){var n;n="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},e.exports=n}).call(t,n(4))},function(e,t,n){(function(t,n){
++var r;"undefined"!=typeof self&&self,r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=22)}([function(e,t,n){"use strict";var r,i=n(1);function s(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return null==e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,(function(e,r){e&&(n.isArray(e)?t[r]=[].concat(e):n.isObject(e)&&(t[r]=n.cloneDeep(e)))})),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,(function(r,i){if(!(n=t.call(null,r,i,e)))return!1})),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,(function(r,i){if(t.call(null,r,i,e))return n=!0,!1})),n):n},getUniqueId:(r=0,function(){return r++}),templatify:function(e){if(this.isFunction(e))return e;var t=i.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"<em>";var r=document.createElement("div");r.appendChild(document.createTextNode(t)),n=n||"</em>";var i=document.createElement("div");i.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(s(r.innerHTML),"g"),t).replace(RegExp(s(i.innerHTML),"g"),n)}}},function(e,t,n){"use strict";e.exports={element:null}},function(e,t){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;e.exports=function(e,t,i){if("[object Function]"!==r.call(t))throw new TypeError("iterator must be a function");var s=e.length;if(s===+s)for(var o=0;o<s;o++)t.call(i,e[o],o,e);else for(var a in e)n.call(e,a)&&t.call(i,e[a],a,e)}},function(e,t){e.exports=function(e){return JSON.parse(JSON.stringify(e))}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=n(12);function i(e,t){var r=n(2),i=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):i.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=e||"Unknown error",t&&r(t,(function(e,t){i[t]=e}))}function s(e,t){function n(){var n=Array.prototype.slice.call(arguments,0);"string"!=typeof n[0]&&n.unshift(t),i.apply(this,n),this.name="AlgoliaSearch"+e+"Error"}return r(n,i),n}r(i,Error),e.exports={AlgoliaSearchError:i,UnparsableJSON:s("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:s("RequestTimeout","Request timedout before getting a response"),Network:s("Network","Network issue, see err.more for details"),JSONPScriptFail:s("JSONPScriptFail","<script> was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError","<script> unable to load due to an `error` event on it"),Unknown:s("Unknown","Unknown error occured")}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){var r=n(2);e.exports=function(e,t){var n=[];return r(e,(function(r,i){n.push(t(r,i,e))})),n}},function(e,t,n){(function(r){function i(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==r&&"env"in r&&(e=Object({NODE_ENV:"production"}).DEBUG),e}(t=e.exports=n(39)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),n){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var i=0,s=0;e[0].replace(/%[a-zA-Z%]/g,(function(e){"%%"!==e&&(i++,"%c"===e&&(s=i))})),e.splice(s,0,r)}},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=i,t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(i())}).call(t,n(9))},function(e,t){var n,r,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var c,u=[],l=!1,h=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&f())}function f(){if(!l){var e=a(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++h<t;)c&&c[h].run();h=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(53),i=/\s+/;function s(e,t,n,r){var s;if(!n)return this;for(t=t.split(i),n=r?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,r):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var r,i=0,s=e.length;!r&&i<s;i+=1)r=!1===e[i].apply(t,n);return!r}}e.exports={onSync:function(e,t,n){return s.call(this,"sync",e,t,n)},onAsync:function(e,t,n){return s.call(this,"async",e,t,n)},off:function(e){var t;if(!this._callbacks)return this;for(e=e.split(i);t=e.shift();)delete this._callbacks[t];return this},trigger:function(e){var t,n,s,a,c;if(!this._callbacks)return this;for(e=e.split(i),s=[].slice.call(arguments,1);(t=e.shift())&&(n=this._callbacks[t]);)a=o(n.sync,this,[t].concat(s)),c=o(n.async,this,[t].concat(s)),a()&&r(c);return this}}},function(e,t,n){"use strict";var r=n(0),i={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};r.isMsie()&&r.mixin(i.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),r.isMsie()&&r.isMsie()<=7&&r.mixin(i.input,{marginTop:"-1px"}),e.exports=i},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=function(e,t){return function(n,i,s){if("function"==typeof n&&"object"==typeof i||"object"==typeof s)throw new r.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof n?(s=n,n=""):1!==arguments.length&&"function"!=typeof i||(s=i,i=void 0),"object"==typeof n&&null!==n?(i=n,n=void 0):null==n&&(n="");var o,a="";return void 0!==n&&(a+=e+"="+encodeURIComponent(n)),void 0!==i&&(i.additionalUA&&(o=i.additionalUA,delete i.additionalUA),a=this.as._getSearchParams(i,a)),this._search(a,t,s,o)}};var r=n(5)},function(e,t,n){e.exports=function(e,t){var r=n(36),i=n(2),s={};return i(r(e),(function(n){!0!==t(n)&&(s[n]=e[n])})),s}},function(e,t){var n;n=window,e.exports=function(e){var t,n,r=function(){var t,n,r,i,s,o=[],a=o.concat,c=o.filter,u=o.slice,l=e.document,h={},d={},f={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,g=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,v=/^(?:body|html)$/i,y=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],w=l.createElement("table"),_=l.createElement("tr"),E={tr:l.createElement("tbody"),tbody:w,thead:w,tfoot:w,td:_,th:_,"*":l.createElement("div")},x=/complete|loaded|interactive/,S=/^[\w-]*$/,C={},A=C.toString,N={},O=l.createElement("div"),T={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},k=Array.isArray||function(e){return e instanceof Array};function R(e){return null==e?String(e):C[A.call(e)]||"object"}function M(e){return"function"==R(e)}function L(e){return null!=e&&e==e.window}function I(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function D(e){return"object"==R(e)}function j(e){return D(e)&&!L(e)&&Object.getPrototypeOf(e)==Object.prototype}function P(e){var t=!!e&&"length"in e&&e.length,r=n.type(e);return"function"!=r&&!L(e)&&("array"==r||0===t||"number"==typeof t&&t>0&&t-1 in e)}function $(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function H(e){return e in d?d[e]:d[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function B(e,t){return"number"!=typeof t||f[$(e)]?t:t+"px"}function q(e){return"children"in e?u.call(e.children):n.map(e.childNodes,(function(e){if(1==e.nodeType)return e}))}function F(e,t){var n,r=e?e.length:0;for(n=0;n<r;n++)this[n]=e[n];this.length=r,this.selector=t||""}function z(e,n,r){for(t in n)r&&(j(n[t])||k(n[t]))?(j(n[t])&&!j(e[t])&&(e[t]={}),k(n[t])&&!k(e[t])&&(e[t]=[]),z(e[t],n[t],r)):void 0!==n[t]&&(e[t]=n[t])}function U(e,t){return null==t?n(e):n(e).filter(t)}function K(e,t,n,r){return M(t)?t.call(e,n,r):t}function V(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function J(e,t){var n=e.className||"",r=n&&void 0!==n.baseVal;if(void 0===t)return r?n.baseVal:n;r?n.baseVal=t:e.className=t}function W(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?n.parseJSON(e):e):e}catch(t){return e}}function G(e,t){t(e);for(var n=0,r=e.childNodes.length;n<r;n++)G(e.childNodes[n],t)}return N.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var r,i=e.parentNode,s=!i;return s&&(i=O).appendChild(e),r=~N.qsa(i,t).indexOf(e),s&&O.removeChild(e),r},i=function(e){return e.replace(/-+(.)?/g,(function(e,t){return t?t.toUpperCase():""}))},s=function(e){return c.call(e,(function(t,n){return e.indexOf(t)==n}))},N.fragment=function(e,t,r){var i,s,o;return g.test(e)&&(i=n(l.createElement(RegExp.$1))),i||(e.replace&&(e=e.replace(m,"<$1></$2>")),void 0===t&&(t=p.test(e)&&RegExp.$1),t in E||(t="*"),(o=E[t]).innerHTML=""+e,i=n.each(u.call(o.childNodes),(function(){o.removeChild(this)}))),j(r)&&(s=n(i),n.each(r,(function(e,t){b.indexOf(e)>-1?s[e](t):s.attr(e,t)}))),i},N.Z=function(e,t){return new F(e,t)},N.isZ=function(e){return e instanceof N.Z},N.init=function(e,t){var r,i;if(!e)return N.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&p.test(e))r=N.fragment(e,RegExp.$1,t),e=null;else{if(void 0!==t)return n(t).find(e);r=N.qsa(l,e)}else{if(M(e))return n(l).ready(e);if(N.isZ(e))return e;if(k(e))i=e,r=c.call(i,(function(e){return null!=e}));else if(D(e))r=[e],e=null;else if(p.test(e))r=N.fragment(e.trim(),RegExp.$1,t),e=null;else{if(void 0!==t)return n(t).find(e);r=N.qsa(l,e)}}return N.Z(r,e)},(n=function(e,t){return N.init(e,t)}).extend=function(e){var t,n=u.call(arguments,1);return"boolean"==typeof e&&(t=e,e=n.shift()),n.forEach((function(n){z(e,n,t)})),e},N.qsa=function(e,t){var n,r="#"==t[0],i=!r&&"."==t[0],s=r||i?t.slice(1):t,o=S.test(s);return e.getElementById&&o&&r?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:u.call(o&&!r&&e.getElementsByClassName?i?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},n.contains=l.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},n.type=R,n.isFunction=M,n.isWindow=L,n.isArray=k,n.isPlainObject=j,n.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},n.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},n.inArray=function(e,t,n){return o.indexOf.call(t,e,n)},n.camelCase=i,n.trim=function(e){return null==e?"":String.prototype.trim.call(e)},n.uuid=0,n.support={},n.expr={},n.noop=function(){},n.map=function(e,t){var r,i,s,o,a=[];if(P(e))for(i=0;i<e.length;i++)null!=(r=t(e[i],i))&&a.push(r);else for(s in e)null!=(r=t(e[s],s))&&a.push(r);return(o=a).length>0?n.fn.concat.apply([],o):o},n.each=function(e,t){var n,r;if(P(e)){for(n=0;n<e.length;n++)if(!1===t.call(e[n],n,e[n]))return e}else for(r in e)if(!1===t.call(e[r],r,e[r]))return e;return e},n.grep=function(e,t){return c.call(e,t)},e.JSON&&(n.parseJSON=JSON.parse),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),(function(e,t){C["[object "+t+"]"]=t.toLowerCase()})),n.fn={constructor:N.Z,length:0,forEach:o.forEach,reduce:o.reduce,push:o.push,sort:o.sort,splice:o.splice,indexOf:o.indexOf,concat:function(){var e,t,n=[];for(e=0;e<arguments.length;e++)t=arguments[e],n[e]=N.isZ(t)?t.toArray():t;return a.apply(N.isZ(this)?this.toArray():this,n)},map:function(e){return n(n.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return n(u.apply(this,arguments))},ready:function(e){return x.test(l.readyState)&&l.body?e(n):l.addEventListener("DOMContentLoaded",(function(){e(n)}),!1),this},get:function(e){return void 0===e?u.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(e){return o.every.call(this,(function(t,n){return!1!==e.call(t,n,t)})),this},filter:function(e){return M(e)?this.not(this.not(e)):n(c.call(this,(function(t){return N.matches(t,e)})))},add:function(e,t){return n(s(this.concat(n(e,t))))},is:function(e){return this.length>0&&N.matches(this[0],e)},not:function(e){var t=[];if(M(e)&&void 0!==e.call)this.each((function(n){e.call(this,n)||t.push(this)}));else{var r="string"==typeof e?this.filter(e):P(e)&&M(e.item)?u.call(e):n(e);this.forEach((function(e){r.indexOf(e)<0&&t.push(e)}))}return n(t)},has:function(e){return this.filter((function(){return D(e)?n.contains(this,e):n(this).find(e).size()}))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!D(e)?e:n(e)},last:function(){var e=this[this.length-1];return e&&!D(e)?e:n(e)},find:function(e){var t=this;return e?"object"==typeof e?n(e).filter((function(){var e=this;return o.some.call(t,(function(t){return n.contains(t,e)}))})):1==this.length?n(N.qsa(this[0],e)):this.map((function(){return N.qsa(this,e)})):n()},closest:function(e,t){var r=[],i="object"==typeof e&&n(e);return this.each((function(n,s){for(;s&&!(i?i.indexOf(s)>=0:N.matches(s,e));)s=s!==t&&!I(s)&&s.parentNode;s&&r.indexOf(s)<0&&r.push(s)})),n(r)},parents:function(e){for(var t=[],r=this;r.length>0;)r=n.map(r,(function(e){if((e=e.parentNode)&&!I(e)&&t.indexOf(e)<0)return t.push(e),e}));return U(t,e)},parent:function(e){return U(s(this.pluck("parentNode")),e)},children:function(e){return U(this.map((function(){return q(this)})),e)},contents:function(){return this.map((function(){return this.contentDocument||u.call(this.childNodes)}))},siblings:function(e){return U(this.map((function(e,t){return c.call(q(t.parentNode),(function(e){return e!==t}))})),e)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(e){return n.map(this,(function(t){return t[e]}))},show:function(){return this.each((function(){var e,t,n;"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=(e=this.nodeName,h[e]||(t=l.createElement(e),l.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),h[e]=n),h[e]))}))},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=M(e);if(this[0]&&!t)var r=n(e).get(0),i=r.parentNode||this.length>1;return this.each((function(s){n(this).wrapAll(t?e.call(this,s):i?r.cloneNode(!0):r)}))},wrapAll:function(e){if(this[0]){var t;for(n(this[0]).before(e=n(e));(t=e.children()).length;)e=t.first();n(e).append(this)}return this},wrapInner:function(e){var t=M(e);return this.each((function(r){var i=n(this),s=i.contents(),o=t?e.call(this,r):e;s.length?s.wrapAll(o):i.append(o)}))},unwrap:function(){return this.parent().each((function(){n(this).replaceWith(n(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(e){return this.each((function(){var t=n(this);(void 0===e?"none"==t.css("display"):e)?t.show():t.hide()}))},prev:function(e){return n(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return n(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each((function(t){var r=this.innerHTML;n(this).empty().append(K(this,e,t,r))})):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each((function(t){var n=K(this,e,t,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(e,n){var r;return"string"!=typeof e||1 in arguments?this.each((function(r){if(1===this.nodeType)if(D(e))for(t in e)V(this,t,e[t]);else V(this,e,K(this,n,r,this.getAttribute(e)))})):0 in this&&1==this[0].nodeType&&null!=(r=this[0].getAttribute(e))?r:void 0},removeAttr:function(e){return this.each((function(){1===this.nodeType&&e.split(" ").forEach((function(e){V(this,e)}),this)}))},prop:function(e,t){return e=T[e]||e,1 in arguments?this.each((function(n){this[e]=K(this,t,n,this[e])})):this[0]&&this[0][e]},removeProp:function(e){return e=T[e]||e,this.each((function(){delete this[e]}))},data:function(e,t){var n="data-"+e.replace(y,"-$1").toLowerCase(),r=1 in arguments?this.attr(n,t):this.attr(n);return null!==r?W(r):void 0},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each((function(t){this.value=K(this,e,t,this.value)}))):this[0]&&(this[0].multiple?n(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each((function(e){var r=n(this),i=K(this,t,e,r.offset()),s=r.offsetParent().offset(),o={top:i.top-s.top,left:i.left-s.left};"static"==r.css("position")&&(o.position="relative"),r.css(o)}));if(!this.length)return null;if(l.documentElement!==this[0]&&!n.contains(l.documentElement,this[0]))return{top:0,left:0};var r=this[0].getBoundingClientRect();return{left:r.left+e.pageXOffset,top:r.top+e.pageYOffset,width:Math.round(r.width),height:Math.round(r.height)}},css:function(e,r){if(arguments.length<2){var s=this[0];if("string"==typeof e){if(!s)return;return s.style[i(e)]||getComputedStyle(s,"").getPropertyValue(e)}if(k(e)){if(!s)return;var o={},a=getComputedStyle(s,"");return n.each(e,(function(e,t){o[t]=s.style[i(t)]||a.getPropertyValue(t)})),o}}var c="";if("string"==R(e))r||0===r?c=$(e)+":"+B(e,r):this.each((function(){this.style.removeProperty($(e))}));else for(t in e)e[t]||0===e[t]?c+=$(t)+":"+B(t,e[t])+";":this.each((function(){this.style.removeProperty($(t))}));return this.each((function(){this.style.cssText+=";"+c}))},index:function(e){return e?this.indexOf(n(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&o.some.call(this,(function(e){return this.test(J(e))}),H(e))},addClass:function(e){return e?this.each((function(t){if("className"in this){r=[];var i=J(this);K(this,e,t,i).split(/\s+/g).forEach((function(e){n(this).hasClass(e)||r.push(e)}),this),r.length&&J(this,i+(i?" ":"")+r.join(" "))}})):this},removeClass:function(e){return this.each((function(t){if("className"in this){if(void 0===e)return J(this,"");r=J(this),K(this,e,t,r).split(/\s+/g).forEach((function(e){r=r.replace(H(e)," ")})),J(this,r.trim())}}))},toggleClass:function(e,t){return e?this.each((function(r){var i=n(this);K(this,e,r,J(this)).split(/\s+/g).forEach((function(e){(void 0===t?!i.hasClass(e):t)?i.addClass(e):i.removeClass(e)}))})):this},scrollTop:function(e){if(this.length){var t="scrollTop"in this[0];return void 0===e?t?this[0].scrollTop:this[0].pageYOffset:this.each(t?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var t="scrollLeft"in this[0];return void 0===e?t?this[0].scrollLeft:this[0].pageXOffset:this.each(t?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),r=this.offset(),i=v.test(t[0].nodeName)?{top:0,left:0}:t.offset();return r.top-=parseFloat(n(e).css("margin-top"))||0,r.left-=parseFloat(n(e).css("margin-left"))||0,i.top+=parseFloat(n(t[0]).css("border-top-width"))||0,i.left+=parseFloat(n(t[0]).css("border-left-width"))||0,{top:r.top-i.top,left:r.left-i.left}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent||l.body;e&&!v.test(e.nodeName)&&"static"==n(e).css("position");)e=e.offsetParent;return e}))}},n.fn.detach=n.fn.remove,["width","height"].forEach((function(e){var t=e.replace(/./,(function(e){return e[0].toUpperCase()}));n.fn[e]=function(r){var i,s=this[0];return void 0===r?L(s)?s["inner"+t]:I(s)?s.documentElement["scroll"+t]:(i=this.offset())&&i[e]:this.each((function(t){(s=n(this)).css(e,K(this,r,t,s[e]()))}))}})),["after","prepend","before","append"].forEach((function(t,r){var i=r%2;n.fn[t]=function(){var t,s,o=n.map(arguments,(function(e){var r=[];return"array"==(t=R(e))?(e.forEach((function(e){return void 0!==e.nodeType?r.push(e):n.zepto.isZ(e)?r=r.concat(e.get()):void(r=r.concat(N.fragment(e)))})),r):"object"==t||null==e?e:N.fragment(e)})),a=this.length>1;return o.length<1?this:this.each((function(t,c){s=i?c:c.parentNode,c=0==r?c.nextSibling:1==r?c.firstChild:2==r?c:null;var u=n.contains(l.documentElement,s);o.forEach((function(t){if(a)t=t.cloneNode(!0);else if(!s)return n(t).remove();s.insertBefore(t,c),u&&G(t,(function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}}))}))}))},n.fn[i?t+"To":"insert"+(r?"Before":"After")]=function(e){return n(e)[t](this),this}})),N.Z.prototype=F.prototype=n.fn,N.uniq=s,N.deserializeValue=W,n.zepto=N,n}();return function(t){var n=1,r=Array.prototype.slice,i=t.isFunction,s=function(e){return"string"==typeof e},o={},a={},c="onfocusin"in e,u={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};function h(e){return e._zid||(e._zid=n++)}function d(e,t,n,r){if((t=f(t)).ns)var i=(s=t.ns,new RegExp("(?:^| )"+s.replace(" "," .* ?")+"(?: |$)"));var s;return(o[h(e)]||[]).filter((function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||i.test(e.ns))&&(!n||h(e.fn)===h(n))&&(!r||e.sel==r)}))}function f(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function p(e,t){return e.del&&!c&&e.e in u||!!t}function g(e){return l[e]||c&&u[e]||e}function m(e,n,r,i,s,a,c){var u=h(e),d=o[u]||(o[u]=[]);n.split(/\s/).forEach((function(n){if("ready"==n)return t(document).ready(r);var o=f(n);o.fn=r,o.sel=s,o.e in l&&(r=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return o.fn.apply(this,arguments)}),o.del=a;var u=a||r;o.proxy=function(t){if(!(t=E(t)).isImmediatePropagationStopped()){try{var n=Object.getOwnPropertyDescriptor(t,"data");n&&!n.writable||(t.data=i)}catch(t){}var r=u.apply(e,null==t._args?[t]:[t].concat(t._args));return!1===r&&(t.preventDefault(),t.stopPropagation()),r}},o.i=d.length,d.push(o),"addEventListener"in e&&e.addEventListener(g(o.e),o.proxy,p(o,c))}))}function v(e,t,n,r,i){var s=h(e);(t||"").split(/\s/).forEach((function(t){d(e,t,n,r).forEach((function(t){delete o[s][t.i],"removeEventListener"in e&&e.removeEventListener(g(t.e),t.proxy,p(t,i))}))}))}a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:m,remove:v},t.proxy=function(e,n){var o=2 in arguments&&r.call(arguments,2);if(i(e)){var a=function(){return e.apply(n,o?o.concat(r.call(arguments)):arguments)};return a._zid=h(e),a}if(s(n))return o?(o.unshift(e[n],e),t.proxy.apply(null,o)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,r){return this.on(e,t,n,r,1)};var y=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,_={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function E(e,n){return!n&&e.isDefaultPrevented||(n||(n=e),t.each(_,(function(t,r){var i=n[t];e[t]=function(){return this[r]=y,i&&i.apply(n,arguments)},e[r]=b})),e.timeStamp||(e.timeStamp=Date.now()),(void 0!==n.defaultPrevented?n.defaultPrevented:"returnValue"in n?!1===n.returnValue:n.getPreventDefault&&n.getPreventDefault())&&(e.isDefaultPrevented=y)),e}function x(e){var t,n={originalEvent:e};for(t in e)w.test(t)||void 0===e[t]||(n[t]=e[t]);return E(n,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,n,o,a,c){var u,l,h=this;return e&&!s(e)?(t.each(e,(function(e,t){h.on(e,n,o,t,c)})),h):(s(n)||i(a)||!1===a||(a=o,o=n,n=void 0),void 0!==a&&!1!==o||(a=o,o=void 0),!1===a&&(a=b),h.each((function(i,s){c&&(u=function(e){return v(s,e.type,a),a.apply(this,arguments)}),n&&(l=function(e){var i,o=t(e.target).closest(n,s).get(0);if(o&&o!==s)return i=t.extend(x(e),{currentTarget:o,liveFired:s}),(u||a).apply(o,[i].concat(r.call(arguments,1)))}),m(s,e,a,o,n,l||u)})))},t.fn.off=function(e,n,r){var o=this;return e&&!s(e)?(t.each(e,(function(e,t){o.off(e,n,t)})),o):(s(n)||i(r)||!1===r||(r=n,n=void 0),!1===r&&(r=b),o.each((function(){v(this,e,r,n)})))},t.fn.trigger=function(e,n){return(e=s(e)||t.isPlainObject(e)?t.Event(e):E(e))._args=n,this.each((function(){e.type in u&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)}))},t.fn.triggerHandler=function(e,n){var r,i;return this.each((function(o,a){(r=x(s(e)?t.Event(e):e))._args=n,r.target=a,t.each(d(a,e.type||e),(function(e,t){if(i=t.proxy(r),r.isImmediatePropagationStopped())return!1}))})),i},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}})),t.Event=function(e,t){s(e)||(e=(t=e).type);var n=document.createEvent(a[e]||"Events"),r=!0;if(t)for(var i in t)"bubbles"==i?r=!!t[i]:n[i]=t[i];return n.initEvent(e,r,!0),E(n)}}(r),n=[],r.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",t&&clearTimeout(t),t=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(e){var t={},n=e.fn.data,r=e.camelCase,i=e.expando="Zepto"+ +new Date,s=[];function o(n,o,a){var c=n[i]||(n[i]=++e.uuid),u=t[c]||(t[c]=function(t){var n={};return e.each(t.attributes||s,(function(t,i){0==i.name.indexOf("data-")&&(n[r(i.name.replace("data-",""))]=e.zepto.deserializeValue(i.value))})),n}(n));return void 0!==o&&(u[r(o)]=a),u}e.fn.data=function(s,a){return void 0===a?e.isPlainObject(s)?this.each((function(t,n){e.each(s,(function(e,t){o(n,e,t)}))})):0 in this?function(s,a){var c=s[i],u=c&&t[c];if(void 0===a)return u||o(s);if(u){if(a in u)return u[a];var l=r(a);if(l in u)return u[l]}return n.call(e(s),a)}(this[0],s):void 0:this.each((function(){o(this,s,a)}))},e.data=function(t,n,r){return e(t).data(n,r)},e.hasData=function(n){var r=n[i],s=r&&t[r];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var s=this[i],o=s&&t[s];o&&e.each(n||o,(function(e){delete o[n?r(this):e]}))}))},["remove","empty"].forEach((function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}}))}(r),r}(n)},function(e,t,n){"use strict";var r=n(0),i=n(1);function s(e){e&&e.el||r.error("EventBus initialized without el"),this.$el=i.element(e.el)}r.mixin(s.prototype,{trigger:function(e){var t=[].slice.call(arguments,1),n=r.Event("autocomplete:"+e);return this.$el.trigger(n,t),n}}),e.exports=s},function(e,t,n){"use strict";e.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},function(e,t){e.exports="0.32.0"},function(e,t,n){"use strict";e.exports=function(e){var t=e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=n(15),s=(r=i)&&r.__esModule?r:{default:r};t.default=s.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.6.1"},function(e,t,n){"use strict";var r,i=n(23),s=(r=i)&&r.__esModule?r:{default:r};e.exports=s.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(24)),i=o(n(25)),s=o(n(21));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,r.default)(i.default);a.version=s.default,t.default=a},function(e,t,n){"use strict";var r=Function.prototype.bind;e.exports=function(e){var t=function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return new(r.apply(e,[null].concat(n)))};return t.__proto__=e,t.prototype=e.prototype,t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=d(n(26)),o=d(n(29)),a=d(n(49)),c=d(n(64)),u=d(n(65)),l=d(n(21)),h=d(n(20));function d(e){return e&&e.__esModule?e:{default:e}}var f=function(){function e(t){var n=t.apiKey,i=t.indexName,s=t.inputSelector,u=t.appId,d=void 0===u?"BH4D9OD16A":u,f=t.debug,p=void 0!==f&&f,g=t.algoliaOptions,m=void 0===g?{}:g,v=t.autocompleteOptions,y=void 0===v?{debug:!1,hint:!1,autoselect:!0}:v,b=t.transformData,w=void 0!==b&&b,_=t.queryHook,E=void 0!==_&&_,x=t.handleSelected,S=void 0!==x&&x,C=t.enhancedSearchInput,A=void 0!==C&&C,N=t.layout,O=void 0===N?"collumns":N;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),e.checkArguments({apiKey:n,indexName:i,inputSelector:s,debug:p,algoliaOptions:m,autocompleteOptions:y,transformData:w,queryHook:E,handleSelected:S,enhancedSearchInput:A,layout:O}),this.apiKey=n,this.appId=d,this.indexName=i,this.input=e.getInputFromSelector(s),this.algoliaOptions=r({hitsPerPage:5},m);var T=!(!y||!y.debug)&&y.debug;y.debug=p||T,this.autocompleteOptions=y,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds",S=S||this.handleSelected,this.isSimpleLayout="simple"===O,this.client=(0,o.default)(this.appId,this.apiKey),this.client.addAlgoliaAgent("docsearch.js "+l.default),A&&(this.input=e.injectSearchBox(this.input)),this.autocomplete=(0,a.default)(this.input,y,[{source:this.getAutocompleteSource(w,E),templates:{suggestion:e.getSuggestionTemplate(this.isSimpleLayout),footer:c.default.footer,empty:e.getEmptyTemplate()}}]),S&&(0,h.default)(".algolia-autocomplete").on("click",".ds-suggestions a",(function(e){e.preventDefault()})),this.autocomplete.on("autocomplete:selected",S.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),A&&e.bindSearchBoxEvent()}return i(e,[{key:"getAutocompleteSource",value:function(t,n){var r=this;return function(i,s){n&&(i=n(i)||i),r.client.search([{indexName:r.indexName,query:i,params:r.algoliaOptions}]).then((function(n){var r=n.results[0].hits;t&&(r=t(r)||r),s(e.formatHits(r))}))}}},{key:"handleSelected",value:function(e,t,n){e.setVal(""),window.location.assign(n.url)}},{key:"handleShown",value:function(e){var t=e.offset().left+e.width()/2,n=(0,h.default)(document).width()/2;isNaN(n)&&(n=900);var r=t-n>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",i=t-n<0?"algolia-autocomplete-right":"algolia-autocomplete-left",s=(0,h.default)(".algolia-autocomplete");s.hasClass(r)||s.addClass(r),s.hasClass(i)&&s.removeClass(i)}}],[{key:"checkArguments",value:function(t){if(!t.apiKey||!t.indexName)throw new Error("Usage:\n  documentationSearch({\n  apiKey,\n  indexName,\n  inputSelector,\n  [ appId ],\n  [ algoliaOptions.{hitsPerPage} ]\n  [ autocompleteOptions.{hint,debug} ]\n})");if("string"!=typeof t.inputSelector)throw new Error("Error: inputSelector:"+t.inputSelector+"  must be a string. Each selector must match only one element and separated by ','");if(!e.getInputFromSelector(t.inputSelector))throw new Error("Error: No input element in the page matches "+t.inputSelector)}},{key:"injectSearchBox",value:function(e){e.before(c.default.searchBox);var t=e.prev().prev().find("input");return e.remove(),t}},{key:"bindSearchBoxEvent",value:function(){(0,h.default)('.searchbox [type="reset"]').on("click",(function(){(0,h.default)("input#docsearch").focus(),(0,h.default)(this).addClass("hide"),a.default.autocomplete.setVal("")})),(0,h.default)("input#docsearch").on("keyup",(function(){var e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")}))}},{key:"getInputFromSelector",value:function(e){var t=(0,h.default)(e).filter("input");return t.length?(0,h.default)(t[0]):null}},{key:"formatHits",value:function(t){var n=u.default.deepClone(t).map((function(e){return e._highlightResult&&(e._highlightResult=u.default.mergeKeyWithParent(e._highlightResult,"hierarchy")),u.default.mergeKeyWithParent(e,"hierarchy")})),r=u.default.groupBy(n,"lvl0");return h.default.each(r,(function(e,t){var n=u.default.groupBy(t,"lvl1"),i=u.default.flattenAndFlagFirst(n,"isSubCategoryHeader");r[e]=i})),(r=u.default.flattenAndFlagFirst(r,"isCategoryHeader")).map((function(t){var n=e.formatURL(t),r=u.default.getHighlightedValue(t,"lvl0"),i=u.default.getHighlightedValue(t,"lvl1")||r,s=u.default.compact([u.default.getHighlightedValue(t,"lvl2")||i,u.default.getHighlightedValue(t,"lvl3"),u.default.getHighlightedValue(t,"lvl4"),u.default.getHighlightedValue(t,"lvl5"),u.default.getHighlightedValue(t,"lvl6")]).join('<span class="aa-suggestion-title-separator" aria-hidden="true"> › </span>'),o=u.default.getSnippetedValue(t,"content"),a=i&&""!==i||s&&""!==s,c=s&&""!==s&&s!==i,l=!c&&i&&""!==i&&i!==r;return{isLvl0:!l&&!c,isLvl1:l,isLvl2:c,isLvl1EmptyOrDuplicate:!i||""===i||i===r,isCategoryHeader:t.isCategoryHeader,isSubCategoryHeader:t.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:a,category:r,subcategory:i,title:s,text:o,url:n}}))}},{key:"formatURL",value:function(e){var t=e.url,n=e.anchor;return t?-1!==t.indexOf("#")?t:n?e.url+"#"+e.anchor:t:n?"#"+e.anchor:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}},{key:"getEmptyTemplate",value:function(){return function(e){return s.default.compile(c.default.empty).render(e)}}},{key:"getSuggestionTemplate",value:function(e){var t=e?c.default.suggestionSimple:c.default.suggestion,n=s.default.compile(t);return function(e){return n.render(e)}}}]),e}();t.default=f},function(e,t,n){var r=n(27);r.Template=n(28).Template,r.template=r.Template,e.exports=r},function(e,t,n){!function(e){var t=/\S/,n=/\"/g,r=/\n/g,i=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function c(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function u(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var r=1,i=e.length;r<i;r++)if(t.charAt(n+r)!=e.charAt(r))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,r){var i,s=n.length,o=0,a=null,l=null,h="",d=[],f=!1,p=0,g=0,m="{{",v="}}";function y(){h.length>0&&(d.push({tag:"_t",text:new String(h)}),h="")}function b(n,r){if(y(),n&&function(){for(var n=!0,r=g;r<d.length;r++)if(!(n=e.tags[d[r].tag]<e.tags._v||"_t"==d[r].tag&&null===d[r].text.match(t)))return!1;return n}())for(var i,s=g;s<d.length;s++)d[s].text&&((i=d[s+1])&&">"==i.tag&&(i.indent=d[s].text.toString()),d.splice(s,1));else r||d.push({tag:"\n"});f=!1,g=d.length}function w(e,t){var n="="+v,r=e.indexOf(n,t),i=c(e.substring(e.indexOf("=",t)+1,r)).split(" ");return m=i[0],v=i[i.length-1],r+n.length-1}for(r&&(r=r.split(" "),m=r[0],v=r[1]),p=0;p<s;p++)0==o?u(m,n,p)?(--p,y(),o=1):"\n"==n.charAt(p)?b(f):h+=n.charAt(p):1==o?(p+=m.length-1,"="==(a=(l=e.tags[n.charAt(p+1)])?n.charAt(p+1):"_v")?(p=w(n,p),o=0):(l&&p++,o=2),f=p):u(v,n,p)?(d.push({tag:a,n:c(h),otag:m,ctag:v,i:"/"==a?f-m.length:p+v.length}),h="",p+=v.length-1,o=0,"{"==a&&("}}"==v?p++:"}"===(i=d[d.length-1]).n.substr(i.n.length-1)&&(i.n=i.n.substring(0,i.n.length-1)))):h+=n.charAt(p);return b(f,!0),d};var l={_t:!0,"\n":!0,$:!0,"/":!0};function h(e,t){for(var n=0,r=t.length;n<r;n++)if(t[n].o==e.n)return e.tag="#",!0}function d(e,t,n){for(var r=0,i=n.length;r<i;r++)if(n[r].c==e&&n[r].o==t)return!0}function f(e){var t=[];for(var n in e.partials)t.push('"'+g(n)+'":{name:"'+g(e.partials[n].name)+'", '+f(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+g(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,r){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+f(t)+"}"};var p=0;function g(e){return e.replace(s,"\\\\").replace(n,'\\"').replace(r,"\\n").replace(i,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function m(e){return~e.indexOf(".")?"d":"f"}function v(e,t){var n="<"+(t.prefix||"")+e.n+p++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+g(n)+'",c,p,"'+(e.indent||"")+'"));',n}function y(e,t){t.code+="t.b(t.t(t."+m(e.n)+'("'+g(e.n)+'",c,p,0)));'}function b(e){return"t.b("+e+");"}e.generate=function(t,n,r){p=0;var i={code:"",subs:{},partials:{}};return e.walk(t,i),r.asString?this.stringify(i,n,r):this.makeTemplate(i,n,r)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var r=this.makePartials(e);return r.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(r,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+m(t.n)+'("'+g(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+m(t.n)+'("'+g(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":v,"<":function(t,n){var r={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,r);var i=n.partials[v(t,n)];i.subs=r.subs,i.partials=r.partials},$:function(t,n){var r={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,r),n.subs[t.n]=r.code,n.inPartial||(n.code+='t.sub("'+g(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=b('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+m(e.n)+'("'+g(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=b('"'+g(e.text)+'"')},"{":y,"&":y},e.walk=function(t,n){for(var r,i=0,s=t.length;i<s;i++)(r=e.codegen[t[i].tag])&&r(t[i],n);return n},e.parse=function(t,n,r){return function t(n,r,i,s){var o,a=[],c=null,u=null;for(o=i[i.length-1];n.length>0;){if(u=n.shift(),o&&"<"==o.tag&&!(u.tag in l))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||h(u,s))i.push(u),u.nodes=t(n,u.tag,i,s);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(c=i.pop(),u.n!=c.n&&!d(u.n,c.n,s))throw new Error("Nesting error: "+c.n+" vs. "+u.n);return c.end=u.i,a}"\n"==u.tag&&(u.last=0==n.length||"\n"==n[0].tag)}a.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return a}(t,0,[],(r=r||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var r=e.cacheKey(t,n),i=this.cache[r];if(i){var s=i.partials;for(var o in s)delete s[o].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[r]=i}}(t)},function(e,t,n){!function(e){function t(e,t,n){var r;return t&&"object"==typeof t&&(void 0!==t[e]?r=t[e]:n&&t.get&&"function"==typeof t.get&&(r=t.get(e))),r}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),a.test(e)?e.replace(n,"&amp;").replace(r,"&lt;").replace(i,"&gt;").replace(s,"&#39;").replace(o,"&quot;"):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],r=t[n.name];if(n.instance&&n.base==r)return n.instance;if("string"==typeof r){if(!this.c)throw new Error("No compiler available.");r=this.c.compile(r,this.options)}if(!r)return null;if(this.partials[e].base=r,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);r=function(e,t,n,r,i,s){function o(){}function a(){}var c;o.prototype=e,a.prototype=e.subs;var u=new o;for(c in u.subs=new a,u.subsText={},u.buf="",r=r||{},u.stackSubs=r,u.subsText=s,t)r[c]||(r[c]=t[c]);for(c in r)u.subs[c]=r[c];for(c in i=i||{},u.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)u.partials[c]=i[c];return u}(r,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=r,r},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(u(r))for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,r,i,s,o){var a;return(!u(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,r,i,s,o)),a=!!e,!r&&a&&t&&t.push("object"==typeof e?e:t[t.length-1]),a)},d:function(e,n,r,i){var s,o=e.split("."),a=this.f(o[0],n,r,i),c=this.options.modelGet,l=null;if("."===e&&u(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=t(o[h],a,c))?(l=a,a=s):a="";return!(i&&!a)&&(i||"function"!=typeof a||(n.push(l),a=this.mv(a,n,r),n.pop()),a)},f:function(e,n,r,i){for(var s=!1,o=!1,a=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(s=t(e,n[c],a))){o=!0;break}return o?(i||"function"!=typeof s||(s=this.mv(s,n,r)),s):!i&&""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,r,i,s,o){var a,c=t[t.length-1],u=e.call(c);return"function"==typeof u?!!r||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(u,c,n,a.substring(i,s),o)):u},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return"function"==typeof i?this.ct(c(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var n=/&/g,r=/</g,i=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function c(e){return String(null==e?"":e)}var u=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},function(e,t,n){"use strict";var r=n(30),i=n(41);e.exports=i(r,"(lite) ")},function(e,t,n){e.exports=c;var r=n(5),i=n(31),s=n(32),o=n(38),a=Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER&&parseInt(Object({NODE_ENV:"production"}).RESET_APP_DATA_TIMER,10)||12e4;function c(e,t,i){var s=n(8)("algoliasearch"),o=n(3),a=n(6),c=n(7),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(!0!==i._allowEmptyCredentials&&!e)throw new r.AlgoliaSearchError("Please provide an application ID. "+l);if(!0!==i._allowEmptyCredentials&&!t)throw new r.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=e,this.apiKey=t,this.hosts={read:[],write:[]},i=i||{},this._timeouts=i.timeouts||{connect:1e3,read:2e3,write:3e4},i.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=i.timeout);var h=i.protocol||"https:";if(/:$/.test(h)||(h+=":"),"http:"!==h&&"https:"!==h)throw new r.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+i.protocol+"`)");if(this._checkAppIdData(),i.hosts)a(i.hosts)?(this.hosts.read=o(i.hosts),this.hosts.write=o(i.hosts)):(this.hosts.read=o(i.hosts.read),this.hosts.write=o(i.hosts.write));else{var d=c(this._shuffleResult,(function(t){return e+"-"+t+".algolianet.com"})),f=(!1===i.dsn?"":"-dsn")+".algolia.net";this.hosts.read=[this.applicationID+f].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=c(this.hosts.read,u(h)),this.hosts.write=c(this.hosts.write,u(h)),this.extraHeaders={},this.cache=i._cache||{},this._ua=i._ua,this._useCache=!(void 0!==i._useCache&&!i._cache)||i._useCache,this._useRequestCache=this._useCache&&i._useRequestCache,this._useFallback=void 0===i.useFallback||i.useFallback,this._setTimeout=i._setTimeout,s("init done, %j",this)}function u(e){return function(t){return e+"//"+t.toLowerCase()}}function l(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var n=JSON.stringify(e);return Array.prototype.toJSON=t,n}function h(e){var t={};for(var n in e){var r;Object.prototype.hasOwnProperty.call(e,n)&&(r="x-algolia-api-key"===n||"x-algolia-application-id"===n?"**hidden for security purposes**":e[n],t[n]=r)}return t}c.prototype.initIndex=function(e){return new s(this,e)},c.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},c.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},c.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},c.prototype.addAlgoliaAgent=function(e){-1===this._ua.indexOf(";"+e)&&(this._ua+=";"+e)},c.prototype._jsonRequest=function(e){this._checkAppIdData();var t,s,o,a=n(8)("algoliasearch:"+e.url),c=e.additionalUA||"",u=e.cache,d=this,f=0,p=!1,g=d._useFallback&&d._request.fallback&&e.fallback;this.apiKey.length>500&&void 0!==e.body&&(void 0!==e.body.params||void 0!==e.body.requests)?(e.body.apiKey=this.apiKey,o=this._computeRequestHeaders({additionalUA:c,withApiKey:!1,headers:e.headers})):o=this._computeRequestHeaders({additionalUA:c,headers:e.headers}),void 0!==e.body&&(t=l(e.body)),a("request start");var m=[];function v(e,t,n){return d._useCache&&e&&t&&void 0!==t[n]}function y(t,n){if(v(d._useRequestCache,u,s)&&t.catch((function(){delete u[s]})),"function"!=typeof e.callback)return t.then(n);t.then((function(t){i((function(){e.callback(null,n(t))}),d._setTimeout||setTimeout)}),(function(t){i((function(){e.callback(t)}),d._setTimeout||setTimeout)}))}if(d._useCache&&d._useRequestCache&&(s=e.url),d._useCache&&d._useRequestCache&&t&&(s+="_body_"+t),v(d._useRequestCache,u,s)){a("serving request from cache");var b=u[s];return y("function"!=typeof b.then?d._promise.resolve({responseText:b}):b,(function(e){return JSON.parse(e.responseText)}))}var w=function n(i,y){d._checkAppIdData();var b=new Date;if(d._useCache&&!d._useRequestCache&&(s=e.url),d._useCache&&!d._useRequestCache&&t&&(s+="_body_"+y.body),v(!d._useRequestCache,u,s)){a("serving response from cache");var w=u[s];return d._promise.resolve({body:JSON.parse(w),responseText:w})}if(f>=d.hosts[e.hostType].length)return!g||p?(a("could not get any response"),d._promise.reject(new r.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+d.applicationID,{debugData:m}))):(a("switching to fallback"),f=0,y.method=e.fallback.method,y.url=e.fallback.url,y.jsonBody=e.fallback.body,y.jsonBody&&(y.body=l(y.jsonBody)),o=d._computeRequestHeaders({additionalUA:c,headers:e.headers}),y.timeouts=d._getTimeoutsForRequest(e.hostType),d._setHostIndexByType(0,e.hostType),p=!0,n(d._request.fallback,y));var _=d._getHostByType(e.hostType),E=_+y.url,x={body:y.body,jsonBody:y.jsonBody,method:y.method,headers:o,timeouts:y.timeouts,debug:a,forceAuthHeaders:y.forceAuthHeaders};return a("method: %s, url: %s, headers: %j, timeouts: %d",x.method,E,x.headers,x.timeouts),i===d._request.fallback&&a("using fallback"),i.call(d,E,x).then((function(e){var n=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;a("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,n,e.headers);var i=2===Math.floor(n/100),c=new Date;if(m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b,statusCode:n}),i)return d._useCache&&!d._useRequestCache&&u&&(u[s]=e.responseText),{responseText:e.responseText,body:e.body};if(4!==Math.floor(n/100))return f+=1,S();a("unrecoverable error");var l=new r.AlgoliaSearchError(e.body&&e.body.message,{debugData:m,statusCode:n});return d._promise.reject(l)}),(function(s){a("error: %s, stack: %s",s.message,s.stack);var c=new Date;return m.push({currentHost:_,headers:h(o),content:t||null,contentLength:void 0!==t?t.length:null,method:y.method,timeouts:y.timeouts,url:y.url,startTime:b,endTime:c,duration:c-b}),s instanceof r.AlgoliaSearchError||(s=new r.Unknown(s&&s.message,s)),f+=1,s instanceof r.Unknown||s instanceof r.UnparsableJSON||f>=d.hosts[e.hostType].length&&(p||!g)?(s.debugData=m,d._promise.reject(s)):s instanceof r.RequestTimeout?(a("retrying request with higher timeout"),d._incrementHostIndex(e.hostType),d._incrementTimeoutMultipler(),y.timeouts=d._getTimeoutsForRequest(e.hostType),n(i,y)):S()}));function S(){return a("retrying request"),d._incrementHostIndex(e.hostType),n(i,y)}}(d._request,{url:e.url,method:e.method,body:t,jsonBody:e.body,timeouts:d._getTimeoutsForRequest(e.hostType),forceAuthHeaders:e.forceAuthHeaders});return d._useCache&&d._useRequestCache&&u&&(u[s]=w),y(w,(function(e){return e.body}))},c.prototype._getSearchParams=function(e,t){if(null==e)return t;for(var n in e)null!==n&&void 0!==e[n]&&e.hasOwnProperty(n)&&(t+=""===t?"":"&",t+=n+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[n])?l(e[n]):e[n]));return t},c.prototype._computeRequestHeaders=function(e){var t=n(2),r={"x-algolia-agent":e.additionalUA?this._ua+";"+e.additionalUA:this._ua,"x-algolia-application-id":this.applicationID};return!1!==e.withApiKey&&(r["x-algolia-api-key"]=this.apiKey),this.userToken&&(r["x-algolia-usertoken"]=this.userToken),this.securityTags&&(r["x-algolia-tagfilters"]=this.securityTags),t(this.extraHeaders,(function(e,t){r[t]=e})),e.headers&&t(e.headers,(function(e,t){r[t]=e})),r},c.prototype.search=function(e,t,r){var i=n(6),s=n(7);if(!i(e))throw new Error("Usage: client.search(arrayOfQueries[, callback])");"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=this,a={requests:s(e,(function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:o._getSearchParams(e.params,t)}}))},c=s(a.requests,(function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)})).join("&");return void 0!==t.strategy&&(a.strategy=t.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:"/1/indexes/*/queries",body:a,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:c}},callback:r})},c.prototype.searchForFacetValues=function(e){var t=n(6),r=n(7),i="Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if(!t(e))throw new Error(i);var s=this;return s._promise.all(r(e,(function(e){if(!e||void 0===e.indexName||void 0===e.params.facetName||void 0===e.params.facetQuery)throw new Error(i);var t=n(3),r=n(14),o=e.indexName,a=e.params,c=a.facetName,u=r(t(a),(function(e){return"facetName"===e})),l=s._getSearchParams(u,"");return s._jsonRequest({cache:s.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(o)+"/facets/"+encodeURIComponent(c)+"/query",hostType:"read",body:{params:l}})})))},c.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],n=0;n<e.length;++n)if("[object Array]"===Object.prototype.toString.call(e[n])){for(var r=[],i=0;i<e[n].length;++i)r.push(e[n][i]);t.push("("+r.join(",")+")")}else t.push(e[n]);e=t.join(",")}this.securityTags=e},c.prototype.setUserToken=function(e){this.userToken=e},c.prototype.clearCache=function(){this.cache={}},c.prototype.setRequestTimeout=function(e){e&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=e)},c.prototype.setTimeouts=function(e){this._timeouts=e},c.prototype.getTimeouts=function(){return this._timeouts},c.prototype._getAppIdData=function(){var e=o.get(this.applicationID);return null!==e&&this._cacheAppIdData(e),e},c.prototype._setAppIdData=function(e){return e.lastChange=(new Date).getTime(),this._cacheAppIdData(e),o.set(this.applicationID,e)},c.prototype._checkAppIdData=function(){var e=this._getAppIdData(),t=(new Date).getTime();return null===e||t-e.lastChange>a?this._resetInitialAppIdData(e):e},c.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||function(e){for(var t,n,r=e.length;0!==r;)n=Math.floor(Math.random()*r),t=e[r-=1],e[r]=e[n],e[n]=t;return e}([1,2,3]),this._setAppIdData(t)},c.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},c.prototype._partialAppIdDataUpdate=function(e){var t=n(2),r=this._getAppIdData();return t(e,(function(e,t){r[t]=e})),this._setAppIdData(r)},c.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},c.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},c.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},c.prototype._setHostIndexByType=function(e,t){var r=n(3)(this._hostIndexes);return r[t]=e,this._partialAppIdDataUpdate({hostIndexes:r}),e},c.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},c.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},c.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}},function(e,t){e.exports=function(e,t){t(e,0)}},function(e,t,n){var r=n(13),i=n(33),s=n(34);function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}e.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=r("query"),o.prototype.similarSearch=r("similarQuery"),o.prototype.browse=function(e,t,r){var i,s,o=n(35),a=this;0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(i=0,r=arguments[0],e=void 0):"number"==typeof arguments[0]?(i=arguments[0],"number"==typeof arguments[1]?s=arguments[1]:"function"==typeof arguments[1]&&(r=arguments[1],s=void 0),e=void 0,t=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(r=arguments[1]),t=arguments[0],e=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(r=arguments[1],t=void 0),t=o({},t||{},{page:i,hitsPerPage:s,query:e});var c=this.as._getSearchParams(t,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(a.indexName)+"/browse",body:{params:c},hostType:"read",callback:r})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(e,t){var r=n(3),i=n(14);if(void 0===e.facetName||void 0===e.facetQuery)throw new Error("Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])");var s=e.facetName,o=i(r(e),(function(e){return"facetName"===e})),a=this.as._getSearchParams(o,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:a},callback:t})},o.prototype.searchFacet=i((function(e,t){return this.searchForFacetValues(e,t)}),s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,n,r){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:n,additionalUA:r})},o.prototype.getObject=function(e,t,n){var r=this;1!==arguments.length&&"function"!=typeof t||(n=t,t=void 0);var i="";if(void 0!==t){i="?attributes=";for(var s=0;s<t.length;++s)0!==s&&(i+=","),i+=t[s]}return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/"+encodeURIComponent(e)+i,hostType:"read",callback:n})},o.prototype.getObjects=function(e,t,r){var i=n(6),s=n(7),o="Usage: index.getObjects(arrayOfObjectIDs[, callback])";if(!i(e))throw new Error(o);var a=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var c={requests:s(e,(function(e){var n={indexName:a.indexName,objectID:e};return t&&(n.attributesToRetrieve=t.join(",")),n}))};return this.as._jsonRequest({method:"POST",url:"/1/indexes/*/objects",hostType:"read",body:c,callback:r})},o.prototype.as=null,o.prototype.indexName=null,o.prototype.typeAheadArgs=null,o.prototype.typeAheadValueOption=null},function(e,t){e.exports=function(e,t){var n=!1;return function(){return n||(console.warn(t),n=!0),e.apply(this,arguments)}}},function(e,t){e.exports=function(e,t){var n=e.toLowerCase().replace(/[\.\(\)]/g,"");return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+n}},function(e,t,n){var r=n(2);e.exports=function e(t){var n=Array.prototype.slice.call(arguments);return r(n,(function(n){for(var r in n)n.hasOwnProperty(r)&&("object"==typeof t[r]&&"object"==typeof n[r]?t[r]=e({},t[r],n[r]):void 0!==n[r]&&(t[r]=n[r]))})),t}},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Array.prototype.slice,o=n(37),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(e){var t=e.constructor;return t&&t.prototype===e},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{h(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===i.call(e),s=o(e),a=t&&"[object String]"===i.call(e),d=[];if(!t&&!n&&!s)throw new TypeError("Object.keys called on a non-object");var p=u&&n;if(a&&e.length>0&&!r.call(e,0))for(var g=0;g<e.length;++g)d.push(String(g));if(s&&e.length>0)for(var m=0;m<e.length;++m)d.push(String(m));else for(var v in e)p&&"prototype"===v||!r.call(e,v)||d.push(String(v));if(c)for(var y=function(e){if("undefined"==typeof window||!f)return h(e);try{return h(e)}catch(e){return!1}}(e),b=0;b<l.length;++b)y&&"constructor"===l[b]||!r.call(e,l[b])||d.push(l[b]);return d};p.shim=function(){if(Object.keys){if(!function(){return 2===(Object.keys(arguments)||"").length}(1,2)){var e=Object.keys;Object.keys=function(t){return o(t)?e(s.call(t)):e(t)}}}else Object.keys=p;return Object.keys||p},e.exports=p},function(e,t,n){"use strict";var r=Object.prototype.toString;e.exports=function(e){var t=r.call(e),n="[object Arguments]"===t;return n||(n="[object Array]"!==t&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===r.call(e.callee)),n}},function(e,t,n){(function(t){var r,i=n(8)("algoliasearch:src/hostIndexState.js"),s={state:{},set:function(e,t){return this.state[e]=t,this.state[e]},get:function(e){return this.state[e]||null}},o={set:function(e,n){s.set(e,n);try{var r=JSON.parse(t.localStorage["algoliasearch-client-js"]);return r[e]=n,t.localStorage["algoliasearch-client-js"]=JSON.stringify(r),r[e]}catch(t){return a(e,t)}},get:function(e){try{return JSON.parse(t.localStorage["algoliasearch-client-js"])[e]||null}catch(t){return a(e,t)}}};function a(e,n){return i("localStorage failed with",n),function(){try{t.localStorage.removeItem("algoliasearch-client-js")}catch(e){}}(),(r=s).get(e)}function c(e,t){return 1===arguments.length?r.get(e):r.set(e,t)}function u(){try{return"localStorage"in t&&null!==t.localStorage&&(t.localStorage["algoliasearch-client-js"]||t.localStorage.setItem("algoliasearch-client-js",JSON.stringify({})),!0)}catch(e){return!1}}r=u()?o:s,e.exports={get:c,set:c,supportsLocalStorage:u}}).call(t,n(4))},function(e,t,n){var r;function i(e){function n(){if(n.enabled){var e=n,i=+new Date,s=i-(r||i);e.diff=s,e.prev=r,e.curr=i,r=i;for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];o[0]=t.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var c=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,(function(n,r){if("%%"===n)return n;c++;var i=t.formatters[r];if("function"==typeof i){var s=o[c];n=i.call(e,s),o.splice(c,1),c--}return n})),t.formatArgs.call(e,o);var u=n.log||t.log||console.log.bind(console);u.apply(e,o)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=function(e){var n,r=0;for(n in e)r=(r<<5)-r+e.charCodeAt(n),r|=0;return t.colors[Math.abs(r)%t.colors.length]}(e),"function"==typeof t.init&&t.init(n),n}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var n=("string"==typeof e?e:"").split(/[\s,]+/),r=n.length,i=0;i<r;i++)n[i]&&("-"===(e=n[i].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(40),t.names=[],t.skips=[],t.formatters={}},function(e,t){var n=1e3,r=6e4,i=36e5,s=24*i;function o(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+n:Math.ceil(e/t)+" "+n+"s"}e.exports=function(e,t){t=t||{};var a,c=typeof e;if("string"===c&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var o=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*s;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===c&&!1===isNaN(e))return t.long?o(a=e,s,"day")||o(a,i,"hour")||o(a,r,"minute")||o(a,n,"second")||a+" ms":function(e){return e>=s?Math.round(e/s)+"d":e>=i?Math.round(e/i)+"h":e>=r?Math.round(e/r)+"m":e>=n?Math.round(e/n)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){"use strict";var r=n(42),i=r.Promise||n(43).Promise;e.exports=function(e,t){var s=n(12),o=n(5),a=n(44),c=n(46),u=n(47);function l(e,t,r){return(r=n(3)(r||{}))._ua=r._ua||l.ua,new d(e,t,r)}t=t||"",l.version=n(48),l.ua="Algolia for vanilla JavaScript "+t+l.version,l.initPlaces=u(l),r.__algolia={debug:n(8),algoliasearch:l};var h={hasXMLHttpRequest:"XMLHttpRequest"in r,hasXDomainRequest:"XDomainRequest"in r};function d(){e.apply(this,arguments)}return h.hasXMLHttpRequest&&(h.cors="withCredentials"in new XMLHttpRequest),s(d,e),d.prototype._request=function(e,t){return new i((function(n,r){if(h.cors||h.hasXDomainRequest){e=a(e,t.headers);var i,s,c=t.body,u=h.cors?new XMLHttpRequest:new XDomainRequest,l=!1;i=setTimeout(d,t.timeouts.connect),u.onprogress=function(){l||f()},"onreadystatechange"in u&&(u.onreadystatechange=function(){!l&&u.readyState>1&&f()}),u.onload=function(){if(!s){var e;clearTimeout(i);try{e={body:JSON.parse(u.responseText),responseText:u.responseText,statusCode:u.status,headers:u.getAllResponseHeaders&&u.getAllResponseHeaders()||{}}}catch(t){e=new o.UnparsableJSON({more:u.responseText})}e instanceof o.UnparsableJSON?r(e):n(e)}},u.onerror=function(e){s||(clearTimeout(i),r(new o.Network({more:e})))},u instanceof XMLHttpRequest?(u.open(t.method,e,!0),t.forceAuthHeaders&&(u.setRequestHeader("x-algolia-application-id",t.headers["x-algolia-application-id"]),u.setRequestHeader("x-algolia-api-key",t.headers["x-algolia-api-key"]))):u.open(t.method,e),h.cors&&(c&&("POST"===t.method?u.setRequestHeader("content-type","application/x-www-form-urlencoded"):u.setRequestHeader("content-type","application/json")),u.setRequestHeader("accept","application/json")),c?u.send(c):u.send()}else r(new o.Network("CORS not supported"));function d(){s=!0,u.abort(),r(new o.RequestTimeout)}function f(){l=!0,clearTimeout(i),i=setTimeout(d,t.timeouts.complete)}}))},d.prototype._request.fallback=function(e,t){return e=a(e,t.headers),new i((function(n,r){c(e,t,(function(e,t){e?r(e):n(t)}))}))},d.prototype._promise={reject:function(e){return i.reject(e)},resolve:function(e){return i.resolve(e)},delay:function(e){return new i((function(t){setTimeout(t,e)}))},all:function(e){return i.all(e)}},l}},function(e,t,n){(function(t){var n;n="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},e.exports=n}).call(t,n(4))},function(e,t,n){(function(t,n){
 +/*!
 + * @overview es6-promise - a tiny implementation of Promises/A+.
 + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
 + * @license   Licensed under MIT license
 + *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
 + * @version   v4.2.4+314e4831
-  */
- !function(t,n){e.exports=n()}(0,function(){"use strict";function e(e){return"function"==typeof e}var r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=0,s=void 0,o=void 0,a=function(e,t){p[i]=e,p[i+1]=t,2===(i+=2)&&(o?o(g):m())};var c="undefined"!=typeof window?window:void 0,u=c||{},l=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function f(){var e=setTimeout;return function(){return e(g,1)}}var p=new Array(1e3);function g(){for(var e=0;e<i;e+=2){(0,p[e])(p[e+1]),p[e]=void 0,p[e+1]=void 0}i=0}var m=void 0;function v(e,t){var n=this,r=new this.constructor(w);void 0===r[b]&&D(r);var i=n._state;if(i){var s=arguments[i-1];a(function(){return L(i,r,s,n._result)})}else R(n,r,e,t);return r}function y(e){if(e&&"object"==typeof e&&e.constructor===this)return e;var t=new this(w);return N(t,e),t}m=h?function(){return t.nextTick(g)}:l?function(){var e=0,t=new l(g),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():d?function(){var e=new MessageChannel;return e.port1.onmessage=g,function(){return e.port2.postMessage(0)}}():void 0===c?function(){try{var e=Function("return this")().require("vertx");return void 0!==(s=e.runOnLoop||e.runOnContext)?function(){s(g)}:f()}catch(e){return f()}}():f();var b=Math.random().toString(36).substring(2);function w(){}var _=void 0,E=1,x=2,S={error:null};function C(e){try{return e.then}catch(e){return S.error=e,S}}function A(t,n,r){n.constructor===t.constructor&&r===v&&n.constructor.resolve===y?function(e,t){t._state===E?T(e,t._result):t._state===x?k(e,t._result):R(t,void 0,function(t){return N(e,t)},function(t){return k(e,t)})}(t,n):r===S?(k(t,S.error),S.error=null):void 0===r?T(t,n):e(r)?function(e,t,n){a(function(e){var r=!1,i=function(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}(n,t,function(n){r||(r=!0,t!==n?N(e,n):T(e,n))},function(t){r||(r=!0,k(e,t))},e._label);!r&&i&&(r=!0,k(e,i))},e)}(t,n,r):T(t,n)}function N(e,t){e===t?k(e,new TypeError("You cannot resolve a promise with itself")):!function(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}(t)?T(e,t):A(e,t,C(t))}function O(e){e._onerror&&e._onerror(e._result),M(e)}function T(e,t){e._state===_&&(e._result=t,e._state=E,0!==e._subscribers.length&&a(M,e))}function k(e,t){e._state===_&&(e._state=x,e._result=t,a(O,e))}function R(e,t,n,r){var i=e._subscribers,s=i.length;e._onerror=null,i[s]=t,i[s+E]=n,i[s+x]=r,0===s&&e._state&&a(M,e)}function M(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,i=void 0,s=e._result,o=0;o<t.length;o+=3)r=t[o],i=t[o+n],r?L(n,r,i,s):i(s);e._subscribers.length=0}}function L(t,n,r,i){var s=e(r),o=void 0,a=void 0,c=void 0,u=void 0;if(s){if((o=function(e,t){try{return e(t)}catch(e){return S.error=e,S}}(r,i))===S?(u=!0,a=o.error,o.error=null):c=!0,n===o)return void k(n,new TypeError("A promises callback cannot return that same promise."))}else o=i,c=!0;n._state!==_||(s&&c?N(n,o):u?k(n,a):t===E?T(n,o):t===x&&k(n,o))}var I=0;function D(e){e[b]=I++,e._state=void 0,e._result=void 0,e._subscribers=[]}var P=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(w),this.promise[b]||D(this.promise),r(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?T(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&T(this.promise,this._result))):k(this.promise,new Error("Array Methods must be provided an Array"))}return e.prototype._enumerate=function(e){for(var t=0;this._state===_&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===y){var i=C(e);if(i===v&&e._state!==_)this._settledAt(e._state,t,e._result);else if("function"!=typeof i)this._remaining--,this._result[t]=e;else if(n===j){var s=new n(w);A(s,e,i),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},e.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===_&&(this._remaining--,e===x?k(r,n):this._result[t]=n),0===this._remaining&&T(r,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;R(e,void 0,function(e){return n._settledAt(E,t,e)},function(e){return n._settledAt(x,t,e)})},e}();var j=function(){function e(t){this[b]=I++,this._result=this._state=void 0,this._subscribers=[],w!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(e,t){try{t(function(t){N(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})},e}();return j.prototype.then=v,j.all=function(e){return new P(this,e).promise},j.race=function(e){var t=this;return r(e)?new t(function(n,r){for(var i=e.length,s=0;s<i;s++)t.resolve(e[s]).then(n,r)}):new t(function(e,t){return t(new TypeError("You must pass an array to race."))})},j.resolve=y,j.reject=function(e){var t=new this(w);return k(t,e),t},j._setScheduler=function(e){o=e},j._setAsap=function(e){a=e},j._asap=a,j.polyfill=function(){var e=void 0;if(void 0!==n)e=n;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var r=null;try{r=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===r&&!t.cast)return}e.Promise=j},j.Promise=j,j})}).call(t,n(9),n(4))},function(e,t,n){"use strict";e.exports=function(e,t){/\?/.test(e)?e+="&":e+="?";return e+r(t)};var r=n(45)},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?s(o(e),function(o){var a=encodeURIComponent(r(o))+n;return i(e[o])?s(e[o],function(e){return a+encodeURIComponent(r(e))}).join(t):a+encodeURIComponent(r(e[o]))}).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function s(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){"use strict";e.exports=function(e,t,n){if("GET"!==t.method)return void n(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));t.debug("JSONP: start");var s=!1,o=!1;i+=1;var a=document.getElementsByTagName("head")[0],c=document.createElement("script"),u="algoliaJSONP_"+i,l=!1;window[u]=function(e){!function(){try{delete window[u],delete window[u+"_loaded"]}catch(e){window[u]=window[u+"_loaded"]=void 0}}(),o?t.debug("JSONP: Late answer, ignoring"):(s=!0,f(),n(null,{body:e,responseText:JSON.stringify(e)}))},e+="&callback="+u,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var h=setTimeout(function(){t.debug("JSONP: Script timeout"),o=!0,f(),n(new r.RequestTimeout)},t.timeouts.complete);function d(){t.debug("JSONP: success"),l||o||(l=!0,s||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),f(),n(new r.JSONPScriptFail)))}function f(){clearTimeout(h),c.onload=null,c.onreadystatechange=null,c.onerror=null,a.removeChild(c)}c.onreadystatechange=function(){"loaded"!==this.readyState&&"complete"!==this.readyState||d()},c.onload=d,c.onerror=function(){if(t.debug("JSONP: Script error"),l||o)return;f(),n(new r.JSONPScriptError)},c.async=!0,c.defer=!0,c.src=e,a.appendChild(c)};var r=n(5),i=0},function(e,t,n){e.exports=function(e){return function(t,i,s){var o=n(3);(s=s&&o(s)||{}).hosts=s.hosts||["places-dsn.algolia.net","places-1.algolianet.com","places-2.algolianet.com","places-3.algolianet.com"],0!==arguments.length&&"object"!=typeof t&&void 0!==t||(t="",i="",s._allowEmptyCredentials=!0);var a=e(t,i,s),c=a.initIndex("places");return c.search=r("query","/1/places/query"),c.getObject=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/places/"+encodeURIComponent(e),hostType:"read",callback:t})},c}};var r=n(13)},function(e,t,n){"use strict";e.exports="3.30.0"},function(e,t,n){"use strict";e.exports=n(50)},function(e,t,n){"use strict";var r=n(15);n(1).element=r;var i=n(0);i.isArray=r.isArray,i.isFunction=r.isFunction,i.isObject=r.isPlainObject,i.bind=r.proxy,i.each=function(e,t){r.each(e,function(e,n){return t(n,e)})},i.map=r.map,i.mixin=r.extend,i.Event=r.Event;var s="aaAutocomplete",o=n(51),a=n(16);function c(e,t,n,c){n=i.isArray(n)?n:[].slice.call(arguments,2);var u=r(e).each(function(e,i){var u=r(i),l=new a({el:u}),h=c||new o({input:u,eventBus:l,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth});u.data(s,h)});return u.autocomplete={},i.each(["open","close","getVal","setVal","destroy","getWrapper"],function(e){u.autocomplete[e]=function(){var t,n=arguments;return u.each(function(i,o){var a=r(o).data(s);t=a[e].apply(a,n)}),t}}),u}c.sources=o.sources,c.escapeHighlightedString=i.escapeHighlightedString;var u="autocomplete"in window,l=window.autocomplete;c.noConflict=function(){return u?window.autocomplete=l:delete window.autocomplete,c},e.exports=c},function(e,t,n){"use strict";var r="aaAttrs",i=n(0),s=n(1),o=n(16),a=n(52),c=n(59),u=n(17),l=n(11);function h(e){var t,n;if((e=e||{}).input||i.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=i.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=i.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",i.getUniqueId()].join("-");var a=function(e){var t,n,o,a;t=s.element(e.input),n=s.element(u.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var c=u.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(c).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(i.templatify(e.templates.dropdownMenu)());(a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t))).val("").addClass(i.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();t.data(r,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(i.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(e){}return(n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent()).prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var c=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),c.on("blur.aa",function(e){var n=document.activeElement;i.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),i.defer(function(){c.focus()}))}),t.on("mousedown.aa",function(e){e.preventDefault()}),this.eventBus=e.eventBus||new o({el:c}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:c,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}i.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];i.each(e.keyboardShortcuts,function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)}),s.element(document).keydown(function(e){var r=e.target||e.srcElement,i=r.tagName;if(!r.isContentEditable&&"INPUT"!==i&&"SELECT"!==i&&"TEXTAREA"!==i){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}})}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n)},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),r=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(r),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var r=e.left-t.left;this.$node.css("left",r+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion(),this.debug||(this.autoselectOnBlur&&e?this._select(e):this.autoselectOnBlur&&t?this._select(t):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,r;n=this.dropdown.getDatumForCursor(),r=this.dropdown.getDatumForTopSuggestion(),n?(this._select(n),t.preventDefault()):this.autoselect&&r&&(this._select(r),t.preventDefault())},_onTabKeyed:function(e,t){var n;this.tabAutocomplete?(n=this.dropdown.getDatumForCursor())?(this._select(n),t.preventDefault()):this._autocomplete(!0):this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,r,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),r=i.escapeRegExChars(n),(s=new RegExp("^(?:"+r+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,r,i;t=this.input.getHint(),n=this.input.getQuery(),r=e||this.input.isCursorAtEnd(),t&&n!==t&&r&&((i=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(i.value),this.eventBus.trigger("autocompleted",i.raw,i.datasetName))},_select:function(e){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName).isDefaultPrevented()&&(this.dropdown.close(),i.defer(i.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=i.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(i.className(t.prefix,t.input));i.each(n.data(r),function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)}),n.detach().removeClass(i.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(r);e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=c,h.Input=a,h.sources=n(61),e.exports=h},function(e,t,n){"use strict";var r;r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i=n(0),s=n(1),o=n(10);function a(e){var t,n,o,a,c=this;(e=e||{}).input||i.error("input is missing"),t=i.bind(this._onBlur,this),n=i.bind(this._onFocus,this),o=i.bind(this._onKeydown,this),a=i.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=i.noop),i.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",function(e){r[e.which||e.keyCode]||i.defer(i.bind(c._onInput,c,e))}):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=function(e){return s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:e.css("font-family"),fontSize:e.css("font-size"),fontStyle:e.css("font-style"),fontVariant:e.css("font-variant"),fontWeight:e.css("font-weight"),wordSpacing:e.css("word-spacing"),letterSpacing:e.css("letter-spacing"),textIndent:e.css("text-indent"),textRendering:e.css("text-rendering"),textTransform:e.css("text-transform")}).insertAfter(e)}(this.$input)}function c(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},i.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=r[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,r,i;switch(e){case"tab":r=this.getHint(),i=this.getInputValue(),n=r&&r!==i&&!c(t);break;case"up":case"down":n=!c(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;switch(e){case"tab":n=!c(t);break;default:n=!0}return n},_checkInputValue:function(){var e,t,n;n=!(!(t=function(e,t){return a.normalizeQuery(e)===a.normalizeQuery(t)}(e=this.getInputValue(),this.query))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,i.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},function(e,t,n){"use strict";var r,i,s,o=[n(54),n(55),n(56),n(57),n(58)],a=-1,c=[],u=!1;function l(){r&&i&&(r=!1,i.length?c=i.concat(c):a=-1,c.length&&h())}function h(){if(!r){u=!1,r=!0;for(var e=c.length,t=setTimeout(l);e;){for(i=c,c=[];i&&++a<e;)i[a].run();a=-1,e=c.length}i=null,a=-1,r=!1,clearTimeout(t)}}for(var d=-1,f=o.length;++d<f;)if(o[d]&&o[d].test&&o[d].test()){s=o[d].install(h);break}function p(e,t){this.fun=e,this.array=t}p.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},e.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),u||r||(u=!0,s())}},function(e,t,n){"use strict";(function(e){t.test=function(){return void 0!==e&&!e.browser},t.install=function(t){return function(){e.nextTick(t)}}}).call(t,n(9))},function(e,t,n){"use strict";(function(e){var n=e.MutationObserver||e.WebKitMutationObserver;t.test=function(){return n},t.install=function(t){var r=0,i=new n(t),s=e.document.createTextNode("");return i.observe(s,{characterData:!0}),function(){s.data=r=++r%2}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return!e.setImmediate&&void 0!==e.MessageChannel},t.install=function(t){var n=new e.MessageChannel;return n.port1.onmessage=t,function(){n.port2.postMessage(0)}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},t.install=function(t){return function(){var n=e.document.createElement("script");return n.onreadystatechange=function(){t(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},e.document.documentElement.appendChild(n),t}}}).call(t,n(4))},function(e,t,n){"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},function(e,t,n){"use strict";var r=n(0),i=n(1),s=n(10),o=n(60),a=n(11);function c(e){var t,n,s,o=this;(e=e||{}).menu||r.error("menu is required"),r.isArray(e.datasets)||r.isObject(e.datasets)||r.error("1 or more datasets required"),e.datasets||r.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=r.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=r.bind(this._onSuggestionClick,this),n=r.bind(this._onSuggestionMouseEnter,this),s=r.bind(this._onSuggestionMouseLeave,this);var u=r.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=i.element(e.menu).on("mouseenter.aa",u,n).on("mouseleave.aa",u,s).on("click.aa",u,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=r.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=r.templatify(e.templates.empty),this.$empty=i.element('<div class="'+r.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=r.map(e.datasets,function(t){return function(e,t,n){return new c.Dataset(r.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)}),r.each(this.datasets,function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)}),e.templates&&e.templates.footer&&(this.templates.footer=r.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;i.element(window).resize(function(){l._redraw()})}r.mixin(c.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",i.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=i.element(e.currentTarget);if(!t.hasClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout(function(){n._setCursor(t,!1)},0)}},_onSuggestionMouseLeave:function(e){if(e.relatedTarget&&i.element(e.relatedTarget).closest("."+r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=r.every(this.datasets,function(e){return e.isEmpty()}),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else r.any(this.datasets,function(e){return e.templates&&e.templates.empty})?t.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),t.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,r,i;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!==(r=((r=t.index(n)+e)+1)%(t.length+1)-1)?(r<-1&&(r=t.length-1),this._setCursor(i=t.eq(r),!0),this._ensureVisible(i)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,r,i;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),r=this.$menu.scrollTop(),i=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(r+t):i<n&&this.$menu.scrollTop(r+(n-i))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(e){this.$menu.css("ltr"===e?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(e){var t=null;return e.length&&(t={raw:o.extractDatum(e),value:o.extractValue(e),datasetName:o.extractDatasetName(e)}),t},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(e){r.each(this.datasets,function(t){t.update(e)})},empty:function(){r.each(this.datasets,function(e){e.clear()}),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,r.each(this.datasets,function(e){e.destroy()})}}),c.Dataset=o,e.exports=c},function(e,t,n){"use strict";var r="aaDataset",i="aaValue",s="aaDatum",o=n(0),a=n(1),c=n(17),u=n(11),l=n(10);function h(e){(e=e||{}).templates=e.templates||{},e.source||o.error("missing source"),e.name&&!function(e){return/^[_a-zA-Z0-9-]+$/.test(e)}(e.name)&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:function(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||function(e){return"<p>"+t(e)+"</p>"}}}(e.templates,this.displayFn),this.css=o.mixin({},u,e.appendTo?u.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},u.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var t=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(t+"-"+this.name).length>0?a.element(e.$menu.find(t+"-"+this.name)[0]):a.element(c.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(r)},h.extractValue=function(e){return a.element(e).data(i)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(this.$el){var n,u=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),u.templates.empty.apply(this,t)}.apply(this,l)).prepend(u.templates.header?h.apply(this,l):null).append(u.templates.footer?d.apply(this,l):null);else if(n)this.$el.html(function(){var e,n,l=[].slice.call(arguments,0),h=this,d=c.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(d).css(this.css.suggestions),n=o.map(t,function(e){var t,n=c.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(u.templates.suggestion.apply(this,[e].concat(l)))).data(r,u.name),t.data(i,u.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each(function(){a.element(this).css(h.css.suggestionChild)}),t}),e.append.apply(e,n),e}.apply(this,l)).prepend(u.templates.header?h.apply(this,l):null).append(u.templates.footer?d.apply(this,l):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),u.templates.header.apply(this,t)}function d(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),u.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,r=function(){n.canceled||n.source(e,t.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(function(){n.debounceTimeout=null,r()},this.debounce)}else r()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered","")},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=h},function(e,t,n){"use strict";e.exports={hits:n(62),popularIn:n(63)}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),function(n,i){e.search(n,t,function(e,t){e?r.error(e.message):i(t.hits,t)})}}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),!n.source)return r.error("Missing 'source' key");var c=r.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return r.error("Missing 'index' key");var u=n.index;return o=o||{},function(a,l){e.search(a,t,function(e,a){if(e)r.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],d=r.mixin({hitsPerPage:0},n);delete d.source,delete d.index;var f=s(u.as._ua);return f&&f[0]>=3&&f[1]>20&&(t.additionalUA="autocomplete.js "+i),void u.search(c(h),d,function(e,t){if(e)r.error(e.message);else{var n=[];if(o.includeAll){var i=o.allTitle||"All departments";n.push(r.mixin({facet:{value:i,count:t.nbHits}},r.cloneDeep(h)))}r.each(t.facets,function(e,t){r.each(e,function(e,i){n.push(r.mixin({facet:{facet:t,value:i,count:e}},r.cloneDeep(h)))})});for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}})}l([])}})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="algolia-docsearch-suggestion",i={suggestion:'\n  <a class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    "\n    aria-label="Link to the result"\n    href="{{{url}}}"\n    >\n    <div class="'+r+'--category-header">\n        <span class="'+r+'--category-header-lvl0">{{{category}}}</span>\n    </div>\n    <div class="'+r+'--wrapper">\n      <div class="'+r+'--subcategory-column">\n        <span class="'+r+'--subcategory-column-text">{{{subcategory}}}</span>\n      </div>\n      {{#isTextOrSubcategoryNonEmpty}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--subcategory-inline">{{{subcategory}}}</div>\n        <div class="'+r+'--title">{{{title}}}</div>\n        {{#text}}<div class="'+r+'--text">{{{text}}}</div>{{/text}}\n      </div>\n      {{/isTextOrSubcategoryNonEmpty}}\n    </div>\n  </a>\n  ',suggestionSimple:'\n  <div class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    suggestion-layout-simple\n  ">\n    <div class="'+r+'--category-header">\n        {{^isLvl0}}\n        <span class="'+r+"--category-header-lvl0 "+r+'--category-header-item">{{{category}}}</span>\n          {{^isLvl1}}\n          {{^isLvl1EmptyOrDuplicate}}\n          <span class="'+r+"--category-header-lvl1 "+r+'--category-header-item">\n              {{{subcategory}}}\n          </span>\n          {{/isLvl1EmptyOrDuplicate}}\n          {{/isLvl1}}\n        {{/isLvl0}}\n        <div class="'+r+"--title "+r+'--category-header-item">\n            {{#isLvl2}}\n                {{{title}}}\n            {{/isLvl2}}\n            {{#isLvl1}}\n                {{{subcategory}}}\n            {{/isLvl1}}\n            {{#isLvl0}}\n                {{{category}}}\n            {{/isLvl0}}\n        </div>\n    </div>\n    <div class="'+r+'--wrapper">\n      {{#text}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--text">{{{text}}}</div>\n      </div>\n      {{/text}}\n    </div>\n  </div>\n  ',footer:'\n    <div class="algolia-docsearch-footer">\n      Search by <a class="algolia-docsearch-footer--logo" href="https://www.algolia.com/docsearch">Algolia</a>\n    </div>\n  ',empty:'\n  <div class="'+r+'">\n    <div class="'+r+'--wrapper">\n        <div class="'+r+"--content "+r+'--no-results">\n            <div class="'+r+'--title">\n                <div class="'+r+'--text">\n                    No results found for query <b>"{{query}}"</b>\n                </div>\n            </div>\n        </div>\n    </div>\n  </div>\n  ',searchBox:'\n  <form novalidate="novalidate" onsubmit="return false;" class="searchbox">\n    <div role="search" class="searchbox__wrapper">\n      <input id="docsearch" type="search" name="search" placeholder="Search the docs" autocomplete="off" required="required" class="searchbox__input"/>\n      <button type="submit" title="Submit your search query." class="searchbox__submit" >\n        <svg width=12 height=12 role="img" aria-label="Search">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use>\n        </svg>\n      </button>\n      <button type="reset" title="Clear the search query." class="searchbox__reset hide">\n        <svg width=12 height=12 role="img" aria-label="Reset">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use>\n        </svg>\n      </button>\n    </div>\n</form>\n\n<div class="svg-icons" style="height: 0; width: 0; position: absolute; visibility: hidden">\n  <svg xmlns="http://www.w3.org/2000/svg">\n    <symbol id="sbx-icon-clear-3" viewBox="0 0 40 40"><path d="M16.228 20L1.886 5.657 0 3.772 3.772 0l1.885 1.886L20 16.228 34.343 1.886 36.228 0 40 3.772l-1.886 1.885L23.772 20l14.342 14.343L40 36.228 36.228 40l-1.885-1.886L20 23.772 5.657 38.114 3.772 40 0 36.228l1.886-1.885L16.228 20z" fill-rule="evenodd"></symbol>\n    <symbol id="sbx-icon-search-13" viewBox="0 0 40 40"><path d="M26.806 29.012a16.312 16.312 0 0 1-10.427 3.746C7.332 32.758 0 25.425 0 16.378 0 7.334 7.333 0 16.38 0c9.045 0 16.378 7.333 16.378 16.38 0 3.96-1.406 7.593-3.746 10.426L39.547 37.34c.607.608.61 1.59-.004 2.203a1.56 1.56 0 0 1-2.202.004L26.807 29.012zm-10.427.627c7.322 0 13.26-5.938 13.26-13.26 0-7.324-5.938-13.26-13.26-13.26-7.324 0-13.26 5.936-13.26 13.26 0 7.322 5.936 13.26 13.26 13.26z" fill-rule="evenodd"></symbol>\n  </svg>\n</div>\n  '};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=function(e){return e&&e.__esModule?e:{default:e}}(n(20));var s={mergeKeyWithParent:function(e,t){if(void 0===e[t])return e;if("object"!==r(e[t]))return e;var n=i.default.extend({},e,e[t]);return delete n[t],n},groupBy:function(e,t){var n={};return i.default.each(e,function(e,r){if(void 0===r[t])throw new Error("[groupBy]: Object has no key "+t);var i=r[t];"string"==typeof i&&(i=i.toLowerCase()),Object.prototype.hasOwnProperty.call(n,i)||(n[i]=[]),n[i].push(r)}),n},values:function(e){return Object.keys(e).map(function(t){return e[t]})},flatten:function(e){var t=[];return e.forEach(function(e){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}),t},flattenAndFlagFirst:function(e,t){var n=this.values(e).map(function(e){return e.map(function(e,n){return e[t]=0===n,e})});return this.flatten(n)},compact:function(e){var t=[];return e.forEach(function(e){e&&t.push(e)}),t},getHighlightedValue:function(e,t){return e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t]},getSnippetedValue:function(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];var n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n="…"+n),-1===[".","!","?"].indexOf(n[n.length-1])&&(n+="…"),n},deepClone:function(e){return JSON.parse(JSON.stringify(e))}};t.default=s}])})},function(e,t,n){var r=n(11);r.registerLanguage("bash",n(12)),r.registerLanguage("css",n(13)),r.registerLanguage("markdown",n(14)),r.registerLanguage("diff",n(15)),r.registerLanguage("javascript",n(16)),r.registerLanguage("json",n(17)),r.registerLanguage("yaml",n(18)),r.registerLanguage("xml",n(19)),r.registerLanguage("html",n(20)),r.registerLanguage("go",function(e){var t={keyword:"code output note warning break default func interface select case map struct chan else goto package switch const fallthrough if range end type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune id autoplay Get",literal:"file download copy true false iota nil Pages with",built_in:"append cap close complex highlight copy imag len make new panic print println real recover delete Site Data tweet youtube ref relref vimeo instagram gist figure innershortcode"};return{aliases:["golang","hugo"],k:t,i:"</",c:[e.CLCM,e.CBCM,{cN:"string",v:[e.QSM,{b:"'",e:"[^\\\\]'"},{b:"`",e:"`"}]},{cN:"number",v:[{b:e.CNR+"[dflsi]",r:1},e.CNM]},{b:/:=/},{cN:"function",bK:"func",e:/\s*\{/,eE:!0,c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:t,i:/["']/}]}]}}),r.initHighlightingOnLoad()},function(e,t,n){!function(e){"object"==typeof window&&window||"object"==typeof self&&self;(function(e){var t=[],n=Object.keys,r={},i={},s=/^(no-?highlight|plain|text)$/i,o=/\blang(?:uage)?-([\w-]+)\b/i,a=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,c="</span>",u={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function l(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(e){return e.nodeName.toLowerCase()}function d(e,t){var n=e&&e.exec(t);return n&&0===n.index}function f(e){return s.test(e)}function p(e){var t,n={},r=Array.prototype.slice.call(arguments,1);for(t in e)n[t]=e[t];return r.forEach(function(e){for(t in e)n[t]=e[t]}),n}function g(e){var t=[];return function e(n,r){for(var i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),h(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}function m(e){function t(e){return e&&e.source||e}function r(n,r){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}!function i(s,o){if(s.compiled)return;s.compiled=!0;s.keywords=s.keywords||s.beginKeywords;if(s.keywords){var a={},c=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");a[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof s.keywords?c("keyword",s.keywords):n(s.keywords).forEach(function(e){c(e,s.keywords[e])}),s.keywords=a}s.lexemesRe=r(s.lexemes||/\w+/,!0);o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")\\b"),s.begin||(s.begin=/\B|\b/),s.beginRe=r(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=r(s.end)),s.terminator_end=t(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end));s.illegal&&(s.illegalRe=r(s.illegal));null==s.relevance&&(s.relevance=1);s.contains||(s.contains=[]);s.contains=Array.prototype.concat.apply([],s.contains.map(function(e){return function(e){e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(t){return p(e,{variants:null},t)}));return e.cached_variants||e.endsWithParent&&[p(e)]||[e]}("self"===e?s:e)}));s.contains.forEach(function(e){i(e,s)});s.starts&&i(s.starts,o);var u=s.contains.map(function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin}).concat([s.terminator_end,s.illegal]).map(t).filter(Boolean);s.terminators=u.length?r(u.join("|"),!0):{exec:function(){return null}}}(e)}function v(e,t,n,i){function s(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function o(e,t){var n=g.case_insensitive?t[0].toLowerCase():t[0];return e.keywords.hasOwnProperty(n)&&e.keywords[n]}function a(e,t,n,r){var i=r?"":u.classPrefix,s='<span class="'+i,o=n?"":c;return(s+=e+'">')+t+o}function h(){x+=null!=w.subLanguage?function(){var e="string"==typeof w.subLanguage;if(e&&!r[w.subLanguage])return l(S);var t=e?v(w.subLanguage,S,!0,_[w.subLanguage]):y(S,w.subLanguage.length?w.subLanguage:void 0);w.relevance>0&&(C+=t.relevance);e&&(_[w.subLanguage]=t.top);return a(t.language,t.value,!1,!0)}():function(){var e,t,n,r;if(!w.keywords)return l(S);r="",t=0,w.lexemesRe.lastIndex=0,n=w.lexemesRe.exec(S);for(;n;)r+=l(S.substring(t,n.index)),(e=o(w,n))?(C+=e[1],r+=a(e[0],l(n[0]))):r+=l(n[0]),t=w.lexemesRe.lastIndex,n=w.lexemesRe.exec(S);return r+l(S.substr(t))}(),S=""}function f(e){x+=e.className?a(e.className,"",!0):"",w=Object.create(e,{parent:{value:w}})}function p(e,t){if(S+=e,null==t)return h(),0;var r=function(e,t){var n,r;for(n=0,r=t.contains.length;n<r;n++)if(d(t.contains[n].beginRe,e))return t.contains[n].endSameAsBegin&&(t.contains[n].endRe=s(t.contains[n].beginRe.exec(e)[0])),t.contains[n]}(t,w);if(r)return r.skip?S+=t:(r.excludeBegin&&(S+=t),h(),r.returnBegin||r.excludeBegin||(S=t)),f(r),r.returnBegin?0:t.length;var i=function e(t,n){if(d(t.endRe,n)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.endsWithParent)return e(t.parent,n)}(w,t);if(i){var o=w;o.skip?S+=t:(o.returnEnd||o.excludeEnd||(S+=t),h(),o.excludeEnd&&(S=t));do{w.className&&(x+=c),w.skip||w.subLanguage||(C+=w.relevance),w=w.parent}while(w!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}if(function(e,t){return!n&&d(t.illegalRe,e)}(t,w))throw new Error('Illegal lexeme "'+t+'" for mode "'+(w.className||"<unnamed>")+'"');return S+=t,t.length||1}var g=E(e);if(!g)throw new Error('Unknown language: "'+e+'"');m(g);var b,w=i||g,_={},x="";for(b=w;b!==g;b=b.parent)b.className&&(x=a(b.className,"",!0)+x);var S="",C=0;try{for(var A,N,O=0;w.terminators.lastIndex=O,A=w.terminators.exec(t);)N=p(t.substring(O,A.index),A[0]),O=A.index+N;for(p(t.substr(O)),b=w;b.parent;b=b.parent)b.className&&(x+=c);return{relevance:C,value:x,language:e,top:w}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:l(t)};throw e}}function y(e,t){t=t||u.languages||n(r);var i={relevance:0,value:l(e)},s=i;return t.filter(E).filter(x).forEach(function(t){var n=v(t,e,!1);n.language=t,n.relevance>s.relevance&&(s=n),n.relevance>i.relevance&&(s=i,i=n)}),s.language&&(i.second_best=s),i}function b(e){return u.tabReplace||u.useBR?e.replace(a,function(e,t){return u.useBR&&"\n"===e?"<br>":u.tabReplace?t.replace(/\t/g,u.tabReplace):""}):e}function w(e){var n,r,s,a,c,d=function(e){var t,n,r,i,s=e.className+" ";if(s+=e.parentNode?e.parentNode.className:"",n=o.exec(s))return E(n[1])?n[1]:"no-highlight";for(s=s.split(/\s+/),t=0,r=s.length;t<r;t++)if(f(i=s[t])||E(i))return i}(e);f(d)||(u.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):n=e,c=n.textContent,s=d?v(d,c,!0):y(c),(r=g(n)).length&&((a=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=s.value,s.value=function(e,n,r){var i=0,s="",o=[];function a(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function c(e){s+="<"+h(e)+t.map.call(e.attributes,function(e){return" "+e.nodeName+'="'+l(e.value).replace('"',"&quot;")+'"'}).join("")+">"}function u(e){s+="</"+h(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var f=a();if(s+=l(r.substring(i,f[0].offset)),i=f[0].offset,f===e){o.reverse().forEach(u);do{d(f.splice(0,1)[0]),f=a()}while(f===e&&f.length&&f[0].offset===i);o.reverse().forEach(c)}else"start"===f[0].event?o.push(f[0].node):o.pop(),d(f.splice(0,1)[0])}return s+l(r.substr(i))}(r,g(a),c)),s.value=b(s.value),e.innerHTML=s.value,e.className=function(e,t,n){var r=t?i[t]:n,s=[e.trim()];e.match(/\bhljs\b/)||s.push("hljs");-1===e.indexOf(r)&&s.push(r);return s.join(" ").trim()}(e.className,d,s.language),e.result={language:s.language,re:s.relevance},s.second_best&&(e.second_best={language:s.second_best.language,re:s.second_best.relevance}))}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll("pre code");t.forEach.call(e,w)}}function E(e){return e=(e||"").toLowerCase(),r[e]||r[i[e]]}function x(e){var t=E(e);return t&&!t.disableAutodetect}e.highlight=v,e.highlightAuto=y,e.fixMarkup=b,e.highlightBlock=w,e.configure=function(e){u=p(u,e)},e.initHighlighting=_,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",_,!1),addEventListener("load",_,!1)},e.registerLanguage=function(t,n){var s=r[t]=n(e);s.aliases&&s.aliases.forEach(function(e){i[e]=t})},e.listLanguages=function(){return n(r)},e.getLanguage=E,e.autoDetection=x,e.inherit=p,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,r){var i=e.inherit({className:"comment",begin:t,end:n,contains:[]},r||{});return i.contains.push(e.PHRASAL_WORDS_MODE),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),i},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0}})(t)}()},function(e,t){e.exports=function(e){var t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,n,{className:"string",begin:/'/,end:/'/},t]}}},function(e,t){e.exports=function(e){var t={begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{begin:"@",end:"[{;]",illegal:/:/,contains:[{className:"keyword",begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,t]}]}}},function(e,t){e.exports=function(e){return{aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"quote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"^```w*s*$",end:"^```s*$"},{begin:"`.+?`"},{begin:"^( {4}|\t)",end:"$",relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}},function(e,t){e.exports=function(e){return{aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}},function(e,t){e.exports=function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",n={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:n,contains:[]},s={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,r,e.REGEXP_MODE];var o=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js","jsx"],keywords:n,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:o}]}]},{begin:/</,end:/(\/\w+|\w+\/)>/,subLanguage:"xml",contains:[{begin:/<\w+\s*\/>/,skip:!0},{begin:/<\w+/,end:/(\/\w+|\w+\/)>/,skip:!0,contains:[{begin:/<\w+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:o}],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}}},function(e,t){e.exports=function(e){var t={literal:"true false null"},n=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:n,keywords:t},i={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})],illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return n.splice(n.length,0,i,s),{contains:n,keywords:t,illegal:"\\S"}}},function(e,t){e.exports=function(e){var t="[a-zA-Z_][\\w\\-]*",n={className:"attr",variants:[{begin:"^[ \\-]*"+t+":"},{begin:'^[ \\-]*"'+t+'":'},{begin:"^[ \\-]*'"+t+"':"}]},r={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]};return{case_insensitive:!0,aliases:["yml","YAML","yaml"],contains:[n,{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>] *$",returnEnd:!0,contains:r.contains,end:n.variants[0].begin},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!"+e.UNDERSCORE_IDENT_RE},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"^ *-",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},e.C_NUMBER_MODE,r]}}},function(e,t){e.exports=function(e){var t={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],case_insensitive:!0,contains:[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[t],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[t],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},t]}]}}},function(e,t){e.exports=function(e){var t={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT("{{!(--)?","(--)?}}"),{className:"template-tag",begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,keywords:t,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,keywords:t}]}}},function(e,t,n){n(0),n(22)},function(e,t,n){!function(t,r){var i=function(){r(t.lazySizes),t.removeEventListener("lazyunveilread",i,!0)};r=r.bind(null,t,t.document),e.exports?r(n(0)):t.lazySizes?i():t.addEventListener("lazyunveilread",i,!0)}(window,function(e,t,n){"use strict";var r,i,s={};function o(e,n){if(!s[e]){var r=t.createElement(n?"link":"script"),i=t.getElementsByTagName("script")[0];n?(r.rel="stylesheet",r.href=e):r.src=e,s[e]=!0,s[r.src||r.href]=!0,i.parentNode.insertBefore(r,i)}}t.addEventListener&&(i=/\(|\)|\s|'/,r=function(e,n){var r=t.createElement("img");r.onload=function(){r.onload=null,r.onerror=null,r=null,n()},r.onerror=r.onload,r.src=e,r&&r.complete&&r.onload&&r.onload()},addEventListener("lazybeforeunveil",function(e){var t,s,a;e.detail.instance==n&&(e.defaultPrevented||("none"==e.target.preload&&(e.target.preload="auto"),(t=e.target.getAttribute("data-link"))&&o(t,!0),(t=e.target.getAttribute("data-script"))&&o(t),(t=e.target.getAttribute("data-require"))&&(n.cfg.requireJs?n.cfg.requireJs([t]):o(t)),(s=e.target.getAttribute("data-bg"))&&(e.detail.firesLoad=!0,r(s,function(){e.target.style.backgroundImage="url("+(i.test(s)?JSON.stringify(s):s)+")",e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)})),(a=e.target.getAttribute("data-poster"))&&(e.detail.firesLoad=!0,r(a,function(){e.target.poster=a,e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)}))))},!1))})},function(e,t){for(var n=document.getElementsByClassName("js-toggle"),r=0;r<n.length;r++)n[r].addEventListener("click",i,!1);function i(){for(var e=this.dataset.target.split(" "),t=document.querySelector(".mobilemenu:not(.dn)"),n=document.querySelector(".desktopmenu:not(.dn)"),r=document.querySelector(".desktopmenu:not(.dn)"),i=0;i<e.length;i++){var s=document.querySelectorAll(e[i]);[].forEach.call(s,function(e){return e.classList.contains("dn")?e.classList.remove("dn"):e.classList.add("dn"),!1}),t&&t.classList.add("dn"),n&&n.classList.add("dn"),r&&r.classList.remove("db")}}},function(e,t,n){n(25)},function(e,t,n){!function(){"use strict";var e,t,n="data-scrolldir",r="down",i=document.documentElement,s=window,o=document.body,a=32,c=512,u=64,l=Array(a),h=0;function d(){var d=s.scrollY||s.pageYOffset,f=e.timeStamp,p="down"===r?Math.max:Math.min,g=o.scrollHeight-s.innerHeight;if(d=Math.max(0,d),d=Math.min(g,d),l.unshift({y:d,t:f}),l.pop(),d===p(t,d))return h=f,void(t=d);var m=f-c;if(h<m){t=d;for(var v=0;v<a&&l[v]&&!(l[v].t<m);v+=1)t=p(t,l[v].y)}Math.abs(d-t)>u&&(t=d,h=f,r="down"===r?"up":"down",i.setAttribute(n,r))}function f(t){return e=t,s.requestAnimationFrame(d)}t=s.scrollY||s.pageYOffset,i.setAttribute(n,r),s.addEventListener("scroll",f)}()},function(e,t){!function(){"use strict";if("querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach){var e=document.querySelectorAll("#TableOfContents ul li a");[].forEach.call(e,function(e){e.addEventListener("click",function(t){t.preventDefault();var n=e.getAttribute("href"),r=document.querySelector(n),i=e.getAttribute("data-speed");r&&function(e,t){var n,r=window.pageYOffset,i=e.offsetTop,s=(i-r)/(t/16);n=s>=0?function(){var e=window.pageYOffset;(e>=i-s||window.innerHeight+e>=document.body.offsetHeight)&&clearInterval(o)}:function(){window.pageYOffset<=(i||0)&&clearInterval(o)};var o=setInterval(function(){window.scrollBy(0,s),n()},16)}(r,i||500)},!1)})}}()},function(e,t){var n,r=document.querySelectorAll("[data-toggle-tab]"),i=document.querySelectorAll("[data-pane]");function s(e){if(e.target){e.preventDefault();var t=e.currentTarget.getAttribute("data-toggle-tab")}else t=e;window.localStorage&&window.localStorage.setItem("configLangPref",t);for(var n=document.querySelectorAll("[data-toggle-tab='"+t+"']"),s=document.querySelectorAll("[data-pane='"+t+"']"),o=0;o<r.length;o++)r[o].classList.remove("active"),i[o].classList.remove("active");for(o=0;o<n.length;o++)n[o].classList.add("active"),s[o].classList.add("active")}for(n=0;n<r.length;n++)r[n].addEventListener("click",s);window.localStorage.getItem("configLangPref")&&s(window.localStorage.getItem("configLangPref"))},function(e,t){document.documentElement.className=document.documentElement.className.replace(/\bno-js\b/,"js")}]);
++ */var r;r=function(){"use strict";function e(e){return"function"==typeof e}var r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=0,s=void 0,o=void 0,a=function(e,t){p[i]=e,p[i+1]=t,2===(i+=2)&&(o?o(g):w())},c="undefined"!=typeof window?window:void 0,u=c||{},l=u.MutationObserver||u.WebKitMutationObserver,h="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function f(){var e=setTimeout;return function(){return e(g,1)}}var p=new Array(1e3);function g(){for(var e=0;e<i;e+=2)(0,p[e])(p[e+1]),p[e]=void 0,p[e+1]=void 0;i=0}var m,v,y,b,w=void 0;function _(e,t){var n=this,r=new this.constructor(S);void 0===r[x]&&j(r);var i=n._state;if(i){var s=arguments[i-1];a((function(){return I(i,r,s,n._result)}))}else M(n,r,e,t);return r}function E(e){if(e&&"object"==typeof e&&e.constructor===this)return e;var t=new this(S);return O(t,e),t}h?w=function(){return t.nextTick(g)}:l?(v=0,y=new l(g),b=document.createTextNode(""),y.observe(b,{characterData:!0}),w=function(){b.data=v=++v%2}):d?((m=new MessageChannel).port1.onmessage=g,w=function(){return m.port2.postMessage(0)}):w=void 0===c?function(){try{var e=Function("return this")().require("vertx");return void 0!==(s=e.runOnLoop||e.runOnContext)?function(){s(g)}:f()}catch(e){return f()}}():f();var x=Math.random().toString(36).substring(2);function S(){}var C={error:null};function A(e){try{return e.then}catch(e){return C.error=e,C}}function N(t,n,r){n.constructor===t.constructor&&r===_&&n.constructor.resolve===E?function(e,t){1===t._state?k(e,t._result):2===t._state?R(e,t._result):M(t,void 0,(function(t){return O(e,t)}),(function(t){return R(e,t)}))}(t,n):r===C?(R(t,C.error),C.error=null):void 0===r?k(t,n):e(r)?function(e,t,n){a((function(e){var r=!1,i=function(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}(n,t,(function(n){r||(r=!0,t!==n?O(e,n):k(e,n))}),(function(t){r||(r=!0,R(e,t))}),e._label);!r&&i&&(r=!0,R(e,i))}),e)}(t,n,r):k(t,n)}function O(e,t){var n,r;e===t?R(e,new TypeError("You cannot resolve a promise with itself")):(r=typeof(n=t),null===n||"object"!==r&&"function"!==r?k(e,t):N(e,t,A(t)))}function T(e){e._onerror&&e._onerror(e._result),L(e)}function k(e,t){void 0===e._state&&(e._result=t,e._state=1,0!==e._subscribers.length&&a(L,e))}function R(e,t){void 0===e._state&&(e._state=2,e._result=t,a(T,e))}function M(e,t,n,r){var i=e._subscribers,s=i.length;e._onerror=null,i[s]=t,i[s+1]=n,i[s+2]=r,0===s&&e._state&&a(L,e)}function L(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,i=void 0,s=e._result,o=0;o<t.length;o+=3)r=t[o],i=t[o+n],r?I(n,r,i,s):i(s);e._subscribers.length=0}}function I(t,n,r,i){var s=e(r),o=void 0,a=void 0,c=void 0,u=void 0;if(s){if((o=function(e,t){try{return e(t)}catch(e){return C.error=e,C}}(r,i))===C?(u=!0,a=o.error,o.error=null):c=!0,n===o)return void R(n,new TypeError("A promises callback cannot return that same promise."))}else o=i,c=!0;void 0!==n._state||(s&&c?O(n,o):u?R(n,a):1===t?k(n,o):2===t&&R(n,o))}var D=0;function j(e){e[x]=D++,e._state=void 0,e._result=void 0,e._subscribers=[]}var P=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(S),this.promise[x]||j(this.promise),r(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?k(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&k(this.promise,this._result))):R(this.promise,new Error("Array Methods must be provided an Array"))}return e.prototype._enumerate=function(e){for(var t=0;void 0===this._state&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===E){var i=A(e);if(i===_&&void 0!==e._state)this._settledAt(e._state,t,e._result);else if("function"!=typeof i)this._remaining--,this._result[t]=e;else if(n===$){var s=new n(S);N(s,e,i),this._willSettleAt(s,t)}else this._willSettleAt(new n((function(t){return t(e)})),t)}else this._willSettleAt(r(e),t)},e.prototype._settledAt=function(e,t,n){var r=this.promise;void 0===r._state&&(this._remaining--,2===e?R(r,n):this._result[t]=n),0===this._remaining&&k(r,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;M(e,void 0,(function(e){return n._settledAt(1,t,e)}),(function(e){return n._settledAt(2,t,e)}))},e}(),$=function(){function e(t){this[x]=D++,this._result=this._state=void 0,this._subscribers=[],S!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(e,t){try{t((function(t){O(e,t)}),(function(t){R(e,t)}))}catch(t){R(e,t)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){throw n}))}))},e}();return $.prototype.then=_,$.all=function(e){return new P(this,e).promise},$.race=function(e){var t=this;return r(e)?new t((function(n,r){for(var i=e.length,s=0;s<i;s++)t.resolve(e[s]).then(n,r)})):new t((function(e,t){return t(new TypeError("You must pass an array to race."))}))},$.resolve=E,$.reject=function(e){var t=new this(S);return R(t,e),t},$._setScheduler=function(e){o=e},$._setAsap=function(e){a=e},$._asap=a,$.polyfill=function(){var e=void 0;if(void 0!==n)e=n;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var r=null;try{r=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===r&&!t.cast)return}e.Promise=$},$.Promise=$,$},e.exports=r()}).call(t,n(9),n(4))},function(e,t,n){"use strict";e.exports=function(e,t){return/\?/.test(e)?e+="&":e+="?",e+r(t)};var r=n(45)},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?s(o(e),(function(o){var a=encodeURIComponent(r(o))+n;return i(e[o])?s(e[o],(function(e){return a+encodeURIComponent(r(e))})).join(t):a+encodeURIComponent(r(e[o]))})).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function s(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){"use strict";e.exports=function(e,t,n){if("GET"===t.method){t.debug("JSONP: start");var s=!1,o=!1;i+=1;var a=document.getElementsByTagName("head")[0],c=document.createElement("script"),u="algoliaJSONP_"+i,l=!1;window[u]=function(e){!function(){try{delete window[u],delete window[u+"_loaded"]}catch(e){window[u]=window[u+"_loaded"]=void 0}}(),o?t.debug("JSONP: Late answer, ignoring"):(s=!0,f(),n(null,{body:e,responseText:JSON.stringify(e)}))},e+="&callback="+u,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var h=setTimeout((function(){t.debug("JSONP: Script timeout"),o=!0,f(),n(new r.RequestTimeout)}),t.timeouts.complete);c.onreadystatechange=function(){"loaded"!==this.readyState&&"complete"!==this.readyState||d()},c.onload=d,c.onerror=function(){t.debug("JSONP: Script error"),l||o||(f(),n(new r.JSONPScriptError))},c.async=!0,c.defer=!0,c.src=e,a.appendChild(c)}else n(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));function d(){t.debug("JSONP: success"),l||o||(l=!0,s||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),f(),n(new r.JSONPScriptFail)))}function f(){clearTimeout(h),c.onload=null,c.onreadystatechange=null,c.onerror=null,a.removeChild(c)}};var r=n(5),i=0},function(e,t,n){e.exports=function(e){return function(t,i,s){var o=n(3);(s=s&&o(s)||{}).hosts=s.hosts||["places-dsn.algolia.net","places-1.algolianet.com","places-2.algolianet.com","places-3.algolianet.com"],0!==arguments.length&&"object"!=typeof t&&void 0!==t||(t="",i="",s._allowEmptyCredentials=!0);var a=e(t,i,s),c=a.initIndex("places");return c.search=r("query","/1/places/query"),c.getObject=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/places/"+encodeURIComponent(e),hostType:"read",callback:t})},c}};var r=n(13)},function(e,t,n){"use strict";e.exports="3.30.0"},function(e,t,n){"use strict";e.exports=n(50)},function(e,t,n){"use strict";var r=n(15);n(1).element=r;var i=n(0);i.isArray=r.isArray,i.isFunction=r.isFunction,i.isObject=r.isPlainObject,i.bind=r.proxy,i.each=function(e,t){r.each(e,(function(e,n){return t(n,e)}))},i.map=r.map,i.mixin=r.extend,i.Event=r.Event;var s=n(51),o=n(16);function a(e,t,n,a){n=i.isArray(n)?n:[].slice.call(arguments,2);var c=r(e).each((function(e,i){var c=r(i),u=new o({el:c}),l=a||new s({input:c,eventBus:u,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth});c.data("aaAutocomplete",l)}));return c.autocomplete={},i.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(e){c.autocomplete[e]=function(){var t,n=arguments;return c.each((function(i,s){var o=r(s).data("aaAutocomplete");t=o[e].apply(o,n)})),t}})),c}a.sources=s.sources,a.escapeHighlightedString=i.escapeHighlightedString;var c="autocomplete"in window,u=window.autocomplete;a.noConflict=function(){return c?window.autocomplete=u:delete window.autocomplete,a},e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(1),s=n(16),o=n(52),a=n(59),c=n(17),u=n(11);function l(e){var t,n;if((e=e||{}).input||r.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=r.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=r.mixin({},u,e.appendTo?u.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},u.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",r.getUniqueId()].join("-");var o=function(e){var t,n,s,o;t=i.element(e.input),n=i.element(c.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var a,u=c.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);s=i.element(u).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&s.html(r.templatify(e.templates.dropdownMenu)()),(o=t.clone().css(e.css.hint).css((a=t,{backgroundAttachment:a.css("background-attachment"),backgroundClip:a.css("background-clip"),backgroundColor:a.css("background-color"),backgroundImage:a.css("background-image"),backgroundOrigin:a.css("background-origin"),backgroundPosition:a.css("background-position"),backgroundRepeat:a.css("background-repeat"),backgroundSize:a.css("background-size")}))).val("").addClass(r.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),o.removeData&&o.removeData(),t.data("aaAttrs",{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(r.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(e){}return(n=e.appendTo?n.appendTo(i.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent()).prepend(e.hint?o:null).append(s),{wrapper:n,input:t,hint:o,menu:s}}(e);this.$node=o.wrapper;var a=this.$input=o.input;t=o.menu,n=o.hint,e.dropdownMenuContainer&&i.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),a.on("blur.aa",(function(e){var n=document.activeElement;r.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),r.defer((function(){a.focus()})))})),t.on("mousedown.aa",(function(e){e.preventDefault()})),this.eventBus=e.eventBus||new s({el:a}),this.dropdown=new l.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new l.Input({input:a,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}r.mixin(l.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];r.each(e.keyboardShortcuts,(function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)})),i.element(document).keydown((function(e){var r=e.target||e.srcElement,i=r.tagName;if(!r.isContentEditable&&"INPUT"!==i&&"SELECT"!==i&&"TEXTAREA"!==i){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}}))}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n)},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),r=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(r),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var r=e.left-t.left;this.$node.css("left",r+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion(),this.debug||(this.autoselectOnBlur&&e?this._select(e):this.autoselectOnBlur&&t?this._select(t):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,r;n=this.dropdown.getDatumForCursor(),r=this.dropdown.getDatumForTopSuggestion(),n?(this._select(n),t.preventDefault()):this.autoselect&&r&&(this._select(r),t.preventDefault())},_onTabKeyed:function(e,t){var n;this.tabAutocomplete?(n=this.dropdown.getDatumForCursor())?(this._select(n),t.preventDefault()):this._autocomplete(!0):this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,i,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=o.normalizeQuery(t),i=r.escapeRegExChars(n),(s=new RegExp("^(?:"+i+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,r,i;t=this.input.getHint(),n=this.input.getQuery(),r=e||this.input.isCursorAtEnd(),t&&n!==t&&r&&((i=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(i.value),this.eventBus.trigger("autocompleted",i.raw,i.datasetName))},_select:function(e){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName).isDefaultPrevented()&&(this.dropdown.close(),r.defer(r.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=r.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){var e,t,n;this.input.destroy(),this.dropdown.destroy(),e=this.$node,t=this.cssClasses,n=e.find(r.className(t.prefix,t.input)),r.each(n.data("aaAttrs"),(function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)})),n.detach().removeClass(r.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData("aaAttrs"),e.remove(),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),l.Dropdown=a,l.Input=o,l.sources=n(61),e.exports=l},function(e,t,n){"use strict";var r;r={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i=n(0),s=n(1),o=n(10);function a(e){var t,n,o,a,c,u=this;(e=e||{}).input||i.error("input is missing"),t=i.bind(this._onBlur,this),n=i.bind(this._onFocus,this),o=i.bind(this._onKeydown,this),a=i.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=i.noop),i.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(e){r[e.which||e.keyCode]||i.defer(i.bind(u._onInput,u,e))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(c=this.$input,s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:c.css("font-family"),fontSize:c.css("font-size"),fontStyle:c.css("font-style"),fontVariant:c.css("font-variant"),fontWeight:c.css("font-weight"),wordSpacing:c.css("word-spacing"),letterSpacing:c.css("letter-spacing"),textIndent:c.css("text-indent"),textRendering:c.css("text-rendering"),textTransform:c.css("text-transform")}).insertAfter(c))}function c(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},i.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=r[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,r,i;switch(e){case"tab":r=this.getHint(),i=this.getInputValue(),n=r&&r!==i&&!c(t);break;case"up":case"down":n=!c(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;switch(e){case"tab":n=!c(t);break;default:n=!0}return n},_checkInputValue:function(){var e,t,n,r,i;e=this.getInputValue(),r=e,i=this.query,n=!(!(t=a.normalizeQuery(r)===a.normalizeQuery(i))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,i.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},function(e,t,n){"use strict";var r,i,s,o=[n(54),n(55),n(56),n(57),n(58)],a=-1,c=[],u=!1;function l(){r&&i&&(r=!1,i.length?c=i.concat(c):a=-1,c.length&&h())}function h(){if(!r){u=!1,r=!0;for(var e=c.length,t=setTimeout(l);e;){for(i=c,c=[];i&&++a<e;)i[a].run();a=-1,e=c.length}i=null,a=-1,r=!1,clearTimeout(t)}}for(var d=-1,f=o.length;++d<f;)if(o[d]&&o[d].test&&o[d].test()){s=o[d].install(h);break}function p(e,t){this.fun=e,this.array=t}p.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},e.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),u||r||(u=!0,s())}},function(e,t,n){"use strict";(function(e){t.test=function(){return void 0!==e&&!e.browser},t.install=function(t){return function(){e.nextTick(t)}}}).call(t,n(9))},function(e,t,n){"use strict";(function(e){var n=e.MutationObserver||e.WebKitMutationObserver;t.test=function(){return n},t.install=function(t){var r=0,i=new n(t),s=e.document.createTextNode("");return i.observe(s,{characterData:!0}),function(){s.data=r=++r%2}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return!e.setImmediate&&void 0!==e.MessageChannel},t.install=function(t){var n=new e.MessageChannel;return n.port1.onmessage=t,function(){n.port2.postMessage(0)}}}).call(t,n(4))},function(e,t,n){"use strict";(function(e){t.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},t.install=function(t){return function(){var n=e.document.createElement("script");return n.onreadystatechange=function(){t(),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},e.document.documentElement.appendChild(n),t}}}).call(t,n(4))},function(e,t,n){"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},function(e,t,n){"use strict";var r=n(0),i=n(1),s=n(10),o=n(60),a=n(11);function c(e){var t,n,s,o=this;(e=e||{}).menu||r.error("menu is required"),r.isArray(e.datasets)||r.isObject(e.datasets)||r.error("1 or more datasets required"),e.datasets||r.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=r.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=r.bind(this._onSuggestionClick,this),n=r.bind(this._onSuggestionMouseEnter,this),s=r.bind(this._onSuggestionMouseLeave,this);var u=r.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=i.element(e.menu).on("mouseenter.aa",u,n).on("mouseleave.aa",u,s).on("click.aa",u,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=r.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=r.templatify(e.templates.empty),this.$empty=i.element('<div class="'+r.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=r.map(e.datasets,(function(t){return function(e,t,n){return new c.Dataset(r.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)})),r.each(this.datasets,(function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)})),e.templates&&e.templates.footer&&(this.templates.footer=r.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;i.element(window).resize((function(){l._redraw()}))}r.mixin(c.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",i.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=i.element(e.currentTarget);if(!t.hasClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(t,!1)}),0)}},_onSuggestionMouseLeave:function(e){e.relatedTarget&&i.element(e.relatedTarget).closest("."+r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0||(this._removeCursor(),this.trigger("cursorRemoved"))},_onRendered:function(e,t){if(this.isEmpty=r.every(this.datasets,(function(e){return e.isEmpty()})),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else r.any(this.datasets,(function(e){return e.templates&&e.templates.empty}))?t.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),t.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(r.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(r.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,r,i;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!=(r=((r=t.index(n)+e)+1)%(t.length+1)-1)?(r<-1&&(r=t.length-1),this._setCursor(i=t.eq(r),!0),this._ensureVisible(i)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,r,i;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),r=this.$menu.scrollTop(),i=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(r+t):i<n&&this.$menu.scrollTop(r+(n-i))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(e){this.$menu.css("ltr"===e?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(e){var t=null;return e.length&&(t={raw:o.extractDatum(e),value:o.extractValue(e),datasetName:o.extractDatasetName(e)}),t},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(e){r.each(this.datasets,(function(t){t.update(e)}))},empty:function(){r.each(this.datasets,(function(e){e.clear()})),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,r.each(this.datasets,(function(e){e.destroy()}))}}),c.Dataset=o,e.exports=c},function(e,t,n){"use strict";var r=n(0),i=n(1),s=n(17),o=n(11),a=n(10);function c(e){var t,n,a,c;(e=e||{}).templates=e.templates||{},e.source||r.error("missing source"),e.name&&(t=e.name,!/^[_a-zA-Z0-9-]+$/.test(t))&&r.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?r.getUniqueId():e.name,this.source=e.source,this.displayFn=(n=(n=e.display||e.displayKey)||"value",r.isFunction(n)?n:function(e){return e[n]}),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=(a=e.templates,c=this.displayFn,{empty:a.empty&&r.templatify(a.empty),header:a.header&&r.templatify(a.header),footer:a.footer&&r.templatify(a.footer),suggestion:a.suggestion||function(e){return"<p>"+c(e)+"</p>"}}),this.css=r.mixin({},o,e.appendTo?o.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},o.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var u=r.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(u+"-"+this.name).length>0?i.element(e.$menu.find(u+"-"+this.name)[0]):i.element(s.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}c.extractDatasetName=function(e){return i.element(e).data("aaDataset")},c.extractValue=function(e){return i.element(e).data("aaValue")},c.extractDatum=function(e){var t=i.element(e).data("aaDatum");return"string"==typeof t&&(t=JSON.parse(t)),t},r.mixin(c.prototype,a,{_render:function(e,t){if(this.$el){var n,o=this,a=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(c.apply(this,a)).prepend(o.templates.header?l.apply(this,a):null).append(o.templates.footer?h.apply(this,a):null);else if(n)this.$el.html(u.apply(this,a)).prepend(o.templates.header?l.apply(this,a):null).append(o.templates.footer?h.apply(this,a):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function c(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),o.templates.empty.apply(this,t)}function u(){var e,n,a=[].slice.call(arguments,0),c=this,u=s.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=i.element(u).css(this.css.suggestions),n=r.map(t,l),e.append.apply(e,n),e;function l(e){var t,n=s.suggestion.replace("%PREFIX%",c.cssClasses.prefix).replace("%SUGGESTION%",c.cssClasses.suggestion);return(t=i.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(o.templates.suggestion.apply(this,[e].concat(a)))).data("aaDataset",o.name),t.data("aaValue",o.displayFn(e)||void 0),t.data("aaDatum",JSON.stringify(e)),t.children().each((function(){i.element(this).css(c.css.suggestionChild)})),t}}function l(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),o.templates.header.apply(this,t)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),o.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,r=function(){n.canceled||n.source(e,t.bind(n))};this.debounce?(clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,r()}),this.debounce)):r()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered","")},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=c},function(e,t,n){"use strict";e.exports={hits:n(62),popularIn:n(63)}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),function(n,i){e.search(n,t,(function(e,t){e?r.error(e.message):i(t.hits,t)}))}}},function(e,t,n){"use strict";var r=n(0),i=n(18),s=n(19);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+i),!n.source)return r.error("Missing 'source' key");var c=r.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return r.error("Missing 'index' key");var u=n.index;return o=o||{},function(a,l){e.search(a,t,(function(e,a){if(e)r.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],d=r.mixin({hitsPerPage:0},n);delete d.source,delete d.index;var f=s(u.as._ua);return f&&f[0]>=3&&f[1]>20&&(t.additionalUA="autocomplete.js "+i),void u.search(c(h),d,(function(e,t){if(e)r.error(e.message);else{var n=[];if(o.includeAll){var i=o.allTitle||"All departments";n.push(r.mixin({facet:{value:i,count:t.nbHits}},r.cloneDeep(h)))}r.each(t.facets,(function(e,t){r.each(e,(function(e,i){n.push(r.mixin({facet:{facet:t,value:i,count:e}},r.cloneDeep(h)))}))}));for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}}))}l([])}}))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="algolia-docsearch-suggestion",i={suggestion:'\n  <a class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    "\n    aria-label="Link to the result"\n    href="{{{url}}}"\n    >\n    <div class="'+r+'--category-header">\n        <span class="'+r+'--category-header-lvl0">{{{category}}}</span>\n    </div>\n    <div class="'+r+'--wrapper">\n      <div class="'+r+'--subcategory-column">\n        <span class="'+r+'--subcategory-column-text">{{{subcategory}}}</span>\n      </div>\n      {{#isTextOrSubcategoryNonEmpty}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--subcategory-inline">{{{subcategory}}}</div>\n        <div class="'+r+'--title">{{{title}}}</div>\n        {{#text}}<div class="'+r+'--text">{{{text}}}</div>{{/text}}\n      </div>\n      {{/isTextOrSubcategoryNonEmpty}}\n    </div>\n  </a>\n  ',suggestionSimple:'\n  <div class="'+r+"\n    {{#isCategoryHeader}}"+r+"__main{{/isCategoryHeader}}\n    {{#isSubCategoryHeader}}"+r+'__secondary{{/isSubCategoryHeader}}\n    suggestion-layout-simple\n  ">\n    <div class="'+r+'--category-header">\n        {{^isLvl0}}\n        <span class="'+r+"--category-header-lvl0 "+r+'--category-header-item">{{{category}}}</span>\n          {{^isLvl1}}\n          {{^isLvl1EmptyOrDuplicate}}\n          <span class="'+r+"--category-header-lvl1 "+r+'--category-header-item">\n              {{{subcategory}}}\n          </span>\n          {{/isLvl1EmptyOrDuplicate}}\n          {{/isLvl1}}\n        {{/isLvl0}}\n        <div class="'+r+"--title "+r+'--category-header-item">\n            {{#isLvl2}}\n                {{{title}}}\n            {{/isLvl2}}\n            {{#isLvl1}}\n                {{{subcategory}}}\n            {{/isLvl1}}\n            {{#isLvl0}}\n                {{{category}}}\n            {{/isLvl0}}\n        </div>\n    </div>\n    <div class="'+r+'--wrapper">\n      {{#text}}\n      <div class="'+r+'--content">\n        <div class="'+r+'--text">{{{text}}}</div>\n      </div>\n      {{/text}}\n    </div>\n  </div>\n  ',footer:'\n    <div class="algolia-docsearch-footer">\n      Search by <a class="algolia-docsearch-footer--logo" href="https://www.algolia.com/docsearch">Algolia</a>\n    </div>\n  ',empty:'\n  <div class="'+r+'">\n    <div class="'+r+'--wrapper">\n        <div class="'+r+"--content "+r+'--no-results">\n            <div class="'+r+'--title">\n                <div class="'+r+'--text">\n                    No results found for query <b>"{{query}}"</b>\n                </div>\n            </div>\n        </div>\n    </div>\n  </div>\n  ',searchBox:'\n  <form novalidate="novalidate" onsubmit="return false;" class="searchbox">\n    <div role="search" class="searchbox__wrapper">\n      <input id="docsearch" type="search" name="search" placeholder="Search the docs" autocomplete="off" required="required" class="searchbox__input"/>\n      <button type="submit" title="Submit your search query." class="searchbox__submit" >\n        <svg width=12 height=12 role="img" aria-label="Search">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-search-13"></use>\n        </svg>\n      </button>\n      <button type="reset" title="Clear the search query." class="searchbox__reset hide">\n        <svg width=12 height=12 role="img" aria-label="Reset">\n          <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#sbx-icon-clear-3"></use>\n        </svg>\n      </button>\n    </div>\n</form>\n\n<div class="svg-icons" style="height: 0; width: 0; position: absolute; visibility: hidden">\n  <svg xmlns="http://www.w3.org/2000/svg">\n    <symbol id="sbx-icon-clear-3" viewBox="0 0 40 40"><path d="M16.228 20L1.886 5.657 0 3.772 3.772 0l1.885 1.886L20 16.228 34.343 1.886 36.228 0 40 3.772l-1.886 1.885L23.772 20l14.342 14.343L40 36.228 36.228 40l-1.885-1.886L20 23.772 5.657 38.114 3.772 40 0 36.228l1.886-1.885L16.228 20z" fill-rule="evenodd"></symbol>\n    <symbol id="sbx-icon-search-13" viewBox="0 0 40 40"><path d="M26.806 29.012a16.312 16.312 0 0 1-10.427 3.746C7.332 32.758 0 25.425 0 16.378 0 7.334 7.333 0 16.38 0c9.045 0 16.378 7.333 16.378 16.38 0 3.96-1.406 7.593-3.746 10.426L39.547 37.34c.607.608.61 1.59-.004 2.203a1.56 1.56 0 0 1-2.202.004L26.807 29.012zm-10.427.627c7.322 0 13.26-5.938 13.26-13.26 0-7.324-5.938-13.26-13.26-13.26-7.324 0-13.26 5.936-13.26 13.26 0 7.322 5.936 13.26 13.26 13.26z" fill-rule="evenodd"></symbol>\n  </svg>\n</div>\n  '};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=n(20),o=(r=s)&&r.__esModule?r:{default:r},a={mergeKeyWithParent:function(e,t){if(void 0===e[t])return e;if("object"!==i(e[t]))return e;var n=o.default.extend({},e,e[t]);return delete n[t],n},groupBy:function(e,t){var n={};return o.default.each(e,(function(e,r){if(void 0===r[t])throw new Error("[groupBy]: Object has no key "+t);var i=r[t];"string"==typeof i&&(i=i.toLowerCase()),Object.prototype.hasOwnProperty.call(n,i)||(n[i]=[]),n[i].push(r)})),n},values:function(e){return Object.keys(e).map((function(t){return e[t]}))},flatten:function(e){var t=[];return e.forEach((function(e){Array.isArray(e)?e.forEach((function(e){t.push(e)})):t.push(e)})),t},flattenAndFlagFirst:function(e,t){var n=this.values(e).map((function(e){return e.map((function(e,n){return e[t]=0===n,e}))}));return this.flatten(n)},compact:function(e){var t=[];return e.forEach((function(e){e&&t.push(e)})),t},getHighlightedValue:function(e,t){return e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t]},getSnippetedValue:function(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];var n=e._snippetResult[t].value;return n[0]!==n[0].toUpperCase()&&(n="…"+n),-1===[".","!","?"].indexOf(n[n.length-1])&&(n+="…"),n},deepClone:function(e){return JSON.parse(JSON.stringify(e))}};t.default=a}])},e.exports=r()},function(e,t,n){var r=n(10);r.registerLanguage("bash",n(11)),r.registerLanguage("css",n(12)),r.registerLanguage("markdown",n(13)),r.registerLanguage("diff",n(14)),r.registerLanguage("javascript",n(15)),r.registerLanguage("json",n(16)),r.registerLanguage("yaml",n(17)),r.registerLanguage("xml",n(18)),r.registerLanguage("html",n(19)),r.registerLanguage("go",(function(e){var t={keyword:"code output note warning break default func interface select case map struct chan else goto package switch const fallthrough if range end type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune id autoplay Get",literal:"file download copy true false iota nil Pages with",built_in:"append cap close complex highlight copy imag len make new panic print println real recover delete Site Data tweet youtube ref relref vimeo instagram gist figure innershortcode"};return{aliases:["golang","hugo"],k:t,i:"</",c:[e.CLCM,e.CBCM,{cN:"string",v:[e.QSM,{b:"'",e:"[^\\\\]'"},{b:"`",e:"`"}]},{cN:"number",v:[{b:e.CNR+"[dflsi]",r:1},e.CNM]},{b:/:=/},{cN:"function",bK:"func",e:/\s*\{/,eE:!0,c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:t,i:/["']/}]}]}})),r.initHighlightingOnLoad()},function(e,t,n){!function(e){"object"==typeof window&&window||"object"==typeof self&&self;(function(e){var t=[],n=Object.keys,r={},i={},s=/^(no-?highlight|plain|text)$/i,o=/\blang(?:uage)?-([\w-]+)\b/i,a=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,c={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function u(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function l(e){return e.nodeName.toLowerCase()}function h(e,t){var n=e&&e.exec(t);return n&&0===n.index}function d(e){return s.test(e)}function f(e){var t,n={},r=Array.prototype.slice.call(arguments,1);for(t in e)n[t]=e[t];return r.forEach((function(e){for(t in e)n[t]=e[t]})),n}function p(e){var t=[];return function e(n,r){for(var i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),l(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}function g(e){function t(e){return e&&e.source||e}function r(n,r){return new RegExp(t(n),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}!function i(s,o){if(!s.compiled){if(s.compiled=!0,s.keywords=s.keywords||s.beginKeywords,s.keywords){var a={},c=function(t,n){e.case_insensitive&&(n=n.toLowerCase()),n.split(" ").forEach((function(e){var n=e.split("|");a[n[0]]=[t,n[1]?Number(n[1]):1]}))};"string"==typeof s.keywords?c("keyword",s.keywords):n(s.keywords).forEach((function(e){c(e,s.keywords[e])})),s.keywords=a}s.lexemesRe=r(s.lexemes||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")\\b"),s.begin||(s.begin=/\B|\b/),s.beginRe=r(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=r(s.end)),s.terminator_end=t(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(s.illegalRe=r(s.illegal)),null==s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=Array.prototype.concat.apply([],s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(t){return f(e,{variants:null},t)}))),e.cached_variants||e.endsWithParent&&[f(e)]||[e]}("self"===e?s:e)}))),s.contains.forEach((function(e){i(e,s)})),s.starts&&i(s.starts,o);var u=s.contains.map((function(e){return e.beginKeywords?"\\.?("+e.begin+")\\.?":e.begin})).concat([s.terminator_end,s.illegal]).map(t).filter(Boolean);s.terminators=u.length?r(u.join("|"),!0):{exec:function(){return null}}}}(e)}function m(e,t,n,i){function s(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function o(e,t){var n=p.case_insensitive?t[0].toLowerCase():t[0];return e.keywords.hasOwnProperty(n)&&e.keywords[n]}function a(e,t,n,r){var i='<span class="'+(r?"":c.classPrefix);return(i+=e+'">')+t+(n?"":"</span>")}function l(){E+=null!=b.subLanguage?function(){var e="string"==typeof b.subLanguage;if(e&&!r[b.subLanguage])return u(x);var t=e?m(b.subLanguage,x,!0,w[b.subLanguage]):v(x,b.subLanguage.length?b.subLanguage:void 0);return b.relevance>0&&(S+=t.relevance),e&&(w[b.subLanguage]=t.top),a(t.language,t.value,!1,!0)}():function(){var e,t,n,r;if(!b.keywords)return u(x);for(r="",t=0,b.lexemesRe.lastIndex=0,n=b.lexemesRe.exec(x);n;)r+=u(x.substring(t,n.index)),(e=o(b,n))?(S+=e[1],r+=a(e[0],u(n[0]))):r+=u(n[0]),t=b.lexemesRe.lastIndex,n=b.lexemesRe.exec(x);return r+u(x.substr(t))}(),x=""}function d(e){E+=e.className?a(e.className,"",!0):"",b=Object.create(e,{parent:{value:b}})}function f(e,t){if(x+=e,null==t)return l(),0;var r=function(e,t){var n,r;for(n=0,r=t.contains.length;n<r;n++)if(h(t.contains[n].beginRe,e))return t.contains[n].endSameAsBegin&&(t.contains[n].endRe=s(t.contains[n].beginRe.exec(e)[0])),t.contains[n]}(t,b);if(r)return r.skip?x+=t:(r.excludeBegin&&(x+=t),l(),r.returnBegin||r.excludeBegin||(x=t)),d(r),r.returnBegin?0:t.length;var i=function e(t,n){if(h(t.endRe,n)){for(;t.endsParent&&t.parent;)t=t.parent;return t}if(t.endsWithParent)return e(t.parent,n)}(b,t);if(i){var o=b;o.skip?x+=t:(o.returnEnd||o.excludeEnd||(x+=t),l(),o.excludeEnd&&(x=t));do{b.className&&(E+="</span>"),b.skip||b.subLanguage||(S+=b.relevance),b=b.parent}while(b!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),d(i.starts)),o.returnEnd?0:t.length}if(function(e,t){return!n&&h(t.illegalRe,e)}(t,b))throw new Error('Illegal lexeme "'+t+'" for mode "'+(b.className||"<unnamed>")+'"');return x+=t,t.length||1}var p=_(e);if(!p)throw new Error('Unknown language: "'+e+'"');g(p);var y,b=i||p,w={},E="";for(y=b;y!==p;y=y.parent)y.className&&(E=a(y.className,"",!0)+E);var x="",S=0;try{for(var C,A,N=0;b.terminators.lastIndex=N,C=b.terminators.exec(t);)A=f(t.substring(N,C.index),C[0]),N=C.index+A;for(f(t.substr(N)),y=b;y.parent;y=y.parent)y.className&&(E+="</span>");return{relevance:S,value:E,language:e,top:b}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:u(t)};throw e}}function v(e,t){t=t||c.languages||n(r);var i={relevance:0,value:u(e)},s=i;return t.filter(_).filter(E).forEach((function(t){var n=m(t,e,!1);n.language=t,n.relevance>s.relevance&&(s=n),n.relevance>i.relevance&&(s=i,i=n)})),s.language&&(i.second_best=s),i}function y(e){return c.tabReplace||c.useBR?e.replace(a,(function(e,t){return c.useBR&&"\n"===e?"<br>":c.tabReplace?t.replace(/\t/g,c.tabReplace):""})):e}function b(e){var n,r,s,a,h,f=function(e){var t,n,r,i,s=e.className+" ";if(s+=e.parentNode?e.parentNode.className:"",n=o.exec(s))return _(n[1])?n[1]:"no-highlight";for(t=0,r=(s=s.split(/\s+/)).length;t<r;t++)if(d(i=s[t])||_(i))return i}(e);d(f)||(c.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n"):n=e,h=n.textContent,s=f?m(f,h,!0):v(h),(r=p(n)).length&&((a=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=s.value,s.value=function(e,n,r){var i=0,s="",o=[];function a(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset<n[0].offset?e:n:"start"===n[0].event?e:n:e.length?e:n}function c(e){s+="<"+l(e)+t.map.call(e.attributes,(function(e){return" "+e.nodeName+'="'+u(e.value).replace('"',"&quot;")+'"'})).join("")+">"}function h(e){s+="</"+l(e)+">"}function d(e){("start"===e.event?c:h)(e.node)}for(;e.length||n.length;){var f=a();if(s+=u(r.substring(i,f[0].offset)),i=f[0].offset,f===e){o.reverse().forEach(h);do{d(f.splice(0,1)[0]),f=a()}while(f===e&&f.length&&f[0].offset===i);o.reverse().forEach(c)}else"start"===f[0].event?o.push(f[0].node):o.pop(),d(f.splice(0,1)[0])}return s+u(r.substr(i))}(r,p(a),h)),s.value=y(s.value),e.innerHTML=s.value,e.className=function(e,t,n){var r=t?i[t]:n,s=[e.trim()];return e.match(/\bhljs\b/)||s.push("hljs"),-1===e.indexOf(r)&&s.push(r),s.join(" ").trim()}(e.className,f,s.language),e.result={language:s.language,re:s.relevance},s.second_best&&(e.second_best={language:s.second_best.language,re:s.second_best.relevance}))}function w(){if(!w.called){w.called=!0;var e=document.querySelectorAll("pre code");t.forEach.call(e,b)}}function _(e){return e=(e||"").toLowerCase(),r[e]||r[i[e]]}function E(e){var t=_(e);return t&&!t.disableAutodetect}e.highlight=m,e.highlightAuto=v,e.fixMarkup=y,e.highlightBlock=b,e.configure=function(e){c=f(c,e)},e.initHighlighting=w,e.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",w,!1),addEventListener("load",w,!1)},e.registerLanguage=function(t,n){var s=r[t]=n(e);s.aliases&&s.aliases.forEach((function(e){i[e]=t}))},e.listLanguages=function(){return n(r)},e.getLanguage=_,e.autoDetection=E,e.inherit=f,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,n,r){var i=e.inherit({className:"comment",begin:t,end:n,contains:[]},r||{});return i.contains.push(e.PHRASAL_WORDS_MODE),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),i},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0}})(t)}()},function(e,t){e.exports=function(e){var t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,n,{className:"string",begin:/'/,end:/'/},t]}}},function(e,t){e.exports=function(e){var t={begin:/[A-Z\_\.\-]+\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{begin:"@",end:"[{;]",illegal:/:/,contains:[{className:"keyword",begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,t]}]}}},function(e,t){e.exports=function(e){return{aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"quote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"^```w*s*$",end:"^```s*$"},{begin:"`.+?`"},{begin:"^( {4}|\t)",end:"$",relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}},function(e,t){e.exports=function(e){return{aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}},function(e,t){e.exports=function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",n={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:n,contains:[]},s={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,r,e.REGEXP_MODE];var o=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js","jsx"],keywords:n,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,contains:o}]}]},{begin:/</,end:/(\/\w+|\w+\/)>/,subLanguage:"xml",contains:[{begin:/<\w+\s*\/>/,skip:!0},{begin:/<\w+/,end:/(\/\w+|\w+\/)>/,skip:!0,contains:[{begin:/<\w+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:o}],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}}},function(e,t){e.exports=function(e){var t={literal:"true false null"},n=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:n,keywords:t},i={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})],illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return n.splice(n.length,0,i,s),{contains:n,keywords:t,illegal:"\\S"}}},function(e,t){e.exports=function(e){var t="[a-zA-Z_][\\w\\-]*",n={className:"attr",variants:[{begin:"^[ \\-]*"+t+":"},{begin:'^[ \\-]*"'+t+'":'},{begin:"^[ \\-]*'"+t+"':"}]},r={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]}]};return{case_insensitive:!0,aliases:["yml","YAML","yaml"],contains:[n,{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>] *$",returnEnd:!0,contains:r.contains,end:n.variants[0].begin},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!"+e.UNDERSCORE_IDENT_RE},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"^ *-",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},e.C_NUMBER_MODE,r]}}},function(e,t){e.exports=function(e){var t={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],case_insensitive:!0,contains:[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[t],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[t],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml"]}},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},t]}]}}},function(e,t){e.exports=function(e){var t={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT("{{!(--)?","(--)?}}"),{className:"template-tag",begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,keywords:t,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,keywords:t}]}}},function(e,t,n){n(0),n(21)},function(e,t,n){!function(t,r){var i=function(){r(t.lazySizes),t.removeEventListener("lazyunveilread",i,!0)};r=r.bind(null,t,t.document),e.exports?r(n(0)):t.lazySizes?i():t.addEventListener("lazyunveilread",i,!0)}(window,(function(e,t,n){"use strict";var r,i,s={};function o(e,n){if(!s[e]){var r=t.createElement(n?"link":"script"),i=t.getElementsByTagName("script")[0];n?(r.rel="stylesheet",r.href=e):r.src=e,s[e]=!0,s[r.src||r.href]=!0,i.parentNode.insertBefore(r,i)}}t.addEventListener&&(i=/\(|\)|\s|'/,r=function(e,n){var r=t.createElement("img");r.onload=function(){r.onload=null,r.onerror=null,r=null,n()},r.onerror=r.onload,r.src=e,r&&r.complete&&r.onload&&r.onload()},addEventListener("lazybeforeunveil",(function(e){var t,s,a;e.detail.instance==n&&(e.defaultPrevented||("none"==e.target.preload&&(e.target.preload="auto"),(t=e.target.getAttribute("data-link"))&&o(t,!0),(t=e.target.getAttribute("data-script"))&&o(t),(t=e.target.getAttribute("data-require"))&&(n.cfg.requireJs?n.cfg.requireJs([t]):o(t)),(s=e.target.getAttribute("data-bg"))&&(e.detail.firesLoad=!0,r(s,(function(){e.target.style.backgroundImage="url("+(i.test(s)?JSON.stringify(s):s)+")",e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)}))),(a=e.target.getAttribute("data-poster"))&&(e.detail.firesLoad=!0,r(a,(function(){e.target.poster=a,e.detail.firesLoad=!1,n.fire(e.target,"_lazyloaded",{},!0,!0)})))))}),!1))}))},function(e,t){for(var n=document.getElementsByClassName("js-toggle"),r=0;r<n.length;r++)n[r].addEventListener("click",i,!1);function i(){for(var e=this.dataset.target.split(" "),t=document.querySelector(".mobilemenu:not(.dn)"),n=document.querySelector(".desktopmenu:not(.dn)"),r=document.querySelector(".desktopmenu:not(.dn)"),i=0;i<e.length;i++){var s=document.querySelectorAll(e[i]);[].forEach.call(s,(function(e){return e.classList.contains("dn")?e.classList.remove("dn"):e.classList.add("dn"),!1})),t&&t.classList.add("dn"),n&&n.classList.add("dn"),r&&r.classList.remove("db")}}},function(e,t,n){n(24)},function(e,t,n){!function(){"use strict";var e,t,n="data-scrolldir",r="down",i=document.documentElement,s=window,o=document.body,a=Array(32),c=0;function u(){var u=s.scrollY||s.pageYOffset,l=e.timeStamp,h="down"===r?Math.max:Math.min,d=o.scrollHeight-s.innerHeight;if(u=Math.max(0,u),u=Math.min(d,u),a.unshift({y:u,t:l}),a.pop(),u===h(t,u))return c=l,void(t=u);var f=l-512;if(c<f){t=u;for(var p=0;p<32&&a[p]&&!(a[p].t<f);p+=1)t=h(t,a[p].y)}Math.abs(u-t)>64&&(t=u,c=l,r="down"===r?"up":"down",i.setAttribute(n,r))}function l(t){return e=t,s.requestAnimationFrame(u)}t=s.scrollY||s.pageYOffset,i.setAttribute(n,r),s.addEventListener("scroll",l)}()},function(e,t){!function(){"use strict";if("querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach){var e=document.querySelectorAll("#TableOfContents ul li a");[].forEach.call(e,(function(e){e.addEventListener("click",(function(t){t.preventDefault();var n=e.getAttribute("href"),r=document.querySelector(n),i=e.getAttribute("data-speed");r&&function(e,t){var n,r=window.pageYOffset,i=e.offsetTop,s=(i-r)/(t/16);n=s>=0?function(){var e=window.pageYOffset;(e>=i-s||window.innerHeight+e>=document.body.offsetHeight)&&clearInterval(o)}:function(){window.pageYOffset<=(i||0)&&clearInterval(o)};var o=setInterval((function(){window.scrollBy(0,s),n()}),16)}(r,i||500)}),!1)}))}}()},function(e,t){var n,r=document.querySelectorAll("[data-toggle-tab]"),i=document.querySelectorAll("[data-pane]");function s(e){if(e.target){e.preventDefault();var t=e.currentTarget.getAttribute("data-toggle-tab")}else t=e;window.localStorage&&window.localStorage.setItem("configLangPref",t);for(var n=document.querySelectorAll("[data-toggle-tab='"+t+"']"),s=document.querySelectorAll("[data-pane='"+t+"']"),o=0;o<r.length;o++)r[o].classList.remove("active"),i[o].classList.remove("active");for(o=0;o<n.length;o++)n[o].classList.add("active"),s[o].classList.add("active")}for(n=0;n<r.length;n++)r[n].addEventListener("click",s);window.localStorage.getItem("configLangPref")&&s(window.localStorage.getItem("configLangPref"))},function(e,t){document.documentElement.className=document.documentElement.className.replace(/\bno-js\b/,"js")}]);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6f944aee3157b7b9740e49626d09256f64f0b535
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}
++{{- if and (ge .Level 2) (le .Level 4) }}{{" " -}}
++<a class="header-link" href="#{{ .Anchor | safeURL }}"><svg class="fill-current o-60 hover-accent-color-light" height="22px" viewBox="0 0 24 24" width="22px" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg></a>
++{{- end -}}
++</h{{ .Level }}>
index ecd585165bc29f48165b328ff65aa8edc969ea2e,0000000000000000000000000000000000000000..a83d3f662ae39e6ff50e35ddf021370f7547d81d
mode 100644,000000..100644
--- /dev/null
@@@ -1,73 -1,0 +1,72 @@@
 +<!DOCTYPE html>
 +<html class="no-js" lang="{{ with $.Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
 +
 +<head>
 +  <meta charset="utf-8">
 +  {{/* https://www.zachleat.com/web/preload/ */}}
 +  <link rel="preload" href="{{ "fonts/muli-latin-200.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +  <link rel="preload" href="{{ "fonts/muli-latin-400.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +  <link rel="preload" href="{{ "fonts/muli-latin-800.woff2" | absURL }}" as="font" type="font/woff2" crossorigin>
 +
 +  <meta http-equiv="X-UA-Compatible" content="IE=edge">
 +  {{/* NOTE: the Site's title, and if there is a page title, that is set too */}}
 +  <title>{{ block "title" . }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>
 +
 +  <meta name="viewport" content="width=device-width,minimum-scale=1">
 +  {{ hugo.Generator }}
 +
 +  {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}
 +  <meta name="robots" content="index, follow">
 +  {{ else }}
 +  <meta name="robots" content="noindex, nofollow">
 +  {{ end }}
 +
 +  {{ range .AlternativeOutputFormats -}}
 +  <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
 +  {{ end -}}
 +
 +  {{ $isDev := eq hugo.Environment "development" }}
 +  {{ $stylesheet := resources.Get "output/css/app.css"  }}
 +  {{ if not $isDev }}
 +  {{ $stylesheet = $stylesheet | minify | fingerprint }}
 +  {{ end }}
 +  {{ with $stylesheet }}
 +  {{ if $isDev }}
 +  <link rel="stylesheet" href="{{ .RelPermalink }}" crossorigin="anonymous">
 +  {{ else }}
 +  <link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
 +  {{ end }}
 +  {{ $.Scratch.Set "stylesheet" . }}
 +  {{end}}
 +
 +
 +  {{ block "scripts" . }}
 +  {{- partial "site-scripts.html" . -}}
 +  {{ end }}
 +  {{ partial "site-manifest.html" . }}
 +  {{- partial "head-additions.html" . -}}
 +  {{- template "_internal/opengraph.html" . -}}
 +  {{- template "_internal/schema.html" . -}}
 +  {{- template "_internal/twitter_cards.html" . -}}
 +
 +  {{ if eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")  }}
 +  {{ partial "gtag" . }}
 +  {{ end }}
 +
 +
 +
 +
 +</head>
 +
 +<body class="ma0 sans-serif bg-primary-color-light{{ with getenv "HUGO_ENV" }} {{ . }}{{ end }}">
 +  {{ block "nav" . }}{{ partial "site-nav.html" . }}{{ end }}
 +  {{ block "header" . }}{{ end }}
 +  <main role="main" class="content-with-sidebar min-vh-100 pb7 pb0-ns">
 +    {{ block "main" . }}{{ end }}
 +  </main>
 +
 +  {{ block "footer" . }}{{ partialCached "site-footer.html" . }}{{ end }}
 +
 +</body>
 +
 +</html>
index 9c910ea16313a099c0cf3e9745a634bbf0cbc1da,0000000000000000000000000000000000000000..0809f3f26f82fd01171f7bc6e043ec9b9d65e6d9
mode 100644,000000..100644
--- /dev/null
@@@ -1,1 -1,0 +1,1 @@@
- # github.com/gohugoio/gohugoioTheme v0.0.0-20200128164921-1d0bc5482051
++# github.com/gohugoio/gohugoioTheme v0.0.0-20200518165806-0095b7b902a7
index 5f46294bf584ff8a29f50f5868e47a508b83f893,0000000000000000000000000000000000000000..77e8770bb86fbedb0103fadedacffa523909d2e2
mode 100644,000000..100644
--- /dev/null
@@@ -1,79 -1,0 +1,71 @@@
- # MARKDOWN
- ## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday
- [blackfriday]
-       plainIDAnchors = true
-   # See https://github.com/gohugoio/hugo/issues/2424
-       hrefTargetBlank = false
-   angledQuotes = false
-   latexDashes = true
 +baseURL = "https://gohugo.io/"
 +paginate =  100
 +defaultContentLanguage = "en"
 +enableEmoji = true
 +# Set the unicode character used for the "return" link in page footnotes.
 +footnotereturnlinkcontents = "↩"
 +languageCode = "en-us"
 +title = "Hugo"
 +
 +
 +googleAnalytics = "UA-7131036-4"
 +
 +pluralizeListTitles = false
 +
 +# We do redirects via Netlify's _redirects file, generated by Hugo (see "outputs" below).
 +disableAliases = true
 +
 +[module]
 +  [module.hugoVersion]
 +    min = "0.56.0"
 +  [[module.imports]]
 +    path = "github.com/gohugoio/gohugoioTheme"
 +
 +[outputs]
 +home = [ "HTML", "RSS", "REDIR", "HEADERS" ]
 +section = [ "HTML", "RSS"]
 +
 +[mediaTypes]
 +[mediaTypes."text/netlify"]
 +delimiter = ""
 +
 +[outputFormats]
 +[outputFormats.REDIR]
 +mediatype = "text/netlify"
 +baseName = "_redirects"
 +isPlainText = true
 +notAlternative = true
 +[outputFormats.HEADERS]
 +mediatype = "text/netlify"
 +baseName = "_headers"
 +isPlainText = true
 +notAlternative = true
 +
 +[related]
 +
 +threshold = 80
 +includeNewer = true
 +toLower = false
 +
 +[[related.indices]]
 +name = "keywords"
 +weight = 100
 +[[related.indices]]
 +name  = "date"
 +weight = 10
 +pattern = "2006"
 +
 +[social]
 +twitter = "GoHugoIO"
 +
 +
 +[imaging]
 +# See https://github.com/disintegration/imaging
 +# CatmullRom is a sharp bicubic filter which should fit the docs site well with its many screenshots.
 +# Note that you can also set this per image processing.
 +resampleFilter = "CatmullRom"
 +
 +# Default JPEG quality setting. Default is 75.
 +quality = 75
 +
 +anchor = "smart"
index ec0a08f5667bb07f98f513b9369f1bf54d1810e2,0000000000000000000000000000000000000000..81b712c0a3e8e64c0959ece07cf88ff58a941cd5
mode 100644,000000..100644
--- /dev/null
@@@ -1,97 -1,0 +1,91 @@@
- [markup]
- [markup.highlight]
- style = "trac"
- lineNumbersInTable = true
- noClasses = false
 +baseURL = "https://gohugo.io/"
 +paginate = 100
 +defaultContentLanguage = "en"
 +enableEmoji = true
 +# Set the unicode character used for the "return" link in page footnotes.
 +footnotereturnlinkcontents = "↩"
 +languageCode = "en-us"
 +title = "Hugo"
 +
 +googleAnalytics = "UA-7131036-4"
 +
 +pluralizeListTitles = false
 +
 +# We do redirects via Netlify's _redirects file, generated by Hugo (see "outputs" below).
 +disableAliases = true
 +
 +[outputs]
 +home = [ "HTML", "RSS", "REDIR", "HEADERS" ]
 +section = [ "HTML", "RSS"]
 +
 +[mediaTypes]
 +[mediaTypes."text/netlify"]
 +delimiter = ""
 +
 +[outputFormats]
 +[outputFormats.REDIR]
 +mediatype = "text/netlify"
 +baseName = "_redirects"
 +isPlainText = true
 +notAlternative = true
 +[outputFormats.HEADERS]
 +mediatype = "text/netlify"
 +baseName = "_headers"
 +isPlainText = true
 +notAlternative = true
 +
 +[caches]
 +[caches.getjson]
 +dir = ":cacheDir/:project"
 +maxAge = -1
 +[caches.getcsv]
 +dir = ":cacheDir/:project"
 +maxAge = -1
 +[caches.images]
 +dir = ":resourceDir/_gen"
 +maxAge = -1
 +[caches.assets]
 +dir = ":resourceDir/_gen"
 +maxAge = -1
 +
 +
 +[related]
 +
 +threshold = 80
 +includeNewer = true
 +toLower = false
 +
 +[[related.indices]]
 +name = "keywords"
 +weight = 100
 +[[related.indices]]
 +name = "date"
 +weight = 10
 +pattern = "2006"
 +
 +[social]
 +twitter = "GoHugoIO"
 +
 +
 +# MARKDOWN
 +## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday
 +[blackfriday]
 +plainIDAnchors = true
 +# See https://github.com/gohugoio/hugo/issues/2424
 +hrefTargetBlank = false
 +angledQuotes = false
 +latexDashes = true
 +
 +[imaging]
 +# See https://github.com/disintegration/imaging
 +# CatmullRom is a sharp bicubic filter which should fit the docs site well with its many screenshots.
 +# Note that you can also set this per image processing.
 +resampleFilter = "CatmullRom"
 +
 +# Default JPEG quality setting. Default is 75.
 +quality = 75
 +
 +anchor = "smart"
 +
 +[taxonomies]
 +category = "categories"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f237f35264a33651a87b5ee718fb5766f8c2a2df
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++defaultMarkdownHandler = "goldmark"
++
++[highlight]
++style = "trac"
++lineNumbersInTable = true
++noClasses = false
++
index a641080721f88753fd2000eba5c5f6fe32a63280,0000000000000000000000000000000000000000..d7a467d1033ffc65d0b83f9c0423de83392b34e5
mode 100644,000000..100644
--- /dev/null
@@@ -1,77 -1,0 +1,77 @@@
- * [JustComments](https://just-comments.com) (Open Source, available as a service, can be self-hosted)
 +---
 +title: Comments
 +linktitle: Comments
 +description: Hugo ships with an internal Disqus template, but this isn't the only commenting system that will work with your new Hugo website.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-09
 +keywords: [sections,content,organization]
 +categories: [project organization, fundamentals]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 140
 +weight: 140   #rem
 +draft: false
 +aliases: [/extras/comments/]
 +toc: true
 +---
 +
 +Hugo ships with support for [Disqus](https://disqus.com/), a third-party service that provides comment and community capabilities to websites via JavaScript.
 +
 +Your theme may already support Disqus, but if not, it is easy to add to your templates via [Hugo's built-in Disqus partial][disquspartial].
 +
 +## Add Disqus
 +
 +Hugo comes with all the code you need to load Disqus into your templates. Before adding Disqus to your site, you'll need to [set up an account][disqussetup].
 +
 +### Configure Disqus
 +
 +Disqus comments require you set a single value in your [site's configuration file][configuration] like so:
 +
 +{{< code-toggle copy="false" >}}
 +disqusShortname = "yourdiscussshortname"
 +{{</ code-toggle >}}
 +
 +For many websites, this is enough configuration. However, you also have the option to set the following in the [front matter][] of a single content file:
 +
 +* `disqus_identifier`
 +* `disqus_title`
 +* `disqus_url`
 +
 +### Render Hugo's Built-in Disqus Partial Template
 +
 +Disqus has its own [internal template](https://gohugo.io/templates/internal/#disqus) available, to render it add the following code where you want comments to appear:
 +
 +```
 +{{ template "_internal/disqus.html" . }}
 +```
 +
 +## Comments Alternatives
 +
 +There are a few alternatives to commenting on static sites for those who do not want to use Disqus:
 +
 +* [Staticman](https://staticman.net/)
 +* [Talkyard](https://www.talkyard.io/blog-comments) (Open source, & serverless hosting)
 +* [IntenseDebate](https://intensedebate.com/)
 +* [Graph Comment][]
 +* [Muut](https://muut.com/)
 +* [isso](https://posativ.org/isso/) (Self-hosted, Python)
 +    * [Tutorial on Implementing Isso with Hugo][issotutorial]
 +* [Utterances](https://utteranc.es/) (Open source, GitHub comments widget built on GitHub issues)
 +* [Remark](https://github.com/umputun/remark) (Open source, Golang, Easy to run docker)
 +* [Commento](https://commento.io/) (Open Source, available as a service, local install, or docker image)
++* [Hyvor Talk](https://talk.hyvor.com/) (Available as a service)
 +
 +
 +[configuration]: /getting-started/configuration/
 +[disquspartial]: /templates/partials/#disqus
 +[disqussetup]: https://disqus.com/profile/signup/
 +[forum]: https://discourse.gohugo.io
 +[front matter]: /content-management/front-matter/
 +[Graph Comment]: https://graphcomment.com/
 +[kaijuissue]: https://github.com/spf13/kaiju/issues/new
 +[issotutorial]: https://stiobhart.net/2017-02-24-isso-comments/
 +[partials]: /templates/partials/
 +[MongoDB]: https://www.mongodb.com/
 +[tweet]: https://twitter.com/spf13
index e0e0c77cb72b7deaaf7d6845a52f1af1f1ffbacd,0000000000000000000000000000000000000000..075953093f53668b34497c29987f6ceaf81894fe
mode 100644,000000..100644
--- /dev/null
@@@ -1,314 -1,0 +1,317 @@@
- Valid are `Center`, `TopLeft`, `Top`, `TopRight`, `Left`, `Right`, `BottomLeft`, `Bottom`, `BottomRight`.
 +---
 +title: "Image Processing"
 +description: "Image Page resources can be resized and cropped."
 +date: 2018-01-24T13:10:00-05:00
 +linktitle: "Image Processing"
 +categories: ["content management"]
 +keywords: [resources, images]
 +weight: 4004
 +draft: false
 +toc: true
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 32
 +---
 +
 +## The Image Page Resource
 +
 +The `image` is a [Page Resource]({{< relref "/content-management/page-resources" >}}), and the processing methods listed below do not work on images inside your `/static` folder.
 +
 +To print all images paths in a [Page Bundle]({{< relref "/content-management/organization#page-bundles" >}}):
 +
 +```go-html-template
 +{{ with .Resources.ByType "image" }}
 +{{ range . }}
 +{{ .RelPermalink }}
 +{{ end }}
 +{{ end }}
 +
 +```
 +
 +## The Image Resource
 +
 +The `image` resource can also be retrieved from a [global resource]({{< relref "/hugo-pipes/introduction#from-file-to-resource" >}})
 +
 +{{- $image := resources.Get "images/logo.jpg" -}}
 +
 +## Image Processing Methods
 +
 +The `image` resource implements the methods `Resize`, `Fit` and `Fill`, each returning the transformed image using the specified dimensions and processing options. The `image` resource also, since Hugo 0.58, implements the method `Exif` and `Filter`.
 +
 +### Resize
 +
 +Resizes the image to the specified width and height.
 +
 +```go
 +// Resize to a width of 600px and preserve ratio
 +{{ $image := $resource.Resize "600x" }}
 +
 +// Resize to a height of 400px and preserve ratio
 +{{ $image := $resource.Resize "x400" }}
 +
 +// Resize to a width 600px and a height of 400px
 +{{ $image := $resource.Resize "600x400" }}
 +```
 +
 +### Fit
 +
 +Scale down the image to fit the given dimensions while maintaining aspect ratio. Both height and width are required.
 +
 +```go
 +{{ $image := $resource.Fit "600x400" }}
 +```
 +
 +### Fill
 +
 +Resize and crop the image to match the given dimensions. Both height and width are required.
 +
 +```go
 +{{ $image := $resource.Fill "600x400" }}
 +```
 +
 +### Filter
 +
 +Apply one or more filters to your image. See [Image Filters](/functions/images/#image-filters) for a full list.
 +
 +```go-html-template
 +{{ $img = $img.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}
 +```
 +
 +The above can also be written in a more functional style using pipes:
 +
 +```go-html-template
 +{{ $img = $img | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}
 +```
 +
 +The filters will be applied in the given order.
 +
 +Sometimes it can be useful to create the filter chain once and then reuse it:
 +
 +```go-html-template
 +{{ $filters := slice  (images.GaussianBlur 6) (images.Pixelate 8) }}
 +{{ $img1 = $img1.Filter $filters }}
 +{{ $img2 = $img2.Filter $filters }}
 +```
 +
 +### Exif
 +
 +Provides an [Exif](https://en.wikipedia.org/wiki/Exif) object with metadata about the image.
 +
 +Note that this is only suported for JPEG and TIFF images, so it's recommended to wrap the access with a `with`, e.g.:
 +
 +```go-html-template
 +{{ with $img.Exif }}
 +Date: {{ .Date }}
 +Lat/Long: {{ .Lat}}/{{ .Long }}
 +Tags:
 +{{ range $k, $v := .Tags }}
 +TAG: {{ $k }}: {{ $v }}
 +{{ end }}
 +{{ end }}
 +```
 +
 +Or individually access EXIF data with dot access, e.g.:
 +
 +```go-html-template
 +{{ with $src.Exif }}
 +  <ul>
 +      {{ with .Date }}<li>Date: {{ .Format "January 02, 2006" }}</li>{{ end }}
 +      {{ with .Tags.ApertureValue }}<li>Aperture: {{ lang.NumFmt 2 . }}</li>{{ end }}
 +      {{ with .Tags.BrightnessValue }}<li>Brightness: {{ lang.NumFmt 2 . }}</li>{{ end }}
 +      {{ with .Tags.ExposureTime }}<li>Exposure Time: {{ . }}</li>{{ end }}
 +      {{ with .Tags.FNumber }}<li>F Number: {{ . }}</li>{{ end }}
 +      {{ with .Tags.FocalLength }}<li>Focal Length: {{ . }}</li>{{ end }}
 +      {{ with .Tags.ISOSpeedRatings }}<li>ISO Speed Ratings: {{ . }}</li>{{ end }}
 +      {{ with .Tags.LensModel }}<li>Lens Model: {{ . }}</li>{{ end }}
 +  </ul>
 +{{ end }}
 +```
 +
 +Some fields may need to be formatted with [`lang.NumFmt`]({{< relref "functions/numfmt" >}}) function to prevent display like `Aperture: 2.278934289` instead of `Aperture: 2.28`.
 +
 +#### Exif fields
 +
 +Date
 +: "photo taken" date/time
 +
 +Lat
 +: "photo taken where", GPS latitude
 +
 +Long
 +: "photo taken where", GPS longitude
 +
 +See [Image Processing Config](#image-processing-config) for how to configure what gets included in Exif.
 +
 +## Image Processing Options
 +
 +In addition to the dimensions (e.g. `600x400`), Hugo supports a set of additional image options.
 +
 +### Background Color
 +
 +The background color to fill into the transparency layer. This is mostly useful when converting to a format that does not support transparency, e.g. `JPEG`.
 +
 +You can set the background color to use with a 3 or 6 digit hex code starting with `#`.
 +
 +```go
 +{{ $image.Resize "600x jpg #b31280" }}
 +```
 +
 +For color codes, see https://www.google.com/search?q=color+picker
 +
 +**Note** that you also set a default background color to use, see [Image Processing Config](#image-processing-config).
 +
 +### JPEG Quality
 +
 +Only relevant for JPEG images, values 1 to 100 inclusive, higher is better. Default is 75.
 +
 +```go
 +{{ $image.Resize "600x q50" }}
 +```
 +
 +### Rotate
 +
 +Rotates an image by the given angle counter-clockwise. The rotation will be performed first to get the dimensions correct. The main use of this is to be able to manually correct for [EXIF orientation](https://github.com/golang/go/issues/4341) of JPEG images.
 +
 +```go
 +{{ $image.Resize "600x r90" }}
 +```
 +
 +### Anchor
 +
 +Only relevant for the `Fill` method. This is useful for thumbnail generation where the main motive is located in, say, the left corner.
++
++Valid values are `Smart`, `Center`, `TopLeft`, `Top`, `TopRight`, `Left`, `Right`, `BottomLeft`, `Bottom`, `BottomRight`.
++
++Default value is `Smart`, which uses [Smartcrop](https://github.com/muesli/smartcrop) to determine the best crop.
 +
 +```go
 +{{ $image.Fill "300x200 BottomLeft" }}
 +```
 +
 +### Resample Filter
 +
 +Filter used in resizing. Default is `Box`, a simple and fast resampling filter appropriate for downscaling.
 +
 +Examples are: `Box`, `NearestNeighbor`, `Linear`, `Gaussian`.
 +
 +See https://github.com/disintegration/imaging for more. If you want to trade quality for faster processing, this may be a option to test.
 +
 +```go
 +{{ $image.Resize "600x400 Gaussian" }}
 +```
 +
 +### Target Format
 +
 +By default the images is encoded in the source format, but you can set the target format as an option.
 +
 +Valid values are `jpg`, `png`, `tif`, `bmp`, and `gif`.
 +
 +```go
 +{{ $image.Resize "600x jpg" }}
 +```
 +
 +## Image Processing Examples
 +
 +_The photo of the sunset used in the examples below is Copyright [Bjørn Erik Pedersen](https://commons.wikimedia.org/wiki/User:Bep) (Creative Commons Attribution-Share Alike 4.0 International license)_
 +
 +{{< imgproc sunset Resize "300x" />}}
 +
 +{{< imgproc sunset Fill "90x120 left" />}}
 +
 +{{< imgproc sunset Fill "90x120 right" />}}
 +
 +{{< imgproc sunset Fit "90x90" />}}
 +
 +{{< imgproc sunset Resize "300x q10" />}}
 +
 +This is the shortcode used in the examples above:
 +
 +{{< code file="layouts/shortcodes/imgproc.html" >}}
 +{{< readfile file="layouts/shortcodes/imgproc.html" >}}  
 +{{< /code >}}
 +
 +And it is used like this:
 +
 +```go-html-template
 +{{</* imgproc sunset Resize "300x" /*/>}}
 +```
 +
 +{{% note %}}
 +**Tip:** Note the self-closing shortcode syntax above. The `imgproc` shortcode can be called both with and without **inner content**.
 +{{% /note %}}
 +
 +## Image Processing Config
 +
 +You can configure an `imaging` section in `config.toml` with default image processing options:
 +
 +```toml
 +[imaging]
 +# Default resample filter used for resizing. Default is Box,
 +# a simple and fast averaging filter appropriate for downscaling.
 +# See https://github.com/disintegration/imaging
 +resampleFilter = "box"
 +
 +# Default JPEG quality setting. Default is 75.
 +quality = 75
 +
 +# Anchor used when cropping pictures.
 +# Default is "smart" which does Smart Cropping, using https://github.com/muesli/smartcrop
 +# Smart Cropping is content aware and tries to find the best crop for each image.
 +# Valid values are Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight
 +anchor = "smart"
 +
 +# Default background color.
 +# Hugo will preserve transparency for target formats that supports it,
 +# but will fall back to this color for JPEG.
 +# Expects a standard HEX color string with 3 or 6 digits.
 +# See https://www.google.com/search?q=color+picker
 +bgColor = "#ffffff"
 +
 +[imaging.exif]
 + # Regexp matching the fields you want to Exclude from the (massive) set of Exif info
 +# available. As we cache this info to disk, this is for performance and
 +# disk space reasons more than anything.
 +# If you want it all, put ".*" in this config setting.
 +# Note that if neither this or ExcludeFields is set, Hugo will return a small
 +# default set.
 +includeFields = ""
 +
 +# Regexp matching the Exif fields you want to exclude. This may be easier to use
 +# than IncludeFields above, depending on what you want.
 +excludeFields = ""
 +
 +# Hugo extracts the "photo taken" date/time into .Date by default.
 +# Set this to true to turn it off.
 +disableDate = false
 +
 +# Hugo extracts the "photo taken where" (GPS latitude and longitude) into
 +# .Long and .Lat. Set this to true to turn it off.
 +disableLatLong = false
 +
 +
 +```
 +
 +## Smart Cropping of Images
 +
 +By default, Hugo will use the [Smartcrop](https://github.com/muesli/smartcrop), a library created by [muesli](https://github.com/muesli), when cropping images with `.Fill`. You can set the anchor point manually, but in most cases the smart option will make a good choice. And we will work with the library author to improve this in the future.
 +
 +An example using the sunset image from above:
 +
 +{{< imgproc sunset Fill "200x200 smart" />}}
 +
 +## Image Processing Performance Consideration
 +
 +Processed images are stored below `<project-dir>/resources` (can be set with `resourceDir` config setting). This folder is deliberately placed in the project, as it is recommended to check these into source control as part of the project. These images are not "Hugo fast" to generate, but once generated they can be reused.
 +
 +If you change your image settings (e.g. size), remove or rename images etc., you will end up with unused images taking up space and cluttering your project.
 +
 +To clean up, run:
 +
 +```bash
 +hugo --gc
 +```
 +
 +{{% note %}}
 +**GC** is short for **Garbage Collection**.
 +{{% /note %}}
index 1220a06c83cb4e8e24b31817104170b8e84532d7,0000000000000000000000000000000000000000..c53a6d65ea4ae1560ffc4d02adf11bfba88c181a
mode 100644,000000..100644
--- /dev/null
@@@ -1,142 -1,0 +1,141 @@@
- * `linenos`: Valid values are `true`, `false`, `table`, `inline`. `table` will give copy-and-paste friendly code blocks) turns on line numbers.
- * Setting `linenos` to `false` will turn off linenumbers if it's configured to be on in site config.{{< new-in "0.60.0" >}}
- * `hl_lines` lists a set of line numbers or line number ranges to be highlighted.
- * `linenostart=199` starts the line number count from 199.
 +---
 +title: Syntax Highlighting
 +description: Hugo comes with really fast syntax highlighting from Chroma.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +keywords: [highlighting,chroma,code blocks,syntax]
 +categories: [content management]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 300
 +weight: 20
 +sections_weight: 20
 +draft: false
 +aliases: [/extras/highlighting/,/extras/highlight/,/tools/syntax-highlighting/]
 +toc: true
 +---
 +
 +
 +Hugo uses [Chroma](https://github.com/alecthomas/chroma) as its code highlighter; it is built in Go and is really, really fast -- and for the most important parts compatible with Pygments we used before.
 +
 +## Configure Syntax Highlighter
 +
 +See [Configure Highlight](/getting-started/configuration-markup#highlight).
 +
 +
 +## Generate Syntax Highlighter CSS
 +
 +If you run with `pygmentsUseClasses=true` in your site config, you need a style sheet.
 +
 +You can generate one with Hugo:
 +
 +```bash
 +hugo gen chromastyles --style=monokai > syntax.css
 +```
 +
 +Run `hugo gen chromastyles -h` for more options. See https://xyproto.github.io/splash/docs/ for a gallery of available styles.
 +
 +
 +## Highlight Shortcode
 +
 +Highlighting is carried out via the [built-in shortcode](/content-management/shortcodes/) `highlight`. `highlight` takes exactly one required parameter for the programming language to be highlighted and requires a closing shortcode. Note that `highlight` is *not* used for client-side javascript highlighting.
 +
 +Options:
 +
++* `linenos`: configure line numbers. Valid values are `true`, `false`, `table`, or `inline`. `false` will turn off line numbers if it's configured to be on in site config. {{< new-in "0.60.0" >}} `table` will give copy-and-paste friendly code blocks.
++* `hl_lines`: lists a set of line numbers or line number ranges to be highlighted.
++* `linenostart=199`: starts the line number count from 199.
 +
 +### Example: Highlight Shortcode
 +
 +```
 +{{</* highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" */>}}
 +// ... code
 +{{</* / highlight */>}}
 +```
 +
 +Gives this:
 +
 +{{< highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" >}}
 +// GetTitleFunc returns a func that can be used to transform a string to
 +// title case.
 +//
 +// The supported styles are
 +//
 +// - "Go" (strings.Title)
 +// - "AP" (see https://www.apstylebook.com/)
 +// - "Chicago" (see https://www.chicagomanualofstyle.org/home.html)
 +//
 +// If an unknown or empty style is provided, AP style is what you get.
 +func GetTitleFunc(style string) func(s string) string {
 +  switch strings.ToLower(style) {
 +  case "go":
 +    return strings.Title
 +  case "chicago":
 +    return transform.NewTitleConverter(transform.ChicagoStyle)
 +  default:
 +    return transform.NewTitleConverter(transform.APStyle)
 +  }
 +}
 +{{< / highlight >}}
 +
 +
 +
 +## Highlight Template Func
 +
 +See [Highlight](/functions/highlight/).
 +
 +## Highlighting in Code Fences
 +
 +Highlighting in code fences is enabled by default.{{< new-in "0.60.0" >}}
 +
 +````
 +```go {linenos=table,hl_lines=[8,"15-17"],linenostart=199}
 +// ... code
 +```
 +````
 +
 +
 +Gives this:
 +
 +```go {linenos=table,hl_lines=[8,"15-17"],linenostart=199}
 +// GetTitleFunc returns a func that can be used to transform a string to
 +// title case.
 +//
 +// The supported styles are
 +//
 +// - "Go" (strings.Title)
 +// - "AP" (see https://www.apstylebook.com/)
 +// - "Chicago" (see https://www.chicagomanualofstyle.org/home.html)
 +//
 +// If an unknown or empty style is provided, AP style is what you get.
 +func GetTitleFunc(style string) func(s string) string {
 +  switch strings.ToLower(style) {
 +  case "go":
 +    return strings.Title
 +  case "chicago":
 +    return transform.NewTitleConverter(transform.ChicagoStyle)
 +  default:
 +    return transform.NewTitleConverter(transform.APStyle)
 +  }
 +}
 +```
 +
 +{{< new-in "0.60.0" >}}Note that only Goldmark supports passing attributes such as `hl_lines`, and it's important that it does not contain any spaces. See [goldmark-highlighting](https://github.com/yuin/goldmark-highlighting) for more information.
 +
 +The options are the same as in the [highlighting shortcode](/content-management/syntax-highlighting/#highlight-shortcode),including `linenos=false`, but note the slightly different Markdown attribute syntax.
 +
 +## List of Chroma Highlighting Languages
 +
 +The full list of Chroma lexers and their aliases (which is the identifier used in the `highlight` template func or when doing highlighting in code fences):
 +
 +{{< chroma-lexers >}}
 +
 +[Prism]: https://prismjs.com
 +[prismdownload]: https://prismjs.com/download.html
 +[Highlight.js]: https://highlightjs.org/
 +[Rainbow]: https://craig.is/making/rainbows
 +[Syntax Highlighter]: https://alexgorbatchev.com/SyntaxHighlighter/
 +[Google Prettify]: https://github.com/google/code-prettify
 +[Yandex]: https://yandex.ru/
index 14971af43ebcbaf6d5a15b3d8182e76763fa2bab,0000000000000000000000000000000000000000..c4afbe0b7885467a7b83e8a49b172943b3da8b49
mode 100644,000000..100644
--- /dev/null
@@@ -1,306 -1,0 +1,313 @@@
 +---
 +title: URL Management
 +linktitle: URL Management
 +description: Hugo supports permalinks, aliases, link canonicalization, and multiple options for handling relative vs absolute URLs.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-03-09
 +keywords: [aliases,redirects,permalinks,urls]
 +categories: [content management]
 +menu:
 +  docs:
 +    parent: "content-management"
 +    weight: 110
 +weight: 110   #rem
 +draft: false
 +aliases: [/extras/permalinks/,/extras/aliases/,/extras/urls/,/doc/redirects/,/doc/alias/,/doc/aliases/]
 +toc: true
 +---
 +
 +## Permalinks
 +
 +The default Hugo target directory for your built website is `public/`. However, you can change this value by specifying a different `publishDir` in your [site configuration][config]. The directories created at build time for a section reflect the position of the content's directory within the `content` folder and namespace matching its layout within the `contentdir` hierarchy.
 +
 +The `permalinks` option in your [site configuration][config] allows you to adjust the directory paths (i.e., the URLs) on a per-section basis. This will change where the files are written to and will change the page's internal "canonical" location, such that template references to `.RelPermalink` will honor the adjustments made as a result of the mappings in this option.
 +
 +{{% note "Default Publish and Content Folders" %}}
 +These examples use the default values for `publishDir` and `contentDir`; i.e., `public` and `content`, respectively. You can override the default values in your [site's `config` file](/getting-started/configuration/).
 +{{% /note %}}
 +
 +For example, if one of your [sections][] is called `posts` and you want to adjust the canonical path to be hierarchical based on the year, month, and post title, you could set up the following configurations in YAML and TOML, respectively.
 +
 +### Permalinks Configuration Example
 +
 +{{< code-toggle file="config" copy="false" >}}
 +permalinks:
 +  posts: /:year/:month/:title/
 +{{< /code-toggle >}}
 +
 +Only the content under `posts/` will have the new URL structure. For example, the file `content/posts/sample-entry.md` with `date: 2017-02-27T19:20:00-05:00` in its front matter will render to `public/2017/02/sample-entry/index.html` at build time and therefore be reachable at `https://example.com/2017/02/sample-entry/`.
 +
++To configure the `permalinks` option for pages in the "root" section, use **/** as the key:
++
++{{< code-toggle file="config" copy="false" >}}
++permalinks:
++  /: /:year/:month/:filename/
++{{< /code-toggle >}}
++
 +If the standard date-based permalink configuration does not meet your needs, you can also format URL segments using [Go time formatting directives](https://golang.org/pkg/time/#Time.Format). For example, a URL structure with two digit years and month and day digits without zero padding can be accomplished with:
 +
 +{{< code-toggle file="config" copy="false" >}}
 +permalinks:
 +  posts: /:06/:1/:2/:title/
 +{{< /code-toggle >}}
 +
 +You can also configure permalinks of taxonomies with the same syntax, by using the plural form of the taxonomy instead of the section. You will probably only want to use the configuration values `:slug` or `:title`.
 +
 +### Permalink Configuration Values
 +
 +The following is a list of values that can be used in a `permalink` definition in your site `config` file. All references to time are dependent on the content's date.
 +
 +`:year`
 +: the 4-digit year
 +
 +`:month`
 +: the 2-digit month
 +
 +`:monthname`
 +: the name of the month
 +
 +`:day`
 +: the 2-digit day
 +
 +`:weekday`
 +: the 1-digit day of the week (Sunday = 0)
 +
 +`:weekdayname`
 +: the name of the day of the week
 +
 +`:yearday`
 +: the 1- to 3-digit day of the year
 +
 +`:section`
 +: the content's section
 +
 +`:sections`
 +: the content's sections hierarchy
 +
 +`:title`
 +: the content's title
 +
 +`:slug`
 +: the content's slug (or title if no slug is provided in the front matter)
 +
 +`:filename`
 +: the content's filename (without extension)
 +
 +Additionally, a Go time format string prefixed with `:` may be used.
 +
 +## Aliases
 +
 +Aliases can be used to create redirects to your page from other URLs.
 +
 +Aliases comes in two forms:
 +
 +1. Starting with a `/` meaning they are relative to the `BaseURL`, e.g. `/posts/my-blogpost/`
 +2. They are relative to the `Page` they're defined in, e.g. `my-blogpost` or even something like `../blog/my-blogpost` (new in Hugo 0.55).
 +
 +### Example: Aliases
 +
 +Let's assume you create a new piece of content at `content/posts/my-awesome-blog-post.md`. The content is a revision of your previous post at `content/posts/my-original-url.md`. You can create an `aliases` field in the front matter of your new `my-awesome-blog-post.md` where you can add previous paths. The following examples show how to create this field in TOML and YAML front matter, respectively.
 +
 +#### TOML Front Matter
 +
 +{{< code file="content/posts/my-awesome-post.md" copy="false" >}}
 ++++
 +aliases = [
 +    "/posts/my-original-url/",
 +    "/2010/01/01/even-earlier-url.html"
 +]
 ++++
 +{{< /code >}}
 +
 +#### YAML Front Matter
 +
 +{{< code file="content/posts/my-awesome-post.md" copy="false" >}}
 +---
 +aliases:
 +    - /posts/my-original-url/
 +    - /2010/01/01/even-earlier-url.html
 +---
 +{{< /code >}}
 +
 +Now when you visit any of the locations specified in aliases---i.e., *assuming the same site domain*---you'll be redirected to the page they are specified on. For example, a visitor to `example.com/posts/my-original-url/` will be immediately redirected to `example.com/posts/my-awesome-post/`.
 +
 +### Example: Aliases in Multilingual
 +
 +On [multilingual sites][multilingual], each translation of a post can have unique aliases. To use the same alias across multiple languages, prefix it with the language code.
 +
 +In `/posts/my-new-post.es.md`:
 +
 +```
 +---
 +aliases:
 +    - /es/posts/my-original-post/
 +---
 +```
 +
 +From Hugo 0.55 you can also have page-relative aliases, so ` /es/posts/my-original-post/` can be simplified to the more portable `my-original-post/`
 +
 +### How Hugo Aliases Work
 +
 +When aliases are specified, Hugo creates a directory to match the alias entry. Inside the directory, Hugo creates an `.html` file specifying the canonical URL for the page and the new redirect target.
 +
 +For example, a content file at `posts/my-intended-url.md` with the following in the front matter:
 +
 +```
 +---
 +title: My New post
 +aliases: [/posts/my-old-url/]
 +---
 +```
 +
 +Assuming a `baseURL` of `example.com`, the contents of the auto-generated alias `.html` found at `https://example.com/posts/my-old-url/` will contain the following:
 +
 +```
 +<!DOCTYPE html>
 +<html>
 +  <head>
 +    <title>https://example.com/posts/my-intended-url</title>
 +    <link rel="canonical" href="https://example.com/posts/my-intended-url"/>
 +    <meta name="robots" content="noindex">
 +    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
 +    <meta http-equiv="refresh" content="0; url=https://example.com/posts/my-intended-url"/>
 +  </head>
 +</html>
 +```
 +
 +The `http-equiv="refresh"` line is what performs the redirect, in 0 seconds in this case. If an end user of your website goes to `https://example.com/posts/my-old-url`, they will now be automatically redirected to the newer, correct URL. The addition of `<meta name="robots" content="noindex">` lets search engine bots know that they should not crawl and index your new alias page.
 +
 +### Customize
 +You may customize this alias page by creating an `alias.html` template in the
 +layouts folder of your site (i.e., `layouts/alias.html`). In this case, the data passed to the template is
 +
 +`Permalink`
 +: the link to the page being aliased
 +
 +`Page`
 +: the Page data for the page being aliased
 +
 +### Important Behaviors of Aliases
 +
 +1. Hugo makes no assumptions about aliases. They also do not change based
 +on your UglyURLs setting. You need to provide absolute paths to your web root
 +and the complete filename or directory.
 +2. Aliases are rendered *before* any content are rendered and therefore will be overwritten by any content with the same location.
 +
 +## Pretty URLs
 +
 +Hugo's default behavior is to render your content with "pretty" URLs. No non-standard server-side configuration is required for these pretty URLs to work.
 +
 +The following demonstrates the concept:
 +
 +```
 +content/posts/_index.md
 +=> example.com/posts/index.html
 +content/posts/post-1.md
 +=> example.com/posts/post-1/
 +```
 +
 +## Ugly URLs
 +
 +If you would like to have what are often referred to as "ugly URLs" (e.g., example.com/urls.html), set `uglyurls = true` or `uglyurls: true` in your site's `config.toml` or `config.yaml`, respectively. You can also use the `--uglyURLs=true` [flag from the command line][usage] with `hugo` or `hugo server`.
 +
 +If you want a specific piece of content to have an exact URL, you can specify this in the [front matter][] under the `url` key. The following are examples of the same content directory and what the eventual URL structure will be when Hugo runs with its default behavior.
 +
 +See [Content Organization][contentorg] for more details on paths.
 +
 +```
 +.
 +└── content
 +    └── about
 +    |   └── _index.md  // <- https://example.com/about/
 +    ├── posts
 +    |   ├── firstpost.md   // <- https://example.com/posts/firstpost/
 +    |   ├── happy
 +    |   |   └── ness.md  // <- https://example.com/posts/happy/ness/
 +    |   └── secondpost.md  // <- https://example.com/posts/secondpost/
 +    └── quote
 +        ├── first.md       // <- https://example.com/quote/first/
 +        └── second.md      // <- https://example.com/quote/second/
 +```
 +
 +Here's the same organization run with `hugo --uglyURLs`:
 +
 +```
 +.
 +└── content
 +    └── about
 +    |   └── _index.md  // <- https://example.com/about.html
 +    ├── posts
 +    |   ├── firstpost.md   // <- https://example.com/posts/firstpost.html
 +    |   ├── happy
 +    |   |   └── ness.md    // <- https://example.com/posts/happy/ness.html
 +    |   └── secondpost.md  // <- https://example.com/posts/secondpost.html
 +    └── quote
 +        ├── first.md       // <- https://example.com/quote/first.html
 +        └── second.md      // <- https://example.com/quote/second.html
 +```
 +
 +
 +## Canonicalization
 +
 +By default, all relative URLs encountered in the input are left unmodified, e.g. `/css/foo.css` would stay as `/css/foo.css`. The `canonifyURLs` field in your site `config` has a default value of `false`.
 +
 +By setting `canonifyURLs` to `true`, all relative URLs would instead be *canonicalized* using `baseURL`.  For example, assuming you have `baseURL = https://example.com/`, the relative URL `/css/foo.css` would be turned into the absolute URL `https://example.com/css/foo.css`.
 +
 +Benefits of canonicalization include fixing all URLs to be absolute, which may aid with some parsing tasks. Note, however, that all modern browsers handle this on the client without issue.
 +
 +Benefits of non-canonicalization include being able to have scheme-relative resource inclusion; e.g., so that `http` vs `https` can be decided according to how the page was retrieved.
 +
 +{{% note "`canonifyURLs` default change" %}}
 +In the May 2014 release of Hugo v0.11, the default value of `canonifyURLs` was switched from `true` to `false`, which we think is the better default and should continue to be the case going forward. Please verify and adjust your website accordingly if you are upgrading from v0.10 or older versions.
 +{{% /note %}}
 +
 +To find out the current value of `canonifyURLs` for your website, you may use the handy `hugo config` command added in v0.13.
 +
 +```
 +hugo config | grep -i canon
 +```
 +
 +Or, if you are on Windows and do not have `grep` installed:
 +
 +```
 +hugo config | FINDSTR /I canon
 +```
 +
 +## Set URL in Front Matter
 +
 +In addition to specifying permalink values in your site configuration for different content sections, Hugo provides even more granular control for individual pieces of content.
 +
 +Both `slug` and `url` can be defined in individual front matter. For more information on content destinations at build time, see [Content Organization][contentorg].
 +
 +From Hugo 0.55, you can use URLs relative to the current site context (the language), which makes it simpler to maintain. For a Japanese translation, both of the following examples would get the same URL:
 +
 +```markdown
 +---
 +title: "Custom URL!"
 +url: "/jp/custom/foo"
 +---
 +```
 +
 +```markdown
 +---
 +title: "Custom URL!"
 +url: "custom/foo"
 +---
 +```
 +
 +
 +## Relative URLs
 +
 +By default, all relative URLs are left unchanged by Hugo, which can be problematic when you want to make your site browsable from a local file system.
 +
 +Setting `relativeURLs` to `true` in your [site configuration][config] will cause Hugo to rewrite all relative URLs to be relative to the current content.
 +
 +For example, if your `/posts/first/` page contains a link to `/about/`, Hugo will rewrite the URL to `../../about/`.
 +
 +[config]: /getting-started/configuration/
 +[contentorg]: /content-management/organization/
 +[front matter]: /content-management/front-matter/
 +[multilingual]: /content-management/multilingual/
 +[sections]: /content-management/sections/
 +[usage]: /getting-started/usage/
index 337fe00ef75635989830b9189207a7b059b0f050,0000000000000000000000000000000000000000..df4449bbf40f53e550e9b98426877237991e804b
mode 100644,000000..100644
--- /dev/null
@@@ -1,155 -1,0 +1,196 @@@
- These Render Hooks allow custom templates to render links and images from markdown.
 +---
 +title: Configure Markup
 +description: How to handle Markdown and other markup related configuration.
 +date: 2019-11-15
 +categories: [getting started,fundamentals]
 +keywords: [configuration,highlighting]
 +weight: 65
 +sections_weight: 65
 +slug: configuration-markup
 +toc: true
 +---
 +
 +## Configure Markup
 +
 +{{< new-in "0.60.0" >}}
 +
 +See [Goldmark](#goldmark) for settings related to the default Markdown handler in Hugo.
 +
 +Below are all markup related configuration in Hugo with their default settings:
 +
 +{{< code-toggle config="markup" />}}
 +
 +**See each section below for details.**
 +
 +### Goldmark
 +
 +[Goldmark](https://github.com/yuin/goldmark/) is from Hugo 0.60 the default library used for Markdown. It's fast, it's [CommonMark](https://spec.commonmark.org/0.29/) compliant and it's very flexible. Note that the feature set of Goldmark vs Blackfriday isn't the same; you gain a lot but also lose some, but we will work to bridge any gap in the upcoming Hugo versions.
 +
 +This is the default configuration:
 +
 +{{< code-toggle config="markup.goldmark" />}}
 +
 +Some settings explained:
 +
 +unsafe
 +: By default, Goldmark does not render raw HTMLs and potentially dangerous links. If you have lots of inline HTML and/or JavaScript, you may need to turn this on.
 +
 +typographer
 +: This extension substitutes punctuations with typographic entities like [smartypants](https://daringfireball.net/projects/smartypants/).
 +
 +autoHeadingIDType ("github") {{< new-in "0.62.2" >}}
 +: The strategy used for creating auto IDs (anchor names). Available types are `github`, `github-ascii` and `blackfriday`. `github` produces GitHub-compatible IDs, `github-ascii` will drop any non-Ascii characters after accent normalization, and `blackfriday` will make the IDs work as with [Blackfriday](#blackfriday), the default Markdown engine before Hugo 0.60. Note that if Goldmark is your default Markdown engine, this is also the strategy used in the [anchorize](/functions/anchorize/) template func.
 +
 +### Blackfriday
 +
 +
 +[Blackfriday](https://github.com/russross/blackfriday) was Hugo's default Markdown rendering engine, now replaced with Goldmark. But you can still use it: Just set `defaultMarkdownHandler` to `blackfriday` in your top level `markup` config.
 +
 +This is the default config:
 +
 +{{< code-toggle config="markup.blackFriday" />}}
 +
 +### Highlight
 +
 +This is the default `highlight` configuration. Note that some of these settings can be set per code block, see [Syntax Highlighting](/content-management/syntax-highlighting/).
 +
 +{{< code-toggle config="markup.highlight" />}}
 +
 +For `style`, see these galleries:
 +
 +* [Short snippets](https://xyproto.github.io/splash/docs/all.html)
 +* [Long snippets](https://xyproto.github.io/splash/docs/longer/all.html)
 +
 +For CSS, see [Generate Syntax Highlighter CSS](/content-management/syntax-highlighting/#generate-syntax-highlighter-css).
 +
 +### Table Of Contents
 +
 +{{< code-toggle config="markup.tableOfContents" />}}
 +
 +These settings only works for the Goldmark renderer:
 +
 +startLevel
 +: The heading level, values starting at 1 (`h1`), to start render the table of contents.
 +
 +endLevel
 +: The heading level, inclusive, to stop render the table of contents.
 +
 +ordered
 +: Whether or not to generate an ordered list instead of an unordered list.
 +
 +
 +## Markdown Render Hooks
 +
 +{{< new-in "0.62.0" >}}
 +
 +Note that this is only supported with the [Goldmark](#goldmark) renderer.
 +
- You can do this by creating templates with base names `render-link` and/or `render-image` inside `layouts/_default/_markup`.
++Render Hooks allow custom templates to override markdown rendering functionality. You can do this by creating templates with base names `render-{feature}` in `layouts/_default/_markup`.
 +
- Both `render-link` and `render-image` templates will receive this context:
++The features currently supported are:
++
++* `image`
++* `link`
++* `heading` {{< new-in "0.71.0" >}}
 +
 +You can define [Output-Format-](/templates/output-formats) and [language-](/content-management/multilingual/)specific templates if needed.[^hooktemplate] Your `layouts` folder may look like this:
 +
 +```bash
 +layouts
 +└── _default
 +    └── _markup
 +        ├── render-image.html
 +        ├── render-image.rss.xml
 +        └── render-link.html
 +```
 +
 +Some use cases for the above:
 +
 +* Resolve link references using `.GetPage`. This would make links portable as you could translate `./my-post.md` (and similar constructs that would work on GitHub) into `/blog/2019/01/01/my-post/` etc.
 +* Add `target=_blank` to external links.
 +* Resolve and [process](/content-management/image-processing/) images.
++* Add [header links](https://remysharp.com/2014/08/08/automatic-permalinks-for-blog-posts).
 +
 +### Render Hook Templates
 +
- #### Link with title Markdown example :
++The `render-link` and `render-image` templates will receive this context:
 +
 +Page
 +: The [Page](/variables/page/) being rendered.
 +
 +Destination
 +: The URL.
 +
 +Title
 +: The title attribute.
 +
 +Text
 +: The rendered (HTML) link text.
 +
 +PlainText
 +: The plain variant of the above.
 +
- [^hooktemplate]: It's currently only possible to have one set of render hook templates, e.g. not per `Type` or `Section`. We may consider that in a future version.
++The `render-heading` template will receive this context:
++
++Page
++: The [Page](/variables/page/) being rendered.
++
++Level
++: The header level (1--6)
++
++Anchor
++: An auto-generated html id unique to the header within the page
++
++Text
++: The rendered (HTML) text.
++
++PlainText
++: The plain variant of the above.
++
++#### Link with title Markdown example:
 +
 +```md
 +[Text](https://www.gohugo.io "Title")
 +```
 +
 +Here is a code example for how the render-link.html template could look:
 +
 +{{< code file="layouts/_default/_markup/render-link.html" >}}
 +<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
 +{{< /code >}}
 +
 +#### Image Markdown example:
 +
 +```md
 +![Text](https://d33wubrfki0l68.cloudfront.net/c38c7334cc3f23585738e40334284fddcaf03d5e/2e17c/images/hugo-logo-wide.svg "Title")
 +```
 +
 +Here is a code example for how the render-image.html template could look:
 +
 +{{< code file="layouts/_default/_markup/render-image.html" >}}
 +<p class="md__image">
 +  <img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title}} title="{{ . }}"{{ end }} />
 +</p>
 +{{< /code >}}
 +
++#### Heading link example
++
++Given this template file
++
++{{< code file="layouts/_default/_markup/render-heading.html" >}}
++<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }} <a href="#{{ .Anchor | safeURL }}">¶</a></h{{ .Level }}>
++{{< /code >}}
++
++And this markdown
++
++```md
++### Section A
++```
++
++The rendered html will be
 +
++```html
++<h3 id="section-a">Section A <a href="#section-a">¶</a></h3>
++```
++
++[^hooktemplate]: It's currently only possible to have one set of render hook templates, e.g. not per `Type` or `Section`. We may consider that in a future version.
index 85417b5bfb2d5838aa625c3fb1bdf6bd4f368b53,0000000000000000000000000000000000000000..baf68d21bb689deb365072fe319cd00dc2803398
mode 100644,000000..100644
--- /dev/null
@@@ -1,131 -1,0 +1,142 @@@
 +---
 +title: Use Hugo Modules
 +linktitle: Use Hugo Modules
 +description: How to use Hugo Modules to build and manage your site.
 +date: 2019-07-24
 +categories: [hugo modules]
 +keywords: [install, themes, source, organization, directories,usage,modules]
 +menu:
 +  docs:
 +    parent: "modules"
 +    weight: 20
 +weight: 20
 +sections_weight: 20
 +draft: false
 +aliases: [/themes/usage/,/themes/installing/,/installing-and-using-themes/]
 +toc: true
 +---
 +
 +## Prerequisite
 +
 +{{< gomodules-info >}}
 +
 +
 +
 +## Initialize a New Module
 +
 +Use `hugo mod init` to initialize a new Hugo Module. If it fails to guess the module path, you must provide it as an argument, e.g.:
 +
 +```bash
 +hugo mod init github.com/gohugoio/myShortcodes
 +```
 +
 +Also see the [CLI Doc](/commands/hugo_mod_init/).
 +
++## Use a Module for a Theme
++The easiest way to use a for a theme is to import it in the config. 
++
++1. Initialize the hugo module system: `hugo mod init github.com/<your_user>/<your_project>`
++2. Import the theme in your `config.toml`: 
++
++```toml
++[module]
++  [[module.imports]]
++    path = "github.com/spf13/hyde/"
++```
++
 +## Update Modules
 +
 +Modules will be downloaded and added when you add them as imports to your configuration, see [Module Imports](/hugo-modules/configuration/#module-config-imports).
 +
 +To update or manage versions, you can use `hugo mod get`.
 +
 +Some examples:
 +
 +### Update All Modules
 +
 +```bash
 +hugo mod get -u
 +```
 +
 +### Update All Modules Recursively
 +
 +{{< new-in "0.65.0" >}}
 +
 +```bash
 +hugo mod get -u ./...
 +```
 +
 +### Update One Module
 +
 +```bash
 +hugo mod get -u github.com/gohugoio/myShortcodes
 +```
 +### Get a Specific Version
 +
 +```bash
 +hugo mod get github.com/gohugoio/myShortcodes@v1.0.7
 +```
 +
 +Also see the [CLI Doc](/commands/hugo_mod_get/).
 +
 +## Make and test changes in a module
 +
 +One way to do local development of a module imported in a project is to add a replace directive to a local directory with the source in `go.mod`:
 +
 +```bash
 +replace github.com/bep/hugotestmods/mypartials => /Users/bep/hugotestmods/mypartials
 +```
 +
 +If you have the `hugo server` running, the configuration will be reloaded and `/Users/bep/hugotestmods/mypartials` put on the watch list. 
 +
 +
 +## Print Dependency Graph
 +
 +
 +Use `hugo mod graph` from the relevant module directory and it will print the dependency graph, including vendoring, module replacement or disabled status.
 +
 +E.g.:
 +
 +```
 +hugo mod graph
 +
 +github.com/bep/my-modular-site github.com/bep/hugotestmods/mymounts@v1.2.0
 +github.com/bep/my-modular-site github.com/bep/hugotestmods/mypartials@v1.0.7
 +github.com/bep/hugotestmods/mypartials@v1.0.7 github.com/bep/hugotestmods/myassets@v1.0.4
 +github.com/bep/hugotestmods/mypartials@v1.0.7 github.com/bep/hugotestmods/myv2@v1.0.0
 +DISABLED github.com/bep/my-modular-site github.com/spf13/hyde@v0.0.0-20190427180251-e36f5799b396
 +github.com/bep/my-modular-site github.com/bep/hugo-fresh@v1.0.1
 +github.com/bep/my-modular-site in-themesdir
 +
 +```
 +
 +Also see the [CLI Doc](/commands/hugo_mod_graph/).
 +
 +## Vendor Your Modules
 +
 +`hugo mod vendor` will write all the module depencies to a `_vendor` folder, which will then be used for all subsequent builds.
 +
 +Note that:
 +
 +* You can run `hugo mod vendor` on any level in the module tree.
 +* Vendoring will not store modules stored in your `themes` folder.
 +* Most commands accept a `--ignoreVendor` flag, which will then run as if the none of the `_vendor` folders in the module tree existed.
 +
 +Also see the [CLI Doc](/commands/hugo_mod_vendor/).
 +
 +
 +## Tidy go.mod, go.sum
 +
 +Run `hugo mod tidy` to remove unused entries in `go.mod` and `go.sum`.
 +
 +Also see the [CLI Doc](/commands/hugo_mod_clean/).
 +
 +## Clean Module Cache
 +
 +Run `hugo mod clean` to delete the entire modules cache.
 +
 +Note that you can also configure the `modules` cache with a `maxAge`, see [File Caches](/hugo-modules/configuration/#configure-file-caches).
 +
 +
 +
 +Also see the [CLI Doc](/commands/hugo_mod_clean/).
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..081581df88e4fa2adefe1731aee4b3ee3f527dec
new file mode 100644 (file)
Binary files differ
index 486c285421ac0aa968cbaef5e55e3b20a6d7134f,0000000000000000000000000000000000000000..07d951bf3dd38b0f3fec739433f1fa970aef56b6
mode 100644,000000..100644
--- /dev/null
@@@ -1,49 -1,0 +1,50 @@@
- title: "0.71.0"
- description: "0.71.0"
 +
 +---
 +date: 2020-05-18
-       Hugo 0.71 brings Markdown render hooks for headings, but the main reason why this release comes sooner rather than later is to get out a release built on Go 1.14.3 which comes with a fix for [this bug](https://github.com/golang/go/issues/37833) that caused Hugo to sometimes spin up with 100% CPU on MacOS.
++title: "Markdown Render Hooks for Headings"
++description: "Render hooks for headings, update to Go 1.14.3, several bug fixes etc."
 +categories: ["Releases"]
 +---
 +
- This release represents **12 contributions by 7 contributors** to the main Hugo code base.[@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@anthonyfok](https://github.com/anthonyfok), [@apexskier](https://github.com/apexskier), and [@johnweldon](https://github.com/johnweldon) for their ongoing contributions.
++Hugo 0.71 brings [Markdown render hooks for headings](https://gohugo.io/getting-started/configuration-markup#markdown-render-hooks), a set of bug fixes and more.
++
++This release represents **12 contributions by 7 contributors** to the main Hugo code base. [@bep](https://github.com/bep) leads the Hugo development with a significant amount of contributions, but also a big shoutout to [@anthonyfok](https://github.com/anthonyfok), [@apexskier](https://github.com/apexskier), and [@johnweldon](https://github.com/johnweldon) for their ongoing contributions.
 +
 +And a big thanks to [@digitalcraftsman](https://github.com/digitalcraftsman) and [@onedrawingperday](https://github.com/onedrawingperday) for their relentless work on keeping the themes site in pristine condition and to [@davidsneighbour](https://github.com/davidsneighbour) and [@kaushalmodi](https://github.com/kaushalmodi) for all the great work on the documentation site.
 +
 +Many have also been busy writing and fixing the documentation in [hugoDocs](https://github.com/gohugoio/hugoDocs), 
 +which has received **8 contributions by 7 contributors**. A special thanks to [@bep](https://github.com/bep), [@mikeee](https://github.com/mikeee), [@h-enk](https://github.com/h-enk), and [@tjamet](https://github.com/tjamet) for their work on the documentation site.
 +
 +
 +Hugo now has:
 +
 +* 44043+ [stars](https://github.com/gohugoio/hugo/stargazers)
 +* 437+ [contributors](https://github.com/gohugoio/hugo/graphs/contributors)
 +* 322+ [themes](http://themes.gohugo.io/)
 +
 +## Enhancements
 +
 +### Other
 +
 +* Use WARN log level also for the early initialization [518d1496](https://github.com/gohugoio/hugo/commit/518d149646c13fb49c296a63e61a048f5e672179) [@bep](https://github.com/bep) [#7285](https://github.com/gohugoio/hugo/issues/7285)
 +* Update to Go 1.14.3 and Go 1.13.11 [3cc41523](https://github.com/gohugoio/hugo/commit/3cc41523bef802d1942f3d31018547a18cc55923) [@bep](https://github.com/bep) 
 +* Improve error message when no Babel installed [2fd0a5a6](https://github.com/gohugoio/hugo/commit/2fd0a5a6781456e88745b370d12aaf5351a020ff) [@bep](https://github.com/bep) 
 +* Add test for headings render hook [6e051c05](https://github.com/gohugoio/hugo/commit/6e051c053e2b5b8419f357ed8acd177440266d07) [@apexskier](https://github.com/apexskier) 
 +* Add render template hooks for headings [423b8f2f](https://github.com/gohugoio/hugo/commit/423b8f2fb834139cf31514b14b1c1bf28e43b384) [@elihunter173](https://github.com/elihunter173) [#6713](https://github.com/gohugoio/hugo/issues/6713)
 +* Add math.Pow [99193449](https://github.com/gohugoio/hugo/commit/991934497e88dcd4134a369a213bb5072c51c139) [@jmooring](https://github.com/jmooring) [#7266](https://github.com/gohugoio/hugo/issues/7266)
 +* Do not suppress .well-known/ directory [558c0930](https://github.com/gohugoio/hugo/commit/558c09305e2be16953238c6c0e828f62b950e4f5) [@johnweldon](https://github.com/johnweldon) [#6691](https://github.com/gohugoio/hugo/issues/6691)
 +* Quote "@babel/cli" to solve build error [b69a3614](https://github.com/gohugoio/hugo/commit/b69a36140f42ec99ffa2d1e029b8b86ecf8ff929) [@anthonyfok](https://github.com/anthonyfok) 
 +* Remove custom x-nodejs plugin [a0103864](https://github.com/gohugoio/hugo/commit/a0103864ab76c6a1462a6dee538801740acf4858) [@anthonyfok](https://github.com/anthonyfok) 
 +* Use .Lastmod for og:updated_time [6205d56b](https://github.com/gohugoio/hugo/commit/6205d56b85fea31e008cd0fef26805bab8084786) [@dtip](https://github.com/dtip) 
 +
 +## Fixes
 +
 +### Other
 +
 +* Fix Babel on Windows [723ec555](https://github.com/gohugoio/hugo/commit/723ec555e75fbfa94d90d3ecbcd5775d6c7800e1) [@bep](https://github.com/bep) [#7251](https://github.com/gohugoio/hugo/issues/7251)
 +* Upgrade chroma to 0.7.3 to fix invalid css [b342e8fb](https://github.com/gohugoio/hugo/commit/b342e8fbdb23157f3979af91cb5d8d3438003707) [@apexskier](https://github.com/apexskier) [#7207](https://github.com/gohugoio/hugo/issues/7207)
 +
 +
 +
 +
 +
index 56b265302c4ee5e6ef4cf636ac47cc250ad1bc10,0000000000000000000000000000000000000000..7fbd01dd3d6288005e98ebe5c667aad6fa17d5de
mode 100644,000000..100644
--- /dev/null
@@@ -1,25 -1,0 +1,25 @@@
- description: "This version fixes a couple of bugs introduced in 0.71.0."
 +
 +---
 +date: 2020-05-25
 +title: "Hugo 0.71.1: A couple of Bug Fixes"
++description: "This version fixes a couple of bugs."
 +categories: ["Releases"]
 +images:
 +- images/blog/hugo-bug-poster.png
 +
 +---
 +
 +      
 +
 +This is a bug-fix release with a couple of important fixes.
 +
 +* Add some more date test cases [81f56332](https://github.com/gohugoio/hugo/commit/81f5633245bf123fbe7ad78eec51ae7b4e6c177a) [@bep](https://github.com/bep) [#7310](https://github.com/gohugoio/hugo/issues/7310)
 +* Fix RenderString vs render hooks [9698b0da](https://github.com/gohugoio/hugo/commit/9698b0dab11f52d52145e85ff71311d2f103cb4e) [@bep](https://github.com/bep) [#7265](https://github.com/gohugoio/hugo/issues/7265)
 +* Prevent WARNINGs in RenderString [32344fe3](https://github.com/gohugoio/hugo/commit/32344fe3db862584e3f926d63bdf33b7fa7d22f7) [@bep](https://github.com/bep) 
 +* Fix IsAncestor/IsDescendant for taxonomies [4d7fa9f1](https://github.com/gohugoio/hugo/commit/4d7fa9f114c62ae2ec12257203ed21b0e4d69a04) [@bep](https://github.com/bep) [#7305](https://github.com/gohugoio/hugo/issues/7305)
 +* Fix GetPage on section/bundle name overlaps [a985efce](https://github.com/gohugoio/hugo/commit/a985efcecf44afe1d252690ec0a00cf077974f44) [@bep](https://github.com/bep) [#7301](https://github.com/gohugoio/hugo/issues/7301)
 +* Fix Go template script escaping [6c3c6686](https://github.com/gohugoio/hugo/commit/6c3c6686f5d3c7155e2d455b07ac8ab70f42cb88) [@bep](https://github.com/bep) [#6695](https://github.com/gohugoio/hugo/issues/6695)
 +* Add a test helper [c34bf485](https://github.com/gohugoio/hugo/commit/c34bf48560c91c8a2fa106867af7b08a569609b5) [@bep](https://github.com/bep) 
 +
 +
 +
index 8cf67d3c08d9f6ec4837aa6663d3c1728bda0af3,0000000000000000000000000000000000000000..437ec1c223ed566f0bf854fba3cead59391e5ff4
mode 100644,000000..100644
--- /dev/null
@@@ -1,32 -1,0 +1,36 @@@
-     current _list_ page.
 +* A _regular_ page is a "post" page or a "content" page.
 +  * A _leaf bundle_ is a regular page.
 +* A _list_ page can list _regular_ pages and other _list_ pages. Some
 +  examples are: homepage, section pages, _taxonomy term_ (`/tags/`) and
 +  _taxonomy_ (`/tags/foo/`) pages.
 +  * A _branch bundle_ is a _list_ page.
 +
 +`.Site.Pages`
 +: Collection of **all** pages of the site: _regular_ pages,
 +    sections, taxonomies, etc. -- Superset of everything!
 +
 +`.Site.RegularPages`
 +: Collection of only _regular_ pages.
 +
 +The above `.Site. ..` page collections can be accessed from any scope in
 +the templates.
 +
 +Below variables return a collection of pages only from the scope of
 +the current _list_ page:
 +
 +`.Pages`
 +: Collection of _regular_ pages and _only first-level_
 +    section pages under the current _list_ page.
 +
 +`.RegularPages`
 +: Collection of only _regular_ pages under the
++    current _list_ page. This **excludes** regular pages in nested sections/_list_ pages (those are subdirectories with an `_index.md` file.
 +
++`.RegularPagesRecursive`
++: Collection of **all** _regular_ pages under a _list_ page. This **includes** regular pages in nested sections/_list_ pages.
++
++This feature was added in Hugo version 0.68.0
 +
 +Note
 +: From the scope of _regular_ pages, `.Pages` and
 +    `.RegularPages` return an empty slice.
index d6edc31c9631983c8b216838185d48a1af330513,0000000000000000000000000000000000000000..ee179787f6fa14ca8b7498798c55c732692c5dd8
mode 100644,000000..100644
--- /dev/null
@@@ -1,92 -1,0 +1,92 @@@
- A [section’s][section] RSS will be rendered at `/<SECTION>/index.xml` (e.g., https://spf13.com/project/index.xml).
 +---
 +title: RSS Templates
 +linktitle: RSS Templates
 +description: Hugo ships with its own RSS 2.0 template that requires almost no configuration, or you can create your own RSS templates.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +keywords: [rss, xml, templates]
 +categories: [templates]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 150
 +weight: 150
 +sections_weight: 150
 +draft: false
 +toc: true
 +---
 +
 +## RSS Template Lookup Order
 +
 +See [Template Lookup Order](/templates/lookup-order/) for the complete reference.
 +
 +{{% note "Hugo Ships with an RSS Template" %}}
 +Hugo ships with its own [RSS 2.0 template](#the-embedded-rss-xml). The embedded template will be sufficient for most use cases.
 +{{% /note %}}
 +
 +RSS pages are of the type `Page` and have all the [page variables](/variables/page/) available to use in the templates.
 +
 +### Section RSS
 +
++A [section’s][section] RSS will be rendered at `/<SECTION>/index.xml` (e.g., [https://spf13.com/project/index.xml](https://spf13.com/project/index.xml)).
 +
 +Hugo provides the ability for you to define any RSS type you wish and can have different RSS files for each section and taxonomy.
 +
 +## Lookup Order for RSS Templates
 +
 +The table below shows the RSS template lookup order for the different page kinds. The first listing shows the lookup order when running with a theme (`demoTheme`).
 +
 +{{< datatable-filtered "output" "layouts" "OutputFormat == RSS" "Example" "OutputFormat" "Suffix" "Template Lookup Order" >}}
 +
 +## Configure RSS
 +
 +By default, Hugo will create an unlimited number of RSS entries. You can limit the number of articles included in the built-in RSS templates by assigning a numeric value to `rssLimit:` field in your project's [`config` file][config].
 +
 +The following values will also be included in the RSS output if specified in your site’s configuration:
 +
 +```toml
 +languageCode = "en-us"
 +copyright = "This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License."
 +
 +[author]
 +    name = "My Name Here"
 +```
 +
 +## The Embedded rss.xml
 +
 +This is the default RSS template that ships with Hugo:
 +
 +https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_default/rss.xml
 +
 +## Reference your RSS Feed in `<head>`
 +
 +In your `header.html` template, you can specify your RSS feed in your `<head></head>` tag using Hugo's [Output Formats][Output Formats] like this:
 +
 +```go-html-template
 +{{ range .AlternativeOutputFormats -}}
 +    {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
 +{{ end -}}
 +```
 +
 +If you only want the RSS link, you can query the formats:
 +
 +```go-html-template
 +{{ with .OutputFormats.Get "rss" -}}
 +    {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
 +{{ end -}}
 +```
 +
 +Either of the two snippets above will generate the below `link` tag on the site homepage for RSS output:
 +
 +```html
 +<link rel="alternate" type="application/rss+xml" href="https://example.com/index.xml" title="Site Title">
 +```
 +
 +_We are assuming `BaseURL` to be `https://example.com/` and `$.Site.Title` to be `"Site Title"` in this example._
 +
 +[config]: /getting-started/configuration/
 +[embedded]: #the-embedded-rss-xml
 +[RSS 2.0]: https://cyber.harvard.edu/rss/rss.html "RSS 2.0 Specification"
 +[section]: /content-management/sections/
 +[Output Formats]: /templates/output-formats/#link-to-output-formats
index 3959d1d2144bac5b94374c6333a4e80b53e6b605,0000000000000000000000000000000000000000..3dd334bef3b346d7d7169d9bd4761670d0791072
mode 100644,000000..100644
--- /dev/null
@@@ -1,87 -1,0 +1,87 @@@
- Do you know or maintain a similar project around Hugo? Feel free to open a [pull request](https://github.com/gohugoio/hugo/pulls) on GitHub if you think it should be added.
 +---
 +title: Migrate to Hugo
 +linktitle: Migrations
 +description: A list of community-developed tools for migrating from your existing static site generator or content management system to Hugo.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +keywords: [migrations,jekyll,wordpress,drupal,ghost,contentful]
 +menu:
 +  docs:
 +    parent: "tools"
 +    weight: 10
 +weight: 10
 +sections_weight: 10
 +draft: false
 +aliases: [/developer-tools/migrations/,/developer-tools/migrated/]
 +toc: true
 +---
 +
 +This section highlights some projects around Hugo that are independently developed. These tools try to extend the functionality of our static site generator or help you to get started.
 +
 +{{% note %}}
++Do you know or maintain a similar project around Hugo? Feel free to open a [pull request](https://github.com/gohugoio/hugoDocs/pulls) on GitHub if you think it should be added.
 +{{% /note %}}
 +
 +Take a look at this list of migration tools if you currently use other blogging tools like Jekyll or WordPress but intend to switch to Hugo instead. They'll take care to export your content into Hugo-friendly formats.
 +
 +## Jekyll
 +
 +Alternatively, you can use the new [Jekyll import command](/commands/hugo_import_jekyll/).
 +
 +- [JekyllToHugo](https://github.com/SenjinDarashiva/JekyllToHugo) - A Small script for converting Jekyll blog posts to a Hugo site.
 +- [ConvertToHugo](https://github.com/coderzh/ConvertToHugo) - Convert your blog from Jekyll to Hugo.
 +
 +## Ghost
 +
 +- [ghostToHugo](https://github.com/jbarone/ghostToHugo) - Convert Ghost blog posts and export them to Hugo.
 +
 +## Octopress
 +
 +- [octohug](https://github.com/codebrane/octohug) - Octopress to Hugo migrator.
 +
 +## DokuWiki
 +
 +- [dokuwiki-to-hugo](https://github.com/wgroeneveld/dokuwiki-to-hugo) - Migrates your dokuwiki source pages from [DokuWiki syntax](https://www.dokuwiki.org/wiki:syntax) to Hugo Markdown syntax. Includes extra's like the TODO plugin. Written with extensibility in mind using python 3. Also generates a TOML header for each page. Designed to copypaste the wiki directory into your /content directory.
 +
 +## WordPress
 +
 +- [wordpress-to-hugo-exporter](https://github.com/SchumacherFM/wordpress-to-hugo-exporter) - A one-click WordPress plugin that converts all posts, pages, taxonomies, metadata, and settings to Markdown and YAML which can be dropped into Hugo. (Note: If you have trouble using this plugin, you can [export your site for Jekyll](https://wordpress.org/plugins/jekyll-exporter/) and use Hugo's built in Jekyll converter listed above.)
 +- [exitwp-for-hugo](https://github.com/wooni005/exitwp-for-hugo) - A python script which works with the xml export from Wordpress and converts Wordpress pages and posts to Markdown and YAML for hugo.
 +- [blog2md](https://github.com/palaniraja/blog2md) - Works with [exported xml](https://en.support.wordpress.com/export/) file of your free YOUR-TLD.wordpress.com website. It also saves approved comments to `YOUR-POST-NAME-comments.md` file along with posts.
 +- [wordhugopress](https://github.com/nantipov/wordhugopress) - A small utility written in Java, exports the entire WordPress site from the database and resource (e.g. images) files stored locally or remotelly. Therefore, migration from the backup files is possible. Supports merging of the multiple WordPress sites into a single Hugo one.
 +
 +## Medium
 +
 +- [medium2md](https://github.com/gautamdhameja/medium-2-md) - A simple Medium to Hugo exporter able to import stories in one command, including Front Matter.
 +- [medium-to-hugo](https://github.com/bgadrian/medium-to-hugo) - CLI tool written in Go to export medium posts into a Hugo compatible Markdown format. Tags and images are included. All images will be downloaded locally and linked appropriately. 
 +
 +## Tumblr
 +
 +- [tumblr-importr](https://github.com/carlmjohnson/tumblr-importr) - An importer that uses the Tumblr API to create a Hugo static site.
 +- [tumblr2hugomarkdown](https://github.com/Wysie/tumblr2hugomarkdown) - Export all your Tumblr content to Hugo Markdown files with preserved original formatting.
 +- [Tumblr to Hugo](https://github.com/jipiboily/tumblr-to-hugo) - A migration tool that converts each of your Tumblr posts to a content file with a proper title and path. Furthermore, "Tumblr to Hugo" creates a CSV file with the original URL and the new path on Hugo, to help you setup the redirections.
 +
 +## Drupal
 +
 +- [drupal2hugo](https://github.com/danapsimer/drupal2hugo) - Convert a Drupal site to Hugo.
 +
 +## Joomla
 +
 +- [hugojoomla](https://github.com/davetcc/hugojoomla) - This utility written in Java takes a Joomla database and converts all the content into Markdown files. It changes any URLs that are in Joomla's internal format and converts them to a suitable form.
 +
 +## Blogger
 +
 +- [blogimport](https://github.com/natefinch/blogimport) - A tool to import from Blogger posts to Hugo.
 +- [blogger-to-hugo](https://bitbucket.org/petraszd/blogger-to-hugo) - Another tool to import Blogger posts to Hugo. It also downloads embedded images so they will be stored locally.
 +- [blog2md](https://github.com/palaniraja/blog2md) - Works with [exported xml](https://support.google.com/blogger/answer/41387?hl=en) file of your YOUR-TLD.blogspot.com website. It also saves comments to `YOUR-POST-NAME-comments.md` file along with posts. 
 +- [BloggerToHugo](https://github.com/huanlin/blogger-to-hugo) - Yet another tool to import Blogger posts to Hugo. For Windows platform only, and .NET Framework 4.5 is required. See README.md before using this tool.
 +
 +## Contentful
 +
 +- [contentful2hugo](https://github.com/ArnoNuyts/contentful2hugo) - A tool to create content-files for Hugo from content on [Contentful](https://www.contentful.com/).
 +
 +
 +## BlogML
 +
 +- [BlogML2Hugo](https://github.com/jijiechen/BlogML2Hugo) - A tool that helps you convert BlogML xml file to Hugo markdown files. Users need to take care of links to attachments and images by themselves. This helps the blogs that export BlogML files (e.g. BlogEngine.NET) tramsform to hugo sites easily.
index f810837104a1fef7da5f1d9932f62efb399f69bc,0000000000000000000000000000000000000000..f51498b1fa34ce8e9426b16199489b5760846195
mode 100644,000000..100644
--- /dev/null
@@@ -1,34 -1,0 +1,35 @@@
 +---
 +title: Search for your Hugo Website
 +linktitle: Search
 +description: See some of the open-source and commercial search options for your newly created Hugo website.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-26
 +categories: [developer tools]
 +keywords: [search,tools]
 +menu:
 +  docs:
 +    parent: "tools"
 +    weight: 60
 +weight: 60
 +sections_weight: 60
 +draft: false
 +aliases: []
 +toc: true
 +---
 +
 +A static website with a dynamic search function? Yes, Hugo provides an alternative to embeddable scripts from Google or other search engines for static websites. Hugo allows you to provide your visitors with a custom search function by indexing your content files directly.
 +
 +* [GitHub Gist for Hugo Workflow](https://gist.github.com/sebz/efddfc8fdcb6b480f567). This gist contains a simple workflow to create a search index for your static website. It uses a simple Grunt script to index all your content files and [lunr.js](https://lunrjs.com/) to serve the search results.
 +* [hugo-elasticsearch](https://www.npmjs.com/package/hugo-elasticsearch). Generate [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html) indexes for Hugo static sites by parsing front matter. Hugo-Elasticsearch will generate a newline delimited JSON (NDJSON) file that can be bulk uploaded into Elasticsearch using any one of the available [clients](https://www.elastic.co/guide/en/elasticsearch/client/index.html).
 +* [hugo-lunr](https://www.npmjs.com/package/hugo-lunr). A simple way to add site search to your static Hugo site using [lunr.js](https://lunrjs.com/). Hugo-lunr will create an index file of any html and markdown documents in your Hugo project.
 +* [hugo-lunr-zh](https://www.npmjs.com/package/hugo-lunr-zh). A bit like Hugo-lunr, but Hugo-lunr-zh can help you separate the Chinese keywords.
 +* [Github Gist for Fuse.js integration](https://gist.github.com/eddiewebb/735feb48f50f0ddd65ae5606a1cb41ae). This gist demonstrates how to leverage Hugo's existing build time processing to generate a searchable JSON index used by [Fuse.js](https://fusejs.io/) on the client side. Although this gist uses Fuse.js for fuzzy matching, any client side search tool capable of reading JSON indexes will work. Does not require npm, grunt or other build-time tools except Hugo!
 +* [hugo-search-index](https://www.npmjs.com/package/hugo-search-index). A library containing Gulp tasks and a prebuilt browser script that implements search. Gulp generates a search index from project markdown files.
++* [hugofastsearch](https://gist.github.com/cmod/5410eae147e4318164258742dd053993). A usability and speed update to "Github Gist for Fuse.js integration" — global, keyboard-optimized search. 
 +
 +## Commercial Search Services
 +
 +* [Algolia](https://www.algolia.com/)'s Search API makes it easy to deliver a great search experience in your apps and websites. Algolia Search provides hosted full-text, numerical, faceted, and geolocalized search.
 +* [Bonsai](https://www.bonsai.io) is a fully-managed hosted Elasticsearch service that is fast, reliable, and simple to set up. Easily ingest your docs from Hugo into Elasticsearch following [this guide from the docs](https://docs.bonsai.io/docs/hugo).
 +* [ExpertRec](https://www.expertrec.com/) is a hosted search-as-a-service solution that is fast and scalable. Set-up and integration is extremely easy and takes only a few minutes. The search settings can be modified without coding using a dashboard.
index 7d663b96b274f0b4901e409bd31f55300c059f99,0000000000000000000000000000000000000000..9fc6c49a0b240428733a88e1b88ea67037a9605b
mode 100644,000000..100644
--- /dev/null
@@@ -1,131 -1,0 +1,135 @@@
 +---
 +title: Site Variables
 +linktitle: Site Variables
 +description: Many, but not all, site-wide variables are defined in your site's configuration. However, Hugo provides a number of built-in variables for convenient access to global values in your templates.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [variables and params]
 +keywords: [global,site]
 +draft: false
 +menu:
 +  docs:
 +    parent: "variables"
 +    weight: 10
 +weight: 10
 +sections_weight: 10
 +aliases: [/variables/site-variables/]
 +toc: true
 +---
 +
 +The following is a list of site-level (aka "global") variables. Many of these variables are defined in your site's [configuration file][config], whereas others are built into Hugo's core for convenient usage in your templates.
 +
++## Get the Site object from a partial
++
++All the methods below, e.g. `.Site.RegularPages` can also be reached via the global `site` function, e.g. `site.RegularPages`, which can be handy in partials where the `Page` object isn't easily available. {{< new-in "0.53.0" >}}.
++
 +## Site Variables List
 +
 +.Site.AllPages
 +: array of all pages, regardless of their translation.
 +
 +.Site.Author
 +: a map of the authors as defined in the site configuration.
 +
 +.Site.BaseURL
 +: the base URL for the site as defined in the site configuration.
 +
 +.Site.BuildDrafts
 +: a boolean (default: `false`) to indicate whether to build drafts as defined in the site configuration.
 +
 +.Site.Copyright
 +: a string representing the copyright of your website as defined in the site configuration.
 +
 +.Site.Data
 +: custom data, see [Data Templates](/templates/data-templates/).
 +
 +.Site.DisqusShortname
 +: a string representing the shortname of the Disqus shortcode as defined in the site configuration.
 +
 +.Site.GoogleAnalytics
 +: a string representing your tracking code for Google Analytics as defined in the site configuration.
 +
 +.Site.Home
 +: reference to the homepage's [page object](https://gohugo.io/variables/page/)
 +
 +.Site.IsMultiLingual
 +: whether there are more than one language in this site. See [Multilingual](/content-management/multilingual/) for more information.
 +
 +.Site.IsServer
 +: a boolean to indicate if the site is being served with Hugo's built-in server. See [`hugo server`](/commands/hugo_server/) for more information.
 +
 +.Site.Language.Lang
 +: the language code of the current locale (e.g., `en`).
 +
 +.Site.Language.LanguageName
 +: the full language name (e.g. `English`).
 +
 +.Site.Language.Weight
 +: the weight that defines the order in the `.Site.Languages` list.
 +
 +.Site.Language
 +: indicates the language currently being used to render the website. This object's attributes are set in site configurations' language definition.
 +
 +.Site.LanguageCode
 +: a string representing the language as defined in the site configuration. This is mostly used to populate the RSS feeds with the right language code.
 +
 +.Site.LanguagePrefix
 +: this can be used to prefix URLs to point to the correct language. It will even work when only one defined language. See also the functions [absLangURL](/functions/abslangurl/) and [relLangURL](/functions/rellangurl).
 +
 +.Site.Languages
 +: an ordered list (ordered by defined weight) of languages.
 +
 +.Site.LastChange
 +: a string representing the date/time of the most recent change to your site. This string is based on the [`date` variable in the front matter](/content-management/front-matter) of your content pages.
 +
 +.Site.Menus
 +: all of the menus in the site.
 +
 +.Site.Pages
 +: array of all content ordered by Date with the newest first. This array contains only the pages in the current language. See [`.Site.Pages`](#site-pages).
 +
 +.Site.RegularPages
 +: a shortcut to the *regular* page collection. `.Site.RegularPages` is equivalent to `where .Site.Pages "Kind" "page"`. See [`.Site.Pages`](#site-pages).
 +
 +.Site.Sections
 +: top-level directories of the site.
 +
 +.Site.Taxonomies
 +: the [taxonomies](/taxonomies/usage/) for the entire site.  Replaces the now-obsolete `.Site.Indexes` since v0.11. Also see section [Taxonomies elsewhere](#taxonomies-elsewhere).
 +
 +.Site.Title
 +: a string representing the title of the site.
 +
 +## The `.Site.Params` Variable
 +
 +`.Site.Params` is a container holding the values from the `params` section of your site configuration.
 +
 +### Example: `.Site.Params`
 +
 +The following `config.[yaml|toml|json]` defines a site-wide param for `description`:
 +
 +{{< code-toggle file="config" >}}
 +baseURL = "https://yoursite.example.com/"
 +
 +[params]
 +  description = "Tesla's Awesome Hugo Site"
 +  author = "Nikola Tesla"
 +{{</ code-toggle >}}
 +
 +You can use `.Site.Params` in a [partial template](/templates/partials/) to call the default site description:
 +
 +{{< code file="layouts/partials/head.html" >}}
 +<meta name="description" content="{{if .IsHome}}{{ $.Site.Params.description }}{{else}}{{.Description}}{{end}}" />
 +{{< /code >}}
 +
 +## The `.Site.Pages` Variable {#site-pages}
 +
 +### `.Site.Pages` compared to `.Pages`
 +
 +{{< readfile file="/content/en/readfiles/pages-vs-site-pages.md" markdown="true" >}}
 +
 +
 +
 +
 +[config]: /getting-started/configuration/
diff --cc docs/go.mod
index 2276b10772a9072826d39ec8d18eb57357c5e3b1,0000000000000000000000000000000000000000..bac6ed5615ec9252b9c586bcf148302bdc09944b
mode 100644,000000..100644
--- /dev/null
@@@ -1,5 -1,0 +1,5 @@@
- require github.com/gohugoio/gohugoioTheme v0.0.0-20200328100657-2bfd5f8c6aee // indirect
 +module github.com/gohugoio/hugoDocs
 +
 +go 1.12
 +
++require github.com/gohugoio/gohugoioTheme v0.0.0-20200518165806-0095b7b902a7 // indirect
diff --cc docs/go.sum
index a1c56c5e95bfb106f92247869c16bfb3d4423352,0000000000000000000000000000000000000000..4759bfa31a401f52c6060ec8637c7183dd993281
mode 100644,000000..100644
--- /dev/null
@@@ -1,19 -1,0 +1,23 @@@
 +github.com/gohugoio/gohugoioTheme v0.0.0-20190808163145-07b3c0f73b02/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191014144142-1f3a01deed7b h1:PWNjl46fvtz54PKO0BdiXOF6/4L/uCP0F3gtcCxGrJs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191014144142-1f3a01deed7b/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191021162625-2e7250ca437d h1:D3DcaYkuJbotdWNNAQpQl37txX4HQ6R5uMHoxVmTw0w=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20191021162625-2e7250ca437d/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123151337-9475fd449324 h1:UZwHDYtGY0uOKIvcm2LWd+xfFxD3X5L222LIJdI5RE4=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123151337-9475fd449324/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123204146-589b4c309025 h1:ScYFARz+bHX1rEr1donVknhRdxGY/cwqK1hHvWEfrlc=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123204146-589b4c309025/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123205007-5d6620a0db26 h1:acXfduibbWxji9tW0WkLHbjcXFsnd5uIwXe0WfwOazg=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200123205007-5d6620a0db26/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200128164921-1d0bc5482051 h1:cS14MnUGS6xwWYfPNshimm8HdMCZiYBxWkCD0VnvgVw=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200128164921-1d0bc5482051/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327225449-368f4cbef8d7 h1:cZ+ahAjSetbFv3aDJ9ipDbKyqaVlmkbSZ5cULgBTh+w=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327225449-368f4cbef8d7/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327231942-7f80b3d02bfa h1:kG+O/wT9UXomzp5eQiUuFVZ0l7YylAW6EVPLyjMxi/c=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200327231942-7f80b3d02bfa/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200328100657-2bfd5f8c6aee h1:PJZhCwnuVLyafDWNPSHk9iJvk6gEIvPRnycy7Pq3peA=
 +github.com/gohugoio/gohugoioTheme v0.0.0-20200328100657-2bfd5f8c6aee/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
++github.com/gohugoio/gohugoioTheme v0.0.0-20200518164958-62cbad03c40f h1:Ge3JACszSUyJW2Az9cJzWdo4PUqdijJA1RxoQSVMBSI=
++github.com/gohugoio/gohugoioTheme v0.0.0-20200518164958-62cbad03c40f/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
++github.com/gohugoio/gohugoioTheme v0.0.0-20200518165806-0095b7b902a7 h1:Sy0hlWyZmFtdSY0Cobvw1ZYm3G1aR5+4DuFNRbMkh48=
++github.com/gohugoio/gohugoioTheme v0.0.0-20200518165806-0095b7b902a7/go.mod h1:kpw3SS48xZvLQGEXKu8u5XHgXkPvL8DX3oGa07+z8Bs=
index 2535cebd782268664a9279349829161a8a274cac,0000000000000000000000000000000000000000..6a0714c1d426037535056b5329a670a5651a98e7
mode 100644,000000..100644
--- /dev/null
@@@ -1,31 -1,0 +1,31 @@@
- HUGO_VERSION = "0.70.0"
 +[build]
 +publish = "public"
 +command = "hugo --gc --minify"
 +
 +[context.production.environment]
- HUGO_VERSION = "0.70.0"
++HUGO_VERSION = "0.71.1"
 +HUGO_ENV = "production"
 +HUGO_ENABLEGITINFO = "true"
 +
 +[context.split1]
 +command = "hugo --gc --minify --enableGitInfo"
 +
 +[context.split1.environment]
- HUGO_VERSION = "0.70.0"
++HUGO_VERSION = "0.71.1"
 +HUGO_ENV = "production"
 +
 +[context.deploy-preview]
 +command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
 +
 +[context.deploy-preview.environment]
- HUGO_VERSION = "0.70.0"
++HUGO_VERSION = "0.71.1"
 +
 +[context.branch-deploy]
 +command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
 +
 +[context.branch-deploy.environment]
++HUGO_VERSION = "0.71.1"
 +
 +[context.next.environment]
 +HUGO_ENABLEGITINFO = "true"
 +
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f25693540bb42907fdbf7e43da1ffd18700a0360
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aed2230d30f4d39b95f60b8f241bb2328607c348
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fc0b2d166c924a560fc94f0b1b0b9aa5959b4089
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..26e8dded57b944ecb627b7db6c5709185e84c6b4
new file mode 100644 (file)
Binary files differ
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b3f048d641ae575496e950eefef3898fc97033a0
new file mode 100644 (file)
Binary files differ