[
  {
    "path": ".aliases",
    "content": "#!/usr/bin/env bash\n\n# Easier navigation: .., ..., ...., ....., ~ and -\nalias ..=\"cd ..\"\nalias ...=\"cd ../..\"\nalias ....=\"cd ../../..\"\nalias .....=\"cd ../../../..\"\nalias ~=\"cd ~\" # `cd` is probably faster to type though\nalias -- -=\"cd -\"\n\n# Shortcuts\nalias d=\"cd ~/Documents/Dropbox\"\nalias dl=\"cd ~/Downloads\"\nalias dt=\"cd ~/Desktop\"\nalias p=\"cd ~/projects\"\nalias g=\"git\"\n\n# Detect which `ls` flavor is in use\nif ls --color > /dev/null 2>&1; then # GNU `ls`\n\tcolorflag=\"--color\"\n\texport LS_COLORS='no=00:fi=00:di=01;31:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'\nelse # macOS `ls`\n\tcolorflag=\"-G\"\n\texport LSCOLORS='BxBxhxDxfxhxhxhxhxcxcx'\nfi\n\n# List all files colorized in long format\nalias l=\"ls -lF ${colorflag}\"\n\n# List all files colorized in long format, excluding . and ..\nalias la=\"ls -lAF ${colorflag}\"\n\n# List only directories\nalias lsd=\"ls -lF ${colorflag} | grep --color=never '^d'\"\n\n# Always use color output for `ls`\nalias ls=\"command ls ${colorflag}\"\n\n# Always enable colored `grep` output\n# Note: `GREP_OPTIONS=\"--color=auto\"` is deprecated, hence the alias usage.\nalias grep='grep --color=auto'\nalias fgrep='fgrep --color=auto'\nalias egrep='egrep --color=auto'\n\n# Enable aliases to be sudo’ed\nalias sudo='sudo '\n\n# Get week number\nalias week='date +%V'\n\n# Get macOS Software Updates, and update installed Ruby gems, Homebrew, npm, and their installed packages\nalias update='sudo softwareupdate -i -a; brew update; brew upgrade; brew cleanup; npm install npm -g; npm update -g; sudo gem update --system; sudo gem update; sudo gem cleanup'\n\n# Google Chrome\nalias chrome='/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome'\nalias canary='/Applications/Google\\ Chrome\\ Canary.app/Contents/MacOS/Google\\ Chrome\\ Canary'\n\n# IP addresses\nalias ip=\"dig +short myip.opendns.com @resolver1.opendns.com\"\nalias localip=\"ipconfig getifaddr en0\"\nalias ips=\"ifconfig -a | grep -o 'inet6\\? \\(addr:\\)\\?\\s\\?\\(\\(\\([0-9]\\+\\.\\)\\{3\\}[0-9]\\+\\)\\|[a-fA-F0-9:]\\+\\)' | awk '{ sub(/inet6? (addr:)? ?/, \\\"\\\"); print }'\"\n\n# Show active network interfaces\nalias ifactive=\"ifconfig | pcregrep -M -o '^[^\\t:]+:([^\\n]|\\n\\t)*status: active'\"\n\n# Flush Directory Service cache\nalias flush=\"dscacheutil -flushcache && killall -HUP mDNSResponder\"\n\n# Clean up LaunchServices to remove duplicates in the “Open With” menu\nalias lscleanup=\"/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder\"\n\n# Canonical hex dump; some systems have this symlinked\ncommand -v hd > /dev/null || alias hd=\"hexdump -C\"\n\n# macOS has no `md5sum`, so use `md5` as a fallback\ncommand -v md5sum > /dev/null || alias md5sum=\"md5\"\n\n# macOS has no `sha1sum`, so use `shasum` as a fallback\ncommand -v sha1sum > /dev/null || alias sha1sum=\"shasum\"\n\n# JavaScriptCore REPL\njscbin=\"/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc\";\n[ -e \"${jscbin}\" ] && alias jsc=\"${jscbin}\";\nunset jscbin;\n\n# Trim new lines and copy to clipboard\nalias c=\"tr -d '\\n' | pbcopy\"\n\n# Recursively delete `.DS_Store` files\nalias cleanup=\"find . -type f -name '*.DS_Store' -ls -delete\"\n\n# Empty the Trash on all mounted volumes and the main HDD.\n# Also, clear Apple’s System Logs to improve shell startup speed.\n# Finally, clear download history from quarantine. https://mths.be/bum\nalias emptytrash=\"sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl; sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'\"\n\n# Show/hide hidden files in Finder\nalias show=\"defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder\"\nalias hide=\"defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder\"\n\n# Hide/show all desktop icons (useful when presenting)\nalias hidedesktop=\"defaults write com.apple.finder CreateDesktop -bool false && killall Finder\"\nalias showdesktop=\"defaults write com.apple.finder CreateDesktop -bool true && killall Finder\"\n\n# URL-encode strings\nalias urlencode='python -c \"import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);\"'\n\n# Merge PDF files, preserving hyperlinks\n# Usage: `mergepdf input{1,2,3}.pdf`\nalias mergepdf='gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=_merged.pdf'\n\n# Disable Spotlight\nalias spotoff=\"sudo mdutil -a -i off\"\n# Enable Spotlight\nalias spoton=\"sudo mdutil -a -i on\"\n\n# PlistBuddy alias, because sometimes `defaults` just doesn’t cut it\nalias plistbuddy=\"/usr/libexec/PlistBuddy\"\n\n# Airport CLI alias\nalias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport'\n\n# Intuitive map function\n# For example, to list all directories that contain a certain file:\n# find . -name .gitattributes | map dirname\nalias map=\"xargs -n1\"\n\n# One of @janmoesen’s ProTip™s\nfor method in GET HEAD POST PUT DELETE TRACE OPTIONS; do\n\talias \"${method}\"=\"lwp-request -m '${method}'\"\ndone\n\n# Stuff I never really use but cannot delete either because of http://xkcd.com/530/\nalias stfu=\"osascript -e 'set volume output muted true'\"\nalias pumpitup=\"osascript -e 'set volume output volume 100'\"\n\n# Kill all the tabs in Chrome to free up memory\n# [C] explained: http://www.commandlinefu.com/commands/view/402/exclude-grep-from-your-grepped-output-of-ps-alias-included-in-description\nalias chromekill=\"ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill\"\n\n# Lock the screen (when going AFK)\nalias afk=\"/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend\"\n\n# Reload the shell (i.e. invoke as a login shell)\nalias reload=\"exec ${SHELL} -l\"\n\n# Print each PATH entry on a separate line\nalias path='echo -e ${PATH//:/\\\\n}'\n"
  },
  {
    "path": ".bash_profile",
    "content": "# Add `~/bin` to the `$PATH`\nexport PATH=\"$HOME/bin:$PATH\";\n\n# Load the shell dotfiles, and then some:\n# * ~/.path can be used to extend `$PATH`.\n# * ~/.extra can be used for other settings you don’t want to commit.\nfor file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do\n\t[ -r \"$file\" ] && [ -f \"$file\" ] && source \"$file\";\ndone;\nunset file;\n\n# Case-insensitive globbing (used in pathname expansion)\nshopt -s nocaseglob;\n\n# Append to the Bash history file, rather than overwriting it\nshopt -s histappend;\n\n# Autocorrect typos in path names when using `cd`\nshopt -s cdspell;\n\n# Enable some Bash 4 features when possible:\n# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux`\n# * Recursive globbing, e.g. `echo **/*.txt`\nfor option in autocd globstar; do\n\tshopt -s \"$option\" 2> /dev/null;\ndone;\n\n# Add tab completion for many Bash commands\nif which brew &> /dev/null && [ -r \"$(brew --prefix)/etc/profile.d/bash_completion.sh\" ]; then\n\t# Ensure existing Homebrew v1 completions continue to work\n\texport BASH_COMPLETION_COMPAT_DIR=\"$(brew --prefix)/etc/bash_completion.d\";\n\tsource \"$(brew --prefix)/etc/profile.d/bash_completion.sh\";\nelif [ -f /etc/bash_completion ]; then\n\tsource /etc/bash_completion;\nfi;\n\n# Enable tab completion for `g` by marking it as an alias for `git`\nif type _git &> /dev/null; then\n\tcomplete -o default -o nospace -F _git g;\nfi;\n\n# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards\n[ -e \"$HOME/.ssh/config\" ] && complete -o \"default\" -o \"nospace\" -W \"$(grep \"^Host\" ~/.ssh/config | grep -v \"[?*]\" | cut -d \" \" -f2- | tr ' ' '\\n')\" scp sftp ssh;\n\n# Add tab completion for `defaults read|write NSGlobalDomain`\n# You could just use `-g` instead, but I like being explicit\ncomplete -W \"NSGlobalDomain\" defaults;\n\n# Add `killall` tab completion for common apps\ncomplete -o \"nospace\" -W \"Contacts Calendar Dock Finder Mail Safari iTunes SystemUIServer Terminal Twitter\" killall;\n"
  },
  {
    "path": ".bash_prompt",
    "content": "#!/usr/bin/env bash\n\n# Shell prompt based on the Solarized Dark theme.\n# Screenshot: http://i.imgur.com/EkEtphC.png\n# Heavily inspired by @necolas’s prompt: https://github.com/necolas/dotfiles\n# iTerm → Profiles → Text → use 13pt Monaco with 1.1 vertical spacing.\n\nif [[ $COLORTERM = gnome-* && $TERM = xterm ]] && infocmp gnome-256color >/dev/null 2>&1; then\n\texport TERM='gnome-256color';\nelif infocmp xterm-256color >/dev/null 2>&1; then\n\texport TERM='xterm-256color';\nfi;\n\nprompt_git() {\n\tlocal s='';\n\tlocal branchName='';\n\n\t# Check if the current directory is in a Git repository.\n\tgit rev-parse --is-inside-work-tree &>/dev/null || return;\n\n\t# Check for what branch we’re on.\n\t# Get the short symbolic ref. If HEAD isn’t a symbolic ref, get a\n\t# tracking remote branch or tag. Otherwise, get the\n\t# short SHA for the latest commit, or give up.\n\tbranchName=\"$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \\\n\t\tgit describe --all --exact-match HEAD 2> /dev/null || \\\n\t\tgit rev-parse --short HEAD 2> /dev/null || \\\n\t\techo '(unknown)')\";\n\n\t# Early exit for Chromium & Blink repo, as the dirty check takes too long.\n\t# Thanks, @paulirish!\n\t# https://github.com/paulirish/dotfiles/blob/dd33151f/.bash_prompt#L110-L123\n\trepoUrl=\"$(git config --get remote.origin.url)\";\n\tif grep -q 'chromium/src.git' <<< \"${repoUrl}\"; then\n\t\ts+='*';\n\telse\n\t\t# Check for uncommitted changes in the index.\n\t\tif ! $(git diff --quiet --ignore-submodules --cached); then\n\t\t\ts+='+';\n\t\tfi;\n\t\t# Check for unstaged changes.\n\t\tif ! $(git diff-files --quiet --ignore-submodules --); then\n\t\t\ts+='!';\n\t\tfi;\n\t\t# Check for untracked files.\n\t\tif [ -n \"$(git ls-files --others --exclude-standard)\" ]; then\n\t\t\ts+='?';\n\t\tfi;\n\t\t# Check for stashed files.\n\t\tif $(git rev-parse --verify refs/stash &>/dev/null); then\n\t\t\ts+='$';\n\t\tfi;\n\tfi;\n\n\t[ -n \"${s}\" ] && s=\" [${s}]\";\n\n\techo -e \"${1}${branchName}${2}${s}\";\n}\n\nif tput setaf 1 &> /dev/null; then\n\ttput sgr0; # reset colors\n\tbold=$(tput bold);\n\treset=$(tput sgr0);\n\t# Solarized colors, taken from http://git.io/solarized-colors.\n\tblack=$(tput setaf 0);\n\tblue=$(tput setaf 33);\n\tcyan=$(tput setaf 37);\n\tgreen=$(tput setaf 64);\n\torange=$(tput setaf 166);\n\tpurple=$(tput setaf 125);\n\tred=$(tput setaf 124);\n\tviolet=$(tput setaf 61);\n\twhite=$(tput setaf 15);\n\tyellow=$(tput setaf 136);\nelse\n\tbold='';\n\treset=\"\\e[0m\";\n\tblack=\"\\e[1;30m\";\n\tblue=\"\\e[1;34m\";\n\tcyan=\"\\e[1;36m\";\n\tgreen=\"\\e[1;32m\";\n\torange=\"\\e[1;33m\";\n\tpurple=\"\\e[1;35m\";\n\tred=\"\\e[1;31m\";\n\tviolet=\"\\e[1;35m\";\n\twhite=\"\\e[1;37m\";\n\tyellow=\"\\e[1;33m\";\nfi;\n\n# Highlight the user name when logged in as root.\nif [[ \"${USER}\" == \"root\" ]]; then\n\tuserStyle=\"${red}\";\nelse\n\tuserStyle=\"${orange}\";\nfi;\n\n# Highlight the hostname when connected via SSH.\nif [[ \"${SSH_TTY}\" ]]; then\n\thostStyle=\"${bold}${red}\";\nelse\n\thostStyle=\"${yellow}\";\nfi;\n\n# Set the terminal title and prompt.\nPS1=\"\\[\\033]0;\\W\\007\\]\"; # working directory base name\nPS1+=\"\\[${bold}\\]\\n\"; # newline\nPS1+=\"\\[${userStyle}\\]\\u\"; # username\nPS1+=\"\\[${white}\\] at \";\nPS1+=\"\\[${hostStyle}\\]\\h\"; # host\nPS1+=\"\\[${white}\\] in \";\nPS1+=\"\\[${green}\\]\\w\"; # working directory full path\nPS1+=\"\\$(prompt_git \\\"\\[${white}\\] on \\[${violet}\\]\\\" \\\"\\[${blue}\\]\\\")\"; # Git repository details\nPS1+=\"\\n\";\nPS1+=\"\\[${white}\\]\\$ \\[${reset}\\]\"; # `$` (and reset color)\nexport PS1;\n\nPS2=\"\\[${yellow}\\]→ \\[${reset}\\]\";\nexport PS2;\n"
  },
  {
    "path": ".bashrc",
    "content": "[ -n \"$PS1\" ] && source ~/.bash_profile;\n"
  },
  {
    "path": ".curlrc",
    "content": "# Disguise as IE 9 on Windows 7.\nuser-agent = \"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\"\n\n# When following a redirect, automatically set the previous URL as referer.\nreferer = \";auto\"\n\n# Wait 60 seconds before timing out.\nconnect-timeout = 60\n"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nindent_style = tab\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".exports",
    "content": "#!/usr/bin/env bash\n\n# Make vim the default editor.\nexport EDITOR='vim';\n\n# Enable persistent REPL history for `node`.\nexport NODE_REPL_HISTORY=~/.node_history;\n# Allow 32³ entries; the default is 1000.\nexport NODE_REPL_HISTORY_SIZE='32768';\n# Use sloppy mode by default, matching web browsers.\nexport NODE_REPL_MODE='sloppy';\n\n# Make Python use UTF-8 encoding for output to stdin, stdout, and stderr.\nexport PYTHONIOENCODING='UTF-8';\n\n# Increase Bash history size. Allow 32³ entries; the default is 500.\nexport HISTSIZE='32768';\nexport HISTFILESIZE=\"${HISTSIZE}\";\n# Omit duplicates and commands that begin with a space from history.\nexport HISTCONTROL='ignoreboth';\n\n# Prefer US English and use UTF-8.\nexport LANG='en_US.UTF-8';\nexport LC_ALL='en_US.UTF-8';\n\n# Highlight section titles in manual pages.\nexport LESS_TERMCAP_md=\"${yellow}\";\n\n# Don’t clear the screen after quitting a manual page.\nexport MANPAGER='less -X';\n\n# Avoid issues with `gpg` as installed via Homebrew.\n# https://stackoverflow.com/a/42265848/96656\nexport GPG_TTY=$(tty);\n\n# Hide the “default interactive shell is now zsh” warning on macOS.\nexport BASH_SILENCE_DEPRECATION_WARNING=1;\n"
  },
  {
    "path": ".functions",
    "content": "#!/usr/bin/env bash\n\n# Create a new directory and enter it\nfunction mkd() {\n\tmkdir -p \"$@\" && cd \"$_\";\n}\n\n# Change working directory to the top-most Finder window location\nfunction cdf() { # short for `cdfinder`\n\tcd \"$(osascript -e 'tell app \"Finder\" to POSIX path of (insertion location as alias)')\";\n}\n\n# Create a .tar.gz archive, using `zopfli`, `pigz` or `gzip` for compression\nfunction targz() {\n\tlocal tmpFile=\"${@%/}.tar\";\n\ttar -cvf \"${tmpFile}\" --exclude=\".DS_Store\" \"${@}\" || return 1;\n\n\tsize=$(\n\t\tstat -f\"%z\" \"${tmpFile}\" 2> /dev/null; # macOS `stat`\n\t\tstat -c\"%s\" \"${tmpFile}\" 2> /dev/null;  # GNU `stat`\n\t);\n\n\tlocal cmd=\"\";\n\tif (( size < 52428800 )) && hash zopfli 2> /dev/null; then\n\t\t# the .tar file is smaller than 50 MB and Zopfli is available; use it\n\t\tcmd=\"zopfli\";\n\telse\n\t\tif hash pigz 2> /dev/null; then\n\t\t\tcmd=\"pigz\";\n\t\telse\n\t\t\tcmd=\"gzip\";\n\t\tfi;\n\tfi;\n\n\techo \"Compressing .tar ($((size / 1000)) kB) using \\`${cmd}\\`…\";\n\t\"${cmd}\" -v \"${tmpFile}\" || return 1;\n\t[ -f \"${tmpFile}\" ] && rm \"${tmpFile}\";\n\n\tzippedSize=$(\n\t\tstat -f\"%z\" \"${tmpFile}.gz\" 2> /dev/null; # macOS `stat`\n\t\tstat -c\"%s\" \"${tmpFile}.gz\" 2> /dev/null; # GNU `stat`\n\t);\n\n\techo \"${tmpFile}.gz ($((zippedSize / 1000)) kB) created successfully.\";\n}\n\n# Determine size of a file or total size of a directory\nfunction fs() {\n\tif du -b /dev/null > /dev/null 2>&1; then\n\t\tlocal arg=-sbh;\n\telse\n\t\tlocal arg=-sh;\n\tfi\n\tif [[ -n \"$@\" ]]; then\n\t\tdu $arg -- \"$@\";\n\telse\n\t\tdu $arg .[^.]* ./*;\n\tfi;\n}\n\n# Use Git’s colored diff when available\nhash git &>/dev/null;\nif [ $? -eq 0 ]; then\n\tfunction diff() {\n\t\tgit diff --no-index --color-words \"$@\";\n\t}\nfi;\n\n# Create a data URL from a file\nfunction dataurl() {\n\tlocal mimeType=$(file -b --mime-type \"$1\");\n\tif [[ $mimeType == text/* ]]; then\n\t\tmimeType=\"${mimeType};charset=utf-8\";\n\tfi\n\techo \"data:${mimeType};base64,$(openssl base64 -in \"$1\" | tr -d '\\n')\";\n}\n\n# Start an HTTP server from a directory, optionally specifying the port\nfunction server() {\n\tlocal port=\"${1:-8000}\";\n\tsleep 1 && open \"http://localhost:${port}/\" &\n\t# Set the default Content-Type to `text/plain` instead of `application/octet-stream`\n\t# And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files)\n\tpython -c $'import SimpleHTTPServer;\\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\\nmap[\"\"] = \"text/plain\";\\nfor key, value in map.items():\\n\\tmap[key] = value + \";charset=UTF-8\";\\nSimpleHTTPServer.test();' \"$port\";\n}\n\n# Start a PHP server from a directory, optionally specifying the port\n# (Requires PHP 5.4.0+.)\nfunction phpserver() {\n\tlocal port=\"${1:-4000}\";\n\tlocal ip=$(ipconfig getifaddr en1);\n\tsleep 1 && open \"http://${ip}:${port}/\" &\n\tphp -S \"${ip}:${port}\";\n}\n\n# Compare original and gzipped file size\nfunction gz() {\n\tlocal origsize=$(wc -c < \"$1\");\n\tlocal gzipsize=$(gzip -c \"$1\" | wc -c);\n\tlocal ratio=$(echo \"$gzipsize * 100 / $origsize\" | bc -l);\n\tprintf \"orig: %d bytes\\n\" \"$origsize\";\n\tprintf \"gzip: %d bytes (%2.2f%%)\\n\" \"$gzipsize\" \"$ratio\";\n}\n\n# Run `dig` and display the most useful info\nfunction digga() {\n\tdig +nocmd \"$1\" any +multiline +noall +answer;\n}\n\n# Show all the names (CNs and SANs) listed in the SSL certificate\n# for a given domain\nfunction getcertnames() {\n\tif [ -z \"${1}\" ]; then\n\t\techo \"ERROR: No domain specified.\";\n\t\treturn 1;\n\tfi;\n\n\tlocal domain=\"${1}\";\n\techo \"Testing ${domain}…\";\n\techo \"\"; # newline\n\n\tlocal tmp=$(echo -e \"GET / HTTP/1.0\\nEOT\" \\\n\t\t| openssl s_client -connect \"${domain}:443\" -servername \"${domain}\" 2>&1);\n\n\tif [[ \"${tmp}\" = *\"-----BEGIN CERTIFICATE-----\"* ]]; then\n\t\tlocal certText=$(echo \"${tmp}\" \\\n\t\t\t| openssl x509 -text -certopt \"no_aux, no_header, no_issuer, no_pubkey, \\\n\t\t\tno_serial, no_sigdump, no_signame, no_validity, no_version\");\n\t\techo \"Common Name:\";\n\t\techo \"\"; # newline\n\t\techo \"${certText}\" | grep \"Subject:\" | sed -e \"s/^.*CN=//\" | sed -e \"s/\\/emailAddress=.*//\";\n\t\techo \"\"; # newline\n\t\techo \"Subject Alternative Name(s):\";\n\t\techo \"\"; # newline\n\t\techo \"${certText}\" | grep -A 1 \"Subject Alternative Name:\" \\\n\t\t\t| sed -e \"2s/DNS://g\" -e \"s/ //g\" | tr \",\" \"\\n\" | tail -n +2;\n\t\treturn 0;\n\telse\n\t\techo \"ERROR: Certificate not found.\";\n\t\treturn 1;\n\tfi;\n}\n\n# Normalize `open` across Linux, macOS, and Windows.\n# This is needed to make the `o` function (see below) cross-platform.\nif [ ! $(uname -s) = 'Darwin' ]; then\n\tif grep -q Microsoft /proc/version; then\n\t\t# Ubuntu on Windows using the Linux subsystem\n\t\talias open='explorer.exe';\n\telse\n\t\talias open='xdg-open';\n\tfi\nfi\n\n# `o` with no arguments opens the current directory, otherwise opens the given\n# location\nfunction o() {\n\tif [ $# -eq 0 ]; then\n\t\topen .;\n\telse\n\t\topen \"$@\";\n\tfi;\n}\n\n# `tre` is a shorthand for `tree` with hidden files and color enabled, ignoring\n# the `.git` directory, listing directories first. The output gets piped into\n# `less` with options to preserve color and line numbers, unless the output is\n# small enough for one screen.\nfunction tre() {\n\ttree -aC -I '.git|node_modules|bower_components' --dirsfirst \"$@\" | less -FRNX;\n}\n"
  },
  {
    "path": ".gdbinit",
    "content": "set disassembly-flavor intel\n"
  },
  {
    "path": ".gitattributes",
    "content": "# Automatically normalize line endings for all text-based files\n#* text=auto\n# Disabled because of https://github.com/mathiasbynens/dotfiles/issues/149 :(\n"
  },
  {
    "path": ".gitconfig",
    "content": "[alias]\n\n\t# View abbreviated SHA, description, and history graph of the latest 20 commits.\n\tl = log --pretty=oneline -n 20 --graph --abbrev-commit\n\n\t# View the current working tree status using the short format.\n\ts = status -s\n\n\t# Show the diff between the latest commit and the current state.\n\td = !\"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat\"\n\n\t# `git di $number` shows the diff between the state `$number` revisions ago and the current state.\n\tdi = !\"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d\"\n\n\t# Pull in remote changes for the current repository and all its submodules.\n\tp = pull --recurse-submodules\n\n\t# Clone a repository including all submodules.\n\tc = clone --recursive\n\n\t# Commit all changes.\n\tca = !git add ':(exclude,attr:builtin_objectmode=160000)' && git commit -av\n\n\t# Switch to a branch, creating it if necessary.\n\tgo = \"!f() { git checkout -b \\\"$1\\\" 2> /dev/null || git checkout \\\"$1\\\"; }; f\"\n\n\t# Show verbose output about tags, branches or remotes\n\ttags = tag -l\n\tbranches = branch --all\n\tremotes = remote --verbose\n\n\t# List aliases.\n\taliases = config --get-regexp alias\n\n\t# Amend the currently staged files to the latest commit.\n\tamend = commit --amend --reuse-message=HEAD\n\n\t# Credit an author on the latest commit.\n\tcredit = \"!f() { git commit --amend --author \\\"$1 <$2>\\\" -C HEAD; }; f\"\n\n\t# Interactive rebase with the given number of latest commits.\n\treb = \"!r() { git rebase -i HEAD~$1; }; r\"\n\n\t# Remove the old tag with this name and tag the latest commit with it.\n\tretag = \"!r() { git tag -d $1 && git push origin :refs/tags/$1 && git tag $1; }; r\"\n\n\t# Find branches containing commit\n\tfb = \"!f() { git branch -a --contains $1; }; f\"\n\n\t# Find tags containing commit\n\tft = \"!f() { git describe --always --contains $1; }; f\"\n\n\t# Find commits by source code\n\tfc = \"!f() { git log --pretty=format:'%C(yellow)%h  %Cblue%ad  %Creset%s%Cgreen  [%cn] %Cred%d' --decorate --date=short -S$1; }; f\"\n\n\t# Find commits by commit message\n\tfm = \"!f() { git log --pretty=format:'%C(yellow)%h  %Cblue%ad  %Creset%s%Cgreen  [%cn] %Cred%d' --decorate --date=short --grep=$1; }; f\"\n\n\t# Remove branches that have already been merged with main.\n\t# a.k.a. ‘delete merged’\n\tdm = \"!git branch --merged | grep -v '\\\\*' | xargs -n 1 git branch -d\"\n\n\t# List contributors with number of commits.\n\tcontributors = shortlog --summary --numbered\n\n\t# Show the user email for the current repository.\n\twhoami = config user.email\n\n[apply]\n\n\t# Detect whitespace errors when applying a patch.\n\twhitespace = fix\n\n[branch]\n\n\t# Show most recently changed branches first.\n\tsort = -committerdate\n\n[core]\n\n\t# Use custom `.gitignore` and `.gitattributes`.\n\texcludesfile = ~/.gitignore\n\tattributesfile = ~/.gitattributes\n\n\t# Treat spaces before tabs and all kinds of trailing whitespace as an error.\n\t# [default] trailing-space: looks for spaces at the end of a line\n\t# [default] space-before-tab: looks for spaces before tabs at the beginning of a line\n\twhitespace = space-before-tab,-indent-with-non-tab,trailing-space\n\n\t# Make `git rebase` safer on macOS.\n\t# More info: <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>\n\ttrustctime = false\n\n\t# Prevent showing files whose names contain non-ASCII symbols as unversioned.\n\t# http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html\n\tprecomposeunicode = false\n\n\t# Speed up commands involving untracked files such as `git status`.\n\t# https://git-scm.com/docs/git-update-index#_untracked_cache\n\tuntrackedCache = true\n\n[color]\n\n\t# Use colors in Git commands that are capable of colored output when\n\t# outputting to the terminal. (This is the default setting in Git ≥ 1.8.4.)\n\tui = auto\n\n[color \"branch\"]\n\n\tcurrent = yellow reverse\n\tlocal = yellow\n\tremote = green\n\n[color \"diff\"]\n\n\tmeta = yellow bold\n\tfrag = magenta bold # line info\n\told = red # deletions\n\tnew = green # additions\n\n[color \"status\"]\n\n\tadded = yellow\n\tchanged = green\n\tuntracked = cyan\n\n[commit]\n\n\t# https://help.github.com/articles/signing-commits-using-gpg/\n\tgpgsign = true\n\n[diff]\n\n\t# Detect copies as well as renames.\n\trenames = copies\n\n[diff \"bin\"]\n\n\t# Use `hexdump` to diff binary files.\n\ttextconv = hexdump -v -C\n\n[help]\n\n\t# Automatically correct and execute mistyped commands.\n\tautocorrect = 1\n\n[merge]\n\n\t# Include summaries of merged commits in newly created merge commit messages\n\tlog = true\n\n[push]\n\n\t# https://git-scm.com/docs/git-config#git-config-pushdefault\n\tdefault = simple\n\t# Make `git push` push relevant annotated tags when pushing branches out.\n\tfollowTags = true\n\n# URL shorthands\n\n[url \"git@github.com:\"]\n\n\tinsteadOf = \"gh:\"\n\tpushInsteadOf = \"github:\"\n\tpushInsteadOf = \"git://github.com/\"\n\n[url \"git://github.com/\"]\n\n\tinsteadOf = \"github:\"\n\n[url \"git@gist.github.com:\"]\n\n\tinsteadOf = \"gst:\"\n\tpushInsteadOf = \"gist:\"\n\tpushInsteadOf = \"git://gist.github.com/\"\n\n[url \"git://gist.github.com/\"]\n\n\tinsteadOf = \"gist:\"\n\n[init]\n\n\tdefaultBranch = main\n"
  },
  {
    "path": ".gitignore",
    "content": "# Compiled Python files\n*.pyc\n\n# Folder view configuration files\n.DS_Store\nDesktop.ini\n\n# Thumbnail cache files\n._*\nThumbs.db\n\n# Files that might appear on external disks\n.Spotlight-V100\n.Trashes\n"
  },
  {
    "path": ".gvimrc",
    "content": "\" Use the Solarized Dark theme\nset background=dark\ncolorscheme solarized\n\" Use 14pt Monaco\nset guifont=Monaco:h14\n\" Don’t blink cursor in normal mode\nset guicursor=n:blinkon0\n\" Better line-height\nset linespace=8\n"
  },
  {
    "path": ".hgignore",
    "content": "# Use shell-style glob syntax\nsyntax: glob\n\n# Compiled Python files\n*.pyc\n\n# Folder view configuration files\n.DS_Store\nDesktop.ini\n\n# Thumbnail cache files\n._*\nThumbs.db\n\n# Files that might appear on external disks\n.Spotlight-V100\n.Trashes\n"
  },
  {
    "path": ".hushlogin",
    "content": "# The mere presence of this file in the home directory disables the system\n# copyright notice, the date and time of the last login, the message of the\n# day as well as other information that may otherwise appear on login.\n# See `man login`.\n"
  },
  {
    "path": ".inputrc",
    "content": "# Make Tab autocomplete regardless of filename case\nset completion-ignore-case on\n\n# List all matches in case multiple possible completions are possible\nset show-all-if-ambiguous on\n\n# Immediately add a trailing slash when autocompleting symlinks to directories\nset mark-symlinked-directories on\n\n# Use the text that has already been typed as the prefix for searching through\n# commands (i.e. more intelligent Up/Down behavior)\n\"\\e[B\": history-search-forward\n\"\\e[A\": history-search-backward\n\n# Do not autocomplete hidden files unless the pattern explicitly begins with a dot\nset match-hidden-files off\n\n# Show all autocomplete results at once\nset page-completions off\n\n# If there are more than 200 possible completions for a word, ask to show them all\nset completion-query-items 200\n\n# Show extra file information when completing, like `ls -F` does\nset visible-stats on\n\n# Be more intelligent when autocompleting by also looking at the text after\n# the cursor. For example, when the current line is \"cd ~/src/mozil\", and\n# the cursor is on the \"z\", pressing Tab will not autocomplete it to \"cd\n# ~/src/mozillail\", but to \"cd ~/src/mozilla\". (This is supported by the\n# Readline used by Bash 4.)\nset skip-completed-text on\n\n# Allow UTF-8 input and output, instead of showing stuff like $'\\0123\\0456'\nset input-meta on\nset output-meta on\nset convert-meta off\n\n# Use Alt/Meta + Delete to delete the preceding word\n\"\\e[3;3~\": kill-word\n"
  },
  {
    "path": ".macos",
    "content": "#!/usr/bin/env bash\n\n# ~/.macos — https://mths.be/macos\n\n# Close any open System Preferences panes, to prevent them from overriding\n# settings we’re about to change\nosascript -e 'tell application \"System Preferences\" to quit'\n\n# Ask for the administrator password upfront\nsudo -v\n\n# Keep-alive: update existing `sudo` time stamp until `.macos` has finished\nwhile true; do sudo -n true; sleep 60; kill -0 \"$$\" || exit; done 2>/dev/null &\n\n###############################################################################\n# General UI/UX                                                               #\n###############################################################################\n\n# Set computer name (as done via System Preferences → Sharing)\n#sudo scutil --set ComputerName \"0x6D746873\"\n#sudo scutil --set HostName \"0x6D746873\"\n#sudo scutil --set LocalHostName \"0x6D746873\"\n#sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string \"0x6D746873\"\n\n# Disable the sound effects on boot\nsudo nvram SystemAudioVolume=\" \"\n\n# Disable transparency in the menu bar and elsewhere on Yosemite\ndefaults write com.apple.universalaccess reduceTransparency -bool true\n\n# Set highlight color to green\ndefaults write NSGlobalDomain AppleHighlightColor -string \"0.764700 0.976500 0.568600\"\n\n# Set sidebar icon size to medium\ndefaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2\n\n# Always show scrollbars\ndefaults write NSGlobalDomain AppleShowScrollBars -string \"Always\"\n# Possible values: `WhenScrolling`, `Automatic` and `Always`\n\n# Disable the over-the-top focus ring animation\ndefaults write NSGlobalDomain NSUseAnimatedFocusRing -bool false\n\n# Adjust toolbar title rollover delay\ndefaults write NSGlobalDomain NSToolbarTitleViewRolloverDelay -float 0\n\n# Disable smooth scrolling\n# (Uncomment if you’re on an older Mac that messes up the animation)\n#defaults write NSGlobalDomain NSScrollAnimationEnabled -bool false\n\n# Increase window resize speed for Cocoa applications\ndefaults write NSGlobalDomain NSWindowResizeTime -float 0.001\n\n# Expand save panel by default\ndefaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true\ndefaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true\n\n# Expand print panel by default\ndefaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true\ndefaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true\n\n# Save to disk (not to iCloud) by default\ndefaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false\n\n# Automatically quit printer app once the print jobs complete\ndefaults write com.apple.print.PrintingPrefs \"Quit When Finished\" -bool true\n\n# Disable the “Are you sure you want to open this application?” dialog\ndefaults write com.apple.LaunchServices LSQuarantine -bool false\n\n# Remove duplicates in the “Open With” menu (also see `lscleanup` alias)\n/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user\n\n# Display ASCII control characters using caret notation in standard text views\n# Try e.g. `cd /tmp; unidecode \"\\x{0000}\" > cc.txt; open -e cc.txt`\ndefaults write NSGlobalDomain NSTextShowsControlCharacters -bool true\n\n# Disable Resume system-wide\ndefaults write com.apple.systempreferences NSQuitAlwaysKeepsWindows -bool false\n\n# Disable automatic termination of inactive apps\ndefaults write NSGlobalDomain NSDisableAutomaticTermination -bool true\n\n# Disable the crash reporter\n#defaults write com.apple.CrashReporter DialogType -string \"none\"\n\n# Set Help Viewer windows to non-floating mode\ndefaults write com.apple.helpviewer DevMode -bool true\n\n# Fix for the ancient UTF-8 bug in QuickLook (https://mths.be/bbo)\n# Commented out, as this is known to cause problems in various Adobe apps :(\n# See https://github.com/mathiasbynens/dotfiles/issues/237\n#echo \"0x08000100:0\" > ~/.CFUserTextEncoding\n\n# Reveal IP address, hostname, OS version, etc. when clicking the clock\n# in the login window\nsudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName\n\n# Disable Notification Center and remove the menu bar icon\nlaunchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null\n\n# Disable automatic capitalization as it’s annoying when typing code\ndefaults write NSGlobalDomain NSAutomaticCapitalizationEnabled -bool false\n\n# Disable smart dashes as they’re annoying when typing code\ndefaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false\n\n# Disable automatic period substitution as it’s annoying when typing code\ndefaults write NSGlobalDomain NSAutomaticPeriodSubstitutionEnabled -bool false\n\n# Disable smart quotes as they’re annoying when typing code\ndefaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false\n\n# Disable auto-correct\ndefaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false\n\n# Set a custom wallpaper image. `DefaultDesktop.jpg` is already a symlink, and\n# all wallpapers are in `/Library/Desktop Pictures/`. The default is `Wave.jpg`.\n#rm -rf ~/Library/Application Support/Dock/desktoppicture.db\n#sudo rm -rf /System/Library/CoreServices/DefaultDesktop.jpg\n#sudo ln -s /path/to/your/image /System/Library/CoreServices/DefaultDesktop.jpg\n\n###############################################################################\n# Trackpad, mouse, keyboard, Bluetooth accessories, and input                 #\n###############################################################################\n\n# Trackpad: enable tap to click for this user and for the login screen\ndefaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true\ndefaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1\ndefaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1\n\n# Trackpad: map bottom right corner to right-click\ndefaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2\ndefaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true\ndefaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 1\ndefaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true\n\n# Disable “natural” (Lion-style) scrolling\ndefaults write NSGlobalDomain com.apple.swipescrolldirection -bool false\n\n# Increase sound quality for Bluetooth headphones/headsets\ndefaults write com.apple.BluetoothAudioAgent \"Apple Bitpool Min (editable)\" -int 40\n\n# Enable full keyboard access for all controls\n# (e.g. enable Tab in modal dialogs)\ndefaults write NSGlobalDomain AppleKeyboardUIMode -int 3\n\n# Use scroll gesture with the Ctrl (^) modifier key to zoom\ndefaults write com.apple.universalaccess closeViewScrollWheelToggle -bool true\ndefaults write com.apple.universalaccess HIDScrollZoomModifierMask -int 262144\n# Follow the keyboard focus while zoomed in\ndefaults write com.apple.universalaccess closeViewZoomFollowsFocus -bool true\n\n# Disable press-and-hold for keys in favor of key repeat\ndefaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false\n\n# Set a blazingly fast keyboard repeat rate\ndefaults write NSGlobalDomain KeyRepeat -int 1\ndefaults write NSGlobalDomain InitialKeyRepeat -int 10\n\n# Set language and text formats\n# Note: if you’re in the US, replace `EUR` with `USD`, `Centimeters` with\n# `Inches`, `en_GB` with `en_US`, and `true` with `false`.\ndefaults write NSGlobalDomain AppleLanguages -array \"en\" \"nl\"\ndefaults write NSGlobalDomain AppleLocale -string \"en_GB@currency=EUR\"\ndefaults write NSGlobalDomain AppleMeasurementUnits -string \"Centimeters\"\ndefaults write NSGlobalDomain AppleMetricUnits -bool true\n\n# Show language menu in the top right corner of the boot screen\nsudo defaults write /Library/Preferences/com.apple.loginwindow showInputMenu -bool true\n\n# Set the timezone; see `sudo systemsetup -listtimezones` for other values\nsudo systemsetup -settimezone \"Europe/Brussels\" > /dev/null\n\n# Stop iTunes from responding to the keyboard media keys\n#launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist 2> /dev/null\n\n###############################################################################\n# Energy saving                                                               #\n###############################################################################\n\n# Enable lid wakeup\nsudo pmset -a lidwake 1\n\n# Restart automatically on power loss\nsudo pmset -a autorestart 1\n\n# Restart automatically if the computer freezes\nsudo systemsetup -setrestartfreeze on\n\n# Sleep the display after 15 minutes\nsudo pmset -a displaysleep 15\n\n# Disable machine sleep while charging\nsudo pmset -c sleep 0\n\n# Set machine sleep to 5 minutes on battery\nsudo pmset -b sleep 5\n\n# Set standby delay to 24 hours (default is 1 hour)\nsudo pmset -a standbydelay 86400\n\n# Never go into computer sleep mode\nsudo systemsetup -setcomputersleep Off > /dev/null\n\n# Hibernation mode\n# 0: Disable hibernation (speeds up entering sleep mode)\n# 3: Copy RAM to disk so the system state can still be restored in case of a\n#    power failure.\nsudo pmset -a hibernatemode 0\n\n# Remove the sleep image file to save disk space\nsudo rm /private/var/vm/sleepimage\n# Create a zero-byte file instead…\nsudo touch /private/var/vm/sleepimage\n# …and make sure it can’t be rewritten\nsudo chflags uchg /private/var/vm/sleepimage\n\n###############################################################################\n# Screen                                                                      #\n###############################################################################\n\n# Require password immediately after sleep or screen saver begins\ndefaults write com.apple.screensaver askForPassword -int 1\ndefaults write com.apple.screensaver askForPasswordDelay -int 0\n\n# Save screenshots to the desktop\ndefaults write com.apple.screencapture location -string \"${HOME}/Desktop\"\n\n# Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)\ndefaults write com.apple.screencapture type -string \"png\"\n\n# Disable shadow in screenshots\ndefaults write com.apple.screencapture disable-shadow -bool true\n\n# Enable subpixel font rendering on non-Apple LCDs\n# Reference: https://github.com/kevinSuttle/macOS-Defaults/issues/17#issuecomment-266633501\ndefaults write NSGlobalDomain AppleFontSmoothing -int 1\n\n# Enable HiDPI display modes (requires restart)\nsudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true\n\n###############################################################################\n# Finder                                                                      #\n###############################################################################\n\n# Finder: allow quitting via ⌘ + Q; doing so will also hide desktop icons\ndefaults write com.apple.finder QuitMenuItem -bool true\n\n# Finder: disable window animations and Get Info animations\ndefaults write com.apple.finder DisableAllAnimations -bool true\n\n# Set Desktop as the default location for new Finder windows\n# For other paths, use `PfLo` and `file:///full/path/here/`\ndefaults write com.apple.finder NewWindowTarget -string \"PfDe\"\ndefaults write com.apple.finder NewWindowTargetPath -string \"file://${HOME}/Desktop/\"\n\n# Show icons for hard drives, servers, and removable media on the desktop\ndefaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true\ndefaults write com.apple.finder ShowHardDrivesOnDesktop -bool true\ndefaults write com.apple.finder ShowMountedServersOnDesktop -bool true\ndefaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true\n\n# Finder: show hidden files by default\n#defaults write com.apple.finder AppleShowAllFiles -bool true\n\n# Finder: show all filename extensions\ndefaults write NSGlobalDomain AppleShowAllExtensions -bool true\n\n# Finder: show status bar\ndefaults write com.apple.finder ShowStatusBar -bool true\n\n# Finder: show path bar\ndefaults write com.apple.finder ShowPathbar -bool true\n\n# Display full POSIX path as Finder window title\ndefaults write com.apple.finder _FXShowPosixPathInTitle -bool true\n\n# Keep folders on top when sorting by name\ndefaults write com.apple.finder _FXSortFoldersFirst -bool true\n\n# When performing a search, search the current folder by default\ndefaults write com.apple.finder FXDefaultSearchScope -string \"SCcf\"\n\n# Disable the warning when changing a file extension\ndefaults write com.apple.finder FXEnableExtensionChangeWarning -bool false\n\n# Enable spring loading for directories\ndefaults write NSGlobalDomain com.apple.springing.enabled -bool true\n\n# Remove the spring loading delay for directories\ndefaults write NSGlobalDomain com.apple.springing.delay -float 0\n\n# Avoid creating .DS_Store files on network or USB volumes\ndefaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true\ndefaults write com.apple.desktopservices DSDontWriteUSBStores -bool true\n\n# Disable disk image verification\ndefaults write com.apple.frameworks.diskimages skip-verify -bool true\ndefaults write com.apple.frameworks.diskimages skip-verify-locked -bool true\ndefaults write com.apple.frameworks.diskimages skip-verify-remote -bool true\n\n# Automatically open a new Finder window when a volume is mounted\ndefaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true\ndefaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true\ndefaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true\n\n# Show item info near icons on the desktop and in other icon views\n/usr/libexec/PlistBuddy -c \"Set :DesktopViewSettings:IconViewSettings:showItemInfo true\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :FK_StandardViewSettings:IconViewSettings:showItemInfo true\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :StandardViewSettings:IconViewSettings:showItemInfo true\" ~/Library/Preferences/com.apple.finder.plist\n\n# Show item info to the right of the icons on the desktop\n/usr/libexec/PlistBuddy -c \"Set DesktopViewSettings:IconViewSettings:labelOnBottom false\" ~/Library/Preferences/com.apple.finder.plist\n\n# Enable snap-to-grid for icons on the desktop and in other icon views\n/usr/libexec/PlistBuddy -c \"Set :DesktopViewSettings:IconViewSettings:arrangeBy grid\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :FK_StandardViewSettings:IconViewSettings:arrangeBy grid\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :StandardViewSettings:IconViewSettings:arrangeBy grid\" ~/Library/Preferences/com.apple.finder.plist\n\n# Increase grid spacing for icons on the desktop and in other icon views\n/usr/libexec/PlistBuddy -c \"Set :DesktopViewSettings:IconViewSettings:gridSpacing 100\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :FK_StandardViewSettings:IconViewSettings:gridSpacing 100\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :StandardViewSettings:IconViewSettings:gridSpacing 100\" ~/Library/Preferences/com.apple.finder.plist\n\n# Increase the size of icons on the desktop and in other icon views\n/usr/libexec/PlistBuddy -c \"Set :DesktopViewSettings:IconViewSettings:iconSize 80\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :FK_StandardViewSettings:IconViewSettings:iconSize 80\" ~/Library/Preferences/com.apple.finder.plist\n/usr/libexec/PlistBuddy -c \"Set :StandardViewSettings:IconViewSettings:iconSize 80\" ~/Library/Preferences/com.apple.finder.plist\n\n# Use list view in all Finder windows by default\n# Four-letter codes for the other view modes: `icnv`, `clmv`, `glyv`\ndefaults write com.apple.finder FXPreferredViewStyle -string \"Nlsv\"\n\n# Disable the warning before emptying the Trash\ndefaults write com.apple.finder WarnOnEmptyTrash -bool false\n\n# Enable AirDrop over Ethernet and on unsupported Macs running Lion\ndefaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true\n\n# Show the ~/Library folder\nchflags nohidden ~/Library && xattr -d com.apple.FinderInfo ~/Library\n\n# Show the /Volumes folder\nsudo chflags nohidden /Volumes\n\n# Remove Dropbox’s green checkmark icons in Finder\nfile=/Applications/Dropbox.app/Contents/Resources/emblem-dropbox-uptodate.icns\n[ -e \"${file}\" ] && mv -f \"${file}\" \"${file}.bak\"\n\n# Expand the following File Info panes:\n# “General”, “Open with”, and “Sharing & Permissions”\ndefaults write com.apple.finder FXInfoPanesExpanded -dict \\\n\tGeneral -bool true \\\n\tOpenWith -bool true \\\n\tPrivileges -bool true\n\n###############################################################################\n# Dock, Dashboard, and hot corners                                            #\n###############################################################################\n\n# Enable highlight hover effect for the grid view of a stack (Dock)\ndefaults write com.apple.dock mouse-over-hilite-stack -bool true\n\n# Set the icon size of Dock items to 36 pixels\ndefaults write com.apple.dock tilesize -int 36\n\n# Change minimize/maximize window effect\ndefaults write com.apple.dock mineffect -string \"scale\"\n\n# Minimize windows into their application’s icon\ndefaults write com.apple.dock minimize-to-application -bool true\n\n# Enable spring loading for all Dock items\ndefaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true\n\n# Show indicator lights for open applications in the Dock\ndefaults write com.apple.dock show-process-indicators -bool true\n\n# Wipe all (default) app icons from the Dock\n# This is only really useful when setting up a new Mac, or if you don’t use\n# the Dock to launch apps.\n#defaults write com.apple.dock persistent-apps -array\n\n# Show only open applications in the Dock\n#defaults write com.apple.dock static-only -bool true\n\n# Don’t animate opening applications from the Dock\ndefaults write com.apple.dock launchanim -bool false\n\n# Speed up Mission Control animations\ndefaults write com.apple.dock expose-animation-duration -float 0.1\n\n# Don’t group windows by application in Mission Control\n# (i.e. use the old Exposé behavior instead)\ndefaults write com.apple.dock expose-group-by-app -bool false\n\n# Disable Dashboard\ndefaults write com.apple.dashboard mcx-disabled -bool true\n\n# Don’t show Dashboard as a Space\ndefaults write com.apple.dock dashboard-in-overlay -bool true\n\n# Don’t automatically rearrange Spaces based on most recent use\ndefaults write com.apple.dock mru-spaces -bool false\n\n# Remove the auto-hiding Dock delay\ndefaults write com.apple.dock autohide-delay -float 0\n# Remove the animation when hiding/showing the Dock\ndefaults write com.apple.dock autohide-time-modifier -float 0\n\n# Automatically hide and show the Dock\ndefaults write com.apple.dock autohide -bool true\n\n# Make Dock icons of hidden applications translucent\ndefaults write com.apple.dock showhidden -bool true\n\n# Don’t show recent applications in Dock\ndefaults write com.apple.dock show-recents -bool false\n\n# Disable the Launchpad gesture (pinch with thumb and three fingers)\n#defaults write com.apple.dock showLaunchpadGestureEnabled -int 0\n\n# Reset Launchpad, but keep the desktop wallpaper intact\nfind \"${HOME}/Library/Application Support/Dock\" -name \"*-*.db\" -maxdepth 1 -delete\n\n# Add iOS & Watch Simulator to Launchpad\nsudo ln -sf \"/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app\" \"/Applications/Simulator.app\"\nsudo ln -sf \"/Applications/Xcode.app/Contents/Developer/Applications/Simulator (Watch).app\" \"/Applications/Simulator (Watch).app\"\n\n# Add a spacer to the left side of the Dock (where the applications are)\n#defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type=\"spacer-tile\";}'\n# Add a spacer to the right side of the Dock (where the Trash is)\n#defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type=\"spacer-tile\";}'\n\n# Hot corners\n# Possible values:\n#  0: no-op\n#  2: Mission Control\n#  3: Show application windows\n#  4: Desktop\n#  5: Start screen saver\n#  6: Disable screen saver\n#  7: Dashboard\n# 10: Put display to sleep\n# 11: Launchpad\n# 12: Notification Center\n# 13: Lock Screen\n# Top left screen corner → Mission Control\ndefaults write com.apple.dock wvous-tl-corner -int 2\ndefaults write com.apple.dock wvous-tl-modifier -int 0\n# Top right screen corner → Desktop\ndefaults write com.apple.dock wvous-tr-corner -int 4\ndefaults write com.apple.dock wvous-tr-modifier -int 0\n# Bottom left screen corner → Start screen saver\ndefaults write com.apple.dock wvous-bl-corner -int 5\ndefaults write com.apple.dock wvous-bl-modifier -int 0\n\n###############################################################################\n# Safari & WebKit                                                             #\n###############################################################################\n\n# Privacy: don’t send search queries to Apple\ndefaults write com.apple.Safari UniversalSearchEnabled -bool false\ndefaults write com.apple.Safari SuppressSearchSuggestions -bool true\n\n# Press Tab to highlight each item on a web page\ndefaults write com.apple.Safari WebKitTabToLinksPreferenceKey -bool true\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2TabsToLinks -bool true\n\n# Show the full URL in the address bar (note: this still hides the scheme)\ndefaults write com.apple.Safari ShowFullURLInSmartSearchField -bool true\n\n# Set Safari’s home page to `about:blank` for faster loading\ndefaults write com.apple.Safari HomePage -string \"about:blank\"\n\n# Prevent Safari from opening ‘safe’ files automatically after downloading\ndefaults write com.apple.Safari AutoOpenSafeDownloads -bool false\n\n# Allow hitting the Backspace key to go to the previous page in history\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool true\n\n# Hide Safari’s bookmarks bar by default\ndefaults write com.apple.Safari ShowFavoritesBar -bool false\n\n# Hide Safari’s sidebar in Top Sites\ndefaults write com.apple.Safari ShowSidebarInTopSites -bool false\n\n# Disable Safari’s thumbnail cache for History and Top Sites\ndefaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2\n\n# Enable Safari’s debug menu\ndefaults write com.apple.Safari IncludeInternalDebugMenu -bool true\n\n# Make Safari’s search banners default to Contains instead of Starts With\ndefaults write com.apple.Safari FindOnPageMatchesWordStartsOnly -bool false\n\n# Remove useless icons from Safari’s bookmarks bar\ndefaults write com.apple.Safari ProxiesInBookmarksBar \"()\"\n\n# Enable the Develop menu and the Web Inspector in Safari\ndefaults write com.apple.Safari IncludeDevelopMenu -bool true\ndefaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true\n\n# Add a context menu item for showing the Web Inspector in web views\ndefaults write NSGlobalDomain WebKitDeveloperExtras -bool true\n\n# Enable continuous spellchecking\ndefaults write com.apple.Safari WebContinuousSpellCheckingEnabled -bool true\n# Disable auto-correct\ndefaults write com.apple.Safari WebAutomaticSpellingCorrectionEnabled -bool false\n\n# Disable AutoFill\ndefaults write com.apple.Safari AutoFillFromAddressBook -bool false\ndefaults write com.apple.Safari AutoFillPasswords -bool false\ndefaults write com.apple.Safari AutoFillCreditCardData -bool false\ndefaults write com.apple.Safari AutoFillMiscellaneousForms -bool false\n\n# Warn about fraudulent websites\ndefaults write com.apple.Safari WarnAboutFraudulentWebsites -bool true\n\n# Disable plug-ins\ndefaults write com.apple.Safari WebKitPluginsEnabled -bool false\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2PluginsEnabled -bool false\n\n# Disable Java\ndefaults write com.apple.Safari WebKitJavaEnabled -bool false\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaEnabled -bool false\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaEnabledForLocalFiles -bool false\n\n# Block pop-up windows\ndefaults write com.apple.Safari WebKitJavaScriptCanOpenWindowsAutomatically -bool false\ndefaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaScriptCanOpenWindowsAutomatically -bool false\n\n# Disable auto-playing video\n#defaults write com.apple.Safari WebKitMediaPlaybackAllowsInline -bool false\n#defaults write com.apple.SafariTechnologyPreview WebKitMediaPlaybackAllowsInline -bool false\n#defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2AllowsInlineMediaPlayback -bool false\n#defaults write com.apple.SafariTechnologyPreview com.apple.Safari.ContentPageGroupIdentifier.WebKit2AllowsInlineMediaPlayback -bool false\n\n# Enable “Do Not Track”\ndefaults write com.apple.Safari SendDoNotTrackHTTPHeader -bool true\n\n# Update extensions automatically\ndefaults write com.apple.Safari InstallExtensionUpdatesAutomatically -bool true\n\n###############################################################################\n# Mail                                                                        #\n###############################################################################\n\n# Disable send and reply animations in Mail.app\ndefaults write com.apple.mail DisableReplyAnimations -bool true\ndefaults write com.apple.mail DisableSendAnimations -bool true\n\n# Copy email addresses as `foo@example.com` instead of `Foo Bar <foo@example.com>` in Mail.app\ndefaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false\n\n# Add the keyboard shortcut ⌘ + Enter to send an email in Mail.app\ndefaults write com.apple.mail NSUserKeyEquivalents -dict-add \"Send\" \"@\\U21a9\"\n\n# Display emails in threaded mode, sorted by date (oldest at the top)\ndefaults write com.apple.mail DraftsViewerAttributes -dict-add \"DisplayInThreadedMode\" -string \"yes\"\ndefaults write com.apple.mail DraftsViewerAttributes -dict-add \"SortedDescending\" -string \"yes\"\ndefaults write com.apple.mail DraftsViewerAttributes -dict-add \"SortOrder\" -string \"received-date\"\n\n# Disable inline attachments (just show the icons)\ndefaults write com.apple.mail DisableInlineAttachmentViewing -bool true\n\n# Disable automatic spell checking\ndefaults write com.apple.mail SpellCheckingBehavior -string \"NoSpellCheckingEnabled\"\n\n###############################################################################\n# Spotlight                                                                   #\n###############################################################################\n\n# Hide Spotlight tray-icon (and subsequent helper)\n#sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search\n# Disable Spotlight indexing for any volume that gets mounted and has not yet\n# been indexed before.\n# Use `sudo mdutil -i off \"/Volumes/foo\"` to stop indexing any volume.\nsudo defaults write /.Spotlight-V100/VolumeConfiguration Exclusions -array \"/Volumes\"\n# Change indexing order and disable some search results\n# Yosemite-specific search results (remove them if you are using macOS 10.9 or older):\n# \tMENU_DEFINITION\n# \tMENU_CONVERSION\n# \tMENU_EXPRESSION\n# \tMENU_SPOTLIGHT_SUGGESTIONS (send search queries to Apple)\n# \tMENU_WEBSEARCH             (send search queries to Apple)\n# \tMENU_OTHER\ndefaults write com.apple.spotlight orderedItems -array \\\n\t'{\"enabled\" = 1;\"name\" = \"APPLICATIONS\";}' \\\n\t'{\"enabled\" = 1;\"name\" = \"SYSTEM_PREFS\";}' \\\n\t'{\"enabled\" = 1;\"name\" = \"DIRECTORIES\";}' \\\n\t'{\"enabled\" = 1;\"name\" = \"PDF\";}' \\\n\t'{\"enabled\" = 1;\"name\" = \"FONTS\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"DOCUMENTS\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MESSAGES\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"CONTACT\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"EVENT_TODO\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"IMAGES\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"BOOKMARKS\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MUSIC\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MOVIES\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"PRESENTATIONS\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"SPREADSHEETS\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"SOURCE\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MENU_DEFINITION\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MENU_OTHER\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MENU_CONVERSION\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MENU_EXPRESSION\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MENU_WEBSEARCH\";}' \\\n\t'{\"enabled\" = 0;\"name\" = \"MENU_SPOTLIGHT_SUGGESTIONS\";}'\n# Load new settings before rebuilding the index\nkillall mds > /dev/null 2>&1\n# Make sure indexing is enabled for the main volume\nsudo mdutil -i on / > /dev/null\n# Rebuild the index from scratch\nsudo mdutil -E / > /dev/null\n\n###############################################################################\n# Terminal & iTerm 2                                                          #\n###############################################################################\n\n# Only use UTF-8 in Terminal.app\ndefaults write com.apple.terminal StringEncodings -array 4\n\n# Use a modified version of the Solarized Dark theme by default in Terminal.app\nosascript <<EOD\n\ntell application \"Terminal\"\n\n\tlocal allOpenedWindows\n\tlocal initialOpenedWindows\n\tlocal windowID\n\tset themeName to \"Solarized Dark xterm-256color\"\n\n\t(* Store the IDs of all the open terminal windows. *)\n\tset initialOpenedWindows to id of every window\n\n\t(* Open the custom theme so that it gets added to the list\n\t   of available terminal themes (note: this will open two\n\t   additional terminal windows). *)\n\tdo shell script \"open '$HOME/init/\" & themeName & \".terminal'\"\n\n\t(* Wait a little bit to ensure that the custom theme is added. *)\n\tdelay 1\n\n\t(* Set the custom theme as the default terminal theme. *)\n\tset default settings to settings set themeName\n\n\t(* Get the IDs of all the currently opened terminal windows. *)\n\tset allOpenedWindows to id of every window\n\n\trepeat with windowID in allOpenedWindows\n\n\t\t(* Close the additional windows that were opened in order\n\t\t   to add the custom theme to the list of terminal themes. *)\n\t\tif initialOpenedWindows does not contain windowID then\n\t\t\tclose (every window whose id is windowID)\n\n\t\t(* Change the theme for the initial opened terminal windows\n\t\t   to remove the need to close them in order for the custom\n\t\t   theme to be applied. *)\n\t\telse\n\t\t\tset current settings of tabs of (every window whose id is windowID) to settings set themeName\n\t\tend if\n\n\tend repeat\n\nend tell\n\nEOD\n\n# Enable “focus follows mouse” for Terminal.app and all X11 apps\n# i.e. hover over a window and start typing in it without clicking first\n#defaults write com.apple.terminal FocusFollowsMouse -bool true\n#defaults write org.x.X11 wm_ffm -bool true\n\n# Enable Secure Keyboard Entry in Terminal.app\n# See: https://security.stackexchange.com/a/47786/8918\ndefaults write com.apple.terminal SecureKeyboardEntry -bool true\n\n# Disable the annoying line marks\ndefaults write com.apple.Terminal ShowLineMarks -int 0\n\n# Install the Solarized Dark theme for iTerm\nopen \"${HOME}/init/Solarized Dark.itermcolors\"\n\n# Don’t display the annoying prompt when quitting iTerm\ndefaults write com.googlecode.iterm2 PromptOnQuit -bool false\n\n###############################################################################\n# Time Machine                                                                #\n###############################################################################\n\n# Prevent Time Machine from prompting to use new hard drives as backup volume\ndefaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true\n\n# Disable local Time Machine backups\nhash tmutil &> /dev/null && sudo tmutil disablelocal\n\n###############################################################################\n# Activity Monitor                                                            #\n###############################################################################\n\n# Show the main window when launching Activity Monitor\ndefaults write com.apple.ActivityMonitor OpenMainWindow -bool true\n\n# Visualize CPU usage in the Activity Monitor Dock icon\ndefaults write com.apple.ActivityMonitor IconType -int 5\n\n# Show all processes in Activity Monitor\ndefaults write com.apple.ActivityMonitor ShowCategory -int 0\n\n# Sort Activity Monitor results by CPU usage\ndefaults write com.apple.ActivityMonitor SortColumn -string \"CPUUsage\"\ndefaults write com.apple.ActivityMonitor SortDirection -int 0\n\n###############################################################################\n# Address Book, Dashboard, iCal, TextEdit, and Disk Utility                   #\n###############################################################################\n\n# Enable the debug menu in Address Book\ndefaults write com.apple.addressbook ABShowDebugMenu -bool true\n\n# Enable Dashboard dev mode (allows keeping widgets on the desktop)\ndefaults write com.apple.dashboard devmode -bool true\n\n# Enable the debug menu in iCal (pre-10.8)\ndefaults write com.apple.iCal IncludeDebugMenu -bool true\n\n# Use plain text mode for new TextEdit documents\ndefaults write com.apple.TextEdit RichText -int 0\n# Open and save files as UTF-8 in TextEdit\ndefaults write com.apple.TextEdit PlainTextEncoding -int 4\ndefaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4\n\n# Enable the debug menu in Disk Utility\ndefaults write com.apple.DiskUtility DUDebugMenuEnabled -bool true\ndefaults write com.apple.DiskUtility advanced-image-options -bool true\n\n# Auto-play videos when opened with QuickTime Player\ndefaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen -bool true\n\n###############################################################################\n# Mac App Store                                                               #\n###############################################################################\n\n# Enable the WebKit Developer Tools in the Mac App Store\ndefaults write com.apple.appstore WebKitDeveloperExtras -bool true\n\n# Enable Debug Menu in the Mac App Store\ndefaults write com.apple.appstore ShowDebugMenu -bool true\n\n# Enable the automatic update check\ndefaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true\n\n# Check for software updates daily, not just once per week\ndefaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1\n\n# Download newly available updates in background\ndefaults write com.apple.SoftwareUpdate AutomaticDownload -int 1\n\n# Install System data files & security updates\ndefaults write com.apple.SoftwareUpdate CriticalUpdateInstall -int 1\n\n# Automatically download apps purchased on other Macs\ndefaults write com.apple.SoftwareUpdate ConfigDataInstall -int 1\n\n# Turn on app auto-update\ndefaults write com.apple.commerce AutoUpdate -bool true\n\n# Allow the App Store to reboot machine on macOS updates\ndefaults write com.apple.commerce AutoUpdateRestartRequired -bool true\n\n###############################################################################\n# Photos                                                                      #\n###############################################################################\n\n# Prevent Photos from opening automatically when devices are plugged in\ndefaults -currentHost write com.apple.ImageCapture disableHotPlug -bool true\n\n###############################################################################\n# Messages                                                                    #\n###############################################################################\n\n# Disable automatic emoji substitution (i.e. use plain text smileys)\ndefaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add \"automaticEmojiSubstitutionEnablediMessage\" -bool false\n\n# Disable smart quotes as it’s annoying for messages that contain code\ndefaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add \"automaticQuoteSubstitutionEnabled\" -bool false\n\n# Disable continuous spell checking\ndefaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add \"continuousSpellCheckingEnabled\" -bool false\n\n###############################################################################\n# Google Chrome & Google Chrome Canary                                        #\n###############################################################################\n\n# Disable the all too sensitive backswipe on trackpads\ndefaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool false\ndefaults write com.google.Chrome.canary AppleEnableSwipeNavigateWithScrolls -bool false\n\n# Disable the all too sensitive backswipe on Magic Mouse\ndefaults write com.google.Chrome AppleEnableMouseSwipeNavigateWithScrolls -bool false\ndefaults write com.google.Chrome.canary AppleEnableMouseSwipeNavigateWithScrolls -bool false\n\n# Use the system-native print preview dialog\ndefaults write com.google.Chrome DisablePrintPreview -bool true\ndefaults write com.google.Chrome.canary DisablePrintPreview -bool true\n\n# Expand the print dialog by default\ndefaults write com.google.Chrome PMPrintingExpandedStateForPrint2 -bool true\ndefaults write com.google.Chrome.canary PMPrintingExpandedStateForPrint2 -bool true\n\n###############################################################################\n# GPGMail 2                                                                   #\n###############################################################################\n\n# Disable signing emails by default\ndefaults write ~/Library/Preferences/org.gpgtools.gpgmail SignNewEmailsByDefault -bool false\n\n###############################################################################\n# Opera & Opera Developer                                                     #\n###############################################################################\n\n# Expand the print dialog by default\ndefaults write com.operasoftware.Opera PMPrintingExpandedStateForPrint2 -boolean true\ndefaults write com.operasoftware.OperaDeveloper PMPrintingExpandedStateForPrint2 -boolean true\n\n###############################################################################\n# SizeUp.app                                                                  #\n###############################################################################\n\n# Start SizeUp at login\ndefaults write com.irradiatedsoftware.SizeUp StartAtLogin -bool true\n\n# Don’t show the preferences window on next start\ndefaults write com.irradiatedsoftware.SizeUp ShowPrefsOnNextStart -bool false\n\n###############################################################################\n# Sublime Text                                                                #\n###############################################################################\n\n# Install Sublime Text settings\ncp -r init/Preferences.sublime-settings ~/Library/Application\\ Support/Sublime\\ Text*/Packages/User/Preferences.sublime-settings 2> /dev/null\n\n###############################################################################\n# Spectacle.app                                                               #\n###############################################################################\n\n# Set up my preferred keyboard shortcuts\ncp -r init/spectacle.json ~/Library/Application\\ Support/Spectacle/Shortcuts.json 2> /dev/null\n\n###############################################################################\n# Transmission.app                                                            #\n###############################################################################\n\n# Use `~/Documents/Torrents` to store incomplete downloads\ndefaults write org.m0k.transmission UseIncompleteDownloadFolder -bool true\ndefaults write org.m0k.transmission IncompleteDownloadFolder -string \"${HOME}/Documents/Torrents\"\n\n# Use `~/Downloads` to store completed downloads\ndefaults write org.m0k.transmission DownloadLocationConstant -bool true\n\n# Don’t prompt for confirmation before downloading\ndefaults write org.m0k.transmission DownloadAsk -bool false\ndefaults write org.m0k.transmission MagnetOpenAsk -bool false\n\n# Don’t prompt for confirmation before removing non-downloading active transfers\ndefaults write org.m0k.transmission CheckRemoveDownloading -bool true\n\n# Trash original torrent files\ndefaults write org.m0k.transmission DeleteOriginalTorrent -bool true\n\n# Hide the donate message\ndefaults write org.m0k.transmission WarningDonate -bool false\n# Hide the legal disclaimer\ndefaults write org.m0k.transmission WarningLegal -bool false\n\n# IP block list.\n# Source: https://giuliomac.wordpress.com/2014/02/19/best-blocklist-for-transmission/\ndefaults write org.m0k.transmission BlocklistNew -bool true\ndefaults write org.m0k.transmission BlocklistURL -string \"http://john.bitsurge.net/public/biglist.p2p.gz\"\ndefaults write org.m0k.transmission BlocklistAutoUpdate -bool true\n\n# Randomize port on launch\ndefaults write org.m0k.transmission RandomPort -bool true\n\n###############################################################################\n# Twitter.app                                                                 #\n###############################################################################\n\n# Disable smart quotes as it’s annoying for code tweets\ndefaults write com.twitter.twitter-mac AutomaticQuoteSubstitutionEnabled -bool false\n\n# Show the app window when clicking the menu bar icon\ndefaults write com.twitter.twitter-mac MenuItemBehavior -int 1\n\n# Enable the hidden ‘Develop’ menu\ndefaults write com.twitter.twitter-mac ShowDevelopMenu -bool true\n\n# Open links in the background\ndefaults write com.twitter.twitter-mac openLinksInBackground -bool true\n\n# Allow closing the ‘new tweet’ window by pressing `Esc`\ndefaults write com.twitter.twitter-mac ESCClosesComposeWindow -bool true\n\n# Show full names rather than Twitter handles\ndefaults write com.twitter.twitter-mac ShowFullNames -bool true\n\n# Hide the app in the background if it’s not the front-most window\ndefaults write com.twitter.twitter-mac HideInBackground -bool true\n\n###############################################################################\n# Tweetbot.app                                                                #\n###############################################################################\n\n# Bypass the annoyingly slow t.co URL shortener\ndefaults write com.tapbots.TweetbotMac OpenURLsDirectly -bool true\n\n###############################################################################\n# Kill affected applications                                                  #\n###############################################################################\n\nfor app in \"Activity Monitor\" \\\n\t\"Address Book\" \\\n\t\"Calendar\" \\\n\t\"cfprefsd\" \\\n\t\"Contacts\" \\\n\t\"Dock\" \\\n\t\"Finder\" \\\n\t\"Google Chrome Canary\" \\\n\t\"Google Chrome\" \\\n\t\"Mail\" \\\n\t\"Messages\" \\\n\t\"Opera\" \\\n\t\"Photos\" \\\n\t\"Safari\" \\\n\t\"SizeUp\" \\\n\t\"Spectacle\" \\\n\t\"SystemUIServer\" \\\n\t\"Terminal\" \\\n\t\"Transmission\" \\\n\t\"Tweetbot\" \\\n\t\"Twitter\" \\\n\t\"iCal\"; do\n\tkillall \"${app}\" &> /dev/null\ndone\necho \"Done. Note that some of these changes require a logout/restart to take effect.\"\n"
  },
  {
    "path": ".osx",
    "content": "# 301 https://github.com/mathiasbynens/dotfiles/blob/main/.macos\n"
  },
  {
    "path": ".screenrc",
    "content": "# Disable the startup message\nstartup_message off\n\n# Set a large scrollback buffer\ndefscrollback 32000\n\n# Always start `screen` with UTF-8 enabled (`screen -U`)\ndefutf8 on\n"
  },
  {
    "path": ".tmux.conf",
    "content": "# Use Ctrl+A as the prefix key\nset -g prefix C-a\nunbind C-b\nbind C-a send-prefix\n\n# Use Vim shortcuts\nsetw -g mode-keys vi\n\n# Make `Ctrl+A R` reload the config file\nunbind r\nbind r source-file ~/.tmux.conf\n"
  },
  {
    "path": ".vim/backups/.gitkeep",
    "content": ""
  },
  {
    "path": ".vim/colors/solarized.vim",
    "content": "\" Name:     Solarized vim colorscheme\n\" Author:   Ethan Schoonover <es@ethanschoonover.com>\n\" URL:      http://ethanschoonover.com/solarized\n\"           (see this url for latest release & screenshots)\n\" License:  OSI approved MIT license (see end of this file)\n\" Created:  In the middle of the night\n\" Modified: 2011 Apr 14\n\"\n\" Usage \"{{{\n\"\n\" ---------------------------------------------------------------------\n\" ABOUT:\n\" ---------------------------------------------------------------------\n\" Solarized is a carefully designed selective contrast colorscheme with dual\n\" light and dark modes that runs in both GUI, 256 and 16 color modes.\n\"\n\" See the homepage above for screenshots and details.\n\"\n\" ---------------------------------------------------------------------\n\" INSTALLATION:\n\" ---------------------------------------------------------------------\n\"\n\" Two options for installation: manual or pathogen\n\"\n\" MANUAL INSTALLATION OPTION:\n\" ---------------------------------------------------------------------\n\"\n\" 1.  Put the files in the right place!\n\" 2.  Move `solarized.vim` to your `.vim/colors` directory.\n\"\n\" RECOMMENDED PATHOGEN INSTALLATION OPTION:\n\" ---------------------------------------------------------------------\n\"\n\" 1.  Download and install Tim Pope's Pathogen from:\n\"     https://github.com/tpope/vim-pathogen\n\"\n\" 2.  Next, move or clone the `vim-colors-solarized` directory so that it is\n\"     a subdirectory of the `.vim/bundle` directory.\n\"\n\"     a. **clone with git:**\n\"\n\"       $ cd ~/.vim/bundle\n\"       $ git clone git://github.com/altercation/vim-colors-solarized.git\n\"\n\"     b. **or move manually into the pathogen bundle directory:**\n\"         In the parent directory of vim-colors-solarized:\n\"\n\"         $ mv vim-colors-solarized ~/.vim/bundle/\n\"\n\" MODIFY VIMRC:\n\"\n\" After either Option 1 or Option 2 above, put the following two lines in your\n\" .vimrc:\n\"\n\"     syntax enable\n\"     set background=dark\n\"     colorscheme solarized\n\"\n\" or, for the light background mode of Solarized:\n\"\n\"     syntax enable\n\"     set background=light\n\"     colorscheme solarized\n\"\n\" I like to have a different background in GUI and terminal modes, so I can use\n\" the following if-then. However, I find vim's background autodetection to be\n\" pretty good and, at least with MacVim, I can leave this background value\n\" assignment out entirely and get the same results.\n\"\n\"     if has('gui_running')\n\"       set background=light\n\"     else\n\"       set background=dark\n\"     endif\n\"\n\" See the Solarized homepage at http://ethanschoonover.com/solarized for\n\" screenshots which will help you select either the light or dark background.\n\"\n\" Other options are detailed below.\n\"\n\" IMPORTANT NOTE FOR TERMINAL USERS:\n\" \n\" If you are going to use Solarized in Terminal mode (i.e. not in a GUI version \n\" like gvim or macvim), **please please please** consider setting your terminal \n\" emulator's colorscheme to used the Solarized palette. I've included palettes \n\" for some popular terminal emulator as well as Xdefaults in the official \n\" Solarized download available from [Solarized homepage]. If you use \n\" Solarized *without* these colors, Solarized will need to be told to degrade\n\" its colorscheme to a set compatible with the limited 256 terminal palette \n\" (whereas by using the terminal's 16 ansi color values, you can set the \n\" correct, specific values for the Solarized palette).\n\" \n\" If you do use the custom terminal colors, solarized.vim should work out of \n\" the box for you. If you are using a terminal emulator that supports 256 \n\" colors and don't want to use the custom Solarized terminal colors, you will \n\" need to use the degraded 256 colorscheme. To do so, simply add the following \n\" line *before* the `colorschem solarized` line:\n\" \n\"     let g:solarized_termcolors=256\n\" \n\" Again, I recommend just changing your terminal colors to Solarized values \n\" either manually or via one of the many terminal schemes available for import.\n\"\n\" ---------------------------------------------------------------------\n\" TOGGLE BACKGROUND FUNCTION:\n\" ---------------------------------------------------------------------\n\" \n\" Solarized comes with a Toggle Background plugin that by default will map to \n\" <F5> if that mapping is available. If it is not available you will need to \n\" either map the function manually or change your current <F5> mapping to \n\" something else. If you wish to map the function manually, enter the following \n\" lines in your .vimrc:\n\" \n\"     nmap <unique> <F5> <Plug>ToggleBackground\n\"     imap <unique> <F5> <Plug>ToggleBackground\n\"     vmap <unique> <F5> <Plug>ToggleBackground\n\" \n\" Note that it is important to *not* use the noremap map variants. The plugin \n\" uses noremap internally. You may run `:help togglebg` for more information.\n\"\n\" ---------------------------------------------------------------------\n\" OPTIONS\n\" ---------------------------------------------------------------------\n\"\n\" Set these in your vimrc file prior to calling the colorscheme.\n\"\n\" option name               default     optional\n\" ------------------------------------------------\n\" g:solarized_termcolors=   16      |   256\n\" g:solarized_termtrans =   0       |   1\n\" g:solarized_degrade   =   0       |   1\n\" g:solarized_bold      =   1       |   0\n\" g:solarized_underline =   1       |   0\n\" g:solarized_italic    =   1       |   0\n\" g:solarized_contrast  =   \"normal\"|   \"high\" or \"low\"\n\" g:solarized_visibility=   \"normal\"|   \"high\" or \"low\"\n\" ------------------------------------------------\n\"\n\" OPTION DETAILS\n\"\n\" ------------------------------------------------\n\" g:solarized_termcolors=   256     |   16\n\" ------------------------------------------------\n\" The most important option if you are using vim in terminal (non gui) mode!\n\" This tells Solarized to use the 256 degraded color mode if running in a 256\n\" color capable terminal.  Otherwise, if set to `16` it will use the terminal\n\" emulators colorscheme (best option as long as you've set the emulators colors\n\" to the Solarized palette).\n\"\n\" If you are going to use Solarized in Terminal mode (i.e. not in a GUI\n\" version like gvim or macvim), **please please please** consider setting your\n\" terminal emulator's colorscheme to used the Solarized palette. I've included\n\" palettes for some popular terminal emulator as well as Xdefaults in the\n\" official Solarized download available from:\n\" http://ethanschoonover.com/solarized . If you use Solarized without these\n\" colors, Solarized will by default use an approximate set of 256 colors.  It\n\" isn't bad looking and has been extensively tweaked, but it's still not quite\n\" the real thing.\n\"\n\" ------------------------------------------------\n\" g:solarized_termtrans =   0       |   1\n\" ------------------------------------------------\n\" If you use a terminal emulator with a transparent background and Solarized\n\" isn't displaying the background color transparently, set this to 1 and\n\" Solarized will use the default (transparent) background of the terminal\n\" emulator. *urxvt* required this in my testing; iTerm2 did not.\n\"\n\" Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by \n\" default as this is almost always the best option. The only exception to this \n\" is if the working terminfo file supports 256 colors (xterm-256color).\n\"\n\" ------------------------------------------------\n\" g:solarized_degrade   =   0       |   1\n\" ------------------------------------------------\n\" For test purposes only; forces Solarized to use the 256 degraded color mode\n\" to test the approximate color values for accuracy.\n\"\n\" ------------------------------------------------\n\" g:solarized_bold      =   1       |   0\n\" ------------------------------------------------\n\" ------------------------------------------------\n\" g:solarized_underline =   1       |   0\n\" ------------------------------------------------\n\" ------------------------------------------------\n\" g:solarized_italic    =   1       |   0\n\" ------------------------------------------------\n\" If you wish to stop Solarized from displaying bold, underlined or\n\" italicized typefaces, simply assign a zero value to the appropriate\n\" variable, for example: `let g:solarized_italic=0`\n\"\n\" ------------------------------------------------\n\" g:solarized_contrast  =   \"normal\"|   \"high\" or \"low\"\n\" ------------------------------------------------\n\" Stick with normal! It's been carefully tested. Setting this option to high\n\" or low does use the same Solarized palette but simply shifts some values up\n\" or down in order to expand or compress the tonal range displayed.\n\"\n\" ------------------------------------------------\n\" g:solarized_visibility =  \"normal\"|   \"high\" or \"low\"\n\" ------------------------------------------------\n\" Special characters such as trailing whitespace, tabs, newlines, when \n\" displayed using \":set list\" can be set to one of three levels depending on \n\" your needs.\n\"\n\" ---------------------------------------------------------------------\n\" COLOR VALUES\n\" ---------------------------------------------------------------------\n\" Download palettes and files from: http://ethanschoonover.com/solarized\n\"\n\" L\\*a\\*b values are canonical (White D65, Reference D50), other values are\n\" matched in sRGB space.\n\"\n\" SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      sRGB        HSB\n\" --------- ------- ---- -------  ----------- ---------- ----------- -----------\n\" base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21\n\" base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26\n\" base01    #586e75 10/7 brgreen  240 #4e4e4e 45 -07 -07  88 110 117 194  25  46\n\" base00    #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195  23  51\n\" base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59\n\" base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63\n\" base2     #eee8d5  7/7 white    254 #d7d7af 92 -00  10 238 232 213  44  11  93\n\" base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99\n\" yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71\n\" orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80\n\" red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86\n\" magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83\n\" violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77\n\" blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82\n\" cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63\n\" green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60\n\"\n\" ---------------------------------------------------------------------\n\" COLORSCHEME HACKING\n\" ---------------------------------------------------------------------\n\"\n\" Useful commands for testing colorschemes:\n\" :source $VIMRUNTIME/syntax/hitest.vim\n\" :help highlight-groups\n\" :help cterm-colors\n\" :help group-name\n\"\n\" Useful links for developing colorschemes:\n\" http://www.vim.org/scripts/script.php?script_id=2937\n\" http://vimcasts.org/episodes/creating-colorschemes-for-vim/\n\" http://www.frexx.de/xterm-256-notes/\"\n\"\n\"\n\" }}}\n\" Default option values\"{{{\n\" ---------------------------------------------------------------------\nif !exists(\"g:solarized_termtrans\")\n    if ($TERM_PROGRAM ==? \"apple_terminal\" && &t_Co < 256)\n        let g:solarized_termtrans = 1\n    else\n        let g:solarized_termtrans = 0\n    endif\nendif\nif !exists(\"g:solarized_degrade\")\n    let g:solarized_degrade = 0\nendif\nif !exists(\"g:solarized_bold\")\n    let g:solarized_bold = 1\nendif\nif !exists(\"g:solarized_underline\")\n    let g:solarized_underline = 1\nendif\nif !exists(\"g:solarized_italic\")\n    let g:solarized_italic = 1\nendif\nif !exists(\"g:solarized_termcolors\")\n    let g:solarized_termcolors = 16\nendif\nif !exists(\"g:solarized_contrast\")\n    let g:solarized_contrast = \"normal\"\nendif\nif !exists(\"g:solarized_visibility\")\n    let g:solarized_visibility = \"normal\"\nendif\n\"}}}\n\" Colorscheme initialization \"{{{\n\" ---------------------------------------------------------------------\nhi clear\nif exists(\"syntax_on\")\n  syntax reset\nendif\nlet colors_name = \"solarized\"\n\n\"}}}\n\" GUI & CSApprox hexadecimal palettes\"{{{\n\" ---------------------------------------------------------------------\n\"\n\" Set both gui and terminal color values in separate conditional statements\n\" Due to possibility that CSApprox is running (though I suppose we could just\n\" leave the hex values out entirely in that case and include only cterm colors)\n\" We also check to see if user has set solarized (force use of the\n\" neutral gray monotone palette component)\nif (has(\"gui_running\") && g:solarized_degrade == 0)\n    let s:vmode       = \"gui\"\n    let s:base03      = \"#002b36\"\n    let s:base02      = \"#073642\"\n    let s:base01      = \"#586e75\"\n    let s:base00      = \"#657b83\"\n    let s:base0       = \"#839496\"\n    let s:base1       = \"#93a1a1\"\n    let s:base2       = \"#eee8d5\"\n    let s:base3       = \"#fdf6e3\"\n    let s:yellow      = \"#b58900\"\n    let s:orange      = \"#cb4b16\"\n    let s:red         = \"#dc322f\"\n    let s:magenta     = \"#d33682\"\n    let s:violet      = \"#6c71c4\"\n    let s:blue        = \"#268bd2\"\n    let s:cyan        = \"#2aa198\"\n    let s:green       = \"#859900\"\nelseif (has(\"gui_running\") && g:solarized_degrade == 1)\n    \" These colors are identical to the 256 color mode. They may be viewed\n    \" while in gui mode via \"let g:solarized_degrade=1\", though this is not\n    \" recommened and is for testing only.\n    let s:vmode       = \"gui\"\n    let s:base03      = \"#1c1c1c\"\n    let s:base02      = \"#262626\"\n    let s:base01      = \"#4e4e4e\"\n    let s:base00      = \"#585858\"\n    let s:base0       = \"#808080\"\n    let s:base1       = \"#8a8a8a\"\n    let s:base2       = \"#d7d7af\"\n    let s:base3       = \"#ffffd7\"\n    let s:yellow      = \"#af8700\"\n    let s:orange      = \"#d75f00\"\n    let s:red         = \"#af0000\"\n    let s:magenta     = \"#af005f\"\n    let s:violet      = \"#5f5faf\"\n    let s:blue        = \"#0087ff\"\n    let s:cyan        = \"#00afaf\"\n    let s:green       = \"#5f8700\"\nelseif g:solarized_termcolors != 256 && &t_Co >= 16\n    let s:vmode       = \"cterm\"\n    let s:base03      = \"8\"\n    let s:base02      = \"0\"\n    let s:base01      = \"10\"\n    let s:base00      = \"11\"\n    let s:base0       = \"12\"\n    let s:base1       = \"14\"\n    let s:base2       = \"7\"\n    let s:base3       = \"15\"\n    let s:yellow      = \"3\"\n    let s:orange      = \"9\"\n    let s:red         = \"1\"\n    let s:magenta     = \"5\"\n    let s:violet      = \"13\"\n    let s:blue        = \"4\"\n    let s:cyan        = \"6\"\n    let s:green       = \"2\"\nelseif g:solarized_termcolors == 256\n    let s:vmode       = \"cterm\"\n    let s:base03      = \"234\"\n    let s:base02      = \"235\"\n    let s:base01      = \"239\"\n    let s:base00      = \"240\"\n    let s:base0       = \"244\"\n    let s:base1       = \"245\"\n    let s:base2       = \"187\"\n    let s:base3       = \"230\"\n    let s:yellow      = \"136\"\n    let s:orange      = \"166\"\n    let s:red         = \"124\"\n    let s:magenta     = \"125\"\n    let s:violet      = \"61\"\n    let s:blue        = \"33\"\n    let s:cyan        = \"37\"\n    let s:green       = \"64\"\nelse\n    let s:vmode       = \"cterm\"\n    let s:bright      = \"* term=bold cterm=bold\"\n    let s:base03      = \"0\".s:bright\n    let s:base02      = \"0\"\n    let s:base01      = \"2\".s:bright\n    let s:base00      = \"3\".s:bright\n    let s:base0       = \"4\".s:bright\n    let s:base1       = \"6\".s:bright\n    let s:base2       = \"7\"\n    let s:base3       = \"7\".s:bright\n    let s:yellow      = \"3\"\n    let s:orange      = \"1\".s:bright\n    let s:red         = \"1\"\n    let s:magenta     = \"5\"\n    let s:violet      = \"13\"\n    let s:blue        = \"4\"\n    let s:cyan        = \"6\"\n    let s:green       = \"2\"\nendif\n\"}}}\n\" Formatting options and null values for passthrough effect \"{{{\n\" ---------------------------------------------------------------------\n    let s:none            = \"NONE\"\n    let s:none            = \"NONE\"\n    let s:t_none          = \"NONE\"\n    let s:n               = \"NONE\"\n    let s:c               = \",undercurl\"\n    let s:r               = \",reverse\"\n    let s:s               = \",standout\"\n    let s:ou              = \"\"\n    let s:ob              = \"\"\n\"}}}\n\" Background value based on termtrans setting \"{{{\n\" ---------------------------------------------------------------------\nif (has(\"gui_running\") || g:solarized_termtrans == 0)\n    let s:back        = s:base03\nelse\n    let s:back        = \"NONE\"\nendif\n\"}}}\n\" Alternate light scheme \"{{{\n\" ---------------------------------------------------------------------\nif &background == \"light\"\n    let s:temp03      = s:base03\n    let s:temp02      = s:base02\n    let s:temp01      = s:base01\n    let s:temp00      = s:base00\n    let s:base03      = s:base3\n    let s:base02      = s:base2\n    let s:base01      = s:base1\n    let s:base00      = s:base0\n    let s:base0       = s:temp00\n    let s:base1       = s:temp01\n    let s:base2       = s:temp02\n    let s:base3       = s:temp03\n    if (s:back != \"NONE\")\n        let s:back    = s:base03\n    endif\nendif\n\"}}}\n\" Optional contrast schemes \"{{{\n\" ---------------------------------------------------------------------\nif g:solarized_contrast == \"high\"\n    let s:base01      = s:base00\n    let s:base00      = s:base0\n    let s:base0       = s:base1\n    let s:base1       = s:base2\n    let s:base2       = s:base3\n    let s:back        = s:back\nendif\nif g:solarized_contrast == \"low\"\n    let s:back        = s:base02\n    let s:ou          = \",underline\"\nendif\n\"}}}\n\" Overrides dependent on user specified values\"{{{\n\" ---------------------------------------------------------------------\nif g:solarized_bold == 1\n    let s:b           = \",bold\"\nelse\n    let s:b           = \"\"\nendif\n\nif g:solarized_underline == 1\n    let s:u           = \",underline\"\nelse\n    let s:u           = \"\"\nendif\n\nif g:solarized_italic == 1\n    let s:i           = \",italic\"\nelse\n    let s:i           = \"\"\nendif\n\"}}}\n\" Highlighting primitives\"{{{\n\" ---------------------------------------------------------------------\n\nexe \"let s:bg_none      = ' \".s:vmode.\"bg=\".s:none   .\"'\"\nexe \"let s:bg_back      = ' \".s:vmode.\"bg=\".s:back   .\"'\"\nexe \"let s:bg_base03    = ' \".s:vmode.\"bg=\".s:base03 .\"'\"\nexe \"let s:bg_base02    = ' \".s:vmode.\"bg=\".s:base02 .\"'\"\nexe \"let s:bg_base01    = ' \".s:vmode.\"bg=\".s:base01 .\"'\"\nexe \"let s:bg_base00    = ' \".s:vmode.\"bg=\".s:base00 .\"'\"\nexe \"let s:bg_base0     = ' \".s:vmode.\"bg=\".s:base0  .\"'\"\nexe \"let s:bg_base1     = ' \".s:vmode.\"bg=\".s:base1  .\"'\"\nexe \"let s:bg_base2     = ' \".s:vmode.\"bg=\".s:base2  .\"'\"\nexe \"let s:bg_base3     = ' \".s:vmode.\"bg=\".s:base3  .\"'\"\nexe \"let s:bg_green     = ' \".s:vmode.\"bg=\".s:green  .\"'\"\nexe \"let s:bg_yellow    = ' \".s:vmode.\"bg=\".s:yellow .\"'\"\nexe \"let s:bg_orange    = ' \".s:vmode.\"bg=\".s:orange .\"'\"\nexe \"let s:bg_red       = ' \".s:vmode.\"bg=\".s:red    .\"'\"\nexe \"let s:bg_magenta   = ' \".s:vmode.\"bg=\".s:magenta.\"'\"\nexe \"let s:bg_violet    = ' \".s:vmode.\"bg=\".s:violet .\"'\"\nexe \"let s:bg_blue      = ' \".s:vmode.\"bg=\".s:blue   .\"'\"\nexe \"let s:bg_cyan      = ' \".s:vmode.\"bg=\".s:cyan   .\"'\"\n\nexe \"let s:fg_none      = ' \".s:vmode.\"fg=\".s:none   .\"'\"\nexe \"let s:fg_back      = ' \".s:vmode.\"fg=\".s:back   .\"'\"\nexe \"let s:fg_base03    = ' \".s:vmode.\"fg=\".s:base03 .\"'\"\nexe \"let s:fg_base02    = ' \".s:vmode.\"fg=\".s:base02 .\"'\"\nexe \"let s:fg_base01    = ' \".s:vmode.\"fg=\".s:base01 .\"'\"\nexe \"let s:fg_base00    = ' \".s:vmode.\"fg=\".s:base00 .\"'\"\nexe \"let s:fg_base0     = ' \".s:vmode.\"fg=\".s:base0  .\"'\"\nexe \"let s:fg_base1     = ' \".s:vmode.\"fg=\".s:base1  .\"'\"\nexe \"let s:fg_base2     = ' \".s:vmode.\"fg=\".s:base2  .\"'\"\nexe \"let s:fg_base3     = ' \".s:vmode.\"fg=\".s:base3  .\"'\"\nexe \"let s:fg_green     = ' \".s:vmode.\"fg=\".s:green  .\"'\"\nexe \"let s:fg_yellow    = ' \".s:vmode.\"fg=\".s:yellow .\"'\"\nexe \"let s:fg_orange    = ' \".s:vmode.\"fg=\".s:orange .\"'\"\nexe \"let s:fg_red       = ' \".s:vmode.\"fg=\".s:red    .\"'\"\nexe \"let s:fg_magenta   = ' \".s:vmode.\"fg=\".s:magenta.\"'\"\nexe \"let s:fg_violet    = ' \".s:vmode.\"fg=\".s:violet .\"'\"\nexe \"let s:fg_blue      = ' \".s:vmode.\"fg=\".s:blue   .\"'\"\nexe \"let s:fg_cyan      = ' \".s:vmode.\"fg=\".s:cyan   .\"'\"\n\nexe \"let s:fmt_none     = ' \".s:vmode.\"=NONE\".          \" term=NONE\".    \"'\"\nexe \"let s:fmt_bold     = ' \".s:vmode.\"=NONE\".s:b.      \" term=NONE\".s:b.\"'\"\nexe \"let s:fmt_bldi     = ' \".s:vmode.\"=NONE\".s:b.      \" term=NONE\".s:b.\"'\"\nexe \"let s:fmt_undr     = ' \".s:vmode.\"=NONE\".s:u.      \" term=NONE\".s:u.\"'\"\nexe \"let s:fmt_undb     = ' \".s:vmode.\"=NONE\".s:u.s:b.  \" term=NONE\".s:u.s:b.\"'\"\nexe \"let s:fmt_undi     = ' \".s:vmode.\"=NONE\".s:u.      \" term=NONE\".s:u.\"'\"\nexe \"let s:fmt_uopt     = ' \".s:vmode.\"=NONE\".s:ou.     \" term=NONE\".s:ou.\"'\"\nexe \"let s:fmt_curl     = ' \".s:vmode.\"=NONE\".s:c.      \" term=NONE\".s:c.\"'\"\nexe \"let s:fmt_ital     = ' \".s:vmode.\"=NONE\".          \" term=NONE\".    \"'\"\nexe \"let s:fmt_revr     = ' \".s:vmode.\"=NONE\".s:r.      \" term=NONE\".s:r.\"'\"\nexe \"let s:fmt_stnd     = ' \".s:vmode.\"=NONE\".s:s.      \" term=NONE\".s:s.\"'\"\n\nif has(\"gui_running\")\n    exe \"let s:sp_none      = ' guisp=\".s:none   .\"'\"\n    exe \"let s:sp_back      = ' guisp=\".s:back   .\"'\"\n    exe \"let s:sp_base03    = ' guisp=\".s:base03 .\"'\"\n    exe \"let s:sp_base02    = ' guisp=\".s:base02 .\"'\"\n    exe \"let s:sp_base01    = ' guisp=\".s:base01 .\"'\"\n    exe \"let s:sp_base00    = ' guisp=\".s:base00 .\"'\"\n    exe \"let s:sp_base0     = ' guisp=\".s:base0  .\"'\"\n    exe \"let s:sp_base1     = ' guisp=\".s:base1  .\"'\"\n    exe \"let s:sp_base2     = ' guisp=\".s:base2  .\"'\"\n    exe \"let s:sp_base3     = ' guisp=\".s:base3  .\"'\"\n    exe \"let s:sp_green     = ' guisp=\".s:green  .\"'\"\n    exe \"let s:sp_yellow    = ' guisp=\".s:yellow .\"'\"\n    exe \"let s:sp_orange    = ' guisp=\".s:orange .\"'\"\n    exe \"let s:sp_red       = ' guisp=\".s:red    .\"'\"\n    exe \"let s:sp_magenta   = ' guisp=\".s:magenta.\"'\"\n    exe \"let s:sp_violet    = ' guisp=\".s:violet .\"'\"\n    exe \"let s:sp_blue      = ' guisp=\".s:blue   .\"'\"\n    exe \"let s:sp_cyan      = ' guisp=\".s:cyan   .\"'\"\nelse\n    let s:sp_none      = \"\"\n    let s:sp_back      = \"\"\n    let s:sp_base03    = \"\"\n    let s:sp_base02    = \"\"\n    let s:sp_base01    = \"\"\n    let s:sp_base00    = \"\"\n    let s:sp_base0     = \"\"\n    let s:sp_base1     = \"\"\n    let s:sp_base2     = \"\"\n    let s:sp_base3     = \"\"\n    let s:sp_green     = \"\"\n    let s:sp_yellow    = \"\"\n    let s:sp_orange    = \"\"\n    let s:sp_red       = \"\"\n    let s:sp_magenta   = \"\"\n    let s:sp_violet    = \"\"\n    let s:sp_blue      = \"\"\n    let s:sp_cyan      = \"\"\nendif\n\n\"}}}\n\" Basic highlighting\"{{{\n\" ---------------------------------------------------------------------\n\" note that link syntax to avoid duplicate configuration doesn't work with the\n\" exe compiled formats\n\nexe \"hi! Normal\"         .s:fmt_none   .s:fg_base0  .s:bg_back\n\nexe \"hi! Comment\"        .s:fmt_ital   .s:fg_base01 .s:bg_none\n\"       *Comment         any comment\n\nexe \"hi! Constant\"       .s:fmt_none   .s:fg_cyan   .s:bg_none\n\"       *Constant        any constant\n\"        String          a string constant: \"this is a string\"\n\"        Character       a character constant: 'c', '\\n'\n\"        Number          a number constant: 234, 0xff\n\"        Boolean         a boolean constant: TRUE, false\n\"        Float           a floating point constant: 2.3e10\n\nexe \"hi! Identifier\"     .s:fmt_none   .s:fg_blue   .s:bg_none\n\"       *Identifier      any variable name\n\"        Function        function name (also: methods for classes)\n\"\nexe \"hi! Statement\"      .s:fmt_none   .s:fg_green  .s:bg_none\n\"       *Statement       any statement\n\"        Conditional     if, then, else, endif, switch, etc.\n\"        Repeat          for, do, while, etc.\n\"        Label           case, default, etc.\n\"        Operator        \"sizeof\", \"+\", \"*\", etc.\n\"        Keyword         any other keyword\n\"        Exception       try, catch, throw\n\nexe \"hi! PreProc\"        .s:fmt_none   .s:fg_orange .s:bg_none\n\"       *PreProc         generic Preprocessor\n\"        Include         preprocessor #include\n\"        Define          preprocessor #define\n\"        Macro           same as Define\n\"        PreCondit       preprocessor #if, #else, #endif, etc.\n\nexe \"hi! Type\"           .s:fmt_none   .s:fg_yellow .s:bg_none\n\"       *Type            int, long, char, etc.\n\"        StorageClass    static, register, volatile, etc.\n\"        Structure       struct, union, enum, etc.\n\"        Typedef         A typedef\n\nexe \"hi! Special\"        .s:fmt_none   .s:fg_red    .s:bg_none\n\"       *Special         any special symbol\n\"        SpecialChar     special character in a constant\n\"        Tag             you can use CTRL-] on this\n\"        Delimiter       character that needs attention\n\"        SpecialComment  special things inside a comment\n\"        Debug           debugging statements\n\nexe \"hi! Underlined\"     .s:fmt_none   .s:fg_violet .s:bg_none\n\"       *Underlined      text that stands out, HTML links\n\nexe \"hi! Ignore\"         .s:fmt_none   .s:fg_none   .s:bg_none\n\"       *Ignore          left blank, hidden  |hl-Ignore|\n\nexe \"hi! Error\"          .s:fmt_bold   .s:fg_red    .s:bg_none\n\"       *Error           any erroneous construct\n\nexe \"hi! Todo\"           .s:fmt_bold   .s:fg_magenta.s:bg_none\n\"       *Todo            anything that needs extra attention; mostly the\n\"                        keywords TODO FIXME and XXX\n\"\n\"}}}\n\" Extended highlighting \"{{{\n\" ---------------------------------------------------------------------\nif      (g:solarized_visibility==\"high\")\n    exe \"hi! SpecialKey\"     .s:fmt_revr   .s:fg_red    .s:bg_none\n    exe \"hi! NonText\"        .s:fmt_bold   .s:fg_base1  .s:bg_none\nelseif  (g:solarized_visibility==\"low\")\n    exe \"hi! SpecialKey\"     .s:fmt_bold   .s:fg_base02 .s:bg_none\n    exe \"hi! NonText\"        .s:fmt_bold   .s:fg_base02 .s:bg_none\nelse\n    exe \"hi! SpecialKey\"     .s:fmt_bold   .s:fg_red    .s:bg_none\n    exe \"hi! NonText\"        .s:fmt_bold   .s:fg_base01 .s:bg_none\nendif\nif (has(\"gui_running\")) || &t_Co > 8\n    exe \"hi! StatusLine\"     .s:fmt_none   .s:fg_base02 .s:bg_base1\n    exe \"hi! StatusLineNC\"   .s:fmt_none   .s:fg_base02 .s:bg_base00\n    \"exe \"hi! Visual\"         .s:fmt_stnd   .s:fg_none   .s:bg_base02\n    exe \"hi! Visual\"         .s:fmt_none   .s:fg_base03 .s:bg_base01\nelse\n    exe \"hi! StatusLine\"     .s:fmt_none   .s:fg_base02 .s:bg_base2\n    exe \"hi! StatusLineNC\"   .s:fmt_none   .s:fg_base02 .s:bg_base2\n    exe \"hi! Visual\"         .s:fmt_none   .s:fg_none   .s:bg_base2\nendif\nexe \"hi! Directory\"      .s:fmt_none   .s:fg_blue   .s:bg_none\nexe \"hi! ErrorMsg\"       .s:fmt_revr   .s:fg_red    .s:bg_none\nexe \"hi! IncSearch\"      .s:fmt_stnd   .s:fg_orange .s:bg_none\nexe \"hi! Search\"         .s:fmt_revr   .s:fg_yellow .s:bg_none\nexe \"hi! MoreMsg\"        .s:fmt_none   .s:fg_blue   .s:bg_none\nexe \"hi! ModeMsg\"        .s:fmt_none   .s:fg_blue   .s:bg_none\nexe \"hi! LineNr\"         .s:fmt_none   .s:fg_base01 .s:bg_base02\nexe \"hi! Question\"       .s:fmt_bold   .s:fg_cyan   .s:bg_none\nexe \"hi! VertSplit\"      .s:fmt_bold   .s:fg_base00 .s:bg_base00\nexe \"hi! Title\"          .s:fmt_bold   .s:fg_orange .s:bg_none\nexe \"hi! VisualNOS\"      .s:fmt_stnd   .s:fg_none   .s:bg_base02\nexe \"hi! WarningMsg\"     .s:fmt_bold   .s:fg_red    .s:bg_none\nexe \"hi! WildMenu\"       .s:fmt_none   .s:fg_base2  .s:bg_base02\nexe \"hi! Folded\"         .s:fmt_undb   .s:fg_base0  .s:bg_base02  .s:sp_base03\nexe \"hi! FoldColumn\"     .s:fmt_bold   .s:fg_base0  .s:bg_base02\nexe \"hi! DiffAdd\"        .s:fmt_revr   .s:fg_green  .s:bg_none\nexe \"hi! DiffChange\"     .s:fmt_revr   .s:fg_yellow .s:bg_none\nexe \"hi! DiffDelete\"     .s:fmt_revr   .s:fg_red    .s:bg_none\nexe \"hi! DiffText\"       .s:fmt_revr   .s:fg_blue   .s:bg_none\nexe \"hi! SignColumn\"     .s:fmt_none   .s:fg_base0  .s:bg_base02\nexe \"hi! Conceal\"        .s:fmt_none   .s:fg_blue   .s:bg_none\nexe \"hi! SpellBad\"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_red\nexe \"hi! SpellCap\"       .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_violet\nexe \"hi! SpellRare\"      .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_cyan\nexe \"hi! SpellLocal\"     .s:fmt_curl   .s:fg_none   .s:bg_none    .s:sp_yellow\nexe \"hi! Pmenu\"          .s:fmt_none   .s:fg_base0  .s:bg_base02\nexe \"hi! PmenuSel\"       .s:fmt_none   .s:fg_base2  .s:bg_base01\nexe \"hi! PmenuSbar\"      .s:fmt_none   .s:fg_base0  .s:bg_base2\nexe \"hi! PmenuThumb\"     .s:fmt_none   .s:fg_base03 .s:bg_base0\nexe \"hi! TabLine\"        .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0\nexe \"hi! TabLineSel\"     .s:fmt_undr   .s:fg_base2  .s:bg_base01  .s:sp_base0\nexe \"hi! TabLineFill\"    .s:fmt_undr   .s:fg_base0  .s:bg_base02  .s:sp_base0\nexe \"hi! CursorColumn\"   .s:fmt_none   .s:fg_none   .s:bg_base02\nexe \"hi! CursorLine\"     .s:fmt_uopt   .s:fg_none   .s:bg_base02  .s:sp_base1\nexe \"hi! ColorColumn\"    .s:fmt_none   .s:fg_none   .s:bg_base02\nexe \"hi! Cursor\"         .s:fmt_none   .s:fg_base03 .s:bg_base0\nhi! link lCursor Cursor\nexe \"hi! MatchParen\"     .s:fmt_bold   .s:fg_red    .s:bg_base01\n\n\"}}}\n\" vim syntax highlighting \"{{{\n\" ---------------------------------------------------------------------\nexe \"hi! vimLineComment\" . s:fg_base01 .s:bg_none   .s:fmt_ital\nexe \"hi! vimCommentString\".s:fg_violet .s:bg_none   .s:fmt_none\nhi! link vimVar Identifier\nhi! link vimFunc Function\nhi! link vimUserFunc Function\nexe \"hi! vimCommand\"     . s:fg_yellow .s:bg_none   .s:fmt_none\nexe \"hi! vimCmdSep\"      . s:fg_blue   .s:bg_none   .s:fmt_bold\nexe \"hi! helpExample\"    . s:fg_base1  .s:bg_none   .s:fmt_none\nhi! link helpSpecial Special\nexe \"hi! helpOption\"     . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! helpNote\"       . s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! helpVim\"        . s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! helpHyperTextJump\" .s:fg_blue  .s:bg_none   .s:fmt_undr\nexe \"hi! helpHyperTextEntry\".s:fg_green .s:bg_none   .s:fmt_none\nexe \"hi! vimIsCommand\"   . s:fg_base00 .s:bg_none   .s:fmt_none\nexe \"hi! vimSynMtchOpt\"  . s:fg_yellow .s:bg_none   .s:fmt_none\nexe \"hi! vimSynType\"     . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! vimHiLink\"      . s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! vimHiGroup\"     . s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! vimGroup\"       . s:fg_blue   .s:bg_none   .s:fmt_undb\n\"}}}\n\" html highlighting \"{{{\n\" ---------------------------------------------------------------------\nexe \"hi! htmlTag\"        . s:fg_base01 .s:bg_none   .s:fmt_none\nexe \"hi! htmlEndTag\"     . s:fg_base01 .s:bg_none   .s:fmt_none\nexe \"hi! htmlTagN\"       . s:fg_base1  .s:bg_none   .s:fmt_bold\nexe \"hi! htmlTagName\"    . s:fg_blue   .s:bg_none   .s:fmt_bold\nexe \"hi! htmlSpecialTagName\". s:fg_blue  .s:bg_none .s:fmt_ital\nexe \"hi! htmlArg\"        . s:fg_base00 .s:bg_none   .s:fmt_none\nexe \"hi! javaScript\"     . s:fg_yellow .s:bg_none   .s:fmt_none\n\"}}}\n\" perl highlighting \"{{{\n\" ---------------------------------------------------------------------\nexe \"hi! perlHereDoc\"    . s:fg_base1  .s:bg_back   .s:fmt_none\nexe \"hi! perlVarPlain\"   . s:fg_yellow .s:bg_back   .s:fmt_none\nexe \"hi! perlStatementFileDesc\". s:fg_cyan.s:bg_back.s:fmt_none\n\n\"}}}\n\" tex highlighting \"{{{\n\" ---------------------------------------------------------------------\nexe \"hi! texStatement\"   . s:fg_cyan   .s:bg_back   .s:fmt_none\nexe \"hi! texMathZoneX\"   . s:fg_yellow .s:bg_back   .s:fmt_none\nexe \"hi! texMathMatcher\" . s:fg_yellow .s:bg_back   .s:fmt_none\nexe \"hi! texMathMatcher\" . s:fg_yellow .s:bg_back   .s:fmt_none\nexe \"hi! texRefLabel\"    . s:fg_yellow .s:bg_back   .s:fmt_none\n\"}}}\n\" ruby highlighting \"{{{\n\" ---------------------------------------------------------------------\nexe \"hi! rubyDefine\"     . s:fg_base1  .s:bg_back   .s:fmt_bold\n\"rubyInclude\n\"rubySharpBang\n\"rubyAccess\n\"rubyPredefinedVariable\n\"rubyBoolean\n\"rubyClassVariable\n\"rubyBeginEnd\n\"rubyRepeatModifier\n\"hi! link rubyArrayDelimiter    Special  \" [ , , ]\n\"rubyCurlyBlock  { , , }\n\n\"hi! link rubyClass             Keyword\n\"hi! link rubyModule            Keyword\n\"hi! link rubyKeyword           Keyword\n\"hi! link rubyOperator          Operator\n\"hi! link rubyIdentifier        Identifier\n\"hi! link rubyInstanceVariable  Identifier\n\"hi! link rubyGlobalVariable    Identifier\n\"hi! link rubyClassVariable     Identifier\n\"hi! link rubyConstant          Type\n\"}}}\n\" haskell syntax highlighting\"{{{\n\" ---------------------------------------------------------------------\n\" For use with syntax/haskell.vim : Haskell Syntax File\n\" http://www.vim.org/scripts/script.php?script_id=3034\n\" See also Steffen Siering's github repository:\n\" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim\n\" ---------------------------------------------------------------------\n\"\n\" Treat True and False specially, see the plugin referenced above\nlet hs_highlight_boolean=1\n\" highlight delims, see the plugin referenced above\nlet hs_highlight_delimiters=1\n\nexe \"hi! cPreCondit\". s:fg_orange.s:bg_none   .s:fmt_none\n\nexe \"hi! VarId\"    . s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! ConId\"    . s:fg_yellow .s:bg_none   .s:fmt_none\nexe \"hi! hsImport\" . s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! hsString\" . s:fg_base00 .s:bg_none   .s:fmt_none\n\nexe \"hi! hsStructure\"        . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! hs_hlFunctionName\"  . s:fg_blue   .s:bg_none\nexe \"hi! hsStatement\"        . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! hsImportLabel\"      . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! hs_OpFunctionName\"  . s:fg_yellow .s:bg_none   .s:fmt_none\nexe \"hi! hs_DeclareFunction\" . s:fg_orange .s:bg_none   .s:fmt_none\nexe \"hi! hsVarSym\"           . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! hsType\"             . s:fg_yellow .s:bg_none   .s:fmt_none\nexe \"hi! hsTypedef\"          . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! hsModuleName\"       . s:fg_green  .s:bg_none   .s:fmt_undr\nexe \"hi! hsModuleStartLabel\" . s:fg_magenta.s:bg_none   .s:fmt_none\nhi! link hsImportParams      Delimiter\nhi! link hsDelimTypeExport   Delimiter\nhi! link hsModuleStartLabel  hsStructure\nhi! link hsModuleWhereLabel  hsModuleStartLabel\n\n\" following is for the haskell-conceal plugin\n\" the first two items don't have an impact, but better safe\nexe \"hi! hsNiceOperator\"     . s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! hsniceoperator\"     . s:fg_cyan   .s:bg_none   .s:fmt_none\n\n\"}}}\n\" pandoc markdown syntax highlighting \"{{{\n\" ---------------------------------------------------------------------\n\n\"PandocHiLink pandocNormalBlock\nexe \"hi! pandocTitleBlock\"               .s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! pandocTitleBlockTitle\"          .s:fg_blue   .s:bg_none   .s:fmt_bold\nexe \"hi! pandocTitleComment\"             .s:fg_blue   .s:bg_none   .s:fmt_bold\nexe \"hi! pandocComment\"                  .s:fg_base01 .s:bg_none   .s:fmt_ital\nexe \"hi! pandocVerbatimBlock\"            .s:fg_yellow .s:bg_none   .s:fmt_none\nhi! link pandocVerbatimBlockDeep         pandocVerbatimBlock\nhi! link pandocCodeBlock                 pandocVerbatimBlock\nhi! link pandocCodeBlockDelim            pandocVerbatimBlock\nexe \"hi! pandocBlockQuote\"               .s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! pandocBlockQuoteLeader1\"        .s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! pandocBlockQuoteLeader2\"        .s:fg_cyan   .s:bg_none   .s:fmt_none\nexe \"hi! pandocBlockQuoteLeader3\"        .s:fg_yellow .s:bg_none   .s:fmt_none\nexe \"hi! pandocBlockQuoteLeader4\"        .s:fg_red    .s:bg_none   .s:fmt_none\nexe \"hi! pandocBlockQuoteLeader5\"        .s:fg_base0  .s:bg_none   .s:fmt_none\nexe \"hi! pandocBlockQuoteLeader6\"        .s:fg_base01 .s:bg_none   .s:fmt_none\nexe \"hi! pandocListMarker\"               .s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! pandocListReference\"            .s:fg_magenta.s:bg_none   .s:fmt_undr\n\n\" Definitions\n\" ---------------------------------------------------------------------\nlet s:fg_pdef = s:fg_violet\nexe \"hi! pandocDefinitionBlock\"              .s:fg_pdef  .s:bg_none  .s:fmt_none\nexe \"hi! pandocDefinitionTerm\"               .s:fg_pdef  .s:bg_none  .s:fmt_stnd\nexe \"hi! pandocDefinitionIndctr\"             .s:fg_pdef  .s:bg_none  .s:fmt_bold\nexe \"hi! pandocEmphasisDefinition\"           .s:fg_pdef  .s:bg_none  .s:fmt_ital\nexe \"hi! pandocEmphasisNestedDefinition\"     .s:fg_pdef  .s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrongEmphasisDefinition\"     .s:fg_pdef  .s:bg_none  .s:fmt_bold\nexe \"hi! pandocStrongEmphasisNestedDefinition\"   .s:fg_pdef.s:bg_none.s:fmt_bldi\nexe \"hi! pandocStrongEmphasisEmphasisDefinition\" .s:fg_pdef.s:bg_none.s:fmt_bldi\nexe \"hi! pandocStrikeoutDefinition\"          .s:fg_pdef  .s:bg_none  .s:fmt_revr\nexe \"hi! pandocVerbatimInlineDefinition\"     .s:fg_pdef  .s:bg_none  .s:fmt_none\nexe \"hi! pandocSuperscriptDefinition\"        .s:fg_pdef  .s:bg_none  .s:fmt_none\nexe \"hi! pandocSubscriptDefinition\"          .s:fg_pdef  .s:bg_none  .s:fmt_none\n\n\" Tables\n\" ---------------------------------------------------------------------\nlet s:fg_ptable = s:fg_blue\nexe \"hi! pandocTable\"                        .s:fg_ptable.s:bg_none  .s:fmt_none\nexe \"hi! pandocTableStructure\"               .s:fg_ptable.s:bg_none  .s:fmt_none\nhi! link pandocTableStructureTop             pandocTableStructre\nhi! link pandocTableStructureEnd             pandocTableStructre\nexe \"hi! pandocTableZebraLight\"              .s:fg_ptable.s:bg_base03.s:fmt_none\nexe \"hi! pandocTableZebraDark\"               .s:fg_ptable.s:bg_base02.s:fmt_none\nexe \"hi! pandocEmphasisTable\"                .s:fg_ptable.s:bg_none  .s:fmt_ital\nexe \"hi! pandocEmphasisNestedTable\"          .s:fg_ptable.s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrongEmphasisTable\"          .s:fg_ptable.s:bg_none  .s:fmt_bold\nexe \"hi! pandocStrongEmphasisNestedTable\"    .s:fg_ptable.s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrongEmphasisEmphasisTable\"  .s:fg_ptable.s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrikeoutTable\"               .s:fg_ptable.s:bg_none  .s:fmt_revr\nexe \"hi! pandocVerbatimInlineTable\"          .s:fg_ptable.s:bg_none  .s:fmt_none\nexe \"hi! pandocSuperscriptTable\"             .s:fg_ptable.s:bg_none  .s:fmt_none\nexe \"hi! pandocSubscriptTable\"               .s:fg_ptable.s:bg_none  .s:fmt_none\n\n\" Headings\n\" ---------------------------------------------------------------------\nlet s:fg_phead = s:fg_orange\nexe \"hi! pandocHeading\"                      .s:fg_phead .s:bg_none.s:fmt_bold\nexe \"hi! pandocHeadingMarker\"                .s:fg_yellow.s:bg_none.s:fmt_bold\nexe \"hi! pandocEmphasisHeading\"              .s:fg_phead .s:bg_none.s:fmt_bldi\nexe \"hi! pandocEmphasisNestedHeading\"        .s:fg_phead .s:bg_none.s:fmt_bldi\nexe \"hi! pandocStrongEmphasisHeading\"        .s:fg_phead .s:bg_none.s:fmt_bold\nexe \"hi! pandocStrongEmphasisNestedHeading\"  .s:fg_phead .s:bg_none.s:fmt_bldi\nexe \"hi! pandocStrongEmphasisEmphasisHeading\".s:fg_phead .s:bg_none.s:fmt_bldi\nexe \"hi! pandocStrikeoutHeading\"             .s:fg_phead .s:bg_none.s:fmt_revr\nexe \"hi! pandocVerbatimInlineHeading\"        .s:fg_phead .s:bg_none.s:fmt_bold\nexe \"hi! pandocSuperscriptHeading\"           .s:fg_phead .s:bg_none.s:fmt_bold\nexe \"hi! pandocSubscriptHeading\"             .s:fg_phead .s:bg_none.s:fmt_bold\n\n\" Links\n\" ---------------------------------------------------------------------\nexe \"hi! pandocLinkDelim\"                .s:fg_base01 .s:bg_none   .s:fmt_none\nexe \"hi! pandocLinkLabel\"                .s:fg_blue   .s:bg_none   .s:fmt_undr\nexe \"hi! pandocLinkText\"                 .s:fg_blue   .s:bg_none   .s:fmt_undb\nexe \"hi! pandocLinkURL\"                  .s:fg_base00 .s:bg_none   .s:fmt_undr\nexe \"hi! pandocLinkTitle\"                .s:fg_base00 .s:bg_none   .s:fmt_undi\nexe \"hi! pandocLinkTitleDelim\"           .s:fg_base01 .s:bg_none   .s:fmt_undi   .s:sp_base00\nexe \"hi! pandocLinkDefinition\"           .s:fg_cyan   .s:bg_none   .s:fmt_undr   .s:sp_base00\nexe \"hi! pandocLinkDefinitionID\"         .s:fg_blue   .s:bg_none   .s:fmt_bold\nexe \"hi! pandocImageCaption\"             .s:fg_violet .s:bg_none   .s:fmt_undb\nexe \"hi! pandocFootnoteLink\"             .s:fg_green  .s:bg_none   .s:fmt_undr\nexe \"hi! pandocFootnoteDefLink\"          .s:fg_green  .s:bg_none   .s:fmt_bold\nexe \"hi! pandocFootnoteInline\"           .s:fg_green  .s:bg_none   .s:fmt_undb\nexe \"hi! pandocFootnote\"                 .s:fg_green  .s:bg_none   .s:fmt_none\nexe \"hi! pandocCitationDelim\"            .s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! pandocCitation\"                 .s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! pandocCitationID\"               .s:fg_magenta.s:bg_none   .s:fmt_undr\nexe \"hi! pandocCitationRef\"              .s:fg_magenta.s:bg_none   .s:fmt_none\n\n\" Main Styles\n\" ---------------------------------------------------------------------\nexe \"hi! pandocStyleDelim\"               .s:fg_base01 .s:bg_none  .s:fmt_none\nexe \"hi! pandocEmphasis\"                 .s:fg_base0  .s:bg_none  .s:fmt_ital\nexe \"hi! pandocEmphasisNested\"           .s:fg_base0  .s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrongEmphasis\"           .s:fg_base0  .s:bg_none  .s:fmt_bold\nexe \"hi! pandocStrongEmphasisNested\"     .s:fg_base0  .s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrongEmphasisEmphasis\"   .s:fg_base0  .s:bg_none  .s:fmt_bldi\nexe \"hi! pandocStrikeout\"                .s:fg_base01 .s:bg_none  .s:fmt_revr\nexe \"hi! pandocVerbatimInline\"           .s:fg_yellow .s:bg_none  .s:fmt_none\nexe \"hi! pandocSuperscript\"              .s:fg_violet .s:bg_none  .s:fmt_none\nexe \"hi! pandocSubscript\"                .s:fg_violet .s:bg_none  .s:fmt_none\n\nexe \"hi! pandocRule\"                     .s:fg_blue   .s:bg_none  .s:fmt_bold\nexe \"hi! pandocRuleLine\"                 .s:fg_blue   .s:bg_none  .s:fmt_bold\nexe \"hi! pandocEscapePair\"               .s:fg_red    .s:bg_none  .s:fmt_bold\nexe \"hi! pandocCitationRef\"              .s:fg_magenta.s:bg_none   .s:fmt_none\nexe \"hi! pandocNonBreakingSpace\"         . s:fg_red   .s:bg_none  .s:fmt_revr\nhi! link pandocEscapedCharacter          pandocEscapePair\nhi! link pandocLineBreak                 pandocEscapePair\n\n\" Embedded Code\n\" ---------------------------------------------------------------------\nexe \"hi! pandocMetadataDelim\"            .s:fg_base01 .s:bg_none   .s:fmt_none\nexe \"hi! pandocMetadata\"                 .s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! pandocMetadataKey\"              .s:fg_blue   .s:bg_none   .s:fmt_none\nexe \"hi! pandocMetadata\"                 .s:fg_blue   .s:bg_none   .s:fmt_bold\nhi! link pandocMetadataTitle             pandocMetadata\n\n\"}}}\n\" Utility autocommand \"{{{\n\" ---------------------------------------------------------------------\n\" In cases where Solarized is initialized inside a terminal vim session and \n\" then transferred to a gui session via the command `:gui`, the gui vim process \n\" does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui` \n\" related code that sets gui specific values isn't executed.\n\"\n\" Currently, Solarized sets only the cterm or gui values for the colorscheme \n\" depending on gui or terminal mode. It's possible that, if the following \n\" autocommand method is deemed excessively poor form, that approach will be \n\" used again and the autocommand below will be dropped.\n\"\n\" However it seems relatively benign in this case to include the autocommand \n\" here. It fires only in cases where vim is transferring from terminal to gui \n\" mode (detected with the script scope s:vmode variable). It also allows for \n\" other potential terminal customizations that might make gui mode suboptimal.\n\"\nautocmd GUIEnter * if (s:vmode != \"gui\") | exe \"colorscheme \" . g:colors_name | endif\n\"}}}\n\" License \"{{{\n\" ---------------------------------------------------------------------\n\"\n\" Copyright (c) 2011 Ethan Schoonover\n\"\n\" Permission is hereby granted, free of charge, to any person obtaining a copy\n\" of this software and associated documentation files (the \"Software\"), to deal\n\" in the Software without restriction, including without limitation the rights\n\" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n\" copies of the Software, and to permit persons to whom the Software is\n\" furnished to do so, subject to the following conditions:\n\"\n\" The above copyright notice and this permission notice shall be included in\n\" all copies or substantial portions of the Software.\n\"\n\" THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\" THE SOFTWARE.\n\"\n\" vim:foldmethod=marker:foldlevel=0\n\"}}}\n"
  },
  {
    "path": ".vim/swaps/.gitkeep",
    "content": ""
  },
  {
    "path": ".vim/syntax/json.vim",
    "content": "\" Vim syntax file\n\" Language:     JSON\n\" Maintainer:   Jeroen Ruigrok van der Werven <asmodai@in-nomine.org>\n\" Last Change:  2009-06-16\n\" Version:      0.4\n\" {{{1\n\n\" Syntax setup {{{2\n\" For version 5.x: Clear all syntax items\n\" For version 6.x: Quit when a syntax file was already loaded\n\nif !exists(\"main_syntax\")\n\tif version < 600\n\t\tsyntax clear\n\telseif exists(\"b:current_syntax\")\n\t\tfinish\n\tendif\n\tlet main_syntax = 'json'\nendif\n\n\" Syntax: Strings {{{2\nsyn region  jsonString    start=+\"+  skip=+\\\\\\\\\\|\\\\\"+  end=+\"+  contains=jsonEscape\n\" Syntax: JSON does not allow strings with single quotes, unlike JavaScript.\nsyn region  jsonStringSQ  start=+'+  skip=+\\\\\\\\\\|\\\\\"+  end=+'+\n\n\" Syntax: Escape sequences {{{3\nsyn match   jsonEscape    \"\\\\[\"\\\\/bfnrt]\" contained\nsyn match   jsonEscape    \"\\\\u\\x\\{4}\" contained\n\n\" Syntax: Strings should always be enclosed with quotes.\nsyn match   jsonNoQuotes  \"\\<\\a\\+\\>\"\n\n\" Syntax: Numbers {{{2\nsyn match   jsonNumber    \"-\\=\\<\\%(0\\|[1-9]\\d*\\)\\%(\\.\\d\\+\\)\\=\\%([eE][-+]\\=\\d\\+\\)\\=\\>\"\n\n\" Syntax: An integer part of 0 followed by other digits is not allowed.\nsyn match   jsonNumError  \"-\\=\\<0\\d\\.\\d*\\>\"\n\n\" Syntax: Boolean {{{2\nsyn keyword jsonBoolean   true false\n\n\" Syntax: Null {{{2\nsyn keyword jsonNull      null\n\n\" Syntax: Braces {{{2\nsyn match   jsonBraces   \"[{}\\[\\]]\"\n\n\" Define the default highlighting. {{{1\n\" For version 5.7 and earlier: only when not done already\n\" For version 5.8 and later: only when an item doesn't have highlighting yet\nif version >= 508 || !exists(\"did_json_syn_inits\")\n  if version < 508\n    let did_json_syn_inits = 1\n    command -nargs=+ HiLink hi link <args>\n  else\n    command -nargs=+ HiLink hi def link <args>\n  endif\n  HiLink jsonString      String\n  HiLink jsonEscape      Special\n  HiLink jsonNumber      Number\n  HiLink jsonBraces      Operator\n  HiLink jsonNull        Function\n  HiLink jsonBoolean     Boolean\n\n  HiLink jsonNumError    Error\n  HiLink jsonStringSQ    Error\n  HiLink jsonNoQuotes    Error\n  delcommand HiLink\nendif\n\nlet b:current_syntax = \"json\"\nif main_syntax == 'json'\n\tunlet main_syntax\nendif\n"
  },
  {
    "path": ".vim/undo/.gitkeep",
    "content": ""
  },
  {
    "path": ".vimrc",
    "content": "\" Use the Solarized Dark theme\nset background=dark\ncolorscheme solarized\nlet g:solarized_termtrans=1\n\n\" Make Vim more useful\nset nocompatible\n\" Use the OS clipboard by default (on versions compiled with `+clipboard`)\nset clipboard=unnamed\n\" Enhance command-line completion\nset wildmenu\n\" Allow cursor keys in insert mode\nset esckeys\n\" Allow backspace in insert mode\nset backspace=indent,eol,start\n\" Optimize for fast terminal connections\nset ttyfast\n\" Add the g flag to search/replace by default\nset gdefault\n\" Use UTF-8 without BOM\nset encoding=utf-8 nobomb\n\" Change mapleader\nlet mapleader=\",\"\n\" Don’t add empty newlines at the end of files\nset binary\nset noeol\n\" Centralize backups, swapfiles and undo history\nset backupdir=~/.vim/backups\nset directory=~/.vim/swaps\nif exists(\"&undodir\")\n\tset undodir=~/.vim/undo\nendif\n\n\" Don’t create backups when editing files in certain directories\nset backupskip=/tmp/*,/private/tmp/*\n\n\" Respect modeline in files\nset modeline\nset modelines=4\n\" Enable per-directory .vimrc files and disable unsafe commands in them\nset exrc\nset secure\n\" Enable line numbers\nset number\n\" Enable syntax highlighting\nsyntax on\n\" Highlight current line\nset cursorline\n\" Make tabs as wide as two spaces\nset tabstop=2\n\" Show “invisible” characters\nset lcs=tab:▸\\ ,trail:·,eol:¬,nbsp:_\nset list\n\" Highlight searches\nset hlsearch\n\" Ignore case of searches\nset ignorecase\n\" Highlight dynamically as pattern is typed\nset incsearch\n\" Always show status line\nset laststatus=2\n\" Enable mouse in all modes\nset mouse=a\n\" Disable error bells\nset noerrorbells\n\" Don’t reset cursor to start of line when moving around.\nset nostartofline\n\" Show the cursor position\nset ruler\n\" Don’t show the intro message when starting Vim\nset shortmess=atI\n\" Show the current mode\nset showmode\n\" Show the filename in the window titlebar\nset title\n\" Show the (partial) command as it’s being typed\nset showcmd\n\" Use relative line numbers\nif exists(\"&relativenumber\")\n\tset relativenumber\n\tau BufReadPost * set relativenumber\nendif\n\" Start scrolling three lines before the horizontal window border\nset scrolloff=3\n\n\" Strip trailing whitespace (,ss)\nfunction! StripWhitespace()\n\tlet save_cursor = getpos(\".\")\n\tlet old_query = getreg('/')\n\t:%s/\\s\\+$//e\n\tcall setpos('.', save_cursor)\n\tcall setreg('/', old_query)\nendfunction\nnoremap <leader>ss :call StripWhitespace()<CR>\n\" Save a file as root (,W)\nnoremap <leader>W :w !sudo tee % > /dev/null<CR>\n\n\" Automatic commands\nif has(\"autocmd\")\n\t\" Enable file type detection\n\tfiletype on\n\t\" Treat .json files as .js\n\tautocmd BufNewFile,BufRead *.json setfiletype json syntax=javascript\n\t\" Treat .md files as Markdown\n\tautocmd BufNewFile,BufRead *.md setlocal filetype=markdown\nendif\n"
  },
  {
    "path": ".wgetrc",
    "content": "# Use the server-provided last modification date, if available\ntimestamping = on\n\n# Do not go up in the directory structure when downloading recursively\nno_parent = on\n\n# Wait 60 seconds before timing out. This applies to all timeouts: DNS, connect and read. (The default read timeout is 15 minutes!)\ntimeout = 60\n\n# Retry a few times when a download fails, but don’t overdo it. (The default is 20!)\ntries = 3\n\n# Retry even when the connection was refused\nretry_connrefused = on\n\n# Use the last component of a redirection URL for the local file name\ntrust_server_names = on\n\n# Follow FTP links from HTML documents by default\nfollow_ftp = on\n\n# Add a `.html` extension to `text/html` or `application/xhtml+xml` files that lack one, or a `.css` extension to `text/css` files that lack one\nadjust_extension = on\n\n# Use UTF-8 as the default system encoding\n# Disabled as it makes `wget` builds that don’t support this feature unusable.\n# Does anyone know how to conditionally configure a wget setting?\n# http://unix.stackexchange.com/q/34730/6040\n#local_encoding = UTF-8\n\n# Ignore `robots.txt` and `<meta name=robots content=nofollow>`\nrobots = off\n\n# Print the HTTP and FTP server responses\nserver_response = on\n\n# Disguise as IE 9 on Windows 7\nuser_agent = Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\n"
  },
  {
    "path": "LICENSE-MIT.txt",
    "content": "Copyright Mathias Bynens <https://mathiasbynens.be/>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Mathias’s dotfiles\n\n![Screenshot of my shell prompt](https://i.imgur.com/EkEtphC.png)\n\n## Installation\n\n**Warning:** If you want to give these dotfiles a try, you should first fork this repository, review the code, and remove things you don’t want or need. Don’t blindly use my settings unless you know what that entails. Use at your own risk!\n\n### Using Git and the bootstrap script\n\nYou can clone the repository wherever you want. (I like to keep it in `~/Projects/dotfiles`, with `~/dotfiles` as a symlink.) The bootstrapper script will pull in the latest version and copy the files to your home folder.\n\n```bash\ngit clone https://github.com/mathiasbynens/dotfiles.git && cd dotfiles && source bootstrap.sh\n```\n\nTo update, `cd` into your local `dotfiles` repository and then:\n\n```bash\nsource bootstrap.sh\n```\n\nAlternatively, to update while avoiding the confirmation prompt:\n\n```bash\nset -- -f; source bootstrap.sh\n```\n\n### Git-free install\n\nTo install these dotfiles without Git:\n\n```bash\ncd; curl -#L https://github.com/mathiasbynens/dotfiles/tarball/main | tar -xzv --strip-components 1 --exclude={README.md,bootstrap.sh,.osx,LICENSE-MIT.txt}\n```\n\nTo update later on, just run that command again.\n\n### Specify the `$PATH`\n\nIf `~/.path` exists, it will be sourced along with the other files, before any feature testing (such as [detecting which version of `ls` is being used](https://github.com/mathiasbynens/dotfiles/blob/aff769fd75225d8f2e481185a71d5e05b76002dc/.aliases#L21-L26)) takes place.\n\nHere’s an example `~/.path` file that adds `/usr/local/bin` to the `$PATH`:\n\n```bash\nexport PATH=\"/usr/local/bin:$PATH\"\n```\n\n### Add custom commands without creating a new fork\n\nIf `~/.extra` exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository.\n\nMy `~/.extra` looks something like this:\n\n```bash\n# Git credentials\n# Not in the repository, to prevent people from accidentally committing under my name\nGIT_AUTHOR_NAME=\"Mathias Bynens\"\nGIT_COMMITTER_NAME=\"$GIT_AUTHOR_NAME\"\ngit config --global user.name \"$GIT_AUTHOR_NAME\"\nGIT_AUTHOR_EMAIL=\"mathias@mailinator.com\"\nGIT_COMMITTER_EMAIL=\"$GIT_AUTHOR_EMAIL\"\ngit config --global user.email \"$GIT_AUTHOR_EMAIL\"\n```\n\nYou could also use `~/.extra` to override settings, functions and aliases from my dotfiles repository. It’s probably better to [fork this repository](https://github.com/mathiasbynens/dotfiles/fork) instead, though.\n\n### Sensible macOS defaults\n\nWhen setting up a new Mac, you may want to set some sensible macOS defaults:\n\n```bash\n./.macos\n```\n\n### Install Homebrew formulae\n\nWhen setting up a new Mac, you may want to install some common [Homebrew](https://brew.sh/) formulae (after installing Homebrew, of course):\n\n```bash\n./brew.sh\n```\n\nSome of the functionality of these dotfiles depends on formulae installed by `brew.sh`. If you don’t plan to run `brew.sh`, you should look carefully through the script and manually install any particularly important ones. A good example is Bash/Git completion: the dotfiles use a special version from Homebrew.\n\n## Feedback\n\nSuggestions/improvements\n[welcome](https://github.com/mathiasbynens/dotfiles/issues)!\n\n## Author\n\n| [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|\n| [Mathias Bynens](https://mathiasbynens.be/) |\n\n## Thanks to…\n\n* @ptb and [his _macOS Setup_ repository](https://github.com/ptb/mac-setup)\n* [Ben Alman](http://benalman.com/) and his [dotfiles repository](https://github.com/cowboy/dotfiles)\n* [Cătălin Mariș](https://github.com/alrra) and his [dotfiles repository](https://github.com/alrra/dotfiles)\n* [Gianni Chiappetta](https://butt.zone/) for sharing his [amazing collection of dotfiles](https://github.com/gf3/dotfiles)\n* [Jan Moesen](http://jan.moesen.nu/) and his [ancient `.bash_profile`](https://gist.github.com/1156154) + [shiny _tilde_ repository](https://github.com/janmoesen/tilde)\n* Lauri ‘Lri’ Ranta for sharing [loads of hidden preferences](https://web.archive.org/web/20161104144204/http://osxnotes.net/defaults.html)\n* [Matijs Brinkhuis](https://matijs.brinkhu.is/) and his [dotfiles repository](https://github.com/matijs/dotfiles)\n* [Nicolas Gallagher](http://nicolasgallagher.com/) and his [dotfiles repository](https://github.com/necolas/dotfiles)\n* [Sindre Sorhus](https://sindresorhus.com/)\n* [Tom Ryder](https://sanctum.geek.nz/) and his [dotfiles repository](https://sanctum.geek.nz/cgit/dotfiles.git/about)\n* [Kevin Suttle](http://kevinsuttle.com/) and his [dotfiles repository](https://github.com/kevinSuttle/dotfiles) and [macOS-Defaults project](https://github.com/kevinSuttle/macOS-Defaults), which aims to provide better documentation for [`~/.macos`](https://mths.be/macos)\n* [Haralan Dobrev](https://hkdobrev.com/)\n* Anyone who [contributed a patch](https://github.com/mathiasbynens/dotfiles/contributors) or [made a helpful suggestion](https://github.com/mathiasbynens/dotfiles/issues)\n"
  },
  {
    "path": "bootstrap.sh",
    "content": "#!/usr/bin/env bash\n\ncd \"$(dirname \"${BASH_SOURCE}\")\";\n\ngit pull origin main;\n\nfunction doIt() {\n\trsync --exclude \".git/\" \\\n\t\t--exclude \".DS_Store\" \\\n\t\t--exclude \".osx\" \\\n\t\t--exclude \"bootstrap.sh\" \\\n\t\t--exclude \"README.md\" \\\n\t\t--exclude \"LICENSE-MIT.txt\" \\\n\t\t-avh --no-perms . ~;\n\tsource ~/.bash_profile;\n}\n\nif [ \"$1\" == \"--force\" -o \"$1\" == \"-f\" ]; then\n\tdoIt;\nelse\n\tread -p \"This may overwrite existing files in your home directory. Are you sure? (y/n) \" -n 1;\n\techo \"\";\n\tif [[ $REPLY =~ ^[Yy]$ ]]; then\n\t\tdoIt;\n\tfi;\nfi;\nunset doIt;\n"
  },
  {
    "path": "brew.sh",
    "content": "#!/usr/bin/env bash\n\n# Install command-line tools using Homebrew.\n\n# Make sure we’re using the latest Homebrew.\nbrew update\n\n# Upgrade any already-installed formulae.\nbrew upgrade\n\n# Save Homebrew’s installed location.\nBREW_PREFIX=$(brew --prefix)\n\n# Install GNU core utilities (those that come with macOS are outdated).\n# Don’t forget to add `$(brew --prefix coreutils)/libexec/gnubin` to `$PATH`.\nbrew install coreutils\nln -s \"${BREW_PREFIX}/bin/gsha256sum\" \"${BREW_PREFIX}/bin/sha256sum\"\n\n# Install some other useful utilities like `sponge`.\nbrew install moreutils\n# Install GNU `find`, `locate`, `updatedb`, and `xargs`, `g`-prefixed.\nbrew install findutils\n# Install GNU `sed`, overwriting the built-in `sed`.\nbrew install gnu-sed --with-default-names\n# Install a modern version of Bash.\nbrew install bash\nbrew install bash-completion2\n\n# Switch to using brew-installed bash as default shell\nif ! fgrep -q \"${BREW_PREFIX}/bin/bash\" /etc/shells; then\n  echo \"${BREW_PREFIX}/bin/bash\" | sudo tee -a /etc/shells;\n  chsh -s \"${BREW_PREFIX}/bin/bash\";\nfi;\n\n# Install `wget` with IRI support.\nbrew install wget --with-iri\n\n# Install GnuPG to enable PGP-signing commits.\nbrew install gnupg\n\n# Install more recent versions of some macOS tools.\nbrew install vim --with-override-system-vi\nbrew install grep\nbrew install openssh\nbrew install screen\nbrew install php\nbrew install gmp\n\n# Install font tools.\nbrew tap bramstein/webfonttools\nbrew install sfnt2woff\nbrew install sfnt2woff-zopfli\nbrew install woff2\n\n# Install some CTF tools; see https://github.com/ctfs/write-ups.\nbrew install aircrack-ng\nbrew install bfg\nbrew install binutils\nbrew install binwalk\nbrew install cifer\nbrew install dex2jar\nbrew install dns2tcp\nbrew install fcrackzip\nbrew install foremost\nbrew install hashpump\nbrew install hydra\nbrew install john\nbrew install knock\nbrew install netpbm\nbrew install nmap\nbrew install pngcheck\nbrew install socat\nbrew install sqlmap\nbrew install tcpflow\nbrew install tcpreplay\nbrew install tcptrace\nbrew install ucspi-tcp # `tcpserver` etc.\nbrew install xpdf\nbrew install xz\n\n# Install other useful binaries.\nbrew install ack\n#brew install exiv2\nbrew install git\nbrew install git-lfs\nbrew install gs\nbrew install imagemagick --with-webp\nbrew install lua\nbrew install lynx\nbrew install p7zip\nbrew install pigz\nbrew install pv\nbrew install rename\nbrew install rlwrap\nbrew install ssh-copy-id\nbrew install tree\nbrew install vbindiff\nbrew install zopfli\n\n# Remove outdated versions from the cellar.\nbrew cleanup\n"
  },
  {
    "path": "init/Preferences.sublime-settings",
    "content": "{\n\t\"color_scheme\": \"Packages/Color Scheme - Default/Solarized (Dark).tmTheme\",\n\t\"default_encoding\": \"UTF-8\",\n\t\"default_line_ending\": \"unix\",\n\t\"detect_indentation\": false,\n\t\"draw_white_space\": \"all\",\n\t\"ensure_newline_at_eof_on_save\": false,\n\t\"file_exclude_patterns\":\n\t[\n\t\t\".DS_Store\",\n\t\t\"Desktop.ini\",\n\t\t\"*.pyc\",\n\t\t\"._*\",\n\t\t\"Thumbs.db\",\n\t\t\".Spotlight-V100\",\n\t\t\".Trashes\"\n\t],\n\t\"folder_exclude_patterns\":\n\t[\n\t\t\".git\",\n\t\t\"node_modules\"\n\t],\n\t\"font_face\": \"Monaco\",\n\t\"font_size\": 13,\n\t\"highlight_modified_tabs\": true,\n\t\"hot_exit\": false,\n\t\"line_padding_bottom\": 5,\n\t\"match_brackets\": true,\n\t\"match_brackets_angle\": true,\n\t\"remember_open_files\": false,\n\t\"rulers\":\n\t[\n\t\t80\n\t],\n\t\"show_encoding\": true,\n\t\"show_line_endings\": true,\n\t\"tab_size\": 2,\n\t\"translate_tabs_to_spaces\": false,\n\t\"trim_trailing_white_space_on_save\": true,\n\t\"word_wrap\": true\n}\n"
  },
  {
    "path": "init/Solarized Dark xterm-256color.terminal",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>BackgroundColor</key>\n\t<data>\n\tYnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS\n\tAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECgw\n\tLjAxNTkyNDQwNTMxIDAuMTI2NTIwOTE2OCAwLjE1OTY5NjAxMjcAEAGAAtIQERITWiRj\n\tbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo\n\taXZlctEXGFRyb290gAEIERojLTI3O0FITltijY+RlqGqsrW+0NPYAAAAAAAAAQEAAAAA\n\tAAAAGQAAAAAAAAAAAAAAAAAAANo=\n\t</data>\n\t<key>BlinkText</key>\n\t<false/>\n\t<key>CursorColor</key>\n\t<data>\n\tYnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS\n\tAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcw\n\tLjQ0MDU4MDI0ODggMC41MDk2MjkzMDkyIDAuNTE2ODU3OTgxNwAQAYAC0hAREhNaJGNs\n\tYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp\n\tdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA\n\tAAAZAAAAAAAAAAAAAAAAAAAA2Q==\n\t</data>\n\t<key>Font</key>\n\t<data>\n\tYnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS\n\tAAGGoKQHCBESVSRudWxs1AkKCwwNDg8QVk5TU2l6ZVhOU2ZGbGFnc1ZOU05hbWVWJGNs\n\tYXNzI0AqAAAAAAAAEBCAAoADXU1lbmxvLVJlZ3VsYXLSExQVFlokY2xhc3NuYW1lWCRj\n\tbGFzc2VzVk5TRm9udKIVF1hOU09iamVjdF8QD05TS2V5ZWRBcmNoaXZlctEaG1Ryb290\n\tgAEIERojLTI3PEJLUltiaXJ0dniGi5afpqmyxMfMAAAAAAAAAQEAAAAAAAAAHAAAAAAA\n\tAAAAAAAAAAAAAM4=\n\t</data>\n\t<key>FontAntialias</key>\n\t<true/>\n\t<key>FontHeightSpacing</key>\n\t<real>1.1000000000000001</real>\n\t<key>FontWidthSpacing</key>\n\t<integer>1</integer>\n\t<key>ProfileCurrentVersion</key>\n\t<real>2.02</real>\n\t<key>SelectionColor</key>\n\t<data>\n\tYnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS\n\tAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECgw\n\tLjAzOTM4MDczNjY1IDAuMTYwMTE2NDYzOSAwLjE5ODMzMjc1NjgAEAGAAtIQERITWiRj\n\tbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo\n\taXZlctEXGFRyb290gAEIERojLTI3O0FITltijY+RlqGqsrW+0NPYAAAAAAAAAQEAAAAA\n\tAAAAGQAAAAAAAAAAAAAAAAAAANo=\n\t</data>\n\t<key>ShowWindowSettingsNameInTitle</key>\n\t<true/>\n\t<key>TerminalType</key>\n\t<string>xterm-256color</string>\n\t<key>TextBoldColor</key>\n\t<data>\n\tYnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS\n\tAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECYw\n\tLjUwNTk5MTkzNTcgMC41NjQ4NTgzNzcgMC41NjM2MzY1NDE0ABABgALSEBESE1okY2xh\n\tc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3RfEA9OU0tleWVkQXJjaGl2\n\tZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYouNj5SfqLCzvM7R1gAAAAAAAAEBAAAAAAAA\n\tABkAAAAAAAAAAAAAAAAAAADY\n\t</data>\n\t<key>TextColor</key>\n\t<data>\n\tYnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS\n\tAAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcw\n\tLjQ0MDU4MDI0ODggMC41MDk2MjkzMDkyIDAuNTE2ODU3OTgxNwAQAYAC0hAREhNaJGNs\n\tYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp\n\tdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA\n\tAAAZAAAAAAAAAAAAAAAAAAAA2Q==\n\t</data>\n\t<key>UseBrightBold</key>\n\t<true/>\n\t<key>blackColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg7JNIT2DkvUjPoO+F0s+AYY=\n\t</data>\n\t<key>blueColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmgyqcAj6DtOHsPoO+RUg/AYY=\n\t</data>\n\t<key>brightBlackColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg+ZzgjyDs44BPoNahyM+AYY=\n\t</data>\n\t<key>brightBlueColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg7yT4T6DEXcCP4POUAQ/AYY=\n\t</data>\n\t<key>brightCyanColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg7CIAT+Dj5oQP4N8ShA/AYY=\n\t</data>\n\t<key>brightGreenColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmgzyujT6DFZy2PoOYFsQ+AYY=\n\t</data>\n\t<key>brightMagentaColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmgxMjsj6D+uazPoNkyTc/AYY=\n\t</data>\n\t<key>brightRedColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmgyfkPT+D/15aPoMgl5Y9AYY=\n\t</data>\n\t<key>brightWhiteColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg49LfT+D0Dt1P4MGM10/AYY=\n\t</data>\n\t<key>brightYellowColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg1MTpj6DeHnQPoPQg+A+AYY=\n\t</data>\n\t<key>cyanColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg4VRFj6DfyESP4PkZwY/AYY=\n\t</data>\n\t<key>greenColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg9lI5j6DIYkKP4PVjKU8AYY=\n\t</data>\n\t<key>magentaColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg/4CRz+DBTzdPYMgzt4+AYY=\n\t</data>\n\t<key>name</key>\n\t<string>Solarized Dark xterm-256color</string>\n\t<key>redColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg6i7UT+DUATePYMl2hA+AYY=\n\t</data>\n\t<key>type</key>\n\t<string>Window Settings</string>\n\t<key>whiteColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmgzqGaj+D2tdjP4NYPUw/AYY=\n\t</data>\n\t<key>yellowColour</key>\n\t<data>\n\tBAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm\n\tZmZmg0DAJT+DB17vPoM4Y8A8AYY=\n\t</data>\n</dict>\n</plist>\n"
  },
  {
    "path": "init/Solarized Dark.itermcolors",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<!-- http://ethanschoonover.com/solarized -->\n<plist version=\"1.0\">\n\t<dict>\n\t\t<key>Ansi 0 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.19370138645172119</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.15575926005840302</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.0</real>\n\t\t</dict>\n\t\t<key>Ansi 1 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.14145714044570923</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.10840655118227005</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.81926977634429932</real>\n\t\t</dict>\n\t\t<key>Ansi 10 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.38298487663269043</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.35665956139564514</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.27671992778778076</real>\n\t\t</dict>\n\t\t<key>Ansi 11 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.43850564956665039</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.40717673301696777</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.32436618208885193</real>\n\t\t</dict>\n\t\t<key>Ansi 12 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.51685798168182373</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.50962930917739868</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.44058024883270264</real>\n\t\t</dict>\n\t\t<key>Ansi 13 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.72908437252044678</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.33896297216415405</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.34798634052276611</real>\n\t\t</dict>\n\t\t<key>Ansi 14 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.56363654136657715</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.56485837697982788</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.50599193572998047</real>\n\t\t</dict>\n\t\t<key>Ansi 15 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.86405980587005615</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.95794391632080078</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.98943418264389038</real>\n\t\t</dict>\n\t\t<key>Ansi 2 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.020208755508065224</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.54115492105484009</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.44977453351020813</real>\n\t\t</dict>\n\t\t<key>Ansi 3 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.023484811186790466</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.46751424670219421</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.64746475219726562</real>\n\t\t</dict>\n\t\t<key>Ansi 4 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.78231418132781982</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.46265947818756104</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.12754884362220764</real>\n\t\t</dict>\n\t\t<key>Ansi 5 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.43516635894775391</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.10802463442087173</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.77738940715789795</real>\n\t\t</dict>\n\t\t<key>Ansi 6 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.52502274513244629</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.57082360982894897</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.14679534733295441</real>\n\t\t</dict>\n\t\t<key>Ansi 7 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.79781103134155273</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.89001238346099854</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.91611063480377197</real>\n\t\t</dict>\n\t\t<key>Ansi 8 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.15170273184776306</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.11783610284328461</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.0</real>\n\t\t</dict>\n\t\t<key>Ansi 9 Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.073530435562133789</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.21325300633907318</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.74176257848739624</real>\n\t\t</dict>\n\t\t<key>Background Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.15170273184776306</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.11783610284328461</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.0</real>\n\t\t</dict>\n\t\t<key>Bold Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.56363654136657715</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.56485837697982788</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.50599193572998047</real>\n\t\t</dict>\n\t\t<key>Cursor Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.51685798168182373</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.50962930917739868</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.44058024883270264</real>\n\t\t</dict>\n\t\t<key>Cursor Text Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.19370138645172119</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.15575926005840302</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.0</real>\n\t\t</dict>\n\t\t<key>Foreground Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.51685798168182373</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.50962930917739868</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.44058024883270264</real>\n\t\t</dict>\n\t\t<key>Selected Text Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.56363654136657715</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.56485837697982788</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.50599193572998047</real>\n\t\t</dict>\n\t\t<key>Selection Color</key>\n\t\t<dict>\n\t\t\t<key>Blue Component</key>\n\t\t\t<real>0.19370138645172119</real>\n\t\t\t<key>Green Component</key>\n\t\t\t<real>0.15575926005840302</real>\n\t\t\t<key>Red Component</key>\n\t\t\t<real>0.0</real>\n\t\t</dict>\n\t</dict>\n</plist>\n"
  },
  {
    "path": "init/spectacle.json",
    "content": "[\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"RedoLastMove\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MakeSmaller\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToUpperLeft\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToUpperRight\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToBottomHalf\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToNextDisplay\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToTopHalf\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToLowerLeft\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MakeLarger\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"UndoLastMove\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToPreviousDisplay\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": \"ctrl+alt+cmd+m\",\n\t\t\"shortcut_name\": \"MoveToFullscreen\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToNextThird\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": \"ctrl+alt+cmd+left\",\n\t\t\"shortcut_name\": \"MoveToLeftHalf\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToCenter\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": \"ctrl+alt+cmd+right\",\n\t\t\"shortcut_name\": \"MoveToRightHalf\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToPreviousThird\"\n\t},\n\t{\n\t\t\"shortcut_key_binding\": null,\n\t\t\"shortcut_name\": \"MoveToLowerRight\"\n\t}\n]\n"
  }
]