From dfbec95dab2c791619b97235f525be937db52b00 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sun, 18 May 2014 20:36:21 -0700 Subject: [PATCH] Release 4chan X v1.7.43. --- CHANGELOG.md | 3 + LICENSE | 2 +- builds/4chan-X.meta.js | 2 +- builds/4chan-X.user.js | 10 +- builds/4chan-X.zip | Bin 0 -> 202342 bytes builds/crx.crx | Bin 203863 -> 203863 bytes builds/crx/manifest.json | 2 +- builds/crx/script.js | 8 +- builds/updates.xml | 2 +- builds/wcrx/icon128.png | Bin 0 -> 196 bytes builds/wcrx/icon16.png | Bin 0 -> 154 bytes builds/wcrx/icon48.png | Bin 0 -> 185 bytes builds/wcrx/manifest.json | 24 + builds/wcrx/script.js | 13832 ++++++++++++++++++++++++++++++++++++ package.json | 2 +- 15 files changed, 13873 insertions(+), 14 deletions(-) create mode 100644 builds/4chan-X.zip create mode 100644 builds/wcrx/icon128.png create mode 100644 builds/wcrx/icon16.png create mode 100644 builds/wcrx/icon48.png create mode 100644 builds/wcrx/manifest.json create mode 100644 builds/wcrx/script.js diff --git a/CHANGELOG.md b/CHANGELOG.md index ea672bc0f..d90aa0cb6 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### v1.7.43 +*2014-05-18* + **ccd0** - Support Chrome users on Windows. diff --git a/LICENSE b/LICENSE index abaf804ef..47cad71e5 100755 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ /* -* 4chan X - Version 1.7.42 - 2014-05-18 +* 4chan X - Version 1.7.43 - 2014-05-18 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE diff --git a/builds/4chan-X.meta.js b/builds/4chan-X.meta.js index 852902a73..34680f9f4 100755 --- a/builds/4chan-X.meta.js +++ b/builds/4chan-X.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.7.42 +// @version 1.7.43 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 308617c98..9aea7464e 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X -// @version 1.7.42 +// @version 1.7.43 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -24,7 +24,7 @@ // ==/UserScript== /* -* 4chan X - Version 1.7.42 - 2014-05-18 +* 4chan X - Version 1.7.43 - 2014-05-18 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -372,7 +372,7 @@ doc = d.documentElement; g = { - VERSION: '1.7.42', + VERSION: '1.7.43', NAMESPACE: '4chan X.', boards: {} }; @@ -12882,7 +12882,7 @@ Settings.dialog = dialog = $.el('div', { id: 'fourchanx-settings', className: 'dialog', - innerHTML: '
' + innerHTML: '
' }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); @@ -13723,7 +13723,7 @@ } if (previousversion) { el = $.el('span', { - innerHTML: '4chan X has been updated to version 1.7.42.' + innerHTML: '4chan X has been updated to version 1.7.43.' }); new Notice('info', el, 15); } else { diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip new file mode 100644 index 0000000000000000000000000000000000000000..aa86c27fc3aad6a3e59c0b65055c0a1f8c0f77d9 GIT binary patch literal 202342 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

5vPBnSvnoYJ`~7Ku73m*iO19tHrbhj9jn0&E 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%0DZkuxJP;r!?{=o~leRA&>a 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

@zn3wObcot+JeD+VvRfKN8`{gZNwVOU-8O&* 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 F{{zhf0o4Ei literal 0 HcmV?d00001 diff --git a/builds/crx.crx b/builds/crx.crx index e71006ae6b4fd58e686cd444219bf0dbe36f88e7..28dbd65b59f796065ab5cd44b54311bd87031560 100644 GIT binary patch literal 203863 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 z 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 literal 203863 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 diff --git a/builds/crx/manifest.json b/builds/crx/manifest.json index ae99555d1..3ed071e65 100755 --- a/builds/crx/manifest.json +++ b/builds/crx/manifest.json @@ -1,6 +1,6 @@ { "name": "4chan X", - "version": "1.7.42", + "version": "1.7.43", "manifest_version": 2, "description": "Cross-browser userscript for maximum lurking on 4chan.", "icons": { diff --git a/builds/crx/script.js b/builds/crx/script.js index 909334bd1..515f8be0b 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -1,6 +1,6 @@ // Generated by CoffeeScript /* -* 4chan X - Version 1.7.42 - 2014-05-18 +* 4chan X - Version 1.7.43 - 2014-05-18 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -348,7 +348,7 @@ doc = d.documentElement; g = { - VERSION: '1.7.42', + VERSION: '1.7.43', NAMESPACE: '4chan X.', boards: {} }; @@ -12888,7 +12888,7 @@ Settings.dialog = dialog = $.el('div', { id: 'fourchanx-settings', className: 'dialog', - innerHTML: '
' + innerHTML: '
' }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); @@ -13716,7 +13716,7 @@ } if (previousversion) { el = $.el('span', { - innerHTML: '4chan X has been updated to version 1.7.42.' + innerHTML: '4chan X has been updated to version 1.7.43.' }); new Notice('info', el, 15); } else { diff --git a/builds/updates.xml b/builds/updates.xml index 2b24f79f8..e2c106b96 100644 --- a/builds/updates.xml +++ b/builds/updates.xml @@ -1,7 +1,7 @@ - + diff --git a/builds/wcrx/icon128.png b/builds/wcrx/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..e75a8f86b88550d547e7da12fda96353695dfaa7 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?K3?%mjbVdLv&H$efR|bZ3AT#ZZapd-^xj+_U zNswPKgTu2MX+TbW ztCL|7Fr038M26#mTipSMZHk}Yc{H3$nRO|Zks<#2R5ghLrKb{1C32s3I0zh&oN8od p(D1i@!qQW+oE5&IS0^&;k<;S+qo-=p<^r^o!PC{xWt~$(69B9bKhyvK literal 0 HcmV?d00001 diff --git a/builds/wcrx/icon16.png b/builds/wcrx/icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..fab80c2534fbf401c057b469426d6980efda57e8 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMj(LD+5D1kePPIICA^dTp)|F zB*-tA!Qt7BG$6;`)5S5Q;#P0pK|Tfr4yVKa|G$VhdEus_Ekl0Vy7^2Oc$6NcRxMlF yAu~TD+jx3^THX=sS9{`r@-c6FBD5{#8e6g%!@*AbhgX0`F?hQAxvX%-n-dVn0W`gn( zDQ!m9Ni0pPL|B?0`$OL6q>l` +* http://zixaphir.github.io/appchan-x/ +* 4chan x Copyright © 2009-2011 James Campos +* https://github.com/aeosynth/4chan-x +* 4chan x Copyright © 2012-2014 Nicolas Stepien +* https://4chan-x.just-believe.in/ +* 4chan x Copyright © 2013-2014 Jordan Bates +* http://seaweedchan.github.io/4chan-x/ +* 4chan x Copyright © 2012-2014 ihavenoface +* http://ihavenoface.github.io/4chan-x/ +* 4chan SS Copyright © 2011-2013 Ahodesuka +* https://github.com/ahodesuka/4chan-Style-Script/ +* +* 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. +* +* Contributors: +* aeosynth +* mayhemydg +* noface +* !K.WeEabo0o +* blaise +* that4chanwolf +* desuwa +* seaweed +* e000 +* ahodesuka +* Shou +* ferongr +* xat +* Ongpot +* thisisanon +* Anonymous +* Seiba +* herpaderpderp +* WakiMiko +* btmcsweeney +* AppleBloom +* detharonil +* +* All the people who've taken the time to write bug reports. +* +* Thank you. +*/ + +/* +* Contains data from external sources: +* +* audio/beep.wav from http://freesound.org/people/pierrecartoons1979/sounds/90112/ +* cc-by-nc-3.0 +* +* 4chan/4chan-JS (https://github.com/4chan/4chan-JS) +* Copyright (c) 2012-2013, 4chan LLC +* All rights reserved. +* +* license: https://github.com/4chan/4chan-JS/blob/master/LICENSE +*/ +'use strict'; + +(function() { + var $, $$, Anonymize, ArchiveLink, AutoGIF, Banner, Board, Build, Callbacks, CatalogLinks, Clone, Conf, Config, CustomCSS, DataBoard, DeleteLink, Dice, DownloadLink, Emoji, ExpandComment, ExpandThread, FappeTyme, Favicon, FileInfo, Filter, Fourchan, Gallery, Get, Header, IDColor, ImageExpand, ImageHover, ImageLoader, Index, Keybinds, Linkify, Main, Menu, Nav, Navigate, Notice, PSAHiding, Polyfill, Post, PostHiding, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, RandomAccessList, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, SimpleDict, Thread, ThreadExcerpt, ThreadHiding, ThreadStats, ThreadUpdater, ThreadWatcher, Time, TrashQueue, UI, Unread, Video, c, d, doc, g, + __slice = [].slice, + __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, + __hasProp = {}.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + Array.prototype.indexOf = function(val, i) { + var len; + i || (i = 0); + len = this.length; + while (i < len) { + if (this[i] === val) { + return i; + } + i++; + } + return -1; + }; + + __indexOf = [].indexOf; + + Config = { + main: { + 'Miscellaneous': { + 'JSON Navigation': [false, 'Use JSON for loading the Board Index and Threads. Also allows searching and sorting the board index and infinite scolling.'], + 'Catalog Links': [true, 'Add toggle link in header menu to turn Navigation links into links to each board\'s catalog.'], + 'External Catalog': [false, 'Link to external catalog instead of the internal one.'], + 'QR Shortcut': [false, 'Adds a small [QR] link in the header.'], + 'Announcement Hiding': [true, 'Add button to hide 4chan announcements.'], + 'Desktop Notifications': [false, 'Enables desktop notifications across various 4chan X features.'], + '404 Redirect': [true, 'Redirect dead threads and images.'], + 'Keybinds': [true, 'Bind actions to keyboard shortcuts.'], + 'Time Formatting': [true, 'Localize and format timestamps.'], + 'Relative Post Dates': [true, 'Display dates like "3 minutes ago". Tooltip shows the timestamp.'], + 'Comment Expansion': [true, 'Add buttons to expand too long comments.'], + 'File Info Formatting': [true, 'Reformat the file information.'], + 'Thread Expansion': [true, 'Add buttons to expand threads.'], + 'Index Navigation': [false, 'Add buttons to navigate between threads.'], + 'Reply Navigation': [false, 'Add buttons to navigate to top / bottom of thread.'], + 'Show Dice Roll': [true, 'Show dice that were entered into the email field.'], + 'Custom Board Titles': [true, 'Allow editing of the board title and subtitle by ctrl+clicking them'], + 'Persistent Custom Board Titles': [false, 'Force custom board titles to be persistent, even if moot updates the board titles.'], + 'Show Updated Notifications': [true, 'Show notifications when 4chan X is successfully updated.'], + 'Emoji': [false, 'Adds icons next to names for different emails'], + 'Color User IDs': [false, 'Assign unique colors to user IDs on boards that use them'], + 'Remove Spoilers': [false, 'Remove all spoilers in text.'], + 'Reveal Spoilers': [false, 'Indicate spoilers if Remove Spoilers is enabled, or make the text appear hovered if Remove Spoiler is disabled.'], + 'Show Support Message': [true, 'Warn if your browser or configuration is unsupported and may cause 4chan X to not operate correctly.'] + }, + 'Linkification': { + 'Linkify': [true, 'Convert text into links where applicable.'], + 'Embedding': [true, 'Embed supported services.'], + 'Auto-embed': [false, 'Auto-embed Linkify Embeds.'], + 'Link Title': [true, 'Replace the link of a supported site with its actual title. Currently Supported: YouTube, Vimeo, SoundCloud, and Github gists'] + }, + 'Filtering': { + 'Anonymize': [false, 'Make everyone Anonymous.'], + 'Filter': [true, 'Self-moderation placebo.'], + 'Recursive Hiding': [true, 'Hide replies of hidden posts, recursively.'], + 'Thread Hiding Buttons': [false, 'Add buttons to hide entire threads.'], + 'Reply Hiding Buttons': [false, 'Add buttons to hide single replies.'], + 'Filtered Backlinks': [true, 'When enabled, shows backlinks to filtered posts with a line-through decoration. Otherwise, hides the backlinks.'], + 'Stubs': [true, 'Show stubs of hidden threads / replies.'] + }, + 'Images and Videos': { + 'Image Expansion': [true, 'Expand images / videos.'], + 'Image Hover': [true, 'Show full image / video on mouseover.'], + 'Gallery': [true, 'Adds a simple and cute image gallery.'], + 'PDF in Gallery': [false, 'Show PDF files in gallery.'], + 'Sauce': [true, 'Add sauce links to images.'], + 'Reveal Spoiler Thumbnails': [false, 'Replace spoiler thumbnails with the original image.'], + 'Replace GIF': [false, 'Replace thumbnail of gifs with its actual image.'], + 'Replace PNG': [false, 'Replace pngs.'], + 'Replace JPG': [false, 'Replace jpgs.'], + 'Image Prefetching': [false, 'Preload images'], + 'Fappe Tyme': [false, 'Hide posts without images. *hint* *hint*'], + 'Werk Tyme': [false, 'Hide all post images.'], + 'Autoplay': [true, 'Videos begin playing immediately when opened.'], + 'Show Controls': [true, 'Show controls on videos expanded inline. Turn this off if you want to contract videos by clicking on them.'], + 'Loop in New Tab': [true, 'Loop videos opened in their own tabs, and apply settings for inline expanded videos to them.'] + }, + 'Menu': { + 'Menu': [true, 'Add a drop-down menu to posts.'], + 'Report Link': [true, 'Add a report link to the menu.'], + 'Thread Hiding Link': [true, 'Add a link to hide entire threads.'], + 'Reply Hiding Link': [true, 'Add a link to hide single replies.'], + 'Delete Link': [true, 'Add post and image deletion links to the menu.'], + 'Download Link': [true, 'Add a download with original filename link to the menu. Chrome-only currently.'], + 'Archive Link': [true, 'Add an archive link to the menu.'] + }, + 'Monitoring': { + 'Thread Updater': [true, 'Fetch and insert new replies. Has more options in its own dialog.'], + 'Unread Count': [true, 'Show the unread posts count in the tab title.'], + 'Hide Unread Count at (0)': [false, 'Hide the unread posts count in the tab title when it reaches 0.'], + 'Unread Favicon': [true, 'Show a different favicon when there are unread posts.'], + 'Unread Line': [true, 'Show a line to distinguish read posts from unread ones.'], + 'Scroll to Last Read Post': [true, 'Scroll back to the last read post when reopening a thread.'], + 'Thread Excerpt': [true, 'Show an excerpt of the thread in the tab title.'], + 'Thread Stats': [true, 'Display reply and image count.'], + 'Page Count in Stats': [false, 'Display the page count in the thread stats as well.'], + 'Updater and Stats in Header': [true, 'Places the thread updater and thread stats in the header instead of floating them.'], + 'Thread Watcher': [true, 'Bookmark threads.'], + 'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher, hides the watcher by default, and makes it scroll with the page.'] + }, + 'Posting': { + 'Quick Reply': [true, 'All-in-one form to reply, create threads, automate dumping and more.'], + 'Persistent QR': [true, 'The Quick reply won\'t disappear after posting.'], + 'Auto Hide QR': [true, 'Automatically hide the quick reply when posting.'], + 'Open Post in New Tab': [true, 'Open new threads or replies to a thread from the index in a new tab.'], + 'Remember Subject': [false, 'Remember the subject field, instead of resetting after posting.'], + 'Remember Spoiler': [false, 'Remember the spoiler state, instead of resetting after posting.'], + 'Hide Original Post Form': [true, 'Hide the normal post form.'], + 'Cooldown': [true, 'Indicate the remaining time before posting again.'], + 'Cooldown Prediction': [true, 'Decrease the cooldown time by taking into account upload speed. Disable it if it\'s inaccurate for you.'], + 'Posting Success Notifications': [true, 'Show notifications on successful post creation or file uploading.'], + 'Captcha Warning Notifications': [true, 'When disabled, shows a red border on the CAPTCHA input until a key is pressed instead of a notification.'], + 'Auto-load captcha': [false, 'Automatically load the captcha when you open a thread, and reload it after you post.'], + 'Bottom QR Link': [true, 'Places a link on the bottom of threads to open the QR.'] + }, + 'Quote Links': { + 'Quote Backlinks': [true, 'Add quote backlinks.'], + 'OP Backlinks': [true, 'Add backlinks to the OP.'], + 'Quote Inlining': [true, 'Inline quoted post on click.'], + 'Quote Hash Navigation': [false, 'Include an extra link after quotes for autoscrolling to quoted posts.'], + 'Forward Hiding': [true, 'Hide original posts of inlined backlinks.'], + 'Quote Previewing': [true, 'Show quoted post on hover.'], + 'Quote Highlighting': [true, 'Highlight the previewed post.'], + 'Resurrect Quotes': [true, 'Link dead quotes to the archives.'], + 'Mark Quotes of You': [true, 'Add \'(You)\' to quotes linking to your posts.'], + 'Quoted Title': [false, 'Change the page title to reflect you\'ve been quoted.'], + 'Highlight Posts Quoting You': [false, 'Highlights any posts that contain a quote to your post.'], + 'Highlight Own Posts': [false, 'Highlights own posts if Mark Quotes of You is enabled.'], + 'Mark OP Quotes': [true, 'Add \'(OP)\' to OP quotes.'], + 'Mark Cross-thread Quotes': [true, 'Add \'(Cross-thread)\' to cross-threads quotes.'], + 'Quote Threading': [false, 'Thread conversations'] + } + }, + imageExpansion: { + 'Fit width': [false, ''], + 'Fit height': [false, ''], + 'Expand spoilers': [true, 'Expand all images along with spoilers.'], + 'Expand videos': [false, 'Expand all images also expands videos (no autoplay).'], + 'Expand from here': [false, 'Expand all images only from current position to thread end.'], + 'Advance on contract': [false, 'Advance to next post when contracting an expanded image.'] + }, + gallery: { + 'Hide Thumbnails': [false], + 'Fit Width': [true], + 'Fit Height': [true] + }, + threadWatcher: { + 'Current Board': [false, 'Only show watched threads from the current board.'], + 'Auto Watch': [true, 'Automatically watch threads you start.'], + 'Auto Watch Reply': [false, 'Automatically watch threads you reply to.'], + 'Auto Prune': [false, 'Automatically prune 404\'d threads.'] + }, + filter: { + name: "# Filter any namefags:\n#/^(?!Anonymous$)/", + uniqueID: "# Filter a specific ID:\n#/Txhvk1Tl/", + tripcode: "# Filter any tripfag\n#/^!/", + capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes", + email: "", + subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only", + comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g", + flag: '', + filename: '', + dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg", + filesize: '', + MD5: '' + }, + sauces: "https://www.google.com/searchbyimage?image_url=%TURL\nhttp://iqdb.org/?url=%TURL\n#//tineye.com/search?url=%TURL\n#http://saucenao.com/search.php?url=%TURL\n#http://3d.iqdb.org/?url=%TURL\n#http://regex.info/exif.cgi?imgurl=%URL\n# uploaders:\n#http://imgur.com/upload?url=%URL;text:Upload to imgur\n#http://ompldr.org/upload?url1=%URL;text:Upload to ompldr\n# \"View Same\" in archives:\n#//archive.foolz.us/_/search/image/%MD5/;text:View same on foolz\n#//archive.foolz.us/%board/search/image/%MD5/;text:View same on foolz /%board/\n#//archive.installgentoo.net/%board/image/%MD5;text:View same on installgentoo /%board/", + FappeT: { + fappe: false, + werk: false + }, + 'sageEmoji': '4chan SS', + 'emojiPos': 'before', + 'Custom CSS': false, + Index: { + 'Index Mode': 'paged', + 'Index Sort': 'bump', + 'Show Replies': true, + 'Anchor Hidden Threads': true, + 'Refreshed Navigation': false + }, + Header: { + 'Fixed Header': true, + 'Header auto-hide': false, + 'Header auto-hide on scroll': false, + 'Bottom Header': false, + 'Centered links': false, + 'Header catalog links': false, + 'Bottom Board List': true, + 'Shortcut Icons': true, + 'Custom Board Navigation': true + }, + boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]", + QR: { + 'QR.personas': "#email:\"sage\";boards:jp;always" + }, + time: '%m/%d/%y(%a)%H:%M:%S', + backlink: '>>%id', + fileInfo: '%L (%p%s, %r)', + favicon: 'ferongr', + usercss: '', + hotkeys: { + 'Toggle board list': ['Ctrl+b', 'Toggle the full board list.'], + 'Toggle header': ['Shift+h', 'Toggle the auto-hide option of the header.'], + 'Open empty QR': ['i', 'Open QR without post number inserted.'], + 'Open QR': ['Shift+i', 'Open QR with post number inserted.'], + 'Open settings': ['Alt+o', 'Open Settings.'], + 'Close': ['Esc', 'Close Settings, Notifications or QR.'], + 'Spoiler tags': ['Ctrl+s', 'Insert spoiler tags.'], + 'Code tags': ['Alt+c', 'Insert code tags.'], + 'Eqn tags': ['Alt+e', 'Insert eqn tags.'], + 'Math tags': ['Alt+m', 'Insert math tags.'], + 'Toggle sage': ['Alt+s', 'Toggle sage in email field'], + 'Submit QR': ['Ctrl+Enter', 'Submit post.'], + 'Watch': ['w', 'Watch thread.'], + 'Update': ['r', 'Update the thread now.'], + 'Expand image': ['Shift+e', 'Expand selected image.'], + 'Expand images': ['e', 'Expand all images.'], + 'Open Gallery': ['g', 'Opens the gallery.'], + 'fappeTyme': ['f', 'Fappe Tyme.'], + 'werkTyme': ['Shift+w', 'Werk Tyme'], + 'Front page': ['1', 'Jump to front page.'], + 'Open front page': ['Shift+1', 'Open front page in a new tab.'], + 'Next page': ['Ctrl+Right', 'Jump to the next page.'], + 'Previous page': ['Ctrl+Left', 'Jump to the previous page.'], + 'Open catalog': ['Shift+c', 'Open the catalog of the current board'], + 'Search form': ['Ctrl+Alt+s', 'Focus the search field on the board index.'], + 'Next thread': ['Ctrl+Down', 'See next thread.'], + 'Previous thread': ['Ctrl+Up', 'See previous thread.'], + 'Expand thread': ['Ctrl+e', 'Expand thread.'], + 'Open thread': ['o', 'Open thread in current tab.'], + 'Open thread tab': ['Shift+o', 'Open thread in new tab.'], + 'Next reply': ['j', 'Select next reply.'], + 'Previous reply': ['k', 'Select previous reply.'], + 'Deselect reply': ['Shift+d', 'Deselect reply.'], + 'Hide': ['x', 'Hide thread.'], + 'Previous Post Quoting You': ['Alt+Up', 'Scroll to the previous post that quotes you.'], + 'Next Post Quoting You': ['Alt+Down', 'Scroll to the next post that quotes you.'] + }, + updater: { + checkbox: { + 'Beep': [false, 'Beep on new post to completely read thread.'], + 'Auto Scroll': [false, 'Scroll updated posts into view. Only enabled at bottom of page.'], + 'Bottom Scroll': [false, 'Always scroll to the bottom, not the first new post. Useful for event threads.'], + 'Scroll BG': [false, 'Auto-scroll background tabs.'], + 'Auto Update': [true, 'Automatically fetch new posts.'], + 'Optional Increase': [false, 'Increase the intervals between updates on threads without new posts.'] + }, + 'Interval': 30 + } + }; + + Conf = {}; + + c = console; + + d = document; + + doc = d.documentElement; + + g = { + VERSION: '1.7.43', + NAMESPACE: '4chan X.', + boards: {} + }; + + $ = function(selector, root) { + if (root == null) { + root = d.body; + } + return root.querySelector(selector); + }; + + $.extend = function(obj, prop) { + var key, val; + for (key in prop) { + val = prop[key]; + if (prop.hasOwnProperty(key)) { + obj[key] = val; + } + } + }; + + $.DAY = 24 * ($.HOUR = 60 * ($.MINUTE = 60 * ($.SECOND = 1000))); + + $.id = function(id) { + return d.getElementById(id); + }; + + $.ready = function(fc, immediate) { + var cb; + if (d.readyState !== 'loading') { + if (immediate) { + fc(); + } else { + $.queueTask(fc); + } + return; + } + cb = function() { + $.off(d, 'DOMContentLoaded', cb); + return fc(); + }; + return $.on(d, 'DOMContentLoaded', cb); + }; + + $.formData = function(form) { + var fd, key, val; + if (form instanceof HTMLFormElement) { + return new FormData(form); + } + fd = new FormData(); + for (key in form) { + val = form[key]; + if (val) { + if (typeof val === 'object' && 'newName' in val) { + fd.append(key, val, val.newName); + } else { + fd.append(key, val); + } + } + } + return fd; + }; + + $.extend = function(object, properties) { + var key, val; + for (key in properties) { + val = properties[key]; + object[key] = val; + } + }; + + $.ajax = (function() { + var lastModified; + lastModified = {}; + return function(url, options, extra) { + var form, r, sync, type, upCallbacks, whenModified; + if (extra == null) { + extra = {}; + } + type = extra.type, whenModified = extra.whenModified, upCallbacks = extra.upCallbacks, form = extra.form, sync = extra.sync; + r = new XMLHttpRequest(); + type || (type = form && 'post' || 'get'); + r.open(type, url, !sync); + if (whenModified) { + if (url in lastModified) { + r.setRequestHeader('If-Modified-Since', lastModified[url]); + } + $.on(r, 'load', function() { + return lastModified[url] = r.getResponseHeader('Last-Modified'); + }); + } + if (/\.json$/.test(url)) { + r.responseType = 'json'; + } + $.extend(r, options); + $.extend(r.upload, upCallbacks); + r.send(form); + return r; + }; + })(); + + $.cache = (function() { + var reqs; + reqs = {}; + return function(url, cb, options) { + var err, req, rm; + if (req = reqs[url]) { + if (req.readyState === 4) { + cb.call(req, req.evt); + } else { + req.callbacks.push(cb); + } + return; + } + rm = function() { + return delete reqs[url]; + }; + try { + req = $.ajax(url, options); + } catch (_error) { + err = _error; + return; + } + $.on(req, 'load', function(e) { + var _i, _len, _ref; + _ref = this.callbacks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + cb = _ref[_i]; + cb.call(this, e); + } + this.evt = e; + return delete this.callbacks; + }); + $.on(req, 'abort error', rm); + req.callbacks = [cb]; + return reqs[url] = req; + }; + })(); + + $.cb = { + checked: function() { + $.set(this.name, this.checked); + return Conf[this.name] = this.checked; + }, + value: function() { + $.set(this.name, this.value.trim()); + return Conf[this.name] = this.value; + } + }; + + $.asap = function(test, cb) { + if (test()) { + return cb(); + } else { + return setTimeout($.asap, 25, test, cb); + } + }; + + $.addStyle = function(css, id) { + var style; + style = $.el('style', { + id: id, + textContent: css + }); + $.asap((function() { + return d.head; + }), function() { + return $.add(d.head, style); + }); + return style; + }; + + $.x = function(path, root) { + root || (root = d.body); + return d.evaluate(path, root, null, 8, null).singleNodeValue; + }; + + $.X = function(path, root) { + root || (root = d.body); + return d.evaluate(path, root, null, 7, null); + }; + + $.addClass = function() { + var className, classNames, el, _i, _len; + el = arguments[0], classNames = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + for (_i = 0, _len = classNames.length; _i < _len; _i++) { + className = classNames[_i]; + el.classList.add(className); + } + }; + + $.rmClass = function() { + var className, classNames, el, _i, _len; + el = arguments[0], classNames = 2 <= arguments.length ? __slice.call(arguments, 1) : []; + for (_i = 0, _len = classNames.length; _i < _len; _i++) { + className = classNames[_i]; + el.classList.remove(className); + } + }; + + $.toggleClass = function(el, className) { + return el.classList.toggle(className); + }; + + $.hasClass = function(el, className) { + return __indexOf.call(el.classList, className) >= 0; + }; + + $.rm = function(el) { + return el.remove(); + }; + + $.rmAll = function(root) { + return root.textContent = null; + }; + + $.tn = function(s) { + return d.createTextNode(s); + }; + + $.frag = function() { + return d.createDocumentFragment(); + }; + + $.nodes = function(nodes) { + var frag, node, _i, _len; + if (!(nodes instanceof Array)) { + return nodes; + } + frag = $.frag(); + for (_i = 0, _len = nodes.length; _i < _len; _i++) { + node = nodes[_i]; + frag.appendChild(node); + } + return frag; + }; + + $.add = function(parent, el) { + return parent.appendChild($.nodes(el)); + }; + + $.prepend = function(parent, el) { + return parent.insertBefore($.nodes(el), parent.firstChild); + }; + + $.after = function(root, el) { + return root.parentNode.insertBefore($.nodes(el), root.nextSibling); + }; + + $.before = function(root, el) { + return root.parentNode.insertBefore($.nodes(el), root); + }; + + $.replace = function(root, el) { + return root.parentNode.replaceChild($.nodes(el), root); + }; + + $.el = function(tag, properties) { + var el; + el = d.createElement(tag); + if (properties) { + $.extend(el, properties); + } + return el; + }; + + $.on = function(el, events, handler) { + var event, _i, _len, _ref; + _ref = events.split(' '); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + event = _ref[_i]; + el.addEventListener(event, handler, false); + } + }; + + $.off = function(el, events, handler) { + var event, _i, _len, _ref; + _ref = events.split(' '); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + event = _ref[_i]; + el.removeEventListener(event, handler, false); + } + }; + + $.event = function(event, detail, root) { + if (root == null) { + root = d; + } + return root.dispatchEvent(new CustomEvent(event, { + bubbles: true, + detail: detail + })); + }; + + $.open = function(URL) { + return window.open(URL, '_blank'); + }; + + $.debounce = function(wait, fn) { + var args, exec, lastCall, that, timeout; + lastCall = 0; + timeout = null; + that = null; + args = null; + exec = function() { + lastCall = Date.now(); + return fn.apply(that, args); + }; + return function() { + args = arguments; + that = this; + if (lastCall < Date.now() - wait) { + return exec(); + } + clearTimeout(timeout); + return timeout = setTimeout(exec, wait); + }; + }; + + $.queueTask = (function() { + var execTask, taskChannel, taskQueue; + taskQueue = []; + execTask = function() { + var args, func, task; + task = taskQueue.shift(); + func = task[0]; + args = Array.prototype.slice.call(task, 1); + return func.apply(func, args); + }; + if (window.MessageChannel) { + taskChannel = new MessageChannel(); + taskChannel.port1.onmessage = execTask; + return function() { + taskQueue.push(arguments); + return taskChannel.port2.postMessage(null); + }; + } else { + return function() { + taskQueue.push(arguments); + return setTimeout(execTask, 0); + }; + } + })(); + + $.globalEval = function(code) { + var script; + script = $.el('script', { + textContent: code + }); + $.add(d.head || doc, script); + return $.rm(script); + }; + + $.bytesToString = function(size) { + var unit; + unit = 0; + while (size >= 1024) { + size /= 1024; + unit++; + } + size = unit > 1 ? Math.round(size * 100) / 100 : Math.round(size); + return "" + size + " " + ['B', 'KB', 'MB', 'GB'][unit]; + }; + + $.minmax = function(value, min, max) { + return (value < min ? min : value > max ? max : value); + }; + + $.item = function(key, val) { + var item; + item = {}; + item[key] = val; + return item; + }; + + $.syncing = {}; + + $.sync = (function() { + chrome.storage.onChanged.addListener(function(changes) { + var cb, key; + for (key in changes) { + if (cb = $.syncing[key]) { + cb(changes[key].newValue, key); + } + } + }); + return function(key, cb) { + return $.syncing[key] = cb; + }; + })(); + + $.desync = function(key) { + return delete $.syncing[key]; + }; + + $.localKeys = ['name', 'uniqueID', 'tripcode', 'capcode', 'email', 'subject', 'comment', 'flag', 'filename', 'dimensions', 'filesize', 'MD5', 'usercss']; + + $["delete"] = function(keys) { + return chrome.storage.sync.remove(keys); + }; + + $.get = function(key, val, cb) { + var count, done, items, localItems, syncItems; + if (typeof cb === 'function') { + items = $.item(key, val); + } else { + items = key; + cb = val; + } + localItems = null; + syncItems = null; + for (key in items) { + val = items[key]; + if (__indexOf.call($.localKeys, key) >= 0) { + (localItems || (localItems = {}))[key] = val; + } else { + (syncItems || (syncItems = {}))[key] = val; + } + } + count = 0; + done = function(item) { + if (chrome.runtime.lastError) { + c.error(chrome.runtime.lastError.message); + } + $.extend(items, item); + if (!--count) { + return cb(items); + } + }; + if (localItems) { + count++; + chrome.storage.local.get(localItems, done); + } + if (syncItems) { + count++; + return chrome.storage.sync.get(syncItems, done); + } + }; + + $.set = (function() { + var items, setAll, setArea, timeout; + items = { + sync: {}, + local: {} + }; + timeout = {}; + setArea = function(area) { + var data; + data = items[area]; + if (!Object.keys(data).length || timeout[area]) { + return; + } + items[area] = {}; + return chrome.storage[area].set(data, function() { + var key, val; + if (chrome.runtime.lastError) { + c.error(chrome.runtime.lastError.message); + for (key in data) { + val = data[key]; + if (!(key in items[area])) { + items[area][key] = val; + } + } + timeout[area] = setTimeout(setArea, $.MINUTE, area); + return; + } + return delete timeout[area]; + }); + }; + setAll = $.debounce($.SECOND, function() { + var err, key, _i, _len, _ref; + _ref = $.localKeys; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + if (key in items.sync) { + items.local[key] = items.sync[key]; + delete items.sync[key]; + } + } + try { + setArea('local'); + return setArea('sync'); + } catch (_error) { + err = _error; + return c.error(err.stack); + } + }); + return function(key, val) { + if (typeof key === 'string') { + items.sync[key] = val; + } else { + $.extend(items.sync, key); + } + return setAll(); + }; + })(); + + $.clear = function(cb) { + var count, done; + count = 2; + done = function() { + if (chrome.runtime.lastError) { + c.error(chrome.runtime.lastError.message); + return; + } + if (!--count) { + return typeof cb === "function" ? cb() : void 0; + } + }; + chrome.storage.local.clear(done); + return chrome.storage.sync.clear(done); + }; + + $$ = function(selector, root) { + if (root == null) { + root = d.body; + } + return __slice.call(root.querySelectorAll(selector)); + }; + + Callbacks = (function() { + function Callbacks(type) { + this.type = type; + this.keys = []; + } + + Callbacks.prototype.push = function(_arg) { + var cb, name; + name = _arg.name, cb = _arg.cb; + if (this[name]) { + this.connect(name); + } + if (!this[name]) { + this.keys.push(name); + } + return this[name] = cb; + }; + + Callbacks.prototype.connect = function(name) { + if (this[name].disconnected) { + return delete this[name].disconnected; + } + }; + + Callbacks.prototype.disconnect = function(name) { + if (this[name]) { + return this[name].disconnected = true; + } + }; + + Callbacks.prototype.execute = function(node) { + var err, errors, name, _i, _len, _ref; + _ref = this.keys; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + name = _ref[_i]; + try { + if (!this[name].disconnected) { + this[name].call(node); + } + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''), + error: err + }); + } + } + if (errors) { + return Main.handleErrors(errors); + } + }; + + return Callbacks; + + })(); + + Board = (function() { + Board.prototype.toString = function() { + return this.ID; + }; + + function Board(ID) { + this.ID = ID; + this.threads = new SimpleDict; + this.posts = new SimpleDict; + g.boards[this] = this; + } + + return Board; + + })(); + + Thread = (function() { + Thread.callbacks = new Callbacks('Thread'); + + Thread.prototype.toString = function() { + return this.ID; + }; + + function Thread(ID, board) { + this.ID = ID; + this.board = board; + this.fullID = "" + this.board + "." + this.ID; + this.posts = new SimpleDict; + this.isSticky = false; + this.isClosed = false; + this.postLimit = false; + this.fileLimit = false; + g.threads.push(this.fullID, board.threads.push(this, this)); + } + + Thread.prototype.setPage = function(pageNum) { + var icon, key, _i, _len, _ref; + icon = $('.page-num', this.OP.nodes.post); + _ref = ['title', 'textContent']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + icon[key] = icon[key].replace(/\d+/, pageNum); + } + }; + + Thread.prototype.setStatus = function(type, status) { + var icon, name, root, typeLC; + name = "is" + type; + if (this[name] === status) { + return; + } + this[name] = status; + if (!this.OP) { + return; + } + typeLC = type.toLowerCase(); + if (!status) { + $.rm($("." + typeLC + "Icon", this.OP.nodes.info)); + return; + } + icon = $.el('img', { + src: "//s.4cdn.org/image/" + typeLC + (window.devicePixelRatio >= 2 ? '@2x' : '') + ".gif", + alt: type, + title: type, + className: "" + typeLC + "Icon" + }); + root = type === 'Closed' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : g.VIEW === 'index' ? $('.page-num', this.OP.nodes.info) : $('[title="Reply to this post"]', this.OP.nodes.info); + return $.after(root, [$.tn(' '), icon]); + }; + + Thread.prototype.kill = function() { + this.isDead = true; + return this.timeOfDeath = Date.now(); + }; + + Thread.prototype.collect = function() { + this.posts.forEach(function(post) { + return post.collect(); + }); + g.threads.rm(this.fullID); + return this.board.threads.rm(this); + }; + + return Thread; + + })(); + + Post = (function() { + Post.callbacks = new Callbacks('Post'); + + Post.prototype.toString = function() { + return this.ID; + }; + + function Post(root, thread, board, that) { + var capcode, date, email, flag, info, name, post, subject, tripcode, uniqueID; + this.thread = thread; + this.board = board; + if (that == null) { + that = {}; + } + this.ID = +root.id.slice(2); + this.fullID = "" + this.board + "." + this.ID; + if (that.isOriginalMarkup) { + this.cleanup(root); + } + post = $('.post', root); + info = $('.postInfo', post); + this.nodes = { + root: root, + post: post, + info: info, + comment: $('.postMessage', post), + links: [], + quotelinks: [], + backlinks: info.getElementsByClassName('backlink') + }; + if (!(this.isReply = $.hasClass(post, 'reply'))) { + this.thread.OP = this; + this.thread.isSticky = !!$('.stickyIcon', info); + this.thread.isClosed = !!$('.closedIcon', info); + } + this.info = {}; + if (subject = $('.subject', info)) { + this.nodes.subject = subject; + this.info.subject = subject.textContent; + } + if (name = $('.name', info)) { + this.nodes.name = name; + this.info.name = name.textContent; + } + if (email = $('.useremail', info)) { + this.nodes.email = email; + this.info.email = decodeURIComponent(email.href.slice(7)); + } + if (tripcode = $('.postertrip', info)) { + this.nodes.tripcode = tripcode; + this.info.tripcode = tripcode.textContent; + } + if (uniqueID = $('.posteruid', info)) { + this.nodes.uniqueID = uniqueID; + this.info.uniqueID = uniqueID.firstElementChild.textContent; + } + if (capcode = $('.capcode.hand', info)) { + this.nodes.capcode = capcode; + this.info.capcode = capcode.textContent.replace('## ', ''); + } + if (flag = $('.flag, .countryFlag', info)) { + this.nodes.flag = flag; + this.info.flag = flag.title; + } + if (date = $('.dateTime', info)) { + this.nodes.date = date; + this.info.date = new Date(date.dataset.utc * 1000); + } + this.parseComment(); + this.parseQuotes(); + this.parseFile(that); + this.clones = []; + g.posts.push(this.fullID, thread.posts.push(this, board.posts.push(this, this))); + if (that.isArchived) { + this.kill(); + } + } + + Post.prototype.parseComment = function() { + var bq, i, node, nodes, text; + this.nodes.comment.normalize(); + bq = this.nodes.comment.cloneNode(true); + nodes = $$('.abbr, .exif, b', bq); + i = 0; + while (node = nodes[i++]) { + $.rm(node); + } + text = ""; + nodes = $.X('.//br|.//text()', bq); + i = 0; + while (node = nodes.snapshotItem(i++)) { + text += node.data || '\n'; + } + return this.info.comment = text.trim().replace(/\s+$/gm, ''); + }; + + Post.prototype.parseQuotes = function() { + var quotelink, _i, _len, _ref; + this.quotes = []; + _ref = $$('.quotelink', this.nodes.comment); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quotelink = _ref[_i]; + this.parseQuote(quotelink); + } + }; + + Post.prototype.parseQuote = function(quotelink) { + var fullID, match; + if (!(match = quotelink.href.match(/boards\.4chan\.org\/([^\/]+)\/(?:res|thread)\/\d+#p(\d+)$/))) { + return; + } + this.nodes.quotelinks.push(quotelink); + if (this.isClone) { + return; + } + fullID = "" + match[1] + "." + match[2]; + if (__indexOf.call(this.quotes, fullID) < 0) { + return this.quotes.push(fullID); + } + }; + + Post.prototype.parseFile = function(that) { + var anchor, fileEl, fileText, size, thumb, unit, _ref; + if (!((fileEl = $('.file', this.nodes.post)) && (thumb = $('img[data-md5]', fileEl)))) { + return; + } + anchor = thumb.parentNode; + fileText = fileEl.firstElementChild; + this.file = { + text: fileText, + thumb: thumb, + URL: anchor.href, + size: thumb.alt.match(/[\d.]+\s\w+/)[0], + MD5: thumb.dataset.md5, + isSpoiler: $.hasClass(anchor, 'imgspoiler') + }; + size = +this.file.size.match(/[\d.]+/)[0]; + unit = ['B', 'KB', 'MB', 'GB'].indexOf(this.file.size.match(/\w+$/)[0]); + while (unit-- > 0) { + size *= 1024; + } + this.file.sizeInBytes = size; + this.file.thumbURL = that.isArchived ? thumb.src : "" + location.protocol + "//t.4cdn.org/" + this.board + "/" + (this.file.URL.match(/(\d+)\./)[1]) + "s.jpg"; + this.file.isImage = /(jpg|png|gif)$/i.test(this.file.URL); + this.file.isVideo = /webm$/i.test(this.file.URL); + if (this.file.isImage || this.file.isVideo) { + this.file.dimensions = (_ref = fileText.childNodes[2].textContent.match(/\d+x\d+/)) != null ? _ref[0] : void 0; + } + return this.file.name = fileText.title || (function() { + var nameNode; + nameNode = $('span', fileText) || $('a', fileText); + return (nameNode != null ? nameNode.title : void 0) || (nameNode != null ? nameNode.textContent : void 0); + })(); + }; + + Post.prototype.cleanup = function(root) { + var node, _i, _j, _len, _len1, _ref, _ref1; + _ref = $$('.mobile', root); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + node = _ref[_i]; + $.rm(node); + } + _ref1 = $$('.desktop', root); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + node = _ref1[_j]; + $.rmClass(node, 'desktop'); + } + }; + + Post.prototype.kill = function(file, now) { + var clone, quotelink, strong, _i, _j, _len, _len1, _ref, _ref1; + now || (now = new Date()); + if (file) { + if (this.file.isDead) { + return; + } + this.file.isDead = true; + this.file.timeOfDeath = now; + $.addClass(this.nodes.root, 'deleted-file'); + } else { + if (this.isDead) { + return; + } + this.isDead = true; + this.timeOfDeath = now; + $.addClass(this.nodes.root, 'deleted-post'); + } + if (!(strong = $('strong.warning', this.nodes.info))) { + strong = $.el('strong', { + className: 'warning', + textContent: this.isReply ? '[Deleted]' : '[Dead]' + }); + $.after($('input', this.nodes.info), strong); + } + strong.textContent = file ? '[File deleted]' : '[Deleted]'; + if (this.isClone) { + return; + } + _ref = this.clones; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + clone = _ref[_i]; + clone.kill(file, now); + } + if (file) { + return; + } + _ref1 = Get.allQuotelinksLinkingTo(this); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + quotelink = _ref1[_j]; + if (!(!$.hasClass(quotelink, 'deadlink'))) { + continue; + } + quotelink.textContent = quotelink.textContent + '\u00A0(Dead)'; + $.addClass(quotelink, 'deadlink'); + } + }; + + Post.prototype.resurrect = function() { + var clone, quotelink, strong, _i, _j, _len, _len1, _ref, _ref1; + delete this.isDead; + delete this.timeOfDeath; + $.rmClass(this.nodes.root, 'deleted-post'); + strong = $('strong.warning', this.nodes.info); + if (this.file && this.file.isDead) { + strong.textContent = '[File deleted]'; + } else { + $.rm(strong); + } + if (this.isClone) { + return; + } + _ref = this.clones; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + clone = _ref[_i]; + clone.resurrect(); + } + _ref1 = Get.allQuotelinksLinkingTo(this); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + quotelink = _ref1[_j]; + if ($.hasClass(quotelink, 'deadlink')) { + quotelink.textContent = quotelink.textContent.replace('\u00A0(Dead)', ''); + $.rmClass(quotelink, 'deadlink'); + } + } + }; + + Post.prototype.collect = function() { + this.kill(); + g.posts.rm(this.fullID); + this.thread.posts.rm(this); + return this.board.posts.rm(this); + }; + + Post.prototype.addClone = function(context, contractThumb) { + return new Clone(this, context, contractThumb); + }; + + Post.prototype.rmClone = function(index) { + var clone, _i, _len, _ref; + this.clones.splice(index, 1); + _ref = this.clones.slice(index); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + clone = _ref[_i]; + clone.nodes.root.dataset.clone = index++; + } + }; + + return Post; + + })(); + + Clone = (function(_super) { + __extends(Clone, _super); + + function Clone(origin, context, contractThumb) { + var file, info, inline, inlined, key, nodes, post, root, val, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3, _ref4, _ref5; + this.origin = origin; + this.context = context; + _ref = ['ID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + this[key] = origin[key]; + } + nodes = origin.nodes; + root = contractThumb ? this.cloneWithoutVideo(nodes.root) : nodes.root.cloneNode(true); + post = $('.post', root); + info = $('.postInfo', post); + this.nodes = { + root: root, + post: post, + info: info, + comment: $('.postMessage', post), + quotelinks: [], + backlinks: info.getElementsByClassName('backlink') + }; + _ref1 = $$('.inline', post); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + inline = _ref1[_j]; + $.rm(inline); + } + _ref2 = $$('.inlined', post); + for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { + inlined = _ref2[_k]; + $.rmClass(inlined, 'inlined'); + } + root.hidden = false; + $.rmClass(root, 'forwarded'); + $.rmClass(post, 'highlight'); + if (nodes.subject) { + this.nodes.subject = $('.subject', info); + } + if (nodes.name) { + this.nodes.name = $('.name', info); + } + if (nodes.email) { + this.nodes.email = $('.useremail', info); + } + if (nodes.tripcode) { + this.nodes.tripcode = $('.postertrip', info); + } + if (nodes.uniqueID) { + this.nodes.uniqueID = $('.posteruid', info); + } + if (nodes.capcode) { + this.nodes.capcode = $('.capcode', info); + } + if (nodes.flag) { + this.nodes.flag = $('.countryFlag', info); + } + if (nodes.date) { + this.nodes.date = $('.dateTime', info); + } + this.parseQuotes(); + if (origin.file) { + this.file = {}; + _ref3 = origin.file; + for (key in _ref3) { + val = _ref3[key]; + this.file[key] = val; + } + file = $('.file', post); + this.file.text = file.firstElementChild; + this.file.thumb = $('img[data-md5]', file); + this.file.fullImage = $('.full-image', file); + if (contractThumb) { + $.rmClass(root, 'expanded-image'); + $.rmClass(this.file.thumb, 'expanding'); + } + this.file.isExpanded = $.hasClass(root, 'expanded-image'); + if ((_ref4 = this.file.fullImage) != null) { + _ref4.removeAttribute('id'); + } + if ((_ref5 = $('.video-controls', this.file.text)) != null) { + _ref5.remove(); + } + } + if (origin.isDead) { + this.isDead = true; + } + this.isClone = true; + root.dataset.clone = origin.clones.push(this) - 1; + } + + Clone.prototype.cloneWithoutVideo = function(node) { + var child, clone, _i, _len, _ref; + if (node.tagName === 'VIDEO') { + return []; + } else if (node.nodeType === Node.ELEMENT_NODE && $('video', node)) { + clone = node.cloneNode(false); + _ref = node.childNodes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + $.add(clone, this.cloneWithoutVideo(child)); + } + return clone; + } else { + return node.cloneNode(true); + } + }; + + return Clone; + + })(Post); + + DataBoard = (function() { + DataBoard.keys = ['hiddenThreads', 'hiddenPosts', 'lastReadPosts', 'yourPosts', 'watchedThreads']; + + function DataBoard(key, sync, dontClean) { + var init; + this.key = key; + this.onSync = __bind(this.onSync, this); + this.data = Conf[key]; + $.sync(key, this.onSync); + if (!dontClean) { + this.clean(); + } + if (!sync) { + return; + } + init = (function(_this) { + return function() { + $.off(d, '4chanXInitFinished', init); + return _this.sync = sync; + }; + })(this); + $.on(d, '4chanXInitFinished', init); + } + + DataBoard.prototype.save = function() { + return $.set(this.key, this.data); + }; + + DataBoard.prototype["delete"] = function(_arg) { + var boardID, postID, threadID; + boardID = _arg.boardID, threadID = _arg.threadID, postID = _arg.postID; + if (postID) { + delete this.data.boards[boardID][threadID][postID]; + this.deleteIfEmpty({ + boardID: boardID, + threadID: threadID + }); + } else if (threadID) { + delete this.data.boards[boardID][threadID]; + this.deleteIfEmpty({ + boardID: boardID + }); + } else { + delete this.data.boards[boardID]; + } + return this.save(); + }; + + DataBoard.prototype.deleteIfEmpty = function(_arg) { + var boardID, threadID; + boardID = _arg.boardID, threadID = _arg.threadID; + if (threadID) { + if (!Object.keys(this.data.boards[boardID][threadID]).length) { + delete this.data.boards[boardID][threadID]; + return this.deleteIfEmpty({ + boardID: boardID + }); + } + } else if (!Object.keys(this.data.boards[boardID]).length) { + return delete this.data.boards[boardID]; + } + }; + + DataBoard.prototype.set = function(_arg) { + var boardID, postID, threadID, val, _base, _base1, _base2; + boardID = _arg.boardID, threadID = _arg.threadID, postID = _arg.postID, val = _arg.val; + if (postID !== void 0) { + ((_base = ((_base1 = this.data.boards)[boardID] || (_base1[boardID] = {})))[threadID] || (_base[threadID] = {}))[postID] = val; + } else if (threadID !== void 0) { + ((_base2 = this.data.boards)[boardID] || (_base2[boardID] = {}))[threadID] = val; + } else { + this.data.boards[boardID] = val; + } + return this.save(); + }; + + DataBoard.prototype.get = function(_arg) { + var ID, board, boardID, defaultValue, postID, thread, threadID, val, _i, _len; + boardID = _arg.boardID, threadID = _arg.threadID, postID = _arg.postID, defaultValue = _arg.defaultValue; + if (board = this.data.boards[boardID]) { + if (!threadID) { + if (postID) { + for (thread = _i = 0, _len = board.length; _i < _len; thread = ++_i) { + ID = board[thread]; + if (postID in thread) { + val = thread[postID]; + break; + } + } + } else { + val = board; + } + } else if (thread = board[threadID]) { + val = postID ? thread[postID] : thread; + } + } + return val || defaultValue; + }; + + DataBoard.prototype.clean = function() { + var boardID, now, val, _ref; + _ref = this.data.boards; + for (boardID in _ref) { + val = _ref[boardID]; + this.deleteIfEmpty({ + boardID: boardID + }); + } + now = Date.now(); + if ((this.data.lastChecked || 0) < now - 2 * $.HOUR) { + this.data.lastChecked = now; + for (boardID in this.data.boards) { + this.ajaxClean(boardID); + } + } + return this.save(); + }; + + DataBoard.prototype.ajaxClean = function(boardID) { + return $.cache("//a.4cdn.org/" + boardID + "/threads.json", (function(_this) { + return function(e) { + var board, page, thread, threads, _i, _j, _len, _len1, _ref, _ref1; + if (e.target.status !== 200) { + if (e.target.status === 404) { + _this["delete"](boardID); + } + return; + } + board = _this.data.boards[boardID]; + threads = {}; + _ref = e.target.response; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + page = _ref[_i]; + _ref1 = page.threads; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + thread = _ref1[_j]; + if (thread.no in board) { + threads[thread.no] = board[thread.no]; + } + } + } + _this.data.boards[boardID] = threads; + _this.deleteIfEmpty({ + boardID: boardID + }); + return _this.save(); + }; + })(this)); + }; + + DataBoard.prototype.onSync = function(data) { + this.data = data || { + boards: {} + }; + return typeof this.sync === "function" ? this.sync() : void 0; + }; + + DataBoard.prototype.disconnect = function() { + $.desync(this.key); + delete this.sync; + return delete this.data; + }; + + return DataBoard; + + })(); + + Notice = (function() { + function Notice(type, content, timeout) { + this.timeout = timeout; + this.close = __bind(this.close, this); + this.add = __bind(this.add, this); + this.el = $.el('div', { + innerHTML: '
' + }); + this.el.style.opacity = 0; + this.setType(type); + $.on(this.el.firstElementChild, 'click', this.close); + if (typeof content === 'string') { + content = $.tn(content); + } + $.add(this.el.lastElementChild, content); + $.ready(this.add); + } + + Notice.prototype.setType = function(type) { + return this.el.className = "notification " + type; + }; + + Notice.prototype.add = function() { + if (d.hidden) { + $.on(d, 'visibilitychange', this.add); + return; + } + $.off(d, 'visibilitychange', this.add); + $.add(Header.noticesRoot, this.el); + this.el.clientHeight; + this.el.style.opacity = 1; + if (this.timeout) { + return setTimeout(this.close, this.timeout * $.SECOND); + } + }; + + Notice.prototype.close = function() { + $.off(d, 'visibilitychange', this.add); + return $.rm(this.el); + }; + + return Notice; + + })(); + + RandomAccessList = (function() { + function RandomAccessList(items) { + var item, _i, _len; + this.length = 0; + if (items) { + for (_i = 0, _len = items.length; _i < _len; _i++) { + item = items[_i]; + this.push(item); + } + } + } + + RandomAccessList.prototype.push = function(data) { + var ID, item, last; + ID = data.ID; + ID || (ID = data.id); + if (this[ID]) { + return; + } + last = this.last; + this[ID] = item = { + prev: last, + next: null, + data: data, + ID: ID + }; + item.prev = last; + this.last = last ? last.next = item : this.first = item; + return this.length++; + }; + + RandomAccessList.prototype.before = function(root, item) { + var prev; + if (item.next === root) { + return; + } + this.rmi(item); + prev = root.prev; + root.prev = item; + item.next = root; + item.prev = prev; + if (prev) { + return prev.next = item; + } + }; + + RandomAccessList.prototype.after = function(root, item) { + var next; + if (item.prev === root) { + return; + } + this.rmi(item); + next = root.next; + root.next = item; + item.prev = root; + item.next = next; + if (next) { + return next.prev = item; + } + }; + + RandomAccessList.prototype.prepend = function(item) { + var first; + first = this.first; + if (item === first || !this[item.ID]) { + return; + } + this.rmi(item); + item.next = first; + first.prev = item; + this.first = item; + return delete item.prev; + }; + + RandomAccessList.prototype.shift = function() { + return this.rm(this.first.ID); + }; + + RandomAccessList.prototype.order = function() { + var item, order; + order = [item = this.first]; + while (item = item.next) { + order.push(item); + } + return order; + }; + + RandomAccessList.prototype.rm = function(ID) { + var item; + item = this[ID]; + if (!item) { + return; + } + delete this[ID]; + this.length--; + this.rmi(item); + delete item.next; + return delete item.prev; + }; + + RandomAccessList.prototype.rmi = function(item) { + var next, prev; + prev = item.prev, next = item.next; + if (prev) { + prev.next = next; + } else { + this.first = next; + } + if (next) { + return next.prev = prev; + } else { + return this.last = prev; + } + }; + + return RandomAccessList; + + })(); + + SimpleDict = (function() { + function SimpleDict() { + this.keys = []; + } + + SimpleDict.prototype.push = function(key, data) { + key = "" + key; + if (!this[key]) { + this.keys.push(key); + } + return this[key] = data; + }; + + SimpleDict.prototype.rm = function(key) { + var i; + key = "" + key; + if ((i = this.keys.indexOf(key)) !== -1) { + this.keys.splice(i, 1); + return delete this[key]; + } + }; + + SimpleDict.prototype.forEach = function(fn) { + var key, _i, _len, _ref; + _ref = __slice.call(this.keys); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + key = _ref[_i]; + fn(this[key]); + } + }; + + return SimpleDict; + + })(); + + Polyfill = { + init: function() { + this.notificationPermission(); + this.toBlob(); + return this.visibility(); + }, + notificationPermission: function() { + if (!window.Notification || 'permission' in Notification || !window.webkitNotifications) { + return; + } + return Object.defineProperty(Notification, 'permission', { + get: function() { + switch (webkitNotifications.checkPermission()) { + case 0: + return 'granted'; + case 1: + return 'default'; + case 2: + return 'denied'; + } + } + }); + }, + toBlob: function() { + var _base; + return (_base = HTMLCanvasElement.prototype).toBlob || (_base.toBlob = function(cb) { + var data, i, l, ui8a, _i; + data = atob(this.toDataURL().slice(22)); + l = data.length; + ui8a = new Uint8Array(l); + for (i = _i = 0; _i < l; i = _i += 1) { + ui8a[i] = data.charCodeAt(i); + } + return cb(new Blob([ui8a], { + type: 'image/png' + })); + }); + }, + visibility: function() { + if ('visibilityState' in d) { + return; + } + Object.defineProperties(HTMLDocument.prototype, { + visibilityState: { + get: function() { + return this.webkitVisibilityState; + } + }, + hidden: { + get: function() { + return this.webkitHidden; + } + } + }); + return $.on(d, 'webkitvisibilitychange', function() { + return $.event('visibilitychange'); + }); + } + }; + + Header = { + init: function() { + var barFixedToggler, barPositionToggler, customNavToggler, editCustomNav, footerToggler, headerToggler, linkJustifyToggler, menuButton, scrollHeaderToggler, shortcutToggler; + this.menu = new UI.Menu('header'); + menuButton = $.el('span', { + className: 'menu-button', + innerHTML: '' + }); + barFixedToggler = UI.checkbox('Fixed Header', ' Fixed Header'); + headerToggler = UI.checkbox('Header auto-hide', ' Auto-hide header'); + scrollHeaderToggler = UI.checkbox('Header auto-hide on scroll', ' Auto-hide header on scroll'); + barPositionToggler = UI.checkbox('Bottom Header', ' Bottom header'); + linkJustifyToggler = UI.checkbox('Centered links', ' Centered links'); + customNavToggler = UI.checkbox('Custom Board Navigation', ' Custom board navigation'); + footerToggler = UI.checkbox('Bottom Board List', ' Hide bottom board list'); + shortcutToggler = UI.checkbox('Shortcut Icons', ' Shortcut Icons'); + editCustomNav = $.el('a', { + textContent: 'Edit custom board navigation', + href: 'javascript:;' + }); + this.barFixedToggler = barFixedToggler.firstElementChild; + this.scrollHeaderToggler = scrollHeaderToggler.firstElementChild; + this.barPositionToggler = barPositionToggler.firstElementChild; + this.linkJustifyToggler = linkJustifyToggler.firstElementChild; + this.headerToggler = headerToggler.firstElementChild; + this.footerToggler = footerToggler.firstElementChild; + this.shortcutToggler = shortcutToggler.firstElementChild; + this.customNavToggler = customNavToggler.firstElementChild; + $.on(menuButton, 'click', this.menuToggle); + $.on(this.headerToggler, 'change', this.toggleBarVisibility); + $.on(this.barFixedToggler, 'change', this.toggleBarFixed); + $.on(this.barPositionToggler, 'change', this.toggleBarPosition); + $.on(this.scrollHeaderToggler, 'change', this.toggleHideBarOnScroll); + $.on(this.linkJustifyToggler, 'change', this.toggleLinkJustify); + $.on(this.headerToggler, 'change', this.toggleBarVisibility); + $.on(this.footerToggler, 'change', this.toggleFooterVisibility); + $.on(this.shortcutToggler, 'change', this.toggleShortcutIcons); + $.on(this.customNavToggler, 'change', this.toggleCustomNav); + $.on(editCustomNav, 'click', this.editCustomNav); + this.setBarFixed(Conf['Fixed Header']); + this.setHideBarOnScroll(Conf['Header auto-hide on scroll']); + this.setBarVisibility(Conf['Header auto-hide']); + this.setLinkJustify(Conf['Centered links']); + this.setShortcutIcons(Conf['Shortcut Icons']); + $.sync('Fixed Header', this.setBarFixed); + $.sync('Header auto-hide on scroll', this.setHideBarOnScroll); + $.sync('Bottom Header', this.setBarPosition); + $.sync('Shortcut Icons', this.setShortcutIcons); + $.sync('Header auto-hide', this.setBarVisibility); + $.sync('Centered links', this.setLinkJustify); + this.addShortcut(menuButton); + $.event('AddMenuEntry', { + type: 'header', + el: $.el('span', { + textContent: 'Header' + }), + order: 107, + subEntries: [ + { + el: barFixedToggler + }, { + el: headerToggler + }, { + el: scrollHeaderToggler + }, { + el: barPositionToggler + }, { + el: linkJustifyToggler + }, { + el: footerToggler + }, { + el: shortcutToggler + }, { + el: customNavToggler + }, { + el: editCustomNav + } + ] + }); + $.on(window, 'load hashchange', Header.hashScroll); + $.on(d, 'CreateNotification', this.createNotification); + $.asap((function() { + return d.body; + }), (function(_this) { + return function() { + if (!Main.isThisPageLegit()) { + return; + } + $.asap((function() { + return $.id('boardNavMobile') || d.readyState !== 'loading'; + }), Header.setBoardList); + $.prepend(d.body, _this.bar); + $.add(d.body, Header.hover); + _this.setBarPosition(Conf['Bottom Header']); + return _this; + }; + })(this)); + $.ready((function(_this) { + return function() { + var a, cs, footer, _i, _len, _ref; + _this.footer = footer = $.id('boardNavDesktopFoot'); + if (Conf['JSON Navigation']) { + _ref = $$('a', footer); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + a = _ref[_i]; + $.on(a, 'click', Navigate.navigate); + } + } + if (a = $("a[href*='/" + g.BOARD + "/']", footer)) { + a.className = 'current'; + } + cs = $.el('a', { + href: 'javascript:;', + textContent: 'Catalog Settings' + }); + $.on(cs, 'click', function() { + return $.id('settingsWindowLink').click(); + }); + if (g.VIEW === 'catalog') { + _this.addShortcut(cs); + } + Header.setFooterVisibility(Conf['Bottom Board List']); + return $.sync('Bottom Board List', Header.setFooterVisibility); + }; + })(this)); + return this.enableDesktopNotifications(); + }, + bar: $.el('div', { + id: 'header-bar' + }), + noticesRoot: $.el('div', { + id: 'notifications' + }), + shortcuts: $.el('span', { + id: 'shortcuts' + }), + hover: $.el('div', { + id: 'hoverUI' + }), + toggle: $.el('div', { + id: 'scroll-marker' + }), + initReady: function() { + Header.setBoardList(); + return Header.addNav(); + }, + setBoardList: function() { + var a, boardList, btn, fourchannav, fullBoardList, _i, _len, _ref; + fourchannav = $.id('boardNavDesktop'); + Header.boardList = boardList = $.el('span', { + id: 'board-list', + innerHTML: "" + }); + _ref = $$('a', boardList); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + a = _ref[_i]; + if (Conf['JSON Navigation']) { + $.on(a, 'click', Navigate.navigate); + } + if (a.pathname.split('/')[1] === g.BOARD.ID) { + a.className = 'current'; + } + } + fullBoardList = $('#full-board-list', boardList); + btn = $('.hide-board-list-button', fullBoardList); + $.on(btn, 'click', Header.toggleBoardList); + $.rm($('#navtopright', fullBoardList)); + $.add(boardList, fullBoardList); + $.add(Header.bar, [Header.boardList, Header.shortcuts, Header.noticesRoot, Header.toggle]); + Header.setCustomNav(Conf['Custom Board Navigation']); + Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' ')); + $.sync('Custom Board Navigation', Header.setCustomNav); + return $.sync('boardnav', Header.generateBoardList); + }, + generateBoardList: function(text) { + var as, list, nodes; + list = $('#custom-board-list', Header.boardList); + $.rmAll(list); + if (!text) { + return; + } + as = $$('#full-board-list a[title]', Header.boardList); + nodes = text.match(/[\w@]+((-(all|title|replace|full|index|catalog|url:"[^"]+[^"]"|text:"[^"]+")|\,"[^"]+[^"]"))*|[^\w@]+/g).map(function(t) { + var a, board, m, _i, _len; + if (/^[^\w@]/.test(t)) { + return $.tn(t); + } + if (/^toggle-all/.test(t)) { + a = $.el('a', { + className: 'show-board-list-button', + textContent: (t.match(/-text:"(.+)"/) || [null, '+'])[1], + href: 'javascript:;' + }); + $.on(a, 'click', Header.toggleBoardList); + return a; + } + if (/^external/.test(t)) { + a = $.el('a', { + href: (t.match(/\,"(.+)"/) || [null, '+'])[1], + textContent: (t.match(/-text:"(.+)"\,/) || [null, '+'])[1], + className: 'external' + }); + return a; + } + board = /^current/.test(t) ? g.BOARD.ID : t.match(/^[^-]+/)[0]; + for (_i = 0, _len = as.length; _i < _len; _i++) { + a = as[_i]; + if (a.textContent === board) { + a = a.cloneNode(true); + if (Conf['JSON Navigation']) { + $.on(a, 'click', Navigate.navigate); + } + a.textContent = /-title/.test(t) || /-replace/.test(t) && $.hasClass(a, 'current') ? a.title : /-full/.test(t) ? "/" + board + "/ - " + a.title : (m = t.match(/-text:"(.+)"/)) ? m[1] : a.textContent; + if (m = t.match(/-(index|catalog)/)) { + a.dataset.only = m[1]; + a.href = "//boards.4chan.org/" + board + "/"; + if (m[1] === 'catalog') { + if (Conf['External Catalog']) { + a.href = CatalogLinks.external(board); + } else { + a.href += 'catalog'; + } + $.addClass(a, 'catalog'); + } + } + if (board === '@') { + $.addClass(a, 'navSmall'); + } + return a; + } + } + return $.tn(t); + }); + return $.add(list, nodes); + }, + toggleBoardList: function() { + var bar, custom, full, showBoardList; + bar = Header.bar; + custom = $('#custom-board-list', bar); + full = $('#full-board-list', bar); + showBoardList = !full.hidden; + custom.hidden = !showBoardList; + return full.hidden = showBoardList; + }, + setLinkJustify: function(centered) { + Header.linkJustifyToggler.checked = centered; + if (centered) { + return $.addClass(doc, 'centered-links'); + } else { + return $.rmClass(doc, 'centered-links'); + } + }, + toggleLinkJustify: function() { + var centered; + $.event('CloseMenu'); + centered = this.nodeName === 'INPUT' ? this.checked : void 0; + Header.setLinkJustify(centered); + return $.set('Centered links', centered); + }, + setBarFixed: function(fixed) { + Header.barFixedToggler.checked = fixed; + if (fixed) { + $.addClass(doc, 'fixed'); + return $.addClass(Header.bar, 'dialog'); + } else { + $.rmClass(doc, 'fixed'); + return $.rmClass(Header.bar, 'dialog'); + } + }, + toggleBarFixed: function() { + $.event('CloseMenu'); + Header.setBarFixed(this.checked); + Conf['Fixed Header'] = this.checked; + return $.set('Fixed Header', this.checked); + }, + setShortcutIcons: function(show) { + Header.shortcutToggler.checked = show; + if (show) { + return $.addClass(doc, 'shortcut-icons'); + } else { + return $.rmClass(doc, 'shortcut-icons'); + } + }, + toggleShortcutIcons: function() { + $.event('CloseMenu'); + Header.setShortcutIcons(this.checked); + Conf['Shortcut Icons'] = this.checked; + return $.set('Shortcut Icons', this.checked); + }, + setBarVisibility: function(hide) { + Header.headerToggler.checked = hide; + $.event('CloseMenu'); + (hide ? $.addClass : $.rmClass)(Header.bar, 'autohide'); + return (hide ? $.addClass : $.rmClass)(doc, 'autohide'); + }, + toggleBarVisibility: function() { + var hide, message; + hide = this.nodeName === 'INPUT' ? this.checked : !$.hasClass(Header.bar, 'autohide'); + this.checked = hide; + $.set('Header auto-hide', Conf['Header auto-hide'] = hide); + Header.setBarVisibility(hide); + message = "The header bar will " + (hide ? 'automatically hide itself.' : 'remain visible.'); + return new Notice('info', message, 2); + }, + setHideBarOnScroll: function(hide) { + Header.scrollHeaderToggler.checked = hide; + if (hide) { + $.on(window, 'scroll', Header.hideBarOnScroll); + return; + } + $.off(window, 'scroll', Header.hideBarOnScroll); + $.rmClass(Header.bar, 'scroll'); + if (!Conf['Header auto-hide']) { + return $.rmClass(Header.bar, 'autohide'); + } + }, + toggleHideBarOnScroll: function(e) { + var hide; + hide = this.checked; + $.cb.checked.call(this); + return Header.setHideBarOnScroll(hide); + }, + hideBarOnScroll: function() { + var offsetY; + offsetY = window.pageYOffset; + if (offsetY > (Header.previousOffset || 0)) { + $.addClass(Header.bar, 'autohide', 'scroll'); + } else { + $.rmClass(Header.bar, 'autohide', 'scroll'); + } + return Header.previousOffset = offsetY; + }, + setBarPosition: function(bottom) { + var args; + Header.barPositionToggler.checked = bottom; + $.event('CloseMenu'); + args = bottom ? ['bottom-header', 'top-header', 'bottom', 'after'] : ['top-header', 'bottom-header', 'top', 'add']; + $.addClass(doc, args[0]); + $.rmClass(doc, args[1]); + Header.bar.parentNode.className = args[2]; + return $[args[3]](Header.bar, Header.noticesRoot); + }, + toggleBarPosition: function() { + $.cb.checked.call(this); + return Header.setBarPosition(this.checked); + }, + setFooterVisibility: function(hide) { + Header.footerToggler.checked = hide; + return Header.footer.hidden = hide; + }, + toggleFooterVisibility: function() { + var hide, message; + $.event('CloseMenu'); + hide = this.nodeName === 'INPUT' ? this.checked : !!Header.footer.hidden; + Header.setFooterVisibility(hide); + $.set('Bottom Board List', hide); + message = hide ? 'The bottom navigation will now be hidden.' : 'The bottom navigation will remain visible.'; + return new Notice('info', message, 2); + }, + setCustomNav: function(show) { + var btn, cust, full, _ref; + Header.customNavToggler.checked = show; + cust = $('#custom-board-list', Header.bar); + full = $('#full-board-list', Header.bar); + btn = $('.hide-board-list-button', full); + return _ref = show ? [false, true] : [true, false], cust.hidden = _ref[0], full.hidden = _ref[1], _ref; + }, + toggleCustomNav: function() { + $.cb.checked.call(this); + return Header.setCustomNav(this.checked); + }, + editCustomNav: function() { + var settings; + Settings.open('Advanced'); + settings = $.id('fourchanx-settings'); + return $('input[name=boardnav]', settings).focus(); + }, + hashScroll: function() { + var hash, post; + hash = this.location.hash.slice(1); + if (!(/^p\d+$/.test(hash) && (post = $.id(hash)))) { + return; + } + if ((Get.postFromRoot(post)).isHidden) { + return; + } + return Header.scrollTo(post); + }, + scrollTo: function(root, down, needed) { + var height, x; + if (down) { + x = Header.getBottomOf(root); + if (Conf['Header auto-hide on scroll'] && Conf['Bottom header']) { + height = Header.bar.getBoundingClientRect().height; + if (x <= 0) { + if (!Header.isHidden()) { + x += height; + } + } else { + if (Header.isHidden()) { + x -= height; + } + } + } + if (!(needed && x >= 0)) { + return window.scrollBy(0, -x); + } + } else { + x = Header.getTopOf(root); + if (Conf['Header auto-hide on scroll'] && !Conf['Bottom header']) { + height = Header.bar.getBoundingClientRect().height; + if (x >= 0) { + if (!Header.isHidden()) { + x += height; + } + } else { + if (Header.isHidden()) { + x -= height; + } + } + } + if (!(needed && x >= 0)) { + return window.scrollBy(0, x); + } + } + }, + scrollToIfNeeded: function(root, down) { + return Header.scrollTo(root, down, true); + }, + getTopOf: function(root) { + var headRect, top; + top = root.getBoundingClientRect().top; + if (Conf['Fixed Header'] && !Conf['Bottom Header']) { + headRect = Header.toggle.getBoundingClientRect(); + top -= headRect.top + headRect.height; + } + return top; + }, + getBottomOf: function(root) { + var bottom, clientHeight, headRect; + clientHeight = doc.clientHeight; + bottom = clientHeight - root.getBoundingClientRect().bottom; + if (Conf['Bottom Header']) { + headRect = Header.toggle.getBoundingClientRect(); + bottom -= clientHeight - headRect.bottom + headRect.height; + } + return bottom; + }, + isHidden: function() { + var top; + top = Header.bar.getBoundingClientRect().top; + if (Conf['Bottom header']) { + return top === doc.clientHeight; + } else { + return top < 0; + } + }, + addShortcut: function(el) { + var shortcut; + shortcut = $.el('span', { + className: 'shortcut brackets-wrap' + }); + $.add(shortcut, el); + return $.prepend(Header.shortcuts, shortcut); + }, + rmShortcut: function(el) { + return $.rm(el.parentElement); + }, + menuToggle: function(e) { + return Header.menu.toggle(e, this, g); + }, + createNotification: function(e) { + var cb, content, lifetime, notice, type, _ref; + _ref = e.detail, type = _ref.type, content = _ref.content, lifetime = _ref.lifetime, cb = _ref.cb; + notice = new Notice(type, content, lifetime); + if (cb) { + return cb(notice); + } + }, + areNotificationsEnabled: false, + enableDesktopNotifications: function() { + var authorize, disable, el, notice, _ref; + if (!(window.Notification && Conf['Desktop Notifications'])) { + return; + } + switch (Notification.permission) { + case 'granted': + Header.areNotificationsEnabled = true; + return; + case 'denied': + return; + } + el = $.el('span', { + innerHTML: '4chan X needs your permission to show desktop notifications.\n[FAQ]
\n or ' + }); + _ref = $$('button', el), authorize = _ref[0], disable = _ref[1]; + $.on(authorize, 'click', function() { + return Notification.requestPermission(function(status) { + Header.areNotificationsEnabled = status === 'granted'; + if (status === 'default') { + return; + } + return notice.close(); + }); + }); + $.on(disable, 'click', function() { + $.set('Desktop Notifications', false); + return notice.close(); + }); + return notice = new Notice('info', el); + } + }; + + Index = { + init: function() { + var anchorEntry, input, label, modeEntry, name, refNavEntry, repliesEntry, sortEntry, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2; + if (g.BOARD.ID === 'f' || g.VIEW === 'catalog' || !Conf['JSON Navigation']) { + return; + } + this.board = "" + g.BOARD; + this.button = $.el('a', { + className: 'index-refresh-shortcut fa fa-refresh', + title: 'Refresh', + href: 'javascript:;', + textContent: 'Refresh Index' + }); + $.on(this.button, 'click', this.update); + Header.addShortcut(this.button, 1); + modeEntry = { + el: $.el('span', { + textContent: 'Index mode' + }), + subEntries: [ + { + el: $.el('label', { + innerHTML: ' Paged' + }) + }, { + el: $.el('label', { + innerHTML: ' Infinite scrolling' + }) + }, { + el: $.el('label', { + innerHTML: ' All threads' + }) + } + ] + }; + _ref = modeEntry.subEntries; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + label = _ref[_i]; + input = label.el.firstChild; + input.checked = Conf['Index Mode'] === input.value; + $.on(input, 'change', $.cb.value); + $.on(input, 'change', this.cb.mode); + } + sortEntry = { + el: $.el('span', { + textContent: 'Sort by' + }), + subEntries: [ + { + el: $.el('label', { + innerHTML: ' Bump order' + }) + }, { + el: $.el('label', { + innerHTML: ' Last reply' + }) + }, { + el: $.el('label', { + innerHTML: ' Creation date' + }) + }, { + el: $.el('label', { + innerHTML: ' Reply count' + }) + }, { + el: $.el('label', { + innerHTML: ' File count' + }) + } + ] + }; + _ref1 = sortEntry.subEntries; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + label = _ref1[_j]; + input = label.el.firstChild; + input.checked = Conf['Index Sort'] === input.value; + $.on(input, 'change', $.cb.value); + $.on(input, 'change', this.cb.sort); + } + repliesEntry = { + el: UI.checkbox('Show Replies', ' Show replies') + }; + anchorEntry = { + el: UI.checkbox('Anchor Hidden Threads', ' Anchor hidden threads') + }; + refNavEntry = { + el: UI.checkbox('Refreshed Navigation', ' Refreshed navigation') + }; + anchorEntry.el.title = 'Move hidden threads at the end of the index.'; + refNavEntry.el.title = 'Refresh index when navigating through pages.'; + _ref2 = [repliesEntry, anchorEntry, refNavEntry]; + for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { + label = _ref2[_k]; + input = label.el.firstChild; + name = input.name; + $.on(input, 'change', $.cb.checked); + switch (name) { + case 'Show Replies': + $.on(input, 'change', this.cb.replies); + break; + case 'Anchor Hidden Threads': + $.on(input, 'change', this.cb.sort); + } + } + $.event('AddMenuEntry', { + type: 'header', + el: $.el('span', { + textContent: 'Index Navigation' + }), + order: 98, + subEntries: [repliesEntry, anchorEntry, refNavEntry, modeEntry, sortEntry] + }); + $.addClass(doc, 'index-loading'); + this.root = $.el('div', { + className: 'board' + }); + this.pagelist = $.el('div', { + className: 'pagelist', + hidden: true, + innerHTML: '
' + }); + this.navLinks = $.el('div', { + className: 'navLinks', + innerHTML: 'Return Catalog Bottom ×' + }); + this.navLinksBot = $.el('div', { + className: 'navLinks navLinksBot', + innerHTML: 'Return Catalog Top' + }); + this.searchInput = $('#index-search', this.navLinks); + this.currentPage = this.getCurrentPage(); + Index.setNavLinks(); + $.on(d, 'scroll', Index.scroll); + $.on(this.pagelist, 'click', this.cb.pageNav); + $.on(this.searchInput, 'input', this.onSearchInput); + $.on($('#index-search-clear', this.navLinks), 'click', this.clearSearch); + $.on($('.returnlink a', this.navLinks), 'click', Navigate.navigate); + $.on($('.returnlink a', this.navLinksBot), 'click', Navigate.navigate); + if (g.VIEW === 'index') { + this.update(); + } + $.asap((function() { + return $('.board', doc) || d.readyState !== 'loading'; + }), function() { + var board; + if (g.VIEW === 'index') { + board = $('.board'); + $.replace(board, Index.root); + return d.implementation.createDocument(null, null, null).appendChild(board); + } + }); + $.asap((function() { + return $('.navLinksBot.mobile', doc) || d.readyState !== 'loading'; + }), function() { + var botNavPos, el, topNavPos, _l, _len3, _ref3, _ref4; + _ref3 = $$('.navLinks, .navLinksBot + hr'); + for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { + el = _ref3[_l]; + $.rm(el); + } + if ((_ref4 = $.id('search-box')) != null) { + _ref4.parentNode.remove(); + } + topNavPos = $.id('delform').previousElementSibling; + botNavPos = $('.board'); + if (g.VIEW === 'index') { + $.before(topNavPos, $.el('hr')); + } + $.before(topNavPos, Index.navLinks); + $.after(botNavPos, $.el('hr')); + return $.after(botNavPos, Index.navLinksBot); + }); + return $.asap((function() { + return $('.pagelist', doc) || d.readyState !== 'loading'; + }), function() { + var pagelist; + if (pagelist = $('.pagelist')) { + $.replace(pagelist, Index.pagelist); + } else { + $.after($.id('delform'), Index.pagelist); + } + return $.rmClass(doc, 'index-loading'); + }); + }, + setNavLinks: function() { + $('.returnlink a', Index.navLinks).href = $('.returnlink a', Index.navLinksBot).href = "//boards.4chan.org/" + g.BOARD + "/"; + return $('.cataloglink a', Index.navLinks).href = $('.cataloglink a', Index.navLinksBot).href = "//boards.4chan.org/" + g.BOARD + "/catalog"; + }, + scroll: function() { + var nodes, pageNum; + if (Index.req || Conf['Index Mode'] !== 'infinite' || (window.scrollY <= doc.scrollHeight - (300 + window.innerHeight)) || g.VIEW === 'thread') { + return; + } + if (Index.pageNum == null) { + Index.pageNum = Index.getCurrentPage(); + } + pageNum = Index.pageNum++; + if (pageNum > Index.pagesNum) { + return Index.endNotice(); + } + nodes = Index.buildSinglePage(pageNum); + if (Conf['Show Replies']) { + Index.buildReplies(nodes); + } + Index.buildStructure(nodes); + return Index.setPage(pageNum); + }, + endNotice: (function() { + var notify, reset; + notify = false; + reset = function() { + return notify = false; + }; + return function() { + if (notify) { + return; + } + notify = true; + new Notice('info', "Last page reached.", 2); + return setTimeout(reset, 3 * $.SECOND); + }; + })(), + cb: { + mode: function() { + Index.togglePagelist(); + return Index.buildIndex(); + }, + sort: function() { + Index.sort(); + return Index.buildIndex(); + }, + replies: function() { + Index.buildThreads(); + Index.sort(); + return Index.buildIndex(); + }, + pageNav: function(e) { + var a; + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || e.button !== 0) { + return; + } + switch (e.target.nodeName) { + case 'BUTTON': + a = e.target.parentNode; + break; + case 'A': + a = e.target; + break; + default: + return; + } + if (a.textContent === 'Catalog') { + return; + } + e.preventDefault(); + return Index.userPageNav(+a.pathname.split('/')[2] || 1); + } + }, + scrollToIndex: function() { + return Header.scrollToIfNeeded(Index.root); + }, + getCurrentPage: function() { + return +window.location.pathname.split('/')[2] || 1; + }, + userPageNav: function(pageNum) { + Navigate.pushState(pageNum === 1 ? './' : pageNum); + if (Conf['Refreshed Navigation'] && Conf['Index Mode'] !== 'all pages') { + return Index.update(pageNum); + } else { + if (Index.currentPage === pageNum) { + return; + } + return Index.pageLoad(pageNum); + } + }, + pageLoad: function(pageNum) { + Index.currentPage = pageNum; + if (Conf['Index Mode'] === 'all pages') { + return; + } + Index.buildIndex(); + Index.setPage(); + return Index.scrollToIndex(); + }, + getPagesNum: function() { + if (Index.isSearching) { + return Math.ceil((Index.sortedNodes.length / 2) / Index.threadsNumPerPage); + } else { + return Index.pagesNum; + } + }, + getMaxPageNum: function() { + return Math.max(1, Index.getPagesNum()); + }, + togglePagelist: function() { + return Index.pagelist.hidden = Conf['Index Mode'] !== 'paged'; + }, + buildPagelist: function() { + var a, i, maxPageNum, nodes, pagesRoot, _i; + pagesRoot = $('.pages', Index.pagelist); + maxPageNum = Index.getMaxPageNum(); + if (pagesRoot.childElementCount !== maxPageNum) { + nodes = []; + for (i = _i = 1; _i <= maxPageNum; i = _i += 1) { + a = $.el('a', { + textContent: i, + href: i === 1 ? './' : i + }); + nodes.push($.tn('['), a, $.tn('] ')); + } + $.rmAll(pagesRoot); + $.add(pagesRoot, nodes); + } + return Index.togglePagelist(); + }, + setPage: function(pageNum) { + var a, href, maxPageNum, next, pagesRoot, prev, strong; + pageNum || (pageNum = Index.getCurrentPage()); + maxPageNum = Index.getMaxPageNum(); + pagesRoot = $('.pages', Index.pagelist); + prev = pagesRoot.previousSibling.firstChild; + next = pagesRoot.nextSibling.firstChild; + href = Math.max(pageNum - 1, 1); + prev.href = href === 1 ? './' : href; + prev.firstChild.disabled = href === pageNum; + href = Math.min(pageNum + 1, maxPageNum); + next.href = href === 1 ? './' : href; + next.firstChild.disabled = href === pageNum; + if (strong = $('strong', pagesRoot)) { + if (+strong.textContent === pageNum) { + return; + } + $.replace(strong, strong.firstChild); + } else { + strong = $.el('strong'); + } + a = pagesRoot.children[pageNum - 1]; + $.before(a, strong); + return $.add(strong, a); + }, + update: function(pageNum, forceReparse) { + var now, onload, _ref, _ref1; + if (!navigator.onLine) { + return; + } + if (g.VIEW === 'thread') { + if (Conf['Thread Updater']) { + return ThreadUpdater.update(); + } + return; + } + if (!(d.readyState === 'loading' || Index.root.parentElement)) { + $.replace($('.board'), Index.root); + } + delete Index.pageNum; + if ((_ref = Index.req) != null) { + _ref.abort(); + } + if ((_ref1 = Index.notice) != null) { + _ref1.close(); + } + now = Date.now(); + $.ready(function() { + return Index.nTimeout = setTimeout((function() { + if (Index.req && !Index.notice) { + return Index.notice = new Notice('info', 'Refreshing index...', 2); + } + }), 3 * $.SECOND - (Date.now() - now)); + }); + if (typeof pageNum !== 'number') { + pageNum = null; + } + onload = function(e) { + return Index.load(e, pageNum); + }; + Index.req = $.ajax("//a.4cdn.org/" + g.BOARD + "/catalog.json", { + onabort: onload, + onloadend: onload + }, { + whenModified: !forceReparse + }); + return $.addClass(Index.button, 'fa-spin'); + }, + load: function(e, pageNum) { + var err, nTimeout, notice, req, timeEl, _ref; + $.rmClass(Index.button, 'fa-spin'); + req = Index.req, notice = Index.notice, nTimeout = Index.nTimeout; + if (nTimeout) { + clearTimeout(nTimeout); + } + delete Index.nTimeout; + delete Index.req; + delete Index.notice; + if (e.type === 'abort') { + req.onloadend = null; + notice.close(); + return; + } + if ((_ref = req.status) !== 200 && _ref !== 304) { + err = "Index refresh failed. Error " + req.statusText + " (" + req.status + ")"; + if (notice) { + notice.setType('warning'); + notice.el.lastElementChild.textContent = err; + setTimeout(notice.close, $.SECOND); + } else { + new Notice('warning', err, 1); + } + return; + } + Navigate.title(); + try { + if (req.status === 200) { + Index.parse(req.response, pageNum); + } else if (req.status === 304 && (pageNum != null)) { + Index.pageLoad(pageNum); + } + } catch (_error) { + err = _error; + c.error("Index failure: " + err.message, err.stack); + if (notice) { + notice.setType('error'); + notice.el.lastElementChild.textContent = 'Index refresh failed.'; + setTimeout(notice.close, $.SECOND); + } else { + new Notice('error', 'Index refresh failed.', 1); + } + return; + } + timeEl = $('#index-last-refresh time', Index.navLinks); + timeEl.dataset.utc = Date.parse(req.getResponseHeader('Last-Modified')); + RelativeDates.update(timeEl); + return Index.scrollToIndex(); + }, + parse: function(pages, pageNum) { + Index.parseThreadList(pages); + Index.buildThreads(); + Index.sort(); + Index.buildPagelist(); + if (pageNum != null) { + Index.pageLoad(pageNum); + return; + } + Index.buildIndex(); + return Index.setPage(); + }, + parseThreadList: function(pages) { + Index.pagesNum = pages.length; + Index.threadsNumPerPage = pages[0].threads.length; + Index.liveThreadData = pages.reduce((function(arr, next) { + return arr.concat(next.threads); + }), []); + Index.liveThreadIDs = Index.liveThreadData.map(function(data) { + return data.no; + }); + g.BOARD.threads.forEach(function(thread) { + var _ref; + if (_ref = thread.ID, __indexOf.call(Index.liveThreadIDs, _ref) < 0) { + return thread.collect(); + } + }); + }, + buildThreads: function() { + var err, errors, i, posts, thread, threadData, threadRoot, threads, _i, _len, _ref; + Index.nodes = []; + threads = []; + posts = []; + _ref = Index.liveThreadData; + for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { + threadData = _ref[i]; + try { + threadRoot = Build.thread(g.BOARD, threadData); + if (thread = g.BOARD.threads[threadData.no]) { + thread.setPage(Math.floor(i / Index.threadsNumPerPage)); + thread.setStatus('Sticky', !!threadData.sticky); + thread.setStatus('Closed', !!threadData.closed); + } else { + thread = new Thread(threadData.no, g.BOARD); + threads.push(thread); + } + Index.nodes.push(threadRoot); + if (thread.ID in thread.posts) { + continue; + } + posts.push(new Post($('.opContainer', threadRoot), thread, g.BOARD)); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Parsing of Thread No." + thread + " failed. Thread will be skipped.", + error: err + }); + } + } + if (errors) { + Main.handleErrors(errors); + } + $.nodes(Index.nodes); + Main.callbackNodes(Thread, threads); + Main.callbackNodes(Post, posts); + return $.event('IndexRefresh'); + }, + buildReplies: function(threadRoots) { + var data, err, errors, i, lastReplies, node, nodes, post, posts, thread, threadRoot, _i, _j, _len, _len1; + posts = []; + for (_i = 0, _len = threadRoots.length; _i < _len; _i++) { + threadRoot = threadRoots[_i]; + thread = Get.threadFromRoot(threadRoot); + i = Index.liveThreadIDs.indexOf(thread.ID); + if (!(lastReplies = Index.liveThreadData[i].last_replies)) { + continue; + } + nodes = []; + for (_j = 0, _len1 = lastReplies.length; _j < _len1; _j++) { + data = lastReplies[_j]; + if (post = thread.posts[data.no]) { + nodes.push(post.nodes.root); + continue; + } + nodes.push(node = Build.postFromObject(data, thread.board.ID)); + try { + posts.push(new Post(node, thread, thread.board)); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Parsing of Post No." + data.no + " failed. Post will be skipped.", + error: err + }); + } + } + $.add(threadRoot, nodes); + } + if (errors) { + Main.handleErrors(errors); + } + return Main.callbackNodes(Post, posts); + }, + sort: function() { + var cnd, fn, i, item, items, liveThreadData, liveThreadIDs, nodes, sortedNodes, sortedThreadIDs, threadID, _i, _len; + liveThreadIDs = Index.liveThreadIDs, liveThreadData = Index.liveThreadData; + sortedThreadIDs = { + lastreply: __slice.call(liveThreadData).sort(function(a, b) { + var num; + if ((num = a.last_replies)) { + a = num[num.length - 1]; + } + if ((num = b.last_replies)) { + b = num[num.length - 1]; + } + return b.no - a.no; + }).map(function(post) { + return post.no; + }), + bump: liveThreadIDs, + birth: __slice.call(liveThreadIDs).sort(function(a, b) { + return b - a; + }), + replycount: __slice.call(liveThreadData).sort(function(a, b) { + return b.replies - a.replies; + }).map(function(post) { + return post.no; + }), + filecount: __slice.call(liveThreadData).sort(function(a, b) { + return b.images - a.images; + }).map(function(post) { + return post.no; + }) + }[Conf['Index Sort']]; + Index.sortedNodes = sortedNodes = new RandomAccessList; + nodes = Index.nodes; + for (_i = 0, _len = sortedThreadIDs.length; _i < _len; _i++) { + threadID = sortedThreadIDs[_i]; + sortedNodes.push(nodes[Index.liveThreadIDs.indexOf(threadID)]); + } + if (Index.isSearching && (nodes = Index.querySearch(Index.searchInput.value))) { + Index.sortedNodes = new RandomAccessList(nodes); + } + items = [ + { + fn: function(thread) { + return thread.isSticky; + }, + cnd: true + }, { + fn: function(thread) { + return thread.isOnTop; + }, + cnd: Conf['Filter'] + }, { + fn: function(thread) { + return !thread.isHidden; + }, + cnd: Conf['Anchor Hidden Threads'] + } + ]; + i = 0; + while (item = items[i++]) { + fn = item.fn, cnd = item.cnd; + if (cnd) { + Index.sortOnTop(fn); + } + } + }, + sortOnTop: function(match) { + var j, offset, sortedNodes, target, threadRoot; + offset = 0; + sortedNodes = Index.sortedNodes; + threadRoot = sortedNodes.first; + while (threadRoot) { + if (match(Get.threadFromRoot(threadRoot.data))) { + target = sortedNodes.first; + j = 0; + while (j++ < offset) { + target = target.next; + } + if (threadRoot !== target) { + offset++; + sortedNodes.before(target, threadRoot); + } + } + threadRoot = threadRoot.next; + } + }, + buildIndex: function() { + var nodes, target; + if (Conf['Index Mode'] !== 'all pages') { + nodes = Index.buildSinglePage(Index.getCurrentPage()); + } else { + nodes = [(target = Index.sortedNodes.first).data]; + while (target = target.next) { + nodes.push(target.data); + } + } + $.rmAll(Index.root); + $.rmAll(Header.hover); + if (Conf['Show Replies']) { + Index.buildReplies(nodes); + } + return Index.buildStructure(nodes); + }, + buildSinglePage: function(pageNum) { + var end, nodes, nodesPerPage, offset, target; + nodes = []; + nodesPerPage = Index.threadsNumPerPage; + offset = nodesPerPage * (pageNum - 1); + end = offset + nodesPerPage; + target = Index.sortedNodes.order()[offset]; + Index.sortedNodes; + while ((offset++ <= end) && target) { + nodes.push(target.data); + target = target.next; + } + return nodes; + }, + buildStructure: function(nodes) { + var hr, i, node, result, _i, _len, _ref; + result = $.frag(); + i = 0; + while (node = nodes[i++]) { + $.add(result, [node, $.el('hr')]); + } + $.add(Index.root, result); + _ref = $$('hr + hr', Index.root); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + hr = _ref[_i]; + $.rm(hr); + } + return $.event('IndexBuild', result); + }, + isSearching: false, + clearSearch: function() { + Index.searchInput.value = null; + Index.onSearchInput(); + return Index.searchInput.focus(); + }, + onSearchInput: function() { + var pageNum; + if (Index.isSearching = !!Index.searchInput.value.trim()) { + if (!Index.searchInput.dataset.searching) { + Index.searchInput.dataset.searching = 1; + Index.pageBeforeSearch = Index.getCurrentPage(); + pageNum = 1; + } else { + pageNum = Index.getCurrentPage(); + } + } else { + if (!Index.searchInput.dataset.searching) { + return; + } + pageNum = Index.pageBeforeSearch; + delete Index.pageBeforeSearch; + delete Index.searchInput.dataset.searching; + } + Index.sort(); + if (Conf['Index Mode'] !== 'all pages') { + pageNum = Math.min(pageNum, Index.getMaxPageNum()); + } + Index.buildPagelist(); + if (Index.currentPage === pageNum) { + Index.buildIndex(); + return Index.setPage(); + } else { + Navigate.pushState(pageNum === 1 ? './' : pageNum); + return Index.pageLoad(pageNum); + } + }, + querySearch: function(query) { + var keywords; + if (!(keywords = query.toLowerCase().match(/\S+/g))) { + return; + } + return Index.search(keywords); + }, + search: function(keywords) { + var data, found, target; + found = []; + target = Index.sortedNodes.first; + while (target) { + data = target.data; + if (Index.searchMatch(Get.threadFromRoot(data), keywords)) { + found.push(data); + } + target = target.next; + } + return found; + }, + searchMatch: function(thread, keywords) { + var file, info, key, keyword, text, _i, _j, _len, _len1, _ref, _ref1; + _ref = thread.OP, info = _ref.info, file = _ref.file; + text = []; + _ref1 = ['comment', 'subject', 'name', 'tripcode', 'email']; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + key = _ref1[_i]; + if (key in info) { + text.push(info[key]); + } + } + if (file) { + text.push(file.name); + } + text = text.join(' ').toLowerCase(); + for (_j = 0, _len1 = keywords.length; _j < _len1; _j++) { + keyword = keywords[_j]; + if (-1 === text.indexOf(keyword)) { + return false; + } + } + return true; + } + }; + + Build = { + h_staticPath: '//s.4cdn.org/image/', + h_gifIcon: window.devicePixelRatio >= 2 ? '@2x.gif' : '.gif', + spoilerRange: {}, + h_escape: function(text) { + return (text + '').replace(/[&"'<>]/g, function(c) { + return { + '&': '&', + "'": ''', + '"': '"', + '<': '<', + '>': '>' + }[c]; + }); + }, + unescape: function(text) { + if (text == null) { + return text; + } + return text.replace(/&(amp|#039|quot|lt|gt);/g, function(c) { + return { + '&': '&', + ''': "'", + '"': '"', + '<': '<', + '>': '>' + }[c]; + }); + }, + shortFilename: function(filename, isReply) { + var ext, threshold; + threshold = isReply ? 30 : 40; + ext = filename.match(/\.?[^\.]*$/)[0]; + if (filename.length - ext.length > threshold) { + return "" + filename.slice(0, threshold - 5) + "(...)" + ext; + } else { + return filename; + } + }, + thumbRotate: (function() { + var n; + n = 0; + return function() { + return n = (n + 1) % 3; + }; + })(), + postFromObject: function(data, boardID) { + var o; + o = { + postID: data.no, + threadID: data.resto || data.no, + boardID: boardID, + name: Build.unescape(data.name), + capcode: data.capcode, + tripcode: data.trip, + uniqueID: data.id, + email: Build.unescape(data.email), + subject: Build.unescape(data.sub), + flagCode: data.country, + flagName: Build.unescape(data.country_name), + date: data.now, + dateUTC: data.time, + h_comment: data.com || '', + isSticky: !!data.sticky, + isClosed: !!data.closed + }; + if (data.filedeleted) { + o.file = { + isDeleted: true + }; + } else if (data.ext) { + o.file = { + name: (Build.unescape(data.filename)) + data.ext, + timestamp: "" + data.tim + data.ext, + url: boardID === 'f' ? "//i.4cdn.org/" + boardID + "/" + (encodeURIComponent(data.filename)) + data.ext : "//i.4cdn.org/" + boardID + "/" + data.tim + data.ext, + height: data.h, + width: data.w, + MD5: data.md5, + size: data.fsize, + turl: "//" + (Build.thumbRotate()) + ".t.4cdn.org/" + boardID + "/" + data.tim + "s.jpg", + theight: data.tn_h, + twidth: data.tn_w, + isSpoiler: !!data.spoiler, + isDeleted: false + }; + } + return Build.post(o); + }, + post: function(o, isArchived) { + + /* + This function contains code from 4chan-JS (https://github.com/4chan/4chan-JS). + @license: https://github.com/4chan/4chan-JS/blob/master/LICENSE + */ + var E, boardID, capcode, container, date, dateUTC, email, file, fileSize, fileThumb, flagCode, flagName, h_capcodeClass, h_capcodeIcon, h_capcodeStart, h_closed, h_comment, h_emailEnd, h_emailStart, h_file, h_fileDims, h_fileInfo, h_flag, h_gifIcon, h_imgSrc, h_pageIcon, h_postClass, h_quoteLink, h_replyLink, h_sideArrows, h_staticPath, h_sticky, h_tripcode, h_userID, href, isClosed, isOP, isSticky, name, pageNum, postID, quote, shortFilename, spoilerRange, subject, threadID, tripcode, uniqueID, _i, _len, _ref; + E = Build.h_escape; + postID = o.postID, threadID = o.threadID, boardID = o.boardID, name = o.name, capcode = o.capcode, tripcode = o.tripcode, uniqueID = o.uniqueID, email = o.email, subject = o.subject, flagCode = o.flagCode, flagName = o.flagName, date = o.date, dateUTC = o.dateUTC, isSticky = o.isSticky, isClosed = o.isClosed, h_comment = o.h_comment, file = o.file; + name || (name = ''); + subject || (subject = ''); + isOP = postID === threadID; + h_staticPath = Build.h_staticPath, h_gifIcon = Build.h_gifIcon; + if (isOP) { + h_sideArrows = ''; + } else { + h_sideArrows = "
>>
"; + } + h_postClass = "post " + (isOP ? 'op' : 'reply') + (capcode === 'admin_highlight' ? ' highlightPost' : ''); + if (tripcode) { + h_tripcode = " " + (E(tripcode)) + ""; + } else { + h_tripcode = ''; + } + if (email) { + h_emailStart = ""; + h_emailEnd = ''; + } else { + h_emailStart = ''; + h_emailEnd = ''; + } + switch (capcode) { + case 'admin': + case 'admin_highlight': + h_capcodeClass = ' capcodeAdmin'; + h_capcodeStart = ' ## Admin'; + h_capcodeIcon = " "; + break; + case 'mod': + h_capcodeClass = ' capcodeMod'; + h_capcodeStart = ' ## Mod'; + h_capcodeIcon = " "; + break; + case 'developer': + h_capcodeClass = ' capcodeDeveloper'; + h_capcodeStart = ' ## Developer'; + h_capcodeIcon = " "; + break; + default: + h_capcodeClass = ''; + h_capcodeStart = ''; + h_capcodeIcon = ''; + } + if (!capcode && uniqueID) { + h_userID = " (ID: " + (E(uniqueID)) + ") "; + } else { + h_userID = ''; + } + if (!flagCode) { + h_flag = ''; + } else if (boardID === 'pol') { + h_flag = " " + (E(flagCode)) + ""; + } else { + h_flag = " "; + } + if (file != null ? file.isDeleted : void 0) { + if (isOP) { + h_file = "
"; + h_file += "File deleted."; + h_file += '
'; + } else { + h_file = "
"; + h_file += "File deleted."; + h_file += '
'; + } + } else if (file) { + fileSize = $.bytesToString(file.size); + fileThumb = file.turl; + if (file.isSpoiler) { + fileSize = "Spoiler Image, " + fileSize; + if (!isArchived) { + fileThumb = "" + h_staticPath + "spoiler"; + if (spoilerRange = Build.spoilerRange[boardID]) { + fileThumb += ("-" + boardID) + Math.floor(1 + spoilerRange * Math.random()); + } + fileThumb += '.png'; + file.twidth = file.theight = 100; + } + } + shortFilename = Build.shortFilename(file.name); + if (boardID === 'f') { + h_imgSrc = ''; + } else { + h_imgSrc = ""; + h_imgSrc += "" + (E(fileSize)) + ""; + h_imgSrc += ''; + } + if (file.url.slice(-4) === '.pdf') { + h_fileDims = 'PDF'; + } else { + h_fileDims = "" + (+file.width) + "x" + (+file.height); + } + h_fileInfo = "
" + (E(file.timestamp)) + ""; + h_fileInfo += "-(" + (E(fileSize)) + ", " + h_fileDims; + if (!file.isSpoiler) { + h_fileInfo += ", " + (E(shortFilename)) + ""; + } + h_fileInfo += ')
'; + h_file = "
" + h_fileInfo + h_imgSrc + "
"; + } else { + h_file = ''; + } + if (g.VIEW === 'thread' && g.THREADID === +threadID) { + h_quoteLink = "javascript:quote(" + (+postID) + ")"; + } else { + h_quoteLink = "/" + (E(boardID)) + "/thread/" + (+threadID) + "\#q" + (+postID); + } + if (isSticky) { + h_sticky = " Sticky"; + } else { + h_sticky = ''; + } + if (isClosed) { + h_closed = " Closed"; + } else { + h_closed = ''; + } + if (isOP && g.VIEW === 'index' && Conf['JSON Navigation']) { + pageNum = Math.floor(Index.liveThreadIDs.indexOf(postID) / Index.threadsNumPerPage) + 1; + h_pageIcon = " [" + (+pageNum) + "]"; + } else { + h_pageIcon = ''; + } + if (isOP && g.VIEW === 'index') { + h_replyLink = "   [Reply]"; + } else { + h_replyLink = ''; + } + container = $.el('div', { + id: "pc" + postID, + className: "postContainer " + (isOP ? 'op' : 'reply') + "Container", + innerHTML: "" + h_sideArrows + "
" + (isOP ? h_file : '') + "" + (isOP ? '' : h_file) + "
" + h_comment + "
" + ' ' + "
" + }); + _ref = $$('.quotelink', container); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quote = _ref[_i]; + href = quote.getAttribute('href'); + if (href[0] === '/') { + continue; + } + if (href[0] === '#') { + quote.href = "/" + boardID + "/thread/" + threadID + href; + } else { + quote.href = "/" + boardID + "/thread/" + href; + } + } + return container; + }, + summary: function(boardID, threadID, posts, files) { + var text; + text = []; + text.push("" + posts + " post" + (posts > 1 ? 's' : '')); + if (files) { + text.push("and " + files + " image repl" + (files > 1 ? 'ies' : 'y')); + } + text.push('omitted.'); + return $.el('a', { + className: 'summary', + textContent: text.join(' '), + href: "/" + boardID + "/thread/" + threadID + }); + }, + thread: function(board, data, full) { + var OP, root; + Build.spoilerRange[board] = data.custom_spoiler; + if ((OP = board.posts[data.no]) && (root = OP.nodes.root.parentNode)) { + $.rmAll(root); + } else { + root = $.el('div', { + className: 'thread', + id: "t" + data.no + }); + } + $.add(root, Build[full ? 'fullThread' : 'excerptThread'](board, data, OP)); + return root; + }, + excerptThread: function(board, data, OP) { + var files, nodes, posts, _ref; + nodes = [OP ? OP.nodes.root : Build.postFromObject(data, board.ID)]; + if (data.omitted_posts || !Conf['Show Replies'] && data.replies) { + _ref = Conf['Show Replies'] ? [data.omitted_posts, data.omitted_images] : [ + data.replies, data.omitted_images + data.last_replies.filter(function(data) { + return !!data.ext; + }).length + ], posts = _ref[0], files = _ref[1]; + nodes.push(Build.summary(board.ID, data.no, posts, files)); + } + return nodes; + }, + fullThread: function(board, data) { + return Build.postFromObject(data, board.ID); + } + }; + + Get = { + threadExcerpt: function(thread) { + var OP, excerpt, _ref; + OP = thread.OP; + excerpt = ("/" + thread.board + "/ - ") + (((_ref = OP.info.subject) != null ? _ref.trim() : void 0) || OP.info.comment.replace(/\n+/g, ' // ') || Conf['Anonymize'] && 'Anonymous' || $('.nameBlock', OP.nodes.info).textContent.trim()); + if (excerpt.length > 73) { + return "" + excerpt.slice(0, 70) + "..."; + } + return excerpt; + }, + threadFromRoot: function(root) { + return g.threads["" + g.BOARD + "." + root.id.slice(1)]; + }, + threadFromNode: function(node) { + return Get.threadFromRoot($.x('ancestor::div[@class="thread"]', node)); + }, + postFromRoot: function(root) { + var boardID, index, link, post, postID; + link = $('a[title="Link to this post"]', root); + boardID = link.pathname.split('/')[1]; + postID = link.hash.slice(2); + index = root.dataset.clone; + post = g.posts["" + boardID + "." + postID]; + if (index) { + return post.clones[index]; + } else { + return post; + } + }, + postFromNode: function(root) { + return Get.postFromRoot($.x('(ancestor::div[contains(@class,"postContainer")][1]|following::div[contains(@class,"postContainer")][1])', root)); + }, + contextFromNode: function(node) { + return Get.postFromRoot($.x('ancestor::div[parent::div[@class="thread"]][1]', node)); + }, + postDataFromLink: function(link) { + var boardID, path, postID, threadID, _ref; + if (link.hostname === 'boards.4chan.org') { + path = link.pathname.split('/'); + boardID = path[1]; + threadID = path[3]; + postID = link.hash.slice(2); + } else { + _ref = link.dataset, boardID = _ref.boardID, threadID = _ref.threadID, postID = _ref.postID; + threadID || (threadID = 0); + } + return { + boardID: boardID, + threadID: +threadID, + postID: +postID + }; + }, + allQuotelinksLinkingTo: function(post) { + var fullID, handleQuotes, posts, qPost, quote, quotelinks, _i, _len, _ref; + quotelinks = []; + posts = g.posts; + fullID = { + post: post + }; + handleQuotes = function(qPost, type) { + var clone, _i, _len, _ref; + quotelinks.push.apply(quotelinks, qPost.nodes[type]); + _ref = qPost.clones; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + clone = _ref[_i]; + quotelinks.push.apply(quotelinks, clone.nodes[type]); + } + }; + posts.forEach(function(qPost) { + if (__indexOf.call(qPost.quotes, fullID) >= 0) { + return handleQuotes(qPost, 'quotelinks'); + } + }); + if (Conf['Quote Backlinks']) { + _ref = post.quotes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quote = _ref[_i]; + if (qPost = posts[quote]) { + handleQuotes(qPost, 'backlinks'); + } + } + } + return quotelinks.filter(function(quotelink) { + var boardID, postID, _ref1; + _ref1 = Get.postDataFromLink(quotelink), boardID = _ref1.boardID, postID = _ref1.postID; + return boardID === post.board.ID && postID === post.ID; + }); + }, + postClone: function(boardID, threadID, postID, root, context) { + var post, url; + if (post = g.posts["" + boardID + "." + postID]) { + Get.insert(post, root, context); + return; + } + root.textContent = "Loading post No." + postID + "..."; + if (threadID) { + return $.cache("//a.4cdn.org/" + boardID + "/thread/" + threadID + ".json", function() { + return Get.fetchedPost(this, boardID, threadID, postID, root, context); + }); + } else if (url = Redirect.to('post', { + boardID: boardID, + postID: postID + })) { + return $.cache(url, function() { + return Get.archivedPost(this, boardID, postID, root, context); + }, { + responseType: 'json', + withCredentials: url.archive.withCredentials + }); + } + }, + insert: function(post, root, context) { + var clone, nodes; + if (!root.parentNode) { + return; + } + clone = post.addClone(context, $.hasClass(root, 'dialog')); + Main.callbackNodes(Clone, [clone]); + nodes = clone.nodes; + $.rmAll(nodes.root); + $.add(nodes.root, nodes.post); + $.rmAll(root); + return $.add(root, nodes.root); + }, + fetchedPost: function(req, boardID, threadID, postID, root, context) { + var board, post, posts, status, thread, url, _i, _len; + if (post = g.posts["" + boardID + "." + postID]) { + Get.insert(post, root, context); + return; + } + status = req.status; + if (status !== 200 && status !== 304) { + if (url = Redirect.to('post', { + boardID: boardID, + postID: postID + })) { + $.cache(url, function() { + return Get.archivedPost(this, boardID, postID, root, context); + }, { + responseType: 'json', + withCredentials: url.archive.withCredentials + }); + } else { + $.addClass(root, 'warning'); + root.textContent = status === 404 ? "Thread No." + threadID + " 404'd." : "Error " + req.statusText + " (" + req.status + ")."; + } + return; + } + posts = req.response.posts; + Build.spoilerRange[boardID] = posts[0].custom_spoiler; + for (_i = 0, _len = posts.length; _i < _len; _i++) { + post = posts[_i]; + if (post.no === postID) { + break; + } + } + if (post.no !== postID) { + if (url = Redirect.to('post', { + boardID: boardID, + postID: postID + })) { + $.cache(url, function() { + return Get.archivedPost(this, boardID, postID, root, context); + }, { + withCredentials: url.archive.withCredentials + }); + } else { + $.addClass(root, 'warning'); + root.textContent = "Post No." + postID + " was not found."; + } + return; + } + board = g.boards[boardID] || new Board(boardID); + thread = g.threads["" + boardID + "." + threadID] || new Thread(threadID, board); + post = new Post(Build.postFromObject(post, boardID), thread, board); + Main.callbackNodes(Post, [post]); + return Get.insert(post, root, context); + }, + archivedPost: function(req, boardID, postID, root, context) { + var board, data, h_comment, o, post, thread, threadID, _ref; + if (post = g.posts["" + boardID + "." + postID]) { + Get.insert(post, root, context); + return; + } + data = req.response; + if (data.error) { + $.addClass(root, 'warning'); + root.textContent = data.error; + return; + } + h_comment = Build.h_escape(data.comment || ''); + h_comment = h_comment.replace(/\n|\[\/?[a-z]+(:lit)?\]/g, Get.parseMarkup); + h_comment = h_comment.replace(/(^|>)(>[^<$]*)(<|$)/g, '$1$2$3').replace(/((>){2}(>\/[a-z\d]+\/)?\d+)/g, '$1'); + threadID = +data.thread_num; + o = { + postID: postID, + threadID: threadID, + boardID: boardID, + name: data.name, + capcode: (function() { + switch (data.capcode) { + case 'M': + return 'mod'; + case 'A': + return 'admin'; + case 'D': + return 'developer'; + } + })(), + tripcode: data.trip, + uniqueID: data.poster_hash, + email: data.email || '', + subject: data.title, + flagCode: data.poster_country, + flagName: data.poster_country_name, + date: data.fourchan_date, + dateUTC: data.timestamp, + h_comment: h_comment + }; + if ((_ref = data.media) != null ? _ref.media_filename : void 0) { + o.file = { + name: data.media.media_filename, + timestamp: data.media.media_orig, + url: data.media.media_link || data.media.remote_media_link, + height: data.media.media_h, + width: data.media.media_w, + MD5: data.media.media_hash, + size: data.media.media_size, + turl: data.media.thumb_link || ("//t.4cdn.org/" + boardID + "/" + data.media.preview_orig), + theight: data.media.preview_h, + twidth: data.media.preview_w, + isSpoiler: data.media.spoiler === '1' + }; + } + board = g.boards[boardID] || new Board(boardID); + thread = g.threads["" + boardID + "." + threadID] || new Thread(threadID, board); + post = new Post(Build.post(o, true), thread, board, { + isArchived: true + }); + Main.callbackNodes(Post, [post]); + return Get.insert(post, root, context); + }, + parseMarkup: function(text) { + return { + '\n': '
', + '[b]': '', + '[/b]': '', + '[spoiler]': '', + '[/spoiler]': '', + '[code]': '
',
+        '[/code]': '
', + '[moot]': '
', + '[/moot]': '
', + '[banned]': '', + '[/banned]': '' + }[text] || text.replace(':lit', ''); + } + }; + + UI = (function() { + var Menu, checkbox, dialog, drag, dragend, dragstart, hover, hoverend, hoverstart, touchend, touchmove; + dialog = function(id, position, properties) { + var child, el, move, _i, _len, _ref; + el = $.el('div', { + className: 'dialog', + id: id + }); + $.extend(el, properties); + el.style.cssText = position; + $.get("" + id + ".position", position, function(item) { + return el.style.cssText = item["" + id + ".position"]; + }); + move = $('.move', el); + $.on(move, 'touchstart mousedown', dragstart); + _ref = move.children; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + child = _ref[_i]; + if (!child.tagName) { + continue; + } + $.on(child, 'touchstart mousedown', function(e) { + return e.stopPropagation(); + }); + } + return el; + }; + Menu = (function() { + var currentMenu, lastToggledButton; + + currentMenu = null; + + lastToggledButton = null; + + function Menu(type) { + this.type = type; + this.rmEntry = __bind(this.rmEntry, this); + this.addEntry = __bind(this.addEntry, this); + this.onFocus = __bind(this.onFocus, this); + this.keybinds = __bind(this.keybinds, this); + this.close = __bind(this.close, this); + $.on(d, 'AddMenuEntry', this.addEntry); + $.on(d, 'rmMenuEntry', this.rmEntry); + this.entries = []; + } + + Menu.prototype.makeMenu = function() { + var menu; + menu = $.el('div', { + className: 'dialog', + id: 'menu', + tabIndex: 0 + }); + $.on(menu, 'click', function(e) { + return e.stopPropagation(); + }); + $.on(menu, 'keydown', this.keybinds); + return menu; + }; + + Menu.prototype.toggle = function(e, button, data) { + var previousButton; + e.preventDefault(); + e.stopPropagation(); + if (currentMenu) { + previousButton = lastToggledButton; + this.close(); + if (previousButton === button) { + return; + } + } + if (!this.entries.length) { + return; + } + return this.open(button, data); + }; + + Menu.prototype.open = function(button, data) { + var bLeft, bRect, bTop, bottom, cHeight, cWidth, entry, left, mRect, menu, right, style, top, _i, _len, _ref, _ref1, _ref2; + menu = this.makeMenu(); + currentMenu = menu; + lastToggledButton = button; + this.entries.sort(function(first, second) { + return first.order - second.order; + }); + _ref = this.entries; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + entry = _ref[_i]; + this.insertEntry(entry, menu, data); + } + $.addClass(lastToggledButton, 'active'); + $.on(d, 'click', this.close); + $.on(d, 'CloseMenu', this.close); + $.add(Header.hover, menu); + mRect = menu.getBoundingClientRect(); + bRect = button.getBoundingClientRect(); + bTop = window.scrollY + bRect.top; + bLeft = window.scrollX + bRect.left; + cHeight = doc.clientHeight; + cWidth = doc.clientWidth; + _ref1 = bRect.top + bRect.height + mRect.height < cHeight ? [bRect.bottom, null] : [null, cHeight - bRect.top], top = _ref1[0], bottom = _ref1[1]; + _ref2 = bRect.left + mRect.width < cWidth ? [bRect.left, null] : [null, cWidth - bRect.right], left = _ref2[0], right = _ref2[1]; + style = menu.style; + style.top = "" + top + "px"; + style.right = "" + right + "px"; + style.bottom = "" + bottom + "px"; + style.left = "" + left + "px"; + if (right) { + $.addClass(menu, 'left'); + } + entry = $('.entry', menu); + this.focus(entry); + return menu.focus(); + }; + + Menu.prototype.insertEntry = function(entry, parent, data) { + var subEntry, submenu, _i, _len, _ref; + if (typeof entry.open === 'function') { + if (!entry.open(data)) { + return; + } + } + $.add(parent, entry.el); + if (!entry.subEntries) { + return; + } + if (submenu = $('.submenu', entry.el)) { + $.rm(submenu); + } + submenu = $.el('div', { + className: 'dialog submenu' + }); + _ref = entry.subEntries; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + subEntry = _ref[_i]; + this.insertEntry(subEntry, submenu, data); + } + $.add(entry.el, submenu); + }; + + Menu.prototype.close = function() { + $.rm(currentMenu); + $.rmClass(lastToggledButton, 'active'); + currentMenu = null; + lastToggledButton = null; + return $.off(d, 'click CloseMenu', this.close); + }; + + Menu.prototype.findNextEntry = function(entry, direction) { + var entries; + entries = __slice.call(entry.parentNode.children); + entries.sort(function(first, second) { + return first.style.order - second.style.order; + }); + return entries[entries.indexOf(entry) + direction]; + }; + + Menu.prototype.keybinds = function(e) { + var entry, next, nextPrev, subEntry, submenu; + entry = $('.focused', currentMenu); + while (subEntry = $('.focused', entry)) { + entry = subEntry; + } + switch (e.keyCode) { + case 27: + lastToggledButton.focus(); + this.close(); + break; + case 13: + case 32: + entry.click(); + break; + case 38: + if (next = this.findNextEntry(entry, -1)) { + this.focus(next); + } + break; + case 40: + if (next = this.findNextEntry(entry, +1)) { + this.focus(next); + } + break; + case 39: + if ((submenu = $('.submenu', entry)) && (next = submenu.firstElementChild)) { + while (nextPrev = this.findNextEntry(next, -1)) { + next = nextPrev; + } + this.focus(next); + } + break; + case 37: + if (next = $.x('parent::*[contains(@class,"submenu")]/parent::*', entry)) { + this.focus(next); + } + break; + default: + return; + } + e.preventDefault(); + return e.stopPropagation(); + }; + + Menu.prototype.onFocus = function(e) { + e.stopPropagation(); + return this.focus(e.target); + }; + + Menu.prototype.focus = function(entry) { + var bottom, cHeight, cWidth, eRect, focused, left, right, sRect, style, submenu, top, _i, _len, _ref, _ref1, _ref2; + while (focused = $.x('parent::*/child::*[contains(@class,"focused")]', entry)) { + $.rmClass(focused, 'focused'); + } + _ref = $$('.focused', entry); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + focused = _ref[_i]; + $.rmClass(focused, 'focused'); + } + $.addClass(entry, 'focused'); + if (!(submenu = $('.submenu', entry))) { + return; + } + sRect = submenu.getBoundingClientRect(); + eRect = entry.getBoundingClientRect(); + cHeight = doc.clientHeight; + cWidth = doc.clientWidth; + _ref1 = eRect.top + sRect.height < cHeight ? ['0px', 'auto'] : ['auto', '0px'], top = _ref1[0], bottom = _ref1[1]; + _ref2 = eRect.right + sRect.width < cWidth - 150 ? ['100%', 'auto'] : ['auto', '100%'], left = _ref2[0], right = _ref2[1]; + style = submenu.style; + style.top = top; + style.bottom = bottom; + style.left = left; + return style.right = right; + }; + + Menu.prototype.addEntry = function(e) { + var entry; + entry = e.detail; + if (entry.type !== this.type) { + return; + } + this.parseEntry(entry); + return this.entries.push(entry); + }; + + Menu.prototype.rmEntry = function(e) { + var entry, index; + entry = e.detail; + if (entry.type !== this.type) { + return; + } + index = this.entries.indexOf(entry); + return this.entries.splice(index, 1); + }; + + Menu.prototype.parseEntry = function(entry) { + var el, subEntries, subEntry, _i, _len; + el = entry.el, subEntries = entry.subEntries; + $.addClass(el, 'entry'); + $.on(el, 'focus mouseover', this.onFocus); + el.style.order = entry.order || 100; + if (!subEntries) { + return; + } + $.addClass(el, 'has-submenu'); + for (_i = 0, _len = subEntries.length; _i < _len; _i++) { + subEntry = subEntries[_i]; + this.parseEntry(subEntry); + } + }; + + return Menu; + + })(); + dragstart = function(e) { + var el, isTouching, o, rect, screenHeight, screenWidth, _ref; + if (e.type === 'mousedown' && e.button !== 0) { + return; + } + e.preventDefault(); + if (isTouching = e.type === 'touchstart') { + e = e.changedTouches[e.changedTouches.length - 1]; + } + el = $.x('ancestor::div[contains(@class,"dialog")][1]', this); + rect = el.getBoundingClientRect(); + screenHeight = doc.clientHeight; + screenWidth = doc.clientWidth; + o = { + id: el.id, + style: el.style, + dx: e.clientX - rect.left, + dy: e.clientY - rect.top, + height: screenHeight - rect.height, + width: screenWidth - rect.width, + screenHeight: screenHeight, + screenWidth: screenWidth, + isTouching: isTouching + }; + _ref = Conf['Header auto-hide'] || !Conf['Fixed Header'] ? [0, 0] : Conf['Bottom Header'] ? [0, Header.bar.getBoundingClientRect().height] : [Header.bar.getBoundingClientRect().height, 0], o.topBorder = _ref[0], o.bottomBorder = _ref[1]; + if (isTouching) { + o.identifier = e.identifier; + o.move = touchmove.bind(o); + o.up = touchend.bind(o); + $.on(d, 'touchmove', o.move); + return $.on(d, 'touchend touchcancel', o.up); + } else { + o.move = drag.bind(o); + o.up = dragend.bind(o); + $.on(d, 'mousemove', o.move); + return $.on(d, 'mouseup', o.up); + } + }; + touchmove = function(e) { + var touch, _i, _len, _ref; + _ref = e.changedTouches; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + touch = _ref[_i]; + if (touch.identifier === this.identifier) { + drag.call(this, touch); + return; + } + } + }; + drag = function(e) { + var bottom, clientX, clientY, left, right, style, top; + clientX = e.clientX, clientY = e.clientY; + left = clientX - this.dx; + left = left < 10 ? 0 : this.width - left < 10 ? null : left / this.screenWidth * 100 + '%'; + top = clientY - this.dy; + top = top < (10 + this.topBorder) ? this.topBorder + 'px' : this.height - top < (10 + this.bottomBorder) ? null : top / this.screenHeight * 100 + '%'; + right = left === null ? 0 : null; + bottom = top === null ? this.bottomBorder + 'px' : null; + style = this.style; + style.left = left; + style.right = right; + style.top = top; + return style.bottom = bottom; + }; + touchend = function(e) { + var touch, _i, _len, _ref; + _ref = e.changedTouches; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + touch = _ref[_i]; + if (touch.identifier === this.identifier) { + dragend.call(this); + return; + } + } + }; + dragend = function() { + if (this.isTouching) { + $.off(d, 'touchmove', this.move); + $.off(d, 'touchend touchcancel', this.up); + } else { + $.off(d, 'mousemove', this.move); + $.off(d, 'mouseup', this.up); + } + return $.set("" + this.id + ".position", this.style.cssText); + }; + hoverstart = function(_arg) { + var asapTest, cb, el, endEvents, latestEvent, noRemove, o, root; + root = _arg.root, el = _arg.el, latestEvent = _arg.latestEvent, endEvents = _arg.endEvents, asapTest = _arg.asapTest, cb = _arg.cb, noRemove = _arg.noRemove; + o = { + root: root, + el: el, + style: el.style, + cb: cb, + endEvents: endEvents, + latestEvent: latestEvent, + clientHeight: doc.clientHeight, + clientWidth: doc.clientWidth, + noRemove: noRemove + }; + o.hover = hover.bind(o); + o.hoverend = hoverend.bind(o); + $.asap(function() { + return !el.parentNode || asapTest(); + }, function() { + if (el.parentNode) { + return o.hover(o.latestEvent); + } + }); + $.on(root, endEvents, o.hoverend); + if ($.x('ancestor::div[contains(@class,"inline")][1]', root)) { + $.on(d, 'keydown', o.hoverend); + } + return $.on(root, 'mousemove', o.hover); + }; + hover = function(e) { + var clientX, clientY, height, left, right, style, top, _ref; + this.latestEvent = e; + height = this.el.offsetHeight; + clientX = e.clientX, clientY = e.clientY; + top = clientY - 120; + top = this.clientHeight <= height || top <= 0 ? 0 : top + height >= this.clientHeight ? this.clientHeight - height : top; + _ref = clientX <= this.clientWidth - 400 ? [clientX + 45 + 'px', null] : [null, this.clientWidth - clientX + 45 + 'px'], left = _ref[0], right = _ref[1]; + style = this.style; + style.top = top + 'px'; + style.left = left; + return style.right = right; + }; + hoverend = function(e) { + if (e.type === 'keydown' && e.keyCode !== 13 || e.target.nodeName === "TEXTAREA") { + return; + } + if (!this.noRemove) { + $.rm(this.el); + } + $.off(this.root, this.endEvents, this.hoverend); + $.off(d, 'keydown', this.hoverend); + $.off(this.root, 'mousemove', this.hover); + if (this.cb) { + return this.cb.call(this); + } + }; + checkbox = function(name, text, checked) { + var input, label; + if (checked == null) { + checked = Conf[name]; + } + label = $.el('label'); + input = $.el('input', { + type: 'checkbox', + name: name, + checked: checked + }); + $.add(label, [input, $.tn(text)]); + return label; + }; + return { + dialog: dialog, + Menu: Menu, + hover: hoverstart, + checkbox: checkbox + }; + })(); + + Anonymize = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Anonymize']) { + return; + } + return Post.callbacks.push({ + name: 'Anonymize', + cb: this.node + }); + }, + node: function() { + var email, name, tripcode, _ref; + if (this.info.capcode || this.isClone) { + return; + } + _ref = this.nodes, name = _ref.name, tripcode = _ref.tripcode, email = _ref.email; + if (this.info.name !== 'Anonymous') { + name.textContent = 'Anonymous'; + } + if (tripcode) { + $.rm(tripcode); + delete this.nodes.tripcode; + } + if (this.info.email) { + $.replace(email, name); + return delete this.nodes.email; + } + } + }; + + Filter = { + filters: {}, + init: function() { + var boards, err, filter, hl, key, op, regexp, stub, top, _i, _len, _ref, _ref1, _ref2, _ref3, _ref4, _ref5; + if (g.VIEW === 'catalog' || !Conf['Filter']) { + return; + } + if (!Conf['Filtered Backlinks']) { + $.addClass(doc, 'hide-backlinks'); + } + for (key in Config.filter) { + this.filters[key] = []; + _ref = Conf[key].split('\n'); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + filter = _ref[_i]; + if (filter[0] === '#') { + continue; + } + if (!(regexp = filter.match(/\/(.+)\/(\w*)/))) { + continue; + } + filter = filter.replace(regexp[0], ''); + boards = ((_ref1 = filter.match(/boards:([^;]+)/)) != null ? _ref1[1].toLowerCase() : void 0) || 'global'; + if (boards !== 'global' && (_ref2 = g.BOARD.ID, __indexOf.call(boards.split(','), _ref2) < 0)) { + continue; + } + if (key === 'uniqueID' || key === 'MD5') { + regexp = regexp[1]; + } else { + try { + regexp = RegExp(regexp[1], regexp[2]); + } catch (_error) { + err = _error; + new Notice('warning', err.message, 60); + continue; + } + } + op = ((_ref3 = filter.match(/[^t]op:(yes|no|only)/)) != null ? _ref3[1] : void 0) || 'yes'; + stub = (function() { + var _ref4; + switch ((_ref4 = filter.match(/stub:(yes|no)/)) != null ? _ref4[1] : void 0) { + case 'yes': + return true; + case 'no': + return false; + default: + return Conf['Stubs']; + } + })(); + if (hl = /highlight/.test(filter)) { + hl = ((_ref4 = filter.match(/highlight:(\w+)/)) != null ? _ref4[1] : void 0) || 'filter-highlight'; + top = ((_ref5 = filter.match(/top:(yes|no)/)) != null ? _ref5[1] : void 0) || 'yes'; + top = top === 'yes'; + } + this.filters[key].push(this.createFilter(regexp, op, stub, hl, top)); + } + if (!this.filters[key].length) { + delete this.filters[key]; + } + } + if (!Object.keys(this.filters).length) { + return; + } + return Post.callbacks.push({ + name: 'Filter', + cb: this.node + }); + }, + createFilter: function(regexp, op, stub, hl, top) { + var settings, test; + test = typeof regexp === 'string' ? function(value) { + return regexp === value; + } : function(value) { + return regexp.test(value); + }; + settings = { + hide: !hl, + stub: stub, + "class": hl, + top: top + }; + return function(value, isReply) { + if (isReply && op === 'only' || !isReply && op === 'no') { + return false; + } + if (!test(value)) { + return false; + } + return settings; + }; + }, + node: function() { + var filter, key, result, value, _i, _len, _ref; + if (this.isClone) { + return; + } + for (key in Filter.filters) { + value = Filter[key](this); + if (value === false) { + continue; + } + _ref = Filter.filters[key]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + filter = _ref[_i]; + if (!(result = filter(value, this.isReply))) { + continue; + } + if (result.hide) { + if (this.isReply) { + PostHiding.hide(this, result.stub); + } else if (g.VIEW === 'index') { + ThreadHiding.hide(this.thread, result.stub); + } else { + continue; + } + return; + } + $.addClass(this.nodes.root, result["class"]); + if (!this.isReply && result.top) { + this.thread.isOnTop = true; + } + } + } + }, + name: function(post) { + if ('name' in post.info) { + return post.info.name; + } + return false; + }, + uniqueID: function(post) { + if ('uniqueID' in post.info) { + return post.info.uniqueID; + } + return false; + }, + tripcode: function(post) { + if ('tripcode' in post.info) { + return post.info.tripcode; + } + return false; + }, + capcode: function(post) { + if ('capcode' in post.info) { + return post.info.capcode; + } + return false; + }, + email: function(post) { + if ('email' in post.info) { + return post.info.email; + } + return false; + }, + subject: function(post) { + if ('subject' in post.info) { + return post.info.subject || false; + } + return false; + }, + comment: function(post) { + if ('comment' in post.info) { + return post.info.comment; + } + return false; + }, + flag: function(post) { + if ('flag' in post.info) { + return post.info.flag; + } + return false; + }, + filename: function(post) { + if (post.file) { + return post.file.name; + } + return false; + }, + dimensions: function(post) { + if (post.file && post.file.isImage) { + return post.file.dimensions; + } + return false; + }, + filesize: function(post) { + if (post.file) { + return post.file.size; + } + return false; + }, + MD5: function(post) { + if (post.file) { + return post.file.MD5; + } + return false; + }, + menu: { + init: function() { + var div, entry, type, _i, _len, _ref; + if (g.VIEW === 'catalog' || !Conf['Menu'] || !Conf['Filter']) { + return; + } + div = $.el('div', { + textContent: 'Filter' + }); + entry = { + type: 'post', + el: div, + order: 50, + open: function(post) { + Filter.menu.post = post; + return true; + }, + subEntries: [] + }; + _ref = [['Name', 'name'], ['Unique ID', 'uniqueID'], ['Tripcode', 'tripcode'], ['Capcode', 'capcode'], ['E-mail', 'email'], ['Subject', 'subject'], ['Comment', 'comment'], ['Flag', 'flag'], ['Filename', 'filename'], ['Image dimensions', 'dimensions'], ['Filesize', 'filesize'], ['Image MD5', 'MD5']]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + entry.subEntries.push(Filter.menu.createSubEntry(type[0], type[1])); + } + return $.event('AddMenuEntry', entry); + }, + createSubEntry: function(text, type) { + var el; + el = $.el('a', { + href: 'javascript:;', + textContent: text + }); + el.dataset.type = type; + $.on(el, 'click', Filter.menu.makeFilter); + return { + el: el, + open: function(post) { + var value; + value = Filter[type](post); + return value !== false; + } + }; + }, + makeFilter: function() { + var re, type, value; + type = this.dataset.type; + value = Filter[type](Filter.menu.post); + re = type === 'uniqueID' || type === 'MD5' ? value : value.replace(/\/|\\|\^|\$|\n|\.|\(|\)|\{|\}|\[|\]|\?|\*|\+|\|/g, function(c) { + if (c === '\n') { + return '\\n'; + } else if (c === '\\') { + return '\\\\'; + } else { + return "\\" + c; + } + }); + re = type === 'uniqueID' || type === 'MD5' ? "/" + re + "/" : "/^" + re + "$/"; + return $.get(type, Conf[type], function(item) { + var save, section, select, ta, tl; + save = item[type]; + save = save ? "" + save + "\n" + re : re; + $.set(type, save); + Settings.open('Filter'); + section = $('.section-container'); + select = $('select[name=filter]', section); + select.value = type; + Settings.selectFilter.call(select); + ta = $('textarea', section); + tl = ta.textLength; + ta.setSelectionRange(tl, tl); + return ta.focus(); + }); + } + } + }; + + PostHiding = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Reply Hiding Buttons'] && !Conf['Reply Hiding Link']) { + return; + } + if (Conf['Reply Hiding Buttons']) { + $.addClass(doc, "reply-hide"); + } + this.db = new DataBoard('hiddenPosts'); + return Post.callbacks.push({ + name: 'Reply Hiding', + cb: this.node + }); + }, + node: function() { + var data; + if (!this.isReply || this.isClone) { + return; + } + if (data = PostHiding.db.get({ + boardID: this.board.ID, + threadID: this.thread.ID, + postID: this.ID + })) { + if (data.thisPost) { + PostHiding.hide(this, data.makeStub, data.hideRecursively); + } else { + Recursive.apply(PostHiding.hide, this, data.makeStub, true); + Recursive.add(PostHiding.hide, this, data.makeStub, true); + } + } + if (!Conf['Reply Hiding Buttons']) { + return; + } + return $.replace($('.sideArrows', this.nodes.root), PostHiding.makeButton(this, 'hide')); + }, + menu: { + init: function() { + var apply, div, hideStubLink, makeStub, replies, thisPost; + if (g.VIEW === 'catalog' || !Conf['Menu'] || !Conf['Reply Hiding Link']) { + return; + } + div = $.el('div', { + className: 'hide-reply-link', + textContent: 'Hide reply' + }); + apply = $.el('a', { + textContent: 'Apply', + href: 'javascript:;' + }); + $.on(apply, 'click', PostHiding.menu.hide); + thisPost = UI.checkbox('thisPost', ' This post', true); + replies = UI.checkbox('replies', ' Hide replies', Conf['Recursive Hiding']); + makeStub = UI.checkbox('makeStub', ' Make stub', Conf['Stubs']); + $.event('AddMenuEntry', { + type: 'post', + el: div, + order: 20, + open: function(post) { + if (!post.isReply || post.isClone || post.isHidden) { + return false; + } + PostHiding.menu.post = post; + return true; + }, + subEntries: [ + { + el: apply + }, { + el: thisPost + }, { + el: replies + }, { + el: makeStub + } + ] + }); + div = $.el('div', { + className: 'show-reply-link', + textContent: 'Show reply' + }); + apply = $.el('a', { + textContent: 'Apply', + href: 'javascript:;' + }); + $.on(apply, 'click', PostHiding.menu.show); + thisPost = UI.checkbox('thisPost', ' This post', false); + replies = UI.checkbox('replies', ' Show replies', false); + hideStubLink = $.el('a', { + textContent: 'Hide stub', + href: 'javascript:;' + }); + $.on(hideStubLink, 'click', PostHiding.menu.hideStub); + $.event('AddMenuEntry', { + type: 'post', + el: div, + order: 20, + open: function(post) { + var data; + if (!post.isReply || post.isClone || !post.isHidden) { + return false; + } + if (!(data = PostHiding.db.get({ + boardID: post.board.ID, + threadID: post.thread.ID, + postID: post.ID + }))) { + return false; + } + PostHiding.menu.post = post; + thisPost.firstChild.checked = post.isHidden; + replies.firstChild.checked = (data != null ? data.hideRecursively : void 0) != null ? data.hideRecursively : Conf['Recursive Hiding']; + return true; + }, + subEntries: [ + { + el: apply + }, { + el: thisPost + }, { + el: replies + } + ] + }); + return $.event('AddMenuEntry', { + type: 'post', + el: hideStubLink, + order: 15, + open: function(post) { + var data; + if (!post.isReply || post.isClone || !post.isHidden) { + return false; + } + if (!(data = PostHiding.db.get({ + boardID: post.board.ID, + threadID: post.thread.ID, + postID: post.ID + }))) { + return false; + } + return PostHiding.menu.post = post; + } + }); + }, + hide: function() { + var makeStub, parent, post, replies, thisPost; + parent = this.parentNode; + thisPost = $('input[name=thisPost]', parent).checked; + replies = $('input[name=replies]', parent).checked; + makeStub = $('input[name=makeStub]', parent).checked; + post = PostHiding.menu.post; + if (thisPost) { + PostHiding.hide(post, makeStub, replies); + } else if (replies) { + Recursive.apply(PostHiding.hide, post, makeStub, true); + Recursive.add(PostHiding.hide, post, makeStub, true); + } else { + return; + } + PostHiding.saveHiddenState(post, true, thisPost, makeStub, replies); + return $.event('CloseMenu'); + }, + show: function() { + var data, parent, post, replies, thisPost; + parent = this.parentNode; + thisPost = $('input[name=thisPost]', parent).checked; + replies = $('input[name=replies]', parent).checked; + post = PostHiding.menu.post; + if (thisPost) { + PostHiding.show(post, replies); + } else if (replies) { + Recursive.apply(PostHiding.show, post, true); + Recursive.rm(PostHiding.hide, post, true); + } else { + return; + } + if (data = PostHiding.db.get({ + boardID: post.board.ID, + threadID: post.thread.ID, + postID: post.ID + })) { + PostHiding.saveHiddenState(post, !(thisPost && replies), !thisPost, data.makeStub, !replies); + } + return $.event('CloseMenu'); + }, + hideStub: function() { + var post; + post = PostHiding.menu.post; + post.nodes.root.hidden = true; + $.event('CloseMenu'); + } + }, + makeButton: function(post, type) { + var a, span; + span = $.el('span', { + className: "fa fa-" + (type === 'hide' ? 'minus' : 'plus') + "-square-o", + textContent: "" + }); + a = $.el('a', { + className: "" + type + "-reply-button", + href: 'javascript:;' + }); + $.add(a, span); + $.on(a, 'click', PostHiding.toggle); + return a; + }, + saveHiddenState: function(post, isHiding, thisPost, makeStub, hideRecursively) { + var data; + data = { + boardID: post.board.ID, + threadID: post.thread.ID, + postID: post.ID + }; + if (isHiding) { + data.val = { + thisPost: thisPost !== false, + makeStub: makeStub, + hideRecursively: hideRecursively + }; + return PostHiding.db.set(data); + } else { + return PostHiding.db["delete"](data); + } + }, + toggle: function() { + var post; + post = Get.postFromNode(this); + PostHiding[(post.isHidden ? 'show' : 'hide')](post); + return PostHiding.saveHiddenState(post, post.isHidden); + }, + hide: function(post, makeStub, hideRecursively) { + var a, postInfo, quotelink, _i, _len, _ref; + if (makeStub == null) { + makeStub = Conf['Stubs']; + } + if (hideRecursively == null) { + hideRecursively = Conf['Recursive Hiding']; + } + if (post.isHidden) { + return; + } + post.isHidden = true; + if (hideRecursively) { + Recursive.apply(PostHiding.hide, post, makeStub, true); + Recursive.add(PostHiding.hide, post, makeStub, true); + } + _ref = Get.allQuotelinksLinkingTo(post); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quotelink = _ref[_i]; + $.addClass(quotelink, 'filtered'); + } + if (!makeStub) { + post.nodes.root.hidden = true; + return; + } + a = PostHiding.makeButton(post, 'show'); + postInfo = Conf['Anonymize'] ? 'Anonymous' : $('.nameBlock', post.nodes.info).textContent; + $.add(a, $.tn(" " + postInfo)); + post.nodes.stub = $.el('div', { + className: 'stub' + }); + $.add(post.nodes.stub, a); + if (Conf['Menu']) { + $.add(post.nodes.stub, Menu.makeButton()); + } + return $.prepend(post.nodes.root, post.nodes.stub); + }, + show: function(post, showRecursively) { + var quotelink, _i, _len, _ref; + if (showRecursively == null) { + showRecursively = Conf['Recursive Hiding']; + } + if (post.nodes.stub) { + $.rm(post.nodes.stub); + delete post.nodes.stub; + } else { + post.nodes.root.hidden = false; + } + post.isHidden = false; + if (showRecursively) { + Recursive.apply(PostHiding.show, post, true); + Recursive.rm(PostHiding.hide, post); + } + _ref = Get.allQuotelinksLinkingTo(post); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quotelink = _ref[_i]; + $.rmClass(quotelink, 'filtered'); + } + } + }; + + Recursive = { + recursives: {}, + init: function() { + if (g.VIEW === 'catalog') { + return; + } + return Post.callbacks.push({ + name: 'Recursive', + cb: this.node + }); + }, + node: function() { + var i, obj, quote, recursive, _i, _j, _len, _len1, _ref, _ref1; + if (this.isClone) { + return; + } + _ref = this.quotes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quote = _ref[_i]; + if (obj = Recursive.recursives[quote]) { + _ref1 = obj.recursives; + for (i = _j = 0, _len1 = _ref1.length; _j < _len1; i = ++_j) { + recursive = _ref1[i]; + recursive.apply(null, [this].concat(__slice.call(obj.args[i]))); + } + } + } + }, + add: function() { + var args, obj, post, recursive, _base, _name; + recursive = arguments[0], post = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : []; + obj = (_base = Recursive.recursives)[_name = post.fullID] || (_base[_name] = { + recursives: [], + args: [] + }); + obj.recursives.push(recursive); + return obj.args.push(args); + }, + rm: function(recursive, post) { + var i, obj, rec, _i, _len, _ref; + if (!(obj = Recursive.recursives[post.fullID])) { + return; + } + _ref = obj.recursives; + for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { + rec = _ref[i]; + if (rec === recursive) { + obj.recursives.splice(i, 1); + obj.args.splice(i, 1); + } + } + }, + apply: function() { + var args, fullID, post, recursive; + recursive = arguments[0], post = arguments[1], args = 3 <= arguments.length ? __slice.call(arguments, 2) : []; + fullID = post.fullID; + return g.posts.forEach(function(post) { + if (__indexOf.call(post.quotes, fullID) >= 0) { + return recursive.apply(null, [post].concat(__slice.call(args))); + } + }); + } + }; + + ThreadHiding = { + init: function() { + if (g.VIEW !== 'index' || !Conf['Thread Hiding Buttons'] && !Conf['Thread Hiding Link']) { + return; + } + this.db = new DataBoard('hiddenThreads'); + this.syncCatalog(); + $.on(d, 'IndexBuild', this.onIndexBuild); + return Thread.callbacks.push({ + name: 'Thread Hiding', + cb: this.node + }); + }, + node: function() { + var data; + if (data = ThreadHiding.db.get({ + boardID: this.board.ID, + threadID: this.ID + })) { + ThreadHiding.hide(this, data.makeStub); + } + if (!Conf['Thread Hiding Buttons']) { + return; + } + return $.prepend(this.OP.nodes.root, ThreadHiding.makeButton(this, 'hide')); + }, + onIndexBuild: function(_arg) { + var i, nodes, root, thread, _i, _len; + nodes = _arg.detail; + for (i = _i = 0, _len = nodes.length; _i < _len; i = _i += 2) { + root = nodes[i]; + thread = Get.threadFromRoot(root); + if (!thread.isHidden) { + continue; + } + if (!thread.stub) { + nodes[i + 1].hidden = true; + } else if (!root.contains(thread.stub)) { + ThreadHiding.makeStub(thread, root); + } + } + }, + syncCatalog: function() { + var hiddenThreads, hiddenThreadsOnCatalog, threadID; + hiddenThreads = ThreadHiding.db.get({ + boardID: g.BOARD.ID, + defaultValue: {} + }); + hiddenThreadsOnCatalog = JSON.parse(localStorage.getItem("4chan-hide-t-" + g.BOARD)) || {}; + for (threadID in hiddenThreadsOnCatalog) { + if (!(threadID in hiddenThreads)) { + hiddenThreads[threadID] = {}; + } + } + for (threadID in hiddenThreads) { + if (!(threadID in hiddenThreadsOnCatalog)) { + delete hiddenThreads[threadID]; + } + } + if ((ThreadHiding.db.data.lastChecked || 0) > Date.now() - $.MINUTE) { + ThreadHiding.cleanCatalog(hiddenThreadsOnCatalog); + } + return ThreadHiding.db.set({ + boardID: g.BOARD.ID, + val: hiddenThreads + }); + }, + cleanCatalog: function(hiddenThreadsOnCatalog) { + return $.cache("//a.4cdn.org/" + g.BOARD + "/threads.json", function() { + var page, thread, threads, _i, _j, _len, _len1, _ref, _ref1; + if (this.status !== 200) { + return; + } + threads = {}; + _ref = this.response; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + page = _ref[_i]; + _ref1 = page.threads; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + thread = _ref1[_j]; + if (thread.no in hiddenThreadsOnCatalog) { + threads[thread.no] = hiddenThreadsOnCatalog[thread.no]; + } + } + } + if (Object.keys(threads).length) { + return localStorage.setItem("4chan-hide-t-" + g.BOARD, JSON.stringify(threads)); + } else { + return localStorage.removeItem("4chan-hide-t-" + g.BOARD); + } + }); + }, + menu: { + init: function() { + var apply, div, hideStubLink, makeStub; + if (g.VIEW !== 'index' || !Conf['Menu'] || !Conf['Thread Hiding Link']) { + return; + } + div = $.el('div', { + className: 'hide-thread-link', + textContent: 'Hide thread' + }); + apply = $.el('a', { + textContent: 'Apply', + href: 'javascript:;' + }); + $.on(apply, 'click', ThreadHiding.menu.hide); + makeStub = UI.checkbox('Stubs', ' Make stub'); + $.event('AddMenuEntry', { + type: 'post', + el: div, + order: 20, + open: function(_arg) { + var isReply, thread; + thread = _arg.thread, isReply = _arg.isReply; + if (isReply || thread.isHidden) { + return false; + } + ThreadHiding.menu.thread = thread; + return true; + }, + subEntries: [ + { + el: apply + }, { + el: makeStub + } + ] + }); + div = $.el('a', { + className: 'show-thread-link', + textContent: 'Show thread', + href: 'javascript:;' + }); + $.on(div, 'click', ThreadHiding.menu.show); + $.event('AddMenuEntry', { + type: 'post', + el: div, + order: 20, + open: function(_arg) { + var isReply, thread; + thread = _arg.thread, isReply = _arg.isReply; + if (isReply || !thread.isHidden) { + return false; + } + ThreadHiding.menu.thread = thread; + return true; + } + }); + hideStubLink = $.el('a', { + textContent: 'Hide stub', + href: 'javascript:;' + }); + $.on(hideStubLink, 'click', ThreadHiding.menu.hideStub); + return $.event('AddMenuEntry', { + type: 'post', + el: hideStubLink, + order: 15, + open: function(_arg) { + var isReply, thread; + thread = _arg.thread, isReply = _arg.isReply; + if (isReply || !thread.isHidden) { + return false; + } + return ThreadHiding.menu.thread = thread; + } + }); + }, + hide: function() { + var makeStub, thread; + makeStub = $('input', this.parentNode).checked; + thread = ThreadHiding.menu.thread; + ThreadHiding.hide(thread, makeStub); + ThreadHiding.saveHiddenState(thread, makeStub); + return $.event('CloseMenu'); + }, + show: function() { + var thread; + thread = ThreadHiding.menu.thread; + ThreadHiding.show(thread); + ThreadHiding.saveHiddenState(thread); + return $.event('CloseMenu'); + }, + hideStub: function() { + var thread; + thread = ThreadHiding.menu.thread; + ThreadHiding.hide(thread, false); + $.event('CloseMenu'); + } + }, + makeButton: function(thread, type) { + var a; + a = $.el('a', { + className: "" + type + "-thread-button", + innerHTML: "", + href: 'javascript:;' + }); + a.dataset.fullID = thread.fullID; + $.on(a, 'click', ThreadHiding.toggle); + return a; + }, + makeStub: function(thread, root) { + var a, numReplies, opInfo, summary; + numReplies = $$('.thread > .replyContainer', root).length; + if (summary = $('.summary', root)) { + numReplies += +summary.textContent.match(/\d+/); + } + opInfo = Conf['Anonymize'] ? 'Anonymous' : $('.nameBlock', thread.OP.nodes.info).textContent; + a = ThreadHiding.makeButton(thread, 'show'); + $.add(a, $.tn(" " + opInfo + " (" + (numReplies === 1 ? '1 reply' : "" + numReplies + " replies") + ")")); + thread.stub = $.el('div', { + className: 'stub' + }); + if (Conf['Menu']) { + $.add(thread.stub, [a, Menu.makeButton()]); + } else { + $.add(thread.stub, a); + } + return $.prepend(root, thread.stub); + }, + saveHiddenState: function(thread, makeStub) { + var hiddenThreadsOnCatalog; + hiddenThreadsOnCatalog = JSON.parse(localStorage.getItem("4chan-hide-t-" + g.BOARD)) || {}; + if (thread.isHidden) { + ThreadHiding.db.set({ + boardID: thread.board.ID, + threadID: thread.ID, + val: { + makeStub: makeStub + } + }); + hiddenThreadsOnCatalog[thread] = true; + } else { + ThreadHiding.db["delete"]({ + boardID: thread.board.ID, + threadID: thread.ID + }); + delete hiddenThreadsOnCatalog[thread]; + } + return localStorage.setItem("4chan-hide-t-" + g.BOARD, JSON.stringify(hiddenThreadsOnCatalog)); + }, + toggle: function(thread) { + if (!(thread instanceof Thread)) { + thread = g.threads[this.dataset.fullID]; + } + if (thread.isHidden) { + ThreadHiding.show(thread); + } else { + ThreadHiding.hide(thread); + } + return ThreadHiding.saveHiddenState(thread); + }, + hide: function(thread, makeStub) { + var threadRoot; + if (makeStub == null) { + makeStub = Conf['Stubs']; + } + if (thread.isHidden) { + return; + } + threadRoot = thread.OP.nodes.root.parentNode; + thread.isHidden = true; + if (!makeStub) { + return threadRoot.hidden = threadRoot.nextElementSibling.hidden = true; + } + return ThreadHiding.makeStub(thread, threadRoot); + }, + show: function(thread) { + var threadRoot; + if (thread.stub) { + $.rm(thread.stub); + delete thread.stub; + } + threadRoot = thread.OP.nodes.root.parentNode; + return threadRoot.nextElementSibling.hidden = threadRoot.hidden = thread.isHidden = false; + } + }; + + QuoteBacklink = { + containers: {}, + init: function() { + if (g.VIEW === 'catalog' || !Conf['Quote Backlinks']) { + return; + } + Post.callbacks.push({ + name: 'Quote Backlinking Part 1', + cb: this.firstNode + }); + return Post.callbacks.push({ + name: 'Quote Backlinking Part 2', + cb: this.secondNode + }); + }, + firstNode: function() { + var a, clone, container, containers, hash, link, markYours, nodes, post, quote, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; + if (this.isClone || !this.quotes.length) { + return; + } + markYours = Conf['Quick Reply'] && Conf['Mark Quotes of You'] && QR.db.get({ + boardID: this.board.ID, + threadID: this.thread.ID, + postID: this.ID + }); + a = $.el('a', { + href: "/" + this.board + "/thread/" + this.thread + "#p" + this, + className: this.isHidden ? 'filtered backlink' : 'backlink', + textContent: (Conf['backlink'].replace(/%id/, this.ID)) + (markYours ? '\u00A0(You)' : '') + }); + _ref = this.quotes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quote = _ref[_i]; + containers = [QuoteBacklink.getContainer(quote)]; + if ((post = g.posts[quote]) && post.nodes.backlinkContainer) { + _ref1 = post.clones; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + clone = _ref1[_j]; + containers.push(clone.nodes.backlinkContainer); + } + } + for (_k = 0, _len2 = containers.length; _k < _len2; _k++) { + container = containers[_k]; + nodes = [$.tn(' '), link = a.cloneNode(true)]; + if (Conf['Quote Previewing']) { + $.on(link, 'mouseover', QuotePreview.mouseover); + } + if (Conf['Quote Inlining']) { + $.on(link, 'click', QuoteInline.toggle); + if (Conf['Quote Hash Navigation']) { + hash = QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')); + nodes.push(hash); + } + } + if (Conf['JSON Navigation']) { + if (hash) { + Navigate.singleQuoteLink(hash); + } else if (!Conf['Quote Inlining']) { + Navigate.singleQuoteLink(link); + } + } + $.add(container, nodes); + } + } + }, + secondNode: function() { + var container; + if (this.isClone && (this.origin.isReply || Conf['OP Backlinks'])) { + this.nodes.backlinkContainer = $('.container', this.nodes.info); + return; + } + if (!(this.isReply || Conf['OP Backlinks'])) { + return; + } + container = QuoteBacklink.getContainer(this.fullID); + this.nodes.backlinkContainer = container; + return $.add(this.nodes.info, container); + }, + getContainer: function(id) { + var _base; + return (_base = this.containers)[id] || (_base[id] = $.el('span', { + className: 'container' + })); + } + }; + + QuoteCT = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Mark Cross-thread Quotes']) { + return; + } + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + this.text = '\u00A0(Cross-thread)'; + return Post.callbacks.push({ + name: 'Mark Cross-thread Quotes', + cb: this.node + }); + }, + node: function() { + var board, boardID, quotelink, thread, threadID, _i, _len, _ref, _ref1, _ref2; + if (this.isClone && this.thread === this.context.thread) { + return; + } + _ref = this.isClone ? this.context : this, board = _ref.board, thread = _ref.thread; + _ref1 = this.nodes.quotelinks; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + quotelink = _ref1[_i]; + _ref2 = Get.postDataFromLink(quotelink), boardID = _ref2.boardID, threadID = _ref2.threadID; + if (!threadID) { + continue; + } + if (this.isClone) { + quotelink.textContent = quotelink.textContent.replace(QuoteCT.text, ''); + } + if (boardID === board.ID && threadID !== thread.ID) { + $.add(quotelink, $.tn(QuoteCT.text)); + } + } + } + }; + + QuoteInline = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Quote Inlining']) { + return; + } + this.process = Conf['Quote Hash Navigation'] ? function(link, clone) { + if (!clone) { + $.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered'))); + } + return $.on(link, 'click', QuoteInline.toggle); + } : function(link) { + return $.on(link, 'click', QuoteInline.toggle); + }; + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + return Post.callbacks.push({ + name: 'Quote Inlining', + cb: this.node + }); + }, + node: function() { + var isClone, link, process, _i, _j, _len, _len1, _ref, _ref1; + process = QuoteInline.process; + isClone = this.isClone; + _ref = this.nodes.quotelinks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + link = _ref[_i]; + process(link, isClone); + } + _ref1 = this.nodes.backlinks; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + link = _ref1[_j]; + process(link, isClone); + } + }, + qiQuote: function(link, hidden) { + return $.el('a', { + className: "hashlink" + (hidden ? ' filtered' : ''), + textContent: '#', + href: link.href + }); + }, + toggle: function(e) { + var boardID, context, postID, threadID, _ref; + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || e.button !== 0) { + return; + } + e.preventDefault(); + _ref = Get.postDataFromLink(this), boardID = _ref.boardID, threadID = _ref.threadID, postID = _ref.postID; + context = Get.contextFromNode(this); + if ($.hasClass(this, 'inlined')) { + QuoteInline.rm(this, boardID, threadID, postID, context); + } else { + if ($.x("ancestor::div[@id='p" + postID + "']", this)) { + return; + } + QuoteInline.add(this, boardID, threadID, postID, context); + } + return this.classList.toggle('inlined'); + }, + findRoot: function(quotelink, isBacklink) { + if (isBacklink) { + return quotelink.parentNode.parentNode; + } else { + return $.x('ancestor-or-self::*[parent::blockquote][1]', quotelink); + } + }, + add: function(quotelink, boardID, threadID, postID, context) { + var inline, isBacklink, post, qroot, root; + isBacklink = $.hasClass(quotelink, 'backlink'); + inline = $.el('div', { + id: "i" + postID, + className: 'inline' + }); + root = QuoteInline.findRoot(quotelink, isBacklink); + $.after(root, inline); + qroot = $.x('ancestor::*[contains(@class,"postContainer")][1]', root); + $.addClass(qroot, 'hasInline'); + Get.postClone(boardID, threadID, postID, inline, context); + if (!((post = g.posts["" + boardID + "." + postID]) && context.thread === post.thread)) { + return; + } + if (isBacklink && Conf['Forward Hiding']) { + $.addClass(post.nodes.root, 'forwarded'); + post.forwarded++ || (post.forwarded = 1); + } + if (!Unread.posts) { + return; + } + return Unread.readSinglePost(post); + }, + rm: function(quotelink, boardID, threadID, postID, context) { + var el, inlined, isBacklink, post, qroot, root, _ref; + isBacklink = $.hasClass(quotelink, 'backlink'); + root = QuoteInline.findRoot(quotelink, isBacklink); + root = $.x("following-sibling::div[@id='i" + postID + "'][1]", root); + qroot = $.x('ancestor::*[contains(@class,"postContainer")][1]', root); + $.rm(root); + if (!$('.inline', qroot)) { + $.rmClass(qroot, 'hasInline'); + } + if (!(el = root.firstElementChild)) { + return; + } + post = g.posts["" + boardID + "." + postID]; + post.rmClone(el.dataset.clone); + if (Conf['Forward Hiding'] && isBacklink && context.thread === g.threads["" + boardID + "." + threadID] && !--post.forwarded) { + delete post.forwarded; + $.rmClass(post.nodes.root, 'forwarded'); + } + while (inlined = $('.inlined', el)) { + _ref = Get.postDataFromLink(inlined), boardID = _ref.boardID, threadID = _ref.threadID, postID = _ref.postID; + QuoteInline.rm(inlined, boardID, threadID, postID, context); + $.rmClass(inlined, 'inlined'); + } + } + }; + + QuoteOP = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Mark OP Quotes']) { + return; + } + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + this.text = '\u00A0(OP)'; + return Post.callbacks.push({ + name: 'Mark OP Quotes', + cb: this.node + }); + }, + node: function() { + var boardID, fullID, i, postID, quotelink, quotelinks, quotes, _ref, _ref1; + if (this.isClone && this.thread === this.context.thread) { + return; + } + if (!(quotes = this.quotes).length) { + return; + } + quotelinks = this.nodes.quotelinks; + if (this.isClone && (_ref = this.thread.fullID, __indexOf.call(quotes, _ref) >= 0)) { + i = 0; + while (quotelink = quotelinks[i++]) { + quotelink.textContent = quotelink.textContent.replace(QuoteOP.text, ''); + } + } + fullID = (this.isClone ? this.context : this).thread.fullID; + if (__indexOf.call(quotes, fullID) < 0) { + return; + } + i = 0; + while (quotelink = quotelinks[i++]) { + _ref1 = Get.postDataFromLink(quotelink), boardID = _ref1.boardID, postID = _ref1.postID; + if (("" + boardID + "." + postID) === fullID) { + $.add(quotelink, $.tn(QuoteOP.text)); + } + } + } + }; + + QuotePreview = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Quote Previewing']) { + return; + } + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + return Post.callbacks.push({ + name: 'Quote Previewing', + cb: this.node + }); + }, + node: function() { + var link, _i, _len, _ref; + _ref = this.nodes.quotelinks.concat(__slice.call(this.nodes.backlinks)); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + link = _ref[_i]; + $.on(link, 'mouseover', QuotePreview.mouseover); + } + }, + mouseover: function(e) { + var boardID, clone, origin, post, postID, posts, qp, quote, quoterID, threadID, _i, _j, _len, _len1, _ref, _ref1; + if ($.hasClass(this, 'inlined')) { + return; + } + _ref = Get.postDataFromLink(this), boardID = _ref.boardID, threadID = _ref.threadID, postID = _ref.postID; + qp = $.el('div', { + id: 'qp', + className: 'dialog' + }); + $.add(Header.hover, qp); + Get.postClone(boardID, threadID, postID, qp, Get.contextFromNode(this)); + UI.hover({ + root: this, + el: qp, + latestEvent: e, + endEvents: 'mouseout click', + cb: QuotePreview.mouseout, + asapTest: function() { + return qp.firstElementChild; + } + }); + if (!(origin = g.posts["" + boardID + "." + postID])) { + return; + } + if (Conf['Quote Highlighting']) { + posts = [origin].concat(origin.clones); + posts.pop(); + for (_i = 0, _len = posts.length; _i < _len; _i++) { + post = posts[_i]; + $.addClass(post.nodes.post, 'qphl'); + } + } + quoterID = $.x('ancestor::*[@id][1]', this).id.match(/\d+$/)[0]; + clone = Get.postFromRoot(qp.firstChild); + _ref1 = clone.nodes.quotelinks.concat(__slice.call(clone.nodes.backlinks)); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + quote = _ref1[_j]; + if (quote.hash.slice(2) === quoterID) { + $.addClass(quote, 'forwardlink'); + } + } + }, + mouseout: function() { + var clone, post, root, _i, _len, _ref; + if (!(root = this.el.firstElementChild)) { + return; + } + clone = Get.postFromRoot(root); + post = clone.origin; + post.rmClone(root.dataset.clone); + if (!Conf['Quote Highlighting']) { + return; + } + _ref = [post].concat(post.clones); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + post = _ref[_i]; + $.rmClass(post.nodes.post, 'qphl'); + } + } + }; + + QuoteStrikeThrough = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Reply Hiding Buttons'] && !Conf['Reply Hiding Link'] && !Conf['Filter']) { + return; + } + return Post.callbacks.push({ + name: 'Strike-through Quotes', + cb: this.node + }); + }, + node: function() { + var boardID, postID, quotelink, _i, _len, _ref, _ref1, _ref2; + if (this.isClone) { + return; + } + _ref = this.nodes.quotelinks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quotelink = _ref[_i]; + _ref1 = Get.postDataFromLink(quotelink), boardID = _ref1.boardID, postID = _ref1.postID; + if ((_ref2 = g.posts["" + boardID + "." + postID]) != null ? _ref2.isHidden : void 0) { + $.addClass(quotelink, 'filtered'); + } + } + } + }; + + + /* + <3 aeosynth + */ + + QuoteThreading = { + init: function() { + var input; + if (!(Conf['Quote Threading'] && g.VIEW === 'thread')) { + return; + } + this.enabled = true; + this.controls = $.el('span', { + innerHTML: '' + }); + input = $('input', this.controls); + $.on(input, 'change', this.toggle); + $.event('AddMenuEntry', this.entry = { + type: 'header', + el: this.controls, + order: 98 + }); + if (!Conf['Unread Count']) { + $.on(d, '4chanXInitFinished', this.ready); + } + return Post.callbacks.push({ + name: 'Quote Threading', + cb: this.node + }); + }, + disconnect: function() { + var input; + if (!(Conf['Quote Threading'] && g.VIEW === 'thread')) { + return; + } + input = $('input', this.controls); + $.off(input, 'change', this.toggle); + $.event('rmMenuEntry', this.entry); + delete this.enabled; + delete this.controls; + delete this.entry; + return Post.callbacks.disconnect('Quote Threading'); + }, + ready: function() { + $.off(d, '4chanXInitFinished', QuoteThreading.ready); + return QuoteThreading.force(); + }, + force: function() { + g.posts.forEach(function(post) { + if (post.cb) { + return post.cb(true); + } + }); + if (Conf['Unread Count'] && Unread.thread.OP.nodes.root.parentElement.parentElement) { + Unread.read(); + return Unread.update(); + } + }, + node: function() { + var keys, len, posts, quote, _i, _len, _ref; + posts = g.posts; + if (this.isClone || !QuoteThreading.enabled) { + return; + } + if (Conf['Unread Count']) { + Unread.posts.push(this); + } + if (this.thread.OP === this || this.isHidden) { + return; + } + keys = []; + len = g.BOARD.ID.length + 1; + _ref = this.quotes; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quote = _ref[_i]; + if ((quote.slice(len) < this.ID) && quote in posts) { + keys.push(quote); + } + } + if (keys.length !== 1) { + return; + } + this.threaded = keys[0]; + return this.cb = QuoteThreading.nodeinsert; + }, + nodeinsert: function(force) { + var bottom, height, post, posts, root, threadContainer, top, _ref; + post = g.posts[this.threaded]; + if (this.thread.OP === post) { + return false; + } + posts = Unread.posts; + root = post.nodes.root; + if (!force) { + height = doc.clientHeight; + _ref = root.getBoundingClientRect(), bottom = _ref.bottom, top = _ref.top; + if (!((Conf['Unread Count'] && posts[post.ID]) || ((bottom < height) && (top > 0)))) { + return false; + } + } + if ($.hasClass(root, 'threadOP')) { + threadContainer = root.nextElementSibling; + post = Get.postFromRoot($.x('descendant::div[contains(@class,"postContainer")][last()]', threadContainer)); + $.add(threadContainer, this.nodes.root); + } else { + threadContainer = $.el('div', { + className: 'threadContainer' + }); + $.add(threadContainer, this.nodes.root); + $.after(root, threadContainer); + $.addClass(root, 'threadOP'); + } + if (!Conf['Unread Count']) { + return true; + } + if (post = posts[post.ID]) { + posts.after(post, posts[this.ID]); + } else if (posts[this.ID]) { + posts.prepend(posts[this.ID]); + } + return true; + }, + toggle: function() { + var container, containers, nodes, post, posts, thread, _i, _j, _k, _len, _len1, _len2, _ref; + if (QuoteThreading.enabled = this.checked) { + QuoteThreading.force(); + } else { + thread = $('.thread'); + posts = []; + nodes = []; + g.posts.forEach(function(post) { + if (!(post === post.thread.OP || post.isClone)) { + return posts.push(post); + } + }); + posts.sort(function(a, b) { + return a.ID - b.ID; + }); + for (_i = 0, _len = posts.length; _i < _len; _i++) { + post = posts[_i]; + nodes.push(post.nodes.root); + } + $.add(thread, nodes); + containers = $$('.threadContainer', thread); + for (_j = 0, _len1 = containers.length; _j < _len1; _j++) { + container = containers[_j]; + $.rm(container); + } + _ref = $$('.threadOP'); + for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) { + post = _ref[_k]; + $.rmClass(post, 'threadOP'); + } + } + }, + kb: function() { + var control; + control = $.id('threadingControl'); + control.checked = !control.checked; + return QuoteThreading.toggle.call(control); + } + }; + + QuoteYou = { + init: function() { + if (!(g.VIEW !== 'catalog' && Conf['Mark Quotes of You'] && Conf['Quick Reply'])) { + return; + } + if (Conf['Highlight Own Posts']) { + $.addClass(doc, 'highlight-own'); + } + if (Conf['Highlight Posts Quoting You']) { + $.addClass(doc, 'highlight-you'); + } + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + this.text = '\u00A0(You)'; + return Post.callbacks.push({ + name: 'Mark Quotes of You', + cb: this.node + }); + }, + node: function() { + var quotelink, _i, _len, _ref; + if (this.isClone) { + return; + } + if (QR.db.get({ + boardID: this.board.ID, + threadID: this.thread.ID, + postID: this.ID + })) { + $.addClass(this.nodes.root, 'yourPost'); + } + if (!this.quotes.length) { + return; + } + _ref = this.nodes.quotelinks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quotelink = _ref[_i]; + if (!(QR.db.get(Get.postDataFromLink(quotelink)))) { + continue; + } + $.add(quotelink, $.tn(QuoteYou.text)); + $.addClass(quotelink, 'you'); + $.addClass(this.nodes.root, 'quotesYou'); + } + }, + cb: { + seek: function(type) { + var highlight, post, posts, result, str; + if (!(Conf['Mark Quotes of You'] && Conf['Quick Reply'])) { + return; + } + if (highlight = $('.highlight')) { + $.rmClass(highlight, 'highlight'); + } + if (!QuoteYou.lastRead) { + if (!(post = QuoteYou.lastRead = $('.quotesYou'))) { + new Notice('warning', 'No posts are currently quoting you, loser.', 20); + return; + } + if (QuoteYou.cb.scroll(post)) { + return; + } + } else { + post = QuoteYou.lastRead; + } + str = "" + type + "::div[contains(@class,'quotesYou')]"; + while (post = (result = $.X(str, post)).snapshotItem(type === 'preceding' ? result.snapshotLength - 1 : 0)) { + if (QuoteYou.cb.scroll(post)) { + return; + } + } + posts = $$('.quotesYou'); + return QuoteYou.cb.scroll(posts[type === 'following' ? 0 : posts.length - 1]); + }, + scroll: function(post) { + if (Get.postFromRoot(post).isHidden) { + return false; + } else { + QuoteYou.lastRead = post; + window.location = "#" + post.id; + Header.scrollToPost(post); + $.addClass($('.post', post), 'highlight'); + return true; + } + } + } + }; + + Quotify = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Resurrect Quotes']) { + return; + } + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + return Post.callbacks.push({ + name: 'Resurrect Quotes', + cb: this.node + }); + }, + node: function() { + var deadlink, _i, _len, _ref; + _ref = $$('.deadlink', this.nodes.comment); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + deadlink = _ref[_i]; + if (this.isClone) { + if ($.hasClass(deadlink, 'quotelink')) { + this.nodes.quotelinks.push(deadlink); + } + } else { + Quotify.parseDeadlink.call(this, deadlink); + } + } + }, + parseDeadlink: function(deadlink) { + var a, boardID, m, post, postID, quote, quoteID, redirect, _ref; + if ($.hasClass(deadlink.parentNode, 'prettyprint')) { + Quotify.fixDeadlink(deadlink); + return; + } + quote = deadlink.textContent; + if (!(postID = (_ref = quote.match(/\d+$/)) != null ? _ref[0] : void 0)) { + return; + } + if (postID[0] === '0') { + Quotify.fixDeadlink(deadlink); + return; + } + boardID = (m = quote.match(/^>>>\/([a-z\d]+)/)) ? m[1] : this.board.ID; + quoteID = "" + boardID + "." + postID; + if (post = g.posts[quoteID]) { + if (!post.isDead) { + a = $.el('a', { + href: "/" + boardID + "/thread/" + post.thread + "#p" + postID, + className: 'quotelink', + textContent: quote + }); + } else { + a = $.el('a', { + href: "/" + boardID + "/thread/" + post.thread + "#p" + postID, + className: 'quotelink deadlink', + target: '_blank', + textContent: "" + quote + "\u00A0(Dead)" + }); + $.extend(a.dataset, { + boardID: boardID, + threadID: post.thread.ID, + postID: postID + }); + } + } else if (redirect = Redirect.to('thread', { + boardID: boardID, + threadID: 0, + postID: postID + })) { + a = $.el('a', { + href: redirect, + className: 'deadlink', + target: '_blank', + textContent: "" + quote + "\u00A0(Dead)" + }); + if (Redirect.to('post', { + boardID: boardID, + postID: postID + })) { + $.addClass(a, 'quotelink'); + $.extend(a.dataset, { + boardID: boardID, + postID: postID + }); + } + } + if (__indexOf.call(this.quotes, quoteID) < 0) { + this.quotes.push(quoteID); + } + if (!a) { + return deadlink.textContent = "" + quote + "\u00A0(Dead)"; + } + $.replace(deadlink, a); + if ($.hasClass(a, 'quotelink')) { + return this.nodes.quotelinks.push(a); + } + }, + fixDeadlink: function(deadlink) { + var el, green; + if (!(el = deadlink.previousSibling) || el.nodeName === 'BR') { + green = $.el('span', { + className: 'quote' + }); + $.before(deadlink, green); + $.add(green, deadlink); + } + return $.replace(deadlink, __slice.call(deadlink.childNodes)); + } + }; + + QR = { + mimeTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash', 'video/webm'], + init: function() { + var sc; + if (!Conf['Quick Reply']) { + return; + } + this.db = new DataBoard('yourPosts'); + this.posts = []; + if (Conf['QR Shortcut']) { + sc = $.el('a', { + className: "qr-shortcut fa fa-comment-o " + (!Conf['Persistent QR'] ? 'disabled' : ''), + textContent: 'QR', + title: 'Quick Reply', + href: 'javascript:;' + }); + $.on(sc, 'click', function() { + if (Conf['Persistent QR'] || !QR.nodes || QR.nodes.el.hidden) { + QR.open(); + QR.nodes.com.focus(); + return $.rmClass(this, 'disabled'); + } else { + QR.close(); + return $.addClass(this, 'disabled'); + } + }); + Header.addShortcut(sc); + } + if (Conf['Hide Original Post Form']) { + $.asap((function() { + return doc; + }), function() { + return $.addClass(doc, 'hide-original-post-form'); + }); + } + $.on(d, '4chanXInitFinished', this.initReady); + if (Conf['Persistent QR']) { + if (!(g.BOARD.ID === 'f' && g.VIEW === 'index')) { + $.on(d, '4chanXInitFinished', this.persist); + } else { + $.ready(this.persist); + } + } + return Post.callbacks.push({ + name: 'Quick Reply', + cb: this.node + }); + }, + initReady: function() { + var link, linkBot; + $.off(d, '4chanXInitFinished', this.initReady); + QR.postingIsEnabled = !!$.id('postForm'); + if (!QR.postingIsEnabled) { + return; + } + link = $.el('h1', { + innerHTML: "" + (g.VIEW === 'thread' ? 'Reply to Thread' : 'Start a Thread') + "", + className: "qr-link-container" + }); + QR.link = link.firstElementChild; + $.on(link.firstChild, 'click', function() { + $.event('CloseMenu'); + QR.open(); + QR.nodes.com.focus(); + if (Conf['QR Shortcut']) { + return $.rmClass($('.qr-shortcut'), 'disabled'); + } + }); + if (Conf['Bottom QR Link'] && (g.VIEW === 'thread' || Conf['JSON Navigation'])) { + linkBot = $.el('div', { + innerHTML: 'Reply to Thread', + className: "brackets-wrap qr-link-container-bottom" + }); + $.on(linkBot.firstElementChild, 'click', function() { + $.event('CloseMenu'); + QR.open(); + QR.nodes.com.focus(); + if (Conf['QR Shortcut']) { + return $.rmClass($('.qr-shortcut'), 'disabled'); + } + }); + $.prepend(Index.navLinksBot || $('.navLinksBot'), linkBot); + } + $.before($.id('togglePostFormLink'), link); + $.on(d, 'QRGetSelectedPost', function(_arg) { + var cb; + cb = _arg.detail; + return cb(QR.selected); + }); + $.on(d, 'QRAddPreSubmitHook', function(_arg) { + var cb; + cb = _arg.detail; + return QR.preSubmitHooks.push(cb); + }); + $.on(d, 'paste', QR.paste); + $.on(d, 'dragover', QR.dragOver); + $.on(d, 'drop', QR.dropFile); + $.on(d, 'dragstart dragend', QR.drag); + $.on(d, 'IndexRefresh', QR.generatePostableThreadsList); + $.on(d, 'ThreadUpdate', QR.statusCheck); + if (!Conf['Persistent QR']) { + return; + } + QR.open(); + if (Conf['Auto-Hide QR']) { + return QR.hide(); + } + }, + statusCheck: function() { + if (g.DEAD) { + return QR.abort(); + } else { + return QR.status(); + } + }, + node: function() { + return $.on($('a[title="Reply to this post"]', this.nodes.info), 'click', QR.quote); + }, + persist: function() { + if (!QR.postingIsEnabled) { + return; + } + QR.open(); + if (Conf['Auto Hide QR'] || g.VIEW === 'catalog') { + return QR.hide(); + } + }, + open: function() { + var err; + if (QR.nodes) { + QR.nodes.el.hidden = false; + QR.unhide(); + return; + } + try { + return QR.dialog(); + } catch (_error) { + err = _error; + delete QR.nodes; + return Main.handleErrors({ + message: 'Quick Reply dialog creation crashed.', + error: err + }); + } + }, + close: function() { + var post, _i, _len, _ref; + if (QR.req) { + QR.abort(); + return; + } + QR.nodes.el.hidden = true; + QR.cleanNotifications(); + d.activeElement.blur(); + $.rmClass(QR.nodes.el, 'dump'); + if (!Conf['Captcha Warning Notifications']) { + if (QR.captcha.isEnabled) { + $.rmClass(QR.captcha.nodes.input, 'error'); + } + } + if (Conf['QR Shortcut']) { + $.toggleClass($('.qr-shortcut'), 'disabled'); + } + new QR.post(true); + _ref = QR.posts.splice(0, QR.posts.length - 1); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + post = _ref[_i]; + post["delete"](); + } + QR.cooldown.auto = false; + QR.status(); + if (QR.captcha.isEnabled && !Conf['Auto-load captcha']) { + return QR.captcha.destroy(); + } + }, + focusin: function() { + return $.addClass(QR.nodes.el, 'focus'); + }, + focusout: function() { + return $.rmClass(QR.nodes.el, 'focus'); + }, + hide: function() { + d.activeElement.blur(); + $.addClass(QR.nodes.el, 'autohide'); + return QR.nodes.autohide.checked = true; + }, + unhide: function() { + $.rmClass(QR.nodes.el, 'autohide'); + return QR.nodes.autohide.checked = false; + }, + toggleHide: function() { + if (this.checked) { + return QR.hide(); + } else { + return QR.unhide(); + } + }, + error: function(err) { + var el; + QR.open(); + if (typeof err === 'string') { + el = $.tn(err); + } else { + el = err; + el.removeAttribute('style'); + } + if (QR.captcha.isEnabled && /captcha|verification/i.test(el.textContent)) { + if (QR.captcha.captchas.length === 0) { + QR.captcha.nodes.input.focus(); + QR.captcha.setup(); + } + if (Conf['Captcha Warning Notifications'] && !d.hidden) { + QR.notify(el); + } else { + $.addClass(QR.captcha.nodes.input, 'error'); + $.on(QR.captcha.nodes.input, 'keydown', function() { + return $.rmClass(QR.captcha.nodes.input, 'error'); + }); + } + } else { + QR.notify(el); + } + if (d.hidden) { + return alert(el.textContent); + } + }, + notify: function(el) { + var notice, notif; + notice = new Notice('warning', el); + if (!(Header.areNotificationsEnabled && d.hidden)) { + return QR.notifications.push(notice); + } else { + notif = new Notification(el.textContent, { + body: el.textContent, + icon: Favicon.logo + }); + notif.onclick = function() { + return window.focus(); + }; + notif.onclose = function() { + return notice.close(); + }; + return notif.onshow = function() { + return setTimeout(function() { + notif.onclose = null; + return notif.close(); + }, 7 * $.SECOND); + }; + } + }, + notifications: [], + cleanNotifications: function() { + var notification, _i, _len, _ref; + _ref = QR.notifications; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + notification = _ref[_i]; + notification.close(); + } + return QR.notifications = []; + }, + status: function() { + var disabled, status, thread, value; + if (!QR.nodes) { + return; + } + thread = QR.posts[0].thread; + if (thread !== 'new' && g.threads["" + g.BOARD + "." + thread].isDead) { + value = 404; + disabled = true; + QR.cooldown.auto = false; + } + value = QR.req ? QR.req.progress : QR.cooldown.seconds || value; + status = QR.nodes.status; + status.value = !value ? 'Submit' : QR.cooldown.auto ? "Auto " + value : value; + return status.disabled = disabled || false; + }, + quote: function(e) { + var caretPos, com, index, post, range, s, sel, text, thread, _ref; + if (e != null) { + e.preventDefault(); + } + if (!QR.postingIsEnabled) { + return; + } + sel = d.getSelection(); + post = Get.postFromNode(this); + text = ">>" + post + "\n"; + if ((s = sel.toString().trim()) && post === Get.postFromNode(sel.anchorNode)) { + s = s.replace(/\n/g, '\n>'); + text += ">" + s + "\n"; + } + QR.open(); + if (QR.selected.isLocked) { + index = QR.posts.indexOf(QR.selected); + (QR.posts[index + 1] || new QR.post()).select(); + $.addClass(QR.nodes.el, 'dump'); + QR.cooldown.auto = true; + } + _ref = QR.nodes, com = _ref.com, thread = _ref.thread; + if (!com.value) { + thread.value = Get.threadFromNode(this); + } + caretPos = com.selectionStart; + com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd); + range = caretPos + text.length; + com.setSelectionRange(range, range); + com.focus(); + QR.selected.save(com); + QR.selected.save(thread); + if (Conf['QR Shortcut']) { + return $.rmClass($('.qr-shortcut'), 'disabled'); + } + }, + characterCount: function() { + var count, counter; + counter = QR.nodes.charCount; + count = QR.nodes.com.textLength; + counter.textContent = count; + counter.hidden = count < 1000; + return (count > 1500 ? $.addClass : $.rmClass)(counter, 'warning'); + }, + drag: function(e) { + var toggle; + toggle = e.type === 'dragstart' ? $.off : $.on; + toggle(d, 'dragover', QR.dragOver); + return toggle(d, 'drop', QR.dropFile); + }, + dragOver: function(e) { + e.preventDefault(); + return e.dataTransfer.dropEffect = 'copy'; + }, + dropFile: function(e) { + if (!e.dataTransfer.files.length) { + return; + } + e.preventDefault(); + QR.open(); + return QR.handleFiles(e.dataTransfer.files); + }, + paste: function(e) { + var blob, files, item, _i, _len, _ref; + files = []; + _ref = e.clipboardData.items; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + item = _ref[_i]; + if (!(item.kind === 'file')) { + continue; + } + blob = item.getAsFile(); + blob.name = 'file'; + if (blob.type) { + blob.name += '.' + blob.type.split('/')[1]; + } + files.push(blob); + } + if (!files.length) { + return; + } + QR.open(); + QR.handleFiles(files); + return $.addClass(QR.nodes.el, 'dump'); + }, + handleBlob: function(urlBlob, contentType, contentDisposition, url) { + var blob, match, mime, name, _ref, _ref1, _ref2; + name = (_ref = url.match(/([^\/]+)\/*$/)) != null ? _ref[1] : void 0; + mime = (contentType != null ? contentType.match(/[^;]*/)[0] : void 0) || 'application/octet-stream'; + match = (contentDisposition != null ? (_ref1 = contentDisposition.match(/\bfilename\s*=\s*"((\\"|[^"])+)"/i)) != null ? _ref1[1] : void 0 : void 0) || (contentType != null ? (_ref2 = contentType.match(/\bname\s*=\s*"((\\"|[^"])+)"/i)) != null ? _ref2[1] : void 0 : void 0); + if (match) { + name = match.replace(/\\"/g, '"'); + } + blob = new Blob([urlBlob], { + type: mime + }); + blob.name = name; + return QR.handleFiles([blob]); + }, + handleUrl: function() { + var url, xhr; + url = prompt("Insert an url:"); + if (url === null) { + return; + } + xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'blob'; + xhr.onload = function(e) { + var contentDisposition, contentType; + if (this.readyState === this.DONE && xhr.status === 200) { + contentType = this.getResponseHeader('Content-Type'); + contentDisposition = this.getResponseHeader('Content-Disposition'); + return QR.handleBlob(this.response, contentType, contentDisposition, url); + } else { + return QR.error("Can't load image."); + } + }; + xhr.onerror = function(e) { + return QR.error("Can't load image."); + }; + return xhr.send(); + }, + handleFiles: function(files) { + var file, i, _i, _len; + if (this !== QR) { + files = __slice.call(this.files); + this.value = null; + } + if (!files.length) { + return; + } + QR.cleanNotifications(); + for (i = _i = 0, _len = files.length; _i < _len; i = ++_i) { + file = files[i]; + QR.handleFile(file, i, files.length); + } + if (files.length !== 1) { + return $.addClass(QR.nodes.el, 'dump'); + } + }, + handleFile: function(file, index, nfiles) { + var isNewPost, isSingle, max, post, _ref; + isSingle = nfiles === 1; + if (/^text\//.test(file.type)) { + if (isSingle) { + post = QR.selected; + } else if (index !== 0 || (post = QR.posts[QR.posts.length - 1]).com) { + post = new QR.post(); + } + post.pasteText(file); + return; + } + if (_ref = file.type, __indexOf.call(QR.mimeTypes, _ref) < 0) { + QR.error("" + file.name + ": Unsupported file type."); + if (!isSingle) { + return; + } + } + max = QR.nodes.fileInput.max; + if (/^video\//.test(file.type)) { + max = Math.min(max, QR.max_size_video); + } + if (file.size > max) { + QR.error("" + file.name + ": File too large (file: " + ($.bytesToString(file.size)) + ", max: " + ($.bytesToString(max)) + ")."); + if (!isSingle) { + return; + } + } + isNewPost = false; + if (isSingle) { + post = QR.selected; + } else if (index !== 0 || (post = QR.posts[QR.posts.length - 1]).file) { + isNewPost = true; + post = new QR.post(); + } + return QR.checkDimensions(file, function(pass, el) { + if (pass || isSingle) { + return post.setFile(file, el); + } else if (isNewPost) { + post.rm(); + if (el) { + return URL.revokeObjectURL(el.src); + } + } + }); + }, + checkDimensions: function(file, cb) { + var img, video; + if (/^image\//.test(file.type)) { + img = new Image(); + img.onload = function() { + var height, pass, width; + height = img.height, width = img.width; + pass = true; + if (height > QR.max_height || width > QR.max_width) { + QR.error("" + file.name + ": Image too large (image: " + height + "x" + width + "px, max: " + QR.max_height + "x" + QR.max_width + "px)"); + pass = false; + } + if (height < QR.min_height || width < QR.min_width) { + QR.error("" + file.name + ": Image too small (image: " + height + "x" + width + "px, min: " + QR.min_height + "x" + QR.min_width + "px)"); + pass = false; + } + return cb(pass, img); + }; + return img.src = URL.createObjectURL(file); + } else if (/^video\//.test(file.type)) { + video = $.el('video'); + $.on(video, 'loadeddata', function() { + var duration, max_height, max_width, pass, videoHeight, videoWidth; + if (!cb) { + return; + } + videoHeight = video.videoHeight, videoWidth = video.videoWidth, duration = video.duration; + max_height = Math.min(QR.max_height, QR.max_height_video); + max_width = Math.min(QR.max_width, QR.max_width_video); + pass = true; + if (videoHeight > max_height || videoWidth > max_width) { + QR.error("" + file.name + ": Video too large (video: " + videoHeight + "x" + videoWidth + "px, max: " + max_height + "x" + max_width + "px)"); + pass = false; + } + if (videoHeight < QR.min_height || videoWidth < QR.min_width) { + QR.error("" + file.name + ": Video too small (video: " + videoHeight + "x" + videoWidth + "px, min: " + QR.min_height + "x" + QR.min_width + "px)"); + pass = false; + } + if (!isFinite(duration)) { + QR.error("" + file.name + ": Video lacks duration metadata (try remuxing)"); + pass = false; + } else if (duration > QR.max_duration_video) { + QR.error("" + file.name + ": Video too long (video: " + duration + "s, max: " + QR.max_duration_video + "s)"); + pass = false; + } + if (video.mozHasAudio || video.webkitAudioDecodedByteCount) { + QR.error("" + file.name + ": Audio not allowed"); + pass = false; + } + cb(pass, video); + return cb = null; + }); + $.on(video, 'error', function() { + var _ref; + if (!cb) { + return; + } + if (_ref = file.type, __indexOf.call(QR.mimeTypes, _ref) >= 0) { + QR.error("" + file.name + ": Video appears corrupt"); + } + URL.revokeObjectURL(file); + cb(false, null); + return cb = null; + }); + return video.src = URL.createObjectURL(file); + } else { + return cb(true, null); + } + }, + openFileInput: function(e) { + var _ref; + e.stopPropagation(); + if (e.shiftKey && e.type === 'click') { + return QR.selected.rmFile(); + } + if (e.ctrlKey && e.type === 'click') { + $.addClass(QR.nodes.filename, 'edit'); + QR.nodes.filename.focus(); + return $.on(QR.nodes.filename, 'blur', function() { + return $.rmClass(QR.nodes.filename, 'edit'); + }); + } + if (e.target.nodeName === 'INPUT' || (e.keyCode && ((_ref = e.keyCode) !== 32 && _ref !== 13)) || e.ctrlKey) { + return; + } + e.preventDefault(); + return QR.nodes.fileInput.click(); + }, + generatePostableThreadsList: function() { + var list, options, thread, val, _i, _len, _ref; + if (!QR.nodes) { + return; + } + list = QR.nodes.thread; + options = [list.firstChild]; + _ref = g.BOARD.threads.keys; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + thread = _ref[_i]; + options.push($.el('option', { + value: thread, + textContent: "Thread No." + thread + })); + } + val = list.value; + $.rmAll(list); + $.add(list, options); + list.value = val; + if (!list.value) { + return; + } + return list.value = g.VIEW === 'thread' ? g.THREADID : 'new'; + }, + dialog: function() { + var dialog, elm, event, i, items, name, node, nodes, prop, rules, save, setNode, _, _i, _len, _ref, _ref1, _ref2; + QR.nodes = nodes = { + el: dialog = UI.dialog('qr', 'top:0;right:0;', { + innerHTML: '
×
No selected file
' + }) + }; + setNode = function(name, query) { + return nodes[name] = $(query, dialog); + }; + setNode('move', '.move'); + setNode('autohide', '#autohide'); + setNode('thread', 'select'); + setNode('threadPar', '#qr-thread-select'); + setNode('close', '.close'); + setNode('form', 'form'); + setNode('dumpButton', '#dump-button'); + setNode('urlButton', '#url-button'); + setNode('name', '[data-name=name]'); + setNode('email', '[data-name=email]'); + setNode('sub', '[data-name=sub]'); + setNode('com', '[data-name=com]'); + setNode('dumpList', '#dump-list'); + setNode('addPost', '#add-post'); + setNode('charCount', '#char-count'); + setNode('fileSubmit', '#file-n-submit'); + setNode('filename', '#qr-filename'); + setNode('fileContainer', '#qr-filename-container'); + setNode('fileRM', '#qr-filerm'); + setNode('fileExtras', '#qr-extras-container'); + setNode('spoiler', '#qr-file-spoiler'); + setNode('spoilerPar', '#qr-spoiler-label'); + setNode('status', '[type=submit]'); + setNode('fileInput', '[type=file]'); + rules = $('ul.rules').textContent.trim(); + QR.min_width = QR.min_height = 1; + QR.max_width = QR.max_height = 10000; + try { + _ref = rules.match(/.+smaller than (\d+)x(\d+).+/), _ = _ref[0], QR.min_width = _ref[1], QR.min_height = _ref[2]; + _ref1 = rules.match(/.+greater than (\d+)x(\d+).+/), _ = _ref1[0], QR.max_width = _ref1[1], QR.max_height = _ref1[2]; + _ref2 = ['min_width', 'min_height', 'max_width', 'max_height']; + for (_i = 0, _len = _ref2.length; _i < _len; _i++) { + prop = _ref2[_i]; + QR[prop] = parseInt(QR[prop], 10); + } + } catch (_error) { + null; + } + nodes.fileInput.max = $('input[name=MAX_FILE_SIZE]').value; + QR.max_size_video = 3145728; + QR.max_width_video = QR.max_height_video = 2048; + QR.max_duration_video = 120; + QR.spoiler = !!$('input[name=spoiler]'); + if (QR.spoiler) { + $.addClass(QR.nodes.el, 'has-spoiler'); + } else { + nodes.spoiler.parentElement.hidden = true; + } + if (g.BOARD.ID === 'f') { + nodes.flashTag = $.el('select', { + name: 'filetag', + innerHTML: '\n\n\n\n\n\n' + }); + nodes.flashTag.dataset["default"] = '4'; + $.add(nodes.form, nodes.flashTag); + } + QR.flagsInput(); + $.on(nodes.filename.parentNode, 'click keydown', QR.openFileInput); + items = $$('*', QR.nodes.el); + i = 0; + while (elm = items[i++]) { + $.on(elm, 'blur', QR.focusout); + $.on(elm, 'focus', QR.focusin); + } + $.on(nodes.autohide, 'change', QR.toggleHide); + $.on(nodes.close, 'click', QR.close); + $.on(nodes.dumpButton, 'click', function() { + return nodes.el.classList.toggle('dump'); + }); + $.on(nodes.urlButton, 'click', QR.handleUrl); + $.on(nodes.addPost, 'click', function() { + return new QR.post(true); + }); + $.on(nodes.form, 'submit', QR.submit); + $.on(nodes.fileRM, 'click', function() { + return QR.selected.rmFile(); + }); + $.on(nodes.fileExtras, 'click', function(e) { + return e.stopPropagation(); + }); + $.on(nodes.spoiler, 'change', function() { + return QR.selected.nodes.spoiler.click(); + }); + $.on(nodes.fileInput, 'change', QR.handleFiles); + items = ['name', 'email', 'sub', 'com', 'filename', 'flag']; + i = 0; + save = function() { + return QR.selected.save(this); + }; + while (name = items[i++]) { + if (!(node = nodes[name])) { + continue; + } + event = node.nodeName === 'SELECT' ? 'change' : 'input'; + $.on(nodes[name], event, save); + } + QR.generatePostableThreadsList(); + QR.persona.init(); + new QR.post(true); + QR.status(); + QR.cooldown.init(); + QR.captcha.init(); + $.add(d.body, dialog); + return $.event('QRDialogCreation', null, dialog); + }, + flags: function() { + var flag, fn, select, _i, _len, _ref; + select = $.el('select', { + name: 'flag', + className: 'flagSelector' + }); + fn = function(val) { + return $.add(select, $.el('option', { + value: val[0], + textContent: val[1] + })); + }; + _ref = [['0', 'None'], ['US', 'American'], ['KP', 'Best Korean'], ['BL', 'Black Nationalist'], ['CM', 'Communist'], ['CF', 'Confederate'], ['RE', 'Conservative'], ['EU', 'European'], ['GY', 'Gay'], ['PC', 'Hippie'], ['IL', 'Israeli'], ['DM', 'Liberal'], ['RP', 'Libertarian'], ['MF', 'Muslim'], ['NZ', 'Nazi'], ['OB', 'Obama'], ['PR', 'Pirate'], ['RB', 'Rebel'], ['TP', 'Tea Partier'], ['TX', 'Texan'], ['TR', 'Tree Hugger'], ['WP', 'White Supremacist']]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + flag = _ref[_i]; + fn(flag); + } + return select; + }, + flagsInput: function() { + var flag, nodes; + nodes = QR.nodes; + if (!nodes) { + return; + } + if (nodes.flag) { + $.rm(nodes.flag); + delete nodes.flag; + } + if (g.BOARD.ID === 'pol') { + flag = QR.flags(); + flag.dataset.name = 'flag'; + flag.dataset["default"] = '0'; + nodes.flag = flag; + return $.add(nodes.form, flag); + } + }, + preSubmitHooks: [], + submit: function(e) { + var challenge, err, extra, filetag, formData, hook, options, post, response, textOnly, thread, threadID, _i, _len, _ref, _ref1; + if (e != null) { + e.preventDefault(); + } + if (QR.req) { + QR.abort(); + return; + } + if (QR.cooldown.seconds) { + QR.cooldown.auto = !QR.cooldown.auto; + QR.status(); + return; + } + post = QR.posts[0]; + post.forceSave(); + if (g.BOARD.ID === 'f') { + filetag = QR.nodes.flashTag.value; + } + threadID = post.thread; + thread = g.BOARD.threads[threadID]; + if (threadID === 'new') { + threadID = null; + if (g.BOARD.ID === 'vg' && !post.sub) { + err = 'New threads require a subject.'; + } else if (!(post.file || (textOnly = !!$('input[name=textonly]', $.id('postForm'))))) { + err = 'No file selected.'; + } + } else if (g.BOARD.threads[threadID].isClosed) { + err = 'You can\'t reply to this thread anymore.'; + } else if (!(post.com || post.file)) { + err = 'No file selected.'; + } else if (post.file && thread.fileLimit) { + err = 'Max limit of image replies has been reached.'; + } else { + _ref = QR.preSubmitHooks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + hook = _ref[_i]; + if (err = hook(post, thread)) { + break; + } + } + } + if (QR.captcha.isEnabled && !err) { + _ref1 = QR.captcha.getOne(), challenge = _ref1.challenge, response = _ref1.response; + if (!response) { + err = 'No valid captcha.'; + } + } + QR.cleanNotifications(); + if (err) { + QR.cooldown.auto = false; + QR.status(); + QR.error(err); + return; + } + QR.cooldown.auto = QR.posts.length > 1; + if (Conf['Auto Hide QR'] && !QR.cooldown.auto) { + QR.hide(); + } + if (!QR.cooldown.auto && $.x('ancestor::div[@id="qr"]', d.activeElement)) { + d.activeElement.blur(); + } + post.lock(); + formData = { + resto: threadID, + name: post.name, + email: post.email, + sub: post.sub, + com: post.com, + upfile: post.file, + filetag: filetag, + spoiler: post.spoiler, + flag: post.flag, + textonly: textOnly, + mode: 'regist', + pwd: QR.persona.pwd, + recaptcha_challenge_field: challenge, + recaptcha_response_field: response + }; + options = { + responseType: 'document', + withCredentials: true, + onload: QR.response, + onerror: function() { + delete QR.req; + post.unlock(); + QR.cooldown.auto = false; + QR.status(); + return QR.error($.el('span', { + innerHTML: '4chan X encountered an error while posting. \n[Banned?] [More info]' + })); + } + }; + extra = { + form: $.formData(formData), + upCallbacks: { + onload: function() { + QR.req.isUploadFinished = true; + QR.req.uploadEndTime = Date.now(); + QR.req.progress = '...'; + return QR.status(); + }, + onprogress: function(e) { + QR.req.progress = "" + (Math.round(e.loaded / e.total * 100)) + "%"; + return QR.status(); + } + } + }; + QR.req = $.ajax("https://sys.4chan.org/" + g.BOARD + "/post", options, extra); + QR.req.uploadStartTime = Date.now(); + QR.req.progress = '...'; + return QR.status(); + }, + response: function() { + var URL, ban, captchasCount, err, h1, isReply, m, notif, post, postID, postsCount, req, resDoc, threadID, _, _ref, _ref1; + req = QR.req; + delete QR.req; + post = QR.posts[0]; + post.unlock(); + resDoc = req.response; + if (ban = $('.banType', resDoc)) { + err = $.el('span', ban.textContent.toLowerCase() === 'banned' ? { + innerHTML: "You are banned on " + ($('.board', resDoc).innerHTML) + "! ;_;
Click here to see the reason." + } : { + innerHTML: "You were issued a warning on " + ($('.board', resDoc).innerHTML) + " as " + ($('.nameBlock', resDoc).innerHTML) + ".
Reason: " + ($('.reason', resDoc).innerHTML) + }); + } else if (err = resDoc.getElementById('errmsg')) { + if ((_ref = $('a', err)) != null) { + _ref.target = '_blank'; + } + } else if (resDoc.title !== 'Post successful!') { + err = 'Connection error with sys.4chan.org.'; + } else if (req.status !== 200) { + err = "Error " + req.statusText + " (" + req.status + ")"; + } + if (err) { + if (/captcha|verification/i.test(err.textContent) || err === 'Connection error with sys.4chan.org.') { + if (/mistyped/i.test(err.textContent)) { + err = 'You seem to have mistyped the CAPTCHA.'; + } else if (/expired/i.test(err.textContent)) { + err = 'This CAPTCHA is no longer valid because it has expired.'; + } + QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false; + QR.cooldown.set({ + delay: 2 + }); + } else if (err.textContent && (m = err.textContent.match(/wait\s+(\d+)\s+second/i))) { + QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : true; + QR.cooldown.set({ + delay: m[1] + }); + } else { + QR.cooldown.auto = false; + } + QR.status(); + QR.error(err); + return; + } + h1 = $('h1', resDoc); + QR.cleanNotifications(); + if (Conf['Posting Success Notifications']) { + QR.notifications.push(new Notice('success', h1.textContent, 5)); + } + QR.persona.set(post); + _ref1 = h1.nextSibling.textContent.match(/thread:(\d+),no:(\d+)/), _ = _ref1[0], threadID = _ref1[1], postID = _ref1[2]; + postID = +postID; + threadID = +threadID || postID; + isReply = threadID !== postID; + QR.db.set({ + boardID: g.BOARD.ID, + threadID: threadID, + postID: postID, + val: true + }); + ThreadUpdater.postID = postID; + $.event('QRPostSuccessful', { + board: g.BOARD, + threadID: threadID, + postID: postID + }); + $.event('QRPostSuccessful_', { + threadID: threadID, + postID: postID + }); + postsCount = QR.posts.length - 1; + QR.cooldown.auto = postsCount && isReply; + if (QR.cooldown.auto && QR.captcha.isEnabled && (captchasCount = QR.captcha.captchas.length) < 3 && captchasCount < postsCount) { + notif = new Notification('Quick reply warning', { + body: "You are running low on cached captchas. Cache count: " + captchasCount + ".", + icon: Favicon.logo + }); + notif.onclick = function() { + QR.open(); + QR.captcha.nodes.input.focus(); + return window.focus(); + }; + notif.onshow = function() { + return setTimeout(function() { + return notif.close(); + }, 7 * $.SECOND); + }; + } + if (!(Conf['Persistent QR'] || QR.cooldown.auto)) { + QR.close(); + } else { + if (QR.posts.length > 1 && QR.captcha.isEnabled && QR.captcha.captchas.length === 0) { + QR.captcha.setup(); + } + post.rm(); + } + QR.cooldown.set({ + req: req, + post: post, + isReply: isReply, + threadID: threadID + }); + URL = threadID === postID ? "" + window.location.origin + "/" + g.BOARD + "/thread/" + threadID : g.VIEW === 'index' && !QR.cooldown.auto && Conf['Open Post in New Tab'] ? "" + window.location.origin + "/" + g.BOARD + "/thread/" + threadID + "#p" + postID : void 0; + if (URL) { + if (Conf['Open Post in New Tab']) { + $.open(URL); + } else { + window.location = URL; + } + } + return QR.status(); + }, + abort: function() { + if (QR.req && !QR.req.isUploadFinished) { + QR.req.abort(); + delete QR.req; + QR.posts[0].unlock(); + QR.cooldown.auto = false; + QR.notifications.push(new Notice('info', 'QR upload aborted.', 5)); + } + return QR.status(); + } + }; + + QR.captcha = { + init: function() { + var imgContainer, input; + if (d.cookie.indexOf('pass_enabled=1') >= 0) { + return; + } + if (!(this.isEnabled = !!$.id('captchaContainer'))) { + return; + } + if (Conf['Auto-load captcha']) { + $.globalEval('loadRecaptcha()'); + } + imgContainer = $.el('div', { + className: 'captcha-img', + title: 'Reload reCAPTCHA', + innerHTML: '' + }); + input = $.el('input', { + className: 'captcha-input field', + title: 'Verification', + autocomplete: 'off', + spellcheck: false, + tabIndex: 45 + }); + this.nodes = { + img: imgContainer.firstChild, + input: input + }; + $.on(input, 'blur', QR.focusout); + $.on(input, 'focus', QR.focusin); + $.on(input, 'keydown', QR.captcha.keydown.bind(QR.captcha)); + $.on(this.nodes.img.parentNode, 'click', QR.captcha.reload.bind(QR.captcha)); + $.addClass(QR.nodes.el, 'has-captcha'); + $.after(QR.nodes.com.parentNode, [imgContainer, input]); + this.captchas = []; + $.get('captchas', [], function(_arg) { + var captchas; + captchas = _arg.captchas; + QR.captcha.sync(captchas); + return QR.captcha.clear(); + }); + $.sync('captchas', this.sync); + new MutationObserver(this.afterSetup).observe($.id('captchaContainer'), { + childList: true + }); + this.beforeSetup(); + return this.afterSetup(); + }, + beforeSetup: function() { + var img, input, _ref; + _ref = this.nodes, img = _ref.img, input = _ref.input; + img.parentNode.hidden = true; + input.value = ''; + input.placeholder = 'Focus to load reCAPTCHA'; + this.count(); + return $.on(input, 'focus', this.setup); + }, + setup: function() { + return $.globalEval('loadRecaptcha()'); + }, + afterSetup: function() { + var challenge, img, input, setLifetime, _ref; + if (!(challenge = $.id('recaptcha_challenge_field_holder'))) { + return; + } + if (challenge === QR.captcha.nodes.challenge) { + return; + } + setLifetime = function(e) { + return QR.captcha.lifetime = e.detail; + }; + $.on(window, 'captcha:timeout', setLifetime); + $.globalEval('window.dispatchEvent(new CustomEvent("captcha:timeout", {detail: RecaptchaState.timeout}))'); + $.off(window, 'captcha:timeout', setLifetime); + _ref = QR.captcha.nodes, img = _ref.img, input = _ref.input; + img.parentNode.hidden = false; + input.placeholder = 'Verification'; + QR.captcha.count(); + $.off(input, 'focus', QR.captcha.setup); + QR.captcha.nodes.challenge = challenge; + new MutationObserver(QR.captcha.load.bind(QR.captcha)).observe(challenge, { + childList: true, + subtree: true, + attributes: true + }); + return QR.captcha.load(); + }, + destroy: function() { + $.globalEval('Recaptcha.destroy()'); + return this.beforeSetup(); + }, + sync: function(captchas) { + QR.captcha.captchas = captchas; + return QR.captcha.count(); + }, + getOne: function() { + var captcha, challenge, response; + this.clear(); + if (captcha = this.captchas.shift()) { + challenge = captcha.challenge, response = captcha.response; + this.count(); + $.set('captchas', this.captchas); + } else { + challenge = this.nodes.img.alt; + if (response = this.nodes.input.value) { + if (Conf['Auto-load captcha']) { + this.reload(); + } else { + this.destroy(); + } + } + } + if (response) { + response = response.trim(); + if (!/\s/.test(response)) { + response = "" + response + " " + response; + } + } + return { + challenge: challenge, + response: response + }; + }, + save: function() { + var response; + if (!(response = this.nodes.input.value.trim())) { + return; + } + this.nodes.input.value = ''; + this.captchas.push({ + challenge: this.nodes.img.alt, + response: response, + timeout: this.timeout + }); + this.count(); + this.reload(); + return $.set('captchas', this.captchas); + }, + clear: function() { + var captcha, i, now, _i, _len, _ref; + if (!this.captchas.length) { + return; + } + now = Date.now(); + _ref = this.captchas; + for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) { + captcha = _ref[i]; + if (captcha.timeout > now) { + break; + } + } + if (!i) { + return; + } + this.captchas = this.captchas.slice(i); + this.count(); + return $.set('captchas', this.captchas); + }, + load: function() { + var challenge, challenge_image; + if (!this.nodes.challenge.firstChild) { + return; + } + if (!(challenge_image = $.id('recaptcha_challenge_image'))) { + return; + } + this.timeout = Date.now() + this.lifetime * $.SECOND - $.MINUTE; + challenge = this.nodes.challenge.firstChild.value; + this.nodes.img.alt = challenge; + this.nodes.img.src = challenge_image.src; + this.nodes.input.value = null; + return this.clear(); + }, + count: function() { + var count, placeholder; + count = this.captchas ? this.captchas.length : 0; + placeholder = this.nodes.input.placeholder.replace(/\ \(.*\)$/, ''); + placeholder += (function() { + switch (count) { + case 0: + if (placeholder === 'Verification') { + return ' (Shift + Enter to cache)'; + } else { + return ''; + } + break; + case 1: + return ' (1 cached captcha)'; + default: + return " (" + count + " cached captchas)"; + } + })(); + this.nodes.input.placeholder = placeholder; + return this.nodes.input.alt = count; + }, + reload: function(focus) { + $.globalEval('Recaptcha.reload(); Recaptcha.should_focus = false;'); + if (focus) { + return this.nodes.input.focus(); + } + }, + keydown: function(e) { + if (e.keyCode === 8 && !this.nodes.input.value) { + this.reload(); + } else if (e.keyCode === 13 && e.shiftKey) { + this.save(); + } else { + return; + } + return e.preventDefault(); + } + }; + + QR.cooldown = { + init: function() { + var key, setTimers, type; + if (!Conf['Cooldown']) { + return; + } + setTimers = (function(_this) { + return function(e) { + return QR.cooldown.types = e.detail; + }; + })(this); + $.on(window, 'cooldown:timers', setTimers); + $.globalEval('window.dispatchEvent(new CustomEvent("cooldown:timers", {detail: cooldowns}))'); + $.off(window, 'cooldown:timers', setTimers); + for (type in QR.cooldown.types) { + QR.cooldown.types[type] = +QR.cooldown.types[type]; + } + QR.cooldown.upSpd = 0; + QR.cooldown.upSpdAccuracy = .5; + key = "cooldown." + g.BOARD; + $.get(key, {}, function(item) { + QR.cooldown.cooldowns = item[key]; + return QR.cooldown.start(); + }); + return $.sync(key, QR.cooldown.sync); + }, + start: function() { + if (!Conf['Cooldown']) { + return; + } + if (QR.cooldown.isCounting) { + return; + } + QR.cooldown.isCounting = true; + return QR.cooldown.count(); + }, + sync: function(cooldowns) { + var id; + for (id in cooldowns) { + QR.cooldown.cooldowns[id] = cooldowns[id]; + } + return QR.cooldown.start(); + }, + set: function(data) { + var cooldown, delay, isReply, post, req, start, threadID, upSpd; + if (!Conf['Cooldown']) { + return; + } + req = data.req, post = data.post, isReply = data.isReply, threadID = data.threadID, delay = data.delay; + start = req ? req.uploadEndTime : Date.now(); + if (delay) { + cooldown = { + delay: delay + }; + } else { + if (post.file) { + upSpd = post.file.size / ((start - req.uploadStartTime) / $.SECOND); + QR.cooldown.upSpdAccuracy = ((upSpd > QR.cooldown.upSpd * .9) + QR.cooldown.upSpdAccuracy) / 2; + QR.cooldown.upSpd = upSpd; + } + cooldown = { + isReply: isReply, + threadID: threadID + }; + } + QR.cooldown.cooldowns[start] = cooldown; + $.set("cooldown." + g.BOARD, QR.cooldown.cooldowns); + return QR.cooldown.start(); + }, + unset: function(id) { + delete QR.cooldown.cooldowns[id]; + if (Object.keys(QR.cooldown.cooldowns).length) { + return $.set("cooldown." + g.BOARD, QR.cooldown.cooldowns); + } else { + return $["delete"]("cooldown." + g.BOARD); + } + }, + count: function() { + var cooldown, cooldowns, elapsed, hasFile, isReply, maxTimer, now, post, seconds, start, type, types, upSpd, upSpdAccuracy, update, _ref; + if (!Object.keys(QR.cooldown.cooldowns).length) { + $["delete"]("" + g.BOARD + ".cooldown"); + delete QR.cooldown.isCounting; + delete QR.cooldown.seconds; + QR.status(); + return; + } + clearTimeout(QR.cooldown.timeout); + QR.cooldown.timeout = setTimeout(QR.cooldown.count, $.SECOND); + now = Date.now(); + post = QR.posts[0]; + isReply = post.thread !== 'new'; + hasFile = !!post.file; + seconds = null; + _ref = QR.cooldown, types = _ref.types, cooldowns = _ref.cooldowns, upSpd = _ref.upSpd, upSpdAccuracy = _ref.upSpdAccuracy; + for (start in cooldowns) { + cooldown = cooldowns[start]; + if ('delay' in cooldown) { + if (cooldown.delay) { + seconds = Math.max(seconds, cooldown.delay--); + } else { + seconds = Math.max(seconds, 0); + QR.cooldown.unset(start); + } + continue; + } + if (isReply === cooldown.isReply) { + elapsed = Math.floor((now - start) / $.SECOND); + if (elapsed < 0) { + continue; + } + type = !isReply ? 'thread' : hasFile ? 'image' : 'reply'; + maxTimer = Math.max(types[type] || 0, types[type + '_intra'] || 0); + if (!((start <= now && now <= start + maxTimer * $.SECOND))) { + QR.cooldown.unset(start); + } + if (isReply && +post.thread === cooldown.threadID) { + type += '_intra'; + } + seconds = Math.max(seconds, types[type] - elapsed); + } + } + if (seconds && Conf['Cooldown Prediction'] && hasFile && upSpd) { + seconds -= Math.floor(post.file.size / upSpd * upSpdAccuracy); + seconds = seconds > 0 ? seconds : 0; + } + update = seconds !== null || !!QR.cooldown.seconds; + QR.cooldown.seconds = seconds; + if (update) { + QR.status(); + } + if (seconds === 0 && QR.cooldown.auto && !QR.req) { + return QR.submit(); + } + } + }; + + QR.persona = { + pwd: '', + always: {}, + init: function() { + QR.persona.getPassword(); + return $.get('QR.personas', Conf['QR.personas'], function(_arg) { + var arr, item, personas, type, types, _i, _len, _ref; + personas = _arg['QR.personas']; + types = { + name: [], + email: [], + sub: [] + }; + _ref = personas.split('\n'); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + item = _ref[_i]; + QR.persona.parseItem(item.trim(), types); + } + for (type in types) { + arr = types[type]; + QR.persona.loadPersonas(type, arr); + } + }); + }, + parseItem: function(item, types) { + var boards, match, type, val, _ref, _ref1, _ref2; + if (item[0] === '#') { + return; + } + if (!(match = item.match(/(name|email|subject|password):"(.*)"/i))) { + return; + } + _ref = match, match = _ref[0], type = _ref[1], val = _ref[2]; + item = item.replace(match, ''); + boards = ((_ref1 = item.match(/boards:([^;]+)/i)) != null ? _ref1[1].toLowerCase() : void 0) || 'global'; + if (boards !== 'global' && (_ref2 = g.BOARD.ID, __indexOf.call(boards.split(','), _ref2) < 0)) { + return; + } + if (type === 'password') { + QR.persona.pwd = val; + return; + } + if (type === 'subject') { + type = 'sub'; + } + if (/always/i.test(item)) { + QR.persona.always[type] = val; + } + if (__indexOf.call(types[type], val) < 0) { + return types[type].push(val); + } + }, + loadPersonas: function(type, arr) { + var list, val, _i, _len; + list = $("#list-" + type, QR.nodes.el); + for (_i = 0, _len = arr.length; _i < _len; _i++) { + val = arr[_i]; + if (val) { + $.add(list, $.el('option', { + textContent: val + })); + } + } + }, + getPassword: function() { + var input, m, _ref; + if (!QR.persona.pwd) { + QR.persona.pwd = (m = d.cookie.match(/4chan_pass=([^;]+)/)) ? decodeURIComponent(m[1]) : (input = $.id('postPassword')) ? input.value : ((_ref = $.id('delPassword')) != null ? _ref.value : void 0) || ''; + } + return QR.persona.pwd; + }, + get: function(cb) { + return $.get('QR.persona', {}, function(_arg) { + var persona; + persona = _arg['QR.persona']; + return cb(persona); + }); + }, + set: function(post) { + return $.get('QR.persona', {}, function(_arg) { + var persona; + persona = _arg['QR.persona']; + persona = { + name: post.name, + email: /^sage$/.test(post.email) ? persona.email : post.email, + sub: Conf['Remember Subject'] ? post.sub : void 0, + flag: post.flag + }; + return $.set('QR.persona', persona); + }); + } + }; + + QR.post = (function() { + function _Class(select) { + this.select = __bind(this.select, this); + var el, event, prev, _i, _len, _ref; + el = $.el('a', { + className: 'qr-preview', + draggable: true, + href: 'javascript:;', + innerHTML: '' + }); + this.nodes = { + el: el, + rm: el.firstChild, + label: $('label', el), + spoiler: $('input', el), + span: el.lastChild + }; + $.on(el, 'click', this.select); + $.on(this.nodes.rm, 'click', (function(_this) { + return function(e) { + e.stopPropagation(); + return _this.rm(); + }; + })(this)); + $.on(this.nodes.label, 'click', (function(_this) { + return function(e) { + return e.stopPropagation(); + }; + })(this)); + $.on(this.nodes.spoiler, 'change', (function(_this) { + return function(e) { + _this.spoiler = e.target.checked; + if (_this === QR.selected) { + return QR.nodes.spoiler.checked = _this.spoiler; + } + }; + })(this)); + $.add(QR.nodes.dumpList, el); + _ref = ['dragStart', 'dragEnter', 'dragLeave', 'dragOver', 'dragEnd', 'drop']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + event = _ref[_i]; + $.on(el, event.toLowerCase(), this[event]); + } + this.thread = g.VIEW === 'thread' ? g.THREADID : 'new'; + prev = QR.posts[QR.posts.length - 1]; + QR.posts.push(this); + this.nodes.spoiler.checked = this.spoiler = prev && Conf['Remember Spoiler'] ? prev.spoiler : false; + QR.persona.get((function(_this) { + return function(persona) { + _this.name = 'name' in QR.persona.always ? QR.persona.always.name : prev ? prev.name : persona.name; + _this.email = 'email' in QR.persona.always ? QR.persona.always.email : prev && !/^sage$/.test(prev.email) ? prev.email : persona.email; + _this.sub = 'sub' in QR.persona.always ? QR.persona.always.sub : Conf['Remember Subject'] ? prev ? prev.sub : persona.sub : ''; + if (QR.nodes.flag) { + _this.flag = prev ? prev.flag : persona.flag; + } + if (QR.selected === _this) { + return _this.load(); + } + }; + })(this)); + if (select) { + this.select(); + } + this.unlock(); + } + + _Class.prototype.rm = function() { + var index; + this["delete"](); + index = QR.posts.indexOf(this); + if (QR.posts.length === 1) { + new QR.post(true); + $.rmClass(QR.nodes.el, 'dump'); + } else if (this === QR.selected) { + (QR.posts[index - 1] || QR.posts[index + 1]).select(); + } + QR.posts.splice(index, 1); + return QR.status(); + }; + + _Class.prototype["delete"] = function() { + $.rm(this.nodes.el); + return URL.revokeObjectURL(this.URL); + }; + + _Class.prototype.lock = function(lock) { + var name, node, _i, _len, _ref; + if (lock == null) { + lock = true; + } + this.isLocked = lock; + if (this !== QR.selected) { + return; + } + _ref = ['thread', 'name', 'email', 'sub', 'com', 'fileButton', 'filename', 'spoiler', 'flag']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + name = _ref[_i]; + if (node = QR.nodes[name]) { + node.disabled = lock; + } + } + this.nodes.rm.style.visibility = lock ? 'hidden' : ''; + (lock ? $.off : $.on)(QR.nodes.filename.previousElementSibling, 'click', QR.openFileInput); + this.nodes.spoiler.disabled = lock; + return this.nodes.el.draggable = !lock; + }; + + _Class.prototype.unlock = function() { + return this.lock(false); + }; + + _Class.prototype.select = function() { + var rectEl, rectList; + if (QR.selected) { + QR.selected.nodes.el.id = null; + QR.selected.forceSave(); + } + QR.selected = this; + this.lock(this.isLocked); + this.nodes.el.id = 'selected'; + rectEl = this.nodes.el.getBoundingClientRect(); + rectList = this.nodes.el.parentNode.getBoundingClientRect(); + this.nodes.el.parentNode.scrollLeft += rectEl.left + rectEl.width / 2 - rectList.left - rectList.width / 2; + this.load(); + return $.event('QRPostSelection', this); + }; + + _Class.prototype.load = function() { + var name, node, _i, _len, _ref; + _ref = ['thread', 'name', 'email', 'sub', 'com', 'filename', 'flag']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + name = _ref[_i]; + if (!(node = QR.nodes[name])) { + continue; + } + node.value = this[name] || node.dataset["default"] || null; + } + this.showFileData(); + return QR.characterCount(); + }; + + _Class.prototype.save = function(input) { + var name, _ref; + if (input.type === 'checkbox') { + this.spoiler = input.checked; + return; + } + name = input.dataset.name; + this[name] = input.value || input.dataset["default"] || null; + switch (name) { + case 'thread': + return QR.status(); + case 'com': + this.nodes.span.textContent = this.com; + QR.characterCount(); + if (QR.cooldown.auto && this === QR.posts[0] && (0 < (_ref = QR.cooldown.seconds) && _ref <= 5)) { + return QR.cooldown.auto = false; + } + break; + case 'filename': + if (!this.file) { + return; + } + this.file.newName = this.filename.replace(/[/\\]/g, '-'); + if (!/\.(jpe?g|png|gif|pdf|swf|webm)$/i.test(this.filename)) { + this.file.newName += '.jpg'; + } + return this.updateFilename(); + } + }; + + _Class.prototype.forceSave = function() { + var name, node, _i, _len, _ref; + if (this !== QR.selected) { + return; + } + _ref = ['thread', 'name', 'email', 'sub', 'com', 'filename', 'spoiler', 'flag']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + name = _ref[_i]; + if (!(node = QR.nodes[name])) { + continue; + } + this.save(node); + } + }; + + _Class.prototype.setFile = function(file, el) { + this.file = file; + this.filename = file.name; + this.filesize = $.bytesToString(file.size); + if (QR.spoiler) { + this.nodes.label.hidden = false; + } + URL.revokeObjectURL(this.URL); + if (this === QR.selected) { + this.showFileData(); + } + if (el) { + return this.setThumbnail(el); + } else { + return this.nodes.el.style.backgroundImage = null; + } + }; + + _Class.prototype.setThumbnail = function(el) { + var cv, height, isVideo, s, width; + isVideo = el.tagName === 'VIDEO'; + s = 90 * 2 * window.devicePixelRatio; + if (this.file.type === 'image/gif') { + s *= 3; + } + if (isVideo) { + height = el.videoHeight; + width = el.videoWidth; + } else { + height = el.height, width = el.width; + if (height < s || width < s) { + this.URL = el.src; + this.nodes.el.style.backgroundImage = "url(" + this.URL + ")"; + return; + } + } + if (height <= width) { + width = s / height * width; + height = s; + } else { + height = s / width * height; + width = s; + } + cv = $.el('canvas'); + cv.height = height; + cv.width = width; + cv.getContext('2d').drawImage(el, 0, 0, width, height); + URL.revokeObjectURL(el.src); + return cv.toBlob((function(_this) { + return function(blob) { + _this.URL = URL.createObjectURL(blob); + return _this.nodes.el.style.backgroundImage = "url(" + _this.URL + ")"; + }; + })(this)); + }; + + _Class.prototype.rmFile = function() { + if (this.isLocked) { + return; + } + delete this.file; + delete this.filename; + delete this.filesize; + this.nodes.el.title = null; + QR.nodes.fileContainer.title = ''; + this.nodes.el.style.backgroundImage = null; + if (QR.spoiler) { + this.nodes.label.hidden = true; + } + this.showFileData(); + return URL.revokeObjectURL(this.URL); + }; + + _Class.prototype.updateFilename = function() { + var long; + long = "" + this.filename + " (" + this.filesize + ")\nCtrl+click to edit filename. Shift+click to clear."; + this.nodes.el.title = long; + if (this !== QR.selected) { + return; + } + return QR.nodes.fileContainer.title = long; + }; + + _Class.prototype.showFileData = function() { + if (this.file) { + this.updateFilename(); + QR.nodes.filename.value = this.filename; + QR.nodes.spoiler.checked = this.spoiler; + return $.addClass(QR.nodes.fileSubmit, 'has-file'); + } else { + return $.rmClass(QR.nodes.fileSubmit, 'has-file'); + } + }; + + _Class.prototype.pasteText = function(file) { + var reader; + reader = new FileReader(); + reader.onload = (function(_this) { + return function(e) { + var text; + text = e.target.result; + if (_this.com) { + _this.com += "\n" + text; + } else { + _this.com = text; + } + if (QR.selected === _this) { + QR.nodes.com.value = _this.com; + } + return _this.nodes.span.textContent = _this.com; + }; + })(this); + return reader.readAsText(file); + }; + + _Class.prototype.dragStart = function(e) { + e.dataTransfer.setDragImage(this, e.layerX, e.layerY); + return $.addClass(this, 'drag'); + }; + + _Class.prototype.dragEnd = function() { + return $.rmClass(this, 'drag'); + }; + + _Class.prototype.dragEnter = function() { + return $.addClass(this, 'over'); + }; + + _Class.prototype.dragLeave = function() { + return $.rmClass(this, 'over'); + }; + + _Class.prototype.dragOver = function(e) { + e.preventDefault(); + return e.dataTransfer.dropEffect = 'move'; + }; + + _Class.prototype.drop = function() { + var el, index, newIndex, oldIndex, post; + $.rmClass(this, 'over'); + if (!this.draggable) { + return; + } + el = $('.drag', this.parentNode); + index = function(el) { + return __slice.call(el.parentNode.children).indexOf(el); + }; + oldIndex = index(el); + newIndex = index(this); + (oldIndex < newIndex ? $.after : $.before)(this, el); + post = QR.posts.splice(oldIndex, 1)[0]; + QR.posts.splice(newIndex, 0, post); + return QR.status(); + }; + + return _Class; + + })(); + + AutoGIF = { + init: function() { + var _ref; + if (g.VIEW === 'catalog' || !Conf['Auto-GIF'] || ((_ref = g.BOARD.ID) === 'gif' || _ref === 'wsg')) { + return; + } + return Post.callbacks.push({ + name: 'Auto-GIF', + cb: this.node + }); + }, + node: function() { + var URL, gif, style, thumb, _ref, _ref1; + if (this.isClone || this.isHidden || this.thread.isHidden || !((_ref = this.file) != null ? _ref.isImage : void 0)) { + return; + } + _ref1 = this.file, thumb = _ref1.thumb, URL = _ref1.URL; + if (!(/gif$/.test(URL) && !/spoiler/.test(thumb.src))) { + return; + } + if (this.file.isSpoiler) { + style = thumb.style; + style.maxHeight = style.maxWidth = this.isReply ? '125px' : '250px'; + } + gif = $.el('img'); + $.on(gif, 'load', function() { + return thumb.src = URL; + }); + return gif.src = URL; + } + }; + + FappeTyme = { + init: function() { + var el, input, lc, type, _i, _len, _ref; + if (!(Conf['Fappe Tyme'] || Conf['Werk Tyme']) || g.VIEW === 'catalog' || g.BOARD === 'f') { + return; + } + _ref = ["Fappe", "Werk"]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + if (!Conf["" + type + " Tyme"]) { + continue; + } + lc = type.toLowerCase(); + el = UI.checkbox(lc, " " + type + " Tyme", false); + el.title = "" + type + " Tyme"; + FappeTyme[lc] = input = el.firstElementChild; + $.on(input, 'change', FappeTyme.cb.toggle.bind(input)); + $.event('AddMenuEntry', { + type: 'header', + el: el, + order: 97 + }); + if (Conf[lc]) { + FappeTyme.cb.set(lc); + } + } + return Post.callbacks.push({ + name: 'Fappe Tyme', + cb: this.node + }); + }, + node: function() { + if (this.file) { + return; + } + return $.addClass(this.nodes.root, "noFile"); + }, + cb: { + set: function(type) { + FappeTyme[type].checked = Conf[type]; + return $["" + (Conf[type] ? 'add' : 'rm') + "Class"](doc, "" + type + "Tyme"); + }, + toggle: function() { + Conf[this.name] = !Conf[this.name]; + FappeTyme.cb.set(this.name); + return $.cb.checked.call(FappeTyme[this.name]); + } + } + }; + + Gallery = { + init: function() { + var el; + if (g.VIEW === 'catalog' || g.BOARD === 'f' || !Conf['Gallery']) { + return; + } + el = $.el('a', { + href: 'javascript:;', + id: 'appchan-gal', + title: 'Gallery', + className: 'fa fa-picture-o', + textContent: 'Gallery' + }); + $.on(el, 'click', this.cb.toggle); + Header.addShortcut(el); + return Post.callbacks.push({ + name: 'Gallery', + cb: this.node + }); + }, + node: function() { + if (!this.file) { + return; + } + if (Gallery.nodes) { + Gallery.generateThumb($('.file', this.nodes.root)); + Gallery.nodes.total.textContent = Gallery.images.length; + } + if (!Conf['Image Expansion']) { + return $.on(this.file.thumb.parentNode, 'click', Gallery.cb.image); + } + }, + build: function(image) { + var cb, createSubEntry, dialog, el, file, files, i, key, menuButton, name, nodes, value, _ref; + Gallery.images = []; + nodes = Gallery.nodes = {}; + nodes.el = dialog = $.el('div', { + id: 'a-gallery', + innerHTML: '
' + }); + _ref = { + frame: '.gal-image', + name: '.gal-name', + count: '.count', + total: '.total', + thumbs: '.gal-thumbnails', + next: '.gal-image a', + current: '.gal-image img' + }; + for (key in _ref) { + value = _ref[key]; + nodes[key] = $(value, dialog); + } + menuButton = $('.menu-button', dialog); + nodes.menu = new UI.Menu('gallery'); + cb = Gallery.cb; + $.on(nodes.frame, 'click', cb.blank); + $.on(nodes.next, 'click', cb.advance); + $.on($('.gal-prev', dialog), 'click', cb.prev); + $.on($('.gal-next', dialog), 'click', cb.next); + $.on($('.gal-close', dialog), 'click', cb.close); + $.on(menuButton, 'click', function(e) { + return nodes.menu.toggle(e, this, g); + }); + createSubEntry = Gallery.menu.createSubEntry; + for (name in Config.gallery) { + el = createSubEntry(name).el; + $.event('AddMenuEntry', { + type: 'gallery', + el: el, + order: 0 + }); + } + $.on(d, 'keydown', cb.keybinds); + $.off(d, 'keydown', Keybinds.keydown); + i = 0; + files = $$('.post .file'); + while (file = files[i++]) { + if ($('.fileDeletedRes, .fileDeleted', file)) { + continue; + } + Gallery.generateThumb(file); + } + $.add(d.body, dialog); + nodes.thumbs.scrollTop = 0; + nodes.current.parentElement.scrollTop = 0; + Gallery.cb.open.call(image ? $("[href='" + (image.href.replace(/https?:/, '')) + "']", nodes.thumbs) : Gallery.images[0]); + d.body.style.overflow = 'hidden'; + return nodes.total.textContent = --i; + }, + generateThumb: function(file) { + var post, thumb, thumbImg, title; + post = Get.postFromNode(file); + if (!(post.file && (post.file.isImage || post.file.isVideo || Conf['PDF in Gallery']))) { + return; + } + title = ($('.fileText a', file)).textContent; + thumb = $.el('a', { + className: 'gal-thumb', + href: post.file.URL, + target: '_blank', + title: title + }); + thumb.dataset.id = Gallery.images.length; + thumb.dataset.post = $('a[title="Link to this post"]', post.nodes.info).href; + thumbImg = post.file.thumb.cloneNode(false); + thumbImg.style.cssText = ''; + $.add(thumb, thumbImg); + $.on(thumb, 'click', Gallery.cb.open); + Gallery.images.push(thumb); + return $.add(Gallery.nodes.thumbs, thumb); + }, + cb: { + keybinds: function(e) { + var cb, key; + if (!(key = Keybinds.keyCode(e))) { + return; + } + cb = (function() { + switch (key) { + case 'Esc': + case Conf['Open Gallery']: + return Gallery.cb.close; + case 'Right': + return Gallery.cb.next; + case 'Enter': + return Gallery.cb.advance; + case 'Left': + case '': + return Gallery.cb.prev; + } + })(); + if (!cb) { + return; + } + e.stopPropagation(); + e.preventDefault(); + return cb(); + }, + open: function(e) { + var el, elType, img, name, nodes, rect, top, _base; + if (e) { + e.preventDefault(); + } + if (!this) { + return; + } + nodes = Gallery.nodes; + name = nodes.name; + if (el = $('.gal-highlight', Gallery.thumbs)) { + $.rmClass(el, 'gal-highlight'); + } + $.addClass(this, 'gal-highlight'); + elType = 'img'; + if (/\.webm$/.test(this.href)) { + elType = 'video'; + } + if (/\.pdf$/.test(this.href)) { + elType = 'iframe'; + } + (elType === 'iframe' ? $.addClass : $.rmClass)(doc, 'gal-pdf'); + img = $.el(elType, { + src: name.href = this.href, + title: name.download = name.textContent = this.title + }); + if (elType === 'video') { + img.loop = true; + img.autoplay = Conf['Autoplay']; + } + $.extend(img.dataset, this.dataset); + if (typeof (_base = nodes.current).pause === "function") { + _base.pause(); + } + $.replace(nodes.current, img); + nodes.count.textContent = +this.dataset.id + 1; + nodes.current = img; + nodes.frame.scrollTop = 0; + nodes.next.focus(); + rect = this.getBoundingClientRect(); + top = rect.top; + if (top > 0) { + top += rect.height - doc.clientHeight; + if (top < 0) { + return; + } + } + nodes.thumbs.scrollTop += top; + return $.on(img, 'error', function() { + return Gallery.cb.error(img, thumb); + }); + }, + image: function(e) { + e.preventDefault(); + e.stopPropagation(); + return Gallery.build(this); + }, + error: function(img, thumb) { + var URL, post, src; + post = Get.postFromLink($.el('a', { + href: img.dataset.post + })); + delete post.file.fullImage; + src = this.src.split('/'); + if (src[2] === 'i.4cdn.org') { + URL = Redirect.to('file', { + boardID: src[3], + filename: src[src.length - 1] + }); + if (URL) { + thumb.href = URL; + if (Gallery.nodes.current !== img) { + return; + } + img.src = URL; + return; + } + if (g.DEAD || post.isDead || post.file.isDead) { + return; + } + } + return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", { + onload: function() { + var i, postObj, posts; + if (this.status !== 200) { + return; + } + i = 0; + posts = this.response.posts; + while (postObj = posts[i++]) { + if (postObj.no === post.ID) { + break; + } + } + if (!postObj.no) { + return post.kill(); + } + if (postObj.filedeleted) { + return post.kill(true); + } + } + }); + }, + prev: function() { + return Gallery.cb.open.call(Gallery.images[+Gallery.nodes.current.dataset.id - 1]); + }, + next: function() { + return Gallery.cb.open.call(Gallery.images[+Gallery.nodes.current.dataset.id + 1]); + }, + advance: function() { + if (Gallery.nodes.current.paused) { + return Gallery.nodes.current.play(); + } else { + return Gallery.cb.next(); + } + }, + pause: function() { + if (Gallery.nodes.current.nodeType === 'VIDEO') { + if (Gallery.nodes.current.paused) { + return Gallery.nodes.current.play(); + } else { + return Gallery.nodes.current.pause(); + } + } + }, + toggle: function() { + return (Gallery.nodes ? Gallery.cb.close : Gallery.build)(); + }, + blank: function(e) { + if (e.target === this) { + return Gallery.cb.close(); + } + }, + close: function() { + var _base; + if (typeof (_base = Gallery.nodes.current).pause === "function") { + _base.pause(); + } + $.rm(Gallery.nodes.el); + delete Gallery.nodes; + d.body.style.overflow = ''; + $.off(d, 'keydown', Gallery.cb.keybinds); + return $.on(d, 'keydown', Keybinds.keydown); + }, + setFitness: function() { + return (this.checked ? $.addClass : $.rmClass)(doc, "gal-" + (this.name.toLowerCase().replace(/\s+/g, '-'))); + } + }, + menu: { + init: function() { + var createSubEntry, el, name, subEntries; + if (g.VIEW === 'catalog' || !Conf['Gallery']) { + return; + } + el = $.el('span', { + textContent: 'Gallery', + className: 'gallery-link' + }); + createSubEntry = Gallery.menu.createSubEntry; + subEntries = []; + for (name in Config.gallery) { + subEntries.push(createSubEntry(name)); + } + return $.event('AddMenuEntry', { + type: 'header', + el: el, + order: 105, + subEntries: subEntries + }); + }, + createSubEntry: function(name) { + var input, label; + label = UI.checkbox(name, " " + name); + input = label.firstElementChild; + if (name === 'Fit Width' || name === 'Fit Height' || name === 'Hide Thumbnails') { + $.on(input, 'change', Gallery.cb.setFitness); + } + $.event('change', null, input); + $.on(input, 'change', $.cb.checked); + return { + el: label + }; + } + } + }; + + ImageExpand = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Image Expansion']) { + return; + } + this.EAI = $.el('a', { + className: 'expand-all-shortcut fa fa-expand', + textContent: 'EAI', + title: 'Expand All Images', + href: 'javascript:;' + }); + $.on(this.EAI, 'click', ImageExpand.cb.toggleAll); + Header.addShortcut(this.EAI, 3); + return Post.callbacks.push({ + name: 'Image Expansion', + cb: this.node + }); + }, + node: function() { + var clone, thumb, _ref, _ref1; + if (!(((_ref = this.file) != null ? _ref.isImage : void 0) || ((_ref1 = this.file) != null ? _ref1.isVideo : void 0))) { + return; + } + thumb = this.file.thumb; + $.on(thumb.parentNode, 'click', ImageExpand.cb.toggle); + if (this.isClone && $.hasClass(thumb, 'expanding')) { + ImageExpand.contract(this); + return ImageExpand.expand(this); + } else if (this.isClone && this.file.isExpanded && this.file.isVideo) { + clone = this; + ImageExpand.setupVideoControls(clone); + if (!clone.origin.file.fullImage.paused) { + return $.queueTask(function() { + return Video.start(clone.file.fullImage); + }); + } + } else if (ImageExpand.on && !this.isHidden && (Conf['Expand spoilers'] || !this.file.isSpoiler) && (Conf['Expand videos'] || !this.file.isVideo)) { + return ImageExpand.expand(this, null, true); + } + }, + cb: { + toggle: function(e) { + var post, _ref; + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || e.button !== 0) { + return; + } + post = Get.postFromNode(this); + if (post.file.isExpanded && ((_ref = post.file.fullImage) != null ? _ref.controls : void 0)) { + return; + } + e.preventDefault(); + return ImageExpand.toggle(post); + }, + toggleAll: function() { + var func, toggle; + $.event('CloseMenu'); + toggle = function(post) { + var file; + file = post.file; + if (!(file && (file.isImage || file.isVideo) && doc.contains(post.nodes.root))) { + return; + } + if (ImageExpand.on && (!Conf['Expand spoilers'] && file.isSpoiler || !Conf['Expand videos'] && file.isVideo || Conf['Expand from here'] && Header.getTopOf(file.thumb) < 0)) { + return; + } + return $.queueTask(func, post); + }; + if (ImageExpand.on = $.hasClass(ImageExpand.EAI, 'expand-all-shortcut')) { + ImageExpand.EAI.className = 'contract-all-shortcut fa fa-compress'; + ImageExpand.EAI.title = 'Contract All Images'; + func = function(post) { + return ImageExpand.expand(post, null, true); + }; + } else { + ImageExpand.EAI.className = 'expand-all-shortcut fa fa-expand'; + ImageExpand.EAI.title = 'Expand All Images'; + func = ImageExpand.contract; + } + return g.posts.forEach(function(post) { + var _i, _len, _ref; + toggle(post); + _ref = post.clones; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + post = _ref[_i]; + toggle(post); + } + }); + }, + setFitness: function() { + return (this.checked ? $.addClass : $.rmClass)(doc, this.name.toLowerCase().replace(/\s+/g, '-')); + } + }, + toggle: function(post) { + var headRect, left, root, thumb, top, x, y, _ref; + thumb = post.file.thumb; + if (!(post.file.isExpanded || $.hasClass(thumb, 'expanding'))) { + ImageExpand.expand(post); + return; + } + root = post.nodes.root; + _ref = (Conf['Advance on contract'] ? (function() { + var next; + next = root; + while (next = $.x("following::div[contains(@class,'postContainer')][1]", next)) { + if ($('.stub', next) || next.offsetHeight === 0) { + continue; + } + return next; + } + return root; + })() : root).getBoundingClientRect(), top = _ref.top, left = _ref.left; + if (top < 0) { + y = top; + if (Conf['Fixed Header'] && !Conf['Bottom Header']) { + headRect = Header.bar.getBoundingClientRect(); + y -= headRect.top + headRect.height; + } + } + if (left < 0) { + x = -window.scrollX; + } + if (x || y) { + window.scrollBy(x, y); + } + return ImageExpand.contract(post); + }, + contract: function(post) { + var cb, eventName, video, _ref; + if (post.file.isVideo && (video = post.file.fullImage)) { + video.pause(); + TrashQueue.add(video, post); + post.file.thumb.parentNode.href = video.src; + post.file.thumb.parentNode.target = '_blank'; + _ref = ImageExpand.videoCB; + for (eventName in _ref) { + cb = _ref[eventName]; + $.off(video, eventName, cb); + } + $.rm(post.file.videoControls); + delete post.file.videoControls; + } + $.rmClass(post.nodes.root, 'expanded-image'); + $.rmClass(post.file.thumb, 'expanding'); + return post.file.isExpanded = false; + }, + expand: function(post, src, disableAutoplay) { + var el, isVideo, thumb, _ref; + _ref = post.file, thumb = _ref.thumb, isVideo = _ref.isVideo; + if (post.isHidden || post.file.isExpanded || $.hasClass(thumb, 'expanding')) { + return; + } + $.addClass(thumb, 'expanding'); + if (el = post.file.fullImage) { + TrashQueue.remove(el); + } else { + el = post.file.fullImage = $.el((isVideo ? 'video' : 'img'), { + className: 'full-image' + }); + $.on(el, 'error', ImageExpand.error); + el.src = src || post.file.URL; + } + if (el !== thumb.nextSibling) { + $.after(thumb, el); + } + return $.asap((function() { + if (isVideo) { + return el.videoHeight; + } else { + return el.naturalHeight; + } + }), function() { + return ImageExpand.completeExpand(post, disableAutoplay); + }); + }, + completeExpand: function(post, disableAutoplay) { + var bottom, thumb; + thumb = post.file.thumb; + if (!$.hasClass(thumb, 'expanding')) { + return; + } + if (!post.nodes.root.parentNode) { + ImageExpand.completeExpand2(post); + return; + } + bottom = post.nodes.root.getBoundingClientRect().bottom; + return $.queueTask(function() { + ImageExpand.completeExpand2(post, disableAutoplay); + if (!(bottom <= 0)) { + return; + } + return window.scrollBy(0, post.nodes.root.getBoundingClientRect().bottom - bottom); + }); + }, + completeExpand2: function(post, disableAutoplay) { + var thumb; + thumb = post.file.thumb; + $.addClass(post.nodes.root, 'expanded-image'); + $.rmClass(post.file.thumb, 'expanding'); + post.file.isExpanded = true; + if (post.file.isVideo) { + ImageExpand.setupVideoControls(post); + return Video.configure(post.file.fullImage, disableAutoplay); + } + }, + videoCB: { + click: function(e) { + if (this.paused && !this.controls) { + this.play(); + return e.stopPropagation(); + } + }, + mousedown: function(e) { + if (e.button === 0) { + return this.dataset.mousedown = 'true'; + } + }, + mouseup: function(e) { + if (e.button === 0) { + return this.dataset.mousedown = 'false'; + } + }, + mouseover: function(e) { + return this.dataset.mousedown = 'false'; + }, + mouseout: function(e) { + if (this.dataset.mousedown === 'true' && e.clientX <= this.getBoundingClientRect().left) { + return ImageExpand.contract(Get.postFromNode(this)); + } + } + }, + setupVideoControls: function(post) { + var cb, contract, eventName, file, video, _ref; + file = post.file; + video = file.fullImage; + file.thumb.parentNode.removeAttribute('href'); + file.thumb.parentNode.removeAttribute('target'); + video.dataset.mousedown = 'false'; + _ref = ImageExpand.videoCB; + for (eventName in _ref) { + cb = _ref[eventName]; + $.on(video, eventName, cb); + } + file.videoControls = $.el('span', { + className: 'video-controls' + }); + if (Conf['Show Controls']) { + contract = $.el('a', { + textContent: 'contract', + href: 'javascript:;', + title: 'You can also contract the video by dragging it to the left.' + }); + $.on(contract, 'click', function(e) { + return ImageExpand.contract(post); + }); + $.add(file.videoControls, [$.tn('\u00A0'), contract]); + } + return $.add(file.text, file.videoControls); + }, + error: function() { + var URL, post, src, timeoutID; + post = Get.postFromNode(this); + $.rm(this); + delete post.file.fullImage; + if (!($.hasClass(post.file.thumb, 'expanding') || $.hasClass(post.nodes.root, 'expanded-image'))) { + return; + } + ImageExpand.contract(post); + src = this.src.split('/'); + if (src[2] === 'i.4cdn.org') { + URL = Redirect.to('file', { + boardID: src[3], + filename: src[src.length - 1] + }); + if (URL) { + setTimeout(ImageExpand.expand, 10000, post, URL); + return; + } + if (g.DEAD || post.isDead || post.file.isDead) { + return; + } + } + timeoutID = setTimeout(ImageExpand.expand, 10000, post); + return $.ajax(this.src, { + onloadend: function() { + if (this.status !== 404) { + return; + } + clearTimeout(timeoutID); + return post.kill(true); + } + }, { + type: 'head' + }); + }, + menu: { + init: function() { + var conf, createSubEntry, el, name, subEntries, _ref; + if (g.VIEW === 'catalog' || !Conf['Image Expansion']) { + return; + } + el = $.el('span', { + textContent: 'Image Expansion', + className: 'image-expansion-link' + }); + createSubEntry = ImageExpand.menu.createSubEntry; + subEntries = []; + _ref = Config.imageExpansion; + for (name in _ref) { + conf = _ref[name]; + subEntries.push(createSubEntry(name, conf[1])); + } + return $.event('AddMenuEntry', { + type: 'header', + el: el, + order: 105, + subEntries: subEntries + }); + }, + createSubEntry: function(name, desc) { + var input, label; + label = UI.checkbox(name, " " + name); + label.title = desc; + input = label.firstElementChild; + if (name === 'Fit width' || name === 'Fit height') { + $.on(input, 'change', ImageExpand.cb.setFitness); + } + $.event('change', null, input); + $.on(input, 'change', $.cb.checked); + return { + el: label + }; + } + } + }; + + ImageHover = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Image Hover']) { + return; + } + return Post.callbacks.push({ + name: 'Image Hover', + cb: this.node + }); + }, + node: function() { + var _ref, _ref1; + if (!(((_ref = this.file) != null ? _ref.isImage : void 0) || ((_ref1 = this.file) != null ? _ref1.isVideo : void 0))) { + return; + } + return $.on(this.file.thumb, 'mouseover', ImageHover.mouseover); + }, + mouseover: function(e) { + var el, isVideo, post, thumb; + post = Get.postFromNode(this); + isVideo = post.file.isVideo; + if (post.file.fullImage) { + el = post.file.fullImage; + TrashQueue.remove(el); + } else { + el = $.el((isVideo ? 'video' : 'img'), { + className: 'full-image', + src: post.file.URL + }); + post.file.fullImage = el; + thumb = post.file.thumb; + } + if (d.body.contains(thumb)) { + if (el !== thumb.nextSibling) { + $.after(thumb, el); + } + } else { + if (el.parentNode !== Header.hover) { + $.add(Header.hover, el); + } + } + el.id = 'ihover'; + el.dataset.fullID = post.fullID; + if (isVideo) { + el.loop = true; + el.controls = false; + if (Conf['Autoplay']) { + el.play(); + } + } + UI.hover({ + root: this, + el: el, + latestEvent: e, + endEvents: 'mouseout click', + asapTest: function() { + if (isVideo) { + return el.videoHeight; + } else { + return el.naturalHeight; + } + }, + noRemove: true, + cb: function() { + if (isVideo) { + el.pause(); + TrashQueue.add(el, post); + } + return el.removeAttribute('id'); + } + }); + return $.on(el, 'error', ImageHover.error); + }, + error: function() { + var URL, post, src, timeoutID; + if (!doc.contains(this)) { + return; + } + post = g.posts[this.dataset.fullID]; + src = this.src.split('/'); + if (src[2] === 'i.4cdn.org') { + URL = Redirect.to('file', { + boardID: src[3], + filename: src[src.length - 1].replace(/\?.+$/, '') + }); + if (URL) { + this.src = URL; + return; + } + if (g.DEAD || post.isDead || post.file.isDead) { + return; + } + } + timeoutID = setTimeout(((function(_this) { + return function() { + return _this.src = post.file.URL + '?' + Date.now(); + }; + })(this)), 3000); + return $.ajax(this.src, { + onloadend: function() { + if (this.status !== 404) { + return; + } + clearTimeout(timeoutID); + return post.kill(true); + } + }, { + type: 'head' + }); + } + }; + + ImageLoader = { + init: function() { + var prefetch; + if (g.VIEW === 'catalog') { + return; + } + if (!(Conf["Image Prefetching"] || Conf["Replace JPG"] || Conf["Replace PNG"] || Conf["Replace GIF"])) { + return; + } + Post.callbacks.push({ + name: 'Image Replace', + cb: this.node + }); + Thread.callbacks.push({ + name: 'Image Replace', + cb: this.thread + }); + if (!(Conf['Image Prefetching'] && g.VIEW === 'thread')) { + return; + } + prefetch = $.el('label', { + innerHTML: ' Prefetch Images' + }); + this.el = prefetch.firstElementChild; + $.on(this.el, 'change', this.toggle); + return $.event('AddMenuEntry', { + type: 'header', + el: prefetch, + order: 104 + }); + }, + thread: function() { + return ImageLoader.thread = this; + }, + node: function() { + var URL, img, string, style, thumb, type, _ref, _ref1; + if (this.isClone || this.isHidden || this.thread.isHidden || !((_ref = this.file) != null ? _ref.isImage : void 0)) { + return; + } + _ref1 = this.file, thumb = _ref1.thumb, URL = _ref1.URL; + if (!((Conf[string = "Replace " + ((type = (URL.match(/\w{3}$/))[0].toUpperCase()) === 'PEG' ? 'JPG' : type)] && !/spoiler/.test(thumb.src)) || Conf['prefetch'])) { + return; + } + if (this.file.isSpoiler) { + style = thumb.style; + style.maxHeight = style.maxWidth = this.isReply ? '125px' : '250px'; + } + img = $.el('img'); + if (Conf[string]) { + $.on(img, 'load', function() { + return thumb.src = URL; + }); + } + return img.src = URL; + }, + toggle: function() { + var enabled; + enabled = Conf['prefetch'] = this.checked; + if (enabled) { + ImageLoader.thread.posts.forEach(ImageLoader.node.call); + } + } + }; + + RevealSpoilers = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Reveal Spoiler Thumbnails']) { + return; + } + return Post.callbacks.push({ + cb: this.node + }); + }, + node: function() { + var thumb, _ref; + if (this.isClone || !((_ref = this.file) != null ? _ref.isSpoiler : void 0)) { + return; + } + thumb = this.file.thumb; + thumb.removeAttribute('style'); + return thumb.src = this.file.thumbURL; + } + }; + + Sauce = { + init: function() { + var err, link, links, _i, _len, _ref; + if (g.VIEW === 'catalog' || !Conf['Sauce']) { + return; + } + links = []; + _ref = Conf['sauces'].split('\n'); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + link = _ref[_i]; + try { + if (link[0] !== '#') { + links.push(link.trim()); + } + } catch (_error) { + err = _error; + } + } + if (!links.length) { + return; + } + this.links = links; + this.link = $.el('a', { + target: '_blank' + }); + return Post.callbacks.push({ + name: 'Sauce', + cb: this.node + }); + }, + createSauceLink: function(link, post, a) { + var i, m, parts, text, _i, _ref; + text = (m = link.match(/;text:(.+)$/)) ? m[1] : ((_ref = link.match(/(\w+)\.\w+\//)) != null ? _ref[1] : void 0) || '?'; + link = link.replace(/;text:.+$/, ''); + parts = [link, text]; + for (i = _i = 0; _i <= 1; i = ++_i) { + parts[i] = parts[i].replace(/%(T?URL|MD5|board|name)/g, function(parameter) { + var type; + if (type = { + '%TURL': post.file.thumbURL, + '%URL': post.file.URL, + '%MD5': post.file.MD5, + '%board': post.board, + '%name': post.file.name + }[parameter]) { + if (i === 0) { + return encodeURIComponent(type); + } else { + return type; + } + } else { + return parameter; + } + }); + } + a.href = parts[0]; + a.textContent = parts[1]; + return a; + }, + node: function() { + var link, nodes, _i, _len, _ref; + if (this.isClone || !this.file) { + return; + } + nodes = []; + _ref = Sauce.links; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + link = _ref[_i]; + nodes.push($.tn('\u00A0'), Sauce.createSauceLink(link, this, Sauce.link.cloneNode(true))); + } + return $.add(this.file.text, nodes); + } + }; + + TrashQueue = { + init: function() {}, + add: function(video, post) { + var _ref, _ref1; + if (this.killNext && video !== this.killNext) { + if ((_ref = this.killNextPost) != null) { + if ((_ref1 = _ref.file) != null) { + delete _ref1.fullImage; + } + } + $.rm(this.killNext); + } + this.killNext = video; + return this.killNextPost = post; + }, + remove: function(video) { + if (video === this.killNext) { + return delete this.killNext; + } + } + }; + + Video = { + configure: function(video, disableAutoplay) { + video.loop = true; + video.controls = Conf['Show Controls']; + video.autoplay = false; + if (Conf['Autoplay'] && !disableAutoplay) { + return Video.start(video); + } else { + return video.pause(); + } + }, + start: function(video) { + var controls; + controls = video.controls; + video.controls = false; + video.play(); + if (controls) { + return $.asap((function() { + return (video.readyState >= 3 && video.currentTime <= Math.max(0.1, video.duration - 0.5)) || !d.contains(video); + }), function() { + return video.controls = true; + }, 500); + } + } + }; + + Linkify = { + init: function() { + var type, _i, _len, _ref; + if (g.VIEW === 'catalog' || !Conf['Linkify']) { + return; + } + this.types = {}; + _ref = this.ordered_types; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + this.types[type.key] = type; + } + if (Conf['Comment Expansion']) { + ExpandComment.callbacks.push(this.node); + } + return Post.callbacks.push({ + name: 'Linkify', + cb: this.node + }); + }, + events: function(post) { + var el, i, items; + i = 0; + items = $$('.embedder', post.nodes.comment); + while (el = items[i++]) { + $.on(el, 'click', Linkify.cb.toggle); + if ($.hasClass(el, 'embedded')) { + Linkify.cb.toggle.call(el); + } + } + }, + node: function() { + var data, end, endNode, i, index, length, link, links, node, result, saved, snapshot, space, test, word; + if (this.isClone) { + return (Conf['Embedding'] ? Linkify.events(this) : null); + } + if (!Linkify.regString.test(this.info.comment)) { + return; + } + test = /[^\s'"]+/g; + space = /[\s'"]/; + snapshot = $.X('.//br|.//text()', this.nodes.comment); + i = 0; + links = []; + while (node = snapshot.snapshotItem(i++)) { + data = node.data; + if (!data || node.parentElement.nodeName === "A") { + continue; + } + while (result = test.exec(data)) { + index = result.index; + endNode = node; + word = result[0]; + if ((length = index + word.length) === data.length) { + test.lastIndex = 0; + while ((saved = snapshot.snapshotItem(i++))) { + if (saved.nodeName === 'BR') { + break; + } + endNode = saved; + data = saved.data; + word += data; + length = data.length; + if (end = space.exec(data)) { + test.lastIndex = length = end.index; + i--; + break; + } + } + } + if (Linkify.regString.exec(word)) { + links.push(Linkify.makeRange(node, endNode, index, length)); + } + if (!(test.lastIndex && node === endNode)) { + break; + } + } + } + i = links.length; + while (i--) { + link = links[i]; + Linkify.embedProcess(Linkify.makeLink(link), this); + } + }, + embedProcess: function(link, post) { + var data; + if (data = Linkify.services(link)) { + data.push(post); + if (Conf['Embedding']) { + Linkify.embed(data); + } + if (Conf['Link Title']) { + return Linkify.title(data); + } + } + }, + regString: /((https?|mailto|git|magnet|ftp|irc):([a-z\d%\/])|[-a-z\d]+[.](aero|asia|biz|cat|com|coop|info|int|jobs|mobi|museum|name|net|org|post|pro|tel|travel|xxx|edu|gov|mil|[a-z]{2})([:\/]|(?!.))|[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}|[-\w\d.@]+@[a-z\d.-]+\.[a-z\d])/i, + makeRange: function(startNode, endNode, startOffset, endOffset) { + var range; + range = document.createRange(); + range.setStart(startNode, startOffset); + range.setEnd(endNode, endOffset); + return range; + }, + makeLink: function(range) { + var a, i, t, text; + text = range.toString(); + i = 0; + while (/[(\[{<>]/.test(text.charAt(i))) { + i++; + } + if (i) { + text = text.slice(i); + while (range.startOffset + i >= range.startContainer.data.length) { + i--; + } + if (i) { + range.setStart(range.startContainer, range.startOffset + i); + } + } + i = 0; + while (/[)\]}>.,]/.test(t = text.charAt(text.length - (1 + i)))) { + if (!(/[.,]/.test(t) || (text.match(/[()\[\]{}<>]/g)).length % 2)) { + break; + } + i++; + } + if (i) { + text = text.slice(0, -i); + while (range.endOffset - i < 0) { + i--; + } + if (i) { + range.setEnd(range.endContainer, range.endOffset - i); + } + } + if (!/(mailto:|.+:\/\/)/.test(text)) { + text = (/@/.test(text) ? 'mailto:' : 'http://') + text; + } + a = $.el('a', { + className: 'linkify', + rel: 'nofollow noreferrer', + target: '_blank', + href: text + }); + $.add(a, range.extractContents()); + range.insertNode(a); + range.detach(); + return a; + }, + services: function(link) { + var href, match, type, _i, _len, _ref; + href = link.href; + _ref = Linkify.ordered_types; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + if (!(match = type.regExp.exec(href))) { + continue; + } + if (type.dummy) { + return; + } + return [type.key, match[1], match[2], link]; + } + }, + embed: function(data) { + var embed, href, key, link, name, options, post, uid, value, _ref; + key = data[0], uid = data[1], options = data[2], link = data[3], post = data[4]; + href = link.href; + embed = $.el('a', { + className: 'embedder', + href: 'javascript:;', + textContent: '(embed)' + }); + _ref = { + key: key, + href: href, + uid: uid, + options: options + }; + for (name in _ref) { + value = _ref[name]; + embed.dataset[name] = value; + } + $.addClass(link, "" + embed.dataset.key); + $.on(embed, 'click', Linkify.cb.toggle); + $.after(link, [$.tn(' '), embed]); + if (Conf['Auto-embed']) { + return Linkify.cb.toggle.call(embed); + } + }, + title: function(data) { + var err, key, link, options, post, service, title, titles, uid; + key = data[0], uid = data[1], options = data[2], link = data[3], post = data[4]; + if (!(service = Linkify.types[key].title)) { + return; + } + titles = Conf['CachedTitles']; + if (title = titles[uid]) { + return link.textContent = title[0]; + } else { + try { + return $.cache(service.api(uid), (function() { + return Linkify.cb.title(this, data); + }), { + responseType: 'json' + }); + } catch (_error) { + err = _error; + link.innerHTML = 'Title Link Blocked (are you using NoScript?)'; + $.prepend(link, $.tn("[" + key + "] ")); + } + } + }, + cb: { + toggle: function() { + if ($.hasClass(this, "embedded")) { + $.rm(this.previousElementSibling); + this.previousElementSibling.hidden = false; + this.textContent = '(embed)'; + } else { + this.previousElementSibling.hidden = true; + $.before(this, Linkify.cb.embed(this)); + this.textContent = '(unembed)'; + } + return $.toggleClass(this, 'embedded'); + }, + embed: function(a) { + var el, type; + el = (type = Linkify.types[a.dataset.key]).el(a); + el.style.cssText = type.style != null ? type.style : "border: 0; width: 640px; height: 390px"; + return el; + }, + title: function(req, data) { + var key, link, link2, options, post, post2, service, status, text, uid, _i, _j, _len, _len1, _ref, _ref1; + key = data[0], uid = data[1], options = data[2], link = data[3], post = data[4]; + status = req.status; + service = Linkify.types[key].title; + text = "[" + key + "] " + ((function() { + switch (status) { + case 200: + case 304: + return service.text(req.response); + case 404: + return "Not Found"; + case 403: + return "Forbidden or Private"; + default: + return "" + status + "'d"; + } + })()); + link.textContent = text; + _ref = post.clones; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + post2 = _ref[_i]; + _ref1 = $$('a', post2.nodes.comment); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + link2 = _ref1[_j]; + if (link2.href === link.href) { + link2.textContent = text; + } + } + } + } + }, + ordered_types: [ + { + key: 'audio', + regExp: /(.*\.(mp3|ogg|wav))$/, + style: '', + el: function(a) { + return $.el('audio', { + controls: true, + preload: 'auto', + src: a.dataset.uid + }); + } + }, { + key: 'gist', + regExp: /.*(?:gist.github.com.*\/)([^\/][^\/]*)$/, + el: function(a) { + var div; + return div = $.el('iframe', { + src: "http://www.purplegene.com/script?url=https://gist.github.com/" + a.dataset.uid + ".js" + }); + }, + title: { + api: function(uid) { + return "https://api.github.com/gists/" + uid; + }, + text: function(_arg) { + var file, files; + files = _arg.files; + for (file in files) { + if (files.hasOwnProperty(file)) { + return file; + } + } + } + } + }, { + key: 'image', + regExp: /(http|www).*\.(gif|png|jpg|jpeg|bmp)$/, + style: 'border: 0; width: auto; height: auto;', + el: function(a) { + var el; + el = $.el('div'); + el.innerHTML = ''; + el.firstChild.href = el.firstChild.firstChild.src = a.dataset.href; + return el; + } + }, { + key: 'InstallGentoo', + regExp: /.*(?:paste.installgentoo.com\/view\/)([0-9a-z_]+)/, + el: function(a) { + return $.el('iframe', { + src: "http://paste.installgentoo.com/view/embed/" + a.dataset.uid + }); + } + }, { + key: 'Twitter', + regExp: /.*twitter.com\/(.+\/status\/\d+)/, + el: function(a) { + return $.el('iframe', { + src: "https://twitframe.com/show?url=https://twitter.com/" + a.dataset.uid + }); + } + }, { + key: 'LiveLeak', + regExp: /.*(?:liveleak.com\/view.+i=)([0-9a-z_]+)/, + el: function(a) { + var el; + el = $.el('iframe', { + width: "640", + height: "360", + src: "http://www.liveleak.com/ll_embed?i=" + a.dataset.uid, + frameborder: "0" + }); + el.setAttribute("allowfullscreen", "true"); + return el; + } + }, { + key: 'MediaCrush', + regExp: /.*(?:mediacru.sh\/)([0-9a-z_-]+)/i, + style: 'border: 0;', + el: function(a) { + var el; + el = $.el('div'); + $.cache("https://mediacru.sh/" + a.dataset.uid + ".json", function() { + var embed, ext, file, files, i, status, type, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1, _ref2, _results, _results1; + status = this.status; + if (status !== 200 && status !== 304) { + return el.textContent = "ERROR " + status; + } + files = this.response.files; + _ref = ['video/mp4', 'video/webm', 'video/ogv', 'image/svg+xml', 'image/png', 'image/gif', 'image/jpeg', 'audio/mpeg', 'audio/ogg']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + for (_j = 0, _len1 = files.length; _j < _len1; _j++) { + file = files[_j]; + if (file.type === type) { + embed = file; + break; + } + } + if (embed) { + break; + } + } + if (!embed) { + return div.textContent = "ERROR: Not a valid filetype"; + } + switch (embed.type) { + case 'video/mp4': + case 'video/webm': + case 'video/ogv': + el.innerHTML = ''; + _ref1 = ['mp4', 'webm', 'ogv']; + _results = []; + for (i = _k = 0, _len2 = _ref1.length; _k < _len2; i = ++_k) { + ext = _ref1[i]; + _results.push(el.firstChild.children[i].src = "https://mediacru.sh/" + a.dataset.uid + "." + ext); + } + return _results; + break; + case 'image/svg+xml': + case 'image/png': + case 'image/gif': + case 'image/jpeg': + el.innerHTML = ''; + el.firstChild.href = a.dataset.href; + return el.firstChild.firstChild.src = "https://mediacru.sh/" + file.file; + case 'audio/mpeg': + case 'audio/ogg': + el.innerHTML = ''; + _ref2 = ['ogg', 'mp3']; + _results1 = []; + for (i = _l = 0, _len3 = _ref2.length; _l < _len3; i = ++_l) { + ext = _ref2[i]; + _results1.push(el.firstChild.children[i].src = "https://mediacru.sh/" + a.dataset.uid + "." + ext); + } + return _results1; + break; + default: + return el.textContent = "ERROR: No valid filetype."; + } + }); + return el; + } + }, { + key: 'pastebin', + regExp: /.*(?:pastebin.com\/(?!u\/))([^#\&\?]*).*/, + el: function(a) { + var div; + return div = $.el('iframe', { + src: "http://pastebin.com/embed_iframe.php?i=" + a.dataset.uid + }); + } + }, { + key: 'gfycat', + regExp: /.*gfycat.com\/(?:iframe\/)?(\S*)/, + el: function(a) { + var div; + return div = $.el('iframe', { + src: "http://gfycat.com/iframe/" + a.dataset.uid + }); + } + }, { + key: 'SoundCloud', + regExp: /.*(?:soundcloud.com\/|snd.sc\/)([^#\&\?]*).*/, + style: 'border: 0; width: 500px; height: 400px;', + el: function(a) { + return $.el('iframe', { + src: "//w.soundcloud.com/player/?visual=true&show_comments=false&url=https%3A%2F%2Fsoundcloud.com%2F" + (encodeURIComponent(a.dataset.uid)) + }); + }, + title: { + api: function(uid) { + return "//soundcloud.com/oembed?format=json&url=https%3A%2F%2Fsoundcloud.com%2F" + (encodeURIComponent(uid)); + }, + text: function(_) { + return _.title; + } + } + }, { + key: 'StrawPoll', + regExp: /strawpoll\.me\/(?:embed_\d+\/)?(\d+)/, + style: 'border: 0; width: 600px; height: 406px;', + el: function(a) { + return $.el('iframe', { + src: "http://strawpoll.me/embed_1/" + a.dataset.uid + }); + } + }, { + key: 'TwitchTV', + regExp: /.*(?:twitch.tv\/)([^#\&\?]*).*/, + style: "border: none; width: 640px; height: 360px;", + el: function(a) { + var channel, id, idparam, obj, result, type, _; + if (result = /(\w+)\/([bc])\/(\d+)/i.exec(a.dataset.uid)) { + _ = result[0], channel = result[1], type = result[2], id = result[3]; + idparam = { + 'b': 'archive_id', + 'c': 'chapter_id' + }; + obj = $.el('object', { + data: 'http://www.twitch.tv/widgets/archive_embed_player.swf' + }); + obj.innerHTML = ''; + obj.children[1].value = "channel=" + channel + "&start_volume=25&auto_play=false&" + idparam[type] + "=" + id; + return obj; + } else { + channel = (/(\w+)/.exec(a.dataset.uid))[0]; + obj = $.el('object', { + data: "http://www.twitch.tv/widgets/live_embed_player.swf?channel=" + channel + }); + obj.innerHTML = ''; + obj.children[1].value = "hostname=www.twitch.tv&channel=" + channel + "&auto_play=true&start_volume=25"; + return obj; + } + } + }, { + key: 'Vocaroo', + regExp: /.*(?:vocaroo.com\/)([^#\&\?]*).*/, + style: '', + el: function(a) { + return $.el('audio', { + controls: true, + preload: 'auto', + src: "http://vocaroo.com/media_command.php?media=" + (a.dataset.uid.replace(/^i\//, '')) + "&command=download_ogg" + }); + } + }, { + key: 'Vimeo', + regExp: /.*(?:vimeo.com\/)([^#\&\?]*).*/, + el: function(a) { + return $.el('iframe', { + src: "//player.vimeo.com/video/" + a.dataset.uid + "?wmode=opaque" + }); + }, + title: { + api: function(uid) { + return "https://vimeo.com/api/oembed.json?url=http://vimeo.com/" + uid; + }, + text: function(_) { + return _.title; + } + } + }, { + key: 'Vine', + regExp: /.*(?:vine.co\/)([^#\&\?]*).*/, + style: 'border: none; width: 500px; height: 500px;', + el: function(a) { + return $.el('iframe', { + src: "https://vine.co/" + a.dataset.uid + "/card" + }); + } + }, { + key: 'YouTube', + regExp: /.*(?:youtu.be\/|youtube.*v=|youtube.*\/embed\/|youtube.*\/v\/|youtube.*videos\/)([^#\&\?]*)\??(t\=.*)?/, + el: function(a) { + var el; + el = $.el('iframe', { + src: "//www.youtube.com/embed/" + a.dataset.uid + (a.dataset.option ? '#' + a.dataset.option : '') + "?wmode=opaque" + }); + el.setAttribute("allowfullscreen", "true"); + return el; + }, + title: { + api: function(uid) { + return "https://gdata.youtube.com/feeds/api/videos/" + uid + "?alt=json&fields=title/text(),yt:noembed,app:control/yt:state/@reasonCode"; + }, + text: function(data) { + return data.entry.title.$t; + } + } + }, { + key: 'Loopvid', + regExp: /.*loopvid.appspot.com\/.*/, + dummy: true + }, { + key: 'MediaFire', + regExp: /.*mediafire.com\/.*/, + dummy: true + }, { + key: 'video', + regExp: /(.*\.(ogv|webm|mp4))$/, + style: 'border: 0; width: auto; height: auto;', + el: function(a) { + return $.el('video', { + controls: 'controls', + preload: 'auto', + src: a.dataset.uid + }); + } + } + ] + }; + + ArchiveLink = { + init: function() { + var div, entry, type, _i, _len, _ref; + if (g.VIEW === 'catalog' || !Conf['Menu'] || !Conf['Archive Link']) { + return; + } + div = $.el('div', { + textContent: 'Archive' + }); + entry = { + type: 'post', + el: div, + order: 90, + open: function(_arg) { + var ID, board, thread; + ID = _arg.ID, thread = _arg.thread, board = _arg.board; + return !!Redirect.to('thread', { + postID: ID, + threadID: thread.ID, + boardID: board.ID + }); + }, + subEntries: [] + }; + _ref = [['Post', 'post'], ['Name', 'name'], ['Tripcode', 'tripcode'], ['E-mail', 'email'], ['Subject', 'subject'], ['Filename', 'filename'], ['Image MD5', 'MD5']]; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + type = _ref[_i]; + entry.subEntries.push(this.createSubEntry(type[0], type[1])); + } + return $.event('AddMenuEntry', entry); + }, + createSubEntry: function(text, type) { + var el, open; + el = $.el('a', { + textContent: text, + target: '_blank' + }); + open = type === 'post' ? function(_arg) { + var ID, board, thread; + ID = _arg.ID, thread = _arg.thread, board = _arg.board; + el.href = Redirect.to('thread', { + postID: ID, + threadID: thread.ID, + boardID: board.ID + }); + return true; + } : function(post) { + var value; + value = Filter[type](post); + if (!value) { + return false; + } + el.href = Redirect.to('search', { + boardID: post.board.ID, + type: type, + value: value, + isSearch: true + }); + return true; + }; + return { + el: el, + open: open + }; + } + }; + + DeleteLink = { + init: function() { + var div, fileEl, fileEntry, postEl, postEntry; + if (g.VIEW === 'catalog' || !Conf['Menu'] || !Conf['Delete Link']) { + return; + } + div = $.el('div', { + className: 'delete-link', + textContent: 'Delete' + }); + postEl = $.el('a', { + className: 'delete-post', + href: 'javascript:;' + }); + fileEl = $.el('a', { + className: 'delete-file', + href: 'javascript:;' + }); + postEntry = { + el: postEl, + open: function() { + postEl.textContent = 'Post'; + $.on(postEl, 'click', DeleteLink["delete"]); + return true; + } + }; + fileEntry = { + el: fileEl, + open: function(_arg) { + var file; + file = _arg.file; + if (!file || file.isDead) { + return false; + } + fileEl.textContent = 'File'; + $.on(fileEl, 'click', DeleteLink["delete"]); + return true; + } + }; + return $.event('AddMenuEntry', { + type: 'post', + el: div, + order: 40, + open: function(post) { + var node; + if (post.isDead) { + return false; + } + DeleteLink.post = post; + node = div.firstChild; + node.textContent = 'Delete'; + DeleteLink.cooldown.start(post, node); + return true; + }, + subEntries: [postEntry, fileEntry] + }); + }, + "delete": function() { + var fileOnly, form, link, post; + post = DeleteLink.post; + if (DeleteLink.cooldown.counting === post) { + return; + } + $.off(this, 'click', DeleteLink["delete"]); + fileOnly = $.hasClass(this, 'delete-file'); + this.textContent = "Deleting " + (fileOnly ? 'file' : 'post') + "..."; + form = { + mode: 'usrdel', + onlyimgdel: fileOnly, + pwd: QR.persona.getPassword() + }; + form[post.ID] = 'delete'; + link = this; + return $.ajax($.id('delform').action.replace("/" + g.BOARD + "/", "/" + post.board + "/"), { + responseType: 'document', + withCredentials: true, + onload: function() { + return DeleteLink.load(link, post, fileOnly, this.response); + }, + onerror: function() { + return DeleteLink.error(link); + } + }, { + form: $.formData(form) + }); + }, + load: function(link, post, fileOnly, resDoc) { + var msg, s; + if (resDoc.title === '4chan - Banned') { + s = 'Banned!'; + } else if (msg = resDoc.getElementById('errmsg')) { + s = msg.textContent; + $.on(link, 'click', DeleteLink["delete"]); + } else { + if (resDoc.title === 'Updating index...') { + (post.origin || post).kill(fileOnly); + } + s = 'Deleted'; + } + return link.textContent = s; + }, + error: function(link) { + link.textContent = 'Connection error, please retry.'; + return $.on(link, 'click', DeleteLink["delete"]); + }, + cooldown: { + start: function(post, node) { + var length, seconds, _ref; + if (!((_ref = QR.db) != null ? _ref.get({ + boardID: post.board.ID, + threadID: post.thread.ID, + postID: post.ID + }) : void 0)) { + delete DeleteLink.cooldown.counting; + return; + } + DeleteLink.cooldown.counting = post; + length = 60; + seconds = Math.ceil((length * $.SECOND - (Date.now() - post.info.date)) / $.SECOND); + return DeleteLink.cooldown.count(post, seconds, length, node); + }, + count: function(post, seconds, length, node) { + if (DeleteLink.cooldown.counting !== post) { + return; + } + if (!((0 <= seconds && seconds <= length))) { + if (DeleteLink.cooldown.counting === post) { + node.textContent = 'Delete'; + delete DeleteLink.cooldown.counting; + } + return; + } + setTimeout(DeleteLink.cooldown.count, 1000, post, seconds - 1, length, node); + return node.textContent = "Delete (" + seconds + ")"; + } + } + }; + + DownloadLink = { + init: function() { + var a; + if (g.VIEW === 'catalog' || !Conf['Menu'] || !Conf['Download Link']) { + return; + } + a = $.el('a', { + className: 'download-link', + textContent: 'Download file' + }); + return $.event('AddMenuEntry', { + type: 'post', + el: a, + order: 100, + open: function(_arg) { + var file; + file = _arg.file; + if (!file) { + return false; + } + a.href = file.URL; + a.download = file.name; + return true; + } + }); + } + }; + + Menu = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Menu']) { + return; + } + this.menu = new UI.Menu('post'); + return Post.callbacks.push({ + name: 'Menu', + cb: this.node + }); + }, + node: function() { + if (this.isClone) { + $.on($('.menu-button', this.nodes.info), 'click', Menu.toggle); + return; + } + return $.add(this.nodes.info, Menu.makeButton()); + }, + makeButton: (function() { + var a; + a = $.el('a', { + className: 'menu-button', + innerHTML: '', + href: 'javascript:;' + }); + return function() { + var button; + button = a.cloneNode(true); + $.on(button, 'click', Menu.toggle); + return button; + }; + })(), + toggle: function(e) { + var post; + post = Get.postFromNode(this); + return Menu.menu.toggle(e, this, post); + } + }; + + ReportLink = { + init: function() { + var a; + if (g.VIEW === 'catalog' || !Conf['Menu'] || !Conf['Report Link']) { + return; + } + a = $.el('a', { + className: 'report-link', + href: 'javascript:;', + textContent: 'Report this post' + }); + $.on(a, 'click', ReportLink.report); + return $.event('AddMenuEntry', { + type: 'post', + el: a, + order: 10, + open: function(post) { + ReportLink.post = post; + return !post.isDead; + } + }); + }, + report: function() { + var id, post, set, url; + post = ReportLink.post; + url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post; + id = Date.now(); + set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=200"; + return window.open(url, id, set); + } + }; + + Favicon = { + init: function() { + return $.asap((function() { + return Favicon.el = $('link[rel="shortcut icon"]', d.head); + }), Favicon.initAsap); + }, + initAsap: function() { + var href; + Favicon.el.type = 'image/x-icon'; + href = Favicon.el.href; + Favicon.SFW = /ws\.ico$/.test(href); + Favicon["default"] = href; + return Favicon["switch"](); + }, + "switch": function() { + var f, funreadDeadY, i, items, t; + items = { + ferongr: ['iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAFVBMVEX///9zBQC/AADpDAP/gID/q6voCwJJTwpOAAAAAXRSTlMAQObYZgAAAGJJREFUeF5Fi7ENg0AQBCfa/AFdDh2gdwPIogMK2E2+/xLslwOvdqRJhv+GQQPUCtJM7svankLrq/I+TY5e6Ueh1jyBMX7AFJi9vwfyVO4CbbO6jNYpp9GyVPbdkFhVgAQ2H0NOE5jk9DT8AAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAxUlEQVR42q1TOwrCQBB9s0FRtJI0WoqFtSLYegoP4gVSeJsUHsHSI3iFeIqRXXgwrhlXwYHHhLwPTB7B36abBCV+0pA4DUBQUNZYQptGtW3jtoKyxgoe0yrBCoyZfL/5ioQ3URZOXW9I341l3oo+NXEZiW4CEuIzvPECopED4OaZ3RNmeAm4u+a8Jr5f17VyVoL8fr8qcltzwlyyj2iqcgPOQ9ExkHAITgD75bYBe0A5S4H/P9htuWMF3QXoQpwaKeT+lnsC6JE5I6aq6fEAAAAASUVORK5CYII=', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAFVBMVEX///8AcH4AtswA2PJ55fKi6fIA1/FtpPADAAAAAXRSTlMAQObYZgAAAGJJREFUeF5Fi7ENg0AQBCfa/AFdDh2gdwPIogMK2E2+/xLslwOvdqRJhv+GQQPUCtJM7svankLrq/I+TY5e6Ueh1jyBMX7AFJi9vwfyVO4CbbO6jNYpp9GyVPbdkFhVgAQ2H0NOE5jk9DT8AAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAxElEQVQ4y2NgoBq4/vE/HJOsBiRQUIfA2AzBqQYqUfn00/9FLz+BaQxDCKqBmX7jExijKEDSDJPHrnnbGQhGV4RmOFwdVkNwhQMheYwQxhaIi7b9Z9A3gWAQm2BUoQOgRhgA8o7j1ozLC4LCyAZcx6kZI5qg4kLKqggDFFWxJySsUQVzlb4pwgAJaTRvokcVNgOqOv8zcHBCsL07DgNg8YsczzA5MxtUL+DMD8g0slxI/H8GQ/P/DJKyeKIRpglXZsIiBwBhP5O+VbI/JgAAAABJRU5ErkJggg==', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAFVBMVEX///8oeQBJ3ABV/wHM/7Lu/+ZU/gAqUP3dAAAAAXRSTlMAQObYZgAAAGJJREFUeF5Fi7ENg0AQBCfa/AFdDh2gdwPIogMK2E2+/xLslwOvdqRJhv+GQQPUCtJM7svankLrq/I+TY5e6Ueh1jyBMX7AFJi9vwfyVO4CbbO6jNYpp9GyVPbdkFhVgAQ2H0NOE5jk9DT8AAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAx0lEQVQ4y2NgoBYI+cfwH4ZJVgMS0KhEYGyG4FQDkzjzf9P/d/+fgWl0QwiqgSkI/c8IxsgKkDXD5LFq9rwDweiK0A2HqcNqCK5wICSPEcLYAtH+AMN/IXMIBrEJRie6OEgjDAC5x3FqxuUFNiEUA67j1IweTTBxBQ1puAG86jgSEraogskJWSBcwCGF5k30qMJmgMFEhv/MXBAs5oLDAFj8IsczTE7UEeECbhU8+QGZRpaTi2b4L2zF8J9TGk80wjThykzY5AAW/2O1C2mIbgAAAABJRU5ErkJggg=='], + 'xat-': ['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'], + Mayhem: ['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'], + '4chanJS': ['iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAD1BMVEUBAAAAAAD/AABnZ2f///8nFk05AAAAAXRSTlMAQObYZgAAAEFJREFUeNqNjgEKACAMAjvX/98cAkkxgmSgO8Bt/Ai4ApJ6KKhzF3OiEMDASrGB/QWgPEHsUpN+Ng9xAETMYhDrWmeHAMcmvycWAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAD1BMVEUBAAAAAAD/AAD///9nZ2f77Y6hAAAAAXRSTlMAQObYZgAAAEBJREFUeF6NjQEKACAMAnfW/98cAxFiBIngOsTqR8B1IGkeG9p5i7XabgAGZNigXgA8aoCUxvzWAIcBItGiSEwdccYA3BuRAWkAAAAASUVORK5CYII=', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAD1BMVEUBAAAAAAAul8NnZ2f////82iC9AAAAAXRSTlMAQObYZgAAAEFJREFUeNqNjgEKACAMAjvX/98cAkkxgmSgO8Bt/Ai4ApJ6KKhzF3OiEMDASrGB/QWgPEHsUpN+Ng9xAETMYhDrWmeHAMcmvycWAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAD1BMVEUBAAAAAAAul8P///9nZ2cgIeMlAAAAAXRSTlMAQObYZgAAAEBJREFUeF6NjQEKACAMAnfW/98cAxFiBIngOsTqR8B1IGkeG9p5i7XabgAGZNigXgA8aoCUxvzWAIcBItGiSEwdccYA3BuRAWkAAAAASUVORK5CYII=', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAElBMVEUBAAAAAABmzDNlyjJnZ2f///+6o7dfAAAAAXRSTlMAQObYZgAAAERJREFUeF6NjkEKADEIA51o///lJZfQxUsHITogWi8AvwZJuxmYa25xDooBLEwOWFTYAsYVhdorLZt9Ng9xCUTCUCQ2H3F4ANrZ2WNiAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAElBMVEUBAAAAAABmzDP///9lyjJnZ2cIHys9AAAAAXRSTlMAQObYZgAAAENJREFUeF6NjUEKwEAMAjNm9/9fLkEslFwqgjoEUn8EfAqSdrkwzj6ieyyTkQEVGWRvANfO1iEX620AjgBEwqR4Y+sBeGAA6d+vQ4IAAAAASUVORK5CYII='], + Original: ['iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEX/////AAD///8AAABBZmS3AAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII=', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhElEQVR42q1RwQnAMAjMu5M4guAKXa4j5dUROo5tipSDcrFChUONd0di2m/hEGVOHDyIPufgwAFASDkpoSzmBrkJ2UMyR9LsJ3rvrqo3Rt1YMIMhhNnOxLMnoMFBxHyJAr2IOBFzA8U+6pLBdmEJTA0aMVjpDd6Loks0s5HZNwYx8tfZCZ0kll7ORffZAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEX///8ul8P///8AAACaqgkzAAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII=', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAALVBMVEUAAAAAAAAAAAAAAAABBQcHFx4KISoNLToaVW4oKCgul8M4ODg7OzvBwcH///8uS/CdAAAAA3RSTlMAx9dmesIgAAAAV0lEQVR42m2NWw6AIBAD1eILZO5/XI0UAgm7H9tOsu0yGWAQSOoFijHOxOANGqm/LczpOaXs4gISrPZ+gc2+hO5w2xdwgOjBFUIF+sEJrhUl9JFr+badFwR+BfqlmGUJAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEX///9mzDP///8AAACT0n1lAAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII=', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAALVBMVEUAAAAAAAAAAAAAAAAECAIQIAgWLAsePA8oKCg4ODg6dB07OztmzDPBwcH///+rsf3XAAAAA3RSTlMAx9dmesIgAAAAV0lEQVR42m2NWw6AIBAD1eIDhbn/cTVSCCTsfmw7ybbLZIBBIKkXKKU0E4M3aKT+tjCn5xiziwuIsNr7BTb7ErrDZV/AAaIHdwgV6AcnuFaU0Eeu5dt2XiUyBjCQ2bIrAAAAAElFTkSuQmCC'], + 'Metro': ['iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAC/AABrZQDiAAAAAXRSTlMAQObYZgAAABJJREFUCB1jZGBgrMNAQEEc4gCSfAX5bRw/NQAAAABJRU5ErkJggg==', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAAAAAAAAAAHAAAdAAApAAAsAAA4AABsAACQAAC/AAD///9SVhtjAAAAA3RSTlMAPse+s4iwAAAAM0lEQVQIW2NggAGuVasWgDBpDDAQUoSaob0Jao73lgVojOitUEazBZRRvR3KmJa5AO4KAGBtLuMAuhIIAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAA1/GhpCidAAAAAXRSTlMAQObYZgAAABJJREFUCB1jZGBgrMNAQEEc4gCSfAX5bRw/NQAAAABJRU5ErkJggg==', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAAAAAAAAAAACAkAISUALzQAMTcAQEcAeokAorYA1/H///8BrzTFAAAAA3RSTlMAPse+s4iwAAAAM0lEQVQIW2NggAGuVasWgDBpDDAQUoSaob0Jao73lgVojOitUEazBZRRvR3KmJa5AO4KAGBtLuMAuhIIAAAAAElFTkSuQmCC', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAABV/wErM5hwAAAAAXRSTlMAQObYZgAAABJJREFUCB1jZGBgrMNAQEEc4gCSfAX5bRw/NQAAAABJRU5ErkJggg==', 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAAAAAAAAAADCgANKAASOAATOwAZTAAwkQBAwQBV/wH////+Fmy4AAAAA3RSTlMAPse+s4iwAAAAM0lEQVQIW2NggAGuVasWgDBpDDAQUoSaob0Jao73lgVojOitUEazBZRRvR3KmJa5AO4KAGBtLuMAuhIIAAAAAElFTkSuQmCC'] + }[Conf['favicon']]; + f = Favicon; + t = 'data:image/png;base64,'; + i = 0; + while (items[i]) { + items[i] = t + items[i++]; + } + f.unreadDead = items[0], funreadDeadY = items[1], f.unreadSFW = items[2], f.unreadSFWY = items[3], f.unreadNSFW = items[4], f.unreadNSFWY = items[5]; + return f.update(); + }, + update: function() { + if (this.SFW) { + this.unread = this.unreadSFW; + return this.unreadY = this.unreadSFWY; + } else { + this.unread = this.unreadNSFW; + return this.unreadY = this.unreadNSFWY; + } + }, + dead: 'data:image/gif;base64,R0lGODlhEAAQAKECAAAAAP8AAP///////yH5BAEKAAIALAAAAAAQABAAAAIvlI+pq+D9DAgUoFkPDlbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw==', + logo: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAgMAAAC+UIlYAAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAGlJREFUWMPtlkEKADEIA/tJP9lXLttQto2yHxgDHozTi0ToGK2WKZZ+HAQQMZc+xBwI4EZ+wAC2IfPuSIDOZJrSZQEAX9eVJhhwIuUYAnQe8rhAEMAZlTI2MID9f5Clyh0JeE1V1ZEAvB4qDfwuJTSGRAAAAABJRU5ErkJggg==' + }; + + ThreadExcerpt = { + init: function() { + if (g.VIEW !== 'thread' || !Conf['Thread Excerpt']) { + return; + } + return Thread.callbacks.push({ + name: 'Thread Excerpt', + cb: this.node + }); + }, + node: function() { + return d.title = Get.threadExcerpt(this); + }, + disconnect: function() { + if (g.VIEW !== 'thread' || !Conf['Thread Excerpt']) { + return; + } + return Thread.callbacks.disconnect('Thread Excerpt'); + } + }; + + ThreadStats = { + init: function() { + var sc; + if (g.VIEW !== 'thread' || !Conf['Thread Stats']) { + return; + } + if (Conf['Updater and Stats in Header']) { + this.dialog = sc = $.el('span', { + innerHTML: "0 / 0" + (Conf['Page Count in Stats'] ? ' / 0' : ''), + id: 'thread-stats', + title: 'Post Count / File Count' + (Conf["Page Count in Stats"] ? " / Page Count" : "") + }); + $.ready(function() { + return Header.addShortcut(sc); + }); + } else { + this.dialog = sc = UI.dialog('thread-stats', 'bottom: 0px; right: 0px;', { + innerHTML: "
0 / 0" + (Conf['Page Count in Stats'] ? ' / 0' : '') + "
" + }); + $.ready((function(_this) { + return function() { + return $.add(d.body, sc); + }; + })(this)); + } + this.postCountEl = $('#post-count', sc); + this.fileCountEl = $('#file-count', sc); + this.pageCountEl = $('#page-count', sc); + return Thread.callbacks.push({ + name: 'Thread Stats', + cb: this.node + }); + }, + node: function() { + var fileCount, postCount; + postCount = 0; + fileCount = 0; + this.posts.forEach(function(post) { + postCount++; + if (post.file) { + return fileCount++; + } + }); + ThreadStats.thread = this; + ThreadStats.fetchPage(); + ThreadStats.update(postCount, fileCount); + return $.on(d, 'ThreadUpdate', ThreadStats.onUpdate); + }, + disconnect: function() { + if (g.VIEW !== 'thread' || !Conf['Thread Stats']) { + return; + } + if (Conf['Updater and Stats in Header']) { + Header.rmShortcut(this.dialog); + } else { + $.rm(this.dialog); + } + clearTimeout(this.timeout); + delete this.timeout; + delete this.thread; + delete this.postCountEl; + delete this.fileCountEl; + delete this.pageCountEl; + delete this.dialog; + Thread.callbacks.disconnect('Thread Stats'); + return $.off(d, 'ThreadUpdate', ThreadStats.onUpdate); + }, + onUpdate: function(e) { + var fileCount, postCount, _ref; + if (e.detail[404]) { + return; + } + _ref = e.detail, postCount = _ref.postCount, fileCount = _ref.fileCount; + return ThreadStats.update(postCount, fileCount); + }, + update: function(postCount, fileCount) { + var fileCountEl, postCountEl, thread; + thread = ThreadStats.thread, postCountEl = ThreadStats.postCountEl, fileCountEl = ThreadStats.fileCountEl; + postCountEl.textContent = postCount; + fileCountEl.textContent = fileCount; + (thread.postLimit && !thread.isSticky ? $.addClass : $.rmClass)(postCountEl, 'warning'); + return (thread.fileLimit && !thread.isSticky ? $.addClass : $.rmClass)(fileCountEl, 'warning'); + }, + fetchPage: function() { + if (!Conf["Page Count in Stats"]) { + return; + } + if (ThreadStats.thread.isDead) { + ThreadStats.pageCountEl.textContent = 'Dead'; + $.addClass(ThreadStats.pageCountEl, 'warning'); + return; + } + ThreadStats.timeout = setTimeout(ThreadStats.fetchPage, 2 * $.MINUTE); + return $.ajax("//a.4cdn.org/" + ThreadStats.thread.board + "/threads.json", { + onload: ThreadStats.onThreadsLoad + }, { + whenModified: true + }); + }, + onThreadsLoad: function() { + var page, thread, _i, _j, _len, _len1, _ref, _ref1; + if (!(Conf["Page Count in Stats"] && this.status === 200)) { + return; + } + _ref = this.response; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + page = _ref[_i]; + _ref1 = page.threads; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + thread = _ref1[_j]; + if (!(thread.no === ThreadStats.thread.ID)) { + continue; + } + ThreadStats.pageCountEl.textContent = page.page; + (page.page === this.response.length ? $.addClass : $.rmClass)(ThreadStats.pageCountEl, 'warning'); + return; + } + } + } + }; + + ThreadUpdater = { + init: function() { + var conf, el, input, name, sc, subEntries, updateLink, _ref; + if (g.VIEW !== 'thread' || !Conf['Thread Updater']) { + return; + } + if (Conf['Updater and Stats in Header']) { + this.dialog = sc = $.el('span', { + innerHTML: '', + id: 'updater' + }); + $.ready(function() { + return Header.addShortcut(sc); + }); + } else { + this.dialog = sc = UI.dialog('updater', 'bottom: 0px; left: 0px;', { + innerHTML: '
' + }); + $.addClass(doc, 'float'); + $.ready((function(_this) { + return function() { + $.addClass(doc, 'float'); + return $.add(d.body, sc); + }; + })(this)); + } + this.checkPostCount = 0; + this.timer = $('#update-timer', sc); + this.status = $('#update-status', sc); + this.isUpdating = Conf['Auto Update']; + $.on(this.timer, 'click', this.update); + $.on(this.status, 'click', this.update); + if (!(Conf['JSON Navigation'] && $('.updatelink', Index.navLinksBot))) { + updateLink = $.el('span', { + innerHTML: 'Update', + className: 'brackets-wrap updatelink' + }); + $.ready(function() { + return $.add(Index.navLinksBot || $('.navLinksBot'), [$.tn(' '), updateLink]); + }); + $.on(updateLink.firstElementChild, 'click', this.update); + } + subEntries = []; + _ref = Config.updater.checkbox; + for (name in _ref) { + conf = _ref[name]; + el = UI.checkbox(name, " " + name); + el.title = conf[1]; + input = el.firstElementChild; + $.on(input, 'change', $.cb.checked); + if (input.name === 'Scroll BG') { + $.on(input, 'change', this.cb.scrollBG); + this.cb.scrollBG(); + } else if (input.name === 'Auto Update') { + $.on(input, 'change', this.cb.update); + } + subEntries.push({ + el: el + }); + } + this.settings = $.el('span', { + innerHTML: 'Interval' + }); + $.on(this.settings, 'click', this.intervalShortcut); + subEntries.push({ + el: this.settings + }); + $.event('AddMenuEntry', this.entry = { + type: 'header', + el: $.el('span', { + textContent: 'Updater' + }), + order: 110, + subEntries: subEntries + }); + return Thread.callbacks.push({ + name: 'Thread Updater', + cb: this.node + }); + }, + disconnect: function() { + var el, entry, input, name, _i, _j, _len, _len1, _ref, _ref1; + if (g.VIEW !== 'thread' || !Conf['Thread Updater']) { + return; + } + $.off(this.timer, 'click', this.update); + $.off(this.status, 'click', this.update); + if (this.timeoutID) { + clearTimeout(this.timeoutID); + } + _ref = this.entry.subEntries; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + entry = _ref[_i]; + el = entry.el; + input = el.firstElementChild; + $.off(input, 'change', $.cb.checked); + $.off(input, 'change', this.cb.scrollBG); + $.off(input, 'change', this.cb.update); + } + $.off(this.settings, 'click', this.intervalShortcut); + $.off(window, 'online offline', this.cb.online); + $.off(d, 'QRPostSuccessful', this.cb.checkpost); + $.off(d, 'visibilitychange', this.cb.visibility); + this.set('timer', null); + this.set('status', 'Offline'); + $.event('rmMenuEntry', this.entry); + if (Conf['Updater and Stats in Header']) { + Header.rmShortcut(this.dialog); + } else { + $.rmClass(doc, 'float'); + $.rm(this.dialog); + } + _ref1 = ['checkPostCount', 'timer', 'status', 'isUpdating', 'entry', 'dialog', 'thread', 'root', 'lastPost', 'outdateCount', 'online', 'seconds', 'timeoutID']; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + name = _ref1[_j]; + delete this[name]; + } + return Thread.callbacks.disconnect('Thread Updater'); + }, + node: function() { + ThreadUpdater.thread = this; + ThreadUpdater.root = this.OP.nodes.root.parentNode; + ThreadUpdater.lastPost = +ThreadUpdater.root.lastElementChild.id.match(/\d+/)[0]; + ThreadUpdater.outdateCount = 0; + ThreadUpdater.cb.interval.call($.el('input', { + value: Conf['Interval'] + })); + $.on(window, 'online offline', ThreadUpdater.cb.online); + $.on(d, 'QRPostSuccessful', ThreadUpdater.cb.checkpost); + $.on(d, 'visibilitychange', ThreadUpdater.cb.visibility); + return ThreadUpdater.cb.online(); + }, + + /* + http://freesound.org/people/pierrecartoons1979/sounds/90112/ + cc-by-nc-3.0 + */ + beep: 'data:audio/wav;base64,UklGRjQDAABXQVZFZm10IBAAAAABAAEAgD4AAIA+AAABAAgAc21wbDwAAABBAAADAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkYXRhzAIAAGMms8em0tleMV4zIpLVo8nhfSlcPR102Ki+5JspVEkdVtKzs+K1NEhUIT7DwKrcy0g6WygsrM2k1NpiLl0zIY/WpMrjgCdbPhxw2Kq+5Z4qUkkdU9K1s+K5NkVTITzBwqnczko3WikrqM+l1NxlLF0zIIvXpsnjgydZPhxs2ay95aIrUEkdUdC3suK8N0NUIjq+xKrcz002WioppdGm091pK1w0IIjYp8jkhydXPxxq2K295aUrTkoeTs65suK+OUFUIzi7xqrb0VA0WSoootKm0t5tKlo1H4TYqMfkiydWQBxm16+85actTEseS8y7seHAPD9TIza5yKra01QyWSson9On0d5wKVk2H4DYqcfkjidUQB1j1rG75KsvSkseScu8seDCPz1TJDW2yara1FYxWSwnm9Sn0N9zKVg2H33ZqsXkkihSQR1g1bK65K0wSEsfR8i+seDEQTxUJTOzy6rY1VowWC0mmNWoz993KVc3H3rYq8TklSlRQh1d1LS647AyR0wgRMbAsN/GRDpTJTKwzKrX1l4vVy4lldWpzt97KVY4IXbUr8LZljVPRCxhw7W3z6ZISkw1VK+4sMWvXEhSPk6buay9sm5JVkZNiLWqtrJ+TldNTnquqbCwilZXU1BwpKirrpNgWFhTaZmnpquZbFlbVmWOpaOonHZcXlljhaGhpZ1+YWBdYn2cn6GdhmdhYGN3lp2enIttY2Jjco+bnJuOdGZlZXCImJqakHpoZ2Zug5WYmZJ/bGlobX6RlpeSg3BqaW16jZSVkoZ0bGtteImSk5KIeG5tbnaFkJKRinxxbm91gY2QkIt/c3BwdH6Kj4+LgnZxcXR8iI2OjIR5c3J0e4WLjYuFe3VzdHmCioyLhn52dHR5gIiKioeAeHV1eH+GiYqHgXp2dnh9hIiJh4J8eHd4fIKHiIeDfXl4eHyBhoeHhH96eHmA', + cb: { + online: function() { + if (ThreadUpdater.online = navigator.onLine) { + ThreadUpdater.outdateCount = 0; + ThreadUpdater.setInterval(); + ThreadUpdater.set('status', null, null); + return; + } + ThreadUpdater.set('timer', null); + return ThreadUpdater.set('status', 'Offline', 'warning'); + }, + post: function(e) { + if (!(ThreadUpdater.isUpdating && e.detail.threadID === ThreadUpdater.thread.ID)) { + return; + } + ThreadUpdater.outdateCount = 0; + if (ThreadUpdater.seconds > 2) { + return setTimeout(ThreadUpdater.update, 1000); + } + }, + checkpost: function(e) { + if (!ThreadUpdater.checkPostCount) { + if (e.detail.threadID !== ThreadUpdater.thread.ID) { + return; + } + ThreadUpdater.seconds = 0; + ThreadUpdater.outdateCount = 0; + ThreadUpdater.set('timer', '...'); + } + if (!(g.DEAD || ThreadUpdater.foundPost || ThreadUpdater.checkPostCount >= 5)) { + return setTimeout(ThreadUpdater.update, ++ThreadUpdater.checkPostCount * $.SECOND); + } + ThreadUpdater.setInterval(); + ThreadUpdater.checkPostCount = 0; + delete ThreadUpdater.foundPost; + return delete ThreadUpdater.postID; + }, + visibility: function() { + if (d.hidden) { + return; + } + ThreadUpdater.outdateCount = 0; + if (ThreadUpdater.seconds > ThreadUpdater.interval) { + return ThreadUpdater.setInterval(); + } + }, + scrollBG: function() { + return ThreadUpdater.scrollBG = Conf['Scroll BG'] ? function() { + return true; + } : function() { + return !d.hidden; + }; + }, + interval: function() { + var val; + val = parseInt(this.value, 10); + if (val < 1) { + val = 1; + } + ThreadUpdater.interval = this.value = val; + return $.cb.value.call(this); + }, + load: function(e) { + var klass, req, text, _ref; + req = ThreadUpdater.req; + switch (req.status) { + case 200: + g.DEAD = false; + ThreadUpdater.parse(req.response.posts); + ThreadUpdater.setInterval(); + break; + case 404: + g.DEAD = true; + ThreadUpdater.set('timer', null); + ThreadUpdater.set('status', '404', 'warning'); + clearTimeout(ThreadUpdater.timeoutID); + ThreadUpdater.thread.kill(); + $.event('ThreadUpdate', { + 404: true, + thread: ThreadUpdater.thread + }); + break; + default: + ThreadUpdater.outdateCount++; + ThreadUpdater.setInterval(); + _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; + ThreadUpdater.set('status', text, klass); + } + if (ThreadUpdater.postID) { + return ThreadUpdater.cb.checkpost(); + } + } + }, + setInterval: function() { + var cur, i, j, limit; + i = ThreadUpdater.interval + 1; + if (Conf['Optional Increase']) { + cur = ThreadUpdater.outdateCount || 1; + limit = d.hidden ? 7 : 10; + j = cur <= limit ? cur : limit; + cur = (Math.floor(i * 0.1) || 1) * j * j; + ThreadUpdater.seconds = cur > i ? cur <= 300 ? cur : 300 : i; + } else { + ThreadUpdater.seconds = i; + } + ThreadUpdater.set('timer', ThreadUpdater.seconds); + return ThreadUpdater.count(true); + }, + intervalShortcut: function() { + var settings; + Settings.open('Advanced'); + settings = $.id('fourchanx-settings'); + return $('input[name=Interval]', settings).focus(); + }, + set: function(name, text, klass) { + var el, node; + el = ThreadUpdater[name]; + if (node = el.firstChild) { + node.data = text; + } else { + el.textContent = text; + } + if (klass !== void 0) { + return el.className = klass; + } + }, + count: function(start) { + clearTimeout(ThreadUpdater.timeoutID); + if (start && ThreadUpdater.isUpdating && navigator.onLine) { + return ThreadUpdater.timeout(); + } + }, + timeout: function() { + var n; + ThreadUpdater.timeoutID = setTimeout(ThreadUpdater.timeout, 1000); + if (!(n = --ThreadUpdater.seconds)) { + return ThreadUpdater.update(); + } else if (n <= -60) { + ThreadUpdater.set('status', 'Retrying', null); + return ThreadUpdater.update(); + } else if (n > 0) { + return ThreadUpdater.set('timer', n); + } + }, + update: function() { + var _ref; + if (!navigator.onLine) { + return; + } + ThreadUpdater.count(); + if (Conf['Auto Update']) { + ThreadUpdater.set('timer', '...'); + } else { + ThreadUpdater.set('timer', 'Update'); + } + if ((_ref = ThreadUpdater.req) != null) { + _ref.abort(); + } + return ThreadUpdater.req = $.ajax("//a.4cdn.org/" + ThreadUpdater.thread.board + "/thread/" + ThreadUpdater.thread + ".json", { + onloadend: ThreadUpdater.cb.load, + whenModified: true + }); + }, + updateThreadStatus: function(type, status) { + var change, hasChanged; + if (!(hasChanged = ThreadUpdater.thread["is" + type] !== status)) { + return; + } + ThreadUpdater.thread.setStatus(type, status); + change = type === 'Sticky' ? status ? 'now a sticky' : 'not a sticky anymore' : status ? 'now closed' : 'not closed anymore'; + return new Notice('info', "The thread is " + change + ".", 30); + }, + parse: function(postObjects) { + var OP, count, deletedFiles, deletedPosts, files, index, node, num, post, postObject, posts, root, scroll, _i, _j, _len, _len1; + OP = postObjects[0]; + Build.spoilerRange[ThreadUpdater.thread.board] = OP.custom_spoiler; + ThreadUpdater.updateThreadStatus('Sticky', !!OP.sticky); + ThreadUpdater.updateThreadStatus('Closed', !!OP.closed); + ThreadUpdater.thread.postLimit = !!OP.bumplimit; + ThreadUpdater.thread.fileLimit = !!OP.imagelimit; + posts = []; + index = []; + files = []; + count = 0; + for (_i = 0, _len = postObjects.length; _i < _len; _i++) { + postObject = postObjects[_i]; + num = postObject.no; + index.push(num); + if (postObject.fsize) { + files.push(num); + } + if (num <= ThreadUpdater.lastPost) { + continue; + } + count++; + node = Build.postFromObject(postObject, ThreadUpdater.thread.board.ID); + posts.push(new Post(node, ThreadUpdater.thread, ThreadUpdater.thread.board)); + } + deletedPosts = []; + deletedFiles = []; + ThreadUpdater.thread.posts.forEach(function(post) { + var ID; + ID = +post.ID; + if (__indexOf.call(index, ID) < 0) { + post.kill(); + deletedPosts.push(post); + } else if (post.isDead) { + post.resurrect(); + } else if (post.file && !(post.file.isDead || __indexOf.call(files, ID) >= 0)) { + post.kill(true); + deletedFiles.push(post); + } + if (ThreadUpdater.postID && ThreadUpdater.postID === ID) { + return ThreadUpdater.foundPost = true; + } + }); + if (!count) { + ThreadUpdater.set('status', null, null); + ThreadUpdater.outdateCount++; + } else { + ThreadUpdater.set('status', "+" + count, 'new'); + ThreadUpdater.outdateCount = 0; + if (Conf['Beep'] && d.hidden && Unread.posts && !Unread.posts.length) { + if (!ThreadUpdater.audio) { + ThreadUpdater.audio = $.el('audio', { + src: ThreadUpdater.beep + }); + } + ThreadUpdater.audio.play(); + } + ThreadUpdater.lastPost = posts[count - 1].ID; + Main.callbackNodes(Post, posts); + scroll = Conf['Auto Scroll'] && ThreadUpdater.scrollBG() && ThreadUpdater.root.getBoundingClientRect().bottom - doc.clientHeight < 25; + for (_j = 0, _len1 = posts.length; _j < _len1; _j++) { + post = posts[_j]; + root = post.nodes.root; + if (post.cb) { + if (!post.cb()) { + $.add(ThreadUpdater.root, root); + } + } else { + $.add(ThreadUpdater.root, root); + } + } + if (scroll) { + if (Conf['Bottom Scroll']) { + window.scrollTo(0, d.body.clientHeight); + } else { + if (root) { + Header.scrollTo(root); + } + } + } + $.queueTask(function() { + var length, threadID; + threadID = ThreadUpdater.thread.ID; + length = $$('.thread > .postContainer', ThreadUpdater.root).length; + return Fourchan.parseThread(threadID, length - count, length); + }); + } + return $.event('ThreadUpdate', { + 404: false, + thread: ThreadUpdater.thread, + newPosts: posts, + deletedPosts: deletedPosts, + deletedFiles: deletedFiles, + postCount: OP.replies + 1, + fileCount: OP.images + (!!ThreadUpdater.thread.OP.file && !ThreadUpdater.thread.OP.file.isDead) + }); + } + }; + + ThreadWatcher = { + init: function() { + var now, sc; + if (!Conf['Thread Watcher']) { + return; + } + this.shortcut = sc = $.el('a', { + id: 'watcher-link', + textContent: 'Watcher', + title: 'Thread Watcher', + href: 'javascript:;', + className: 'disabled fa fa-eye' + }); + this.db = new DataBoard('watchedThreads', this.refresh, true); + this.dialog = UI.dialog('thread-watcher', 'top: 50px; left: 0px;', { + innerHTML: '
Thread Watcher ×
' + }); + this.status = $('#watcher-status', this.dialog); + this.list = this.dialog.lastElementChild; + $.on(d, 'QRPostSuccessful', this.cb.post); + if (g.VIEW === 'thread') { + $.on(d, 'ThreadUpdate', this.cb.threadUpdate); + } + $.on(sc, 'click', this.toggleWatcher); + $.on($('.move>.close', ThreadWatcher.dialog), 'click', this.toggleWatcher); + $.on(d, '4chanXInitFinished', this.ready); + switch (g.VIEW) { + case 'index': + $.on(d, 'IndexRefresh', this.cb.onIndexRefresh); + break; + case 'thread': + $.on(d, 'ThreadUpdate', this.cb.onThreadRefresh); + } + if (Conf['Toggleable Thread Watcher']) { + Header.addShortcut(sc); + $.addClass(doc, 'fixed-watcher'); + } + now = Date.now(); + if ((this.db.data.lastChecked || 0) < now - 2 * $.HOUR) { + this.db.data.lastChecked = now; + ThreadWatcher.fetchAllStatus(); + this.db.save(); + } + return Thread.callbacks.push({ + name: 'Thread Watcher', + cb: this.node + }); + }, + node: function() { + var toggler; + toggler = $.el('img', { + className: 'watch-thread-link' + }); + $.on(toggler, 'click', ThreadWatcher.cb.toggle); + return $.before($('input', this.OP.nodes.post), toggler); + }, + ready: function() { + $.off(d, '4chanXInitFinished', ThreadWatcher.ready); + if (!Main.isThisPageLegit()) { + return; + } + ThreadWatcher.refresh(); + $.add(d.body, ThreadWatcher.dialog); + if (Conf['Toggleable Thread Watcher']) { + ThreadWatcher.dialog.hidden = true; + } + if (!Conf['Auto Watch']) { + return; + } + return $.get('AutoWatch', 0, function(_arg) { + var AutoWatch, thread; + AutoWatch = _arg.AutoWatch; + if (!(thread = g.BOARD.threads[AutoWatch])) { + return; + } + ThreadWatcher.add(thread); + return $["delete"]('AutoWatch'); + }); + }, + toggleWatcher: function() { + $.toggleClass(ThreadWatcher.shortcut, 'disabled'); + return ThreadWatcher.dialog.hidden = !ThreadWatcher.dialog.hidden; + }, + cb: { + openAll: function() { + var a, _i, _len, _ref; + if ($.hasClass(this, 'disabled')) { + return; + } + _ref = $$('a[title]', ThreadWatcher.list); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + a = _ref[_i]; + $.open(a.href); + } + return $.event('CloseMenu'); + }, + checkThreads: function() { + if ($.hasClass(this, 'disabled')) { + return; + } + return ThreadWatcher.fetchAllStatus(); + }, + pruneDeads: function() { + var boardID, data, threadID, _i, _len, _ref, _ref1; + if ($.hasClass(this, 'disabled')) { + return; + } + _ref = ThreadWatcher.getAll(); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + _ref1 = _ref[_i], boardID = _ref1.boardID, threadID = _ref1.threadID, data = _ref1.data; + if (!data.isDead) { + continue; + } + delete ThreadWatcher.db.data.boards[boardID][threadID]; + ThreadWatcher.db.deleteIfEmpty({ + boardID: boardID + }); + } + ThreadWatcher.db.save(); + ThreadWatcher.refresh(); + return $.event('CloseMenu'); + }, + toggle: function() { + return ThreadWatcher.toggle(Get.postFromNode(this).thread); + }, + rm: function() { + var boardID, threadID, _ref; + _ref = this.parentNode.dataset.fullID.split('.'), boardID = _ref[0], threadID = _ref[1]; + return ThreadWatcher.rm(boardID, +threadID); + }, + post: function(e) { + var board, postID, threadID, _ref; + _ref = e.detail, board = _ref.board, postID = _ref.postID, threadID = _ref.threadID; + if (postID === threadID) { + if (Conf['Auto Watch']) { + return $.set('AutoWatch', threadID); + } + } else if (Conf['Auto Watch Reply']) { + return ThreadWatcher.add(board.threads[threadID]); + } + }, + onIndexRefresh: function() { + var boardID, data, db, threadID, _ref; + db = ThreadWatcher.db; + boardID = g.BOARD.ID; + _ref = db.data.boards[boardID]; + for (threadID in _ref) { + data = _ref[threadID]; + if (!data.isDead && !(threadID in g.BOARD.threads)) { + if (Conf['Auto Prune']) { + ThreadWatcher.db["delete"]({ + boardID: boardID, + threadID: threadID + }); + } else { + data.isDead = true; + ThreadWatcher.db.set({ + boardID: boardID, + threadID: threadID, + val: data + }); + } + } + } + return ThreadWatcher.refresh(); + }, + onThreadRefresh: function(e) { + var thread; + thread = e.detail.thread; + if (!(e.detail[404] && ThreadWatcher.db.get({ + boardID: thread.board.ID, + threadID: thread.ID + }))) { + return; + } + return ThreadWatcher.add(thread); + } + }, + fetchCount: { + fetched: 0, + fetching: 0 + }, + fetchAllStatus: function() { + var thread, threads, _i, _len; + if (!(threads = ThreadWatcher.getAll()).length) { + return; + } + ThreadWatcher.status.textContent = '...'; + for (_i = 0, _len = threads.length; _i < _len; _i++) { + thread = threads[_i]; + ThreadWatcher.fetchStatus(thread); + } + }, + fetchStatus: function(_arg) { + var boardID, data, fetchCount, threadID; + boardID = _arg.boardID, threadID = _arg.threadID, data = _arg.data; + if (data.isDead) { + return; + } + fetchCount = ThreadWatcher.fetchCount; + fetchCount.fetching++; + return $.ajax("//a.4cdn.org/" + boardID + "/thread/" + threadID + ".json", { + onloadend: function() { + var status; + fetchCount.fetched++; + if (fetchCount.fetched === fetchCount.fetching) { + fetchCount.fetched = 0; + fetchCount.fetching = 0; + status = ''; + } else { + status = "" + (Math.round(fetchCount.fetched / fetchCount.fetching * 100)) + "%"; + } + ThreadWatcher.status.textContent = status; + if (this.status !== 404) { + return; + } + if (Conf['Auto Prune']) { + ThreadWatcher.db["delete"]({ + boardID: boardID, + threadID: threadID + }); + } else { + data.isDead = true; + ThreadWatcher.db.set({ + boardID: boardID, + threadID: threadID, + val: data + }); + } + return ThreadWatcher.refresh(); + } + }, { + type: 'head' + }); + }, + getAll: function() { + var all, boardID, data, threadID, threads, _ref; + all = []; + _ref = ThreadWatcher.db.data.boards; + for (boardID in _ref) { + threads = _ref[boardID]; + if (Conf['Current Board'] && boardID !== g.BOARD.ID) { + continue; + } + for (threadID in threads) { + data = threads[threadID]; + all.push({ + boardID: boardID, + threadID: threadID, + data: data + }); + } + } + return all; + }, + makeLine: function(boardID, threadID, data) { + var div, fullID, href, link, x; + x = $.el('a', { + className: 'fa fa-times', + href: 'javascript:;' + }); + $.on(x, 'click', ThreadWatcher.cb.rm); + if (data.isDead) { + href = Redirect.to('thread', { + boardID: boardID, + threadID: threadID + }); + } + link = $.el('a', { + href: href || ("/" + boardID + "/thread/" + threadID), + textContent: data.excerpt, + title: data.excerpt + }); + div = $.el('div'); + fullID = "" + boardID + "." + threadID; + div.dataset.fullID = fullID; + if (g.VIEW === 'thread' && fullID === ("" + g.BOARD + "." + g.THREADID)) { + $.addClass(div, 'current'); + } + if (data.isDead) { + $.addClass(div, 'dead-thread'); + } + $.add(div, [x, $.tn(' '), link]); + return div; + }, + refresh: function() { + var boardID, data, helper, list, nodes, refresher, thread, threadID, threads, toggler, watched, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3; + nodes = []; + _ref = ThreadWatcher.getAll(); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + _ref1 = _ref[_i], boardID = _ref1.boardID, threadID = _ref1.threadID, data = _ref1.data; + nodes.push(ThreadWatcher.makeLine(boardID, threadID, data)); + } + list = ThreadWatcher.list; + $.rmAll(list); + $.add(list, nodes); + threads = g.BOARD.threads; + _ref2 = threads.keys; + for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { + threadID = _ref2[_j]; + thread = threads[threadID]; + toggler = $('.watch-thread-link', thread.OP.nodes.post); + watched = ThreadWatcher.db.get({ + boardID: thread.board.ID, + threadID: threadID + }); + helper = watched ? ['addClass', 'Unwatch'] : ['rmClass', 'Watch']; + $[helper[0]](toggler, 'watched'); + toggler.title = "" + helper[1] + " Thread"; + } + _ref3 = ThreadWatcher.menu.refreshers; + for (_k = 0, _len2 = _ref3.length; _k < _len2; _k++) { + refresher = _ref3[_k]; + refresher(); + } + }, + toggle: function(thread) { + var boardID, threadID; + boardID = thread.board.ID; + threadID = thread.ID; + if (ThreadWatcher.db.get({ + boardID: boardID, + threadID: threadID + })) { + return ThreadWatcher.rm(boardID, threadID); + } else { + return ThreadWatcher.add(thread); + } + }, + add: function(thread) { + var boardID, data, threadID; + data = {}; + boardID = thread.board.ID; + threadID = thread.ID; + if (thread.isDead) { + if (Conf['Auto Prune'] && ThreadWatcher.db.get({ + boardID: boardID, + threadID: threadID + })) { + ThreadWatcher.rm(boardID, threadID); + return; + } + data.isDead = true; + } + data.excerpt = Get.threadExcerpt(thread); + ThreadWatcher.db.set({ + boardID: boardID, + threadID: threadID, + val: data + }); + return ThreadWatcher.refresh(); + }, + rm: function(boardID, threadID) { + ThreadWatcher.db["delete"]({ + boardID: boardID, + threadID: threadID + }); + return ThreadWatcher.refresh(); + }, + convert: function(oldFormat) { + var boardID, data, newFormat, threadID, threads; + newFormat = {}; + for (boardID in oldFormat) { + threads = oldFormat[boardID]; + for (threadID in threads) { + data = threads[threadID]; + (newFormat[boardID] || (newFormat[boardID] = {}))[threadID] = { + excerpt: data.textContent + }; + } + } + return newFormat; + }, + menu: { + refreshers: [], + init: function() { + var menu; + if (!Conf['Thread Watcher']) { + return; + } + menu = new UI.Menu('thread watcher'); + $.on($('.menu-button', ThreadWatcher.dialog), 'click', function(e) { + return menu.toggle(e, this, ThreadWatcher); + }); + this.addHeaderMenuEntry(); + return this.addMenuEntries(); + }, + addHeaderMenuEntry: function() { + var entryEl; + if (g.VIEW !== 'thread') { + return; + } + entryEl = $.el('a', { + href: 'javascript:;' + }); + $.event('AddMenuEntry', { + type: 'header', + el: entryEl, + order: 60 + }); + $.on(entryEl, 'click', function() { + return ThreadWatcher.toggle(g.threads["" + g.BOARD + "." + g.THREADID]); + }); + return this.refreshers.push(function() { + var addClass, rmClass, text, _ref; + _ref = $('.current', ThreadWatcher.list) ? ['unwatch-thread', 'watch-thread', 'Unwatch thread'] : ['watch-thread', 'unwatch-thread', 'Watch thread'], addClass = _ref[0], rmClass = _ref[1], text = _ref[2]; + $.addClass(entryEl, addClass); + $.rmClass(entryEl, rmClass); + return entryEl.textContent = text; + }); + }, + addMenuEntries: function() { + var cb, conf, entries, entry, name, refresh, subEntries, _i, _len, _ref, _ref1; + entries = []; + entries.push({ + cb: ThreadWatcher.cb.openAll, + entry: { + type: 'thread watcher', + el: $.el('a', { + textContent: 'Open all threads' + }) + }, + refresh: function() { + return (ThreadWatcher.list.firstElementChild ? $.rmClass : $.addClass)(this.el, 'disabled'); + } + }); + entries.push({ + cb: ThreadWatcher.cb.checkThreads, + entry: { + type: 'thread watcher', + el: $.el('a', { + textContent: 'Check 404\'d threads' + }) + }, + refresh: function() { + return ($('div:not(.dead-thread)', ThreadWatcher.list) ? $.rmClass : $.addClass)(this.el, 'disabled'); + } + }); + entries.push({ + cb: ThreadWatcher.cb.pruneDeads, + entry: { + type: 'thread watcher', + el: $.el('a', { + textContent: 'Prune 404\'d threads' + }) + }, + refresh: function() { + return ($('.dead-thread', ThreadWatcher.list) ? $.rmClass : $.addClass)(this.el, 'disabled'); + } + }); + subEntries = []; + _ref = Config.threadWatcher; + for (name in _ref) { + conf = _ref[name]; + subEntries.push(this.createSubEntry(name, conf[1])); + } + entries.push({ + entry: { + type: 'thread watcher', + el: $.el('span', { + textContent: 'Settings' + }), + subEntries: subEntries + } + }); + for (_i = 0, _len = entries.length; _i < _len; _i++) { + _ref1 = entries[_i], entry = _ref1.entry, cb = _ref1.cb, refresh = _ref1.refresh; + if (entry.el.nodeName === 'A') { + entry.el.href = 'javascript:;'; + } + if (cb) { + $.on(entry.el, 'click', cb); + } + if (refresh) { + this.refreshers.push(refresh.bind(entry)); + } + $.event('AddMenuEntry', entry); + } + }, + createSubEntry: function(name, desc) { + var entry, input; + entry = { + type: 'thread watcher', + el: UI.checkbox(name, " " + name) + }; + entry.el.title = desc; + input = entry.el.firstElementChild; + $.on(input, 'change', $.cb.checked); + if (name === 'Current Board') { + $.on(input, 'change', ThreadWatcher.refresh); + } + return entry; + } + } + }; + + Unread = { + init: function() { + if (g.VIEW !== 'thread' || !Conf['Unread Count'] && !Conf['Unread Favicon'] && !Conf['Desktop Notifications']) { + return; + } + this.db = new DataBoard('lastReadPosts', this.sync); + this.hr = $.el('hr', { + id: 'unread-line' + }); + this.posts = new RandomAccessList; + this.postsQuotingYou = []; + return Thread.callbacks.push({ + name: 'Unread', + cb: this.node + }); + }, + disconnect: function() { + var hr, name, _i, _len, _ref; + if (g.VIEW !== 'thread' || !Conf['Unread Count'] && !Conf['Unread Favicon'] && !Conf['Desktop Notifications']) { + return; + } + Unread.db.disconnect(); + if (hr = Unread.hr, Unread) { + $.rm(hr); + } + _ref = ['db', 'hr', 'posts', 'postsQuotingYou', 'thread', 'title', 'lastReadPost']; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + name = _ref[_i]; + delete this[name]; + } + $.off(d, '4chanXInitFinished', this.ready); + $.off(d, 'ThreadUpdate', this.onUpdate); + $.off(d, 'scroll visibilitychange', this.read); + if (Conf['Unread Line']) { + $.off(d, 'visibilitychange', this.setLine); + } + return Thread.callbacks.disconnect('Unread'); + }, + node: function() { + Unread.thread = this; + Unread.title = d.title; + Unread.lastReadPost = Unread.db.get({ + boardID: this.board.ID, + threadID: this.ID, + defaultValue: 0 + }); + $.on(d, '4chanXInitFinished', Unread.ready); + $.on(d, 'ThreadUpdate', Unread.onUpdate); + $.on(d, 'scroll visibilitychange', Unread.read); + if (Conf['Unread Line']) { + return $.on(d, 'visibilitychange', Unread.setLine); + } + }, + ready: function() { + var posts; + $.off(d, '4chanXInitFinished', Unread.ready); + if (!Conf['Quote Threading']) { + posts = []; + Unread.thread.posts.forEach(function(post) { + if (post.isReply) { + return posts.push(post); + } + }); + Unread.addPosts(posts); + } + if (Conf['Quote Threading']) { + QuoteThreading.force(); + } + if (Conf['Scroll to Last Read Post']) { + return Unread.scroll(); + } + }, + scroll: function() { + var down, hash, keys, post, posts, root; + if ((hash = location.hash.match(/\d+/)) && hash[0] in Unread.thread.posts) { + return; + } + if (post = Unread.posts.first) { + while (root = $.x('preceding-sibling::div[contains(@class,"replyContainer")][1]', post.data.nodes.root)) { + if (!(post = Get.postFromRoot(root)).isHidden) { + break; + } + } + if (!root) { + return; + } + down = true; + } else { + posts = Unread.thread.posts; + keys = posts.keys; + root = posts[keys[keys.length - 1]].nodes.root; + } + if (Header.getBottomOf(root) < 0) { + return Header.scrollTo(root, down); + } + }, + sync: function() { + var ID, lastReadPost, post; + lastReadPost = Unread.db.get({ + boardID: Unread.thread.board.ID, + threadID: Unread.thread.ID, + defaultValue: 0 + }); + if (!(Unread.lastReadPost < lastReadPost)) { + return; + } + Unread.lastReadPost = lastReadPost; + post = Unread.posts.first; + while (post) { + if ((ID = post.ID, post) > Unread.lastReadPost) { + break; + } + post = post.next; + Unread.posts.rm(ID); + } + Unread.readArray(Unread.postsQuotingYou); + if (Conf['Unread Line']) { + Unread.setLine(); + } + return Unread.update(); + }, + addPosts: function(posts) { + var ID, post, _i, _len, _ref, _ref1, _ref2; + for (_i = 0, _len = posts.length; _i < _len; _i++) { + post = posts[_i]; + ID = post.ID; + if (ID <= Unread.lastReadPost || post.isHidden || ((_ref = QR.db) != null ? _ref.get({ + boardID: post.board.ID, + threadID: post.thread.ID, + postID: ID + }) : void 0)) { + continue; + } + Unread.posts.push(post); + Unread.addPostQuotingYou(post); + } + if (Conf['Unread Line']) { + Unread.setLine((_ref1 = (_ref2 = Unread.posts.first) != null ? _ref2.data : void 0, __indexOf.call(posts, _ref1) >= 0)); + } + Unread.read(); + return Unread.update(); + }, + addPostQuotingYou: function(post) { + var quotelink, _i, _len, _ref, _ref1; + _ref = post.nodes.quotelinks; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + quotelink = _ref[_i]; + if (!((_ref1 = QR.db) != null ? _ref1.get(Get.postDataFromLink(quotelink)) : void 0)) { + continue; + } + Unread.postsQuotingYou.push(post); + Unread.openNotification(post); + return; + } + }, + openNotification: function(post) { + var name, notif; + if (!Header.areNotificationsEnabled) { + return; + } + name = Conf['Anonymize'] ? 'Anonymous' : $('.nameBlock', post.nodes.info).textContent.trim(); + notif = new Notification("" + name + " replied to you", { + body: post.info.comment, + icon: Favicon.logo + }); + notif.onclick = function() { + Header.scrollToIfNeeded(post.nodes.root, true); + return window.focus(); + }; + return notif.onshow = function() { + return setTimeout(function() { + return notif.close(); + }, 7 * $.SECOND); + }; + }, + onUpdate: function(e) { + if (e.detail[404]) { + return Unread.update(); + } else if (!Conf['Quote Threading']) { + return Unread.addPosts(e.detail.newPosts); + } else { + Unread.read(); + return Unread.update(); + } + }, + readSinglePost: function(post) { + var ID, i, posts; + ID = post.ID; + posts = Unread.posts; + if (!posts[ID]) { + return; + } + if (post === posts.first) { + Unread.lastReadPost = ID; + Unread.saveLastReadPost(); + } + posts.rm(ID); + if ((i = Unread.postsQuotingYou.indexOf(post)) !== -1) { + Unread.postsQuotingYou.splice(i, 1); + } + return Unread.update(); + }, + readArray: function(arr) { + var i, post, _i, _len; + for (i = _i = 0, _len = arr.length; _i < _len; i = ++_i) { + post = arr[i]; + if (post.ID > Unread.lastReadPost) { + break; + } + } + return arr.splice(0, i); + }, + read: $.debounce(100, function(e) { + var ID, data, height, post, posts, _ref; + if (d.hidden || !Unread.posts.length) { + return; + } + height = doc.clientHeight; + posts = Unread.posts; + while (post = posts.first) { + if (!(Header.getBottomOf(post.data.nodes.root) > -1)) { + break; + } + ID = post.ID, data = post.data; + posts.rm(ID); + if (Conf['Mark Quotes of You'] && ((_ref = QR.db) != null ? _ref.get({ + boardID: data.board.ID, + threadID: data.thread.ID, + postID: ID + }) : void 0)) { + QuoteYou.lastRead = data.nodes.root; + } + } + if (!ID) { + return; + } + if (Unread.lastReadPost < ID || !Unread.lastReadPost) { + Unread.lastReadPost = ID; + } + Unread.saveLastReadPost(); + Unread.readArray(Unread.postsQuotingYou); + if (e) { + return Unread.update(); + } + }), + saveLastReadPost: $.debounce(2 * $.SECOND, function() { + if (Unread.thread.isDead) { + return; + } + return Unread.db.set({ + boardID: Unread.thread.board.ID, + threadID: Unread.thread.ID, + val: Unread.lastReadPost + }); + }), + setLine: function(force) { + var post; + if (!(d.hidden || force === true)) { + return; + } + if (!(post = Unread.posts.first)) { + return $.rm(Unread.hr); + } + if ($.x('preceding-sibling::div[contains(@class,"replyContainer")]', post.data.nodes.root)) { + return $.before(post.data.nodes.root, Unread.hr); + } + }, + update: function(dontrepeat) { + var count; + count = Unread.posts.length; + if (Conf['Unread Count']) { + d.title = "" + (Conf['Quoted Title'] && Unread.postsQuotingYou.length ? '(!) ' : '') + (count || !Conf['Hide Unread Count at (0)'] ? "(" + count + ") " : '') + (g.DEAD ? "/" + g.BOARD + "/ - 404" : "" + Unread.title); + if (dontrepeat) { + return; + } + setTimeout(function() { + d.title = ''; + return Unread.update(true); + }, $.SECOND); + } + if (!Conf['Unread Favicon']) { + return; + } + return Favicon.el.href = g.DEAD ? Unread.postsQuotingYou[0] ? Favicon.unreadDeadY : count ? Favicon.unreadDead : Favicon.dead : count ? Unread.postsQuotingYou[0] ? Favicon.unreadY : Favicon.unread : Favicon["default"]; + } + }; + + Redirect = { + init: function() { + var archive, archives, boardID, boards, data, files, id, name, o, record, software, type, withCredentials, _i, _j, _len, _len1, _ref, _ref1; + o = { + thread: {}, + post: {}, + file: {} + }; + archives = {}; + _ref = Redirect.archives; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + name = data.name, boards = data.boards, files = data.files, software = data.software, withCredentials = data.withCredentials; + archives[name] = data; + for (_j = 0, _len1 = boards.length; _j < _len1; _j++) { + boardID = boards[_j]; + if (!(!withCredentials)) { + continue; + } + if (!(boardID in o.thread)) { + o.thread[boardID] = data; + } + if (!(boardID in o.post || software !== 'foolfuuka')) { + o.post[boardID] = data; + } + if (!(boardID in o.file || __indexOf.call(files, boardID) < 0)) { + o.file[boardID] = data; + } + } + } + _ref1 = Conf['selectedArchives']; + for (boardID in _ref1) { + record = _ref1[boardID]; + for (type in record) { + id = record[type]; + if (!((archive = archives[id]))) { + continue; + } + boards = type === 'file' ? archive.files : archive.boards; + if (__indexOf.call(boards, boardID) < 0) { + continue; + } + o[type][boardID] = archive; + } + } + return Redirect.data = o; + }, + archives: [{"uid":0,"name":"Foolz","domain":"archive.foolz.us","http":true,"https":true,"software":"foolfuuka","boards":["a","biz","co","diy","gd","jp","m","sci","sp","tg","tv","vg","vp","vr","wsg"],"files":["a","biz","diy","gd","jp","m","sci","tg","vg","vp","vr","wsg"]},{"uid":1,"name":"NSFW Foolz","domain":"nsfw.foolz.us","http":true,"https":true,"software":"foolfuuka","boards":["u"],"files":["u"]},{"uid":2,"name":"The Dark Cave","domain":"archive.thedarkcave.org","http":true,"https":true,"software":"foolfuuka","boards":["c","int","out","po"],"files":["c","po"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":18,"name":"4plebs Flash Archive","domain":"flash.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["f"],"files":["f"]},{"uid":4,"name":"Nyafuu","domain":"archive.nyafuu.org","http":true,"https":true,"software":"foolfuuka","boards":["c","e","w","wg"],"files":["c","e","w","wg"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["d","i","lgbt"],"files":["d","i","lgbt"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":9,"name":"Heinessen","domain":"archive.heinessen.com","http":true,"https":false,"software":"fuuka","boards":["an","fit","k","mlp","r9k","toy"],"files":["an","fit","k","mlp","r9k","toy"]},{"uid":10,"name":"warosu","domain":"fuuka.warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.eu","http":true,"https":true,"software":"foolfuuka","boards":["asp","b","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":16,"name":"maware","domain":"archive.mawa.re","http":true,"https":false,"software":"foolfuuka","boards":["t"],"files":["t"]},{"uid":17,"name":"installgentoo.com","domain":"chan.installgentoo.com","http":true,"https":false,"software":"foolfuuka","boards":["g","t"],"files":["g","t"]},{"uid":13,"name":"Foolz Beta","domain":"beta.foolz.us","http":true,"https":true,"withCredentials":true,"software":"foolfuuka","boards":["a","biz","co","d","diy","gd","h","i","jp","m","mlp","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":[]},{"uid":19,"name":"Deniable Plausibility","domain":"boards.deniableplausibility.net","http":true,"https":false,"software":"foolfuuka","boards":["v","g"],"files":["v","g"]}], + to: function(dest, data) { + var archive; + archive = (dest === 'search' ? Redirect.data.thread : Redirect.data[dest])[data.boardID]; + if (!archive) { + return ''; + } + return Redirect[dest](archive, data); + }, + protocol: function(archive) { + var protocol; + protocol = location.protocol; + if (!archive[protocol.slice(0, -1)]) { + protocol = protocol === 'https:' ? 'http:' : 'https:'; + } + return "" + protocol + "//"; + }, + thread: function(archive, _arg) { + var boardID, path, postID, threadID; + boardID = _arg.boardID, threadID = _arg.threadID, postID = _arg.postID; + path = threadID ? "" + boardID + "/thread/" + threadID : "" + boardID + "/post/" + postID; + if (archive.software === 'foolfuuka') { + path += '/'; + } + if (threadID && postID) { + path += archive.software === 'foolfuuka' ? "#" + postID : "#p" + postID; + } + return "" + (Redirect.protocol(archive)) + archive.domain + "/" + path; + }, + post: function(archive, _arg) { + var URL, boardID, postID; + boardID = _arg.boardID, postID = _arg.postID; + URL = new String("" + (Redirect.protocol(archive)) + archive.domain + "/_/api/chan/post/?board=" + boardID + "&num=" + postID); + URL.archive = archive; + return URL; + }, + file: function(archive, _arg) { + var boardID, filename; + boardID = _arg.boardID, filename = _arg.filename; + return "" + (Redirect.protocol(archive)) + archive.domain + "/" + boardID + "/full_image/" + filename; + }, + search: function(archive, _arg) { + var boardID, path, type, value; + boardID = _arg.boardID, type = _arg.type, value = _arg.value; + type = type === 'name' ? 'username' : type === 'MD5' ? 'image' : type; + value = encodeURIComponent(value); + path = archive.software === 'foolfuuka' ? "" + boardID + "/search/" + type + "/" + value : "" + boardID + "/?task=search2&search_" + (type === 'image' ? 'media_hash' : type) + "=" + value; + return "" + (Redirect.protocol(archive)) + archive.domain + "/" + path; + } + }; + + PSAHiding = { + init: function() { + if (!Conf['Announcement Hiding']) { + return; + } + $.addClass(doc, 'hide-announcement'); + return $.on(d, '4chanXInitFinished', this.setup); + }, + setup: function() { + var btn, entry, psa; + $.off(d, '4chanXInitFinished', PSAHiding.setup); + if (!(psa = $.id('globalMessage'))) { + $.rmClass(doc, 'hide-announcement'); + return; + } + entry = { + type: 'header', + el: $.el('a', { + textContent: 'Show announcement', + className: 'show-announcement', + href: 'javascript:;' + }), + order: 50, + open: function() { + return psa.hidden; + } + }; + $.event('AddMenuEntry', entry); + $.on(entry.el, 'click', PSAHiding.toggle); + PSAHiding.btn = btn = $.el('span', { + innerHTML: '[Dismiss]', + title: 'Mark announcement as read and hide.', + className: 'hide-announcement', + href: 'javascript:;' + }); + $.on(btn, 'click', PSAHiding.toggle); + $.get('hiddenPSA', 0, function(_arg) { + var hiddenPSA; + hiddenPSA = _arg.hiddenPSA; + PSAHiding.sync(hiddenPSA); + $.add(psa, btn); + return $.rmClass(doc, 'hide-announcement'); + }); + return $.sync('hiddenPSA', PSAHiding.sync); + }, + toggle: function(e) { + var UTC; + if ($.hasClass(this, 'hide-announcement')) { + UTC = +$.id('globalMessage').dataset.utc; + $.set('hiddenPSA', UTC); + } else { + $.event('CloseMenu'); + $["delete"]('hiddenPSA'); + } + return PSAHiding.sync(UTC); + }, + sync: function(UTC) { + var hr, psa; + psa = $.id('globalMessage'); + psa.hidden = PSAHiding.btn.hidden = UTC && UTC >= +psa.dataset.utc ? true : false; + if ((hr = psa.nextElementSibling) && hr.nodeName === 'HR') { + return hr.hidden = psa.hidden; + } + } + }; + + Banner = { + init: function() { + return $.asap((function() { + return d.body; + }), function() { + return $.asap((function() { + return $('hr'); + }), Banner.ready); + }); + }, + ready: function() { + var banner, child, children, i; + banner = $(".boardBanner"); + children = banner.children; + i = 0; + while (child = children[i++]) { + if (i === 1) { + child.title = "Click to change"; + $.on(child, 'click', Banner.cb.toggle); + continue; + } + if (Conf['Custom Board Titles']) { + Banner.custom(child).title = "Ctrl+click to edit board " + (i === 3 ? 'sub' : '') + "title"; + child.spellcheck = false; + } + } + }, + cb: { + toggle: (function() { + var types; + types = { + jpg: 227, + png: 270, + gif: 253 + }; + return function() { + var num, type; + type = Object.keys(types)[Math.floor(3 * Math.random())]; + num = Math.floor(types[type] * Math.random()); + return $('img', this.parentNode).src = "//s.4cdn.org/image/title/" + num + "." + type; + }; + })(), + click: function(e) { + if (e.ctrlKey) { + this.contentEditable = true; + return this.focus(); + } + }, + keydown: function(e) { + e.stopPropagation(); + if (!e.shiftKey && e.keyCode === 13) { + return this.blur(); + } + }, + focus: function() { + var items, string, string2; + string = "" + g.BOARD + "." + this.className; + string2 = "" + string + ".orig"; + items = { + title: this.textContent + }; + items[string] = ''; + items[string2] = false; + $.get(items, function(items) { + if (!(items[string2] && items.title === items[string])) { + return $.set(string2, items.title); + } + }); + }, + blur: function() { + this.contentEditable = false; + return $.set("" + g.BOARD + "." + this.className, this.textContent); + } + }, + custom: function(child) { + var cachedTest, string; + cachedTest = child.textContent; + string = "" + g.BOARD + "." + child.className; + $.on(child, 'click keydown focus blur', function(e) { + return Banner.cb[e.type].apply(this, [e]); + }); + $.get(string, cachedTest, function(item) { + var string2, title; + if (!(title = item[string])) { + return; + } + if (Conf['Persistent Custom Board Titles']) { + return child.textContent = title; + } + string2 = "" + string + ".orig"; + return $.get(string2, cachedTest, function(itemb) { + if (cachedTest === itemb[string2]) { + return child.textContent = title; + } else { + $.set(string, cachedTest); + return $.set(string2, cachedTest); + } + }); + }); + return child; + } + }; + + CatalogLinks = { + init: function() { + var el, input; + if (!Conf['Catalog Links']) { + return; + } + CatalogLinks.el = el = UI.checkbox('Header catalog links', ' Catalog Links'); + el.id = 'toggleCatalog'; + input = $('input', el); + $.on(input, 'change', this.toggle); + $.sync('Header catalog links', CatalogLinks.set); + $.event('AddMenuEntry', { + type: 'header', + el: el, + order: 95 + }); + return $.on(d, '4chanXInitFinished', function() { + return CatalogLinks.set(Conf['Header catalog links']); + }); + }, + toggle: function() { + $.event('CloseMenu'); + $.set('Header catalog links', this.checked); + return CatalogLinks.set(this.checked); + }, + set: function(useCatalog) { + var a, board, generateURL, path, _i, _len, _ref, _ref1; + path = useCatalog ? 'catalog' : ''; + generateURL = useCatalog && Conf['External Catalog'] ? CatalogLinks.external : function(board) { + return a.href = "/" + board + "/" + path; + }; + _ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a"); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + a = _ref[_i]; + if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan')) { + continue; + } + a.href = generateURL(board); + } + return CatalogLinks.el.title = "Turn catalog links " + (useCatalog ? 'off' : 'on') + "."; + }, + external: function(board) { + if (board === 'a' || board === 'c' || board === 'g' || board === 'biz' || board === 'k' || board === 'm' || board === 'o' || board === 'p' || board === 'v' || board === 'vg' || board === 'vr' || board === 'w' || board === 'wg' || board === 'cm' || board === '3' || board === 'adv' || board === 'an' || board === 'asp' || board === 'cgl' || board === 'ck' || board === 'co' || board === 'diy' || board === 'fa' || board === 'fit' || board === 'gd' || board === 'int' || board === 'jp' || board === 'lit' || board === 'mlp' || board === 'mu' || board === 'n' || board === 'out' || board === 'po' || board === 'sci' || board === 'sp' || board === 'tg' || board === 'toy' || board === 'trv' || board === 'tv' || board === 'vp' || board === 'wsg' || board === 'x' || board === 'f' || board === 'pol' || board === 's4s' || board === 'lgbt') { + return "http://catalog.neet.tv/" + board; + } else { + return "/" + board + "/catalog"; + } + } + }; + + CustomCSS = { + init: function() { + if (!Conf['Custom CSS']) { + return; + } + return this.addStyle(); + }, + addStyle: function() { + return this.style = $.addStyle(Conf['usercss']); + }, + rmStyle: function() { + if (this.style) { + $.rm(this.style); + return delete this.style; + } + }, + update: function() { + if (!this.style) { + this.addStyle(); + } + return this.style.textContent = Conf['usercss']; + } + }; + + Dice = { + init: function() { + if (g.BOARD.ID !== 'tg' || g.VIEW === 'catalog' || !Conf['Show Dice Roll']) { + return; + } + return Post.callbacks.push({ + name: 'Show Dice Roll', + cb: this.node + }); + }, + node: function() { + var dicestats, roll, _ref; + if (this.isClone || !(dicestats = (_ref = this.info.email) != null ? _ref.match(/dice[+\s](\d+)d(\d+)/) : void 0)) { + return; + } + roll = $('b', this.nodes.comment).firstChild; + return roll.data = "Rolled " + dicestats[1] + "d" + dicestats[2] + ": " + (roll.data.slice(7)); + } + }; + + Emoji = { + init: function() { + var css, icon, name, pos, _ref; + if (!Conf['Emoji']) { + return; + } + pos = Conf['emojiPos']; + css = ["a.useremail[href]:last-of-type::" + pos + " {\n vertical-align: top;\n margin-" + (pos === "before" ? "right" : "left") + ": 5px;\n}\n"]; + this.icons["PlanNine"] = Emoji.icons["Plan9"]; + this.icons['Sage'] = Emoji.sage[Conf['sageEmoji']]; + _ref = this.icons; + for (name in _ref) { + icon = _ref[name]; + if (!this.icons.hasOwnProperty(name)) { + continue; + } + css.push("a.useremail[href*='" + name + "']:last-of-type::" + pos + ",\na.useremail[href*='" + (name.toLowerCase()) + "']:last-of-type::" + pos + ",\na.useremail[href*='" + (name.toUpperCase()) + "']:last-of-type::" + pos + " {\n content: url('data:image/png;base64," + icon + "');\n}\n"); + } + return $.addStyle(css.join(""), 'emoji'); + }, + sage: { + '4chan SS': 'iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAMAAACuAq9NAAABIFBMVEUAAAAAXwAAOAAAVQAAKgAAOgAALwAAagAATwAAdAAAYAAAYwAARAAAcgAANwAAOAABcwEBZAEBXwEAQwABbwEBaQEBWgEBTwECdAICaQIIcwgBWQEIXAcARAAALgACdAICbQICdAICcAIBVQEBTgEAQgAAQwAkjCIcexomgSIcbRtCnj9IpUNEmT5LoUNYtFE9lDtClD5dtVJqwmNCmEFMoEh1zGcnfCYnfCc6jzc7kDs9kjxAlUBDmEFInUNLoEpMoExOo0tPpExQpU1Rpk1Sp0pSp1JXrFVZrlhar1Rar1pes1xftFhhtmFit19juFxkuVxovWRrwGBuw2Juw2Nuw2Ruw2V0yWx1ym14zWt6z2980W6A1XGD2HSD2XSI3XdgUJhRAAAAN3RSTlMACAkJDBobHyBERUVHR3KIiYyNkJmanZ6rrq+ws7S5vL29vsLFxsfP0dLU5eXn5+vt7e34+fn5LB88GQAAAI1JREFUGFdNzjsSwjAMRdGn2PngmZAUVHQshP0vArYQYCYDlmxLos3tTncx4xjdAMCEhR1ApLup+bPxtgsQzZ2Mr4iPYROEU129g6it0jJCv6xqFJlpKbl2kr21Zsl/Mo0IBpmrqg7ZnPfgSnKuqhrKwO+AVrSUOjmo5VcEuHzH9CEAXaTDYZ88HGh++QNCDFZ4bvbHSQAAAABJRU5ErkJggg==', + 'appchan': 'iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAMAAAAolt3jAAABa1BMVEUAAACqrKiCgYIAAAAAAAAAAACHmX5pgl5NUEx/hnx4hXRSUVMiIyKwrbFzn19SbkZ1d3OvtqtpaWhcX1ooMyRsd2aWkZddkEV8vWGcpZl+kHd7jHNdYFuRmI4bHRthaV5WhUFsfGZReUBFZjdJazpGVUBnamYfHB9TeUMzSSpHgS1cY1k1NDUyOC8yWiFywVBoh1lDSEAZHBpucW0ICQgUHhBjfFhCRUA+QTtEQUUBAQFyo1praWspKigWFRZHU0F6j3E9Oz5VWFN0j2hncWONk4sAAABASDxJWkJKTUgAAAAvNC0fJR0DAwMAAAA9QzoWGhQAAAA8YytvrFOJsnlqyT9oqExqtkdrsExpsUsqQx9rpVJDbzBBbi5utk9jiFRuk11iqUR64k5Wf0JIZTpadk5om1BkyjmF1GRNY0FheFdXpjVXhz86XSp2yFJwslR3w1NbxitbtDWW5nNnilhFXTtYqDRwp1dSijiJ7H99AAAAUnRSTlMAJTgNGQml71ypu3cPEN/RDh8HBbOwQN7wVg4CAQZ28vs9EDluXjo58Ge8xwMy0P3+rV8cT73sawEdTv63NAa3rQwo4cUdAl3hWQSWvS8qqYsjEDiCzAAAAIVJREFUeNpFx7GKAQAYAOD/A7GbZVAWZTBZFGQw6LyCF/MIkiTdcOmWSzYbJVE2u1KX0J1v+8QDv/EkyS0yXF/NgeEILiHfyc74mICTQltqYXBeAWU9HGxU09YqqEvAElGjyZYjPyLqitjzHSEiGkrsfMWr0VLe+oy/djGP//YwfbeP8bN3Or0bkqEVblAAAAAASUVORK5CYII=' + }, + icons: { + 'Plan9': 'iVBORw0KGgoAAAANSUhEUgAAAAwAAAAPCAYAAAGn5h7fAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AoYAzE15J1s7QAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAACAElEQVQoz3WSz4sSARTHvzMjygpqYg3+KIhkE83DKtKlf0C9SrTRuZNEx0VowU6CuSeJNlwwpEO2kJ6SQBiIUAzFjRDF4wrjKosnGx3HmdehFDfpe/2+z/s++D5gU7IsEwRByICIiAEAIiIAYAFAXsjYVr/fLxMRNVvN+prJ5/OA3+/XERFNf02JyeVyDx0OxyvLNQsnimLKfcf9KRQKXQAAnE6nlf5qMpnQycnbP/kAoKoqsSwLAJhOp+AAwOv1otvtpqxWq73dbt/r9XqvEQ6HUalUEvF4XLd5IpvNZqlerzd5nlf6/f6tTCZjBACk0+nb+XxeW4UrikLJZPImAGA0Gq0NIqJyuSyyANDr9Q5Wu1utFvR6/SULAI1G4+vK8Pv90DTtGwsAJpPpaGUYDAZ0Op3PHAAEg8H3tVqtbrtu21sqyxuRSOQJk0ql9IvF4r7b7f7pcrlejkaj57IsH58Pzp8dvjhc/lsBk0gkbLFYrFqtVvd27+4qOk733ePxPDCbzVBVFfP5fCiK4rvhxfDN/qP9wSasGwwGMv1HiqJQsVg8ZlfTHMepkiR1t05gGJBGmM/nMBqNj9nN9kql0lNN064ARISzH2cQBAGz2ewLu2na7XYLwzBbvxYIBBCNRrFj3BmsAZ/PZ+J5/kOhUIAkSVeA8XiMZqt5efrx9OA3GfcgvyVno9cAAAAASUVORK5CYII=', + 'Neko': 'iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAMAAAAIRmf1AAACoFBMVEUAAABnUFZoUVddU1T6+PvFwLzn4eFXVlT/+vZpZGCgm5dKU1Cfnpz//flbWljr5uLp5OCalpNZWFb//f3r6+n28ff9+PRaVVH59Pr//vr38vj57/Dp7eyjn5zq8O5aVVJbYV9nVFhjUFRiWFlZVlFgZGOboJzm5uZhamfz9/bt8fDw6+drb26bl5j/8/lkX1z06uldWFS5r61UT0tfWlbDwr3Ew76moqNRTU7Mx8P75OpeY19pWl1XW1qzr6x5eHaLiojv7+1UT0xIU0uzqadVS0nV0MxkZGT5+PPk497///ra29Xq5eFtY2H28e2hnJignJlUUE1dXV2vrqxkY2FkYF/m3d5vZmfDuruhl5aZlJHx8O75+PZWVVP29vT/9fTj3trv6ubh5eRdXFqTkpBOTUtqZmX88/RMQ0T78vPEvr7HwcHDwsDq6ef///3Gx8H++fXEv7tZWVedmZZXXVudnJp0c3FZU1f79fnb1dlXUVVjXWFrZmy8t7359/qLj455e3q4s69vamZjX1zy4+avpaReWFz/+f1NR0vu6Ozp4+f48/lnYmi8ur3Iw7/69fHz7+xbV1SZmJZVUk1ZV1zq5ez++f/c196uqbDn4uj9+P7z7vRVVVXt6ORiXl/OycXHw8CPi4ihoJ5aWF3/+v/k3+axrLOsp67LzMZYU1m2sq9dWF5WUU1WUk/Au7eYlJGqpqObmphYVV749f7p5Or38fPu6OpiXFz38fH79vLz7urv6+hhYF5cWWKal6D//f/Z09Xg29exraqbl5RqaW6kpKTq5uPv7Of/+PDj29D//vP18Ozs5+OloJymoZ1ZVVJZWVlkYF2hnpmblIyspJmVjYKQi4enop5STUlRTUpcWUhqY1BgWT9ZUjhcV1NiXVkkhke3AAAABHRSTlMA5vjapJ+a9wAAAP9JREFUGBk9wA1EAwEAhuHv3dTQAkLiUlJFJWF0QDLFYDRXIMkomBgxNIYxhOk4wwCqQhQjxgxSGIsALFA5BiYbMZHajz1oJlx51sBJpf6Gd3zONcrqm/r1W8ByK0r+XV1LXyOLLnjW6hMGpu0u1IzPSdO17DgrGC6AadrVodGcDQYbhguP6wAvAaC0BRZQalkUQ8UQDz5tAof0XbejOFcV5xiUoCfjj3O/nf0ZbqAMPYmzU18KSDaRQ08qnfw+B2JNdAEQt2O5vctUGjhoIBU4ygPsj2Vh5zYopDK73hsirdkPTwGCbSHpiYFwYVVC/17pCFSBeUmoqwYQuZtWxx+BVEz0LeVKIQAAAABJRU5ErkJggg==', + 'Madotsuki': 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAMAAADTRh9nAAAALVBMVEUAAAC3iopWLTtWPkHnvqUcBxx5GCZyAAARERGbdXJrRUyGRUyYbY23coZFGDRFGEYfAAAAAXRSTlMAQObYZgAAAGdJREFUeNpVywkOwCAQAkAXtPb+/3PLWklTiIlMtDiH4rvpVM22K+WvY+7Z/dOxZ2xkLmYpNWo6RoKMUQJ8SYiozEYiZAuLbCZQsGB+/hC4SwZsdV2rTjSR0+J9tzXL0B4RW5f9VbE94skEEpHbpw8AAAAASUVORK5CYII=', + 'Sega': 'iVBORw0KGgoAAAANSUhEUgAAACwAAAALBAMAAAD2A3K8AAAAMFBMVEUAAACMjpOChImytLmdnqMrKzDIyM55dnkODQ94foQ7PkXm5Olsb3VUUVVhZmw8Sl6klHLxAAAAAXRSTlMAQObYZgAAANFJREFUGJVjYIACRiUlJUUGDHBk4syTkxQwhO3/rQ/4ZYsuymi3YEFUqAhC4LCJZJGIi1uimKKjk3KysbOxsaMnAwNLyqoopaXhttf2it1anrJqke1pr1DlBAZhicLnM5YXZ4RWlIYoezx0zrjYqG6czCDsYRzxIko6Q/qFaKy0690Ij0MxN8K2MIhJXF+hsfxJxuwdpYGVaUU3Mm5bqgKFOZOFit3Vp23J3pgsqLxFUXpLtlD5bgcGBs45794dn6mkOVFQUOjNmXPPz8ysOcAAANw6SHLtrqolAAAAAElFTkSuQmCC', + 'Sakamoto': 'iVBORw0KGgoAAAANSUhEUgAAABEAAAAQCAYAAADwMZRfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAxVJREFUOE+Nk19IU1EYwK+GQQTVQ39egh6ibKlzw91z7rn3bvfOmddNszl1bjKXc5rJJGmBUr7Yg9qTD0IalFgRBEYg6EDQQB+GovQyQgiaUZsoLcgHMcr069w7MgcGXfi453zn+37fv3MYZt/n99e76tzVj4JN/hP79fvXnV3hnNabwUBjoOHcgTYOu/JQspgTzsqKgn9BfD4vkWTzur287PqLVy+zM+yePB7KsRXLywTjnSpnZctBkPCdW8ccDuU55vBO8RXbkC/oP5ph19V5+7LIky0OY1BKbZEbLcFSt7u6pN7jLmltCVrr3DV5jY3+KovFEsccB1KJNVpefe10BqS2tqqO4/AuphBB4L/LkrRqNgtJs1lMypLls1kU38mytMLz/E8VIlutqVqX6/weZG52OttRXjbE0cP/FYLRlpVjDXuQ/r77x2XZPKkCHA4HBAIBkCQpAygIAvh8Pu2MZgO0Lz+QSa/sQfwN9RfpVN66XC6Ynp6GhYUFGBwczAC1t7fD0tISxONx6O7upgHILmsqvLcHodOggfiV/v5+SCaT4HQ6IRaLgdfr1bIRRREmJyfBZrNBNBqF+fl5sNsdgE2GiAbp6bmbdbXC7qWQbxMTE7C2tgY6nQ5SqRSEw2ENopaoZpCXlwdTU1NaoECgCbgiU6y8QH+ECYWaTymK7TWdys7MzIwGaWtrg42NDejo6AB1WjU1NZo+FArB2NgYrK6uQrAlCASxn2z6wkuMp87VIAhkE2MEAwMDkEgkYHx8HBYXF0HtkQpRy1BLiEQisLy8rPVNKSsFjEzrXH4+z1hlS4xDhKadNu7t7YPR0VHweDzAEVWfHru6HxkZgeHhYVAURYNjkylVWKArZjjMzqmdVi+QCsLUkQiEjvDvncEkvU7/qQ0Vgukeo48Go87IiCJnZNmipxiz7wXEbVDnbUxQOgM12h9n6qTq6NvapRdtkwaP0XK8RmPuYSbxYfaQ/sJJhjfknuFRURUi7AMOozcCwl94hLZp5F+EioDQVwqYI6jomZU1NFtM+rOSxZjVazcyvwHr/p/Kws1jegAAAABJRU5ErkJggg==', + 'Baka': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAA0pJREFUOE91k3tI01EUx39JOpA0H4jNx0pbD3XTalISWf8YFlEgldqDsBLLyqjEKBCiLLWiggh6/KEV1WZ7OaelLZvDdDafNW1JFraWe/32+01FrUZ9uy4ylLpw4Z5z7/nc77n3HIqaMRIjZJyEcNX+uFCFeGmI/GZciEIsCFJUTvoAzDz+1y7K76MSwhX5hXl6z+WSbrzU2KB8YEGDwgrTaxZ3b7xHcaHhR3xw7Z5/UviB1ReP5XSg3+TAqYJOxMzWISFIC0GQDomhTVA9skCnsaAwp/vnMq66dBokNuBR9uFd7T9Z1zCunjci0qcRJUVdoJ3DYOhRnC/qBZ+jQbfeCc+37yjY2UEg0iwvJE0k9l8Z+8xqHmTgot0QLdQgTaQFQ2AsOzlHvOu1S5pwOLsHHo8HjHMCq2MazNvTlByKHyrJLDvdR25jMWRxYx5HjeMH2r1BDOOeguRua4OI14jx8a8YH5tA+al3EHKlW6mYOapb2oZBOOwMbEMseAE12L+jjUh3w+VipyAZ65oxn1NP/GMYGR6Ftn4Qsf7qa9S82Y/l/X122G0uL2TbxmZEz1WhXW8mUol8moXu+SCi/OoQ6VsDh3UUwyQ1k9GOaI5MTkX4yWTGHutvgI1F28sviAlRgxeoRm62HvsyW8En9pZ1TYgi6TntoyQtFm86rVgUoJZRvDnKMmXVAGxWmkAYOBwudBqGcHCvHulrGpGT2Uy+z4yT+QYsCXtCUpp8GxbKhx8gDK0ro+KjJGvzdjfDZnN6VdisLD5/JjArQ2zW66PJOj2lEZtStaBphkwah7K6kMJ/GEulp1bMWhAmMbTozOQRaWRtfoZVgjo4iRra4SYgGi26TwjxVeDKhR7Y7U606ixICq9tr7hd7+OthRWL7yUnJ1WPmXotqLhpRICPHCePtuFV6xdUPTAhcWEtRHEqfHpPyto4hPXLXnzflSEJnFaN3OCKDcsFsrEntR9RUmxARLAUgT5iBPuJsXWDBj0dZjRU9yNV+PTbpjTp9OA/pOSk24nRkXf1J462oPxcJ65f6ULlHSMulepRerYDgvj7A0cKpNz/tyTZqbzXO4t0ZZGQJ34RH11lFHIlA8LIqreCCMUZRY3cd2bwL/5/RmjNSXqtAAAAAElFTkSuQmCC', + 'Ponyo': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAACAVBMVEUAAAAAAAA/AAC/AADMAACqAAC2AADGcQBMGQCyZgDMGRnEYgDMERHJGhrOGBjHeQvSISFPGgjNgyDQHh7MHx9QHgqBGhHLeQzQHh7OGRnSHR3WJCTTJCTQGxvQHx9jLBbKfxjPGxvPHh7QOB7TJCRrLRrTJCRZJhHbljjeqmN3OibaLS1+NyXYMDC8NzPaKyvYKyvaLS3YOincQEDorFvbKCjdNjbaKCjuypjZMjLcKyveLi6GRi/hOzvhMTHrs2ftxpHXLix/OCODOCeGSjOHRy2IPyqJQSqKSy6PTjmQQS6XSDGZMSefWUKgTzehUz2jVT2kVDqkbVSlWUGmUTema02qZUqrbkyrckCsMSmwNyywbEyyQTm0XkC1YkS1ak+1gVK2Qzu3iVq5Ni26Qjy6oHy9JiG9ZUnCb0vENCLFxcXGdVLGpIzJdVDKfFbMd1HNqILQysXScU7Sck/TwrDXRS3YSEbcS0rdLy7d0cHd3Nref1XfSknfflTfhFnf3tzgwp3hLi7hgFXhglfiLi7iRUTiTU3ihVnjMTHjSknkMDDlODjlOjrlOzvmPDzmrFzm0bbnTU3oT0/oUlLpU1PpVlbpWFjp1r7qW1vqYGDrvoHs1rnt0q7vwH/yz6HzypLz2bb306L43bn50Zr62Kv637r82Kf83LD83rb837f84b0dlQysAAAAQnRSTlMAAQQEBQYHCQoKCg0PExUXFx0fISgzOTtCRUVMTVJSXFxcXGNqa3BykJegp6mqtLS1t7/Jz9DU1trb3eTn8/X2/P3IgXZJAAAA30lEQVQoz2NggAJmSUUlPgYEYDNs6es150II6HfNmNZhIAznizlOmdzdONFWCsLlENVyTixPKZs004oFxFe3CfDLyI5zi2mb2iPHwCCoqhPYXNvU1FQd7FNjJsLAwCSfl5+bXldU3B6bJsHMwKCr5+Tu6hHtHxbqHR+pBjRAu9U3YmFCeFLOPBfPKBVeRgbZipCCqoblKxdVlgQlG1uyMrCYZqbWz148f0JWoVennTRQj4DR3AUrlixdMX1OqbUM2FncJstWAMEqC2UeqLv5Nez7ZzloCiH5lV1cgRPKBAApxz0bK1ScOQAAAABJRU5ErkJggg==', + 'Rabite': 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAD7klEQVQYGQXBW2xTZQDA8f93zmlPe7qOrVvXyzY2B6ybTLksIAImanTiDGimb/pAohISEx980TffTHwjPviiDxiNokajMSAQIwEGIwzYTWAFcZdudOt9bdfbuXz+fuLHrz9935bFnbr3yY/6Y/3O9PQkXk8T6UyeYHuY/u1RCvkyqWyBJo+XQyOvIRQFKSVut4fJG5cO5HPJlCZz42+MjvaM3l5ZayoWu0+oiuqABAAAAEAIQa1aIbV6D6/PQAiFdCrbkU3/cjGTN08rfp/fzvyVY/fTm+9WauN/bhTKfqFogAQAAEAgsC2bSmWT1rYmfD4vdXPy84NDQX9fwN2t+CND91qsIMnzizx/xBjp27p0pVjI90g0EAIABCBAKIJisYLV0Hl0f/zkth3F40rCjaH6DEUx+s5uRgO0LfeycPY+I0cCu/cNzk+a5eWxekMiFDf1ukO10sBsSBqmws3xX4+0G1dPifU6SsJNplJaF7OTE5jJ76/2lwcPJ2cSbPTcIjbSiyUMfv69fLE3Eo6HQuYeR5HNlbJVmJlOmh2e1cMHXxzUzXMmLX1Bvl2MHxdrS3GSq/cPqInTl2P1w+6V63PM1xL49qrsOjaEt70d3edDShBCYtXr5JaWuPDVHZ5zQhT36PM388PD6rN795LLOyu37q7+W639cTTQoWsD/X6697fiHxhkYibJb+cfs2egA3DQNDdnrqXpjUWZW5h2HlpPvR3eOhhXXEKnyevG0zJwZka+PjSxmV1pGi6jx2IgdC7NrvLxTxe4Mb2I5nKDojC3lOaLKw/YMbLPaQ/FUp2dIbRgWzvegA8j2Ar19LaO8q0uJTRITfFQz+c4OTbM0PYou3aGKaSKlPLwyZu7KFmwtUVqldTsCc32faA4AjKJxy814tlvlq/+8GVvp4rt8iGlpF4s0N7i5dj+CLn4fzz6J0N18wXSCYXekI7LMGjeYh1cWiihrS/GXx20/Oe6up9hqlQDKRGlDKrmwohEsUwbKTSiQ9vp1lQya5fpDBgIVUG4VFrD/sj12wt+TatUXwn6fdSLj2iYFrViCelKoQuB1aghjS0I3UCoIJEEu7xIBxzLQqNCannt8e3ZjZJmmtWas3YXuzGHzG7hYXOGAXcWt2Hgskzk5gZ2Uyu4dLBNcGxUu4HiVMklkszOej47dGAf6tjYsXRzw3onpOGOqC1MzVSZym8kvdYGml3SPR6JapZQagWURhmlkqeWzfFgPr/x953wh31Do99FoxE0f7BrZt7leXliauI9vSH1dS0Qb+s9eupCfKa1K8tb5sT8bpdab7Vte7MuXDZaOJ+tBK5LredsOPpEMdLVjWWZ/A+8EtJREuofIwAAAABJRU5ErkJggg==', + 'Arch': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABCFBMVEUAAAAA//8rqtVAqtUQj88tpdIYks46otwVldUbktEaldMjldM2qNcXk9IWktQZkdIYlc8mnNUXlNEZktEZlNIYktIWlNMXktE7o9klmdMXktFHqdkXk9EWk9EYk9IlmtQXlNEXktAWk9AWlNEYlNFDptkZldMYk9E4otg/p9kXktEXk9AXlNA4otclmdQXk9IYktEXlNEwn9YXk9IXk9FFp9o3otgXk9FPrdwXk9E2otdCptkXk9E/ptkcldIXk9Edl9IXk9EjmdUXk9EXk9EXk9EbldIcldIjmdMmmtQsndUvntYyn9YyoNYzoNc0odc1odc2odc6pNg7pNg9pdlDp9pJqttOrdzlYlFbAAAARXRSTlMAAQYMEBEVFhgcHR0mLS8zNTY3PT4/RU1kdXp6e3+Cg4WIiYqMjZGXl5mbnqSnrbS3zMzV3OPk7Ozv8fT29vf4+fz8/f7SyXIjAAAAlUlEQVQYV1XNQwIDAQBD0dS2bdvmNLV5/5t0UU52728CvGayQLx8UWz1eKoXhdBqmRaF6mbdVfzZXWgetomfpY3b4Hruqb7B97hf9rtT5mNZ+7ggyaHuHTxzzqIxgUy+LG+RWSBFjrQAgAhJF+Ak6ykA0PRJOgAj2QlKAOTISkADKMM1Mg4YJmXr585cEozw2vE3m/8J5h8V7jsI1XAAAAAASUVORK5CYII=', + 'CentOS': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB5lBMVEUAAADy8tng4Ovs9tnk5O3c7bX44LLduNO1tdDh7r/eutj43q2kocX23az07N+qqsvUqcmXl7331ZXJj7r40o/Pn8T42qP63KjNw9n21p3Y387Ml7732JzR55z05MSxtMLGn8TC4Hx8eqt8e62Af6/B4HnG4oPC4HzH44fBf7LCgbOkoMTcsrmtn8PWqcfFtKrj4Jvs2ZOz2FnMqLXT3KfY5p60Z6NUU5XRuqHzwWSywqDn3JaiiLWahrWhkry5zJjRmqm1Z6P1wmb1y319fK632mK5cKi5nH+73Gu73Gy73W283W+9eK17e6y1yZS3aqRZWJdcW5ldXJplXZppaKBwb6VwcKV5eKswL306OYNPTpGkfK+m0kGpUJWq1EnEqIuXK3+Xh7ahP4qhkryMfK6BgK+CdpGMaKKMa6O9ea2+eq6+oYW/eq+NbqWVlL2Wlr7AjanA4HnA4HrBkqbBlafB33rCgbLCmKjCxIzC1mSs1UytV5mtxIWt1lCuz2evWpuvXJywxYzHjrvH4oXIjrrN2HXO5pTO5pXUlYnUlYvVl5Hb0G7e0XTg03rhr5fpzHPpzXTp0Hvtz3/wrDHytknyt0zyuE3yuVHzvVr0wGP1x3T1yHf1yXe0ZaL2zYP30o730pD31ZeRIcF5AAAAQ3RSTlMAFBkbHEhJS0xMTk5UWWBsd4SEiIiPkJCVlZaam6CjpK29wMPDxMTFxcnK193e3+Dg4uTn5+fo6e/v8/P4+fn7/P7+J4XBAAAAANNJREFUGFdjYIAAcW4oA0rJOFnywkVk1VVNWyf1OehpaQqABTW8213jJna5lfnECoMF1NqaC2MmdM5tyfKHCJi4FpV69nc05VTXK4D40hVVtR5ehjqZDUkJNjwMDKKOBeUlxcZ8EnbJiSnB5hwM7GbRuRnpulJyFvHZ7mlKLAwMXLZhofnh9tYLF8ycrs8EMkQ7Nc830K93/jznOZJgW1RcfIMiG3tmOM+aKgIWUI4KCYio6Z42e8pkiAC/oKC8VV2lgZiQEBvcP6xGioyo3uVkhvIBH9A0EWEgTIIAAAAASUVORK5CYII=', + 'Debian': 'iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAZ5JREFUOE+Nkk0oBHEYxv8fu5GQj3JwcaDkIAc5IpR87M7MKnIVJVKclaIQ5Sy5OLkgR7n5OigcSNpmd2c2Vyfl4KT8/muWiVU79TTv+7zv837NCBF6PG1X+NpZyEYSD9mIc+tHnBPe23B9xKrCuTmbQA/JKfABrhBswa1hH4A38IwfOxPdX1qcjiCQxO5NyrjKV70TnSbeRPwJvGN3i4yyqnEucPY8ZZX9GSEgGK+RvFfyjk2VKZxzBNG8wJWWgh/xtDOeUXZ7Slr6TrSLYL9N4SMgYTTcwdc2ArvJcElhSVcM6mCNSV8n9hA59yTU5UWMG6HIbLhIWlglgWiC2L4Z79qTdo40D6ISuOWwKCWHyk9Fv8ldpUHOuGTuynwSBUynddPdlbEosVpP9Eu4FnOsRzUYNTsdmZN/d5LDiqM0w+2CMdAFFsFGWgfXxZnheqe/z+0puwEM0HHYV3Z9Sgz8TEz7GkQvpuJ/36ggj2AaHLrSlkULWV5x+h2E8xkZL16YVjGNaAUscfZ/f6c/k9ywLKI2MMcRWl0RLy007idmRbQJ7RIfDAAAAABJRU5ErkJggg==', + 'Elementary': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAACXBIWXMAAABIAAAASABGyWs+AAAAAmJLR0QA/4ePzL8AAAFuSURBVCiRfVG/S8NQEH4VimAHcXKS+otIsNb2vpc4W0QXF8FBqKOiIEgQKTgEK/gXBKEOIoIIgmMo6KSIkxYXHRxcqhjQQpQKOojES9K0mxwc7919d/fdd8IToemKLMKGw2bLoq5E8dDFyIALixZlAWvsd/BBhog1ACKGMiqkyiVU5SGO8EQzmV66QNmHMICrK4hjHXUt49dgHM+D7ekELslggK7AJVUbxicmo7l4yY56Yqwbrq4IpmZx6FweN9MdcOVQ8CrRpoBNedGGLzkXAWgFpyF13soWcHhAP7xsMkyPdOFRpoL6DXzDYYDehwF4NBUEO+UNbQd9cvhhCANsbYK/1zA9oWm4xbKf1nrwii3K8wgmWeLKVdSxhzfK+Wk5ixoOmIPFJHnNGit3D4/tShZol1Wp0jR3VYM1A6F+YWaTNI8T3OEMZjrBPeOsrtGS+iFUsbmqyn0iqRvHepf7WJApUpmaxeq2jvX/uf8A9h7IjHC1AQkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMTAtMTVUMjI6MjM6NTQrMDg6MDCQ664gAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTEwLTE1VDIyOjIzOjU0KzA4OjAw4bYWnAAAAABJRU5ErkJggg==', + 'Fedora': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABPlBMVEUAAAApQXIpQXIpQXIqQ3UpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIpQXIqQ3QpQXIpQXIqRHYpQXIpQXIqQ3QqRHYpQXI8brT///8uTYMpQnM5Zqg5ZqnS1+I4ZaY4ZactSn8uRnYrQ3MrRXgsRHUsR3s8bbM8brMtSX4wUosxVI01XZw2X50vUIguToQvR3c6X5o6aKs6aq08Un8qQnM9VIFDWINJXohKcKlXapEqQ3UvUIc2X55bhcBdcJVgcpdhfapmd5tuk8dxgqJ1hKR5jbB6iah/m8Shudq3v9C4wNG/x9bFy9nFzNnFzNrIz9zK0NzK0t/O2+3P1eA2YaDU2eTb3+jb4Oje4urj6fHm6e/s7/Tz9fj3+fz7/P38/f3+/v83YaEa/NNxAAAAHnRSTlMABAoVGyY1SVlpeIuQsLfDzdHW4+3y8/b39/n6+vr4+ns8AAAAxklEQVQYGSXBhUJCQRRF0SNYgIooiPJ0zwXE7k6wu7s7//8HdGAteeFoPNne2lhfpYpIioqWWnkNeNv3X+87HXWSIni73/b2updvq1E4hffys8/ag5toUhRv0QpAn5tCcbyiXQBZN4mSQG62ZDf9Q2PdbhplyPacmPe56TZAwcyIOy4828fj7cp4DhTk3ToU7YoKdbleoGiXlKXVOToPbNkpZTEFv25uefXJDvASIWWGF+7M7GyJf4lqqZnBw+vzowEgHQtJfyetJP7BfFOIAAAAAElFTkSuQmCC', + 'FreeBSD': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADXklEQVQ4EQXBS2wUZQDA8f83j33M9rF9d7u4loaWklaDpkSo9KDGaIKUaGxshD2YSPRiuDVeTDyhBxosJCoa40ktpAkPDcUqAYVIpUSUPrAulEdD2bbb7e7ObGcfM/P5+4kwKDvq6yJ1FYYcvb+YAkqAHo/HQ7FYrFIoCiurq9ZXJ06YSOkA+kBzfX06bys3zHxS9EL0tXDVyZfefacqV+X/ZSJx5+qLbx98LhaL9RiGEZWlEsWC/Thd9q6Pf3vs2u6Orc83rFsvTwwfLf5obgywT1Vjh2Hh+rbNsnTssJdNLedK5aIrpSuldKVXKsnH4+Pyn6FDXn5tMef9O+3NvdkvP1V4+EYw2AoQ+KSx8dRYS6NXXnwovaItXduSrrkinWxGOmZWJi9OyOK9m1LmsjIz9IH8QUMOd3WfAQwNKCy2tJwbHB5+XasPaxIHmc4g7WWEZ1MquBiRFlJTf1E7+Tl/H/8asavPzTY1nWd2ZkMDRPeBeHPz5ojwsilEQCBvTSKunCF3M8FSNkBGVTHDYYrLj8jVNhDZ2SMa2zo3MTamaIC/u6Ojr3DtrOrvP0BpdATnyBeIhTxpR5ABUlKSUlXS1dWstbVxdz6hPL0l1quGqkLaKwNvVcjEXNRd/4mit4Z19DjefBEPyCKxgQJQcF28dBrHNDGTSZSezsjeff0hraa2Vs2vrvit81O4vj9xLJcC4ADrQA7YAGqBGsAql/EtLdFQE/L7dF1XZmdnSrbPMJfXoLDmolQK8gJyQBowgQhQDRQBD+hsraVhd4e5MH+/oExfvWLJ9q3/3S7qMpNH2hsS40kFS4EUUAMA2IANRIBXv4uzuO67c2PykqkA5YmZ6bN18YPi0Yoknxc4AsJPCMLVAk2BLKDosCWqs/PZaulkuxk9fekcUBAAQGDks5FT0W++3NuYuC0DVUL4DIEdlIQDAj0IRkigaMjArkFx0tf523sffrQHyKsAgHPhwoXLL+yP9/kePNhk5ExUTyKFkJVAUAiCFZrQup4Rv9ftuLV/6ONBYBVABQAArMvJ5MXW7duD6P62sD8UrPAFRU1TpeCpCnGvPZr7WW///v0jpw+VC9ZdAAABAAAAAMLo7drWrmQyPWG/r8tnaGIjaM05ujr16x/ZBFh5AACA/wGZnIuwraa4ZgAAAABJRU5ErkJggg==', + 'Gentoo': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB9VBMVEUAAAD///+AgICqqv+AgIC/v9+Ojqqii9GAgKptYZKQkOmPj/ddUYBgW4eVjeCTgfiWjO5wbJaZkvPBvepkXomYkNldV4Bzbpl6dJ+Uj7ynoO6Vi+1qZI63se2mnudjXYjOy+GCfaqZjvWlm/Pc2e+Oh7NeWIOWjfeXjeW1sd+gl+diXIfp5/KHgKnn5/F2cZx6c6ZgWoXc2e6dltrAvNu0scrX1eTOyujCvup4c5qpovVpY43///+6uPPJyPXq6fvm5vrz8/z8/P7+/v/d3PixqvmxrPSyrfe0sPO0sfS3tMve2/3r6vy6ufPz8/3d3fi3tM63tPO4tsu5tsu5tvO6tfe6t/Vva5KRjKy7tvW7t/W9vPO/vM+/vvPCwfPEw/TFwvTFxOfGxfTGxvTHxvTIx/TJx/aTiOrNzPXNzfXQzfnRzuHS0fbS0vbT0uHU0e/U0uTU0/bW0+zW1ffX1vfY1/jZ2Pjb2/jc2uSTiemVkLSlnvbe3PTe3vng3fzg3f3g4Pnh4Pnh4fri4enj4/nk5Prl5Prm4/ymn/bn5vro5/rp6O/p6funoPWsqs3t7Pvt7fXv7vzv7v3w7/nx7/3y8f3y8v3z8vytqPWuqPX09P319P319P719f339v739/34+P35+f37+/+uqev9/f6vqvSwrPQAR0dcAAAAPHRSTlMAAQIDBAgJCwwVFyAsNUFHSVBneH+Bh4mVmZmanKCxsrK2tr3ExtDW19rb4ODl5u3t7u/w8/T6+/z9/f4MkNJ1AAAA7UlEQVQYGQXBA2IDABAAwU1t27aNi1Pbtm0rtW277+wMgEN05nRWjBMAgCJgVUTed+sibQEg9EZEvm7V8x05LgCOJSKi1+8XdKmUhT5AyIuIvHUOLDWoyvKb/MG3uVRExuOTzvqUf6fDrthEfc/diXwczXbX/h7kpYCle+qETrQ7Y+1VDysbaYAiTER3bhhsKXpcn/QG8zgR0e7N9Cjrr0bCLTBNEJHXk4Whtv77ymArCBL5eVKvjfZuHS97mQEZn8+XhxVThuviRGcA0ss1xk3NRXW2nzUAeNZsL7Y25gbaAwCYuMUmR3jYAQDwDzDCPrxVMnjZAAAAAElFTkSuQmCC', + 'Mint': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAACVVBMVEUAAADh4eEAAAAAAAAAAAAAAAAAAAAsLCyXl5dgYGCnp6eTk5N3d3fBwcGqqqq8vLzNzc3Ozs7Ozs7Pz8/Pz9DQ0NHR0dLS0tLS0tPT09Pf3t/Pz8/i4eLb29vZ2drZ2tna2dra2trf3t/u7O/u7e/u7O/r6+vt7O/w7/Lw8PDy8fTz8fXz8fbx8fHz8/P19fb49/j49/n6+vuPxlmWyGOx437h9NDr9eD6/fj////+/v75/vTA5Jv6/fb7/fnL5bDL5q+AxjeDxUCEzTyGxUaGzjyHxkiHzz6J0D+Kxk6K0kCLyE2M00WNy06P00mSz1OUyF+W2FGX1FiY0F6Z02CZ21ac0Wiez2yfz2+f2mOh4GCi4GOi4WKi4mOk12+k3Wul32um1Hin0nun4G6n5Gin5Wmo23Op2Huq1n+q43Cr526s4Hit23+v6XSw34Cw34Gw6nWx4IKy4IOy44Cy63ez146z34az4IWz4YW03Y217nu38H2625e645G74pK83pu98Iq984W+4ZjA4px0tzDA5ZrB8ZDC5p7D55/E947F6KHF+JHH4qvH6qTI46/K5LLL5LN1tzLL5bN1uTDL57DM5bPM6qzM66/N5rTP6LbP6bTR6rfS573T67vT7LrV7r3X68XX7MHX773Y77/Y9rvZ8cHa7cjd88bi88/j8tTk8djk9tHm8trn89vo89zo9N3p9N3p9d7p9tvq9d/s+93s/dzy+erz+O73+vT4/PX5/fT5/fX5/vN1uzB3vTD6/ff6/fh5uTj8/fv9/vr9/vx8wjV/xDmrMRH0AAAAOXRSTlMAAAECAwQJDzk/RUlNU3F0kpSVlpeYmpucnaKjpKWqqqqtu8LExMTEzdTU1NXY4evy8vP+/v7+/v6LaR1mAAABDUlEQVQYGWPgk5QQFxMVERYSFODnYGZgYJA7vMfa2nrXbltbiyOW0mwMDApbuzsbq6sKslJiok0tFYECW9oalqwuyU2NjQoNjLfkYpC3tCxevDE5c/nShBUdfmZSDJw8Rr3zN0Ru2n/AaptlXa0G0FiDrnnrgizLsg95LVqfp8PAwGTQPnutv2VOmp3P9M352iABm5lrfC3T4+w8pkEEDJtmrPJeGBY8y9VmWSFQBYN+c892TzcXp2POlfVFIAGllQGWc2qSIsIz+kMqQALclsalOywXTJjUl+heDhJg1d1pcnBiy+S9+446tmoBBRjY9azMp9rbOzhMmWulycAIFGHhlVFWUVFRVVVXkwUAyhJUc5MwaMIAAAAASUVORK5CYII=', + 'OpenSUSE': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKDigueojqlAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAADEklEQVQ4y5WTTWxUZRSGn/PdO9PpdKYjbRmmrWmm/00ptlS02FqjEgpRNCxo3Eg0auJCrJqYmGA0hEiC7ghroy40Rk0wppYiIbEBjQSlFEJFWksTqv21vwydmTv3Oy5GFho2PvvzvHnf5MA/XP5jqPPMtU8fWFr6q5P/MDT+uTM1PybcBZlbmD0dL9u0c2j8Cx2YPEqkoBzR7G9V0Y61RyueW0+Eq38NRt2XAX6c+Lqos2Zv6qcb/Wyv3pMXvNgfT9fGHioImcLcjbWLbtAEyPheNmtX1bMeG4IVwZayHmku6Z6LBst7Nld2jNxJPz/Zj/QNNqnFs1bVuOKiRgCLWBcRyNoUgqvhQETAob1sz8i+pkM7bq6Mpms3bUm5CAgB46IggBVEDKIWS44d9x6gK/6MpHLLCA7vXXysJuCEFnq3vC2fXTpkXMjfIfmNREBV8cjQXvo0YSfGwQttVIab8TTDW+2D0cMXunKTc+NfJeN1+8xdlxUH3+boLn+B01PHqSraxpttA4SdUlYyMySLt+pHV19qBMgLVFEFweD56yAWEWFm/TqJwnrm02O8+3MH4ytniQbiZHO3AxinZXhy8GEDoAgGy7pdpbfuKBFTguBwYuIw+xuP0VKyk0RBLW+0DnBl8Ttu+7dYSU+xnFvYbe70tgKFJsrVxZO88+AP7K0+SNau88HwEySKGmgt28XZ6Y85N/0hjjgE3Cglwcpl6TvVpCiIKJYcaqHAjdBbe4Sme7q5tPgtv8yeYCkzjxEl6ERoiHVmHql4/lpiY2WbvDrYqAiIku+uDhYla1PEguVUFNbzeNUrJEI1qCqz6d859+cn3Exfp654a6f0napXUSdvEIO1ihGLIICDMYbl7AxqBas59TUjyeJtNMa2Dz973/v75cDJWn/NW8w6xsVXD9cUEDAhsKDGx/dz+GTElbBJRlsDDRu6ZkNOZNdTza+NALgVRZu/fzL5ejTslup8eoLp1BhTq5fxxCNkwsTD1SSj9/vVxW23NpZW9sAAX145UgTwzegxUNUg/4P+0eP/euu/AVF+N0gj+MWXAAAAAElFTkSuQmCC', + 'Osx': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABrVBMVEUAAAD///////+qqqr///+ZmZn///+qqqqAgID///////+tra339/eAgICoqKjx8fGMjIzm5ubh4eGPj4/g4ODIyMiAgICSkpKLi4vS1tbPz8+Xl5eMjIypqanIyMjW1tZ2dnbR0dGamprFxcV3d3d+fn60tbV3d3dcXFx3d3epqal7fHxxcXF+foCnp6hYWFhyc3Ojo6SMjI5fX196enp+fn6Li4xERERqamqgoKFpaWmFhoeen6A/Pz9QUFCWlpeSk5SUlZWUlZaOjo+Tk5RHR0cuLi5YWFgwMDAeHh40NDQ3Nzc6OjpcXF1rbG0XFxdSU1NVVVVXV1dZWVlbW1tnZ2lwcHABAQEEBAQXFxchISI+P0BISUpaW1xHR0kNDg4qKyszNDU1NTY9Pj8NDQ1cXF4XFxhSU1QSEhIDAwMrKywtLS4uLi4wMDFHSElISEggISE0NDVJSktNTU1FRUVWVlhGRkYEBAVBQUE0NTZQUVJQUVMFBQUqKitWV1lXV1daWlpaWlw+Pj8bGxtcXV9dXV1fX19fYGFgYGBkZGRlZmhpaWlsbGxwcHB2dna844Y9AAAAV3RSTlMAAQIDAwUFBggMDhkeICMkKCgqMDIzPj9ERFBib4CCg4iMjZCcnp+jqamrw83W1tvb3ePl6Ojp6+vs7u7v8PHy9PT09PT3+vr7/f39/f39/v7+/v7+/v50ou7NAAAA30lEQVR4XkXIY3vDYABG4SepMdq2bRSz/capzdm2fvOuDO397Rw0Ly4tz2QAQPbcxuZ2E/STJwfxPhWgG355fRrVAIVb1zeP9UDLfiSwkAcADe8fn7tFxWuEXFRDoer/OgoMTRBCumj8yJwPBo8Zhpk14U856/HI8n0ZUtpZ1udrSzfVneA4roNKjdrwpcMRilb8d8G60+lKnrpWcn9bO+B23w2O8Tzfq4aiNSZJqzn5O4Kw16h06fPZ+VUlUHfo97+VAEb7rSh2UgDd4/U+TBlQY7FMj5gBIGvcarVVfQPVPTG94D0j9QAAAABJRU5ErkJggg==', + 'Rhel': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABj1BMVEUAAAD///////8AAAD///////8AAAD///8AAAD///////8AAAD///8AAAD+/v4AAAAAAAAAAAArKysAAAD///////8AAAAAAAAAAAAAAAD///8AAAAAAAAAAAD///8AAAD///8AAAAAAAAAAAAAAAB5eXn+/v5JSUnKysrS0tJ5eXmqqqqxsrL+/v4ZCgknJyeHh4eIiIjo6OgZCAdOTk7t7e3///8GCwwPAAArKyv19fX29vb9/f0EAAD////+/v4AAAAGBgYHAAAJAAAMAAANAQAPAQAVAQFyCQV9fX2pIRzmEQjn5+cBAAAFAAAAAADnEQjvEgn////uEQjyEgnsEQjzEgnxEgljBwPaEAj9EwnwEglHBQJHBQNNBQIBAAB3CQR5CQSHCgWLCgWRCgWTCwadDAWmDAapDAa/DgfKDwjWEAgGAADh4eHiEQjmEQjmEQkKAADoEQgLAQDtEQgMAQDuEQnvEQjvEQkPAQAfAgEuAwEvAwE8BAL1Egn3Egn4Egn6Egk+BAL+/v5CBQJrB0muAAAAT3RSTlMAAAMEBAkYGhsbMTRLUmpvcHeIjLe6vcHCxM3P0NbW3Ojp6u/w9ff5+fn6+vr6+/v7+/v8/Pz9/f39/f39/f7+/v7+/v7+/v7+/v7+/v7+Q8UoNAAAAO5JREFUeF4tiwVPA0EYRL9SXIsWl+LuxfcOd2Z3764quLu788NZNrxkksmbDP2R7vH6GioLs+iffEzNXd4+TqPErUUpVqMOvwgdzMPn1rv5vPsVeufBTaBK/bH2FPvkEUuIG5jIIc+sHYn/HJ3dC/Hxuo4y8s44dzwBbFkisHN8bVIdXs6jb+H97aCwbHEIqgcml64CD7YllNkAVQC940MLYe5YzvIeQAXNrd19Roc5MdzfdQLUUKaUYyuG9I8y1g4gj6hIak4X5cBIT2MquZJrJdOqpY11ZpAiqVwbY/C7KY1cRCrZxX4pWXVuiuq/hs49kg4OyP4AAAAASUVORK5CYII=', + 'Sabayon': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABvFBMVEUAAAAcUaYdVKwAAAAAAAUABAwWRY4YSZYhZtIhaNYHDx0KCgoFDBcKCgoRMmYSNm0fXL0fXb8AAAAYS5gaTp8fXLwgXsEGBgYFBQUZSpgZTZ4JFSgODg4IEiIOJkwOKVIkW7EnXbQLGzUTExMKGC8LHjwMIkITExMiIiIPEBEPJ00QEhMXOXAaPncOJEgoXbApXbEcHBwwMDAEAgAfHRgQDgo3NC8AAAAHBwcKCgoLCwsJCQkaGhofHx8lJSUwMDA0NDQ4ODiRkZEICQocHBweHh4GBgYHCg8mJiYnJycpKSkrKystLS0uLi4ICAgODg43NzcRERF1dXUUFBSjo6O1tbUbGxsEBAMLGS8MDA0iIiIjIyMkJCQNDQ0NHTYKCQkoKCgPDw8QEBArMDkKCgkRERIREhMxMTEyMjISIz00Njk1NTU2NjYCAgIVFRU5OTo5P0c8PD0+Pj4/QURAQEBHR0dKSkpMTExSUlJiYmJlZWVnZ2cWFhZ2dnZ4eHh8fHx9fX2FhYUXFxeVlZWXl5eYmJiZmZmcnJwZGRmlpaWrq6usrKyvr68KFiq/v7/FxcXY2Nji4uLn5+ft7e0yif9uAAAAN3RSTlMAAAApKSkqKioqg4OEhISEhoa1tra3t7y9vr7S09PT09TU+Pj5+fn5+/v7+/v7+/v7/v7+/v7+70RY/wAAAPlJREFUGBktwQNbQ2EYANC3lt3NtazltvDh+s52tm1z2f7Dfe3pHPiTllfT1V2bnw5xCVDUPruyub271VEMicCUTfQ6XEtritq/XA5MwVvw7NFydOB0e+WhQoCUzh5MxmcWPRZxxNHXmgo5doyxDd3ESPhaCNtzocrsY9BXFPHU7zdXQ+McTwhZ//lAhPC+ySZoIBuUUv77HVGbNTJYB5X4SnZh8hlBQuhYHq6ArPnphxdtP/p88vQqBBcyIKnFaD29vdO0+0tlwNiWDMCJ0ujOeejicEySRA6YUqfJs7qnur2mqRKI4wxKQFUDioGDf7psfXO9PlMHzC/HlDtslvM8zQAAAABJRU5ErkJggg==', + 'Slackware': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AcEDi0qZWWDgAAAAx1JREFUOMt9kktoXHUchb/ffc1M7rySSdJMOknFPMRitLgoNKKI8ZHGKkgrjU8SitidimSh2UkXoQmoO1dGQSxJjdvOtqSaqlR0USEGSjVJGxuSmWR6M3fu4/93YX0g4rc9HA6cc4Q7DI+fpzz7PA8++2mxvZAeBZ4xhHtFcJRmXWsWvb36/OLcyxf5B/KHeYHy7DmGx1+YSDjmWTdlobTGMAStQGkNoLXS4tXDq7u7tUcWz49tA8jR8QUuzB5n5NTCV13F9JEo1JJwTLKuzU61QiOMcd0UDb+BncwQK3Rl15eNja3ui/Njq8aF2eMcO/XlBz0H8oO2ZUkum6A13WB99TtyzXlaCi24SaFa+ZFCzsG2DNnfkdbFjsI1APPhk+d6ujqznycdCxFozadYWvyMpx47wa+bPkGksKwUNnsk3TaCGASRXDZh5LpHXPPg4Rcni+3uYBxrtBbQghlscOVKmYHeEm0ZIZ9xyLffw41ND6VAa43SmjiMByzHYtjzwr9arfshxf5jOKlvKZfn8es77N2uks24PPfSFD/9Uvt7AtPKWmEU9d645eHYJo5tcKi/FX/zG+zmQxQH+rANk862DOW5N/hhaY64cJSa5xNFCgDDILZACMKYWAmh73HmzFsMlBQJ06LeiMinE1S3KzRCm5rXIIoUIoKIYCVM36urZFbEoiBLNMIhAE6/NsSB7h6SKZdL8xsUOnpx9j1KbTdARACIowArYe1ergfNT2i0mIbJys0GI6PT3N1/hJvrPxOFdRJNBQIy/FapI4Bpgohgcjuw+jq8jy8tV55MNBWI4ohS802CpizKv8q+FgALZAfYgSyAZtNro1oLaU1VvxCA029Oraxs7u/tKnXiNjn8HyKwur6lI++6vPK4V7IA7u+1Dyu1tr183ddNbkHuXP8/zEIYeFqiLRl6YO/p0bHJdflT/PD9qZa1W+ry99fcvlAlcZwUpuUAglIRYVgnDEIOlna4q0M/NPnuO1/PzMwg/045O/XeibUt5/Xangx6viSVFpK2jtMpvdyWCz+5ryf10clX3/amp6eZmJjgd441URWWJY8BAAAAAElFTkSuQmCC', + 'Trisquel': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABjFBMVEX///8AAAAAAAAAAAAAADMAAGYAAAAAHFUAGWYAF10AImYAIGAAHloAHGMAKGsAGmYAJmYAJGEAKnUAJ1gAMXYAJnEAJGQAI2EAK28AK3cAGTEAMHgALXEALXgALG0AFUAAI2oAK3EAMngANoYALXMANIAAM4IANIIAL3gANIcANokANoQANYQAOY0ANIYANooAN4kAN40AOY0APZMANIUAOY0AO5AAPZUAPJAAP5MAPpQAQJUAOYsAPpYANoUAPpoAPpUAM4AAQJkAPZIAPJEAQpgAN4cAPpQAPZUAPJEAO4oAOosAOo8AQJoAOYsAO44AQpsAO48AQp0AP5UAQpoARJwAQ58ARaAAQZgAQ54AQ50AQpgARaIARqMARaMARaIAR6QARaIARaEASakARKEAR6MASqsARKEASKcAR6MARqYAR6UATbEATa8ARqUARKAAR6oARqMASKgATK8AR6QATbIATbAASq0AR6cASKgASqwAR6UASKcATa8ASqoASqwAS6wASKoAS60ATbHn4CTpAAAAhHRSTlMAAQIFBQUGCQoLDxAREhMUFBUYGhobHB0eHh8gIiIjJCQkJCYoLC0xMTE0NDo6Oz1BQUNHSUxOVFVVVldaWl5iY2RkZWZoamtsb3FycnR1ent9f4KDhIiJioyNkJGYm5+foqOkpqamqKmqrKytsLKzs7e4uLy8v8TFxcXGx8rO0NXY2eZc4XYcAAAAzUlEQVQYV2NggAMWdX12BiQglJ+SXqIMYqmHxQdJMzAEmXLKuCcyMTBYNWYmNTVYMARzMToqlAsycFYYSBppFFVp6nqa2VkVcDCIFXK7GfrrlWWISKjqpAUwMPDkibIz+Inn5iSHxxQn8AHN9Ig1d7DRzimtrasO5QJZwqhmrMoQ2Rwix8WIcANrTaqAT6AWQoC33t5Flj1CCS7AUenqrMJk7YRQEpXFb6LoawvjMjIJZ8dZ+maKMcHMZWST8or2lmdD2MPILKYlxgziAwCs9yR3GXo0vAAAAABJRU5ErkJggg==', + 'Ubuntu': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABKVBMVEX////ojFzplGf1zbnqnHLvs5P10b3yuZv1xKrytZXvtJXys5LysI32waT0n3HxiVHwg0jxhk31kFn0h0zxf0P0hUrveTv2iU3yfkD1hEfyejv5eDLybSX0aR7zZxvyayH6ZxnxZBj4YhH7XAb5WALlUQLeTwHgUAHeTgHfTwD65NzdTQDdTQHdTgD31MfcTgLcTADcTQD////xt5/31Mf54dfmfE/dUAbeVQ/jcUDcTgHeWBnnflHohFvpjGbqkGztnX342Mz53dLgXiP65d399PHdUgrtoYLyu6Xzvaf76eLfXB/rkm/fWhvupojwrpTeVhTgYSfgYynzwa30xbL1ybnngFT31snngljhZS3539XhZzDiajbibDn77OX88Ovrl3X99vTjbz1fisGCAAAAMHRSTlMABgYGBwcHJiorMDA1NXGHjY2Nl5mZmZyfn6O5u8XHzc3X193j9fj4+vr6/f39/f08OUojAAAAxklEQVQYGS3BBULDQABFwY8WLdbiHjzI201Sd8Hd3e5/CJKWGUVio0u77vJYTP/iG7RsxhXpmDe0BDsHc12SpgzkyscnhVojZ8algT34KD5YGxTq4PYpabh+es3fXJSbXy8wIgeO7Dehkr2HFZnLn1SQIXToXcGWtivN7GmayO8brGsNKjZFKGs9WNWsIVP182fp58ZnHSY0ZKBYurO29ngLbr80Y4Bzz3v3fUhI6l2krbrPQqdCPdOGtmS32oYTjjHO5KBCf5XaKpkxFPzRAAAAAElFTkSuQmCC', + 'Windows': 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAA+pJREFUOE+F0n84FHYcB3CWSsL9ojo/6ik64c6PnTjmSS0limmrpBm2G002y++xzXRz6zE0R4nbw+RnTj/WD4sbanLkkAe55ccYlyNme4SrO9u9d13PI3/saZ+/vs/3831ez+f9eb5aWsuqy2mjRYeNUa7YmtjfTico7jNJ8z0eG24NB9vvnDrvufzpq89Npnr8VjMddNmuRh9rDfp36mFg91oM7qPIc5JdbDJq3An/JfCu7Hl53W2lpS220pP2OuniN299jAYbYizSENIoAgbCTdrTKtxOJVdvGo8psUwKy7Vxe4ez1YEVudGP8YEZzyveInFJ6mZRHHqYazDspw/pJwTIuERM5JIwmUdGdyo9K7/BszGzzg6fXzZHGJ8KvzQqXKOpoIeZLjofWR++BPWyCEnPY4xFGEKWQcLjMjKmr1MwfcMYwmz/Y4KOgNki0V5k1dkjUWCK93Kp2PMFFawos8cm1gZ2GqjLXktL4mbQPHLQ4B9ZDFE5+S356fQlyuJMqzH++HnTo6ui2OO1ko9Ul+4fxfd3d4F7k4YTReqpuFS88bGZUE2QNNDobuIq8Q5CduHb7lFJaTnvnym9ergjMWD/FG8zf+aKS3G9JO5C01Asah6wUXrvALKEDoitMMHhDKrKJdg8RU2s0EB2EWWur8dd7PDPFv6dUC0Gv3kAN36VPRGP/5k5NS6lljWxG0TDiSr1VKhoPwhevRMSqkwRxDObc/DavGtpP6zoi8XOyZfhnyNEvKANBU0P8VPfI/wyNCGXSn7wlEmyA9KrgmOKGth3eDVvPfyywq2dnUEv2R9qG2rLsH7xJXziKnWcI8tlTvEC7Mu8hROlImTU9aKqcwQ1vWOihWFu+sJknmph5CvxQh87c7bNh/NXo03hrMCosyvLmMNgMF7TQL6J1dsZIUVwjKqEO+cajp5vxPN439U/gKBt8PTcYHzL/BgHCyOf4unAISj6mFC2bYC82kB5Ls460NHRUVsDeYSXpGw7UgC7sAtwShDgzdM38W7BbURXtqpqhfmB8sEQuXwoCM/6faGQuGCxyxyKWhIm+PrSD495WL3cT0hhi8Whc3NbAs9KaOyCTvrJ8qkdX19XBeTUDU00+55USFzVU2yHstcaix0mUAjJkJeuRU868Ucmk0lcguiBnMAVxjbbdHV1yeq8+u4Hgo22huSG+iQXp83ftaxW3lsPZcs6KG5T8OwaAfJiPcxlrVRVRhvF02i0F/t5VbHZ7JWDfErKTLnhE3mFPuRFepg/uxqz6TqLv6euGj3ut87t/4ylvre3t3ZehOWWO1zjSFEqMVP4GfGb/DBykJcjmaZOoLsc+hcVY/LaAgcTQAAAAABJRU5ErkJggg==', + 'OpenBSD': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AoYAykIPu64pQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAADTklEQVQ4y32RXUxTdxjGn3N6eujoKT3SUkuk3VoBGfVjgFXAsZ7WkipyYXQbuu3CzUXZmGRbssnFEseFkWzgcGzGXky9MWL8TsC4IeFgtK4oAqOnG5vMVl1pCMVWQD7b/y5M6jLdflfvxfPked/nBQA0NDSChqnGVrLuGkES742NhJAdhAKAuk9yyUs5Gry7RQMZAARCWgivpQiPe71P5DUfH0xaqTL7m/iiLkJmphawa+e4SM2PvUyC4yUIBu8CnAQKAK53rCA5OUtQtStVpJ4Gw/FOBddZVKhCfq4MP4n6+at+DUsJm/e0G9JZzYEvI2tHwlEYjDxomkZ+3nG8WroRtHihZVOhVlorDQzh0okhcByDP4ZGcf+X9XAsvY5/RsBa7Kq5H/CqLctKyl/g08S2i6fq8W/MS3P34T9wNDVYSeDX1eTD9xhiLXbtB/Akwmmv6Kr+ICFkLpGhtNSM3qsSstS3oX8lSsmsxS6ZVn3j6PvVVqhUcvC8AtPxVPxwygVKvngN89WOjgVprggGA4eenjB4nsXsTASpC63I0wVTZYPR11FoKRB8Ax54PCFk6BhMTk5CPR3GSbHouGzknr/bYFq9EAvfc9Tu1sLjHcXNKxLuTOTgzOlOe7IHBc/beAXWpWmXlz8a84nhcLQ+ecVzsAEQrMWuMX+f9HZF2YPZ28FVSNfoPWqOzMUmqYMAJm7+/OOzXQFwHGpyEV+vi+yvtxBC9pDmpgJC4tvI3mo9GTitIxvW24nT7ug67HY/3eDs2bbyrVsrY2day70rV6kRfDAHk5lDLJqAmmeRiD9GJDKHvwb74R8G0mkTPjrQTTG122xkTTbwaV2b1H4u16JQKXGr7yG2b8/H1MQ09IsTSEmRwzf4CCwzD+dmE1re8CI7wwi5XNlFf9vaTXX4dWJg4LLl7h05fpNGwNAMWpp9CIVYNO/tRCzGwpDFQaVMQTS2CKY0BWr3GVGWNSXKACDDaA4Mh976pq9f5Sy09GgKlmeAMIBKzUKpU+BFoxJecRhUfAbMxDi4eADfHVmE79v7q575gvvYeVvjZ58LD5mwsKUyX0hnf0feslnQCWD4zxnc6reKisxsfH2oscqcmTmK/+Ow252cna7K52r+Bky6PqmoT5HBAAAAAElFTkSuQmCC', + 'Gnu': 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAHC/Qd8AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3AoYAywUV5gQrwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAAmJLR0QA/4ePzL8AAAHHSURBVBgZZcFPSJNxAAbgt28uanSRapCsy0KK2CWCUYecB5HBolNsglZEsmAwaUvHaIu2YYty1bKGMKmgHIRbGEhURIEY/VHUQ+uwZcxEJSL5Ft+W5ubv7TMkip4HJglrPhHeUmAchWprBK+Kni9pukoAJAOF04j4y6Z9dZtu3sIT32lxXwxeRepwidP0mAF0p5JKPfBsLOMBQs/dJ3pehzcnQ+jc6SfFKlN8KMgEodLiQJWTFOyPY52mUbLmzANY4zro+xG8DVXn8UjOvg2WFSB69Oxo8Hx3F3CM2KsE2wO8LKbp5gWvtYK78zHKooM/eZFu9t0AUOCYIIf4IRfvOrIBKn12vEJyjtDhtx3QfV+dYPgO/qipOfeAgA0qn+UaW+TE9ZQjE0g63uhrpZh2yJyOPXKFe9uWrmTxtmpaSOwCgk5bWUfQywyt3MOOHmB4f9MyBu610ii3fRvlvBgRMrOc4mPmxQs2yPpylABObQ9FJxVyhAqXuEiyyOFiQcnT6TipBWDf6k9fGjwUWZgjF8V7PmVOlPmxkNmNvxhR136muELOclZ85QR73fiHBgZshM1e+UzBdzOmRvxPgmqLlKgl8mjGul/jG/ctzIC/LwAAAABJRU5ErkJggg==', + 'CrunchBang': 'iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAQAAAC45EetAAAA8ElEQVR4XnWOsUpCYQBGz1TIHYu2Qix6g0DEtSeQu/UIISJtUS8gJq61F1wcdMohcBDxKUR8hsz1xA/y44/cs3znbB+RJ0Skl3pSkeFQbUs79VAPzrwPFRmN1Ja0Ug/16I93+1oi4lKte+zMXv32WuoAm43lXMrqzbFncgWw21lORf4+/PREKpAhYqZuPXZ+T/3yXbZEajV1JavUQ104sRcq0myqc5mnHurWqc/7yhExVwuPncl+C4Bu13L60ueAwcByOtLhgAIRCzU38fRGTmSxUBvSSD3Ui1NvQkXWa7Uq1dRD9R17HiqyRUSy1NP6B7e1Yu2GtlUKAAAAAElFTkSuQmCC', + 'Yuno': 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAPCAYAAAD+pA/bAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAABDtJREFUOE+FlHtMm1UYxrtsi8aEgCb+oTFmZur+WNS5RaPERU10C2qGaBgb6hgwLwMmHTIKlIKlQIHSQrmU24BSSmnpBVooUmihtEC5yKWDjVu5uOkcEca4lG5E93j6EQmELX7Jky/fOed9fu973vMdGu0xT3Cgz57yXMZLDdXcy821PFWLKmuA6HqLMqtLX5POl4iYb2ukWW8IOOFe/qfe3/M4n0eOjwyZD8//bldODOk37N1yDJgl+LVdjEGLFKO9KkzZm8hbje7mIrTXZ7sMtTydrJh15H8hHW11XvN/jGS7VudcD5w34ZZzeQYb67fwYO03LN4exo1+LWzNxbA05O5QuzbHqRYn+++CHDx4YK9WLfaedfQzV5em54g5Zbi8OIml+VFMDLWQ7GXoaSmFWZsDZVGCO2u0EbkhHTrhFqi9PmelSsQ8tAtSVch60dpUeGe4kxgZxegzVkBzlQ2NKBG2+iJIMqMok9r8OLRIMqApToSqmAWTmk9B2+o2YW79oshU7ABcuvAFrVGWXkVKpBYoSaBSxIS2mINpiwbjZiUMZRloVfJQyaXDKObBpimBScpHFe8KmmXpaKhK3arGrBVuVBclHN2CiPNin1OVs1tVJYlQlyZBxA6DviQVo6ZaOKd7sTplw53BVugruBBzfsRslw7rZPxaczWutSpQV/gzJPxo1JexyfaxKBBpuiEx+tw+CpKdEvGWTprGlhcwqbIzL5/DYKMYndpK3L1hxf3ZfkrzwybUZjPhnOqmvlcmutFF1jis9QSShOrcWNSXJ1MA0ou/NZWc8Ddfe4VGO3bk0JON1dyMMlK+gmxNrZCFhZF2Kng7YNO0awt4b7wLNp2EqtAsF6ImP56SG0B6siovTYpIjg15gapCVhAfJRUyIBFEo6k8AyuTtkcC/qvG/XbDexulWJvqgYH0o0nKhVHFJ40XwFQnWM5OCX+XMg86c3KvVMSMapCmPpSTIygTxGKZZOcOXhrr3Mp4uzkFuG6B3ajE3TELDDU8qEmsmvRATxquKkxAnSTFjwKEfv3JU9JC5unG6rQ1bTkbQ4Yq/DVgxOqwBWt2K9Yne3ZCZvrgHO2k5paHzOhSiVCZSkdNTgzy40JRlPgDhDHBCxUZdCs91G8fLeK87zOl6XSOICZYXMGNhDqX9fDP/mbK2DXVi/szm03eLpejl5pzOfqwOt4JBT8OeYwQt/4R/BR0OzXiLCM5LOCji/4nXt46rpywgG+zor5RxgSdupBzJdglSY+5ZZbl3XNY6mbn7W0Lcx06zBg1WBjtcC6OmG+OmRTrFrnIUZESZeVeCpwh8TpiPsQ47/tloM97T+/6m8mg55mT3tStyL54mhlwwtszNvjzD8/6HH8i7PvvPPRioZdRWuDBZUR6pEWG7I8P9Xs1Jsj36MfvvO5J/+rTw58dP7afJPfBgeef3XGz/gskFVpJc4HwGwAAAABJRU5ErkJggg==' + } + }; + + ExpandComment = { + init: function() { + if (g.VIEW !== 'index' || !Conf['Comment Expansion']) { + return; + } + if (g.BOARD.ID === 'g') { + this.callbacks.push(Fourchan.code); + } + if (g.BOARD.ID === 'sci') { + this.callbacks.push(Fourchan.math); + } + return Post.callbacks.push({ + name: 'Comment Expansion', + cb: this.node + }); + }, + node: function() { + var a; + if (a = $('.abbr > a:not([onclick])', this.nodes.comment)) { + return $.on(a, 'click', ExpandComment.cb); + } + }, + callbacks: [], + cb: function(e) { + e.preventDefault(); + return ExpandComment.expand(Get.postFromNode(this)); + }, + expand: function(post) { + var a; + if (post.nodes.longComment && !post.nodes.longComment.parentNode) { + $.replace(post.nodes.shortComment, post.nodes.longComment); + post.nodes.comment = post.nodes.longComment; + return; + } + if (!(a = $('.abbr > a', post.nodes.comment))) { + return; + } + a.textContent = "Post No." + post + " Loading..."; + return $.cache("//a.4cdn.org" + (a.pathname.split('/').splice(0, 4).join('/')) + ".json", function() { + return ExpandComment.parse(this, a, post); + }); + }, + contract: function(post) { + var a; + if (!post.nodes.shortComment) { + return; + } + a = $('.abbr > a', post.nodes.shortComment); + a.textContent = 'here'; + $.replace(post.nodes.longComment, post.nodes.shortComment); + return post.nodes.comment = post.nodes.shortComment; + }, + parse: function(req, a, post) { + var callback, clone, comment, href, postObj, posts, quote, spoilerRange, status, _i, _j, _k, _len, _len1, _len2, _ref, _ref1; + status = req.status; + if (status !== 200 && status !== 304) { + a.textContent = "Error " + req.statusText + " (" + status + ")"; + return; + } + posts = req.response.posts; + if (spoilerRange = posts[0].custom_spoiler) { + Build.spoilerRange[g.BOARD] = spoilerRange; + } + for (_i = 0, _len = posts.length; _i < _len; _i++) { + postObj = posts[_i]; + if (postObj.no === post.ID) { + break; + } + } + if (postObj.no !== post.ID) { + a.textContent = "Post No." + post + " not found."; + return; + } + comment = post.nodes.comment; + clone = comment.cloneNode(false); + clone.innerHTML = postObj.com; + _ref = $$('.quotelink', clone); + for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { + quote = _ref[_j]; + href = quote.getAttribute('href'); + if (href[0] === '/') { + continue; + } + if (href[0] === '#') { + quote.href = "" + (a.pathname.split('/').splice(0, 4).join('/')) + href; + } else { + quote.href = "" + (a.pathname.split('/').splice(0, 3).join('/')) + "/" + href; + } + } + post.nodes.shortComment = comment; + $.replace(comment, clone); + post.nodes.comment = post.nodes.longComment = clone; + post.parseComment(); + post.parseQuotes(); + _ref1 = ExpandComment.callbacks; + for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) { + callback = _ref1[_k]; + callback.call(post); + } + } + }; + + ExpandThread = { + statuses: {}, + init: function() { + if (g.VIEW === 'thread' || !Conf['Thread Expansion']) { + return; + } + if (Conf['JSON Navigation']) { + return $.on(d, 'IndexRefresh', this.onIndexRefresh); + } else { + return Thread.callbacks.push({ + name: 'Expand Thread', + cb: function() { + return ExpandThread.setButton(this); + } + }); + } + }, + setButton: function(thread) { + var a; + if (!(a = $.x('following-sibling::*[contains(@class,"summary")][1]', thread.OP.nodes.root))) { + return; + } + a.textContent = ExpandThread.text.apply(ExpandThread, ['+'].concat(__slice.call(a.textContent.match(/\d+/g)))); + a.style.cursor = 'pointer'; + return $.on(a, 'click', ExpandThread.cbToggle); + }, + disconnect: function(refresh) { + var status, threadID, _ref, _ref1; + if (g.VIEW === 'thread' || !Conf['Thread Expansion']) { + return; + } + _ref = ExpandThread.statuses; + for (threadID in _ref) { + status = _ref[threadID]; + if ((_ref1 = status.req) != null) { + _ref1.abort(); + } + delete ExpandThread.statuses[threadID]; + } + if (!refresh) { + return $.off(d, 'IndexRefresh', this.onIndexRefresh); + } + }, + onIndexRefresh: function() { + ExpandThread.disconnect(true); + return g.BOARD.threads.forEach(function(thread) { + return ExpandThread.setButton(thread); + }); + }, + text: function(status, posts, files) { + return ("" + status + " " + posts + " post" + (posts > 1 ? 's' : '')) + (+files ? " and " + files + " image repl" + (files > 1 ? 'ies' : 'y') : "") + (" " + (status === '-' ? 'shown' : 'omitted') + "."); + }, + cbToggle: function(e) { + if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || e.button !== 0) { + return; + } + e.preventDefault(); + return ExpandThread.toggle(Get.threadFromNode(this)); + }, + toggle: function(thread) { + var a, threadRoot; + threadRoot = thread.OP.nodes.root.parentNode; + if (!(a = $('.summary', threadRoot))) { + return; + } + if (thread.ID in ExpandThread.statuses) { + return ExpandThread.contract(thread, a, threadRoot); + } else { + return ExpandThread.expand(thread, a, threadRoot); + } + }, + expand: function(thread, a, threadRoot) { + var status; + ExpandThread.statuses[thread] = status = {}; + a.textContent = ExpandThread.text.apply(ExpandThread, ['...'].concat(__slice.call(a.textContent.match(/\d+/g)))); + return status.req = $.cache("//a.4cdn.org/" + thread.board + "/thread/" + thread + ".json", function() { + delete status.req; + return ExpandThread.parse(this, thread, a); + }); + }, + contract: function(thread, a, threadRoot) { + var filesCount, inlined, num, postsCount, replies, reply, status, _i, _len; + status = ExpandThread.statuses[thread]; + delete ExpandThread.statuses[thread]; + if (status.req) { + status.req.abort(); + if (a) { + a.textContent = ExpandThread.text.apply(ExpandThread, ['+'].concat(__slice.call(a.textContent.match(/\d+/g)))); + } + return; + } + replies = $$('.thread > .replyContainer', threadRoot); + if (Conf['Show Replies']) { + num = (function() { + if (thread.isSticky) { + return 1; + } else { + switch (g.BOARD.ID) { + case 'b': + case 'vg': + return 3; + case 't': + return 1; + default: + return 5; + } + } + })(); + replies = replies.slice(0, -num); + } + postsCount = 0; + filesCount = 0; + for (_i = 0, _len = replies.length; _i < _len; _i++) { + reply = replies[_i]; + if (Conf['Quote Inlining']) { + while (inlined = $('.inlined', reply)) { + inlined.click(); + } + } + postsCount++; + if ('file' in Get.postFromRoot(reply)) { + filesCount++; + } + $.rm(reply); + } + return a.textContent = ExpandThread.text('+', postsCount, filesCount); + }, + parse: function(req, thread, a) { + var filesCount, post, postData, posts, postsCount, postsRoot, root, _i, _len, _ref, _ref1; + if ((_ref = req.status) !== 200 && _ref !== 304) { + a.textContent = "Error " + req.statusText + " (" + req.status + ")"; + return; + } + Build.spoilerRange[thread.board] = req.response.posts[0].custom_spoiler; + posts = []; + postsRoot = []; + filesCount = 0; + _ref1 = req.response.posts; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + postData = _ref1[_i]; + if (postData.no === thread.ID) { + continue; + } + if (post = thread.posts[postData.no]) { + if ('file' in post) { + filesCount++; + } + postsRoot.push(post.nodes.root); + continue; + } + root = Build.postFromObject(postData, thread.board.ID); + post = new Post(root, thread, thread.board); + if ('file' in post) { + filesCount++; + } + posts.push(post); + postsRoot.push(root); + } + Main.callbackNodes(Post, posts); + $.after(a, postsRoot); + postsCount = postsRoot.length; + a.textContent = ExpandThread.text('-', postsCount, filesCount); + return Fourchan.parseThread(thread.ID, 1, postsCount); + } + }; + + FileInfo = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['File Info Formatting']) { + return; + } + return Post.callbacks.push({ + name: 'File Info Formatting', + cb: this.node + }); + }, + node: function() { + if (!this.file || this.isClone) { + return; + } + return this.file.text.innerHTML = "" + (FileInfo.h_format(Conf['fileInfo'], this)) + ""; + }, + h_format: function(formatString, post) { + return formatString.replace(/%([A-Za-z])|[^%]+/g, function(s, c) { + if (c in FileInfo.h_formatters) { + return FileInfo.h_formatters[c].call(post); + } else { + return Build.h_escape(s); + } + }); + }, + h_formatters: { + t: function() { + return Build.h_escape(this.file.URL.match(/\d+\..+$/)[0]); + }, + T: function() { + return "" + (FileInfo.h_formatters.t.call(this)) + ""; + }, + l: function() { + return "" + (FileInfo.h_formatters.n.call(this)) + ""; + }, + L: function() { + return "" + (FileInfo.h_formatters.N.call(this)) + ""; + }, + n: function() { + var fullname, shortname; + fullname = this.file.name; + shortname = Build.shortFilename(this.file.name, this.isReply); + if (fullname === shortname) { + return Build.h_escape(fullname); + } else { + return "" + (Build.h_escape(shortname)) + "" + (Build.h_escape(fullname)) + ""; + } + }, + N: function() { + return Build.h_escape(this.file.name); + }, + p: function() { + if (this.file.isSpoiler) { + return 'Spoiler, '; + } else { + return ''; + } + }, + s: function() { + return Build.h_escape(this.file.size); + }, + B: function() { + return "" + (+this.file.sizeInBytes) + " Bytes"; + }, + K: function() { + return "" + (+Math.round(this.file.sizeInBytes / 1024)) + " KB"; + }, + M: function() { + return "" + (+Math.round(this.file.sizeInBytes / 1048576 * 100) / 100) + " MB"; + }, + r: function() { + return Build.h_escape(this.file.dimensions || 'PDF'); + } + } + }; + + Fourchan = { + init: function() { + var board; + if (g.VIEW === 'catalog') { + return; + } + board = g.BOARD.ID; + if (board === 'g') { + $.globalEval('window.addEventListener(\'prettyprint\', function(e) {\n window.dispatchEvent(new CustomEvent(\'prettyprint:cb\', {\n detail: prettyPrintOne(e.detail)\n }));\n}, false);'); + Post.callbacks.push({ + name: 'Parse /g/ code', + cb: this.code + }); + } + if (board === 'sci') { + $.globalEval('window.addEventListener(\'jsmath\', function(e) {\n if (jsMath.loaded) {\n // process one post\n jsMath.ProcessBeforeShowing(e.detail);\n } else {\n // load jsMath and process whole document\n jsMath.Autoload.Script.Push(\'ProcessBeforeShowing\', [null]);\n jsMath.Autoload.LoadJsMath();\n }\n}, false);'); + return Post.callbacks.push({ + name: 'Parse /sci/ math', + cb: this.math + }); + } + }, + code: function() { + var apply, pre, _i, _len, _ref; + if (this.isClone) { + return; + } + apply = function(e) { + return pre.innerHTML = e.detail; + }; + $.on(window, 'prettyprint:cb', apply); + _ref = $$('.prettyprint:not(.prettyprinted)', this.nodes.comment); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + pre = _ref[_i]; + $.event('prettyprint', pre.innerHTML, window); + } + $.off(window, 'prettyprint:cb', apply); + }, + math: function() { + if (this.isClone || !$('.math', this.nodes.comment)) { + return; + } + return $.event('jsmath', this.nodes.post, window); + }, + parseThread: function(threadID, offset, limit) { + return $.event('4chanParsingDone', { + threadId: threadID, + offset: offset, + limit: limit + }); + } + }; + + IDColor = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Color User IDs']) { + return; + } + this.ids = {}; + return Post.callbacks.push({ + name: 'Color User IDs', + cb: this.node + }); + }, + node: function() { + var rgb, span, style, uid; + if (this.isClone || !(uid = this.info.uniqueID)) { + return; + } + span = $('.hand', this.nodes.uniqueID); + if (!(span && span.nodeName === 'SPAN')) { + return; + } + rgb = IDColor.compute(uid); + style = span.style; + style.color = rgb[3]; + style.backgroundColor = "rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")"; + $.addClass(span, 'painted'); + return span.title = 'Highlight posts by this ID'; + }, + compute: function(uid) { + var hash, rgb; + if (IDColor.ids[uid]) { + return IDColor.ids[uid]; + } + hash = IDColor.hash(uid); + rgb = [(hash >> 24) & 0xFF, (hash >> 16) & 0xFF, (hash >> 8) & 0xFF]; + rgb[3] = (rgb[0] * 0.299 + rgb[1] * 0.587 + rgb[2] * 0.114) > 125 ? '#000' : '#fff'; + return this.ids[uid] = rgb; + }, + hash: function(uid) { + var i, msg; + msg = 0; + i = 0; + while (i < 8) { + msg = (msg << 5) - msg + uid.charCodeAt(i++); + } + return msg; + } + }; + + Keybinds = { + init: function() { + var hotkey, init; + if (!Conf['Keybinds']) { + return; + } + for (hotkey in Conf.hotkeys) { + $.sync(hotkey, Keybinds.sync); + } + init = function() { + var node, _i, _len, _ref; + $.off(d, '4chanXInitFinished', init); + $.on(d, 'keydown', Keybinds.keydown); + _ref = $$('[accesskey]'); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + node = _ref[_i]; + node.removeAttribute('accesskey'); + } + }; + return $.on(d, '4chanXInitFinished', init); + }, + sync: function(key, hotkey) { + return Conf[hotkey] = key; + }, + keydown: function(e) { + var form, key, notification, notifications, op, searchInput, target, thread, threadRoot, _i, _len, _ref; + if (!(key = Keybinds.keyCode(e))) { + return; + } + target = e.target; + if ((_ref = target.nodeName) === 'INPUT' || _ref === 'TEXTAREA') { + if (!/(Esc|Alt|Ctrl|Meta|Shift\+\w{2,})/.test(key)) { + return; + } + } + if (g.VIEW !== 'catalog') { + threadRoot = Nav.getThread(); + if (op = $('.op', threadRoot)) { + thread = Get.postFromNode(op).thread; + } + } + switch (key) { + case Conf['Toggle board list']: + if (Conf['Custom Board Navigation']) { + Header.toggleBoardList(); + } + break; + case Conf['Toggle header']: + Header.toggleBarVisibility(); + break; + case Conf['Open empty QR']: + Keybinds.qr(); + break; + case Conf['Open QR']: + if (g.VIEW === 'catalog') { + return; + } + Keybinds.qr(threadRoot); + break; + case Conf['Open settings']: + Settings.open(); + break; + case Conf['Close']: + if (Settings.dialog) { + Settings.close(); + } else if ((notifications = $$('.notification')).length) { + for (_i = 0, _len = notifications.length; _i < _len; _i++) { + notification = notifications[_i]; + $('.close', notification).click(); + } + } else if (QR.nodes) { + if (Conf['Persistent QR']) { + QR.hide(); + } else { + QR.close(); + } + } + break; + case Conf['Spoiler tags']: + if (target.nodeName !== 'TEXTAREA') { + return; + } + Keybinds.tags('spoiler', target); + break; + case Conf['Code tags']: + if (target.nodeName !== 'TEXTAREA') { + return; + } + Keybinds.tags('code', target); + break; + case Conf['Eqn tags']: + if (target.nodeName !== 'TEXTAREA') { + return; + } + Keybinds.tags('eqn', target); + break; + case Conf['Math tags']: + if (target.nodeName !== 'TEXTAREA') { + return; + } + Keybinds.tags('math', target); + break; + case Conf['Toggle sage']: + if (QR.nodes) { + Keybinds.sage(); + } + break; + case Conf['Submit QR']: + if (QR.nodes && !QR.status()) { + QR.submit(); + } + break; + case Conf['Update']: + switch (g.VIEW) { + case 'thread': + if (Conf['Thread Updater']) { + ThreadUpdater.update(); + } + break; + case 'index': + if (Conf['JSON Navigation']) { + Index.update(); + } + } + break; + case Conf['Watch']: + if (g.VIEW === 'catalog') { + return; + } + ThreadWatcher.toggle(thread); + break; + case Conf['Expand image']: + if (g.VIEW === 'catalog') { + return; + } + Keybinds.img(threadRoot); + break; + case Conf['Expand images']: + if (g.VIEW === 'catalog') { + return; + } + Keybinds.img(threadRoot, true); + break; + case Conf['Open Gallery']: + if (g.VIEW === 'catalog') { + return; + } + Gallery.cb.toggle(); + break; + case Conf['fappeTyme']: + if (g.VIEW === 'catalog') { + return; + } + FappeTyme.cb.toggle.call({ + name: 'fappe' + }); + break; + case Conf['werkTyme']: + if (g.VIEW === 'catalog') { + return; + } + FappeTyme.cb.toggle.call({ + name: 'werk' + }); + break; + case Conf['Front page']: + if (Conf['JSON Navigation'] && g.VIEW === 'index') { + Index.userPageNav(1); + } else { + window.location = "/" + g.BOARD + "/"; + } + break; + case Conf['Open front page']: + $.open("/" + g.BOARD + "/"); + break; + case Conf['Next page']: + if (g.VIEW !== 'index') { + return; + } + if (Conf['JSON Navigation']) { + if (Conf['Index Mode'] !== 'all pages') { + $('.next button', Index.pagelist).click(); + } + } else { + if (form = $('.next form')) { + window.location = form.action; + } + } + break; + case Conf['Previous page']: + if (g.VIEW !== 'index') { + return; + } + if (Conf['JSON Navigation']) { + if (Conf['Index Mode'] !== 'all pages') { + $('.prev button', Index.pagelist).click(); + } + } else { + if (form = $('.prev form')) { + window.location = form.action; + } + } + break; + case Conf['Search form']: + if (g.VIEW !== 'index') { + return; + } + searchInput = Conf['JSON Navigation'] ? Index.searchInput : $.id('search-box'); + Header.scrollToIfNeeded(searchInput); + searchInput.focus(); + break; + case Conf['Open catalog']: + if (Conf['External Catalog']) { + window.location = CatalogLinks.external(g.BOARD.ID); + } else { + window.location = "/" + g.BOARD + "/catalog"; + } + break; + case Conf['Next thread']: + if (g.VIEW !== 'index') { + return; + } + Nav.scroll(+1); + break; + case Conf['Previous thread']: + if (g.VIEW !== 'index') { + return; + } + Nav.scroll(-1); + break; + case Conf['Expand thread']: + if (g.VIEW !== 'index') { + return; + } + ExpandThread.toggle(thread); + break; + case Conf['Open thread']: + if (g.VIEW !== 'index') { + return; + } + Keybinds.open(thread); + break; + case Conf['Open thread tab']: + if (g.VIEW !== 'index') { + return; + } + Keybinds.open(thread, true); + break; + case Conf['Next reply']: + if (g.VIEW === 'catalog') { + return; + } + Keybinds.hl(+1, threadRoot); + break; + case Conf['Previous reply']: + if (g.VIEW === 'catalog') { + return; + } + Keybinds.hl(-1, threadRoot); + break; + case Conf['Deselect reply']: + if (g.VIEW === 'catalog') { + return; + } + Keybinds.hl(0, threadRoot); + break; + case Conf['Hide']: + if (g.VIEW === 'catalog') { + return; + } + if (ThreadHiding.db) { + ThreadHiding.toggle(thread); + } + break; + case Conf['Previous Post Quoting You']: + if (g.VIEW === 'catalog') { + return; + } + QuoteYou.cb.seek('preceding'); + break; + case Conf['Next Post Quoting You']: + if (g.VIEW === 'catalog') { + return; + } + QuoteYou.cb.seek('following'); + break; + default: + return; + } + e.preventDefault(); + return e.stopPropagation(); + }, + keyCode: function(e) { + var kc, key; + key = (function() { + switch (kc = e.keyCode) { + case 8: + return ''; + case 13: + return 'Enter'; + case 27: + return 'Esc'; + case 37: + return 'Left'; + case 38: + return 'Up'; + case 39: + return 'Right'; + case 40: + return 'Down'; + default: + if ((48 <= kc && kc <= 57) || (65 <= kc && kc <= 90)) { + return String.fromCharCode(kc).toLowerCase(); + } else { + return null; + } + } + })(); + if (key) { + if (e.altKey) { + key = 'Alt+' + key; + } + if (e.ctrlKey) { + key = 'Ctrl+' + key; + } + if (e.metaKey) { + key = 'Meta+' + key; + } + if (e.shiftKey) { + key = 'Shift+' + key; + } + } + return key; + }, + qr: function(thread) { + if (!(Conf['Quick Reply'] && QR.postingIsEnabled)) { + return; + } + QR.open(); + if (thread != null) { + QR.quote.call($('input', $('.post.highlight', thread) || thread)); + } + QR.nodes.com.focus(); + if (Conf['QR Shortcut']) { + return $.rmClass($('.qr-shortcut'), 'disabled'); + } + }, + tags: function(tag, ta) { + var range, selEnd, selStart, value; + value = ta.value; + selStart = ta.selectionStart; + selEnd = ta.selectionEnd; + ta.value = value.slice(0, selStart) + ("[" + tag + "]") + value.slice(selStart, selEnd) + ("[/" + tag + "]") + value.slice(selEnd); + range = ("[" + tag + "]").length + selEnd; + ta.setSelectionRange(range, range); + return $.event('input', null, ta); + }, + sage: function() { + var isSage; + isSage = /sage/i.test(QR.nodes.email.value); + return QR.nodes.email.value = isSage ? "" : "sage"; + }, + img: function(thread, all) { + var post; + if (all) { + return ImageExpand.cb.toggleAll(); + } else { + post = Get.postFromNode($('.post.highlight', thread) || $('.op', thread)); + return ImageExpand.toggle(post); + } + }, + open: function(thread, tab) { + var url; + if (g.VIEW !== 'index') { + return; + } + url = "/" + thread.board + "/thread/" + thread; + if (tab) { + return $.open(url); + } else { + return location.href = url; + } + }, + hl: function(delta, thread) { + var axis, height, next, postEl, replies, reply, root, _i, _len; + postEl = $('.reply.highlight', thread); + if (!delta) { + if (postEl) { + $.rmClass(postEl, 'highlight'); + } + return; + } + if (postEl) { + height = postEl.getBoundingClientRect().height; + if (Header.getTopOf(postEl) >= -height && Header.getBottomOf(postEl) >= -height) { + root = postEl.parentNode; + axis = delta === +1 ? 'following' : 'preceding'; + if (!(next = $.x("" + axis + "-sibling::div[contains(@class,'replyContainer') and not(@hidden) and not(child::div[@class='stub'])][1]/child::div[contains(@class,'reply')]", root))) { + return; + } + Header.scrollToIfNeeded(next, delta === +1); + this.focus(next); + $.rmClass(postEl, 'highlight'); + return; + } + $.rmClass(postEl, 'highlight'); + } + replies = $$('.reply', thread); + if (delta === -1) { + replies.reverse(); + } + for (_i = 0, _len = replies.length; _i < _len; _i++) { + reply = replies[_i]; + if (delta === +1 && Header.getTopOf(reply) > 0 || delta === -1 && Header.getBottomOf(reply) > 0) { + this.focus(reply); + return; + } + } + }, + focus: function(post) { + return $.addClass(post, 'highlight'); + } + }; + + Nav = { + init: function() { + var append, next, prev, span; + switch (g.VIEW) { + case 'index': + if (!Conf['Index Navigation']) { + return; + } + break; + case 'thread': + if (!Conf['Reply Navigation']) { + return; + } + break; + default: + return; + } + span = $.el('span', { + id: 'navlinks' + }); + prev = $.el('a', { + textContent: 'â–²', + href: 'javascript:;' + }); + next = $.el('a', { + textContent: 'â–¼', + href: 'javascript:;' + }); + $.on(prev, 'click', this.prev); + $.on(next, 'click', this.next); + $.add(span, [prev, $.tn(' '), next]); + append = function() { + $.off(d, '4chanXInitFinished', append); + return $.add(d.body, span); + }; + return $.on(d, '4chanXInitFinished', append); + }, + prev: function() { + if (g.VIEW === 'thread') { + return window.scrollTo(0, 0); + } else { + return Nav.scroll(-1); + } + }, + next: function() { + if (g.VIEW === 'thread') { + return window.scrollTo(0, d.body.scrollHeight); + } else { + return Nav.scroll(+1); + } + }, + getThread: function() { + var thread, threadRoot, _i, _len, _ref; + _ref = $$('.thread'); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + threadRoot = _ref[_i]; + thread = Get.threadFromRoot(threadRoot); + if (thread.isHidden && !thread.stub) { + continue; + } + if (Header.getTopOf(threadRoot) >= -threadRoot.getBoundingClientRect().height) { + return threadRoot; + } + } + return $('.board'); + }, + scroll: function(delta) { + var axis, next, thread, top; + thread = Nav.getThread(); + axis = delta === +1 ? 'following' : 'preceding'; + if (next = $.x("" + axis + "-sibling::div[contains(@class,'thread') and not(@hidden)][1]", thread)) { + top = Header.getTopOf(thread); + if (delta === +1 && top < 5 || delta === -1 && top > -5) { + thread = next; + } + } + return Header.scrollTo(thread); + } + }; + + RelativeDates = { + INTERVAL: $.MINUTE / 2, + init: function() { + switch (g.VIEW) { + case 'index': + this.flush(); + $.on(d, 'visibilitychange', this.flush); + if (!Conf['Relative Post Dates']) { + return; + } + break; + case 'thread': + if (!Conf['Relative Post Dates']) { + return; + } + this.flush(); + if (g.VIEW === 'thread') { + $.on(d, 'visibilitychange ThreadUpdate', this.flush); + } + break; + default: + return; + } + return Post.callbacks.push({ + name: 'Relative Post Dates', + cb: this.node + }); + }, + node: function() { + var dateEl; + if (this.isClone) { + return; + } + dateEl = this.nodes.date; + dateEl.title = dateEl.textContent; + return RelativeDates.update(this); + }, + relative: function(diff, now, date) { + var days, months, number, rounded, unit, years; + unit = (number = diff / $.DAY) >= 1 ? (years = now.getYear() - date.getYear(), months = now.getMonth() - date.getMonth(), days = now.getDate() - date.getDate(), years > 1 ? (number = years - (months < 0 || months === 0 && days < 0), 'year') : years === 1 && (months > 0 || months === 0 && days >= 0) ? (number = years, 'year') : (months = (months + 12) % 12) > 1 ? (number = months - (days < 0), 'month') : months === 1 && days >= 0 ? (number = months, 'month') : 'day') : (number = diff / $.HOUR) >= 1 ? 'hour' : (number = diff / $.MINUTE) >= 1 ? 'minute' : (number = Math.max(0, diff) / $.SECOND, 'second'); + rounded = Math.round(number); + if (rounded !== 1) { + unit += 's'; + } + return "" + rounded + " " + unit + " ago"; + }, + stale: [], + flush: function() { + var data, now, _i, _len, _ref; + if (d.hidden) { + return; + } + now = new Date(); + _ref = RelativeDates.stale; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + data = _ref[_i]; + RelativeDates.update(data, now); + } + RelativeDates.stale = []; + clearTimeout(RelativeDates.timeout); + return RelativeDates.timeout = setTimeout(RelativeDates.flush, RelativeDates.INTERVAL); + }, + update: function(data, now) { + var date, diff, isPost, relative, singlePost, _i, _len, _ref; + isPost = data instanceof Post; + date = isPost ? data.info.date : new Date(+data.dataset.utc); + now || (now = new Date()); + diff = now - date; + relative = RelativeDates.relative(diff, now, date); + if (isPost) { + _ref = [data].concat(data.clones); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + singlePost = _ref[_i]; + singlePost.nodes.date.firstChild.textContent = relative; + } + } else { + data.firstChild.textContent = relative; + } + return RelativeDates.setOwnTimeout(diff, data); + }, + setOwnTimeout: function(diff, data) { + var delay; + delay = diff < $.MINUTE ? $.SECOND - (diff + $.SECOND / 2) % $.SECOND : diff < $.HOUR ? $.MINUTE - (diff + $.MINUTE / 2) % $.MINUTE : diff < $.DAY ? $.HOUR - (diff + $.HOUR / 2) % $.HOUR : $.DAY - (diff + $.DAY / 2) % $.DAY; + return setTimeout(RelativeDates.markStale, delay, data); + }, + markStale: function(data) { + if (__indexOf.call(RelativeDates.stale, data) >= 0) { + return; + } + if (data instanceof Post && !g.posts[data.fullID]) { + return; + } + return RelativeDates.stale.push(data); + } + }; + + RemoveSpoilers = { + init: function() { + if (Conf['Reveal Spoilers'] && !Conf['Remove Spoilers']) { + $.addClass(doc, 'reveal-spoilers'); + } + if (!Conf['Remove Spoilers']) { + return; + } + if (Conf['Reveal Spoilers']) { + this.wrapper = function(text) { + return "[spoiler]" + text + "[/spoiler]"; + }; + } + return Post.callbacks.push({ + name: 'Reveal Spoilers', + cb: this.node + }); + }, + wrapper: function(text) { + return text; + }, + node: function(post) { + var spoiler, spoilers, _i, _len; + spoilers = $$('s', this.nodes.comment); + for (_i = 0, _len = spoilers.length; _i < _len; _i++) { + spoiler = spoilers[_i]; + $.replace(spoiler, $.tn(RemoveSpoilers.wrapper(spoiler.textContent))); + } + } + }; + + Report = { + init: function() { + if (!/report/.test(location.search)) { + return; + } + return $.asap((function() { + return $.id('recaptcha_response_field'); + }), Report.ready); + }, + ready: function() { + var field; + field = $.id('recaptcha_response_field'); + $.on(field, 'keydown', function(e) { + if (e.keyCode === 8 && !field.value) { + return $.globalEval('Recaptcha.reload("t")'); + } + }); + return $.on($('form'), 'submit', function(e) { + var response; + e.preventDefault(); + response = field.value.trim(); + if (!/\s/.test(response)) { + field.value = "" + response + " " + response; + } + return this.submit(); + }); + } + }; + + Time = { + init: function() { + if (g.VIEW === 'catalog' || !Conf['Time Formatting']) { + return; + } + return Post.callbacks.push({ + name: 'Time Formatting', + cb: this.node + }); + }, + node: function() { + if (this.isClone) { + return; + } + return this.nodes.date.textContent = Time.format(Conf['time'], this.info.date); + }, + format: function(formatString, date) { + return formatString.replace(/%([A-Za-z])/g, function(s, c) { + if (c in Time.formatters) { + return Time.formatters[c].call(date); + } else { + return s; + } + }); + }, + day: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + zeroPad: function(n) { + if (n < 10) { + return "0" + n; + } else { + return n; + } + }, + formatters: { + a: function() { + return Time.day[this.getDay()].slice(0, 3); + }, + A: function() { + return Time.day[this.getDay()]; + }, + b: function() { + return Time.month[this.getMonth()].slice(0, 3); + }, + B: function() { + return Time.month[this.getMonth()]; + }, + d: function() { + return Time.zeroPad(this.getDate()); + }, + e: function() { + return this.getDate(); + }, + H: function() { + return Time.zeroPad(this.getHours()); + }, + I: function() { + return Time.zeroPad(this.getHours() % 12 || 12); + }, + k: function() { + return this.getHours(); + }, + l: function() { + return this.getHours() % 12 || 12; + }, + m: function() { + return Time.zeroPad(this.getMonth() + 1); + }, + M: function() { + return Time.zeroPad(this.getMinutes()); + }, + p: function() { + if (this.getHours() < 12) { + return 'AM'; + } else { + return 'PM'; + } + }, + P: function() { + if (this.getHours() < 12) { + return 'am'; + } else { + return 'pm'; + } + }, + S: function() { + return Time.zeroPad(this.getSeconds()); + }, + y: function() { + return this.getFullYear().toString().slice(2); + }, + Y: function() { + return this.getFullYear(); + } + } + }; + + Navigate = { + path: window.location.pathname, + init: function() { + var popstateHack; + if (g.VIEW === 'catalog' || g.BOARD.ID === 'f' || !Conf['JSON Navigation']) { + return; + } + popstateHack = function() { + $.off(window, 'popstate', popstateHack); + return $.on(window, 'popstate', Navigate.popstate); + }; + $.on(window, 'popstate', popstateHack); + this.title = function() {}; + Thread.callbacks.push({ + name: 'Navigate', + cb: this.thread + }); + return Post.callbacks.push({ + name: 'Navigate', + cb: this.post + }); + }, + thread: function() { + var replyLink; + if (g.VIEW === 'thread') { + return; + } + replyLink = $('a.replylink', this.OP.nodes.info); + return $.on(replyLink, 'click', Navigate.navigate); + }, + post: function() { + var linktype; + if (!(g.VIEW === 'thread' && this.thread.ID === g.THREADID)) { + $.on($('a[title="Link to this post"]', this.nodes.info), 'click', Navigate.navigate); + } + if (!(linktype = Conf['Quote Inlining'] && Conf['Quote Hash Navigation'] ? '.hashlink' : !Conf['Quote Inlining'] ? '.quotelink' : null)) { + return; + } + return Navigate.quoteLink($$(linktype, this.nodes.comment)); + }, + quoteLink: function(links) { + var link, _i, _len; + for (_i = 0, _len = links.length; _i < _len; _i++) { + link = links[_i]; + Navigate.singleQuoteLink(link); + } + }, + singleQuoteLink: function(link) { + var boardID, threadID, _ref; + _ref = Get.postDataFromLink(link), boardID = _ref.boardID, threadID = _ref.threadID; + if (g.VIEW === 'index' || boardID !== g.BOARD.ID || threadID !== g.THREADID) { + return $.on(link, 'click', Navigate.navigate); + } + }, + clean: function() { + g.threads.forEach(function(thread) { + return thread.collect(); + }); + QuoteBacklink.containers = {}; + return $.rmAll($('.board')); + }, + features: [['Thread Excerpt', ThreadExcerpt], ['Unread Count', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Expansion', ExpandThread]], + disconnect: function() { + var err, errors, feature, name, _i, _len, _ref, _ref1; + _ref = Navigate.features; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + _ref1 = _ref[_i], name = _ref1[0], feature = _ref1[1]; + try { + feature.disconnect(); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Failed to disconnect feature " + name + ".", + error: err + }); + } + if (errors) { + Main.handleErrors(errors); + } + } + }, + reconnect: function() { + var err, errors, feature, name, _i, _len, _ref, _ref1; + _ref = Navigate.features; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + _ref1 = _ref[_i], name = _ref1[0], feature = _ref1[1]; + try { + feature.init(); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Failed to reconnect feature " + name + ".", + error: err + }); + } + } + if (errors) { + Main.handleErrors(errors); + } + }, + updateContext: function(view) { + var origFormThread, post, _i, _len, _ref; + g.DEAD = false; + if (view === 'thread') { + g.THREADID = +window.location.pathname.split('/')[3]; + } + if (view !== g.VIEW) { + $.rmClass(doc, g.VIEW); + $.addClass(doc, view); + } + if (view === 'index') { + delete g.THREADID; + } + origFormThread = $('form[name="post"] input[name="resto"]'); + if (view === 'thread') { + if (!origFormThread) { + origFormThread = $.el('input', { + type: 'hidden', + name: 'resto' + }); + $.after($.id('postPassword'), origFormThread); + } + origFormThread.value = g.THREADID; + } else { + if (origFormThread) { + $.rm(origFormThread); + } + } + if (Conf['Quick Reply']) { + QR.link.textContent = view === 'thread' ? 'Reply to Thread' : 'Start a Thread'; + QR.status(); + _ref = QR.posts; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + post = _ref[_i]; + post.thread = g.THREADID || 'new'; + } + } + return g.VIEW = view; + }, + updateBoard: function(boardID) { + var current, fullBoardList; + fullBoardList = $('#full-board-list', Header.boardList); + if (current = $('.current', fullBoardList)) { + $.rmClass(current, 'current'); + } + if (current = $("a[href*='/" + boardID + "/']", fullBoardList)) { + $.addClass(current, 'current'); + } + Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' ')); + Index.setNavLinks(); + $('form[name="post"]').action = "//sys.4chan.org/" + g.BOARD + "/post"; + if (Conf['Quick Reply']) { + QR.flagsInput(); + } + return $.cache('//a.4cdn.org/boards.json', function() { + var aboard, board, err, _i, _len, _ref; + try { + if (this.status !== 200) { + return; + } + _ref = this.response.boards; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + aboard = _ref[_i]; + if (!(aboard.board === boardID)) { + continue; + } + board = aboard; + break; + } + } catch (_error) { + err = _error; + Main.handleErrors([ + { + message: "Navigation failed to update board name.", + error: err + } + ]); + } + if (!board) { + return; + } + Navigate.updateTitle(board); + return Navigate.updateSFW(!!board.ws_board); + }); + }, + updateSFW: function(sfw) { + var findStyle, style; + Favicon.el.href = Favicon["default"] = "//s.4cdn.org/image/favicon" + (sfw ? '-ws' : '') + ".ico"; + $.add(d.head, Favicon.el); + if (Favicon.SFW === sfw) { + return; + } + Favicon.SFW = sfw; + Favicon.update(); + findStyle = function(type, base) { + var style; + style = d.cookie.match(new RegExp("\\b" + type + "_style=([^;]+)")); + return ["" + type + "_style", (style ? style[1] : base)]; + }; + style = sfw ? findStyle('ws', 'Yotsuba B New') : findStyle('nws', 'Yotsuba New'); + $.globalEval("var style_group = " + (JSON.stringify(style[0]))); + $('link[title=switch]', d.head).href = $("link[title='" + style[1] + "']", d.head).href; + return Main.setClass(); + }, + updateTitle: function(_arg) { + var board, subtitle, title; + board = _arg.board, title = _arg.title; + if (subtitle = $('.boardSubtitle')) { + $.rm(subtitle); + } + return $('.boardTitle').textContent = d.title = "/" + board + "/ - " + title; + }, + navigate: function(e) { + var boardID, load, pageNum, path, threadID, view, _, _ref; + if (this.hostname !== 'boards.4chan.org' || window.location.hostname === 'rs.4chan.org') { + return; + } + if (e) { + if (e.shiftKey || e.ctrlKey || (e.type === 'click' && e.button !== 0)) { + return; + } + } + if (this.pathname === Navigate.path) { + if (this.id === 'popState') { + return; + } + if (g.VIEW === 'thread') { + if (Conf['Thread Updater']) { + ThreadUpdater.update(); + } + } else { + Index.update(); + } + if (e != null) { + e.preventDefault(); + } + return; + } + $.addClass(Index.button, 'fa-spin'); + if (Index.isSearching) { + Index.clearSearch(); + } + _ref = this.pathname.split('/'), _ = _ref[0], boardID = _ref[1], view = _ref[2], threadID = _ref[3]; + if (view === 'catalog' || ('f' === boardID || 'f' === g.BOARD.ID)) { + return; + } + if (e != null) { + e.preventDefault(); + } + Navigate.title = function() {}; + delete Index.pageNum; + $.rmAll(Header.hover); + if (threadID) { + view = 'thread'; + } else { + pageNum = +view || 1; + view = 'index'; + } + path = this.pathname; + if (this.hash) { + path += this.hash; + } + if (this.id !== 'popState') { + history.pushState(null, '', path); + } + Navigate.path = this.pathname; + if (!(view === 'index' && 'index' === g.VIEW && boardID === g.BOARD.ID)) { + Navigate.disconnect(); + Navigate.updateContext(view); + Navigate.clean(); + Navigate.reconnect(); + } + if (boardID === g.BOARD.ID) { + Navigate.title = function() { + if (view === 'index') { + return d.title = $('.boardTitle').textContent; + } + }; + } else { + g.BOARD = new Board(boardID); + Navigate.title = function() { + return Navigate.updateBoard(boardID); + }; + } + Navigate.updateSFW(Favicon.SFW); + if (view === 'index') { + return Index.update(pageNum, true); + } + load = Navigate.load; + Navigate.req = $.ajax("//a.4cdn.org/" + boardID + "/thread/" + threadID + ".json", { + onabort: load, + onloadend: load + }); + return setTimeout((function() { + if (Navigate.req && !Navigate.notice) { + return Navigate.notice = new Notice('info', 'Loading thread...'); + } + }), 3 * $.SECOND); + }, + load: function(e) { + var err, notice, req; + $.rmClass(Index.button, 'fa-spin'); + req = Navigate.req, notice = Navigate.notice; + if (notice != null) { + notice.close(); + } + delete Navigate.req; + delete Navigate.notice; + if (e.type === 'abort' || req.status !== 200) { + req.onloadend = null; + new Notice('warning', "Failed to load thread." + (req.status ? " " + req.status : '')); + return; + } + Navigate.title(); + try { + return Navigate.parse(req.response.posts); + } catch (_error) { + err = _error; + console.error('Navigate failure:'); + console.log(err); + if (notice) { + notice.setType('error'); + notice.el.lastElementChild.textContent = 'Navigation Failed.'; + setTimeout(notice.close, 2 * $.SECOND); + } else { + new Notice('error', 'Navigation Failed.', 2); + } + } + }, + parse: function(data) { + var OP, board, errors, i, makePost, obj, post, posts, thread, threadRoot; + posts = []; + errors = null; + board = g.BOARD; + threadRoot = Build.thread(board, OP = data[0], true); + thread = new Thread(OP.no, board); + makePost = function(postNode) { + var err; + try { + return posts.push(new Post(postNode, thread, board)); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + return errors.push({ + message: "Parsing of Post No." + postNode.ID + " failed. Post will be skipped.", + error: err + }); + } + }; + makePost($('.opContainer', threadRoot)); + i = 0; + while (obj = data[++i]) { + post = Build.postFromObject(obj, board); + makePost(post); + $.add(threadRoot, post); + } + Main.callbackNodes(Thread, [thread]); + Main.callbackNodes(Post, posts); + if (Conf['Quote Threading'] && !Conf['Unread Count']) { + QuoteThreading.force(); + } + board = $('.board'); + $.rmAll(board); + $.add(board, [threadRoot, $.el('hr')]); + if (Conf['Unread Count']) { + Unread.ready(); + } + if (Conf['Quick Reply']) { + QR.generatePostableThreadsList(); + } + Header.hashScroll.call(window); + if (errors) { + return Main.handleErrors(errors); + } + }, + pushState: function(path) { + history.pushState(null, '', path); + return Navigate.path = window.location.pathname; + }, + popstate: function() { + var a; + a = $.el('a', { + href: window.location, + id: 'popState' + }); + return Navigate.navigate.call(a); + } + }; + + Settings = { + init: function() { + var link, settings; + link = $.el('a', { + className: 'settings-link fa fa-wrench', + textContent: 'Settings', + title: '4chan X Settings', + href: 'javascript:;' + }); + $.on(link, 'click', Settings.open); + Header.addShortcut(link); + Settings.addSection('Main', Settings.main); + Settings.addSection('Filter', Settings.filter); + Settings.addSection('Sauce', Settings.sauce); + Settings.addSection('Advanced', Settings.advanced); + Settings.addSection('Keybinds', Settings.keybinds); + $.on(d, 'AddSettingsSection', Settings.addSection); + $.on(d, 'OpenSettings', function(e) { + return Settings.open(e.detail); + }); + settings = JSON.parse(localStorage.getItem('4chan-settings')) || {}; + if (settings.disableAll) { + return; + } + settings.disableAll = true; + return localStorage.setItem('4chan-settings', JSON.stringify(settings)); + }, + open: function(openSection) { + var dialog, link, links, overlay, section, sectionToOpen, _i, _len, _ref; + if (Settings.dialog) { + return; + } + $.event('CloseMenu'); + Settings.overlay = overlay = $.el('div', { + id: 'overlay' + }); + Settings.dialog = dialog = $.el('div', { + id: 'fourchanx-settings', + className: 'dialog', + innerHTML: '
' + }); + $.on($('.export', Settings.dialog), 'click', Settings["export"]); + $.on($('.import', Settings.dialog), 'click', Settings["import"]); + $.on($('.reset', Settings.dialog), 'click', Settings.reset); + $.on($('input', Settings.dialog), 'change', Settings.onImport); + links = []; + _ref = Settings.sections; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + section = _ref[_i]; + link = $.el('a', { + className: "tab-" + section.hyphenatedTitle, + textContent: section.title, + href: 'javascript:;' + }); + $.on(link, 'click', Settings.openSection.bind(section)); + links.push(link, $.tn(' | ')); + if (section.title === openSection) { + sectionToOpen = link; + } + } + links.pop(); + $.add($('.sections-list', dialog), links); + (sectionToOpen ? sectionToOpen : links[0]).click(); + $.on($('.close', dialog), 'click', Settings.close); + $.on(overlay, 'click', Settings.close); + $.add(d.body, [overlay, dialog]); + return $.event('OpenSettings', null, dialog); + }, + close: function() { + if (!Settings.dialog) { + return; + } + $.rm(Settings.overlay); + $.rm(Settings.dialog); + delete Settings.overlay; + return delete Settings.dialog; + }, + sections: [], + addSection: function(title, open) { + var hyphenatedTitle, _ref; + if (typeof title !== 'string') { + _ref = title.detail, title = _ref.title, open = _ref.open; + } + hyphenatedTitle = title.toLowerCase().replace(/\s+/g, '-'); + return Settings.sections.push({ + title: title, + hyphenatedTitle: hyphenatedTitle, + open: open + }); + }, + openSection: function() { + var section, selected; + if (selected = $('.tab-selected', Settings.dialog)) { + $.rmClass(selected, 'tab-selected'); + } + $.addClass($(".tab-" + this.hyphenatedTitle, Settings.dialog), 'tab-selected'); + section = $('section', Settings.dialog); + $.rmAll(section); + section.className = "section-" + this.hyphenatedTitle; + this.open(section, g); + section.scrollTop = 0; + return $.event('OpenSettings', null, section); + }, + main: function(section) { + var arr, button, description, div, fs, input, inputs, items, key, obj, _ref; + items = {}; + inputs = {}; + _ref = Config.main; + for (key in _ref) { + obj = _ref[key]; + fs = $.el('fieldset', { + innerHTML: '' + }); + fs.firstElementChild.textContent = key; + for (key in obj) { + arr = obj[key]; + description = arr[1]; + div = $.el('div'); + $.add(div, [ + UI.checkbox(key, key, false), $.el('span', { + "class": 'description', + textContent: ": " + description + }) + ]); + input = $('input', div); + $.on(input, 'change', $.cb.checked); + items[key] = Conf[key]; + inputs[key] = input; + $.add(fs, div); + } + $.add(section, fs); + } + $.get(items, function(items) { + var val; + for (key in items) { + val = items[key]; + inputs[key].checked = val; + } + }); + div = $.el('div', { + innerHTML: ': Clear manually-hidden threads and posts on all boards. Reload the page to apply.' + }); + button = $('button', div); + $.get({ + hiddenThreads: {}, + hiddenPosts: {} + }, function(_arg) { + var ID, board, hiddenNum, hiddenPosts, hiddenThreads, thread, _ref1, _ref2; + hiddenThreads = _arg.hiddenThreads, hiddenPosts = _arg.hiddenPosts; + hiddenNum = 0; + _ref1 = hiddenThreads.boards; + for (ID in _ref1) { + board = _ref1[ID]; + hiddenNum += Object.keys(board).length; + } + _ref2 = hiddenPosts.boards; + for (ID in _ref2) { + board = _ref2[ID]; + for (ID in board) { + thread = board[ID]; + hiddenNum += Object.keys(thread).length; + } + } + return button.textContent = "Hidden: " + hiddenNum; + }); + $.on(button, 'click', function() { + this.textContent = 'Hidden: 0'; + return $.get('hiddenThreads', {}, function(_arg) { + var boardID, hiddenThreads; + hiddenThreads = _arg.hiddenThreads; + for (boardID in hiddenThreads.boards) { + localStorage.removeItem("4chan-hide-t-" + boardID); + } + return $["delete"](['hiddenThreads', 'hiddenPosts']); + }); + }); + return $.after($('input[name="Stubs"]', section).parentNode.parentNode, div); + }, + "export": function() { + return $.get(Conf, function(Conf) { + delete Conf['archives']; + return Settings.downloadExport({ + version: g.VERSION, + date: Date.now(), + Conf: Conf + }); + }); + }, + downloadExport: function(data) { + var a; + a = $.el('a', { + download: "4chan X v" + g.VERSION + "-" + data.date + ".json", + href: "data:application/json;base64," + (btoa(unescape(encodeURIComponent(JSON.stringify(data, null, 2))))) + }); + return a.click(); + }, + "import": function() { + return $('input', this.parentNode).click(); + }, + onImport: function() { + var file, output, reader; + if (!(file = this.files[0])) { + return; + } + output = $('.imp-exp-result'); + if (!confirm('Your current settings will be entirely overwritten, are you sure?')) { + output.textContent = 'Import aborted.'; + return; + } + reader = new FileReader(); + reader.onload = function(e) { + var err; + try { + Settings.loadSettings(JSON.parse(e.target.result)); + if (confirm('Import successful. Reload now?')) { + return window.location.reload(); + } + } catch (_error) { + err = _error; + output.textContent = 'Import failed due to an error.'; + return c.error(err.stack); + } + }; + return reader.readAsText(file); + }, + loadSettings: function(data) { + var convertSettings, key, val, version, _ref; + version = data.version.split('.'); + if (version[0] === '2') { + convertSettings = function(data, map) { + var newKey, prevKey; + for (prevKey in map) { + newKey = map[prevKey]; + if (newKey) { + data.Conf[newKey] = data.Conf[prevKey]; + } + delete data.Conf[prevKey]; + } + return data; + }; + data = Settings.convertSettings(data, { + 'Disable 4chan\'s extension': '', + 'Catalog Links': '', + 'Reply Navigation': '', + 'Show Stubs': 'Stubs', + 'Image Auto-Gif': 'Auto-GIF', + 'Expand From Current': '', + 'Unread Tab Icon': 'Unread Favicon', + 'Post in Title': 'Thread Excerpt', + 'Auto Hide QR': '', + 'Open Reply in New Tab': '', + 'Remember QR size': '', + 'Quote Inline': 'Quote Inlining', + 'Quote Preview': 'Quote Previewing', + 'Indicate OP quote': 'Mark OP Quotes', + 'Indicate Cross-thread Quotes': 'Mark Cross-thread Quotes', + 'Reply Hiding': 'Reply Hiding Buttons', + 'Thread Hiding': 'Thread Hiding Buttons', + 'uniqueid': 'uniqueID', + 'mod': 'capcode', + 'country': 'flag', + 'md5': 'MD5', + 'openEmptyQR': 'Open empty QR', + 'openQR': 'Open QR', + 'openOptions': 'Open settings', + 'close': 'Close', + 'spoiler': 'Spoiler tags', + 'code': 'Code tags', + 'submit': 'Submit QR', + 'watch': 'Watch', + 'update': 'Update', + 'unreadCountTo0': '', + 'expandAllImages': 'Expand images', + 'expandImage': 'Expand image', + 'zero': 'Front page', + 'nextPage': 'Next page', + 'previousPage': 'Previous page', + 'nextThread': 'Next thread', + 'previousThread': 'Previous thread', + 'expandThread': 'Expand thread', + 'openThreadTab': 'Open thread', + 'openThread': 'Open thread tab', + 'nextReply': 'Next reply', + 'previousReply': 'Previous reply', + 'hide': 'Hide', + 'Scrolling': 'Auto Scroll', + 'Verbose': '' + }); + data.Conf.sauces = data.Conf.sauces.replace(/\$\d/g, function(c) { + switch (c) { + case '$1': + return '%TURL'; + case '$2': + return '%URL'; + case '$3': + return '%MD5'; + case '$4': + return '%board'; + default: + return c; + } + }); + _ref = Config.hotkeys; + for (key in _ref) { + val = _ref[key]; + if (key in data.Conf) { + data.Conf[key] = data.Conf[key].replace(/ctrl|alt|meta/g, function(s) { + return "" + (s[0].toUpperCase()) + s.slice(1); + }).replace(/(^|.+\+)[A-Z]$/g, function(s) { + return "Shift+" + s.slice(0, -1) + (s.slice(-1).toLowerCase()); + }); + } + } + data.Conf['WatchedThreads'] = data.WatchedThreads; + } + if (data.Conf['WatchedThreads']) { + data.Conf['watchedThreads'] = { + boards: ThreadWatcher.convert(data.Conf['WatchedThreads']) + }; + delete data.Conf['WatchedThreads']; + } + return $.set(data.Conf); + }, + reset: function() { + if (confirm('Your current settings will be entirely wiped, are you sure?')) { + return $.clear(function() { + if (confirm('Reset successful. Reload now?')) { + return window.location.reload(); + } + }); + } + }, + filter: function(section) { + var select; + section.innerHTML = '
'; + select = $('select', section); + $.on(select, 'change', Settings.selectFilter); + return Settings.selectFilter.call(select); + }, + selectFilter: function() { + var div, name, ta; + div = this.nextElementSibling; + if ((name = this.value) !== 'guide') { + $.rmAll(div); + ta = $.el('textarea', { + name: name, + className: 'field', + spellcheck: false + }); + $.get(name, Conf[name], function(item) { + return ta.value = item[name]; + }); + $.on(ta, 'change', $.cb.value); + $.add(div, ta); + return; + } + div.innerHTML = '
Filter is disabled.

Use regular expressions, one per line.
Lines starting with a # will be ignored.
For example, /weeaboo/i will filter posts containing the string `weeaboo`, case-insensitive.
MD5 filtering uses exact string matching, not regular expressions.

    You can use these settings with each regular expression, separate them with semicolons:
  • Per boards, separate them with commas. It is global if not specified.
    For example: boards:a,jp;.
  • Filter OPs only along with their threads (`only`), replies only (`no`), or both (`yes`, this is default).
    For example: op:only;, op:no; or op:yes;.
  • Overrule the `Show Stubs` setting if specified: create a stub (`yes`) or not (`no`).
    For example: stub:yes; or stub:no;.
  • Highlight instead of hiding. You can specify a class name to use with a userstyle.
    For example: highlight; or highlight:wallpaper;.
  • Highlighted OPs will have their threads put on top of the board index by default.
    For example: top:yes; or top:no;.
'; + return $('.warning', div).hidden = Conf['Filter']; + }, + sauce: function(section) { + var ta; + section.innerHTML = '
Sauce is disabled.
Lines starting with a # will be ignored.
You can specify a display text by appending ;text:[text] to the URL.
    These parameters will be replaced by their corresponding values:
  • %TURL: Thumbnail URL.
  • %URL: Full image URL.
  • %MD5: MD5 hash.
  • %name: Original file name.
  • %board: Current board.
'; + $('.warning', section).hidden = Conf['Sauce']; + ta = $('textarea', section); + $.get('sauces', Conf['sauces'], function(item) { + return ta.value = item['sauces']; + }); + return $.on(ta, 'change', $.cb.value); + }, + advanced: function(section) { + var archBoards, boardID, boardOptions, boardSelect, boards, customCSS, event, files, i, input, inputs, interval, item, items, name, o, row, rows, software, ta, table, warning, withCredentials, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _m, _n, _o, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6; + section.innerHTML = '
Archiver
404 Redirect is disabled.
Thread redirectionPost fetchingFile redirection
Disabled selections indicate that only one archive is available for that board and redirection type.
Custom Board Navigation
New lines will be converted into spaces.

In the following examples for /g/, g can be changed to a different board ID (a, b, etc...), the current board (current), or the Twitter link (@).
Board link: g
Title link: g-title
Board link (Replace with title when on that board): g-replace
Full text link: g-full
Custom text link: g-text:"Install Gentoo"
Index-only link: g-index
Catalog-only link: g-catalog
External link: external-text:"Google","http://www.google.com"
Combinations are possible: g-index-text:"Technology Index"
Full board list toggle: toggle-all

[ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:"Piracy"]
will give you
[ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
if you are on /g/.
Time Formatting is disabled.
:
Day: %a, %A, %d, %e
Month: %m, %b, %B
Year: %y, %Y
Hour: %k, %H, %l, %I, %p, %P
Minute: %M
Second: %S
Quote Backlinks formatting is disabled.
:
File Info Formatting is disabled.
:
Link: %l (truncated), %L (untruncated), %T (Unix timestamp)
Original file name: %n (truncated), %N (untruncated), %t (Unix timestamp)
Spoiler indicator: %p
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
Resolution: %r (Displays \'PDF\' for PDF files)
Quick Reply Personas

One item per line.
Items will be added in the relevant input\'s auto-completion list.
Password items will always be used, since there is no password input.
Lines starting with a # will be ignored.

    You can use these settings with each item, separate them with semicolons:
  • Possible items are: name, email, subject and password.
  • Wrap values of items with quotes, like this: email:"sage".
  • Force values as defaults with the always keyword, for example: email:"sage";always.
  • Select specific boards for an item, separated with commas, for example: email:"sage";boards:jp;always.
Unread Favicon is disabled.
Emoji is disabled.
Sage Icon:
Position:
Thread Updater is disabled.
Interval:
'; + _ref = $$('.warning', section); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + warning = _ref[_i]; + warning.hidden = Conf[warning.dataset.feature]; + } + items = {}; + inputs = {}; + _ref1 = ['boardnav', 'time', 'backlink', 'fileInfo', 'favicon', 'sageEmoji', 'emojiPos', 'usercss']; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + name = _ref1[_j]; + input = $("[name=" + name + "]", section); + items[name] = Conf[name]; + inputs[name] = input; + event = name === 'favicon' || name === 'usercss' || name === 'sageEmoji' || name === 'emojiPos' ? 'change' : 'input'; + $.on(input, event, $.cb.value); + } + ta = $('.personafield', section); + $.get('QR.personas', Conf['QR.personas'], function(item) { + return ta.value = item['QR.personas']; + }); + $.on(ta, 'change', $.cb.value); + $.get(items, function(items) { + var key, val; + for (key in items) { + val = items[key]; + if (key === 'emojiPos') { + continue; + } + input = inputs[key]; + input.value = val; + if (key === 'usercss') { + continue; + } + $.on(input, event, Settings[key]); + Settings[key].call(input); + } + }); + interval = $('input[name="Interval"]', section); + customCSS = $('input[name="Custom CSS"]', section); + interval.value = Conf['Interval']; + customCSS.checked = Conf['Custom CSS']; + inputs['usercss'].disabled = !Conf['Custom CSS']; + $.on(interval, 'change', ThreadUpdater.cb.interval); + $.on(customCSS, 'change', Settings.togglecss); + $.on($.id('apply-css'), 'click', Settings.usercss); + archBoards = {}; + _ref2 = Redirect.archives; + for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { + _ref3 = _ref2[_k], name = _ref3.name, boards = _ref3.boards, files = _ref3.files, software = _ref3.software, withCredentials = _ref3.withCredentials; + for (_l = 0, _len3 = boards.length; _l < _len3; _l++) { + boardID = boards[_l]; + o = archBoards[boardID] || (archBoards[boardID] = { + thread: [[], []], + post: [[], []], + file: [[], []] + }); + i = +(!!withCredentials); + o.thread[i].push(name); + if (software === 'foolfuuka') { + o.post[i].push(name); + } + if (__indexOf.call(files, boardID) >= 0) { + o.file[i].push(name); + } + } + } + for (boardID in archBoards) { + o = archBoards[boardID]; + _ref4 = ['thread', 'post', 'file']; + for (_m = 0, _len4 = _ref4.length; _m < _len4; _m++) { + item = _ref4[_m]; + if (o[item][0].length === 0 && o[item][1].length !== 0) { + o[item][0].push('disabled'); + } + o[item] = o[item][0].concat(o[item][1]); + } + } + rows = []; + boardOptions = []; + _ref5 = Object.keys(archBoards).sort(); + for (_n = 0, _len5 = _ref5.length; _n < _len5; _n++) { + boardID = _ref5[_n]; + row = $.el('tr', { + className: "board-" + boardID + }); + row.hidden = boardID !== g.BOARD.ID; + boardOptions.push($.el('option', { + textContent: "/" + boardID + "/", + value: "board-" + boardID, + selected: boardID === g.BOARD.ID + })); + o = archBoards[boardID]; + _ref6 = ['thread', 'post', 'file']; + for (_o = 0, _len6 = _ref6.length; _o < _len6; _o++) { + item = _ref6[_o]; + $.add(row, Settings.addArchiveCell(boardID, o, item)); + } + rows.push(row); + } + $.add($('tbody', section), rows); + boardSelect = $('#archive-board-select', section); + $.add(boardSelect, boardOptions); + table = $.id('archive-table'); + $.on(boardSelect, 'change', function() { + $('tbody > :not([hidden])', table).hidden = true; + return $("tbody > ." + this.value, table).hidden = false; + }); + $.get('selectedArchives', Conf['selectedArchives'], function(_arg) { + var data, option, selectedArchives, type; + selectedArchives = _arg.selectedArchives; + for (boardID in selectedArchives) { + data = selectedArchives[boardID]; + for (type in data) { + name = data[type]; + if (option = $("select[data-boardid='" + boardID + "'][data-type='" + type + "'] > option[value='" + name + "']", section)) { + option.selected = true; + } + } + } + }); + }, + addArchiveCell: function(boardID, data, type) { + var archive, i, length, options, select, td; + length = data[type].length; + td = $.el('td', { + className: 'archive-cell' + }); + if (!length) { + td.textContent = '--'; + return td; + } + options = []; + i = 0; + while (i < length) { + archive = data[type][i++]; + options.push($.el('option', { + textContent: archive, + value: archive + })); + } + td.innerHTML = ''; + select = td.firstElementChild; + if (!(select.disabled = length === 1)) { + select.setAttribute('data-boardid', boardID); + select.setAttribute('data-type', type); + $.on(select, 'change', Settings.saveSelectedArchive); + } + $.add(select, options); + return td; + }, + saveSelectedArchive: function() { + return $.get('selectedArchives', Conf['selectedArchives'], (function(_this) { + return function(_arg) { + var selectedArchives, _name; + selectedArchives = _arg.selectedArchives; + (selectedArchives[_name = _this.dataset.boardid] || (selectedArchives[_name] = {}))[_this.dataset.type] = _this.value; + return $.set('selectedArchives', selectedArchives); + }; + })(this)); + }, + boardnav: function() { + return Header.generateBoardList(this.value); + }, + time: function() { + return this.nextElementSibling.textContent = Time.format(this.value, new Date()); + }, + backlink: function() { + return this.nextElementSibling.textContent = this.value.replace(/%id/, '123456789'); + }, + fileInfo: function() { + var data; + data = { + isReply: true, + file: { + URL: '//i.4cdn.org/g/1334437723720.jpg', + name: 'd9bb2efc98dd0df141a94399ff5880b7.jpg', + size: '276 KB', + sizeInBytes: 276 * 1024, + dimensions: '1280x720', + isImage: true, + isSpoiler: true + } + }; + return this.nextElementSibling.innerHTML = FileInfo.h_format(this.value, data); + }, + favicon: function() { + var img; + Favicon["switch"](); + if (g.VIEW === 'thread' && Conf['Unread Favicon']) { + Unread.update(); + } + img = this.nextElementSibling.children; + img[0].src = Favicon["default"]; + img[1].src = Favicon.unreadSFW; + img[2].src = Favicon.unreadNSFW; + return img[3].src = Favicon.unreadDead; + }, + sageEmoji: function() { + return this.nextElementSibling.firstElementChild.src = "data:image/png;base64," + Emoji.sage[this.value]; + }, + togglecss: function() { + if ($('textarea[name=usercss]', $.x('ancestor::fieldset[1]', this)).disabled = !this.checked) { + CustomCSS.rmStyle(); + } else { + CustomCSS.addStyle(); + } + return $.cb.checked.call(this); + }, + usercss: function() { + return CustomCSS.update(); + }, + keybinds: function(section) { + var arr, input, inputs, items, key, tbody, tr, _ref; + section.innerHTML = '
Keybinds are disabled.
Allowed keys: a-z, 0-9, Ctrl, Shift, Alt, Meta, Enter, Esc, Up, Down, Right, Left.
Press Backspace to disable a keybind.
ActionsKeybinds
'; + $('.warning', section).hidden = Conf['Keybinds']; + tbody = $('tbody', section); + items = {}; + inputs = {}; + _ref = Config.hotkeys; + for (key in _ref) { + arr = _ref[key]; + tr = $.el('tr', { + innerHTML: '' + }); + tr.firstElementChild.textContent = arr[1]; + input = $('input', tr); + input.name = key; + input.spellcheck = false; + items[key] = Conf[key]; + inputs[key] = input; + $.on(input, 'keydown', Settings.keybind); + $.add(tbody, tr); + } + return $.get(items, function(items) { + var val; + for (key in items) { + val = items[key]; + inputs[key].value = val; + } + }); + }, + keybind: function(e) { + var key; + if (e.keyCode === 9) { + return; + } + e.preventDefault(); + e.stopPropagation(); + if ((key = Keybinds.keyCode(e)) == null) { + return; + } + this.value = key; + return $.cb.value.call(this); + } + }; + + Main = { + init: function() { + var db, flatten, pathname, _i, _len, _ref, _ref1; + g.threads = new SimpleDict; + g.posts = new SimpleDict; + pathname = location.pathname.split('/'); + g.BOARD = new Board(pathname[1]); + if ((_ref = g.BOARD.ID) === 'z' || _ref === 'fk') { + return; + } + g.VIEW = (function() { + switch (pathname[2]) { + case 'res': + case 'thread': + return 'thread'; + case 'catalog': + return 'catalog'; + default: + return 'index'; + } + })(); + if (g.VIEW === 'thread') { + g.THREADID = +pathname[3]; + if (pathname[2] !== 'thread' || pathname.length > 4) { + pathname[2] = 'thread'; + history.replaceState(null, '', pathname.slice(0, 4).join('/') + location.hash); + } + } + flatten = function(parent, obj) { + var key, val; + if (obj instanceof Array) { + Conf[parent] = obj[0]; + } else if (typeof obj === 'object') { + for (key in obj) { + val = obj[key]; + flatten(key, val); + } + } else { + Conf[parent] = obj; + } + }; + flatten(null, Config); + _ref1 = DataBoard.keys; + for (_i = 0, _len = _ref1.length; _i < _len; _i++) { + db = _ref1[_i]; + Conf[db] = { + boards: {} + }; + } + Conf['selectedArchives'] = {}; + Conf['CachedTitles'] = []; + $.get(Conf, function(items) { + $.extend(Conf, items); + return $.asap((function() { + return doc = d.documentElement; + }), Main.initFeatures); + }); + return $.on(d, '4chanMainInit', Main.initStyle); + }, + initFeatures: function() { + var err, feature, name, onReady, _i, _len, _ref, _ref1; + switch (location.hostname) { + case 'a.4cdn.org': + return; + case 'sys.4chan.org': + Report.init(); + return; + case 'i.4cdn.org': + onReady = function() { + var URL, pathname, video, _ref; + if (Conf['404 Redirect'] && ((_ref = d.title) === '4chan - Temporarily Offline' || _ref === '4chan - 404 Not Found')) { + Redirect.init(); + pathname = location.pathname.split('/'); + URL = Redirect.to('file', { + boardID: g.BOARD.ID, + filename: pathname[pathname.length - 1] + }); + if (URL) { + return location.replace(URL); + } + } else if (Conf['Loop in New Tab'] && (video = $('video'))) { + Video.configure(video); + return $.on(video, 'click', function() { + if (!video.controls) { + if (video.paused) { + return video.play(); + } else { + return video.pause(); + } + } + }); + } + }; + $.ready(onReady, true); + return; + } + _ref = Main.features; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + _ref1 = _ref[_i], name = _ref1[0], feature = _ref1[1]; + try { + feature.init(); + } catch (_error) { + err = _error; + Main.handleErrors({ + message: "\"" + name + "\" initialization crashed.", + error: err + }); + } + } + $.on(d, 'AddCallback', Main.addCallback); + return $.ready(Main.initReady); + }, + initStyle: function() { + var _ref; + $.off(d, '4chanMainInit', Main.initStyle); + if (!Main.isThisPageLegit() || $.hasClass(doc, 'fourchan-x')) { + return; + } + if ((_ref = $('link[href*=mobile]', d.head)) != null) { + _ref.disabled = true; + } + $.addClass(doc, 'fourchan-x', 'seaweedchan', g.VIEW, 'blink'); + $.addStyle(Main.css); + return Main.setClass(); + }, + setClass: function() { + var mainStyleSheet, setStyle, style, styleSheets; + if (g.VIEW === 'catalog') { + $.addClass(doc, $.id('base-css').href.match(/catalog_(\w+)/)[1].replace('_new', '').replace(/_+/g, '-')); + return; + } + style = 'yotsuba-b'; + mainStyleSheet = $('link[title=switch]', d.head); + styleSheets = $$('link[rel="alternate stylesheet"]', d.head); + setStyle = function() { + var styleSheet, _i, _len; + $.rmClass(doc, style); + for (_i = 0, _len = styleSheets.length; _i < _len; _i++) { + styleSheet = styleSheets[_i]; + if (styleSheet.href === mainStyleSheet.href) { + style = styleSheet.title.toLowerCase().replace('new', '').trim().replace(/\s+/g, '-'); + break; + } + } + return $.addClass(doc, style); + }; + setStyle(); + if (!mainStyleSheet) { + return; + } + return new MutationObserver(setStyle).observe(mainStyleSheet, { + attributes: true, + attributeFilter: ['href'] + }); + }, + initReady: function() { + var err, href, passLink, styleSelector, _ref; + if ((_ref = d.title) === '4chan - Temporarily Offline' || _ref === '4chan - 404 Not Found') { + if (Conf['404 Redirect'] && g.VIEW === 'thread') { + href = Redirect.to('thread', { + boardID: g.BOARD.ID, + threadID: g.THREADID, + postID: +location.hash.match(/\d+/) + }); + location.replace(href || ("/" + g.BOARD + "/")); + } + return; + } + Main.initStyle(); + if (styleSelector = $.id('styleSelector')) { + passLink = $.el('a', { + textContent: '4chan Pass', + href: 'javascript:;' + }); + $.on(passLink, 'click', function() { + return window.open('//sys.4chan.org/auth', 'This will steal your data.', 'left=0,top=0,width=500,height=255,toolbar=0,resizable=0'); + }); + $.before(styleSelector.previousSibling, [$.tn('['), passLink, $.tn(']\u00A0\u00A0')]); + } + if (!(Conf['JSON Navigation'] && g.VIEW === 'index')) { + Main.initThread(); + } else { + $.event('4chanXInitFinished'); + } + if (!Conf['Show Support Message']) { + return; + } + try { + return localStorage.getItem('4chan-settings'); + } catch (_error) { + err = _error; + return new Notice('warning', 'Cookies need to be enabled on 4chan for 4chan X to operate properly.', 30); + } + }, + initThread: function() { + var board, err, errors, postRoot, posts, thread, threadRoot, threads, _i, _j, _len, _len1, _ref, _ref1; + if (board = $('.board')) { + threads = []; + posts = []; + _ref = $$('.board > .thread', board); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + threadRoot = _ref[_i]; + thread = new Thread(+threadRoot.id.slice(1), g.BOARD); + threads.push(thread); + _ref1 = $$('.thread > .postContainer', threadRoot); + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + postRoot = _ref1[_j]; + try { + posts.push(new Post(postRoot, thread, g.BOARD)); + } catch (_error) { + err = _error; + if (!errors) { + errors = []; + } + errors.push({ + message: "Parsing of Post No." + (postRoot.id.match(/\d+/)) + " failed. Post will be skipped.", + error: err + }); + } + } + } + if (errors) { + Main.handleErrors(errors); + } + Main.callbackNodes(Thread, threads); + Main.callbackNodesDB(Post, posts, function() { + return $.event('4chanXInitFinished'); + }); + } else { + $.event('4chanXInitFinished'); + } + return $.get('previousversion', null, function(_arg) { + var el, previousversion; + previousversion = _arg.previousversion; + if (previousversion === g.VERSION) { + return; + } + if (previousversion) { + el = $.el('span', { + innerHTML: '4chan X has been updated to version 1.7.43.' + }); + new Notice('info', el, 15); + } else { + Settings.open(); + } + return $.set('previousversion', g.VERSION); + }); + }, + callbackNodes: function(klass, nodes) { + var cb, i, node; + i = 0; + cb = klass.callbacks; + while (node = nodes[i++]) { + cb.execute(node); + } + }, + callbackNodesDB: function(klass, nodes, cb) { + var cbs, fn, i, softTask; + i = 0; + cbs = klass.callbacks; + fn = function() { + var node; + if (!(node = nodes[i])) { + return false; + } + cbs.execute(node); + return ++i % 25; + }; + softTask = function() { + while (fn()) { + continue; + } + if (!nodes[i]) { + if (cb) { + cb(); + } + return; + } + return setTimeout(softTask, 0); + }; + return softTask(); + }, + addCallback: function(e) { + var Klass, obj; + obj = e.detail; + if (typeof obj.callback.name !== 'string') { + throw new Error("Invalid callback name: " + obj.callback.name); + } + switch (obj.type) { + case 'Post': + Klass = Post; + break; + case 'Thread': + Klass = Thread; + break; + default: + return; + } + obj.callback.isAddon = true; + return Klass.callbacks.push(obj.callback); + }, + handleErrors: function(errors) { + var div, error, logs, _i, _len; + if (!(errors instanceof Array)) { + error = errors; + } else if (errors.length === 1) { + error = errors[0]; + } + if (error) { + new Notice('error', Main.parseError(error), 15); + return; + } + div = $.el('div', { + innerHTML: "" + (+errors.length) + " errors occurred. [show]" + }); + $.on(div.lastElementChild, 'click', function() { + var _ref; + return _ref = this.textContent === 'show' ? ['hide', false] : ['show', true], this.textContent = _ref[0], logs.hidden = _ref[1], _ref; + }); + logs = $.el('div', { + hidden: true + }); + for (_i = 0, _len = errors.length; _i < _len; _i++) { + error = errors[_i]; + $.add(logs, Main.parseError(error)); + } + return new Notice('error', [div, logs], 30); + }, + parseError: function(data) { + var error, message; + c.error(data.message, data.error.stack); + message = $.el('div', { + textContent: data.message + }); + error = $.el('div', { + textContent: data.error + }); + return [message, error]; + }, + isThisPageLegit: function() { + var _ref; + if (!('thisPageIsLegit' in Main)) { + Main.thisPageIsLegit = location.hostname === 'boards.4chan.org' && !$('link[href*="favicon-status.ico"]', d.head) && ((_ref = d.title) !== '4chan - Temporarily Offline' && _ref !== '4chan - Error' && _ref !== '504 Gateway Time-out'); + } + return Main.thisPageIsLegit; + }, + css: "/*! * Font Awesome 4.0.3 * the iconic font designed for Bootstrap * ------------------------------------------------------------------------------ * The full suite of pictographic icons, examples, and documentation can be * found at http://fontawesome.io. Stay up to date on Twitter at * http://twitter.com/fontawesome. * * License * ------------------------------------------------------------------------------ * - The Font Awesome font is licensed under SIL OFL 1.1 - * http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - * http://opensource.org/licenses/mit-license.html * - Font Awesome documentation licensed under CC BY 3.0 - * http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * \"Font Awesome by Dave Gandy - http://fontawesome.io\" * * Author - Dave Gandy * ------------------------------------------------------------------------------ * Email: dave@fontawesome.io * Twitter: http://twitter.com/davegandy * Work: Lead Product Designer @ Kyruus - http://kyruus.com */ @font-face{font-family:FontAwesome;src:url('data:application/font-woff;base64,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') format('woff');font-weight:400;font-style:normal}.fa::before{font-family:FontAwesome;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased;*margin-right:.3em;text-decoration:inherit;display:none;speak:none} .fa::before {display:inline-block;font-size:13px;visibility:visible} :root:not(.shortcut-icons) #shortcuts .fa::before {display:none} :root.shortcut-icons #shortcuts .fa::before{font-size:15px!important;margin-top:-3px!important;position:relative;top:1px} :root.shortcut-icons #shortcuts .fa, .menu-button .fa{font-size:0;visibility:hidden} :root.shortcut-icons .shortcut.brackets-wrap::after,:root.shortcut-icons .shortcut.brackets-wrap::before{display:none} :root.shortcut-icons #shortcuts a .fa, .menu-button .fa, .hide-reply-button .fa, .hide-thread-button .fa {display:inline} /* Update this line only */ .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-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-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{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:before{content:\"\\f09a\"}.fa-github:before{content:\"\\f09b\"}.fa-unlock:before{content:\"\\f09c\"}.fa-credit-card:before{content:\"\\f09d\"}.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-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-asc:before{content:\"\\f0dd\"}.fa-sort-up:before,.fa-sort-desc: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-reply-all:before{content:\"\\f122\"}.fa-mail-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{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-spin::before{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}\n/* General */ .dialog { border: 1px solid; display: block; } .dialog:not(#qr):not(#thread-watcher):not(#header-bar) { box-shadow: 0 1px 2px rgba(0, 0, 0, .15); } #qr, #thread-watcher { box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.25); } .captcha-img, .field { background-color: #FFF; border: 1px solid #CCC; -moz-box-sizing: border-box; box-sizing: border-box; color: #333; font: 13px sans-serif; outline: none; transition: color .25s, border-color .25s; transition: color .25s, border-color .25s; } .field::-moz-placeholder, .field:hover::-moz-placeholder { color: #AAA !important; font-size: 13px !important; opacity: 1.0 !important; } .captch-img:hover, .field:hover { border-color: #999; } .field:hover, .field:focus { color: #000; } .field[disabled] { background-color: #F2F2F2; color: #888; } .field::-webkit-search-decoration { display: none; } .move { cursor: move; overflow: hidden; } label, .watch-thread-link { cursor: pointer; } a[href=\"javascript:;\"] { text-decoration: none; } .warning { color: red; } #boardNavDesktop, #boardNavMobile { display: none !important; } body.hasDropDownNav{ margin-top: 5px; } a { outline: none !important; } .painted { border-radius: 3px; padding: 0px 2px; } .ad-plea { display: none; } /* 4chan style fixes */ .opContainer, .op { display: block !important; overflow: visible !important; } .reply > .file > .fileText { margin: 0 20px; } .hashlink::before { content: ' '; visibility: hidden; } .inline + .hashlink, [hidden] { display: none !important; } div.center:not(.ad-cnt) { display: none !important; } .page-num { margin-right: -8px; } /* fixed, z-index */ #overlay, #fourchanx-settings, #qp, #ihover, #navlinks, .fixed #header-bar, :root.float #updater, :root.float #thread-stats, #qr { position: fixed; } #fourchanx-settings { z-index: 999; } #overlay { z-index: 900; } #notifications { z-index: 70; } #qp, #ihover { z-index: 60; } #menu { z-index: 50; } #navlinks, #updater, #thread-stats { z-index: 40; } .fixed #header-bar.autohide { z-index: 35; } #qr { z-index: 30; } #thread-watcher { z-index: 8; } :root.fixed-watcher #thread-watcher { z-index: 20; } .fixed #header-bar { z-index: 10; } /* Header */ .fixed.top-header body { padding-top: 2em; } .fixed.bottom-header body { padding-bottom: 2em; } .fixed #header-bar { right: 0; left: 0; padding: 3px 4px 4px; } .fixed.top-header #header-bar { top: 0; } .fixed.bottom-header #header-bar { bottom: 0; } #header-bar { border-width: 0; transition: all .1s .05s ease-in-out; } :root.fixed #header-bar { box-shadow: -5px 1px 10px rgba(0, 0, 0, 0.20); } #custom-board-list .current { padding: 1px 1px 4px 1px; } :root.centered-links #shortcuts { width: 300px; text-align: right; } :root.centered-links #header-bar { text-align: center; } #board-list { font-size: 13px; } :root.centered-links #custom-board-list { position: relative; left: 150px; } .fixed.top-header #header-bar { border-bottom-width: 1px; } .fixed.bottom-header #header-bar { box-shadow: 0 -1px 2px rgba(0, 0, 0, .15); border-top-width: 1px; } .fixed.bottom-header #header-bar .menu-button i { border-top: none; border-bottom: 6px solid; } #board-list { text-align: center; } .fixed #header-bar.autohide:not(:hover) { box-shadow: none; transition: all .8s .6s cubic-bezier(.55, .055, .675, .19); } .fixed.top-header #header-bar.autohide:not(:hover) { margin-bottom: -1em; -webkit-transform: translateY(-100%); transform: translateY(-100%); } .fixed.bottom-header #header-bar.autohide:not(:hover) { -webkit-transform: translateY(100%); transform: translateY(100%); } #scroll-marker { left: 0; right: 0; height: 10px; position: absolute; } :root:not(.autohide) #scroll-marker { pointer-events: none; } #header-bar #scroll-marker { display: none; } .fixed #header-bar #scroll-marker { display: block; } .fixed.top-header #header-bar #scroll-marker { top: 100%; } .fixed.bottom-header #header-bar #scroll-marker { bottom: 100%; } #header-bar a:not(.entry):not(.close) { text-decoration: none; } #header-bar a:not(.entry):not(.close):not(.current) { padding: 1px; } #header-bar input { margin: 0; vertical-align: bottom; } #shortcuts:empty { display: none; } .brackets-wrap::before { content: \"\\00a0[\"; } .brackets-wrap::after { content: \"]\\00a0\"; } .dead-thread, .disabled { opacity: .45; } #shortcuts { float: right; } .shortcut { margin-left: 3px; } #navbotright, #navtopright { display: none; } #toggleMsgBtn { display: none !important; } .current { font-weight: bold; } /* 4chan X link brackets */ .brackets-wrap::before { content: \"[\"; } .brackets-wrap::after { content: \"]\"; } /* Notifications */ #notifications { position: fixed; top: 0; height: 0; text-align: center; right: 0; left: 0; transition: all .8s .6s cubic-bezier(.55, .055, .675, .19); } .fixed.top-header #header-bar #notifications { position: absolute; top: 100%; } .notification { color: #FFF; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, .5); box-shadow: 0 1px 2px rgba(0, 0, 0, .15); border-radius: 2px; margin: 1px auto; width: 500px; max-width: 100%; position: relative; transition: all .25s ease-in-out; } .notification.error { background-color: hsla(0, 100%, 38%, .9); } .notification.warning { background-color: hsla(36, 100%, 38%, .9); } .notification.info { background-color: hsla(200, 100%, 38%, .9); } .notification.success { background-color: hsla(104, 100%, 38%, .9); } .notification a { color: white; } .notification > .close { padding: 7px; top: 0px; right: 5px; position: absolute; } .notification > .fa-times::before { font-size: 11px !important; } .message { -moz-box-sizing: border-box; box-sizing: border-box; padding: 6px 20px; max-height: 200px; width: 100%; overflow: auto; } /* Settings */ :root.fourchan-x body { -moz-box-sizing: border-box; box-sizing: border-box; } #overlay { background-color: rgba(0, 0, 0, .5); top: 0; left: 0; height: 100%; width: 100%; } #fourchanx-settings { -moz-box-sizing: border-box; box-sizing: border-box; box-shadow: 0 0 15px rgba(0, 0, 0, .15); height: 600px; max-height: 100%; width: 900px; max-width: 100%; margin: auto; padding: 3px; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } #fourchanx-settings > nav { padding: 2px 2px 0; height: 15px; } #fourchanx-settings > nav a { text-decoration: underline; } #fourchanx-settings > nav a.close { text-decoration: none; padding: 0 2px; } .section-container { overflow: auto; position: absolute; top: 2.1em; right: 5px; bottom: 5px; left: 5px; padding-right: 5px; } .sections-list { padding: 0 3px; float: left; } .credits { float: right; } .tab-selected { font-weight: 700; } .section-sauce ul, .section-advanced ul { list-style: none; margin: 0; } .section-sauce ul { padding: 8px; } .section-advanced ul { padding: 0px; } .section-sauce li, .section-advanced li { padding-left: 4px; } .section-main label { text-decoration: underline; } .section-filter ul { padding: 0; } .section-filter li { margin: 10px 40px; } .section-filter textarea { height: 500px; } .section-sauce textarea { height: 350px; } .section-advanced .field[name=\"boardnav\"] { width: 100%; } .section-advanced textarea { height: 150px; } .section-advanced .archive-cell { min-width: 160px; text-align: center; } .section-advanced #archive-board-select { position: absolute; } .section-advanced .note { font-size: 0.8em; font-style: italic; margin-left: 10px; } .section-advanced .note code { font-style: normal; font-size: 11px; } .section-keybinds .field { font-family: monospace; } #fourchanx-settings fieldset { border: 1px solid; border-radius: 3px; } #fourchanx-settings legend { font-weight: 700; } #fourchanx-settings textarea { font-family: monospace; min-width: 100%; max-width: 100%; } #fourchanx-settings code { color: #000; background-color: #FFF; padding: 0 2px; } .unscroll { overflow: hidden; } /* Index */ :root.index-loading .navLinks, :root.index-loading .board, :root.index-loading .pagelist, :root.thread .pagelist { display: none; } #index-search { padding-right: 1.5em; width: 100px; transition: color .25s, border-color .25s, width .25s; } #index-search:focus, #index-search[data-searching] { width: 200px; } #index-search-clear { color: gray; margin-left: -1em; } /* ``::-webkit-*'' selectors break selector lists on Firefox. */ #index-search::-webkit-search-cancel-button, #index-search:not([data-searching]) + #index-search-clear { display: none; } .summary { text-decoration: none; } .index .returnlink, .index .bottomlink, .index .navLinksBot, .index .navLinksBot + hr, .thread #index-last-refresh, .thread #index-search-clear, .thread #index-search { display: none; } /* Announcement Hiding */ :root.hide-announcement #globalMessage { display: none; } span.hide-announcement { font-size: 11px; position: relative; bottom: 5px; } .globalMessage, h2, h3 { color: inherit !important; font-size: 13px; font-weight: 100; } /* Unread */ #unread-line { margin: 0; border-color: rgb(255,0,0); } /* Thread Updater */ #updater { background: none; border: none; box-shadow: none; } #updater > .move { padding: 5px 3px 0px; margin-bottom: -3px; } #updater > div:last-child { text-align: center; } #updater input[type=number] { width: 4em; } :root.float #updater { padding: 0px 3px; } .new { color: limegreen; } #update-status.new { margin-right: 5px; } #update-timer { cursor: pointer; } /* Thread Watcher */ #thread-watcher { position: absolute; } #thread-watcher { padding-bottom: 3px; padding-left: 3px; overflow: hidden; white-space: nowrap; min-width: 136px; max-height: 92%; overflow-y: auto; } #thread-watcher .menu-button { bottom: 1px; } :root.fixed-watcher #thread-watcher { position: fixed; } :root:not(.fixed-watcher) #thread-watcher:not(:hover) { max-height: 210px; overflow-y: hidden; } #thread-watcher > .move { padding-top: 3px; } #watched-threads > div { max-width: 250px; overflow: hidden; padding-left: 3px; padding-right: 3px; text-overflow: ellipsis; } #thread-watcher a { text-decoration: none; } #thread-watcher .move>.close { position: absolute; right: 0px; top: 0px; padding: 0px 4px; } .watch-thread-link { padding-top: 18px; width: 18px; height: 0px; display: inline-block; background-repeat: no-repeat; opacity: 0.2; position: relative; top: 1px; } .watch-thread-link.watched { opacity: 1; } /* Thread Stats */ #thread-stats { background: none; border: none; box-shadow: none; } :root.float #post-count, :root.float #file-count { pointer-events: none; } :root.float #thread-stats { padding: 0px 3px; } /* Quote */ .deadlink { text-decoration: none !important; } .backlink.deadlink:not(.forwardlink), .quotelink.deadlink:not(.forwardlink) { text-decoration: underline !important; } .inlined { opacity: .5; } #qp input, .forwarded { display: none; } .quotelink.forwardlink, .backlink.forwardlink { text-decoration: none; border-bottom: 1px dashed; } @supports (text-decoration-style: dashed) or (-moz-text-decoration-style: dashed) { .quotelink.forwardlink, .backlink.forwardlink { text-decoration: underline; -moz-text-decoration-style: dashed; text-decoration-style: dashed; border-bottom: none; } } .filtered { text-decoration: underline line-through; } :root.hide-backlinks .backlink.filtered { display: none; } .inline { border: 1px solid; display: table; margin: 2px 0; } .inline .post { border: 0 !important; background-color: transparent !important; display: table !important; margin: 0 !important; padding: 1px 2px !important; } #qp > .opContainer::after { content: ''; clear: both; display: table; } #qp .post { border: none; margin: 0; padding: 2px 2px 5px; } #qp img { max-height: 80vh; max-width: 50vw; } .qphl { outline: 2px solid rgba(216, 94, 49, .7); } :root.highlight-own .yourPost > .reply, :root.highlight-you .quotesYou > .reply { border-left: 2px solid rgba(221,0,0,.5); } /* Quote Threading */ .threadContainer { margin-left: 20px; border-left: 1px solid rgba(128,128,128,.3); } .threadOP { clear: both; } /* File */ .fileText > span > a:hover .fntrunc, .fileText > span > a:not(:hover) .fnfull, .expanded-image > .post > .file > .fileThumb > img[data-md5] { display: none; } .full-image:not(#ihover) { display: none; } .expanded-image > .post > .file > .fileThumb > .full-image:not(#ihover) { display: inline; } .expanding { opacity: .5; } :root.fit-height .full-image:not(#ihover) { max-height: 100vh; } :root.fit-width .full-image:not(#ihover) { max-width: 100%; } :root.gecko.fit-width .full-image:not(#ihover) { width: 100%; } #ihover { -moz-box-sizing: border-box; box-sizing: border-box; max-height: 100%; max-width: 75%; padding-bottom: 16px; } /* Fappe Tyme */ .fappeTyme .thread > .noFile, .fappeTyme .threadContainer > .noFile { display: none; } /* Werk Tyme */ .werkTyme .post .file { display: none; } /* Index/Reply Navigation */ #navlinks { font-size: 16px; top: 25px; right: 10px; } /* Filter */ .opContainer.filter-highlight { box-shadow: inset 5px 0 rgba(255, 0, 0, .5); } .filter-highlight > .reply { box-shadow: -5px 0 rgba(255, 0, 0, .5); } /* Spoiler text */ :root.reveal-spoilers s { color: white !important; } /* Thread & Reply Hiding */ .hide-thread-button, .hide-reply-button { float: left; margin-right: 4px; padding: 2px; } .hide-thread-button:not(:hover), .hide-reply-button:not(:hover) { opacity: 0.4; } .threadContainer .hide-reply-button { margin-left: 2px !important; position: relative; left: 1px; } .hide-thread-button { margin-top: -1px; } .stub ~ * { display: none !important; } .stub input { display: inline-block; } /* QR */ :root.hide-original-post-form #postForm, :root.hide-original-post-form #togglePostFormLink, :root:not(.catalog) #togglePostFormLink, #qr.autohide:not(.focus):not(:hover):not(:active) > form, .thread #qr select[data-name=thread], #file-n-submit:not(.has-file) #qr-filerm { display: none; } :root:not(.hide-original-post-form):not(.catalog) #postForm { display: table; } #qr select, #dump-button, #url-button, .remove, .captcha-img { cursor: pointer; } #qr { z-index: 20; position: fixed; padding: 1px; border: 1px solid transparent; min-width: 300px; border-radius: 3px 3px 0 0; } #qrtab { border-radius: 3px 3px 0 0; } #qrtab { margin-bottom: 1px; } #qr .close { float: right; padding: 0 3px; } #qr .warning { min-height: 1.6em; vertical-align: middle; padding: 0 1px; border-width: 1px; border-style: solid; } .qr-link-container { text-align: center; } .qr-link-container-bottom { width: 200px; position: absolute; left: -100px; margin-left: 50%; text-align: center; } .qr-link { border-radius: 3px; padding: 6px 10px 5px; font-weight: bold; vertical-align: middle; border-style: solid; border-width: 1px; font-size: 10pt; } .persona { width: 248px; max-width: 100%; min-width: 100%; } #dump-button { width: 10%; margin: 0; margin-right: 4px; font: 13px sans-serif; padding: 1px 0px 2px; opacity: 0.6; } #url-button { width: 10%; margin: 0; margin-right: 4px; font: 13px sans-serif; padding: 1px 0px 2px; opacity: 0.6; } .persona .field:not(#dump) { width: 95px; min-width: 33.3%; max-width: 33.3%; } #qr textarea.field { height: 14.8em; min-height: 9em; } #qr.has-captcha textarea.field { height: 9em; } input.field.tripped:not(:hover):not(:focus) { color: transparent !important; text-shadow: none !important; } #qr textarea { resize: both; } .captcha-img { margin: 0px; text-align: center; background-image: #fff; font-size: 0px; min-height: 59px; min-width: 302px; } .captcha-input{ width: 100%; margin: 1px 0 0; } .captcha-input.error:focus { border-color: rgb(255,0,0) !important; } .field { -moz-box-sizing: border-box; margin: 0px; padding: 2px 4px 3px; } #qr textarea { min-width: 100%; } #qr [type='submit'] { width: 25%; vertical-align: top; } :root.webkit #qr [type='submit'] { height: 24px; } #qr label input[type=\"checkbox\"] { position: relative; top: 2px; } /* Fake File Input */ input#qr-filename { border: none !important; width: 80%; padding: 0px 4px; position: relative; bottom: 1px; background: none !important; } input#qr-filename:not(.edit) { pointer-events: none; } #qr-filename, #qr-filesize, .has-file #qr-no-file { display: none; } #qr-no-file, .has-file #qr-filename, .has-file #qr-filesize { display: inline-block; margin: 0 0 2px; overflow: hidden; text-overflow: ellipsis; vertical-align: top; } #qr-no-file { color: #AAA; padding: 1px 4px; } #qr-filename-container { -moz-box-sizing: border-box; display: inline-block; position: relative; width: 100px; min-width: 74.6%; max-width: 74.6%; margin-right: 0.4%; margin-top: 1px; overflow: hidden; padding: 2px 1px 0; height: 22px; } #qr-filename-container:hover { cursor: text; } #qr-extras-container { position: absolute; right: 0px; } #qr-filerm { margin-right: 3px; z-index: 2; } #file-n-submit { height: 23px; } #qr input[type=file] { visibility: hidden; position: absolute; } /* Thread Select / Spoiler Label */ #qr select[data-name=thread] { float: right; } #qr.has-spoiler .has-file #qr-spoiler-label { width: 6.7%; min-width: 6.7%; max-width: 6.7%; display: inline-block; text-align: center; vertical-align: top; } #qr.has-spoiler #file-n-submit:not(.has-file) #qr-spoiler-label { display: none; } #qr.has-spoiler .has-file #qr-filename-container { max-width: 67.9%; min-width: 67.9%; } #qr-spoiler-label input { position: relative; top: 3px; } /* Dumping UI */ .dump #dump-list-container { display: block; } #dump-list-container { display: none; position: relative; overflow-y: hidden; margin-top: 1px; } #dump-list { overflow-x: auto; overflow-y: hidden; white-space: nowrap; width: 248px; max-width: 100%; min-width: 100%; } #dump-list:hover { overflow-x: auto; } .qr-preview { -moz-box-sizing: border-box; counter-increment: thumbnails; cursor: move; display: inline-block; height: 90px; width: 90px; padding: 2px; opacity: .5; overflow: hidden; position: relative; text-shadow: 0 0 2px #000; -moz-transition: opacity .25s ease-in-out; vertical-align: top; background-size: cover; } .qr-preview:hover, .qr-preview:focus { opacity: .9; } .qr-preview::before { content: counter(thumbnails); color: #fff; position: absolute; top: 3px; right: 3px; text-shadow: 0 0 3px #000, 0 0 8px #000; } .qr-preview#selected { opacity: 1; } .qr-preview.drag { box-shadow: 0 0 10px rgba(0,0,0,.5); } .qr-preview.over { border-color: #fff; } .qr-preview > span { color: #fff; } .remove { background: none; color: #e00; padding: 1px; } a:only-of-type > .remove { display: none; } .remove:hover::after { content: \" Remove\"; } .qr-preview > label { background: rgba(0,0,0,.5); color: #fff; right: 0; bottom: 0; left: 0; position: absolute; text-align: center; } .qr-preview > label > input { margin: 0; } #add-post { cursor: pointer; font-size: 2em; position: absolute; top: 50%; right: 10px; -moz-transform: translateY(-50%); } .textarea { position: relative; } :root.webkit .textarea { margin-bottom: -2px; } #char-count { color: #000; background: hsla(0, 0%, 100%, .5); font-size: 8pt; position: absolute; bottom: 1px; right: 1px; pointer-events: none; } /* Menu */ .menu-button:not(.fa-bars) { display: inline-block; position: relative; cursor: pointer; } .menu-button i { border-top: 6px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; display: inline-block; margin: 2px; vertical-align: middle; } .reply .menu-button, .op .menu-button, #thread-watcher .menu-button { margin-left: -1px !important; position: relative; } .op .menu-button, #thread-watcher .menu-button { top: 1px; } :root.blink .reply .menu-button { position: relative; top: 2px; } :root.blink .op .menu-button, :root.blink #thread-watcher .menu-button { top: 3px; } .menu-button + .container:not(:empty) { margin-left: -5px !important; } #menu { position: fixed; outline: none; } #menu, .submenu { border-radius: 3px; padding-top: 1px; padding-bottom: 3px; } .entry { cursor: pointer; display: block; outline: none; padding: 2px 10px; position: relative; text-decoration: none; white-space: nowrap; min-width: 70px; } .left>.entry.has-submenu { padding-right: 17px !important; } .entry input[type=\"checkbox\"], .entry input[type=\"radio\"] { margin: 0px; position: relative; top: 2px; } .has-submenu::after { content: \"\"; border-left: .5em solid; border-top: .3em solid transparent; border-bottom: .3em solid transparent; display: inline-block; margin: .3em; position: absolute; right: 3px; } .left .has-submenu::after { border-left: 0; border-right: .5em solid; } .submenu { display: none; position: absolute; left: 100%; top: -1px; margin-left: 0px; margin-top: -2px; } .focused > .submenu { display: block; } .imp-exp-result { position: absolute; text-align: center; margin: auto; right: 0px; left: 0px; width: 200px; } .export, .import, .reset { cursor: pointer; text-decoration: none !important; } /* Custom Board Titles */ .boardTitle[contenteditable=\"true\"], .boardSubtitle[contenteditable=\"true\"] { cursor: text !important; } div.boardTitle { font-weight: 400 !important; } /* Link Title Favicons */ .linkify.YouTube { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAYAAABr5z2BAAABIklEQVQoz53LvUrDUBjG8bOoOammSf1IoBSvoCB4JeIqOHgBLt6AIMRBBQelWurQ2kERnMRBsBUcIp5FJSBI5oQsJVkkUHh8W0o5nhaFHvjBgef/Mq+Q46RJBMkI/vE+aOus956tnEswIZe1LV0QyJ5sE2GzgZfVMtRNIdiDpccEssdlB1mW4bvTwdvWJtRdErM7U+8S/FJykCRJX5qm+KpVce8UMNLRLbulz4iSjTAMh6Iowsd5BeNadp3nUF0VlxAEwZBotXC0Usa4ll3meZdA1iguwvf9vpvDA2wvmKgYGtSud8suDB4TyGr2PF49D/vra9jRZ1BVdknMzgwuCGSnZEObwu6sBnVTCHZiaC7BhFx2PKdxUidiAH/4lLo9Mv0DELVs9qsOHXwAAAAASUVORK5CYII=') center left no-repeat!important; padding-left: 18px; } .linkify.Vimeo { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAYFBMVEUAAAAIdZUKh6sLlLkLmr4LmsAMp88NrdYVW3MZj7Acstkrt9s1e5E7vN5EfI9JvdtKwuBijp5kpbl30eiDt8aG1uqRr7qTyNehxM+k4PCy3enB3OTg6Ovv9PXw+fz////L9U5WAAAAAXRSTlMAQObYZgAAAIFJREFUeNplz90OwiAMBWAQpAoyxclkP3je/y0H2AQXz0WT8100rRD6kNI9/cRroemQL3hXhoujZYj4OHoAmBvYGcBISwbWBvfXCrytnIDUQMkbsBpagMA7zhtQdyTFQAmIG7IkYniiZuh3XGsPqoOZkMOJOpAcLqUzNFGGu/57fwc1hgtp0mVSyQAAAABJRU5ErkJggg==') center left no-repeat!important; padding-left: 18px; } .linkify.SoundCloud { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABsklEQVQ4y5WTy2pUQRCGv2rbzDjJeAlIBmOyipGIIJqFEBDElwh4yULGeRFXPoEIBl/AvQ/gC2RnxCAoxijiwks852S6+3dxzslcHJCpTXVX11/Xv0097gLPgVNMJxnQNfX4zsqleWbnpoMf/oa9d988MM9MC/rp+E0a+A0dsVobMNMCOO8B6McRoABJI+A6gJmN3D2A8jgEBCEkSEMBrcrsDAzDWWn3AjgKFaDMmgRqniGFgsaDp1jrLOngDf1XT1D+A1dFc4MKAkkiCVKjjVu7g9+4Rzx4i1u6hjXbuMWr0O5QPNvCu7IaCZwEKQukLGDrm5x8uI0tr6MkiGlkiv7yLfzN+6S5i6QsIMABkEfcxhbWWYMkVAOjxvYAjc3HNHrbKI9VBQBFwF25XQKSBjqIf1YBuAurEMrczgDygD6/x2LCpFLXLUyQ+PoldphhBhYfIX09XU1+Flaukz7uYqs3SHs7cG4BmTsmkBUF9mmXEwa28BNLPaQPLepuNcbGSWQquQC2/Kdcox1FUGkcB0ykck1nA2+wTzMs8stGnP4rbWGw74EuS/GFQWfK7/wF6P4F7fzIAYkdmdEAAAAASUVORK5CYII=') center left no-repeat!important; padding-left: 18px; } .linkify.audio { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAitJREFUOE9jYCAWKJWwavr0KyXWb/FIbDtUFFyzJx6nVofE2Xo5nXsj0rqPNSR0nVkR2Hjmgmfd+U9Otdf+m5Vf/6+SfeU/R9ChVVgNYDRtlfJuuPA/rPfe/4QpD/6nznj0P27Kw/9unff/69Xf+69c/+C/SO7N/0z+OAxgMmmRCe++/r9i3ev/KWvf/vdY8PK/bt/9/wrNV3/IN5y/IVt1YqNg4pGTTP4HsbuA2bhZ2qvpyn+xjIObxAp3VwqlrgngLFyryVy5nhPmZJHANS2cwYexG8BmVC/pWn3hP4NZlzWuQDJI3dIiFnUUuwEsQAOcq87jNcC7fHeLUtJxHF4AGmBWeAavAWH1+1rUUk7giAWjOknllON4DXAs2NEiG4/DBQxAF/CFHfrPYI4jDFSLuJVjNrUJhB/B7gIGo1pJRt99GAZYJK7wLJ1z7Xzl4vu/7aqv/GRBj0bjqAX2qb0nJ7mXH17C4HcUxQA+hymWtSue/C5a9up/9Ozn/7Vr7v1nRY7GqMb91T3b3v6vWvPmf/S0p/9ZQk+DDLCBRSOz06Jqk+o7/21nvfqvsebDf7kZL/5zBaxphkezd+OFn7HzXvz3Wvjmv9a8N//5Ek//ZTBpVYUrMG2X5wjcdl68+uI/wa5Lr3hSNjczGFeywOVZ/bbcVGp//F9izfv/Ql03f3P4LC/HSEQquYwMFnUCDJ7dzBhyjGZNQpye89M5gpfnMvtNUyE2h4PUAQBovvT7lyNljwAAAABJRU5ErkJggg==') center left no-repeat!important; padding-left: 18px; } .linkify.LiveLeak { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAlNJREFUGBkFwU2LVmUYAODrPu8Z5x1xSpRBXQyFoLsBE+wfiO5atJOgnf9DUPwFgtGinUgEaQsRhHYuMtpEiEWuG5iNjuOcj+c8z911xXcXL/68c3Dw1fzhg0QgEQAAEYGUKXFie9vxlSs/xk/rdavjGEkmkWSih65z4osv9GfOiK6LzEyZ2uGh4dUrmzs72ddlUUhkoiMr4PT167589Mh6c1N0nSRlqrX67dat+PDyZXRT19m5edPnt28rGFHxMcJ6d9fprS1/37tneP3aemPD1uamUydPOru3p5DdGOH0tWsu3LhhxIQJM2qEpRT/Pn3q/du3AhARSmvGTH0lplKMrVkiYpVpQaJlighzhDkzhmEA0fcWoqAfyaFW4zTlgCABxlrNmY4ylUzLsiREprFWc0T2M+ZSjKWY0AEaltZUjJixZJIpuk5pTWlNP2BYFvOyKJkCAKU1tTXHrZlqVWolUxdhxsfVSj9FmJfFMM9GdICGGa01HyMstYpMIFPJVNDPmYZSTOPoOEKHzNRlKpmWWh1j6TpLa2SKTKVWU6Z+Qolwdm/P9QcPZKa2LH69e9eIMs+WCL/cv2/98CGZPrt61am+V9APq1X89eyZ/968obVYaiXT4dGREgG+vnPHeHgYMsH2+fP+efEihtVKv7SWw/6+9/v7KYLMhIywTJPamvOXLomukyRsrNf+ePzYkpl9dJ3SWgSCSCQCfz5/7pMLF2yfO6eLiAQcHRz4/cmT+HR7O+Ob3d0fNt69+7a2BiICQCJbA0EgE5lpvbXl1OXL3/8Pfax4+6SjSukAAAAASUVORK5CYII=') center left no-repeat!important; padding-left: 18px; } .linkify.Vocaroo { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAw9JREFUOE9jYMABuMwYmCyTJKUCGlSnFSy02TTzeOyCiQcDViX26qVz2TAyYtWmEMwuoZ3M7V40LcB79pHkc0svpvzY8jD//87nxf+3Pyn8v/ZO8v+VNyP/2mZJumI1QCWSI8232Hjumitlfw5+qPp/9l8TCt76JP//xkdx/wsXWCzjtWFkwTCkbWFe9plPk/+ga4Txz/xt/D/hkN//gMXif21a+NbyWjIwoRiy6GDT5rP/mlFsPfyp5n/NpOj/22+0gMUXXIz/H7hC/L/bFKFbPDZMrHAD5H35OPt2J9zacDv/f3V7xv9FhwrBGubsT/1//Pjx/1GJ/mD+/nfl/1v3Ovy3KRJNQbHdOlXCvOO03/+pm1P/v3v37n90hhtYw9HPtf8Xb2v937cmHswHeWPRxYj/LvkK3igGKARwicTO07118H3V/5kbi/4vPZMJtK3s/6YH2f+Pfq1B8VbjWrdnMu5s4nAD9CNFhKwz5DTUvLl419zKvAcLtG1P84BRl/b/5M/6/6f/NPzf/qzo84yj0Uus0xUU4Zor54bm9+4OfZG02OCuoAMTb9ZkC9ull1Nvrr2Z+XvRpaRfc65H/68F+jl9svEhzyLFWoccWVc+eyTHq/twydjlKRln7jX9bNMkMJnbhoFRL1xCqmKx6/yi2fYXa/c5/e846PV/5fW0/7OPx/yfcjzop34ulxdGGvDuU8mMXaX507lBuiN6ueadmQeT/p/93vf/1O+G//sP5fw/eL3o/5JLif8zVxs+Tlir9S26UyeFQQvJGBE7FvaFZ9LfN+1y+WjbItSb3GmXvXd15v8zroH/HxgE/D+aGPx/18vi/z07PeZNPRKxe/Kh0Ae8toxscCO4zBkYXArk9C1SxJUYjBkYPPIVtbbuTftz3cz//2O9wP/75iSAXdO72/dt2HL5F6YlfBW4MiJYXMiBiW3t7azHBx+V/t89N+H/8a+1//e9K/9attDp5LQjYX8SuvVL8RoAkmxa65299Erq1FnHo0qrl7t4BddriIs4MrM3rfWcFd+pGwVSAwBZ0bKP8yrZPAAAAABJRU5ErkJggg==') center left no-repeat!important; padding-left: 18px; } .linkify.pastebin { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB1FBMVEUAAAAAAAAAAABWYWwAAABbY3BbYm5dZnFdZXJeZnMEBAQHCAhYYGpdZnFdZnBgaHIlJyomKCooKi09QkdESU5eZGtdYmhdYmleY2lrcXdqb3Rqb3Rqb3SSmJ+SlJeWmJutr7GtrrCWm6ChpKhbW1tmZmZvb290dHR3d3d4eHh5eXl6enp8fHx+gIJ/f3+CgoKDg4OEhISFhYWHh4eKioqKjI2Li4uMjIyOjo6Pj4+QkJCRkZGSkpKUlJSVl5mWlpaYmZqZm52ampqbm5ucnJydnZ2enp6fn5+hoaGioqKkpKSkpaalpaWmp6mmp6qnqauoqKioqquoqq2qqqqrrK2srKysra6srrCsrrGurq6vr6+wsLCxsbGysrKztLa0tLS1t7m2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr7AwMDAwsTBwcHExcfFxcXFxsnGxsbHx8fIyMjJycnMzMzNzc3Ozs7O0NLPz8/Q0NDR0dHR09XT09PV1dXV1dbV1tfV19rW1tbX19fX19jY2tzZ2dnZ2tva2tra3N3a3N7c3Nze3t7f39/f4OHg4ODi4uLl5+jm5ubs7Ozs7e3u7u7v7+/v8PDw8PDx8fHy8vLz8/P29vYSoLMZAAAAJHRSTlMABAUGCwsNHCAiLzMzMzZEYGJwgIuOnJycnqmqq9bc3+/w8fkZ0N/uAAAA/klEQVQoU2NgYGDl5YMDdgYGBmZZ3964CYFtIR3e9Q7K/AwMHI55KfaFmcHWMy3K3MwlGRg4wz0zdYpcorRbNbL0LaWAAp3ts2umV8wo6MupTauQBgqUG03VL7W3sfZSb1erAgm02M+yzYrVCXUy6zapAQlUx/dEdyX3J3ZHVUYVywAF8o2rDNN1Go2jzGLMokAC2QbuSc42mXmaOXop9iAtCXrJ5qXWjT59Abl2ESJAAX/tSIMMiyrrqQ3T6uS5gQK6kSqpqkUermGTexQFmYACflqR+hlWZSamzQpCLEDPsSmVVDT1TJw0JUhOAMRnYOARFRMTE5cQF+ZiBPIAII5B3EVG0b4AAAAASUVORK5CYII=') center left no-repeat!important; padding-left: 18px; } .linkify.gist { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABblBMVEXc3NykpKTW1tbb29ugoKCdnZ0AAAACAgIEDRcKCgoMDAwODg4QIzYRDAoTExMUDwwVAg0WICsaEw8aGhoiCBklGxUmERwwKCQ7LSU7Ozs8LSZFLyNINi1JNyxJNy1KSklMOi5VR1FXV1daQTRkZGRseYZwU0F4eHh7dnR8bWV/YE6IdGiKcGCKkJaNgYeNjY2RdGOScWCUcWCZmZmhoaGkpKSoqKirfmaurq6xsbG1tbW6urq+vr7AbmzBb23CwsLGxsbHx8fHyMjJycnJysrMzMzOiYbPi4fQ0NDRoYbT09PU1NTW1tbY2NjZqIzZ2dnb29vd3d3f39/i4uLktZrk5OTl5eXm5ubn5+fo6Ojq6urs7OzttKLu7u7wuqbw8PDx8fHz8/P4+Pj5+fn7uZj8vpz9ya79ybD/tZf/upr/wZ//w6H/xKH/xaL/xrH/yqj/y7T/zqv/z7D/07D/17n/2Lv/2Lz/3L//38n/4Mk3Q/ZuAAAABnRSTlMSFcbGzc5MNKFvAAAA1klEQVQoz2NgYPZHAswMDEwRSclwkBTBxOARn4gE4j0YXBOiJNUDg7y8Ar1UlOITXBkcY73Z2Li42dg42dn4wmIdGeyjQ7nZoEA4PNqewSZKlw0O9KJsGKwjBdl4ZeWkJGQUhNjEIq0ZrMI5+D0ri7Jz8itCRAXCrRgsQ3mUy+xicrPSbfO0REItGSyCVaVL3ONSU9LcCtQUgy0YzIJ85M1LizMzCsv9xF2CzBhMAwN99TV1DI0MtDWcAgNNGUycA5CAswkDi5kDwrMOZiwMjKzGSICVEQDhZj0UQV7PewAAAABJRU5ErkJggg==') center left no-repeat!important; padding-left: 18px; } .linkify.image { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAs5JREFUOE+lk/tvi1EYx98/xT8gW4REIpGFMEQWl2FiM9ZMZhm2xRAyOsmujFFmdFRHu0tWm87UypxStr69zPauN5e5rHVp3IYhbOvHy+wHEQlxkm+ek+d8nm9OznkeSfrfldmgJC7QyUlTymsJTfuTZ25z4HdWYwyLreYhtpgekGPw0+kKvo1Eo+IXRSIiEhkWZuc9tqnsJD9EqTUopCxjSGTpB0iueczSo1HyW8cpsExQ1DbxI2pt45j9cXpexul4FEd79RnZphAa/SD7WvuFtO6UItbU9LC+YQxNI2w0wwYT5LRAdhOU3oBTIXC9gXP3oUSGgz2vST3gYHejR0jptT1C332f8yrUEYHrz8CgxDnpm6DKCUfc0KnmXa/AEVPPwnDcD0cvetA2uYRk67Ive/lpjO7YBO1PPuF8Df3vwf4cbNE4tqdw7YVq8HYyHx6FvhE1hkMEg8HDUqvFkjT4aIjMqkqyqkswDSrcfBfH+Q561YLAZ/B+BLda6FXlU/cPv0AoEPhuoP1h4Av7Wbh9E/Py15NWWUjeSR3nZDfeN+N0DY9hG/7K1eGP3P0S5/EYRFUF/IOTBrUXHPm9fT6mr1xEwupkZqxbzLyiDJYUZ5NSnkdqdSHpxyrYdFpPgdmAsdfJwPMI/Yr65bf7tZLGGBQ7DNdJWFtIYvoOZmbuZE7OXpIKKli86zAr9p9gTVktWTVnKTI2U95uRWe3U2IJUDbVB5p6hVm5x5m9Vc/cnedZUNzC8lILaQesZBy6hEZ3maKzgvJWFzVWD9XtXvVGQbSWASFtMATVRlJIKbOTWtlJXaeXepuPM1f6MNp9GLt8mLvvYLmp0OhQ2Fwvk6m7xaqDTvY0eYWUVtcnllXfYlGpnfklVuraHHg8HjxuN+6fktUHlWWZPaZeUo/ILK0UKttBcbNbSB9GP0yLxWJJUxoZGUn80zD9C/vXQ/4NHY10h3M1zmQAAAAASUVORK5CYII=') center left no-repeat!important; padding-left: 18px; } .linkify.InstallGentoo { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABcVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3dIYAAAAAAAAAAAAbGh4BBAcCBgoBBgoCBwsCCQ/QzucCCA7MyuXZ1eUBBQmTh8fo5/i9svIAAADh3vQAAAACCA0CCQ8CCQ4DDBQbGCUDChDr6vgAAAAAAAAREBIDCxK6tdfe2fTv7/cDCxIDDBQEDRUHDhgMJjXk4PZdXWdLUFoUNEYOKDgSMUMRLUBneI4eTGj08/QmW3onW3rTzvfOx/giU3IiVHMkWHdEaYJobHv3+PokWHpua6TNy9xZgZ+1quz8/foQKj0XPFInWn0nW38tZ4o6fqg8gq48grA9hrU/i7pAhrNAiLdBjLtEjr1FksNIjr5Il8pImMtKWnNqhL97odKFqti5q/q5rPq60+nCt/vLw/vPx/jV0vHY0/rc1/rg2/vh3fzn4fzu6/vx8vf19Pv19Pz49/v5+Pv8/Pv8/fr9/vv+/frziVtUAAAAT3RSTlMABQYHCAoNDhARGRobL0ZOV1xdXV5fYGBmZnB0eX2MjZSaoaGio6mqqqustLq7zubo6Ojo6evt7u/x8fLy9/f4+Pj5+vr6+vr6+/39/v7+XKgUSwAAAMhJREFUKM9jYGDg4OZmZgABKINT1dBAhBHIYFMxMBIDisjbhoZbCTExsCu5hoeY8DEwcOkEx8fY6MqpucTGB0izglVEplcU5/gmRYWBVQDNMK+s0hN3SvMyBpsBNJxXw0NfwTEjVQZqHQMHj5RfWW5mliSEC7TPzK6yJD/bXZQRzGdXcisqLy309okA2Q4Eis4peQWmstqBCdGW/CABraC45ERBBs3A6Fh/AbAKTwsHa34QZW8NVsGuLqwswQSjQICTmYMFQaEDAAF8JHLfKGswAAAAAElFTkSuQmCC') center left no-repeat!important; padding-left: 18px; } .linkify.video { background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAxgDGAP8nNqN7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gMZBjQQLEEqGwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAA5SURBVDjLY2AYaMDIwMDwn1JD/lPCZhpwL+B1wf///ykzgBhDiAoDfIYQZQAjIyP5BuDTPJqQqAQAvW0ZAMk8+EEAAAAASUVORK5CYII=') center left no-repeat!important; padding-left: 18px; } /* Gallery */ #a-gallery { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 30; display: -webkit-flex; -webkit-flex-direction: row; background: rgba(0,0,0,0.7); } .gal-viewport { display: -webkit-flex; -webkit-align-items: stretch; -webkit-flex-direction: row; -webkit-flex: 1 1 auto; } .gal-thumbnails { -webkit-flex: 0 0 150px; overflow-y: auto; display: -webkit-flex; -webkit-flex-direction: column; -webkit-align-items: stretch; text-align: center; background: rgba(0,0,0,.5); border-left: 1px solid #222; } .gal-hide-thumbnails .gal-thumbnails { display: none; } .gal-thumb img { max-width: 125px; max-height: 125px; height: auto; width: auto; } .gal-thumb { -webkit-flex: 0 0 auto; padding: 3px; line-height: 0; transition: background .2s linear; } .gal-highlight { background: rgba(0, 190, 255,.8); } .gal-prev { order: 0; border-right: 1px solid #222; } .gal-next { order: 2; border-left: 1px solid #222; } .gal-prev, .gal-next { -webkit-flex: 0 0 20px; position: relative; cursor: pointer; opacity: 0.7; background-color: rgba(0, 0, 0, 0.3); } .gal-prev:hover, .gal-next:hover { opacity: 1; } .gal-prev::after, .gal-next::after { position: absolute; top: 48.6%; -webkit-transform: translateY(-50%) display: inline-block; border-top: 11px solid transparent; border-bottom: 11px solid transparent; content: \"\"; } .gal-prev::after { border-right: 12px solid #fff; right: 5px; } .gal-next::after { border-left: 12px solid #fff; right: 3px; } .gal-image { order: 1; -webkit-flex: 1 0 auto; display: -webkit-flex; -webkit-align-items: flex-start; -webkit-justify-content: space-around; overflow: hidden; /* Flex > Non-Flex child max-width and overflow fix (Firefox only?) */ width: 1%; } :root:not(.gal-fit-height):not(.gal-pdf) .gal-image { overflow-y: scroll !important; } :root:not(.gal-fit-width):not(.gal-pdf) .gal-image { overflow-x: scroll !important; } .gal-image a { margin: auto; line-height: 0; } :root.gal-pdf .gal-image a { width: 100%; height: 100%; } .gal-fit-width .gal-image img, .gal-fit-width .gal-image video { max-width: 100%; } .gal-fit-height .gal-image img, .gal-fit-height .gal-image video { /* Chrome doesn't support viewpoint units in calc() http://bugs.chromium.org/168840 \"It looks like the original author of viewport units in WebKit is not coming back to fix this stuff.\" Well, fuck. */ max-height: 95vh; max-height: calc(100vh - 25px); } .gal-image iframe { width: 100%; height: 100%; } .gal-buttons { font-size: 2em; margin-right: 3px; padding-left: 7px; padding-right: 7px; top: 5px; } :root.gal-pdf .gal-buttons { top: 40px; background: rgba(0,0,0,0.6) !important; border-radius: 3px; } .gal-buttons i { vertical-align: baseline; border-top-width: .4em; border-right-width: .25em; border-left-width: .25em; } .gal-buttons .menu-button { bottom: 2px; color: #ffffff; text-shadow: 0px 0px 1px #000000; } .gal-close { color: #ffffff; text-shadow: 0px 0px 1px #000000; } .gal-buttons, .gal-name, .gal-count { position: fixed; right: 195px; } .gal-hide-thumbnails .gal-buttons, .gal-hide-thumbnails .gal-count, .gal-hide-thumbnails .gal-name { right: 44px; } .gal-name { bottom: 6px; background: rgba(0,0,0,0.6) !important; border-radius: 3px; padding: 1px 5px 2px 5px; text-decoration: none !important; color: white !important; } .gal-name:hover, .gal-close:hover, .gal-buttons .menu-button:hover { color: rgb(95, 95, 101) !important; } :root.gal-pdf .gal-close:hover, :root.gal-pdf .gal-buttons .menu-button:hover { color: rgb(204, 204, 204) !important; } .gal-count { bottom: 27px; background: rgba(0,0,0,0.6) !important; border-radius: 3px; padding: 1px 5px 2px 5px; color: #ffffff !important; } :root:not(.gal-fit-width):not(.gal-pdf) .gal-name { bottom: 23px !important; } :root:not(.gal-fit-width):not(.gal-pdf) .gal-count { bottom: 44px !important; } :root.gal-fit-height:not(.gal-pdf):not(.gal-hide-thumbnails) .gal-buttons, :root.gal-fit-height:not(.gal-pdf):not(.gal-hide-thumbnails) .gal-name, :root.gal-fit-height:not(.gal-pdf):not(.gal-hide-thumbnails) .gal-count { right: 178px !important; } :root.gal-hide-thumbnails:.gal-fit-height:not(.gal-pdf) .gal-buttons, :root.gal-hide-thumbnails:.gal-fit-height:not(.gal-pdf) .gal-name, :root.gal-hide-thumbnails:.gal-fit-height:not(.gal-pdf) .gal-count { right: 28px !important; } @media screen and (resolution: 1dppx) { .fa-bars { font-size: 14px; } #shortcuts .fa-bars { vertical-align: -1px; } }\n/* General */ :root.yotsuba .dialog { background-color: #F0E0D6; border-color: #D9BFB7; } :root.yotsuba .field:focus { border-color: #EA8; } /* Header */ :root.yotsuba #header-bar.dialog { background-color: rgba(240,224,214,0.98); } :root.yotsuba #header-bar, :root.yotsuba #notifications { font-size: 9pt; color: #B86; } :root.yotsuba #board-list a, :root.yotsuba #shortcuts a { color: #800000; } :root.yotsuba.fixed #custom-board-list a.current { border-bottom: 1px solid rgba(178,0,0,0.2); } :root.yotsuba.fixed #custom-board-list .current:hover { border-bottom-color: rgba(255,0,0,0.2); } /* Settings */ :root.yotsuba #fourchanx-settings fieldset { border-color: #D9BFB7; } /* Quote */ :root.yotsuba .backlink.deadlink { color: #00E !important; } :root.yotsuba .inline { border-color: #D9BFB7; background-color: rgba(255, 255, 255, .14); } /* QR */ .yotsuba #dump-list::-webkit-scrollbar-thumb { background-color: #F0E0D6; border-color: #D9BFB7; } :root.yotsuba .qr-preview { background-color: rgba(0, 0, 0, .15); } :root.yotsuba .qr-link { border-color: rgb(225, 209, 199) rgb(225, 209, 199) rgb(210, 194, 184); background: linear-gradient(#FFEFE5, #F0E0D6) repeat scroll 0% 0% transparent; } :root.yotsuba .qr-link:hover { background: #F0E0D6; } /* Menu */ :root.yotsuba #menu { color: #800000; } :root.yotsuba .entry { font-size: 10pt; } :root.yotsuba .focused.entry { background: rgba(255, 255, 255, .33); } /* Watcher Favicon */ :root.yotsuba .watch-thread-link { background-image: url(\"data:image/svg+xml,\"); } /* Board Title */ :root.yotsuba div.boardTitle { font-family: sans-serif !important; text-shadow: 1px 1px 1px rgba(100,0,0,0.6); }\n/* General */ :root.yotsuba-b .dialog { background-color: #D6DAF0; border-color: #B7C5D9; } :root.yotsuba-b .field:focus { border-color: #98E; } /* Header */ :root.yotsuba-b #header-bar.dialog { background-color: rgba(214,218,240,0.98); } :root.yotsuba-b #header-bar, :root.yotsuba-b #notifications { font-size: 9pt; color: #89A; } :root.yotsuba-b #board-list a, :root.yotsuba-b #shortcuts a { color: #34345C; } :root.yotsuba-b.fixed #custom-board-list .current { border-bottom: 1px solid rgba(30, 30, 255, 0.2); } :root.yotsuba-b.fixed #custom-board-list .current:hover { border-bottom-color: rgba(255,0,0,0.2); } /* Settings */ :root.yotsuba-b #fourchanx-settings fieldset { border-color: #B7C5D9; } /* Quote */ :root.yotsuba-b .backlink.deadlink { color: #34345C !important; } :root.yotsuba-b .inline { border-color: #B7C5D9; background-color: rgba(255, 255, 255, .14); } /* QR */ .yotsuba-b #dump-list::-webkit-scrollbar-thumb { background-color: #D6DAF0; border-color: #B7C5D9; } :root.yotsuba-b .qr-preview { background-color: rgba(0, 0, 0, .15); } :root.yotsuba-b .qr-link { border-color: rgb(199, 203, 225) rgb(199, 203, 225) rgb(184, 188, 210); background: linear-gradient(#E5E9FF, #D6DAF0) repeat scroll 0% 0% transparent; } :root.yotsuba-b .qr-link:hover { background: #D9DDF3; } /* Menu */ :root.yotsuba-b #menu { color: #000; } :root.yotsuba-b .entry { font-size: 10pt; } :root.yotsuba-b .focused.entry { background: rgba(255, 255, 255, .33); } /* Watcher Favicon */ :root.yotsuba-b .watch-thread-link { background-image: url(\"data:image/svg+xml,\"); } /* Board Title */ :root.yotsuba-b div.boardTitle { font-family: sans-serif !important; text-shadow: 1px 1px 1px rgba(105,10,15,0.6); }\n/* General */ :root.futaba .dialog { background-color: #F0E0D6; border-color: #D9BFB7; } :root.futaba .field:focus { border-color: #EA8; } /* Header */ :root.futaba #header-bar.dialog { background-color: rgba(240,224,214,0.98); } :root.futaba #header-bar, :root.futaba #notifications { font-size: 11pt; color: #B86; } :root.futaba #header-bar a, :root.futaba #notifications a { color: #800000; } :root.futaba.fixed #custom-board-list a.current { border-bottom: 1px solid rgba(178,0,0,0.2); } :root.futaba.fixed #custom-board-list .current:hover { border-bottom-color: rgba(255,0,0,0.2); } /* Settings */ :root.futaba #fourchanx-settings fieldset { border-color: #D9BFB7; } /* Quote */ :root.futaba .backlink.deadlink { color: #00E !important; } :root.futaba .inline { border-color: #D9BFB7; background-color: rgba(255, 255, 255, .14); } /* QR */ .futaba #dump-list::-webkit-scrollbar-thumb { background-color: #F0E0D6; border-color: #D9BFB7; } :root.futaba .qr-preview { background-color: rgba(0, 0, 0, .15); } :root.futaba .qr-link { border-color: rgb(225, 209, 199) rgb(225, 209, 199) rgb(210, 194, 184); background: linear-gradient(#FFEFE5, #F0E0D6) repeat scroll 0% 0% transparent; } :root.futaba .qr-link:hover { background: #F0E0D6; } /* Menu */ :root.futaba #menu { color: #800000; } :root.futaba .entry { font-size: 12pt; } :root.futaba .focused.entry { background: rgba(255, 255, 255, .33); } /* Watcher Favicon */ :root.futaba .watch-thread-link { background-image: url(\"data:image/svg+xml,\"); }\n/* General */ :root.burichan .dialog { background-color: #D6DAF0; border-color: #B7C5D9; } :root.burichan .field:focus { border-color: #98E; } /* Header */ :root.burichan #header-bar.dialog { background-color: rgba(214,218,240,0.98); } :root.burichan #header-bar, :root.burichan #header-bar #notifications { font-size: 11pt; color: #89A; } :root.burichan #header-bar a, :root.burichan #header-bar #notifications a { color: #34345C; } :root.burichan.fixed #custom-board-list .current { border-bottom: 1px solid rgba(30, 30, 255, 0.2); } :root.burichan.fixed #custom-board-list .current:hover { border-bottom-color: rgba(255,0,0,0.2); } /* Settings */ :root.burichan #fourchanx-settings fieldset { border-color: #B7C5D9; } /* Quote */ :root.burichan .backlink.deadlink { color: #34345C !important; } :root.burichan .inline { border-color: #B7C5D9; background-color: rgba(255, 255, 255, .14); } /* QR */ .burichan #dump-list::-webkit-scrollbar-thumb { background-color: #D6DAF0; border-color: #B7C5D9; } :root.burichan .qr-preview { background-color: rgba(0, 0, 0, .15); } :root.burichan .qr-link { border-color: rgb(199, 203, 225) rgb(199, 203, 225) rgb(184, 188, 210); background: linear-gradient(#E5E9FF, #D6DAF0) repeat scroll 0% 0% transparent; } :root.burichan .qr-link:hover { background: #D9DDF3; } /* Menu */ :root.burichan #menu { color: #000000; } :root.burichan .entry { font-size: 12pt; } :root.burichan .focused.entry { background: rgba(255, 255, 255, .33); } /* Watcher Favicon */ :root.burichan .watch-thread-link { background-image: url(\"data:image/svg+xml,\"); }\n/* General */ :root.tomorrow .dialog { background-color: #282A2E; border-color: #111; } /* Header */ :root.tomorrow #header-bar.dialog { background-color: rgba(40,42,46,0.9); } :root.tomorrow #header-bar, :root.tomorrow #notifications { font-size: 9pt; color: #C5C8C6; } :root.tomorrow #header-bar a, :root.tomorrow #notifications a { color: #81A2BE; } :root.tomorrow.fixed #custom-board-list a.current { border-bottom: 1px solid rgba(83,124,160,0.4); } :root.tomorrow.fixed #custom-board-list .current:hover { border-bottom-color: rgba(95,137,172,0.4); } /* Settings */ :root.tomorrow #fourchanx-settings fieldset { border-color: #111; } /* Quote */ :root.tomorrow .backlink.deadlink { color: #81A2BE !important; } :root.tomorrow .inline { border-color: #111; background-color: rgba(0, 0, 0, .14); } /* QR */ .tomorrow #dump-list::-webkit-scrollbar-thumb { background-color: #282A2E; border-color: #111; } :root.tomorrow .qr-preview { background-color: rgba(255, 255, 255, .15); } :root.tomorrow #qr .field { background-color: rgb(26, 27, 29); color: rgb(197,200,198); border-color: rgb(40, 41, 42); } :root.tomorrow #qr .field:focus { border-color: rgb(129, 162, 190) !important; background-color: rgb(30,32,36); } :root.tomorrow .qr-link { border-color: rgb(25, 27, 31) rgb(25, 27, 31) rgb(10, 12, 16); background: linear-gradient(#37393D, #282A2E) repeat scroll 0% 0% transparent; } :root.tomorrow .qr-link:hover { background: #282A2E; } /* Menu */ :root.tomorrow #menu { color: #C5C8C6; } :root.tomorrow .entry { font-size: 10pt; } :root.tomorrow .focused.entry { background: rgba(0, 0, 0, .33); } /* Watcher Favicon */ :root.tomorrow .watch-thread-link { background-image: url(\"data:image/svg+xml,\"); } /* Board Title */ :root.tomorrow div.boardTitle { font-family: sans-serif !important; text-shadow: 1px 1px 1px rgba(167,170,168,0.6); }\n/* General */ :root.photon .dialog { background-color: #DDD; border-color: #CCC; } :root.photon .field:focus { border-color: #EA8; } /* Header */ :root.photon #header-bar.dialog { background-color: rgba(221,221,221,0.98); } :root.photon #header-bar, :root.photon #notifications { font-size: 9pt; color: #333; } :root.photon #header-bar a, :root.photon #notifications a { color: #FF6600; } :root.photon.fixed #custom-board-list a.current { border-bottom: 1px solid rgba(0,74,153,0.2); } :root.photon.fixed #custom-board-list .current:hover { border-bottom-color: rgba(255,51,0,0.2); } /* Settings */ :root.photon #fourchanx-settings fieldset { border-color: #CCC; } /* Quote */ :root.photon .backlink.deadlink { color: #F60 !important; } :root.photon .inline { border-color: #CCC; background-color: rgba(255, 255, 255, .14); } /* QR */ .photon #dump-list::-webkit-scrollbar-thumb { background-color: #DDD; border-color: #CCC; } :root.photon .qr-preview { background-color: rgba(0, 0, 0, .15); } :root.photon .qr-link { border-color: rgb(206, 206, 206) rgb(206, 206, 206) rgb(191, 191, 191); background: linear-gradient(#ECECEC, #DDD) repeat scroll 0% 0% transparent; } :root.photon .qr-link:hover { background: #DDDDDD; } /* Menu */ :root.photon #menu { color: #333; } :root.photon .entry { font-size: 10pt; } :root.photon .focused.entry { background: rgba(255, 255, 255, .33); } /* Watcher Favicon */ :root.photon .watch-thread-link { background-image: url(\"data:image/svg+xml,\"); } /* Board Title */ :root.photon div.boardTitle { font-family: sans-serif !important; text-shadow: 1px 1px 1px rgba(0,74,153,0.6); }", + features: [['Polyfill', Polyfill], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Emoji', Emoji], ['Color User IDs', IDColor], ['Custom CSS', CustomCSS], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Quick Reply', QR], ['Menu', Menu], ['Report Link', ReportLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Thread Excerpt', ThreadExcerpt], ['Favicon', Favicon], ['Unread', Unread], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Show Dice Roll', Dice], ['Banner', Banner], ['Navigate', Navigate]] + }; + + Main.init(); + +}).call(this); diff --git a/package.json b/package.json index 150d2780d..5e5daba40 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "4chan-X", - "version": "1.7.42", + "version": "1.7.43", "description": "Cross-browser userscript for maximum lurking on 4chan.", "meta": { "name": "4chan X",