From bb03c5037b0c6abf84d0e8f5d0e03b22208ef41a Mon Sep 17 00:00:00 2001 From: skt-t1-byungi Date: Wed, 15 May 2019 23:30:38 +0900 Subject: [PATCH 1/7] First commit --- placeholder | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 placeholder diff --git a/placeholder b/placeholder new file mode 100644 index 0000000..e69de29 From ffdbdd4a05dfc62a28ae2c536a58ebc01d2fb1b3 Mon Sep 17 00:00:00 2001 From: skt-t1-byungi Date: Wed, 15 May 2019 23:30:39 +0900 Subject: [PATCH 2/7] Site updated: 2019-05-15 23:30:38 --- archives/2019/03/index.html | 639 +++ archives/2019/04/index.html | 674 +++ archives/2019/05/index.html | 639 +++ archives/2019/index.html | 744 ++++ archives/index.html | 744 ++++ css/main.css | 2961 +++++++++++++ images/algolia_logo.svg | 9 + images/apple-touch-icon-next.png | Bin 0 -> 1544 bytes images/avatar.gif | Bin 0 -> 2926 bytes images/cc-by-nc-nd.svg | 121 + images/cc-by-nc-sa.svg | 121 + images/cc-by-nc.svg | 121 + images/cc-by-nd.svg | 117 + images/cc-by-sa.svg | 121 + images/cc-by.svg | 121 + images/cc-zero.svg | 72 + images/favicon-16x16-next.png | Bin 0 -> 435 bytes images/favicon-32x32-next.png | Bin 0 -> 640 bytes images/loading.gif | Bin 0 -> 35 bytes images/logo.svg | 23 + images/logo/android-icon-144x144.png | Bin 0 -> 7695 bytes images/logo/android-icon-192x192.png | Bin 0 -> 8688 bytes images/logo/android-icon-36x36.png | Bin 0 -> 1705 bytes images/logo/android-icon-48x48.png | Bin 0 -> 2316 bytes images/logo/android-icon-72x72.png | Bin 0 -> 2537 bytes images/logo/android-icon-96x96.png | Bin 0 -> 4887 bytes images/logo/apple-icon-114x114.png | Bin 0 -> 5997 bytes images/logo/apple-icon-120x120.png | Bin 0 -> 6262 bytes images/logo/apple-icon-144x144.png | Bin 0 -> 7695 bytes images/logo/apple-icon-152x152.png | Bin 0 -> 8244 bytes images/logo/apple-icon-180x180.png | Bin 0 -> 10109 bytes images/logo/apple-icon-57x57.png | Bin 0 -> 2178 bytes images/logo/apple-icon-60x60.png | Bin 0 -> 2332 bytes images/logo/apple-icon-72x72.png | Bin 0 -> 2537 bytes images/logo/apple-icon-76x76.png | Bin 0 -> 2648 bytes images/logo/apple-icon-precomposed.png | Bin 0 -> 9262 bytes images/logo/apple-icon.png | Bin 0 -> 9262 bytes images/logo/browserconfig.xml | 2 + images/logo/favicon-16x16.png | Bin 0 -> 1097 bytes images/logo/favicon-32x32.png | Bin 0 -> 1745 bytes images/logo/favicon-96x96.png | Bin 0 -> 4887 bytes images/logo/favicon.ico | Bin 0 -> 1150 bytes images/logo/manifest.json | 1 + images/logo/ms-icon-144x144.png | Bin 0 -> 7695 bytes images/logo/ms-icon-150x150.png | Bin 0 -> 8122 bytes images/logo/ms-icon-310x310.png | Bin 0 -> 22210 bytes images/logo/ms-icon-70x70.png | Bin 0 -> 2490 bytes images/placeholder.gif | Bin 0 -> 35 bytes images/quote-l.svg | 13 + images/quote-r.svg | 12 + images/searchicon.png | Bin 0 -> 766 bytes index.html | 1236 ++++++ js/src/affix.js | 168 + js/src/algolia-search.js | 114 + js/src/exturl.js | 14 + js/src/js.cookie.js | 166 + js/src/motion.js | 372 ++ js/src/next-boot.js | 53 + js/src/post-details.js | 104 + js/src/schemes/muse.js | 9 + js/src/schemes/pisces.js | 57 + js/src/scroll-cookie.js | 25 + js/src/scrollspy.js | 179 + js/src/utils.js | 340 ++ lib/jquery/index.js | 4 + lib/velocity/velocity.js | 3868 +++++++++++++++++ lib/velocity/velocity.min.js | 4 + lib/velocity/velocity.ui.js | 762 ++++ lib/velocity/velocity.ui.min.js | 2 + placeholder | 0 posts/WebRTC/webrtc-browser.jpg | Bin 0 -> 32632 bytes posts/WebRTC/webrtc.jpg | Bin 0 -> 71775 bytes .../index.html" | 824 ++++ .../index.html" | 851 ++++ .../index.html" | 886 ++++ .../index.html" | 783 ++++ tags/codeJS/index.html | 670 +++ tags/hook/index.html | 618 +++ tags/react/index.html | 618 +++ tags/redux/index.html | 618 +++ tags/state/index.html | 618 +++ .../index.html" | 618 +++ .../index.html" | 644 +++ 83 files changed, 22480 insertions(+) create mode 100644 archives/2019/03/index.html create mode 100644 archives/2019/04/index.html create mode 100644 archives/2019/05/index.html create mode 100644 archives/2019/index.html create mode 100644 archives/index.html create mode 100644 css/main.css create mode 100644 images/algolia_logo.svg create mode 100644 images/apple-touch-icon-next.png create mode 100644 images/avatar.gif create mode 100644 images/cc-by-nc-nd.svg create mode 100644 images/cc-by-nc-sa.svg create mode 100644 images/cc-by-nc.svg create mode 100644 images/cc-by-nd.svg create mode 100644 images/cc-by-sa.svg create mode 100644 images/cc-by.svg create mode 100644 images/cc-zero.svg create mode 100644 images/favicon-16x16-next.png create mode 100644 images/favicon-32x32-next.png create mode 100644 images/loading.gif create mode 100644 images/logo.svg create mode 100644 images/logo/android-icon-144x144.png create mode 100644 images/logo/android-icon-192x192.png create mode 100644 images/logo/android-icon-36x36.png create mode 100644 images/logo/android-icon-48x48.png create mode 100644 images/logo/android-icon-72x72.png create mode 100644 images/logo/android-icon-96x96.png create mode 100644 images/logo/apple-icon-114x114.png create mode 100644 images/logo/apple-icon-120x120.png create mode 100644 images/logo/apple-icon-144x144.png create mode 100644 images/logo/apple-icon-152x152.png create mode 100644 images/logo/apple-icon-180x180.png create mode 100644 images/logo/apple-icon-57x57.png create mode 100644 images/logo/apple-icon-60x60.png create mode 100644 images/logo/apple-icon-72x72.png create mode 100644 images/logo/apple-icon-76x76.png create mode 100644 images/logo/apple-icon-precomposed.png create mode 100644 images/logo/apple-icon.png create mode 100644 images/logo/browserconfig.xml create mode 100644 images/logo/favicon-16x16.png create mode 100644 images/logo/favicon-32x32.png create mode 100644 images/logo/favicon-96x96.png create mode 100644 images/logo/favicon.ico create mode 100644 images/logo/manifest.json create mode 100644 images/logo/ms-icon-144x144.png create mode 100644 images/logo/ms-icon-150x150.png create mode 100644 images/logo/ms-icon-310x310.png create mode 100644 images/logo/ms-icon-70x70.png create mode 100644 images/placeholder.gif create mode 100644 images/quote-l.svg create mode 100644 images/quote-r.svg create mode 100644 images/searchicon.png create mode 100644 index.html create mode 100644 js/src/affix.js create mode 100644 js/src/algolia-search.js create mode 100644 js/src/exturl.js create mode 100644 js/src/js.cookie.js create mode 100644 js/src/motion.js create mode 100644 js/src/next-boot.js create mode 100644 js/src/post-details.js create mode 100644 js/src/schemes/muse.js create mode 100644 js/src/schemes/pisces.js create mode 100644 js/src/scroll-cookie.js create mode 100644 js/src/scrollspy.js create mode 100644 js/src/utils.js create mode 100644 lib/jquery/index.js create mode 100644 lib/velocity/velocity.js create mode 100644 lib/velocity/velocity.min.js create mode 100644 lib/velocity/velocity.ui.js create mode 100644 lib/velocity/velocity.ui.min.js delete mode 100644 placeholder create mode 100644 posts/WebRTC/webrtc-browser.jpg create mode 100644 posts/WebRTC/webrtc.jpg create mode 100644 "posts/\352\270\200\353\241\234\353\262\214 \354\203\201\355\203\234\352\264\200\353\246\254\353\245\274 \354\213\254\355\224\214\355\225\230\352\262\214, use-simple-store!/index.html" create mode 100644 "posts/\353\254\270\354\204\234\355\205\234\355\224\214\353\246\277/index.html" create mode 100644 "posts/\354\233\271\354\240\221\352\267\274\354\204\261/index.html" create mode 100644 "posts/\354\236\221\354\204\261\352\260\200\354\235\264\353\223\234/index.html" create mode 100644 tags/codeJS/index.html create mode 100644 tags/hook/index.html create mode 100644 tags/react/index.html create mode 100644 tags/redux/index.html create mode 100644 tags/state/index.html create mode 100644 "tags/\354\233\271\354\240\221\352\267\274\354\204\261/index.html" create mode 100644 "tags/\354\236\221\354\204\261\352\260\200\354\235\264\353\223\234/index.html" diff --git a/archives/2019/03/index.html b/archives/2019/03/index.html new file mode 100644 index 0000000..f8cc9f1 --- /dev/null +++ b/archives/2019/03/index.html @@ -0,0 +1,639 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 아카이브 | Cross Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/04/index.html b/archives/2019/04/index.html new file mode 100644 index 0000000..0f33832 --- /dev/null +++ b/archives/2019/04/index.html @@ -0,0 +1,674 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 아카이브 | Cross Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/05/index.html b/archives/2019/05/index.html new file mode 100644 index 0000000..251fb89 --- /dev/null +++ b/archives/2019/05/index.html @@ -0,0 +1,639 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 아카이브 | Cross Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/index.html b/archives/2019/index.html new file mode 100644 index 0000000..e6d402d --- /dev/null +++ b/archives/2019/index.html @@ -0,0 +1,744 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 아카이브 | Cross Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 0000000..36bc4df --- /dev/null +++ b/archives/index.html @@ -0,0 +1,744 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 아카이브 | Cross Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..eb3b6ce --- /dev/null +++ b/css/main.css @@ -0,0 +1,2961 @@ +/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} +body { + margin: 0; +} +main { + display: block; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} +a { + background-color: transparent; +} +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} +b, +strong { + font-weight: bolder; +} +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +img { + border-style: none; +} +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} +button, +input { +/* 1 */ + overflow: visible; +} +button, +select { +/* 1 */ + text-transform: none; +} +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} +fieldset { + padding: 0.35em 0.75em 0.625em; +} +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} +progress { + vertical-align: baseline; +} +textarea { + overflow: auto; +} +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} +details { + display: block; +} +summary { + display: list-item; +} +template { + display: none; +} +[hidden] { + display: none; +} +::selection { + background: #262a30; + color: #fff; +} +body { + position: relative; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 14px; + line-height: 2; + color: #555; + background: #eee; +} +@media (max-width: 991px) { + body { + padding-right: 0 !important; + } +} +@media (min-width: 1200px) { + body { + font-size: 16px; + } +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 20px 0 15px; + padding: 0; + font-weight: bold; + line-height: 1.5; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +h1 { + font-size: 22px; +} +h1 code { + font-size: 1em; +} +@media (max-width: 767px) { + h1 { + font-size: 18px; + } + h1 code { + font-size: 1em; + } +} +h2 { + font-size: 20px; +} +h2 code { + font-size: 1em; +} +@media (max-width: 767px) { + h2 { + font-size: 16px; + } + h2 code { + font-size: 1em; + } +} +h3 { + font-size: 18px; +} +h3 code { + font-size: 1em; +} +@media (max-width: 767px) { + h3 { + font-size: 14px; + } + h3 code { + font-size: 1em; + } +} +h4 { + font-size: 16px; +} +h4 code { + font-size: 1em; +} +@media (max-width: 767px) { + h4 { + font-size: 12px; + } + h4 code { + font-size: 1em; + } +} +h5 { + font-size: 14px; +} +h5 code { + font-size: 1em; +} +@media (max-width: 767px) { + h5 { + font-size: 10px; + } + h5 code { + font-size: 1em; + } +} +h6 { + font-size: 12px; +} +h6 code { + font-size: 1em; +} +@media (max-width: 767px) { + h6 { + font-size: 8px; + } + h6 code { + font-size: 1em; + } +} +p { + margin: 0 0 20px 0; +} +a, +span.exturl { + overflow-wrap: break-word; + word-wrap: break-word; + background-color: transparent; + color: #555; + text-decoration: none; + outline: none; + border-bottom: 1px solid #999; + cursor: pointer; +} +a:hover, +span.exturl:hover { + color: #222; + border-bottom-color: #222; +} +video { + max-width: 100%; + display: block; + margin-left: auto; + margin-right: auto; +} +img { + display: block; + margin: auto; + max-width: 100%; + height: auto; +} +hr { + margin: 40px 0; + height: 3px; + border: none; + background-color: #ddd; + background-image: repeating-linear-gradient(-45deg, #fff, #fff 4px, transparent 4px, transparent 8px); +} +blockquote { + margin: 0; + padding: 0 15px; + color: #666; + border-left: 4px solid #ddd; +} +blockquote cite::before { + content: "-"; + padding: 0 5px; +} +dt { + font-weight: 700; +} +dd { + margin: 0; + padding: 0; +} +kbd { + border: 1px solid #ccc; + border-radius: 0.2em; + box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1); + background-color: #f9f9f9; + font-family: inherit; + background-image: linear-gradient(top, #eee, #fff, #eee); + padding: 0.1em 0.3em; + white-space: nowrap; +} +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.clearfix:before, +.clearfix:after { + content: " "; + display: table; +} +.clearfix:after { + clear: both; +} +.pullquote { + width: 45%; +} +.pullquote.left { + float: left; + margin-left: 5px; + margin-right: 10px; +} +.pullquote.right { + float: right; + margin-left: 10px; + margin-right: 5px; +} +.affix { + position: fixed; +} +.translation { + margin-top: -20px; + font-size: 14px; + color: #999; +} +.scrollbar-measure { + width: 100px; + height: 100px; + overflow: scroll; + position: absolute; + top: -9999px; +} +.use-motion .motion-element { + opacity: 0; +} +.table-container { + margin: 20px 0; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + font-size: 14px; +} +table > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +table > tbody > tr:hover { + background-color: #f5f5f5; +} +caption, +th, +td { + padding: 8px; + text-align: left; + vertical-align: middle; + font-weight: normal; +} +th, +td { + border: 1px solid #ddd; + border-bottom: 3px solid #ddd; +} +th { + padding-bottom: 10px; + font-weight: 700; +} +td { + border-bottom-width: 1px; +} +html, +body { + height: 100%; +} +.container { + position: relative; +} +.header-inner { + margin: 0 auto; + padding: 100px 0 70px; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .container .header-inner { + width: 1160px; + } +} +@media (min-width: 1600px) { + .container .header-inner { + width: 73%; + } +} +.main-inner { + margin: 0 auto; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .container .main-inner { + width: 1160px; + } +} +@media (min-width: 1600px) { + .container .main-inner { + width: 73%; + } +} +.footer { + padding: 20px 0; +} +.footer-inner { + box-sizing: border-box; + margin: 0px auto; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .container .footer-inner { + width: 1160px; + } +} +@media (min-width: 1600px) { + .container .footer-inner { + width: 73%; + } +} +pre, +.highlight { + overflow: auto; + margin: 20px 0; + padding: 0; + font-size: 14px; + color: #4d4d4c; + background: #f7f7f7; + line-height: 1.6; +} +pre, +code { + font-family: consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace; +} +code { + overflow-wrap: break-word; + word-wrap: break-word; + padding: 2px 4px; + color: #555; + background: #eee; + border-radius: 3px; + font-size: 14px; +} +pre { + padding: 10px; +} +pre code { + padding: 0; + color: #4d4d4c; + background: none; + text-shadow: none; +} +.highlight { + border-radius: 1px; +} +.highlight pre { + border: none; + margin: 0; + padding: 10px 0; +} +.highlight table { + margin: 0; + width: auto; + border: none; +} +.highlight td { + border: none; + padding: 0; +} +.highlight figcaption { + font-size: 1em; + color: #4d4d4c; + line-height: 1em; + margin-bottom: 1em; + margin: 0em; + padding: 0.5em; + background: #eee; + border-bottom: 1px solid #e9e9e9; +} +.highlight figcaption:before, +.highlight figcaption:after { + content: " "; + display: table; +} +.highlight figcaption:after { + clear: both; +} +.highlight figcaption a { + float: right; + color: #4d4d4c; +} +.highlight figcaption a:hover { + border-bottom-color: #4d4d4c; +} +.highlight .gutter pre { + padding-left: 10px; + padding-right: 10px; + color: #869194; + text-align: right; + background-color: #eff2f3; +} +.highlight .code pre { + width: 100%; + padding-left: 10px; + padding-right: 10px; + background-color: #f7f7f7; +} +.highlight .line { + height: 20px; +} +.gutter { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.gist table { + width: auto; +} +.gist table td { + border: none; +} +pre .deletion { + background: #fdd; +} +pre .addition { + background: #dfd; +} +pre .meta { + color: #8959a8; +} +pre .comment { + color: #8e908c; +} +pre .variable, +pre .attribute, +pre .tag, +pre .name, +pre .regexp, +pre .ruby .constant, +pre .xml .tag .title, +pre .xml .pi, +pre .xml .doctype, +pre .html .doctype, +pre .css .id, +pre .css .class, +pre .css .pseudo { + color: #c82829; +} +pre .number, +pre .preprocessor, +pre .built_in, +pre .builtin-name, +pre .literal, +pre .params, +pre .constant, +pre .command { + color: #f5871f; +} +pre .ruby .class .title, +pre .css .rules .attribute, +pre .string, +pre .symbol, +pre .value, +pre .inheritance, +pre .header, +pre .ruby .symbol, +pre .xml .cdata, +pre .special, +pre .formula { + color: #718c00; +} +pre .title, +pre .css .hexcolor { + color: #3e999f; +} +pre .function, +pre .python .decorator, +pre .python .title, +pre .ruby .function .title, +pre .ruby .title .keyword, +pre .perl .sub, +pre .javascript .title, +pre .coffeescript .title { + color: #4271ae; +} +pre .keyword, +pre .javascript .function { + color: #8959a8; +} +.posts-expand .post-body img.full-image { + border: none; +} +.blockquote-center, +.page-home .post-type-quote blockquote, +.page-post-detail .post-type-quote blockquote { + position: relative; + margin: 40px 0; + padding: 0; + border-left: none; + text-align: center; +} +.blockquote-center::before, +.page-home .post-type-quote blockquote::before, +.page-post-detail .post-type-quote blockquote::before, +.blockquote-center::after, +.page-home .post-type-quote blockquote::after, +.page-post-detail .post-type-quote blockquote::after { + position: absolute; + content: ' '; + display: block; + width: 100%; + height: 24px; + opacity: 0.2; + background-repeat: no-repeat; + background-position: 0 -6px; + background-size: 22px 22px; +} +.blockquote-center::before, +.page-home .post-type-quote blockquote::before, +.page-post-detail .post-type-quote blockquote::before { + top: -20px; + background-image: url("../images/quote-l.svg"); + border-top: 1px solid #ccc; +} +.blockquote-center::after, +.page-home .post-type-quote blockquote::after, +.page-post-detail .post-type-quote blockquote::after { + bottom: -20px; + background-image: url("../images/quote-r.svg"); + border-bottom: 1px solid #ccc; + background-position: 100% 8px; +} +.blockquote-center p, +.page-home .post-type-quote blockquote p, +.page-post-detail .post-type-quote blockquote p, +.blockquote-center div, +.page-home .post-type-quote blockquote div, +.page-post-detail .post-type-quote blockquote div { + text-align: center; +} +.post .post-body .group-picture img { + box-sizing: border-box; + padding: 0 3px; + border: none; +} +.post .group-picture-row { + overflow: hidden; + margin-top: 6px; +} +.post .group-picture-row:first-child { + margin-top: 0; +} +.post .group-picture-column { + float: left; +} +.page-post-detail .post-body .group-picture-column { + float: none; + margin-top: 10px; + width: auto !important; +} +.page-post-detail .post-body .group-picture-column img { + margin: 0 auto; +} +.page-archive .group-picture-container { + overflow: hidden; +} +.page-archive .group-picture-row { + float: left; +} +.page-archive .group-picture-row:first-child { + margin-top: 6px; +} +.page-archive .group-picture-column { + max-width: 150px; + max-height: 150px; +} +.post-body .label { + display: inline; + padding: 0 2px; + white-space: nowrap; +} +.post-body .label.default { + background-color: #f0f0f0; +} +.post-body .label.primary { + background-color: #efe6f7; +} +.post-body .label.info { + background-color: #e5f2f8; +} +.post-body .label.success { + background-color: #e7f4e9; +} +.post-body .label.warning { + background-color: #fcf6e1; +} +.post-body .label.danger { + background-color: #fae8eb; +} +.post-body .note { + position: relative; + padding: 15px; + margin-bottom: 20px; + border: 1px solid #eee; + border-left-width: 5px; + border-radius: 3px; +} +.post-body .note h2, +.post-body .note h3, +.post-body .note h4, +.post-body .note h5, +.post-body .note h6 { + margin-top: 0; + margin-bottom: 0; + border-bottom: initial; + padding-top: 0 !important; +} +.post-body .note p:first-child, +.post-body .note ul:first-child, +.post-body .note ol:first-child, +.post-body .note table:first-child, +.post-body .note pre:first-child, +.post-body .note blockquote:first-child { + margin-top: 0; +} +.post-body .note p:last-child, +.post-body .note ul:last-child, +.post-body .note ol:last-child, +.post-body .note table:last-child, +.post-body .note pre:last-child, +.post-body .note blockquote:last-child { + margin-bottom: 0; +} +.post-body .note.default { + border-left-color: #777; +} +.post-body .note.default h2, +.post-body .note.default h3, +.post-body .note.default h4, +.post-body .note.default h5, +.post-body .note.default h6 { + color: #777; +} +.post-body .note.primary { + border-left-color: #6f42c1; +} +.post-body .note.primary h2, +.post-body .note.primary h3, +.post-body .note.primary h4, +.post-body .note.primary h5, +.post-body .note.primary h6 { + color: #6f42c1; +} +.post-body .note.info { + border-left-color: #428bca; +} +.post-body .note.info h2, +.post-body .note.info h3, +.post-body .note.info h4, +.post-body .note.info h5, +.post-body .note.info h6 { + color: #428bca; +} +.post-body .note.success { + border-left-color: #5cb85c; +} +.post-body .note.success h2, +.post-body .note.success h3, +.post-body .note.success h4, +.post-body .note.success h5, +.post-body .note.success h6 { + color: #5cb85c; +} +.post-body .note.warning { + border-left-color: #f0ad4e; +} +.post-body .note.warning h2, +.post-body .note.warning h3, +.post-body .note.warning h4, +.post-body .note.warning h5, +.post-body .note.warning h6 { + color: #f0ad4e; +} +.post-body .note.danger { + border-left-color: #d9534f; +} +.post-body .note.danger h2, +.post-body .note.danger h3, +.post-body .note.danger h4, +.post-body .note.danger h5, +.post-body .note.danger h6 { + color: #d9534f; +} +.post-body .tabs { + position: relative; + display: block; + margin-bottom: 20px; + padding-top: 10px; +} +.post-body .tabs ul.nav-tabs { + margin: 0; + padding: 0; + display: flex; + margin-bottom: -1px; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs { + display: block; + margin-bottom: 5px; + } +} +.post-body .tabs ul.nav-tabs li.tab { + list-style-type: none !important; + margin: 0 0.25em 0 0; + border-top: 3px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab { + margin: initial; + border-top: 1px solid transparent; + border-left: 3px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + } +} +.post-body .tabs ul.nav-tabs li.tab a { + outline: 0; + border-bottom: initial; + display: block; + line-height: 1.8em; + padding: 0.25em 0.75em; + transition-duration: 0.2s; + transition-timing-function: ease-out; + transition-delay: 0s; +} +.post-body .tabs ul.nav-tabs li.tab a i { + width: 1.285714285714286em; +} +.post-body .tabs ul.nav-tabs li.tab.active { + border-top: 3px solid #fc6423; + border-left: 1px solid #ddd; + border-right: 1px solid #ddd; + background-color: #fff; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab.active { + border-top: 1px solid #ddd; + border-left: 3px solid #fc6423; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + } +} +.post-body .tabs ul.nav-tabs li.tab.active a { + cursor: default; + color: #555; +} +.post-body .tabs .tab-content { + background-color: #fff; +} +.post-body .tabs .tab-content .tab-pane { + border: 1px solid #ddd; + padding: 20px 20px 0 20px; +} +.post-body .tabs .tab-content .tab-pane:not(.active) { + display: none; +} +.post-body .tabs .tab-content .tab-pane.active { + display: block; +} +.btn { + display: inline-block; + padding: 0 20px; + font-size: 14px; + color: #555; + background: #fff; + border: 2px solid #555; + text-decoration: none; + border-radius: 2px; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + line-height: 2; +} +.btn:hover { + border-color: #222; + color: #fff; + background: #222; +} +.btn +.btn { + margin: 0 0 8px 8px; +} +.btn .fa-fw { + width: 1.285714285714286em; + text-align: left; +} +.btn-bar { + display: block; + width: 22px; + height: 2px; + background: #555; + border-radius: 1px; +} +.btn-bar+.btn-bar { + margin-top: 4px; +} +.pagination { + margin: 120px 0 40px; + text-align: center; + border-top: 1px solid #eee; +} +.page-number-basic, +.pagination .prev, +.pagination .next, +.pagination .page-number, +.pagination .space { + display: inline-block; + position: relative; + top: -1px; + margin: 0 10px; + padding: 0 11px; +} +@media (max-width: 767px) { + .page-number-basic, + .pagination .prev, + .pagination .next, + .pagination .page-number, + .pagination .space { + margin: 0 5px; + } +} +.pagination .prev, +.pagination .next, +.pagination .page-number { + border-bottom: 0; + border-top: 1px solid #eee; + transition-property: border-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.pagination .prev:hover, +.pagination .next:hover, +.pagination .page-number:hover { + border-top-color: #222; +} +.pagination .space { + padding: 0; + margin: 0; +} +.pagination .prev { + margin-left: 0; +} +.pagination .next { + margin-right: 0; +} +.pagination .page-number.current { + color: #fff; + background: #ccc; + border-top-color: #ccc; +} +@media (max-width: 767px) { + .pagination { + border-top: none; + } + .pagination .prev, + .pagination .next, + .pagination .page-number { + margin-bottom: 10px; + border-top: 0; + border-bottom: 1px solid #eee; + padding: 0 10px; + } + .pagination .prev:hover, + .pagination .next:hover, + .pagination .page-number:hover { + border-bottom-color: #222; + } +} +.comments { + margin: 60px 20px 0; +} +.back-to-top { + box-sizing: border-box; + position: fixed; + bottom: -100px; + right: 30px; + z-index: 1050; + padding: 0 6px; + width: initial; + background: #222; + font-size: 12px; + opacity: 0.6; + color: #fff; + cursor: pointer; + text-align: center; + transition-property: bottom; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.back-to-top.back-to-top-on { + bottom: 30px; +} +.back-to-top:hover { + color: #0684bd; +} +.header { + background: transparent; +} +.header-inner { + position: relative; +} +.headband { + height: 3px; + background: #222; +} +.site-meta { + margin: 0; + text-align: center; +} +@media (max-width: 767px) { + .site-meta { + text-align: center; + } +} +.brand { + position: relative; + display: inline-block; + padding: 0 40px; + color: #fff; + background: #222; + border-bottom: none; +} +.brand:hover { + color: #fff; +} +.logo { + display: inline-block; + margin-right: 5px; + line-height: 36px; + vertical-align: top; +} +.site-title { + display: inline-block; + vertical-align: top; + line-height: 36px; + font-size: 20px; + font-weight: normal; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +.site-subtitle { + margin-top: 10px; + font-size: 13px; + color: #ddd; +} +.use-motion .brand { + opacity: 0; +} +.use-motion .logo, +.use-motion .site-title, +.use-motion .site-subtitle, +.use-motion .custom-logo-image { + opacity: 0; + position: relative; + top: -10px; +} +.site-nav-toggle { + display: none; + position: absolute; + top: 10px; + left: 10px; +} +@media (max-width: 767px) { + .site-nav-toggle { + display: block; + } +} +.site-nav-toggle button { + margin-top: 2px; + padding: 9px 10px; + background: transparent; + border: none; +} +@media (max-width: 767px) { + .site-nav { + display: none; + margin: 0 -10px; + padding: 0 10px; + clear: both; + border-top: 1px solid #ddd; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav { + display: block !important; + } +} +@media (min-width: 992px) { + .site-nav { + display: block !important; + } +} +.menu { + margin-top: 20px; + padding-left: 0; + text-align: center; +} +.menu .menu-item { + display: inline-block; + margin: 0 10px; + list-style: none; +} +@media (max-width: 767px) { + .menu .menu-item { + margin-top: 10px; + } +} +.menu .menu-item a, +.menu .menu-item span.exturl { + display: block; + font-size: 13px; + line-height: inherit; + border-bottom: 1px solid transparent; + transition-property: border-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.menu .menu-item a:hover, +.menu .menu-item span.exturl:hover { + border-bottom-color: #222; +} +.menu .menu-item .fa { + margin-right: 5px; +} +.use-motion .menu-item { + opacity: 0; +} +.post-body { + overflow-wrap: break-word; + word-wrap: break-word; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +.post-body span.exturl .fa { + font-size: 14px; + margin-left: 4px; +} +.post-body .fancybox img { + display: block !important; + margin: 0 auto; + cursor: pointer; + cursor: zoom-in; +} +.post-body .image-caption, +.post-body .figure .caption { + margin: -20px auto 15px; + text-align: center; + font-size: 14px; + color: #999; + font-weight: bold; + line-height: 1; +} +.post-sticky-flag { + display: inline-block; + font-size: 16px; + transform: rotate(30deg); +} +.use-motion .post-block, +.use-motion .pagination, +.use-motion .comments { + opacity: 0; +} +.use-motion .post-header { + opacity: 0; +} +.use-motion .post-body { + opacity: 0; +} +.use-motion .collection-title { + opacity: 0; +} +.posts-expand { + padding-top: 40px; +} +@media (max-width: 767px) { + .posts-expand { + margin: 0 20px; + } + .post-body pre .gutter pre { + padding-right: 10px; + } + .post-body .highlight { + margin-left: 0px; + margin-right: 0px; + padding: 0; + } + .post-body .highlight .gutter pre { + padding-right: 10px; + } +} +@media (min-width: 992px) { + .posts-expand .post-body { + text-align: justify; + } +} +@media (max-width: 991px) { + .posts-expand .post-body { + text-align: justify; + } +} +.posts-expand .post-body h2, +.posts-expand .post-body h3, +.posts-expand .post-body h4, +.posts-expand .post-body h5, +.posts-expand .post-body h6 { + padding-top: 10px; +} +.posts-expand .post-body h2 .header-anchor, +.posts-expand .post-body h3 .header-anchor, +.posts-expand .post-body h4 .header-anchor, +.posts-expand .post-body h5 .header-anchor, +.posts-expand .post-body h6 .header-anchor { + float: right; + margin-left: 10px; + color: #ccc; + border-bottom-style: none; + visibility: hidden; +} +.posts-expand .post-body h2 .header-anchor:hover, +.posts-expand .post-body h3 .header-anchor:hover, +.posts-expand .post-body h4 .header-anchor:hover, +.posts-expand .post-body h5 .header-anchor:hover, +.posts-expand .post-body h6 .header-anchor:hover { + color: inherit; +} +.posts-expand .post-body h2:hover .header-anchor, +.posts-expand .post-body h3:hover .header-anchor, +.posts-expand .post-body h4:hover .header-anchor, +.posts-expand .post-body h5:hover .header-anchor, +.posts-expand .post-body h6:hover .header-anchor { + visibility: visible; +} +.posts-expand .post-body img { + box-sizing: border-box; + margin: 0 auto 25px; + padding: 3px; + border: 1px solid #ddd; +} +@media (max-width: 767px) { + .posts-collapse { + margin: 0 20px; + } + .posts-collapse .post-title, + .posts-collapse .post-meta { + display: block; + width: auto; + text-align: left; + } +} +.posts-collapse { + position: relative; + z-index: 1010; + margin-left: 55px; +} +.posts-collapse::after { + content: " "; + position: absolute; + top: 20px; + left: 0; + margin-left: -2px; + width: 4px; + height: 100%; + background: #f5f5f5; + z-index: -1; +} +@media (max-width: 767px) { + .posts-collapse { + margin: 0 20px; + } +} +.posts-collapse .collection-title { + position: relative; + margin: 60px 0; +} +.posts-collapse .collection-title h1, +.posts-collapse .collection-title h2 { + margin-left: 20px; +} +.posts-collapse .collection-title small { + color: #bbb; + margin-left: 5px; +} +.posts-collapse .collection-title::before { + content: " "; + position: absolute; + left: 0; + top: 50%; + margin-left: -4px; + margin-top: -4px; + width: 8px; + height: 8px; + background: #bbb; + border-radius: 50%; +} +.posts-collapse .post { + margin: 30px 0; +} +.posts-collapse .post-header { + position: relative; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: border; + border-bottom: 1px dashed #ccc; +} +.posts-collapse .post-header::before { + content: " "; + position: absolute; + left: 0; + top: 12px; + width: 6px; + height: 6px; + margin-left: -4px; + background: #bbb; + border-radius: 50%; + border: 1px solid #fff; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: background; +} +.posts-collapse .post-header:hover { + border-bottom-color: #666; +} +.posts-collapse .post-header:hover::before { + background: #222; +} +.posts-collapse .post-meta { + position: absolute; + font-size: 12px; + left: 20px; + top: 5px; +} +.posts-collapse .post-comments-count { + display: none; +} +.posts-collapse .post-title { + margin-left: 60px; + font-size: 16px; + font-weight: normal; + line-height: inherit; +} +.posts-collapse .post-title::after { + margin-left: 3px; + opacity: 0.6; +} +.posts-collapse .post-title a, +.posts-collapse .post-title span.exturl { + color: #666; + border-bottom: none; +} +.page-home .post-type-quote .post-header, +.page-post-detail .post-type-quote .post-header, +.page-home .post-type-quote .post-tags, +.page-post-detail .post-type-quote .post-tags { + display: none; +} +.posts-expand .post-title { + overflow-wrap: break-word; + word-wrap: break-word; + text-align: center; + font-weight: 400; +} +.posts-expand .post-title-link { + display: inline-block; + position: relative; + color: #555; + border-bottom: none; + line-height: 1.2; + vertical-align: top; +} +.posts-expand .post-title-link::before { + content: ""; + position: absolute; + width: 100%; + height: 2px; + bottom: 0; + left: 0; + background-color: #000; + visibility: hidden; + transform: scaleX(0); + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.posts-expand .post-title-link:hover::before { + visibility: visible; + transform: scaleX(1); +} +.posts-expand .post-title-link .fa { + font-size: 20px; + margin-left: 5px; +} +.posts-expand .post-meta { + margin: 3px 0 60px 0; + color: #999; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 12px; + text-align: center; +} +.posts-expand .post-meta .post-category-list { + display: inline-block; + margin: 0; + padding: 3px; +} +.posts-expand .post-meta .post-category-list-link { + color: #999; +} +.posts-expand .post-meta .post-description { + font-size: 14px; + margin-top: 2px; +} +.posts-expand .post-meta time { + border-bottom: 1px dashed #999; + cursor: help; +} +.post-meta-divider { + margin: 0 0.5em; +} +.post-meta-item-icon { + margin-right: 3px; +} +@media (min-width: 768px) and (max-width: 991px) { + .post-meta-item-icon { + display: inline-block; + } +} +@media (max-width: 767px) { + .post-meta-item-icon { + display: inline-block; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .post-meta-item-text { + display: none; + } +} +@media (max-width: 767px) { + .post-meta-item-text { + display: none; + } +} +.post-button { + margin-top: 40px; +} +.posts-expand .post-tags { + margin-top: 40px; + text-align: center; +} +.posts-expand .post-tags a { + display: inline-block; + margin-right: 10px; + font-size: 13px; +} +.post-nav { + display: table; + margin-top: 15px; + width: 100%; + border-top: 1px solid #eee; +} +.post-nav-divider { + display: table-cell; + width: 10%; +} +.post-nav-item { + display: table-cell; + padding: 10px 0 0 0; + width: 45%; + vertical-align: top; +} +.post-nav-item a { + position: relative; + display: block; + line-height: 25px; + font-size: 14px; + color: #555; + border-bottom: none; +} +.post-nav-item a:hover { + color: #222; + border-bottom: none; +} +.post-nav-item a:active { + top: 2px; +} +.post-nav-item .fa { + font-size: 12px; + margin-right: 5px; +} +.post-nav-next a { + padding-left: 5px; +} +.post-nav-prev { + text-align: right; +} +.post-nav-prev a { + padding-right: 5px; +} +.post-nav-prev .fa { + margin-left: 5px; +} +.posts-expand .post-eof { + display: block; + margin: 80px auto 60px; + width: 8%; + height: 1px; + background: #ccc; + text-align: center; +} +.post:last-child .post-eof.post-eof.post-eof { + display: none; +} +.post-gallery { + display: table; + table-layout: fixed; + width: 100%; + border-collapse: separate; +} +.post-gallery-row { + display: table-row; +} +.post-gallery .post-gallery-img { + display: table-cell; + text-align: center; + vertical-align: middle; + border: none; +} +.post-gallery .post-gallery-img img { + max-width: 100%; + max-height: 100%; + border: none; +} +.fancybox-close, +.fancybox-close:hover { + border: none; +} +.rtl.post-body p, +.rtl.post-body a, +.rtl.post-body h1, +.rtl.post-body h2, +.rtl.post-body h3, +.rtl.post-body h4, +.rtl.post-body h5, +.rtl.post-body h6, +.rtl.post-body li, +.rtl.post-body ul, +.rtl.post-body ol { + direction: rtl; + font-family: UKIJ Ekran; +} +.rtl.post-title { + font-family: UKIJ Ekran; +} +.sidebar { + position: fixed; + right: 0; + top: 0; + bottom: 0; + width: 0; + z-index: 1040; + box-shadow: inset 0 2px 6px #000; + background: #222; +} +.sidebar a, +.sidebar span.exturl { + color: #999; + border-bottom-color: #555; +} +.sidebar a:hover, +.sidebar span.exturl:hover { + color: #eee; + border-bottom-color: #eee; +} +@media (max-width: 991px) { + .sidebar { + display: none; + } +} +.sidebar-inner { + position: relative; + padding: 20px 10px; + color: #999; + text-align: center; +} +.site-overview-wrap { + overflow: hidden; +} +.site-overview { + overflow-y: auto; + overflow-x: hidden; +} +.cc-license { + margin-top: 10px; + text-align: center; +} +.cc-license .cc-opacity { + opacity: 0.7; + border-bottom: none; +} +.cc-license .cc-opacity:hover { + opacity: 0.9; +} +.cc-license img { + display: inline-block; +} +.sidebar-toggle { + position: fixed; + right: 30px; + bottom: 45px; + width: 14px; + height: 14px; + padding: 5px; + background: #222; + line-height: 0; + z-index: 1050; + cursor: pointer; +} +.sidebar-toggle:hover .sidebar-toggle-line { + background: #0684bd; +} +@media (max-width: 991px) { + .sidebar-toggle { + display: none; + } +} +.sidebar-toggle-line { + position: relative; + display: inline-block; + vertical-align: top; + height: 2px; + width: 100%; + background: #fff; + margin-top: 3px; +} +.sidebar-toggle-line:first-child { + margin-top: 0; +} +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + max-width: 120px; + height: auto; + border: 1px solid #eee; + opacity: 1; +} +.site-author-image { + border-radius: 100%; +} +.site-author-name { + margin: 0; + text-align: center; + color: #222; + font-weight: 600; +} +.site-description { + margin-top: 0; + text-align: center; + font-size: 13px; + color: #999; +} +.links-of-author { + margin-top: 20px; +} +.links-of-author a, +.links-of-author span.exturl { + display: inline-block; + vertical-align: middle; + margin-right: 10px; + margin-bottom: 10px; + border-bottom-color: #555; + font-size: 13px; +} +.links-of-author a:before, +.links-of-author span.exturl:before { + display: inline-block; + vertical-align: middle; + margin-right: 3px; + content: " "; + width: 4px; + height: 4px; + border-radius: 50%; + background: #4d8c5d; +} +.feed-link, +.chat { + margin-top: 10px; +} +.feed-link a, +.chat a { + display: inline-block; + padding: 0 15px; + color: #fc6423; + border: 1px solid #fc6423 !important; + border-radius: 4px; +} +.feed-link a i, +.chat a i { + color: #fc6423; + font-size: 14px; +} +.feed-link a:hover, +.chat a:hover { + color: #fff; + background: #fc6423; +} +.feed-link a:hover i, +.chat a:hover i { + color: #fff; +} +.links-of-blogroll { + margin-top: 10px; + font-size: 13px; +} +.links-of-blogroll-title { + margin-top: 0; + font-size: 14px; + font-weight: 600; +} +.links-of-blogroll-list { + margin: 0; + padding: 0; + list-style: none; +} +.links-of-blogroll-item { + padding: 2px 10px; +} +.links-of-blogroll-item a, +.links-of-blogroll-item span.exturl { + max-width: 280px; + box-sizing: border-box; + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.sidebar-nav { + margin: 0 0 20px; + padding-left: 0; +} +.sidebar-nav li { + display: inline-block; + cursor: pointer; + border-bottom: 1px solid transparent; + font-size: 14px; + color: #555; +} +.sidebar-nav li:hover { + color: #0684bd; +} +.page-post-detail .sidebar-nav-toc { + padding: 0 5px; +} +.page-post-detail .sidebar-nav-overview { + margin-left: 10px; +} +.sidebar-nav .sidebar-nav-active { + color: #0684bd; + border-bottom-color: #0684bd; +} +.sidebar-nav .sidebar-nav-active:hover { + color: #0684bd; +} +.sidebar-panel { + display: none; +} +.sidebar-panel-active { + display: block; +} +.site-state { + display: flex; + justify-content: center; + overflow: hidden; + line-height: 1.4; + white-space: nowrap; + text-align: center; + margin-top: 10px; +} +.site-state-item { + padding: 0 15px; + border-left: 1px solid #eee; +} +.site-state-item:first-child { + border-left: none; +} +.site-state-item a { + border-bottom: none; +} +.site-state-item-count { + display: block; + text-align: center; + color: inherit; + font-weight: 600; + font-size: 16px; +} +.site-state-item-name { + font-size: 13px; + color: #999; +} +.post-toc-empty { + font-size: 14px; + color: #666; +} +.post-toc-wrap { + overflow: hidden; +} +.post-toc { + overflow: auto; +} +.post-toc ol { + margin: 0; + padding: 0 2px 5px 10px; + text-align: left; + list-style: none; + font-size: 14px; +} +.post-toc ol > ol { + padding-left: 0; +} +.post-toc ol a { + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: all; + color: #666; + border-bottom-color: #ccc; +} +.post-toc ol a:hover { + color: #000; + border-bottom-color: #000; +} +.post-toc .nav-item { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 1.8; +} +.post-toc .nav .nav-child { + display: none; +} +.post-toc .nav .active > .nav-child { + display: block; +} +.post-toc .nav .active-current > .nav-child { + display: block; +} +.post-toc .nav .active-current > .nav-child > .nav-item { + display: block; +} +.post-toc .nav .active > a { + color: #0684bd; + border-bottom-color: #0684bd; +} +.post-toc .nav .active-current > a { + color: #0684bd; +} +.post-toc .nav .active-current > a:hover { + color: #0684bd; +} +.footer { + font-size: 14px; + color: #999; +} +.footer img { + border: none; +} +.footer-inner { + text-align: center; +} +#animate { + animation: iconAnimate 1.33s ease-in-out infinite; +} +.with-love { + display: inline-block; + margin: 0 5px; + color: #ff0000; +} +.powered-by, +.theme-info { + display: inline-block; +} +@-moz-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@-webkit-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@-o-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +.local-search-pop-overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 2080; + background-color: rgba(0,0,0,0.3); +} +.local-search-popup { + display: none; + position: fixed; + top: 10%; + left: 50%; + margin-left: -350px; + width: 700px; + height: 80%; + padding: 0; + background: #fff; + color: #333; + z-index: 9999; + border-radius: 5px; +} +@media (max-width: 767px) { + .local-search-popup { + padding: 0; + top: 0; + left: 0; + margin: 0; + width: 100%; + height: 100%; + border-radius: 0; + } +} +.local-search-popup ul.search-result-list { + padding: 0; + margin: 0 5px; +} +.local-search-popup p.search-result { + border-bottom: 1px dashed #ccc; + padding: 5px 0; +} +.local-search-popup a.search-result-title { + font-weight: bold; + font-size: 16px; +} +.local-search-popup .search-keyword { + border-bottom: 1px dashed #f00; + font-weight: bold; + color: #f00; +} +.local-search-popup .local-search-header { + padding: 5px; + height: 36px; + background: #f5f5f5; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} +.local-search-popup #local-search-result { + overflow: auto; + position: relative; + padding: 5px 25px; + height: calc(100% - 55px); +} +.local-search-popup .local-search-input-wrapper { + display: inline-block; + width: calc(100% - 90px); + height: 36px; + line-height: 36px; + padding: 0 5px; +} +.local-search-popup .local-search-input-wrapper input { + padding: 8px 0; + height: 20px; + display: block; + width: 100%; + outline: none; + border: none; + background: transparent; + vertical-align: middle; +} +.local-search-popup .search-icon, +.local-search-popup .popup-btn-close { + display: inline-block; + font-size: 18px; + color: #999; + height: 36px; + width: 18px; + padding-left: 10px; + padding-right: 10px; +} +.local-search-popup .search-icon { + float: left; +} +.local-search-popup .popup-btn-close { + border-left: 1px solid #eee; + float: right; + cursor: pointer; +} +.local-search-popup #no-result { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: #ccc; +} +.page-archive .archive-page-counter { + position: relative; + top: 3px; + left: 20px; +} +@media (max-width: 767px) { + .page-archive .archive-page-counter { + top: 5px; + } +} +.page-archive .posts-collapse .archive-move-on { + position: absolute; + top: 11px; + left: 0; + margin-left: -6px; + width: 10px; + height: 10px; + opacity: 0.5; + background: #555; + border: 1px solid #fff; + border-radius: 50%; +} +.page-archive .fa-external-link { + font-size: 15px; + margin-left: 5px; +} +.category-all-page .category-all-title { + text-align: center; +} +.category-all-page .category-all { + margin-top: 20px; +} +.category-all-page .category-list { + margin: 0; + padding: 0; + list-style: none; +} +.category-all-page .category-list-item { + margin: 5px 10px; +} +.category-all-page .category-list-count { + color: #bbb; +} +.category-all-page .category-list-count:before { + display: inline; + content: " ("; +} +.category-all-page .category-list-count:after { + display: inline; + content: ") "; +} +.category-all-page .category-list-child { + padding-left: 10px; +} +#event-list { + padding-left: 30px; +} +#event-list hr { + margin: 20px 0 45px 0 !important; + background: #222; +} +#event-list hr:after { + display: inline-block; + content: 'NOW'; + background: #222; + color: #fff; + font-weight: bold; + text-align: right; + padding: 0 5px; +} +#event-list li.event { + margin: 20px 0px; + background: #f9f9f9; + padding-left: 10px; + min-height: 40px; +} +#event-list li.event h2.event-summary { + margin: 0; + padding-bottom: 3px; +} +#event-list li.event h2.event-summary:before { + display: inline-block; + font-family: FontAwesome; + font-size: 8px; + content: '\f111'; + vertical-align: middle; + margin-right: 25px; + color: #bbb; +} +#event-list li.event span.event-relative-time { + display: inline-block; + font-size: 12px; + font-weight: 400; + padding-left: 12px; + color: #bbb; +} +#event-list li.event span.event-details { + display: block; + color: #bbb; + margin-left: 56px; + padding-top: 3px; + padding-bottom: 6px; + text-indent: -24px; + line-height: 18px; +} +#event-list li.event span.event-details:before { + text-indent: 0; + display: inline-block; + width: 14px; + font-family: FontAwesome; + text-align: center; + margin-right: 9px; + color: #bbb; +} +#event-list li.event span.event-details.event-location:before { + content: '\f041'; +} +#event-list li.event span.event-details.event-duration:before { + content: '\f017'; +} +#event-list li.event-past { + background: #fcfcfc; + padding: 15px 0 15px 10px; +} +#event-list li.event-past > * { + opacity: 0.9; +} +#event-list li.event-past h2.event-summary { + color: #bbb; +} +#event-list li.event-past h2.event-summary:before { + color: #dfdfdf; +} +#event-list li.event-now { + background: #222; + color: #fff; + padding: 15px 0 15px 10px; +} +#event-list li.event-now h2.event-summary:before { + transform: scale(1.2); + color: #fff; + animation: dot-flash 1s alternate infinite ease-in-out; +} +#event-list li.event-now * { + color: #fff !important; +} +#event-list li.event-future { + background: #222; + color: #fff; + padding: 15px 0 15px 10px; +} +#event-list li.event-future h2.event-summary:before { + transform: scale(1.2); + color: #fff; + animation: dot-flash 1s alternate infinite ease-in-out; +} +#event-list li.event-future * { + color: #fff !important; +} +@-moz-keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +@-webkit-keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +@-o-keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +@keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +.page-post-detail .sidebar-toggle-line { + background: #0684bd; +} +.page-post-detail .comments { + overflow: hidden; +} +ul.breadcrumb { + list-style: none; + margin: 1em 0; + padding: 0 2em; + text-align: center; + font-size: 12px; +} +ul.breadcrumb li { + display: inline; +} +ul.breadcrumb li+li:before { + padding: 0.5em; + font-weight: normal; + content: "/\00a0"; +} +ul.breadcrumb li+li:last-child { + font-weight: bold; +} +.tag-cloud { + text-align: center; +} +.tag-cloud a { + display: inline-block; + margin: 10px; +} +.tag-cloud a:hover { + color: #222 !important; +} +.header { + position: relative; + margin: 0 auto; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .header { + width: 1160px; + } +} +@media (min-width: 1600px) { + .header { + width: 73%; + } +} +@media (max-width: 991px) { + .header { + width: auto; + } +} +.header-inner { + position: absolute; + top: 0; + overflow: hidden; + padding: 0; + width: 240px; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); + border-radius: initial; +} +@media (min-width: 1200px) { + .container .header-inner { + width: 240px; + } +} +@media (max-width: 991px) { + .header-inner { + position: relative; + width: auto; + border-radius: initial; + } +} +.main:before, +.main:after { + content: " "; + display: table; +} +.main:after { + clear: both; +} +@media (max-width: 991px) { + .container .main-inner { + width: auto; + } +} +.content-wrap { + float: right; + box-sizing: border-box; + padding: 40px; + width: calc(100% - 252px); + background: #fff; + min-height: 700px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); + border-radius: initial; +} +@media (min-width: 768px) and (max-width: 991px) { + .content-wrap { + width: 100%; + padding: 20px; + border-radius: initial; + } +} +@media (max-width: 767px) { + .content-wrap { + width: 100%; + padding: 20px; + min-height: auto; + border-radius: initial; + } +} +.sidebar { + position: static; + float: left; + margin-left: -100%; + width: 240px; + background: #eee; + box-shadow: none; +} +@media (max-width: 991px) { + .sidebar { + display: none; + } +} +.sidebar-toggle { + display: none; +} +.footer-inner { + padding-left: 260px; +} +@media (max-width: 991px) { + .footer-inner { + width: auto; + padding-left: 0 !important; + padding-right: 0 !important; + } +} +.sidebar-position-right .header-inner { + right: 0; +} +.sidebar-position-right .content-wrap { + float: left; +} +.sidebar-position-right .sidebar { + float: right; +} +.sidebar-position-right .footer-inner { + padding-left: 0; + padding-right: 260px; +} +.site-brand-wrapper { + position: relative; +} +.site-meta { + padding: 20px 0; + color: #fff; + background: #222; +} +@media (max-width: 991px) { + .site-meta { + box-shadow: 0 0 16px rgba(0,0,0,0.5); + } +} +.brand { + padding: 0; + background: none; +} +.brand:hover { + color: #fff; +} +.site-subtitle { + margin: 10px 10px 0; + font-weight: initial; +} +.custom-logo-image { + margin-top: 20px; +} +@media (max-width: 991px) { + .custom-logo-image { + display: none; + } +} +.site-search form { + display: none; +} +.site-nav { + border-top: none; +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav-on { + display: block !important; + } +} +.menu-item-active a, +.menu .menu-item a:hover, +.menu .menu-item span.exturl:hover { + background: #f9f9f9; + border-bottom-color: #fff; +} +.menu .menu-item { + display: block; + margin: 0; +} +.menu .menu-item a, +.menu .menu-item span.exturl { + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +@media (hover: none) { + .menu .menu-item a:hover, + .menu .menu-item span.exturl:hover { + background: none; + } +} +.menu .menu-item .badge { + display: inline-block; + padding: 2px 5px; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #ccc; + border-radius: 10px; + float: right; + margin: 0.35em 0 0 0; + text-shadow: 1px 1px 0px rgba(0,0,0,0.1); +} +.menu .menu-item br { + display: none; +} +.btn-bar { + background-color: #fff; +} +.site-nav-toggle { + left: 20px; + top: 50%; + transform: translateY(-50%); +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav-toggle { + display: block; + } +} +.sub-menu { + margin: 0; + padding: 6px 0; + background: #fff !important; + border-bottom: 1px solid #ddd; +} +.sub-menu .menu-item { + display: inline-block !important; +} +.sub-menu .menu-item a, +.sub-menu .menu-item span.exturl { + padding: initial !important; + margin: 5px 10px; +} +.sub-menu .menu-item a:hover, +.sub-menu .menu-item span.exturl:hover { + background: initial !important; + color: #0684bd; +} +.sub-menu .menu-item-active a { + background: #fff !important; + color: #0684bd; + border-bottom-color: #0684bd; +} +.sub-menu .menu-item-active a:hover { + background: #fff !important; + border-bottom-color: #0684bd; +} +.use-motion .sidebar .motion-element { + opacity: 1; +} +.sidebar { + right: auto; + bottom: auto; + -webkit-transform: none; +} +.sidebar a, +.sidebar span.exturl { + color: #555; +} +.sidebar a:hover, +.sidebar span.exturl:hover { + color: #222; + border-bottom-color: #222; +} +.sidebar-inner { + box-sizing: border-box; + width: 240px; + color: #555; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; +} +.sidebar-inner.affix { + position: fixed; + top: 12px; +} +.sidebar-inner.affix-bottom { + position: absolute; +} +.site-overview { + text-align: left; +} +.site-author:before, +.site-author:after { + content: " "; + display: table; +} +.site-author:after { + clear: both; +} +.site-state-item { + padding: 0 10px; +} +.feed-link, +.chat { + border-top: 1px dotted #ccc; + border-bottom: 1px dotted #ccc; + text-align: center; +} +.feed-link a, +.chat a { + display: block; + color: #fc6423; + border: none; +} +.feed-link a:hover, +.chat a:hover { + background: none; + color: #e34603; +} +.feed-link a:hover i, +.chat a:hover i { + color: #e34603; +} +.links-of-author { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.links-of-author span.exturl { + font-size: 13px; +} +.links-of-author-item { + margin: 5px 0 0; + width: 50%; +} +.links-of-author-item a, +.links-of-author-item span.exturl { + max-width: 216px; + box-sizing: border-box; + display: inline-block; + margin-right: 0; + margin-bottom: 0; + padding: 0 5px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.links-of-author-item a:before, +.links-of-author-item span.exturl:before { + display: none; +} +.links-of-author-item a, +.links-of-author-item span.exturl { + border-bottom: none; + text-decoration: underline; +} +.links-of-author-item a, +.links-of-author-item span.exturl { + display: block; + text-decoration: none; +} +.links-of-author-item a:hover, +.links-of-author-item span.exturl:hover { + border-radius: 4px; + background: #eee; +} +.links-of-author-item .fa { + margin-right: 2px; + font-size: 16px; +} +.links-of-author-item .fa-globe { + font-size: 15px; +} +.links-of-blogroll { + text-align: center; + padding: 3px 0 0; +} +.links-of-blogroll-item { + padding: 0; +} +.links-of-blogroll-inline:before, +.links-of-blogroll-inline:after { + content: " "; + display: table; +} +.links-of-blogroll-inline:after { + clear: both; +} +.links-of-blogroll-inline .links-of-blogroll-item { + margin: 5px 0 0; + width: 50%; + display: inline-block; + width: unset; +} +.links-of-blogroll-inline .links-of-blogroll-item a, +.links-of-blogroll-inline .links-of-blogroll-item span.exturl { + max-width: 216px; + box-sizing: border-box; + display: inline-block; + margin-right: 0; + margin-bottom: 0; + padding: 0 5px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.content-wrap { + padding: initial; + background: initial; + box-shadow: initial; + border-radius: initial; +} +.post-block { + padding: 40px; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); + border-radius: initial; +} +#posts > article + article .post-block { + margin-top: 12px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; +} +.comments { + padding: 40px; + margin: auto; + margin-top: 12px; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; +} +.posts-expand { + padding-top: initial; +} +.post-nav-divider { + width: 4%; +} +.post-nav-item { + width: 48%; +} +.post-eof, +.post-spread { + display: none; +} +.pagination { + margin: 12px 0 0; + border-top: initial; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + padding: 10px 0 10px; +} +.pagination .prev, +.pagination .next, +.pagination .page-number { + margin-bottom: initial; + top: initial; +} +.main { + padding-bottom: initial; +} +.footer { + bottom: auto; +} +.sub-menu { + border-bottom: initial !important; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); +} +.sub-menu+ #content > #posts .post-block { + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + margin-top: 12px; +} +@media (min-width: 768px) and (max-width: 991px) { + .sub-menu+ #content > #posts .post-block { + margin-top: 10px; + } +} +@media (max-width: 767px) { + .sub-menu+ #content > #posts .post-block { + margin-top: 8px; + } +} +.post-header h1, +.post-header h2 { + margin: initial; +} +.posts-expand .post-title-link { + line-height: inherit; +} +.posts-expand .post-title { + font-size: 1.7em; +} +.post-body h1 { + font-size: 1.6em; + border-bottom: 1px solid #eee; +} +.post-body h1 code { + font-size: 1em; +} +.post-body h2 { + font-size: 1.45em; + border-bottom: 1px solid #eee; +} +.post-body h2 code { + font-size: 1em; +} +.post-body h3 { + font-size: 1.3em; + border-bottom: 1px dotted #eee; +} +.post-body h3 code { + font-size: 1em; +} +.post-body h4 { + font-size: 1.2em; +} +.post-body h4 code { + font-size: 1em; +} +.post-body h5 { + font-size: 1.07em; +} +.post-body h5 code { + font-size: 1em; +} +.post-body h6 { + font-size: 1.03em; +} +.post-body h6 code { + font-size: 1em; +} +@media (min-width: 768px) and (max-width: 991px) { + .content-wrap { + padding: 10px; + } + .posts-expand { + margin: initial; + } + .posts-expand .post-button { + margin-top: 20px; + } + .post-block { + padding: 20px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + } + #posts > article + article .post-block { + margin-top: 10px; + } + .comments { + margin-top: 10px; + padding: 10px 20px; + } + .pagination { + margin: 10px 0 0; + } +} +@media (max-width: 767px) { + .content-wrap { + padding: 8px; + } + .posts-expand { + margin: initial; + } + .posts-expand .post-button { + margin: 12px 0px; + } + .posts-expand img { + padding: initial !important; + } + .post-block { + padding: 12px; + min-height: auto; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + } + #posts > article + article .post-block { + margin-top: 8px; + } + .comments { + margin-top: 8px; + padding: 0 12px; + } + .pagination { + margin: 8px 0 0; + } +} +body { + color: #333; +} +.site-meta { + background: #0e83cd; +} +.site-meta .site-subtitle { + color: #fff; +} +.post-title { + font-size: 36px; +} +.posts-expand .post-eof { + display: none; +} diff --git a/images/algolia_logo.svg b/images/algolia_logo.svg new file mode 100644 index 0000000..4702423 --- /dev/null +++ b/images/algolia_logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/images/apple-touch-icon-next.png b/images/apple-touch-icon-next.png new file mode 100644 index 0000000000000000000000000000000000000000..86a0d1d33bc2ae8a0416ebba67d1bbb60aa29c38 GIT binary patch literal 1544 zcmV+j2KV`iP)Px#OHfQyMIs_1FE20E)zv2_C(h2!$jHdT!ovUm|GT@p zWo2de_xJq#{8d#|IyyQ>M@Qx533`J9dBE>4W{r{KFjMLpp4N$2iMRJCGfPM7@le{)BPzVgz zp?ByVdWYVj|4-=tUS5SkR}Te{-Fr#UrxsqJ9+ed6YY9KmoXq6n^B9DRMwF@T2u)qH z!=wh-sAdPH_8fFy0-I1d68Zp);!FTtdweUZc2nr)?5^hh99w*FOU z@NYFT^!v%iPrGly0Q*+sLVtesYh+the|AET4WK8lR^dv1IZ-3FhAuiK5V|-?gf2#j z&_yW`x^K3G&OKl4kP$$ih@p!?B6M+)2(4Rz(6$=G6WT(;6uP)cgkEi(xI(Yi7`D(w zo(Y6r>FyarFV`4e&^@lk@PfWf|DSeM5}?agV`>aDXt-c%3^!*Ij0g0Q8X5*mjbRC$9oB0MOK51O_53LU8p`RzcozW; zx3wC>721@58xhdzx?E$}LW9xpjUu4UhOZO>Z8Us+D+1bR_}&sQXJ}B}yadb|8fraT zV|YUw4WF(>KpPF;mjp}*eTo5XG<+u!&}PFoihwq!uhI`XPYZ1{e1FDs0nqR?Ym5YF zqv0DwK${KUMFjNpqb>9(0vg8Y^d$otmiJc}L#s|8wD~Z~fHtQu8PG6DgwAq-&}PFY z1KMo(WI!7YpAcwxN`zJiV(2pgG_<|npE+y^Z8UsBppAx42(;Po$$&N*J{izP!?y+W zi2YsL=fkK`KXsymhWcmL#_y-S*Y&V_u#us^S9pDvbMSkxv7uidoc36Qa`CQ+5AC^d z=CTJ%0ZkrQ=v?t(E_)>OCL8YaU+nX$$--iAUNb;m^jBG2!5*5enU|exmY3aQcv=O- znjO}ft-yw2|VZs2g-W`Epf@n*5gsJ2LLtC^nFlq8+?%Xc!{Z3_|hFI~!oeU$ep z%4jE9Y9n1{ah68@W{++)8|fc~HIM4)QycHpg}3P<_K$M$L~}7jBXs?6bDwjvo+I;D zsoi}398La6+~*osM@45l#ptQ6MrZFz597*no3v)ffsUEletxWeW~`A+ntYvaeQj?e z*kSqGXZsrrhZ>IsxH$({IR{z11zkG`GR^j$#{%z41lp5(Ne#glJc5nj-BUaKR!X?# zzN6F-<0?&z;|30?9q0Z}oHG*G)Q)s%Db~RbjMU)mp-u&Dmm0zkF~o9eRh}p?ByVnjn4wmEZ*c=^{+H00012dQ@0+Qek%>aB^>E zX>4U6ba`-PAZc)PV*mhnoa6Eg2ys>@D9TUE%t_@^00ScnE@KN5BNI!L6ay0=M1VBI uWCJ6!R3OXP)X2ol#2my2%YaCrN-hBE7ZG&wLN%2D0000`v literal 0 HcmV?d00001 diff --git a/images/avatar.gif b/images/avatar.gif new file mode 100644 index 0000000000000000000000000000000000000000..989902574302a6378709709f7baab789b242ebbb GIT binary patch literal 2926 zcmc&#X;@R|5pPyvCW zxS$0@5JiQmxK`QsB_M$WA_QcYeMe9lZ0Wr}dhc_e`{&M&bH4e$cjld$Z|0nR&W@IN zN;}XF3;@8#j~_pL_)uG2-B4FoUt8ND7O$+V)Ya51EiH|{d$+i_*!T9Wq_eYKC>-eT zf8E^N+S1b0(C|hg>F(-k5eSx-mn9t?vokYub8~{m#<9`S@v*Uy;o+uG*m=Ns$m7Z(<0XJ@CTrt0hJW~Qen#>Z!7W?r|nh()5ofq~kZ znzy~Z9U{@v;$mk<$K=Gs^wd;;U*G)PobdJQcQP3nnVX#*8XTOMm=L$OkBp3rkB_%B zH+PD~0|Nu1wzg)0U~FuxOCnjApC29`Zfa~4wzdur4YjqlO1rx!CnrZoM^{%@YpSY% z|F^(bRSvkhgZ30YMfTof9m1thkJ0&{AKjnHCL$)Dze0da8WG`zb3?gtNpuF&=>(7N zdEzTF^~5nMo`$gA3+@Rags`|QI-dfDumaeDgb*TvLgV<+39|LtHWC4Tg7A+K5w>dw z;2I~1!=r;ZQ=ADEg~oywcvCbEjkQD@gBTRr42d#BqRmXu7y=4UK;yta1tDYO(T)&2 z>>dB)l4(Q)gU{y@kjUf5kDDGhGv)C7k!U;~k3?aR7>tPwVG5=Noacq2M2p|lsV3J-PV~M$fvNW^mT5gj2mZ$B01vGSPUM6`?t0P z5|2*db9iJ9Ct$q`+!-7`Cy>G6f+Q07r5lCHWUuKv*Y4<#l7TmvgH~-G|iV84!C`1kb;7jtK zzIVoJ&$S-_ptu@Fj);tkj){#sbM{<(LgM+PhjYk1v zGsMZRtu^i;cU2>iVRh6_@?3F;0OlZnzx#y!d~gIf&5;0V^2ZPv#gm6&+cXcmNJU&o z&BY_+;62cpY-oao^{Jt)Es*9!?bK7*rNGfL1#&){|Naq0_&{^RkZ&h9_SVx)!lAJz z{*xs0xX%-L5<%F5+6jn`AU!E+D8`7aA0@wh*sv2eHJ|vHv}n+`x?OyVNc0&Ko_kVt zkhXk&>G)8j%QiP`=w!J)_glm>SEtThN0zaF*D4Pg^?7*PB)nY?^vGNu{$w4ZH-D ztNExN)lDUZkh$*uL_Mk4=h`GIt>n5VBYFoU2oaVGrsnOe$ReZMcR-WWCkK)N`yvL< zw*$xngTwRMbDLQBH@Wfb(5<)0)eL$G(;d>Pik=vp2Sc;vxl3v$^urL zrr_`-?b6CPr2W2TWs;t=}soo-~^9Wg^} zJ!E_>lVqSC#jrKJTODx~KZHeWk87K5jg^ABst5E-f1y4KCRS_QC&K5!{V$5j#bmXl ze1<}~RZvyYPZFHm%a`AVOGs83>CgkueIHVRg3DMrBVR8_H>d*2huTS93jv!S)57|o zSKa$hT3iA!(9k9?xtmJbg2-rMu?|ZfZu4E15?t-+9Yuq9<344BLka#id+U`4HteuG2dWbiJ_6`m&dZYZv5zzh=hj8fOeP5?QRGqH102<_*#8ppi*Wv)eW-fPS zkpL?WuN!dFwzyzJ$vI($eCE1*Y@HZ;>(i4;d!0;k**l5mF z_+wi&oPy|Etioim$}WHC;K54h$wAxxbl_AiQ1ag82}aF0QZAC3$pCDgQJq|3#`EB4 zpD@zOiwvEp;hvLfX7O?Yo4CbHTcsaMAcpg?u#)PF8p}6Id@dD7c)FgK+taQ>q!(KM z)C+5UDbkf-&-H?4>%*BRqn@25L+soFIMlU7rIgfMei h5TAq1b#6H7J#$4=pJV>Grh$E8=BiZB9s~fZ-vK!n_o@H@ literal 0 HcmV?d00001 diff --git a/images/cc-by-nc-nd.svg b/images/cc-by-nc-nd.svg new file mode 100644 index 0000000..79a4f2e --- /dev/null +++ b/images/cc-by-nc-nd.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-nc-sa.svg b/images/cc-by-nc-sa.svg new file mode 100644 index 0000000..bf6bc26 --- /dev/null +++ b/images/cc-by-nc-sa.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-nc.svg b/images/cc-by-nc.svg new file mode 100644 index 0000000..3697349 --- /dev/null +++ b/images/cc-by-nc.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-nd.svg b/images/cc-by-nd.svg new file mode 100644 index 0000000..934c61e --- /dev/null +++ b/images/cc-by-nd.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-sa.svg b/images/cc-by-sa.svg new file mode 100644 index 0000000..463276a --- /dev/null +++ b/images/cc-by-sa.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by.svg b/images/cc-by.svg new file mode 100644 index 0000000..4bccd14 --- /dev/null +++ b/images/cc-by.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-zero.svg b/images/cc-zero.svg new file mode 100644 index 0000000..0f86639 --- /dev/null +++ b/images/cc-zero.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/favicon-16x16-next.png b/images/favicon-16x16-next.png new file mode 100644 index 0000000000000000000000000000000000000000..de8c5d3a5f8215c3f7b095c9e284e061bda65f86 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%A+0*}aIAe|4wj2{=>aRxHH1AIbUeKHFb!9Yn#DLy_vBO^maMdk0`zd#Zw z0tY~@yu3V6p{Ay$mX_Az$B+O0`?r4m`qisfPnj~MwY3$f@^9nqaG!lvI6;x#X;^) z4C~IxyaaMM3p^r=f%IJvW-JI^#13S11^9%x`eYU=fq|TyoQjGHgbgIWfB*jF%NI8{ zx2;>Zu3x`iO-&6bs0aoM3JPUqWq0n}*}Qo(P|Le_@AmKC57(%ytPE5IHwwrGiqzKD z{{8#c)YSCg!Gk}3{P_R>|Gj(no6k4eJyZq^Jd4Jw%*zpM57yY9pK zMcQgs21j>QigM54W!RCVazM0UCtHDVhG46xh5pA!(TqDDnlwLEm~eRS(JM@6p3293 zNMwDW(!P~x!s$%jghh-wOB)P19fJ88oOHECttPa5*~LF^Vp#0%pwrbyN~~|szWB|o z_J4%n&U>rEu5s2%I6jof{A;(j!|>g|;yo?%ZfFGheBJp^9_Zijs*s41pu}>8f};Gi z%$!t(lFEWqh0KDIWCn(cIgdZ_a1@4VXq@stea7=?5CgL^w_Y;0u(GiCWD#az1(ybs x!zs+ln?n>%-?(z($eANDN7zp{cr5VJV|XPlSn|oqbSlsa22WQ%mvv4FO#p=N1nU3* literal 0 HcmV?d00001 diff --git a/images/loading.gif b/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..efb6768db9d768e6c7322905ed131b4f184c23f8 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcLY|NlP&1A`6_1Nn>$3`|Tej11NQg@y&% literal 0 HcmV?d00001 diff --git a/images/logo.svg b/images/logo.svg new file mode 100644 index 0000000..cbb3937 --- /dev/null +++ b/images/logo.svg @@ -0,0 +1,23 @@ + +image/svg+xml diff --git a/images/logo/android-icon-144x144.png b/images/logo/android-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..3a89e75f981349af74421d6e260cfb1ef3d4d70f GIT binary patch literal 7695 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 x4$>|-oU_9XCr3#Kq?5C(v$V4#&IuoMg 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 literal 0 HcmV?d00001 diff --git a/images/logo/android-icon-36x36.png b/images/logo/android-icon-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..e047723c6da218bee41dc43739e24b4a88901bec GIT binary patch literal 1705 zcmc(dc~DbV6vi)AM!{Oe4TXwOg%%;p%SIA0sab%q2}lr7kdVBD3}zt-1gP5xQjj3Z zfXdb?6jT(-q6`SFfWn9%78P(|8xSE>g0hyf_2G1;)S3R>nS1V;^X~8a&b{+af`_}~ zT0;{<0Ki&~6Uz(9yOv`03S@8Z4kC_Ma;aC8Mg8-mj2EbUJb=T7#(N%l6db1G#gGT-D3yrcR+mUE{ z?NPQiI0&1Sm04R`>&$V&+7qm ztjNsF=;`TUvsp?-*x1-udiv$;tgPwj>7*o$Oez@~8Y(X@kBK>bCN?%YI%;@$xTLt4 z&0-E~wfT8@a+&nTjq5L8yvWP@iB6-PIDSm0(?vx_rleeOVnE0s09%!p`vCw}LlI@K zCKl$$mD^+`Z{}u04G%YONSV?Q%AaEI{2XA?#49eqg_i~y+u^uz2!%YCU=lfkDD{EW<8s=#*go*RF4IkSvUjqbljHYj=^=2{->qJ zAk5JG`Kx^G?V{rLb~8ordhHM)fve5lZe*$-(7H7s*SC7jd2Y@gSJQ7gv#}_PR%VCi z{tc-e4ig!WX_|j{tkWj8@TI3TaYtePsv&l|pR}pHI_d1>Bj58nrYrAtL<#@e;}Q(& zs?WW8jm~6a@U&SKkG{UcD$!bpGANOC7K?h`eYGMZx_9>LN8C6!q2!Qwg}`Ipgf1^` zaotYUSRX$xNbR_g%ZTUqr|zIzxc^XKzME-3$sM@eIoRyipiyq1oz(L*>*M}bFSbAj zkhWGSxLzGardDq(X|SD=d7_HK4N7}?NI_J;ZXVeA*80O9^?;tHD_1i(>M~r*WY2JF zI@6xeQyeMNe;5=t)6$-o9iC^_d>&}isZ9U9-lgTpFI#eM2kAfYV8K19J-=oO5?vIz z)8oUv_+9abGB?wY*}mWZ%KNleOQnRUi%yB2c0WE@~Hy>>oJ9G1iK@?)JZ@R~bH3`gN(j zk*Tp%v3*qno(iV&6)=(j4hvCGSON+nc|&+Afk-8gY_M1=78}`DJ@GGrL?#dmqyAf9 zaBt<(TskauP|AcVHBSKpj)W(I-FPA~Kh&IrwnLLq6mz5{0fi-^Ae^};L^2OispM1) zMy*z(#Y;322#uC0M4fRXh#}azV^1nI z1Qv@zQ~;vj)&a#CgfU*`^EY!)EKr3kAQJM zR3^d*c@bj1Osd5E^J6e%K1}A5i4cz{ShT`#n~ literal 0 HcmV?d00001 diff --git a/images/logo/android-icon-48x48.png b/images/logo/android-icon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..ee35c1681cfdb216617c7ffad06982195beab1b4 GIT binary patch literal 2316 zcmeH`iBl7K7RMXp1~0_nP^Q9&$_V5l;RrW!1R)Fwhe$*dLP!D$2}!sSB|=~@Q_Cv2 zDA^qboNy>eKpjxzP+5?1K?95_hgDz<1Pu3S1l-1&s&%JotM(7rs($_I_3!h(-(PqC z-nXG40Xq#W3;+Pw8Hn{IfEm6WdON^7X+-}nn6zl#IBx)u{>gBItPR#0JVJmE(9nNy z3M?QLECB}qnMVNNLLLC9!ABRA0FVNzOp^crQw9L09Pxd;8vtlN2n`PR0|6M+{{Pqi z{srvqY@zmcF)^ougH9x|SQ8V9fq?-6K9tK%Rw|VrKYoFKVnE_XNA zjEr=Z>fPkz1dGXp!(nh3H0NCQ%*;$;VgdpVyC@LM&(9?$Bp?y+0-7Vt!s8 z$^q$sM2JL}mX?+Z3kp_OSFc>Tj7FjUTwJ`evNAb2nU$5fxVX5!zW!IS*xAW3jDVk- zn&R_#QfZ@Ft(Hh6Zmt+R+hYs{eQj+m=)?(Pbo9u`$cGOf8XIqWdbq!N^Lk@rqgo(bb91w$rN#HS51kf2Ha6B!U+>}Wb}}+zXmD_AYpbiXGY}g6oL!x?d=Wl_hT^= z`8;lCXQv=HSD{dRClaAi4y~=NLScR^nY_5TAQ0rv&(G)NoSU7U&CE!r(`XYD6DpM| zH8q8ul=SZ1G>^ySu-P0ATPAyv#A3R1H;jYFm&zxEgn?tQ7oB=fKKp)a=H(r(!yfIg zbDm79Cmv-S(b|C!|F*d?T4rxi_;xJURMY$KAG+Lh7>e;Tdgm7BbXS&=7f$WJpf=waGwbJ}n+`Ys=oy3>FzVYaFVoC~hpQ zi8^+WQxt?f5$G`f{ISg;+oQLOi*!s%OCsXTq!zd9B>kmD+8hQwfgJs)roQTCSb@fHzGUq0 zuWPhc{Uc@iIVVrJzp8GZFwQ^TLb8iy>W|H?{h=o^Gcq*;?`c#(js9Pd7??G+j=oZ6knsL-+6hkCJSP^|8&OR$Sf2he&|))mXwUtt>6 znN07SqfdJ~?F5zWKS=d&wVT(V_YdOEJTtPZ?42e?|4N!BzH-GN_=SrOjbADLvfMEH zWlffhn3<(kAFX&dze*+@AHNqY)*^VCE4P-v4l^{6;J(joIDReHvMaFM#qdUsj9F19 zbb(BaWGubluOm4SXTvX`nzemr+W`9G%RfR^n-sR86mfa(zNf-xr4YZHk+(H0%G*;d z3!8Hu`Bm zT=n19T`cI_<1x7W{Fmne<(9`98>blvpd#c{sm#jWQo#sJt^s z^D1)u9v6i3)D00{=|7a=dckUs`|4n7j2!=*C$(~a_}(~bQ(=qE(Tg4Z?a6cLLIN?% zF!n@{>@me#?>Y2H`+K%LAZI|$Fs=1am9Cbrd-8J;){y#5VcJ%QvH#@wa zAf@Nlbnr|g9>$u%douDU`15lf*v*Rt=o$v>E8`mPX!A?LfQoGOy8dxQ(1FrSAgF<6aj<#?(1`bajZ(IJ41{OPx5ufqj8}vK0wnx~1+kwZ9=ckdmR3MN= zrcrTZ8iSGuafCWSo$Xy9pe4#4j<`Q*PYi}mWzgt+0O5k%4RG^8#`H6t z-7@1T6?&DKZ>7fFbB0pP-AOr&O3?>zPeHbf=&t%hJ@#Itng`LEM{rktj zoGDaiiZdEPM#obqRI*E4ERqb5qdHO1)L2R!#Tg2AK*9ZO^jC{O2O!Wd#J9nRB={FU C?VjrZ literal 0 HcmV?d00001 diff --git a/images/logo/android-icon-72x72.png b/images/logo/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..1fab3a6cfd127335b665342540db51a3fa29a50d GIT binary patch literal 2537 zcmd6pc{J4f8^^y1>87}sTM1p)dM&dr%#3Yh8Ovx)Otdkp8QaLrG^7PBNLfm$Y-LHr zR8qPqE~Tg$vMWg zw*3SEz(!}1Jr%U1)uFT&d^1oxM4*xPCz6Q(a5rhg5?ulG*9fRic7Q~tH3B+1OcIq0 z0EZ0$AnGIlEPzu{!vG+H1HdOg0Ki`cfGwdJ6&{uVAa|eQ=IH6Mk0_wU~a1_qd8F_+WQW@csv1_t>25DRl` zMn?MF+}!Z+kVq&%z+pHG^X#mw=g*(n+F0XpxSX8p^Yim>-@awBn3e?mjr{zDg#{*q zVQpnuR8+XQxX5HOZr_$HEiDmkZA(i_zkU1W;_Qq_+5*RNw^Pdhm} zR8&-mM8c7gk;%!)qkF-K5`@y4u=K@1@-s$cXf68`W|p`aptgDJv}`g9UbmuHwXJ2zY*OMns z$Yip%*48~fKJjsJyLM4&UY_IQ<0u58Nhb5~poE8uqobqT$>h4aIyYCB>gvbN&ZNqU z3P%Trhvnr|4@y~C8QstK?%g}Kwl;wQJV{B3jkVRg-d-y!OD2Qf^X848pKoH~xvKNm zO~D@*E2O&b0)X`fCf!5$*JK$_j^z^PP zxjZCR_foHUN2c#3b(fKM-ZWMX;5@TmdsgncqC#|(YP`OVR9;Foo4OR$l8}QYD&)nX zHFd6$U?z`9i-e5K2!2 zZ5==%$*Hy@@rGC#L?Mm<#Tr(yJ(bMjc9Ps&W=P5t`bGwZPu9i8%%!%K3FA#ic!kEq zYXA~?&+`0{Z`xi z>*Z=~+Yr*hO>yCpc=`1aOa71Ss0Zu-rP9iW;VO-=UpEjXP*|9jPOK*P&w;_+E^K;@ zKzT?f*EFp)*B>_6-gz=lqG7AtD4eu-v^eFZo?o1;G$4CoNOakp)Ox(e_9^UyV%i3h zkMXs%028B@ugRUF#GERGXJ4kNm#OdYrTX{Ekphd4XSW)ECA)l9TvjqDT`VeRv~g=A zTr*rp;sa83OyZ>)s0Zgmdp8U8jg4ItL_0ZQrxR}>yY*NG;@!ko#gxc*8ot5(shw`B zrwH39-pUE6iTx<2tLTU`aq4QPYnd7ug{?)>iHO^@!t`b9Y<0~<-F~jSbltRJA4;=BK z$?6R%v7spuuE+I%wsDKrni_hRr}u$GC?e#U2h9&77%c}I%?X*wCxuf+E!^XhS87M{ zQqs-|(yc?7sY;vY)7aJhXBNq~9;z9|6AR85C!E>p5SV;;rT4|k>k*XoIl-mS<+%&} zHyvJZ^%M(Py}XM8*>6GPzKTPm5%{DwY;8c0V&VIjrz!+nzGbMToqhTE<#VU|cM*F_ zh$huxqL?f9K5V;X*G790vP^#5x1n0{&hOxoG#i!Zrd5}FFX9bEF%UX<3t4m_8_x`5g9bpt5jY4O z4MAW%5hy$wgGXac;cz@09^PNI+OPfz2LNPsz4LAqW z{n=!?KaUxxgN2$yEg(1@FeMrS$3PHB9S;Onhbt6@;$bkcSPbQ@(%=ATC_l`<=kym) z5ZJn^=*blYGw^tOK2sFT4iVz<6c7~vh=P?$*uR+XIq`Tdo9E9J0tg&Z1qeF@GFyJo z`7g7Z#}aZ^k=Ekhl|V$}2ZYQEW(y-i*}(UzV4)%YHl;N8f9a4tK?*=%z)J!Wi9%xs zUDxP4e~h%kun5981e@tFJ&0qma- z1G8YVEtnP<1RcX+GTC$-i-DxWS!{DQhRtBIm=;hl0t(i*Br7-zW&oTW-0dZHelh<6 D?=nZ_ literal 0 HcmV?d00001 diff --git a/images/logo/android-icon-96x96.png b/images/logo/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..9825f12e7ff76b3f6cd9f58cadaf649bf4964b8a GIT binary patch literal 4887 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 literal 0 HcmV?d00001 diff --git a/images/logo/apple-icon-120x120.png b/images/logo/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..f17822a2123938ca4ca67bd813f28814e155bec3 GIT binary patch literal 6262 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 BT|EE* literal 0 HcmV?d00001 diff --git a/images/logo/apple-icon-144x144.png b/images/logo/apple-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..3a89e75f981349af74421d6e260cfb1ef3d4d70f GIT binary patch literal 7695 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 literal 0 HcmV?d00001 diff --git a/images/logo/apple-icon-60x60.png b/images/logo/apple-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..005a8e428219a2d84809e6034a87989624afbba0 GIT binary patch literal 2332 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 D?=nZ_ literal 0 HcmV?d00001 diff --git a/images/logo/apple-icon-76x76.png b/images/logo/apple-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..33e4584551ae4d83253f50a71fa89549dcd178b6 GIT binary patch literal 2648 zcmd6ncTm&W7RP_C%c>x@6;a$3EV!$X1|*OGDj@*^BqX7QvS4~bNI(*ZfY?x%W>;)9 z14|PkAm9SRF03?(pfssU*C0ijba+2^-pupu%=`b%+;h*Idq3xU?wwmA$s}uaRV`Hj z0MrRKI4bDvzu5Y8ma2M#l%)>uGZ|AP_?beJ|&A^?OO z1c0*_0AK+eI{N_t0^tBKd>jBUcL6}tKdzW!1_0lDAlp0PK>!AY{C_qmL?5EBcl3z4 zBb6eTXTN>>)>q(TaqMVLPR`QO((3B!z`%gNzn>-6B0oQWd3pK$`}Y!Y03L@c`u+Fe zVP$aeNdpAj3Xdx(DPCDw>F(|(JCF!A)@5a7larIt(NRbvLpxhSd3pKN<x+FB}w0@c?uH#1F3P35rJwgj8f($bom z8l0tNe0<#O>}+puufT_2T~&4a_AQ~WuioK9QIV1N@7=o`6Eit6(bUw0v&3d(q(}Vv zYk2tiv9YnCp&=b-355*}_0G;tTrQ`-uaD2;*4EarSj?`juJ-o!ii!$*J6mtBUy^0A zn<=zX@U9z5s3b@5&1{CaoJ)Vv`)PjV8%^u*qIc8F8%!?LPO96beprXkIvhKqdc1kh z6spwLsi(i`^Lo>@Jx4ScY9ZNz2fcU=;HWL$$Xd}m&1Lx5vu?^ZkVGhdnHBYUXQCs z12EJZqXg8k)V0*6#;{#03jH56-0rPx^bT>)JhWNIG|f@Og{5A2Di)>1`PwwEt*L|k zoMM~lO1qYLXUjUWlV@MmcfHU(haCn(rQZo;ll=ZCQL4>ZkFFtse!`cs8 z>Gm;EIChfWB4tgnGh0_gu=_1@x7}Kgz>B*MZ_{X*J{R76e~bf(DS7iM7T)F)a`!2G zjFQ}-p44&X;Et-5;kgqxtKLqZ78Z?F`GZ~PDh6YeAmI#);e`%57F>Z0U-?++Y$Dj>C@v!byZPpozWpzKtb1SUri|uR zuWLjaPm&LcmEW@>p8v%Cel#Pk;QA@fA?GQb4p##2WZ_X|(EwW30^KjPOgwWgH8^AE zj@ZYq@>TRAKldGm^xpCEBK~D|H#6I<(-wo0J8FjKoVNUte`?TqS#?6kYF^7Xcr>ta z;<9mM>!(o%W3c?J#|*dSRIC zWqI1dA^%3NpJXj(3Mr$-{3newQ?T`)+1Y!Bg!J7ye61C_;Q7Ld2foWGZVyhsm9IX{S7|R&Vdi+3(4I2Wwg^ULqMpVfn|Fn#`S_Aq z-{>bDvsCF`e&=`ELxRQFYPZXaO4IvSmou8MtX)r+;HUhKYR`tri=x*KYmUWDIB<>MX^Gu4TTeMCrxNoB(MA5G=% zYJz*Q?jtAa$avG&P>-J;v{xp(Uz${7;Y|bG^IR@-JlxMIVBH$R3GcpltNu|P>5cKB z>DMghX8+jwgWfQi?%zd`B{;6)w52hd7*<5rgcwVroNudHaNFD(C?|v=#t4ZqLg~Tb7&!c7-?QoeN)Y<7_?+PXov`7LZ@>JB zR$nTJ{WuaSJ%9}mgmf;ONaymI0v#087-|AR>wqPVAaEoEVW2}npmcZ=i9ZGglS-vf z{udfFkcRpNaJw#zf`Y)#FN#jQKp_Kz!TB)*g=~=ogCT>c7(k@0mcahO{9O}+;j#H# zo&-Rk4K@P-7ePkzE1iEcu6&k+_XTOn+PfY^c725q`9iiN*q;sjy(*Z$h{ zq7z5~2qY3|WME)ugc`JCe*%%sU+FmVL)ZWui@hZ~G6GJyd^P1vB>)`0FB{xGOem80 z`f*_#dJv!KClbT{b1*OyCfkH*f<(}f943=ZN3$3PbU2G`%to>qOcv7w3T8mT^)1z> Q#efw60-l7EV~?Nz7hBe<3IG5A literal 0 HcmV?d00001 diff --git a/images/logo/apple-icon-precomposed.png b/images/logo/apple-icon-precomposed.png new file mode 100644 index 0000000000000000000000000000000000000000..77bab36c66175fe8c8e2cdbd2697e891768f6610 GIT binary patch literal 9262 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 +#ffffff \ No newline at end of file diff --git a/images/logo/favicon-16x16.png b/images/logo/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..785797795713f6c489c6e9b28098171bf05da2ed GIT binary patch literal 1097 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5l(-k* z6XFV__4RZ~LOR-7db&DBh6c&WN%nSjh6egwot+;(d}wTJ(AU*5HZtt(?fLrk>&~4! zLV|aCh6fWy{YW zKPFF_>+sSM@AY-?ui(`ny<<$P; zLWc}^Tv82|2y`SXOu69nqUA#M`w#!^TT&k|S!HaoUVK%UVM4$Rw?!8@c-uKRJVip2 zH<^SgvUDt3yuqR@R#71M=z+;Ax0GCwkSJXE*2gS;p`dw#(X?`|qd_|#Epk>=th&1T zs`S~g=pIf3$=4-+<1WbaxGNoVY3^6QS7P>E+*^+)rZD{V*|P2SH+DD~cCjD7`|?cz z&(Y0IuZ#Ao?zGW9D6!jq-XGp?j_L2j|GwXO|9kwOi^5wAZ*Ku5DAf|zh?11Vl2ohY zqEsNoU}RuuscT@OYiJf?Xl!L-YGq=kZD3$!U{LXB&leO8x%nxXX_dG&aPDUTg_s-2 zhT{CRlJdl&R0hx7#Pn3(#PrPMYy~qtb3F@PO9h~nCb|Zux`svyfre%Z86_nJR{Hwo z<>h*rAk{z&RIQg^lzyk}Ezm#)36O~)8Kt>NR#q0YIh242H}9@770C z1Gdx3DkC*BJ)?xd(9(#Xp{Nz8MjXi;sG9K1l#&dPlFMrpIecG218R|Vly%_HZgnZo%#W&gdfSA;LNI21_LLjDU0mh0Hwl^ zq(Xx{8PYOyQi0yr&&?~z$xqi$ODxMw&d)2>M?{RiMRKY|vW2N(qG?)ka%!SwN|I5c mK}xE5s%dIca!Rs=9#DrK(0zZ-E$;!^z~JfX=d#Wzp$PzUbbiwS literal 0 HcmV?d00001 diff --git a/images/logo/favicon-32x32.png b/images/logo/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..16068025852efb857c841c1e4310ceccdda59844 GIT binary patch literal 1745 zcmds#iBHo>6vqbvMO_5egLS0m+;8^=7*x00xcvKTR7v4vn%_BqWp+ z7khempscNuk`hNoMwXVAo;-O>r+H#A=#!}_V`F1&ZEZ}3cY6A%@$qqg7R$=g0*A$9 zW}caxoV2tshoCSH6sA;OP^;Bk4%E}r)7RH05*cm7vZS5n?;$m@85y_62lapOjQ-jB0sR!Jus_tnt8kI`r?BvL1`*(D7 z%+1Z6N=tKbcIxi#hQdPI+uLVmW-cm~1X~*?M+YX8F*P-HHZ$`Oo9$pvsjsh}n3zaS zK}K?-LLrwQkBO08UYiw+JiNP%#qJ{wO)QSL6~|dQU+-CXd(C0jg-?U$wmUUy z9+Tb;oS}83cwFbWsn*q+?s( zd|qwjz0tQkC1P}7Z$Xy;66%FYf(){vFg1KYL%tVX~6isoii|xl^s#-zf6AbS=a{eSLbcEw{GrYAHurYSjB+ zvt8_S@$C#bcg(q=-^ny_e!(3i2ILuXG@^)Cs#=B5x)34nk=cu&+&O4a@$lH6&1Sp& z7dOq_Po5i+H$<>a8uG~A86SQTOo;;w)|@}#t9^wWe8iOQWlmthZ!GGbJs1`++V-;9 z!h7wn(M{FW^~~O`Y=TEwf0E*`edX&>$L1pAD536I`yG|>XIpYDpQb2?npWXp%Wu8C zwBaR#f}Ek=4Ciq)@)!2W+yiAiNCs255*Tp+kHwKuSX&g1$i~@FYzY)wq7@cP!D3_k z9!&i!AyUi}hM)NFgtfIg%fHQIxq?(2E|WtN7|AC?u_f|y7Sg+di`VSK?v|A5Bwyr=J!bn(l zA{qu?yTU|A@tw;9nBV9y*a!u11OmYpkGHWUe)NLJ5yW7Hj=wMt23R+@%Qu~dkx;;j z&>ghn#ZNPi2hcg`Ud0NtHQEpZD={R`0UsDA(e literal 0 HcmV?d00001 diff --git a/images/logo/favicon-96x96.png b/images/logo/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..9825f12e7ff76b3f6cd9f58cadaf649bf4964b8a GIT binary patch literal 4887 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 PluCPyr~gaZl0)t-wG)vP literal 0 HcmV?d00001 diff --git a/images/logo/manifest.json b/images/logo/manifest.json new file mode 100644 index 0000000..aa2c417 --- /dev/null +++ b/images/logo/manifest.json @@ -0,0 +1 @@ +{"name":"App","icons":[{"src":"/android-icon-36x36.png","sizes":"36x36","type":"image/png","density":"0.75"},{"src":"/android-icon-48x48.png","sizes":"48x48","type":"image/png","density":"1.0"},{"src":"/android-icon-72x72.png","sizes":"72x72","type":"image/png","density":"1.5"},{"src":"/android-icon-96x96.png","sizes":"96x96","type":"image/png","density":"2.0"},{"src":"/android-icon-144x144.png","sizes":"144x144","type":"image/png","density":"3.0"},{"src":"/android-icon-192x192.png","sizes":"192x192","type":"image/png","density":"4.0"}]} \ No newline at end of file diff --git a/images/logo/ms-icon-144x144.png b/images/logo/ms-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..3a89e75f981349af74421d6e260cfb1ef3d4d70f GIT binary patch literal 7695 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 literal 0 HcmV?d00001 diff --git a/images/logo/ms-icon-310x310.png b/images/logo/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..e85e2699851125d62e61b9ce6f5d8e2c5e6cb725 GIT binary patch literal 22210 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 literal 0 HcmV?d00001 diff --git a/images/logo/ms-icon-70x70.png b/images/logo/ms-icon-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..5d0d3f8d46800e7a1ce9756593ab3efecac9c4e0 GIT binary patch literal 2490 zcmd6ncTiJ%7RRrGG{u5ga8Z#}lt(%(gx*^cNGL&ykc1Edgc1TsF9NH83K)t{K)|I) zk*X^Q>I$etL8?4LM-T}0`RGO7#o3v4cV_?Jncw-HIltfMe9yUa?>)CH@y6m}XT$&i z5H~e3AcEd#&qM_F_9cmDpcAC);&cI^>h8g9@&Pd3=T9`&1D>=?&wzmp)r5!xfDkzV zh>8V(P4Fmc8UO+i0Kj(v08AzTobt`8Cujh`{%lLEwIK+=VbK521%pDM5CyEcS#)%i zhK71`bMxlrW>Hb0hPpZ)hkN(-?e6aG*49>OX{nZ`2Eo#T%jIrwZ&y}U=;~-&SrOaX z+P?4Xl$DjLswmsqSa)=EtgI~Gy>mwqg|s7)y1TlTm%;G1k|N5%!M?Y*cV%V8#rax) z|8G<~lq)yt2IPN~Kg+SJ~Rwcre_@#>OaQ^3c#wPfw4dgT0TB_r$~m zg+k`>c>XNb^z^h9k-+2ikB*Ldcrb8S?9kBQ#>Pf!YKkHX1yT4VDKT+!a+2le7akV+ z@xuo`pC1|$f<(X*6BAxGHm0Ygt*)*vE-c)*5raY^78e(u`FSdpGB7YOGc)7o>l+^*=jiCr+tV{MJ`EVQ&UqcmY+A1IWjUrccVEwUvs5Wp%6$#Ma94XkL==7Qu4U3ukV_Z zqlP-Bu%N)f{%U@H-c>u28d}xRK>zUTbu9RSDzb@qD*zC_U=sMSd1P_py9k6{(6fEQ zrf~dp)2g`rKE>kYgKmRo(&TG*P%W*${6&m2P~@=LjV!0(!SsC;b7KQ-Eh-`a3`BiR zuKI)CszA!iURK6}WCp?miTiwxE45NPy zACZb(7aHaI(nA`wS{|lNlESW86sk8Ji0VQ_1@=d0t(w8^)HoJ|<7HkraW6(SY{$G2 zG?28hOMaLkA(DILDCDi4!eOBVo{+AoaK(A^w#9i%*(sfOU3l7aoWiU%kFYdfB63L`cYxa~M5VC4^mSSI#0};-x4GIBIGvxe% z&A&?>yj5f&E1c_NxG9;Wuqo%8>%6PfbGy4PQv2qSLdWM_C52{a+GLgQpRCQ==)|M`?G(GyH^jQwLp=-OYG6-vxwE6n9GC`(@4?mONm{K~e*nN^(wL z?!0U#Xp4yc=YHUb~)R$=A3IR2@w?WSz-$+23#`w=GyDI%diY zUAIr?iFCVm&s0tk=ah(HsNZl{>u{@IUeX0=ZcLnLy?Y{mxy8IW>w?t#^2#Q7?`3{< zZTos?zw}sxq$=07;OcO)PN!`HHlneb*xcG?aL#CmM0>fXJ2HIT8+n#jI(8pG@TAmUf z-CN~s_eEjooDg^1r4qBD@6hx0b~gn7#rS-89@iqi6cXR}u~_*b?_TkDuc8*w#eW1@ z^+p>760>k#c*;N^zjjilEsURM!!BO%Wue7hjHX*qCqx1^!)nqt^_+j3h=}7 zE^CS8SxnmLE9@hLeH>07340)YJ45pjp(E%Ww1RiMkc4J+rE9)1nHxKcd*IKnomtsA zVlXDYYWDQ|`-z}0?)4{*33+Pol+DuHCCnzI3$nK3G)YGJqXp$x=-di%xt7e%V6(a< zhs>cCBi^`N=as27?Kh`)r5<$NPi**J)XPA3Hi7OWpNk(@TgNAds+F- z$ial6Z;n24PHfiOQD1>sA!=-L%cmmSV>P=z1kFCi;@f}ixzzbsq15V>`$R{;IklDN zQPLrN9lU0P%-?dNA;|)Fi5$-7h3<7a|ykYr25|}=&47cF_ogn&3aBqMa?N#viabpLOSv0_u zNv6|qWIBWDDWd{Yg`uHpGGIw1C_)*EM9C14Dl+bDwl4+_4+;u`G4^QCKpN)5q7TN; zgMz^6Jw4G4P=VFlpXw48{^f{Q+dr?hE*TF+XZzFzz%4-JJ~})lf$ORvgHj z`bpo}MhNhyGkz{2zDwRf7bETlj2v?daO_@fax>C_FFarkmx7}Wp1Xch{4e81Xe0UtpET3 literal 0 HcmV?d00001 diff --git a/images/placeholder.gif b/images/placeholder.gif new file mode 100644 index 0000000000000000000000000000000000000000..efb6768db9d768e6c7322905ed131b4f184c23f8 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcLY|NlP&1A`6_1Nn>$3`|Tej11NQg@y&% literal 0 HcmV?d00001 diff --git a/images/quote-l.svg b/images/quote-l.svg new file mode 100644 index 0000000..6dd94a4 --- /dev/null +++ b/images/quote-l.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/images/quote-r.svg b/images/quote-r.svg new file mode 100644 index 0000000..312b64d --- /dev/null +++ b/images/quote-r.svg @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/images/searchicon.png b/images/searchicon.png new file mode 100644 index 0000000000000000000000000000000000000000..14a16cad3e0722952bae78768f4ef457dbfb4c0d GIT binary patch literal 766 zcmVJ#lUOPJ;Vj#I(msyiw!_!8!*~r|1AXz-KMD5FGF_S0z}juE=ksK$FPr z1&d6=n}oZS!R}eX;|zGLjbmV~Nw`Ru>4Ft5zJp65S7H)gs*T@)msa?=1Ab}a<$epu zBxfErz6xQZxgsL>$C|!~n1s{XcrJ@W*eDc5Y04!0Oq{=!{~=r{wr|KJd{-N11u66* z3cwbT>oo~?vuM~+6;iwzEYZded|?eIahvBNf7#%*3 zRS(z-F7h+W&)&suB^9-%Kl-?`PY%!G{OlE(5Vl((wXzQ`hO5n#ur4kQ_eA+8lfw2T wk(|G@S?Y{yH0NDkLt#Wf;(f|Me07*qoM6N<$f@1()lK=n! literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..ef7f695 --- /dev/null +++ b/index.html @@ -0,0 +1,1236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cross Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/src/affix.js b/js/src/affix.js new file mode 100644 index 0000000..240e43a --- /dev/null +++ b/js/src/affix.js @@ -0,0 +1,168 @@ +/* ======================================================================== + * Bootstrap: affix.js v3.3.5 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + +/** + * Customized by Ivan.Nginx + * + * - Refactored with eslint-config-theme-next style. + */ + +(function($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function(element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options); + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)); + + this.$element = $(element); + this.affixed = null; + this.unpin = null; + this.pinnedOffset = null; + + this.checkPosition(); + }; + + Affix.VERSION = '3.3.5'; + + Affix.RESET = 'affix affix-top affix-bottom'; + + Affix.DEFAULTS = { + offset: 0, + target: window + }; + + Affix.prototype.getState = function(scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop(); + var position = this.$element.offset(); + var targetHeight = this.$target.height(); + + if (offsetTop != null && this.affixed === 'top') return scrollTop < offsetTop ? 'top' : false; + + if (this.affixed === 'bottom') { + if (offsetTop != null) return scrollTop + this.unpin <= position.top ? false : 'bottom'; + return scrollTop + targetHeight <= scrollHeight - offsetBottom ? false : 'bottom'; + } + + var initializing = this.affixed == null; + var colliderTop = initializing ? scrollTop : position.top; + var colliderHeight = initializing ? targetHeight : height; + + if (offsetTop != null && scrollTop <= offsetTop) return 'top'; + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'; + + return false; + }; + + Affix.prototype.getPinnedOffset = function() { + if (this.pinnedOffset) return this.pinnedOffset; + this.$element.removeClass(Affix.RESET).addClass('affix'); + var scrollTop = this.$target.scrollTop(); + var position = this.$element.offset(); + return (this.pinnedOffset = position.top - scrollTop); + }; + + Affix.prototype.checkPositionWithEventLoop = function() { + setTimeout($.proxy(this.checkPosition, this), 1); + }; + + Affix.prototype.checkPosition = function() { + if (!this.$element.is(':visible')) return; + + var height = this.$element.height(); + var offset = this.options.offset; + var offsetTop = offset.top; + var offsetBottom = offset.bottom; + var scrollHeight = Math.max($(document).height(), $(document.body).height()); + + /* eslint-disable */ + if (typeof offset !== 'object') offsetBottom = offsetTop = offset; + if (typeof offsetTop === 'function') offsetTop = offset.top(this.$element); + if (typeof offsetBottom === 'function') offsetBottom = offset.bottom(this.$element); + /* eslint-enable */ + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom); + + if (this.affixed !== affix) { + if (this.unpin != null) this.$element.css('top', ''); + + var affixType = 'affix' + (affix ? '-' + affix : ''); + var e = new $.Event(affixType + '.bs.affix'); + + this.$element.trigger(e); + + if (e.isDefaultPrevented()) return; + + this.affixed = affix; + this.unpin = affix === 'bottom' ? this.getPinnedOffset() : null; + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix'); + } + + if (affix === 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }); + } + }; + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function() { + var $this = $(this); + var data = $this.data('bs.affix'); + var options = typeof option === 'object' && option; + + if (!data) $this.data('bs.affix', data = new Affix(this, options)); + if (typeof option === 'string') data[option](); + }); + } + + var old = $.fn.affix; + + $.fn.affix = Plugin; + $.fn.affix.Constructor = Affix; + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function() { + $.fn.affix = old; + return this; + }; + + // AFFIX DATA-API + // ============== + + $(window).on('load', function() { + $('[data-spy="affix"]').each(function() { + var $spy = $(this); + var data = $spy.data(); + + data.offset = data.offset || {}; + + /* eslint-disable */ + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom; + if (data.offsetTop != null) data.offset.top = data.offsetTop; + /* eslint-enable */ + + Plugin.call($spy, data); + }); + }); + +}(jQuery)); diff --git a/js/src/algolia-search.js b/js/src/algolia-search.js new file mode 100644 index 0000000..06decd8 --- /dev/null +++ b/js/src/algolia-search.js @@ -0,0 +1,114 @@ +/* global instantsearch, CONFIG */ + +$(document).ready(function() { + var algoliaSettings = CONFIG.algolia; + var isAlgoliaSettingsValid = algoliaSettings.applicationID + && algoliaSettings.apiKey + && algoliaSettings.indexName; + + if (!isAlgoliaSettingsValid) { + window.console.error('Algolia Settings are invalid.'); + return; + } + + var search = instantsearch({ + appId : algoliaSettings.applicationID, + apiKey : algoliaSettings.apiKey, + indexName : algoliaSettings.indexName, + searchFunction: function(helper) { + var searchInput = $('#algolia-search-input').find('input'); + + if (searchInput.val()) { + helper.search(); + } + } + }); + + // Registering Widgets + [ + instantsearch.widgets.searchBox({ + container : '#algolia-search-input', + placeholder: algoliaSettings.labels.input_placeholder + }), + + instantsearch.widgets.hits({ + container : '#algolia-hits', + hitsPerPage: algoliaSettings.hits.per_page || 10, + templates : { + item: function(data) { + var link = data.permalink ? data.permalink : CONFIG.root + data.path; + return ( + '' + + data._highlightResult.title.value + + '' + ); + }, + empty: function(data) { + return ( + '
' + + algoliaSettings.labels.hits_empty.replace(/\$\{query}/, data.query) + + '
' + ); + } + }, + cssClasses: { + item: 'algolia-hit-item' + } + }), + + instantsearch.widgets.stats({ + container: '#algolia-stats', + templates: { + body: function(data) { + var stats = algoliaSettings.labels.hits_stats + .replace(/\$\{hits}/, data.nbHits) + .replace(/\$\{time}/, data.processingTimeMS); + return ( + stats + + '' + + ' Algolia' + + '' + + '
' + ); + } + } + }), + + instantsearch.widgets.pagination({ + container : '#algolia-pagination', + scrollTo : false, + showFirstLast: false, + labels : { + first : '', + last : '', + previous: '', + next : '' + }, + cssClasses: { + root : 'pagination', + item : 'pagination-item', + link : 'page-number', + active : 'current', + disabled: 'disabled-item' + } + }) + ].forEach(search.addWidget, search); + + search.start(); + + $('.popup-trigger').on('click', function(e) { + e.stopPropagation(); + $('body') + .append('
') + .css('overflow', 'hidden'); + $('.popup').toggle(); + $('#algolia-search-input').find('input').focus(); + }); + + $('.popup-btn-close').click(function() { + $('.popup').hide(); + $('.algolia-pop-overlay').remove(); + $('body').css('overflow', ''); + }); + +}); diff --git a/js/src/exturl.js b/js/src/exturl.js new file mode 100644 index 0000000..806a29e --- /dev/null +++ b/js/src/exturl.js @@ -0,0 +1,14 @@ +$(document).ready(function() { + + // Create Base64 Object + /* eslint-disable */ + var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}; + + $('.exturl').on('click', function() { + var $exturl = $(this).attr('data-url'); + var $decurl = Base64.decode($exturl); + window.open($decurl, '_blank'); + return false; + }); + +}); diff --git a/js/src/js.cookie.js b/js/src/js.cookie.js new file mode 100644 index 0000000..97b4fea --- /dev/null +++ b/js/src/js.cookie.js @@ -0,0 +1,166 @@ +/*! + * JavaScript Cookie v2.1.4 + * https://github.com/js-cookie/js-cookie + * + * Copyright 2006, 2015 Klaus Hartl & Fagner Brack + * Released under the MIT license + */ + +;(function (factory) { + var registeredInModuleLoader = false; + if (typeof define === 'function' && define.amd) { + define(factory); + registeredInModuleLoader = true; + } + if (typeof exports === 'object') { + module.exports = factory(); + registeredInModuleLoader = true; + } + if (!registeredInModuleLoader) { + var OldCookies = window.Cookies; + var api = window.Cookies = factory(); + api.noConflict = function () { + window.Cookies = OldCookies; + return api; + }; + } +}(function () { + function extend () { + var i = 0; + var result = {}; + for (; i < arguments.length; i++) { + var attributes = arguments[ i ]; + for (var key in attributes) { + result[key] = attributes[key]; + } + } + return result; + } + + function init (converter) { + function api (key, value, attributes) { + var result; + if (typeof document === 'undefined') { + return; + } + + // Write + + if (arguments.length > 1) { + attributes = extend({ + path: '/' + }, api.defaults, attributes); + + if (typeof attributes.expires === 'number') { + var expires = new Date(); + expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5); + attributes.expires = expires; + } + + // We're using "expires" because "max-age" is not supported by IE + attributes.expires = attributes.expires ? attributes.expires.toUTCString() : ''; + + try { + result = JSON.stringify(value); + if (/^[\{\[]/.test(result)) { + value = result; + } + } catch (e) {} + + if (!converter.write) { + value = encodeURIComponent(String(value)) + .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); + } else { + value = converter.write(value, key); + } + + key = encodeURIComponent(String(key)); + key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent); + key = key.replace(/[\(\)]/g, escape); + + var stringifiedAttributes = ''; + + for (var attributeName in attributes) { + if (!attributes[attributeName]) { + continue; + } + stringifiedAttributes += '; ' + attributeName; + if (attributes[attributeName] === true) { + continue; + } + stringifiedAttributes += '=' + attributes[attributeName]; + } + return (document.cookie = key + '=' + value + stringifiedAttributes); + } + + // Read + + if (!key) { + result = {}; + } + + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. Also prevents odd result when + // calling "get()" + var cookies = document.cookie ? document.cookie.split('; ') : []; + var rdecode = /(%[0-9A-Z]{2})+/g; + var i = 0; + + for (; i < cookies.length; i++) { + var parts = cookies[i].split('='); + var cookie = parts.slice(1).join('='); + + if (cookie.charAt(0) === '"') { + cookie = cookie.slice(1, -1); + } + + try { + var name = parts[0].replace(rdecode, decodeURIComponent); + cookie = converter.read ? + converter.read(cookie, name) : converter(cookie, name) || + cookie.replace(rdecode, decodeURIComponent); + + if (this.json) { + try { + cookie = JSON.parse(cookie); + } catch (e) {} + } + + if (key === name) { + result = cookie; + break; + } + + if (!key) { + result[name] = cookie; + } + } catch (e) {} + } + + return result; + } + + api.set = api; + api.get = function (key) { + return api.call(api, key); + }; + api.getJSON = function () { + return api.apply({ + json: true + }, [].slice.call(arguments)); + }; + api.defaults = {}; + + api.remove = function (key, attributes) { + api(key, '', extend(attributes, { + expires: -1 + })); + }; + + api.withConverter = init; + + return api; + } + + return init(function () {}); +})); diff --git a/js/src/motion.js b/js/src/motion.js new file mode 100644 index 0000000..57a039b --- /dev/null +++ b/js/src/motion.js @@ -0,0 +1,372 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + NexT.motion = {}; + + var sidebarToggleLines = { + lines: [], + push : function(line) { + this.lines.push(line); + }, + init: function() { + this.lines.forEach(function(line) { + line.init(); + }); + }, + arrow: function() { + this.lines.forEach(function(line) { + line.arrow(); + }); + }, + close: function() { + this.lines.forEach(function(line) { + line.close(); + }); + } + }; + + function SidebarToggleLine(settings) { + this.el = $(settings.el); + this.status = $.extend({}, { + init: { + width : '100%', + opacity: 1, + left : 0, + rotateZ: 0, + top : 0 + } + }, settings.status); + } + + SidebarToggleLine.prototype.init = function() { + this.transform('init'); + }; + SidebarToggleLine.prototype.arrow = function() { + this.transform('arrow'); + }; + SidebarToggleLine.prototype.close = function() { + this.transform('close'); + }; + SidebarToggleLine.prototype.transform = function(status) { + this.el.velocity('stop').velocity(this.status[status]); + }; + + var sidebarToggleLine1st = new SidebarToggleLine({ + el : '.sidebar-toggle-line-first', + status: { + arrow: {width: '50%', rotateZ: '-45deg', top: '2px'}, + close: {width: '100%', rotateZ: '-45deg', top: '5px'} + } + }); + var sidebarToggleLine2nd = new SidebarToggleLine({ + el : '.sidebar-toggle-line-middle', + status: { + arrow: {width: '90%'}, + close: {opacity: 0} + } + }); + var sidebarToggleLine3rd = new SidebarToggleLine({ + el : '.sidebar-toggle-line-last', + status: { + arrow: {width: '50%', rotateZ: '45deg', top: '-2px'}, + close: {width: '100%', rotateZ: '45deg', top: '-5px'} + } + }); + + sidebarToggleLines.push(sidebarToggleLine1st); + sidebarToggleLines.push(sidebarToggleLine2nd); + sidebarToggleLines.push(sidebarToggleLine3rd); + + var SIDEBAR_WIDTH = CONFIG.sidebar.width ? CONFIG.sidebar.width : '320px'; + var SIDEBAR_DISPLAY_DURATION = 200; + var xPos, yPos; + + var sidebarToggleMotion = { + toggleEl : $('.sidebar-toggle'), + dimmerEl : $('#sidebar-dimmer'), + sidebarEl : $('.sidebar'), + isSidebarVisible: false, + init : function() { + this.toggleEl.on('click', this.clickHandler.bind(this)); + this.dimmerEl.on('click', this.clickHandler.bind(this)); + this.toggleEl.on('mouseenter', this.mouseEnterHandler.bind(this)); + this.toggleEl.on('mouseleave', this.mouseLeaveHandler.bind(this)); + this.sidebarEl.on('touchstart', this.touchstartHandler.bind(this)); + this.sidebarEl.on('touchend', this.touchendHandler.bind(this)); + this.sidebarEl.on('touchmove', function(e) { e.preventDefault(); }); + + $(document) + .on('sidebar.isShowing', function() { + NexT.utils.isDesktop() && $('body').velocity('stop').velocity( + {paddingRight: SIDEBAR_WIDTH}, + SIDEBAR_DISPLAY_DURATION + ); + }) + .on('sidebar.isHiding', function() { + }); + }, + clickHandler: function() { + this.isSidebarVisible ? this.hideSidebar() : this.showSidebar(); + this.isSidebarVisible = !this.isSidebarVisible; + }, + mouseEnterHandler: function() { + if (this.isSidebarVisible) { + return; + } + sidebarToggleLines.arrow(); + }, + mouseLeaveHandler: function() { + if (this.isSidebarVisible) { + return; + } + sidebarToggleLines.init(); + }, + touchstartHandler: function(e) { + xPos = e.originalEvent.touches[0].clientX; + yPos = e.originalEvent.touches[0].clientY; + }, + touchendHandler: function(e) { + var _xPos = e.originalEvent.changedTouches[0].clientX; + var _yPos = e.originalEvent.changedTouches[0].clientY; + if (_xPos - xPos > 30 && Math.abs(_yPos - yPos) < 20) { + this.clickHandler(); + } + }, + showSidebar: function() { + var self = this; + + sidebarToggleLines.close(); + + this.sidebarEl.velocity('stop').velocity({ + width: SIDEBAR_WIDTH + }, { + display : 'block', + duration: SIDEBAR_DISPLAY_DURATION, + begin : function() { + $('.sidebar .motion-element').not('.site-state').velocity( + 'transition.slideRightIn', { + stagger : 50, + drag : true, + complete: function() { + self.sidebarEl.trigger('sidebar.motion.complete'); + } + } + ); + $('.site-state').velocity( + 'transition.slideRightIn', { + stagger : 50, + drag : true, + display : 'flex' + } + ); + }, + complete: function() { + self.sidebarEl.addClass('sidebar-active'); + self.sidebarEl.trigger('sidebar.didShow'); + } + }); + + this.sidebarEl.trigger('sidebar.isShowing'); + }, + hideSidebar: function() { + NexT.utils.isDesktop() && $('body').velocity('stop').velocity({paddingRight: 0}); + this.sidebarEl.find('.motion-element').velocity('stop').css('display', 'none'); + this.sidebarEl.velocity('stop').velocity({width: 0}, {display: 'none'}); + + sidebarToggleLines.init(); + + this.sidebarEl.removeClass('sidebar-active'); + this.sidebarEl.trigger('sidebar.isHiding'); + + // Prevent adding TOC to Overview if Overview was selected when close & open sidebar. + if ($('.post-toc-wrap')) { + if ($('.site-overview-wrap').css('display') === 'block') { + $('.post-toc-wrap').removeClass('motion-element'); + } else { + $('.post-toc-wrap').addClass('motion-element'); + } + } + } + }; + sidebarToggleMotion.init(); + + NexT.motion.integrator = { + queue : [], + cursor: -1, + add : function(fn) { + this.queue.push(fn); + return this; + }, + next: function() { + this.cursor++; + var fn = this.queue[this.cursor]; + $.isFunction(fn) && fn(NexT.motion.integrator); + }, + bootstrap: function() { + this.next(); + } + }; + + NexT.motion.middleWares = { + logo: function(integrator) { + var sequence = []; + var $brand = $('.brand'); + var $image = $('.custom-logo-image'); + var $title = $('.site-title'); + var $subtitle = $('.site-subtitle'); + var $logoLineTop = $('.logo-line-before i'); + var $logoLineBottom = $('.logo-line-after i'); + + $brand.length > 0 && sequence.push({ + e: $brand, + p: {opacity: 1}, + o: {duration: 200} + }); + + /** + * Check if $elements exist. + * @param {jQuery|Array} $elements + * @returns {boolean} + */ + function hasElement($elements) { + $elements = Array.isArray($elements) ? $elements : [$elements]; + return $elements.every(function($element) { + return $element.length > 0; + }); + } + + function getMistLineSettings(element, translateX) { + return { + e: $(element), + p: {translateX: translateX}, + o: { + duration : 500, + sequenceQueue: false + } + }; + } + + function pushImageToSequence() { + sequence.push({ + e: $image, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + } + + NexT.utils.isMist() && hasElement([$logoLineTop, $logoLineBottom]) + && sequence.push( + getMistLineSettings($logoLineTop, '100%'), + getMistLineSettings($logoLineBottom, '-100%') + ); + + NexT.utils.isMuse() && hasElement($image) && pushImageToSequence(); + + hasElement($title) && sequence.push({ + e: $title, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + + hasElement($subtitle) && sequence.push({ + e: $subtitle, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + + (NexT.utils.isPisces() || NexT.utils.isGemini()) && hasElement($image) && pushImageToSequence(); + + if (CONFIG.motion.async) { + integrator.next(); + } + + if (sequence.length > 0) { + sequence[sequence.length - 1].o.complete = function() { + integrator.next(); + }; + /* eslint-disable */ + $.Velocity.RunSequence(sequence); + /* eslint-enable */ + } else { + integrator.next(); + } + }, + + menu: function(integrator) { + + if (CONFIG.motion.async) { + integrator.next(); + } + + $('.menu-item').velocity('transition.slideDownIn', { + display : null, + duration: 200, + complete: function() { + integrator.next(); + } + }); + }, + + postList: function(integrator) { + + //var $post = $('.post'); + var $postBlock = $('.post-block, .pagination, .comments'); + var $postBlockTransition = CONFIG.motion.transition.post_block; + var $postHeader = $('.post-header'); + var $postHeaderTransition = CONFIG.motion.transition.post_header; + var $postBody = $('.post-body'); + var $postBodyTransition = CONFIG.motion.transition.post_body; + var $collHeader = $('.collection-title, .archive-year'); + var $collHeaderTransition = CONFIG.motion.transition.coll_header; + var $sidebarAffix = $('.sidebar-inner'); + var $sidebarAffixTransition = CONFIG.motion.transition.sidebar; + var hasPost = $postBlock.length > 0; + + function postMotion() { + var postMotionOptions = window.postMotionOptions || { + stagger: 100, + drag : true + }; + postMotionOptions.complete = function() { + // After motion complete need to remove transform from sidebar to let affix work on Pisces | Gemini. + if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) { + $sidebarAffix.css({ 'transform': 'initial' }); + } + integrator.next(); + }; + + //$post.velocity('transition.slideDownIn', postMotionOptions); + if (CONFIG.motion.transition.post_block) { + $postBlock.velocity('transition.' + $postBlockTransition, postMotionOptions); + } + if (CONFIG.motion.transition.post_header) { + $postHeader.velocity('transition.' + $postHeaderTransition, postMotionOptions); + } + if (CONFIG.motion.transition.post_body) { + $postBody.velocity('transition.' + $postBodyTransition, postMotionOptions); + } + if (CONFIG.motion.transition.coll_header) { + $collHeader.velocity('transition.' + $collHeaderTransition, postMotionOptions); + } + // Only for Pisces | Gemini. + if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) { + $sidebarAffix.velocity('transition.' + $sidebarAffixTransition, postMotionOptions); + } + } + + hasPost ? postMotion() : integrator.next(); + + if (CONFIG.motion.async) { + integrator.next(); + } + }, + + sidebar: function(integrator) { + if (CONFIG.sidebar.display === 'always') { + NexT.utils.displaySidebar(); + } + integrator.next(); + } + }; + +}); diff --git a/js/src/next-boot.js b/js/src/next-boot.js new file mode 100644 index 0000000..f9c02d3 --- /dev/null +++ b/js/src/next-boot.js @@ -0,0 +1,53 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + $(document).trigger('bootstrap:before'); + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'layout/_partials/head.swig' file. + */ + CONFIG.fastclick && NexT.utils.isMobile() && window.FastClick.attach(document.body); + CONFIG.lazyload && NexT.utils.lazyLoadPostsImages(); + + NexT.utils.registerESCKeyEvent(); + + CONFIG.back2top && NexT.utils.registerBackToTop(); + + // Mobile top menu bar. + $('.site-nav-toggle button').on('click', function() { + var $siteNav = $('.site-nav'); + var ON_CLASS_NAME = 'site-nav-on'; + var isSiteNavOn = $siteNav.hasClass(ON_CLASS_NAME); + var animateAction = isSiteNavOn ? 'slideUp' : 'slideDown'; + var animateCallback = isSiteNavOn ? 'removeClass' : 'addClass'; + + $siteNav.stop()[animateAction]('fast', function() { + $siteNav[animateCallback](ON_CLASS_NAME); + }); + }); + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'layout/_partials/head.swig' file. + */ + CONFIG.fancybox && NexT.utils.wrapImageWithFancyBox(); + CONFIG.tabs && NexT.utils.registerTabsTag(); + + NexT.utils.embeddedVideoTransformer(); + + // Define Motion Sequence. + NexT.motion.integrator + .add(NexT.motion.middleWares.logo) + .add(NexT.motion.middleWares.menu) + .add(NexT.motion.middleWares.postList) + .add(NexT.motion.middleWares.sidebar); + + $(document).trigger('motion:before'); + + // Bootstrap Motion. + CONFIG.motion.enable && NexT.motion.integrator.bootstrap(); + + $(document).trigger('bootstrap:after'); +}); diff --git a/js/src/post-details.js b/js/src/post-details.js new file mode 100644 index 0000000..e47f1bb --- /dev/null +++ b/js/src/post-details.js @@ -0,0 +1,104 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + function initScrollSpy() { + var tocSelector = '.post-toc'; + var $tocElement = $(tocSelector); + var activeCurrentSelector = '.active-current'; + + function removeCurrentActiveClass() { + $(tocSelector + ' ' + activeCurrentSelector) + .removeClass(activeCurrentSelector.substring(1)); + } + + $tocElement + .on('activate.bs.scrollspy', function() { + var $currentActiveElement = $(tocSelector + ' .active').last(); + + removeCurrentActiveClass(); + $currentActiveElement.addClass('active-current'); + + // Scrolling to center active TOC element if TOC content is taller then viewport. + $tocElement.scrollTop($currentActiveElement.offset().top - $tocElement.offset().top + $tocElement.scrollTop() - ($tocElement.height() / 2)); + }) + .on('clear.bs.scrollspy', removeCurrentActiveClass); + + $('body').scrollspy({ target: tocSelector }); + } + + initScrollSpy(); +}); + +$(document).ready(function() { + var html = $('html'); + var TAB_ANIMATE_DURATION = 200; + var hasVelocity = $.isFunction(html.velocity); + + $('.sidebar-nav li').on('click', function() { + var item = $(this); + var activeTabClassName = 'sidebar-nav-active'; + var activePanelClassName = 'sidebar-panel-active'; + if (item.hasClass(activeTabClassName)) { + return; + } + + var currentTarget = $('.' + activePanelClassName); + var target = $('.' + item.data('target')); + + hasVelocity + ? currentTarget.velocity('transition.slideUpOut', TAB_ANIMATE_DURATION, function() { + target + .velocity('stop') + .velocity('transition.slideDownIn', TAB_ANIMATE_DURATION) + .addClass(activePanelClassName); + }) + : currentTarget.animate({ opacity: 0 }, TAB_ANIMATE_DURATION, function() { + currentTarget.hide(); + target + .stop() + .css({'opacity': 0, 'display': 'block'}) + .animate({ opacity: 1 }, TAB_ANIMATE_DURATION, function() { + currentTarget.removeClass(activePanelClassName); + target.addClass(activePanelClassName); + }); + }); + + item.siblings().removeClass(activeTabClassName); + item.addClass(activeTabClassName); + }); + + // TOC item animation navigate & prevent #item selector in adress bar. + $('.post-toc a').on('click', function(e) { + e.preventDefault(); + var targetSelector = NexT.utils.escapeSelector(this.getAttribute('href')); + var offset = $(targetSelector).offset().top; + + hasVelocity + ? html.velocity('stop').velocity('scroll', { + offset : offset + 'px', + mobileHA: false + }) + : $('html, body').stop().animate({ + scrollTop: offset + }, 500); + }); + + // Expand sidebar on post detail page by default, when post has a toc. + var $tocContent = $('.post-toc-content'); + var display = CONFIG.page.sidebar; + if (typeof display !== 'boolean') { + // There's no definition sidebar in the page front-matter + var isSidebarCouldDisplay = CONFIG.sidebar.display === 'post' + || CONFIG.sidebar.display === 'always'; + var hasTOC = $tocContent.length > 0 && $tocContent.html().trim().length > 0; + display = isSidebarCouldDisplay && hasTOC; + } + if (display) { + CONFIG.motion.enable + ? NexT.motion.middleWares.sidebar = function() { + NexT.utils.displaySidebar(); + } + : NexT.utils.displaySidebar(); + } +}); diff --git a/js/src/schemes/muse.js b/js/src/schemes/muse.js new file mode 100644 index 0000000..a0e2c56 --- /dev/null +++ b/js/src/schemes/muse.js @@ -0,0 +1,9 @@ +$(document).ready(function() { + function updateFooterPosition() { + var containerHeight = $('#footer').attr('position') ? $('.container').height() + $('#footer').outerHeight(true) : $('.container').height(); + if (containerHeight < window.innerHeight) $('#footer').css({ 'position': 'fixed', 'bottom': 0, 'left': 0, 'right': 0 }).attr('position', 'fixed'); + else $('#footer').removeAttr('style position'); + } + updateFooterPosition(); + $(window).on('resize scroll', updateFooterPosition); +}); diff --git a/js/src/schemes/pisces.js b/js/src/schemes/pisces.js new file mode 100644 index 0000000..8c6e896 --- /dev/null +++ b/js/src/schemes/pisces.js @@ -0,0 +1,57 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + var sidebarInner = $('.sidebar-inner'); + var sidebarOffset = CONFIG.sidebar.offset || 12; + + function getHeaderOffset() { + return $('.header-inner').height() + sidebarOffset; + } + + function getFooterOffset() { + var footer = $('#footer'); + var footerInner = $('.footer-inner'); + var footerMargin = footer.outerHeight() - footerInner.outerHeight(); + var footerOffset = footer.outerHeight() + footerMargin; + return footerOffset; + } + + function initAffix() { + var headerOffset = getHeaderOffset(); + var footerOffset = getFooterOffset(); + var sidebarHeight = $('#sidebar').height() + NexT.utils.getSidebarb2tHeight(); + var contentHeight = $('#content').height(); + + // Not affix if sidebar taller than content (to prevent bottom jumping). + if (headerOffset + sidebarHeight < contentHeight) { + sidebarInner.affix({ + offset: { + top : headerOffset - sidebarOffset, + bottom: footerOffset + } + }); + sidebarInner.affix('checkPosition'); + } + + $('#sidebar').css({ 'margin-top': headerOffset, 'margin-left': 'auto' }); + } + + function recalculateAffixPosition() { + $(window).off('.affix'); + sidebarInner.removeData('bs.affix').removeClass('affix affix-top affix-bottom'); + initAffix(); + } + + function resizeListener() { + var mql = window.matchMedia('(min-width: 992px)'); + mql.addListener(function(e) { + if (e.matches) { + recalculateAffixPosition(); + } + }); + } + + initAffix(); + resizeListener(); +}); diff --git a/js/src/scroll-cookie.js b/js/src/scroll-cookie.js new file mode 100644 index 0000000..2db1f8a --- /dev/null +++ b/js/src/scroll-cookie.js @@ -0,0 +1,25 @@ +$(document).ready(function() { + + /* global Cookies */ + + // Set relative link path (without domain) + var rpath = window.location.href.replace(window.location.origin, ''); + + // Write position in cookie + var timeout; + $(window).on('scroll', function() { + clearTimeout(timeout); + timeout = setTimeout(function() { + Cookies.set('scroll-cookie', $(window).scrollTop() + '|' + rpath, { expires: 365, path: '' }); + }, 250); + }); + + // Read position from cookie + if (Cookies.get('scroll-cookie') !== undefined) { + var cvalues = Cookies.get('scroll-cookie').split('|'); + if (cvalues[1] === rpath) { + $(window).scrollTop(cvalues[0]); + } + } + +}); diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js new file mode 100644 index 0000000..7efacac --- /dev/null +++ b/js/src/scrollspy.js @@ -0,0 +1,179 @@ +/* ======================================================================== +* Bootstrap: scrollspy.js v3.3.2 +* http://getbootstrap.com/javascript/#scrollspy +* ======================================================================== +* Copyright 2011-2015 Twitter, Inc. +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) +* ======================================================================== */ + +/** + * Customized by iissnan & Ivan.Nginx + * + * - Add a `clear.bs.scrollspy` event. + * - Esacpe targets selector. + * - Refactored with eslint-config-theme-next style. + */ + +/* global NexT */ + +(function($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + function ScrollSpy(element, options) { + this.$body = $(document.body); + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element); + this.options = $.extend({}, ScrollSpy.DEFAULTS, options); + this.selector = (this.options.target || '') + ' .nav li > a'; + this.offsets = []; + this.targets = []; + this.activeTarget = null; + this.scrollHeight = 0; + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)); + this.refresh(); + this.process(); + } + + ScrollSpy.VERSION = '3.3.2'; + + ScrollSpy.DEFAULTS = { + offset: 10 + }; + + ScrollSpy.prototype.getScrollHeight = function() { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight); + }; + + ScrollSpy.prototype.refresh = function() { + var that = this; + var offsetMethod = 'offset'; + var offsetBase = 0; + + this.offsets = []; + this.targets = []; + this.scrollHeight = this.getScrollHeight(); + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position'; + offsetBase = this.$scrollElement.scrollTop(); + } + + this.$body + .find(this.selector) + .map(function() { + var $el = $(this); + var href = $el.data('target') || $el.attr('href'); + var $href = /^#./.test(href) && $(NexT.utils.escapeSelector(href)); // Need to escape selector. + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null; + }) + .sort(function(a, b) { + return a[0] - b[0]; + }) + .each(function() { + that.offsets.push(this[0]); + that.targets.push(this[1]); + }); + + + }; + + ScrollSpy.prototype.process = function() { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset; + var scrollHeight = this.getScrollHeight(); + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height(); + var offsets = this.offsets; + var targets = this.targets; + var activeTarget = this.activeTarget; + var i; + + if (this.scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + return activeTarget !== (i = targets[targets.length - 1]) && this.activate(i); + } + + if (activeTarget && scrollTop < offsets[0]) { + $(this.selector).trigger('clear.bs.scrollspy'); // Add a custom event. + this.activeTarget = null; + return this.clear(); + } + + for (i = offsets.length; i--;) { + activeTarget !== targets[i] + && scrollTop >= offsets[i] + && (!offsets[i + 1] || scrollTop <= offsets[i + 1]) + && this.activate(targets[i]); + } + }; + + ScrollSpy.prototype.activate = function(target) { + this.activeTarget = target; + + this.clear(); + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]'; + + var active = $(selector) + .parents('li') + .addClass('active'); + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active'); + } + + active.trigger('activate.bs.scrollspy'); + }; + + ScrollSpy.prototype.clear = function() { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active'); + }; + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + function Plugin(option) { + return this.each(function() { + var $this = $(this); + var data = $this.data('bs.scrollspy'); + var options = typeof option === 'object' && option; + + if (!data) $this.data('bs.scrollspy', data = new ScrollSpy(this, options)); + if (typeof option === 'string') data[option](); + }); + } + + var old = $.fn.scrollspy; + + $.fn.scrollspy = Plugin; + $.fn.scrollspy.Constructor = ScrollSpy; + + // SCROLLSPY NO CONFLICT + // ===================== + $.fn.scrollspy.noConflict = function() { + $.fn.scrollspy = old; + return this; + }; + + // SCROLLSPY DATA-API + // ================== + $(window).on('load.bs.scrollspy.data-api', function() { + $('[data-spy="scroll"]').each(function() { + var $spy = $(this); + Plugin.call($spy, $spy.data()); + }); + }); + +}(jQuery)); diff --git a/js/src/utils.js b/js/src/utils.js new file mode 100644 index 0000000..c7f3de4 --- /dev/null +++ b/js/src/utils.js @@ -0,0 +1,340 @@ +/* global NexT, CONFIG */ + +NexT.utils = NexT.$u = { + + /** + * Wrap images with fancybox support. + */ + wrapImageWithFancyBox: function() { + $('.content img') + .not(':hidden') + .each(function() { + var $image = $(this); + var imageTitle = $image.attr('title') || $image.attr('alt'); + var $imageWrapLink = $image.parent('a'); + + if ($imageWrapLink.length < 1) { + var imageLink = $image.attr('data-original') || $image.attr('src'); + $imageWrapLink = $image.wrap('').parent('a'); + if ($image.is('.post-gallery img')) { + $imageWrapLink.addClass('post-gallery-img'); + $imageWrapLink.attr('data-fancybox', 'gallery').attr('rel', 'gallery'); + } + else if ($image.is('.group-picture img')) { + $imageWrapLink.attr('data-fancybox', 'group').attr('rel', 'group'); + } + else { + $imageWrapLink.attr('data-fancybox', 'default').attr('rel', 'default'); + } + } + + if (imageTitle) { + $imageWrapLink.append('

' + imageTitle + '

'); + // Make sure img title tag will show correctly in fancybox + $imageWrapLink.attr('title', imageTitle).attr('data-caption', imageTitle); + } + }); + + $('.fancybox').fancybox({ + loop: true, + helpers: { + overlay: { + locked: false + } + } + }); + }, + + lazyLoadPostsImages: function() { + $('#posts').find('img').lazyload({ + //placeholder: '/images/loading.gif', + effect : 'fadeIn', + threshold: 0 + }); + }, + + /** + * Tabs tag listener (without twitter bootstrap). + */ + registerTabsTag: function() { + var tNav = '.tabs ul.nav-tabs '; + + // Binding `nav-tabs` & `tab-content` by real time permalink changing. + $(function() { + $(window).bind('hashchange', function() { + var tHash = location.hash; + if (tHash !== '' && !tHash.match(/%\S{2}/)) { + $(tNav + 'li:has(a[href="' + tHash + '"])').addClass('active').siblings().removeClass('active'); + $(tHash).addClass('active').siblings().removeClass('active'); + } + }).trigger('hashchange'); + }); + + $(tNav + '.tab').on('click', function(href) { + href.preventDefault(); + // Prevent selected tab to select again. + if (!$(this).hasClass('active')) { + + // Add & Remove active class on `nav-tabs` & `tab-content`. + $(this).addClass('active').siblings().removeClass('active'); + var tActive = $(this).find('a').attr('href'); + $(tActive).addClass('active').siblings().removeClass('active'); + + // Clear location hash in browser if #permalink exists. + if (location.hash !== '') { + history.pushState('', document.title, window.location.pathname + window.location.search); + } + } + }); + }, + + registerESCKeyEvent: function() { + $(document).on('keyup', function(event) { + var shouldDismissSearchPopup = event.which === 27 + && $('.search-popup').is(':visible'); + if (shouldDismissSearchPopup) { + $('.search-popup').hide(); + $('.search-popup-overlay').remove(); + $('body').css('overflow', ''); + } + }); + }, + + registerBackToTop: function() { + var THRESHOLD = 50; + var $top = $('.back-to-top'); + + function initBackToTop() { + $top.toggleClass('back-to-top-on', window.pageYOffset > THRESHOLD); + + var scrollTop = $(window).scrollTop(); + var contentVisibilityHeight = NexT.utils.getContentVisibilityHeight(); + var scrollPercent = scrollTop / contentVisibilityHeight; + var scrollPercentRounded = Math.round(scrollPercent * 100); + var scrollPercentMaxed = scrollPercentRounded > 100 ? 100 : scrollPercentRounded; + $('#scrollpercent>span').html(scrollPercentMaxed); + } + + // For init back to top in sidebar if page was scrolled after page refresh. + $(window).on('load', function() { + initBackToTop(); + }); + + $(window).on('scroll', function() { + initBackToTop(); + }); + + $top.on('click', function() { + $.isFunction($('html').velocity) ? $('body').velocity('scroll') : $('html, body').animate({ scrollTop: 0 }); + }); + }, + + /** + * Transform embedded video to support responsive layout. + * @see http://toddmotto.com/fluid-and-responsive-youtube-and-vimeo-videos-with-fluidvids-js/ + */ + embeddedVideoTransformer: function() { + var $iframes = $('iframe'); + + // Supported Players. Extend this if you need more players. + var SUPPORTED_PLAYERS = [ + 'www.youtube.com', + 'player.vimeo.com', + 'player.youku.com', + 'music.163.com', + 'www.tudou.com' + ]; + var pattern = new RegExp(SUPPORTED_PLAYERS.join('|')); + + function getDimension($element) { + return { + width : $element.width(), + height: $element.height() + }; + } + + function getAspectRadio(width, height) { + return height / width * 100; + } + + $iframes.each(function() { + var iframe = this; + var $iframe = $(this); + var oldDimension = getDimension($iframe); + var newDimension; + + if (this.src.search(pattern) > 0) { + + // Calculate the video ratio based on the iframe's w/h dimensions + var videoRatio = getAspectRadio(oldDimension.width, oldDimension.height); + + // Replace the iframe's dimensions and position the iframe absolute + // This is the trick to emulate the video ratio + $iframe.width('100%').height('100%') + .css({ + position: 'absolute', + top : '0', + left : '0' + }); + + // Wrap the iframe in a new
which uses a dynamically fetched padding-top property + // based on the video's w/h dimensions + var wrap = document.createElement('div'); + wrap.className = 'fluid-vids'; + wrap.style.position = 'relative'; + wrap.style.marginBottom = '20px'; + wrap.style.width = '100%'; + wrap.style.paddingTop = videoRatio + '%'; + // Fix for appear inside tabs tag. + (wrap.style.paddingTop === '') && (wrap.style.paddingTop = '50%'); + + // Add the iframe inside our newly created
+ var iframeParent = iframe.parentNode; + iframeParent.insertBefore(wrap, iframe); + wrap.appendChild(iframe); + + // Additional adjustments for 163 Music + if (this.src.search('music.163.com') > 0) { + newDimension = getDimension($iframe); + var shouldRecalculateAspect = newDimension.width > oldDimension.width + || newDimension.height < oldDimension.height; + + // 163 Music Player has a fixed height, so we need to reset the aspect radio + if (shouldRecalculateAspect) { + wrap.style.paddingTop = getAspectRadio(newDimension.width, oldDimension.height) + '%'; + } + } + } + }); + + }, + + hasMobileUA: function() { + var nav = window.navigator; + var ua = nav.userAgent; + var pa = /iPad|iPhone|Android|Opera Mini|BlackBerry|webOS|UCWEB|Blazer|PSP|IEMobile|Symbian/g; + + return pa.test(ua); + }, + + isTablet: function() { + return window.screen.width < 992 && window.screen.width > 767 && this.hasMobileUA(); + }, + + isMobile: function() { + return window.screen.width < 767 && this.hasMobileUA(); + }, + + isDesktop: function() { + return !this.isTablet() && !this.isMobile(); + }, + + /** + * Escape meta symbols in jQuery selectors. + * + * @param selector + * @returns {string|void|XML|*} + */ + escapeSelector: function(selector) { + return selector.replace(/[!"$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g, '\\$&'); + }, + + displaySidebar: function() { + if (!this.isDesktop() || this.isPisces() || this.isGemini()) { + return; + } + $('.sidebar-toggle').trigger('click'); + }, + + isMuse: function() { + return CONFIG.scheme === 'Muse'; + }, + + isMist: function() { + return CONFIG.scheme === 'Mist'; + }, + + isPisces: function() { + return CONFIG.scheme === 'Pisces'; + }, + + isGemini: function() { + return CONFIG.scheme === 'Gemini'; + }, + + getScrollbarWidth: function() { + var $div = $('
').addClass('scrollbar-measure').prependTo('body'); + var div = $div[0]; + var scrollbarWidth = div.offsetWidth - div.clientWidth; + $div.remove(); + + return scrollbarWidth; + }, + + getContentVisibilityHeight: function() { + var docHeight = $('.container').height(); + var winHeight = $(window).height(); + var contentVisibilityHeight = docHeight > winHeight ? docHeight - winHeight : $(document).height() - winHeight; + return contentVisibilityHeight; + }, + + getSidebarb2tHeight: function() { + var sidebarb2tHeight = (CONFIG.back2top && CONFIG.back2top_sidebar) ? $('.back-to-top').height() : 0; + return sidebarb2tHeight; + }, + + getSidebarSchemePadding: function() { + var sidebarNavHeight = $('.sidebar-nav').css('display') === 'block' ? $('.sidebar-nav').outerHeight(true) : 0; + var sidebarInner = $('.sidebar-inner'); + var sidebarPadding = sidebarInner.innerWidth() - sidebarInner.width(); + var sidebarOffset = CONFIG.sidebar.offset ? CONFIG.sidebar.offset : 12; + var sidebarSchemePadding = this.isPisces() || this.isGemini() + ? (sidebarPadding * 2) + sidebarNavHeight + sidebarOffset + this.getSidebarb2tHeight() + : (sidebarPadding * 2) + (sidebarNavHeight / 2); + return sidebarSchemePadding; + } +}; + +$(document).ready(function() { + + function wrapTable() { + $('table').not('figure table').wrap('
'); + } + + /** + * Init Sidebar & TOC inner dimensions on all pages and for all schemes. + * Need for Sidebar/TOC inner scrolling if content taller then viewport. + */ + function updateSidebarHeight(height) { + height = height || 'auto'; + $('.site-overview, .post-toc').css('max-height', height); + } + + function initSidebarDimension() { + var updateSidebarHeightTimer; + + $(window).on('resize', function() { + updateSidebarHeightTimer && clearTimeout(updateSidebarHeightTimer); + + updateSidebarHeightTimer = setTimeout(function() { + var sidebarWrapperHeight = document.body.clientHeight - NexT.utils.getSidebarSchemePadding(); + + updateSidebarHeight(sidebarWrapperHeight); + }, 0); + }); + + // Initialize Sidebar & TOC Width. + var scrollbarWidth = NexT.utils.getScrollbarWidth(); + if ($('.site-overview-wrap').height() > (document.body.clientHeight - NexT.utils.getSidebarSchemePadding())) { + $('.site-overview').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); + } + if ($('.post-toc-wrap').height() > (document.body.clientHeight - NexT.utils.getSidebarSchemePadding())) { + $('.post-toc').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); + } + + // Initialize Sidebar & TOC Height. + updateSidebarHeight(document.body.clientHeight - NexT.utils.getSidebarSchemePadding()); + } + initSidebarDimension(); + wrapTable(); +}); diff --git a/lib/jquery/index.js b/lib/jquery/index.js new file mode 100644 index 0000000..25714ed --- /dev/null +++ b/lib/jquery/index.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c) +},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("