gitextract_5sz25wk4/ ├── .editorconfig ├── .gitignore ├── LICENSE.md ├── README.md ├── build/ │ └── icon.icns ├── docs/ │ ├── .bowerrc │ ├── CNAME │ ├── assets/ │ │ ├── bower_components/ │ │ │ ├── bootstrap/ │ │ │ │ ├── .bower.json │ │ │ │ ├── Gruntfile.js │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── bower.json │ │ │ │ ├── dist/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ │ └── bootstrap.css │ │ │ │ │ └── js/ │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ └── npm.js │ │ │ │ ├── grunt/ │ │ │ │ │ ├── .jshintrc │ │ │ │ │ ├── bs-commonjs-generator.js │ │ │ │ │ ├── bs-glyphicons-data-generator.js │ │ │ │ │ ├── bs-lessdoc-parser.js │ │ │ │ │ ├── bs-raw-files-generator.js │ │ │ │ │ ├── configBridge.json │ │ │ │ │ └── sauce_browsers.yml │ │ │ │ ├── js/ │ │ │ │ │ ├── .jscsrc │ │ │ │ │ ├── .jshintrc │ │ │ │ │ ├── affix.js │ │ │ │ │ ├── alert.js │ │ │ │ │ ├── button.js │ │ │ │ │ ├── carousel.js │ │ │ │ │ ├── collapse.js │ │ │ │ │ ├── dropdown.js │ │ │ │ │ ├── modal.js │ │ │ │ │ ├── popover.js │ │ │ │ │ ├── scrollspy.js │ │ │ │ │ ├── tab.js │ │ │ │ │ ├── tooltip.js │ │ │ │ │ └── transition.js │ │ │ │ ├── less/ │ │ │ │ │ ├── .csscomb.json │ │ │ │ │ ├── .csslintrc │ │ │ │ │ ├── alerts.less │ │ │ │ │ ├── badges.less │ │ │ │ │ ├── bootstrap.less │ │ │ │ │ ├── breadcrumbs.less │ │ │ │ │ ├── button-groups.less │ │ │ │ │ ├── buttons.less │ │ │ │ │ ├── carousel.less │ │ │ │ │ ├── close.less │ │ │ │ │ ├── code.less │ │ │ │ │ ├── component-animations.less │ │ │ │ │ ├── dropdowns.less │ │ │ │ │ ├── forms.less │ │ │ │ │ ├── glyphicons.less │ │ │ │ │ ├── grid.less │ │ │ │ │ ├── input-groups.less │ │ │ │ │ ├── jumbotron.less │ │ │ │ │ ├── labels.less │ │ │ │ │ ├── list-group.less │ │ │ │ │ ├── media.less │ │ │ │ │ ├── mixins/ │ │ │ │ │ │ ├── alerts.less │ │ │ │ │ │ ├── background-variant.less │ │ │ │ │ │ ├── border-radius.less │ │ │ │ │ │ ├── buttons.less │ │ │ │ │ │ ├── center-block.less │ │ │ │ │ │ ├── clearfix.less │ │ │ │ │ │ ├── forms.less │ │ │ │ │ │ ├── gradients.less │ │ │ │ │ │ ├── grid-framework.less │ │ │ │ │ │ ├── grid.less │ │ │ │ │ │ ├── hide-text.less │ │ │ │ │ │ ├── image.less │ │ │ │ │ │ ├── labels.less │ │ │ │ │ │ ├── list-group.less │ │ │ │ │ │ ├── nav-divider.less │ │ │ │ │ │ ├── nav-vertical-align.less │ │ │ │ │ │ ├── opacity.less │ │ │ │ │ │ ├── pagination.less │ │ │ │ │ │ ├── panels.less │ │ │ │ │ │ ├── progress-bar.less │ │ │ │ │ │ ├── reset-filter.less │ │ │ │ │ │ ├── resize.less │ │ │ │ │ │ ├── responsive-visibility.less │ │ │ │ │ │ ├── size.less │ │ │ │ │ │ ├── tab-focus.less │ │ │ │ │ │ ├── table-row.less │ │ │ │ │ │ ├── text-emphasis.less │ │ │ │ │ │ ├── text-overflow.less │ │ │ │ │ │ └── vendor-prefixes.less │ │ │ │ │ ├── mixins.less │ │ │ │ │ ├── modals.less │ │ │ │ │ ├── navbar.less │ │ │ │ │ ├── navs.less │ │ │ │ │ ├── normalize.less │ │ │ │ │ ├── pager.less │ │ │ │ │ ├── pagination.less │ │ │ │ │ ├── panels.less │ │ │ │ │ ├── popovers.less │ │ │ │ │ ├── print.less │ │ │ │ │ ├── progress-bars.less │ │ │ │ │ ├── responsive-embed.less │ │ │ │ │ ├── responsive-utilities.less │ │ │ │ │ ├── scaffolding.less │ │ │ │ │ ├── tables.less │ │ │ │ │ ├── theme.less │ │ │ │ │ ├── thumbnails.less │ │ │ │ │ ├── tooltip.less │ │ │ │ │ ├── type.less │ │ │ │ │ ├── utilities.less │ │ │ │ │ ├── variables.less │ │ │ │ │ └── wells.less │ │ │ │ ├── package.js │ │ │ │ └── package.json │ │ │ ├── jquery/ │ │ │ │ ├── .bower.json │ │ │ │ ├── MIT-LICENSE.txt │ │ │ │ ├── bower.json │ │ │ │ ├── dist/ │ │ │ │ │ └── jquery.js │ │ │ │ └── src/ │ │ │ │ ├── ajax/ │ │ │ │ │ ├── jsonp.js │ │ │ │ │ ├── load.js │ │ │ │ │ ├── parseJSON.js │ │ │ │ │ ├── parseXML.js │ │ │ │ │ ├── script.js │ │ │ │ │ ├── var/ │ │ │ │ │ │ ├── nonce.js │ │ │ │ │ │ └── rquery.js │ │ │ │ │ └── xhr.js │ │ │ │ ├── ajax.js │ │ │ │ ├── attributes/ │ │ │ │ │ ├── attr.js │ │ │ │ │ ├── classes.js │ │ │ │ │ ├── prop.js │ │ │ │ │ ├── support.js │ │ │ │ │ └── val.js │ │ │ │ ├── attributes.js │ │ │ │ ├── callbacks.js │ │ │ │ ├── core/ │ │ │ │ │ ├── access.js │ │ │ │ │ ├── init.js │ │ │ │ │ ├── parseHTML.js │ │ │ │ │ ├── ready.js │ │ │ │ │ └── var/ │ │ │ │ │ └── rsingleTag.js │ │ │ │ ├── core.js │ │ │ │ ├── css/ │ │ │ │ │ ├── addGetHookIf.js │ │ │ │ │ ├── curCSS.js │ │ │ │ │ ├── defaultDisplay.js │ │ │ │ │ ├── hiddenVisibleSelectors.js │ │ │ │ │ ├── support.js │ │ │ │ │ ├── swap.js │ │ │ │ │ └── var/ │ │ │ │ │ ├── cssExpand.js │ │ │ │ │ ├── getStyles.js │ │ │ │ │ ├── isHidden.js │ │ │ │ │ ├── rmargin.js │ │ │ │ │ └── rnumnonpx.js │ │ │ │ ├── css.js │ │ │ │ ├── data/ │ │ │ │ │ ├── Data.js │ │ │ │ │ ├── accepts.js │ │ │ │ │ └── var/ │ │ │ │ │ ├── data_priv.js │ │ │ │ │ └── data_user.js │ │ │ │ ├── data.js │ │ │ │ ├── deferred.js │ │ │ │ ├── deprecated.js │ │ │ │ ├── dimensions.js │ │ │ │ ├── effects/ │ │ │ │ │ ├── Tween.js │ │ │ │ │ └── animatedSelector.js │ │ │ │ ├── effects.js │ │ │ │ ├── event/ │ │ │ │ │ ├── ajax.js │ │ │ │ │ ├── alias.js │ │ │ │ │ └── support.js │ │ │ │ ├── event.js │ │ │ │ ├── exports/ │ │ │ │ │ ├── amd.js │ │ │ │ │ └── global.js │ │ │ │ ├── intro.js │ │ │ │ ├── jquery.js │ │ │ │ ├── manipulation/ │ │ │ │ │ ├── _evalUrl.js │ │ │ │ │ ├── support.js │ │ │ │ │ └── var/ │ │ │ │ │ └── rcheckableType.js │ │ │ │ ├── manipulation.js │ │ │ │ ├── offset.js │ │ │ │ ├── outro.js │ │ │ │ ├── queue/ │ │ │ │ │ └── delay.js │ │ │ │ ├── queue.js │ │ │ │ ├── selector-native.js │ │ │ │ ├── selector-sizzle.js │ │ │ │ ├── selector.js │ │ │ │ ├── serialize.js │ │ │ │ ├── sizzle/ │ │ │ │ │ └── dist/ │ │ │ │ │ └── sizzle.js │ │ │ │ ├── traversing/ │ │ │ │ │ ├── findFilter.js │ │ │ │ │ └── var/ │ │ │ │ │ └── rneedsContext.js │ │ │ │ ├── traversing.js │ │ │ │ ├── var/ │ │ │ │ │ ├── arr.js │ │ │ │ │ ├── class2type.js │ │ │ │ │ ├── concat.js │ │ │ │ │ ├── hasOwn.js │ │ │ │ │ ├── indexOf.js │ │ │ │ │ ├── pnum.js │ │ │ │ │ ├── push.js │ │ │ │ │ ├── rnotwhite.js │ │ │ │ │ ├── slice.js │ │ │ │ │ ├── strundefined.js │ │ │ │ │ ├── support.js │ │ │ │ │ └── toString.js │ │ │ │ └── wrap.js │ │ │ ├── jquery-bez/ │ │ │ │ ├── .bower.json │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ └── bower.json │ │ │ └── markdown-it/ │ │ │ ├── .bower.json │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bin/ │ │ │ │ └── markdown-it.js │ │ │ ├── bower.json │ │ │ ├── dist/ │ │ │ │ └── markdown-it.js │ │ │ └── package.json │ │ ├── css/ │ │ │ ├── bootstrap.css │ │ │ └── style.css │ │ └── js/ │ │ └── download-buttons.js │ ├── bower.json │ ├── index.html │ └── password/ │ └── index.html ├── gulpfile.js ├── package.json ├── src/ │ ├── assets/ │ │ ├── icon.icns │ │ └── notification.ogg │ ├── package.json │ ├── tc-main/ │ │ ├── lib/ │ │ │ └── squirrel-startup.js │ │ └── main.js │ └── tc-renderer/ │ ├── app.css │ ├── index.html │ ├── lib/ │ │ ├── api.js │ │ ├── authentication.js │ │ ├── auto-updater.js │ │ ├── backlog.js │ │ ├── channels.js │ │ ├── chatters.js │ │ ├── colors.js │ │ ├── constants.js │ │ ├── data/ │ │ │ ├── emojis.js │ │ │ └── replacements.json │ │ ├── emotes/ │ │ │ ├── bttv.js │ │ │ ├── ffz.js │ │ │ ├── menu.js │ │ │ └── twitch.js │ │ ├── startup/ │ │ │ ├── always-on-top.js │ │ │ ├── angular-stuff.js │ │ │ ├── app-zoom.js │ │ │ ├── change-mac-background-color.js │ │ │ ├── commandline.js │ │ │ ├── disable-drag-drop.js │ │ │ ├── enable-dev-tools.js │ │ │ ├── enable-menu-on-mac.js │ │ │ ├── icon-font.js │ │ │ ├── keep-channels-on-backlog.js │ │ │ ├── keep-title-updated.js │ │ │ ├── keybinds.js │ │ │ ├── prevent-page-navigation.js │ │ │ └── tray-icon.js │ │ ├── transforms/ │ │ │ ├── add-bit-gifs.js │ │ │ ├── add-emotes-as-images.js │ │ │ ├── add-links.js │ │ │ ├── capitalize.js │ │ │ ├── escape.js │ │ │ ├── pretty-chatter-names.js │ │ │ ├── process-message.js │ │ │ ├── replace-phrases.js │ │ │ └── unescape.js │ │ ├── user-ids.js │ │ └── util.js │ ├── ng/ │ │ ├── app.js │ │ ├── components/ │ │ │ ├── add-channel/ │ │ │ │ ├── add-channel.js │ │ │ │ ├── add-channel.pug │ │ │ │ └── add-channel.styl │ │ │ ├── chat-input/ │ │ │ │ ├── chat-input.js │ │ │ │ ├── chat-input.pug │ │ │ │ └── chat-input.styl │ │ │ ├── chat-output/ │ │ │ │ ├── bttv-seasonal-emotes.styl │ │ │ │ ├── chat-output.js │ │ │ │ ├── chat-output.pug │ │ │ │ └── chat-output.styl │ │ │ ├── chat-tabs/ │ │ │ │ ├── chat-tabs.js │ │ │ │ ├── chat-tabs.pug │ │ │ │ └── chat-tabs.styl │ │ │ ├── chatters/ │ │ │ │ ├── chatters.js │ │ │ │ ├── chatters.pug │ │ │ │ └── chatters.styl │ │ │ ├── chatters-tabs/ │ │ │ │ ├── chatters-tabs.js │ │ │ │ ├── chatters-tabs.pug │ │ │ │ └── chatters-tabs.styl │ │ │ ├── emote-menu/ │ │ │ │ ├── emote-menu.js │ │ │ │ ├── emote-menu.pug │ │ │ │ └── emote-menu.styl │ │ │ ├── login/ │ │ │ │ ├── login.js │ │ │ │ ├── login.pug │ │ │ │ └── login.styl │ │ │ ├── settings-panel/ │ │ │ │ ├── settings-gui-dialog.pug │ │ │ │ ├── settings-gui-dialog.styl │ │ │ │ ├── settings-panel.js │ │ │ │ ├── settings-panel.pug │ │ │ │ └── settings-panel.styl │ │ │ ├── side-toolbar/ │ │ │ │ ├── side-toolbar.js │ │ │ │ ├── side-toolbar.pug │ │ │ │ └── side-toolbar.styl │ │ │ ├── thumbnail/ │ │ │ │ ├── thumbnail.js │ │ │ │ ├── thumbnail.pug │ │ │ │ └── thumbnail.styl │ │ │ └── user-panel/ │ │ │ ├── user-panel.js │ │ │ ├── user-panel.pug │ │ │ └── user-panel.styl │ │ ├── directives/ │ │ │ ├── auto-focus.directive.js │ │ │ ├── bind-html-compile.directive.js │ │ │ ├── href-external.directive.js │ │ │ └── tab-completion.directive.js │ │ └── providers/ │ │ ├── emotes-twitch.js │ │ ├── highlights.js │ │ ├── irc.js │ │ ├── manifest.js │ │ ├── messages.js │ │ ├── notifications.js │ │ ├── open-external.js │ │ ├── session.js │ │ ├── settings-gui.js │ │ ├── settings.js │ │ └── store.js │ ├── renderer.js │ ├── store/ │ │ ├── index.js │ │ ├── loadPlugins.js │ │ ├── modules/ │ │ │ └── settings/ │ │ │ ├── default-settings.js │ │ │ ├── load-settings-from-disk.js │ │ │ ├── settings-file-path.js │ │ │ ├── settings-store.js │ │ │ └── validate-settings.js │ │ ├── plugins/ │ │ │ ├── keep-settings-updated-on-disk.js │ │ │ └── log-store-changes.js │ │ └── rootStore.js │ └── themes/ │ └── dark.css └── webpack.config.js