From 4efb77e18d0cda87758ae723067591d039def6e3 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 12 Jan 2024 21:02:12 -0500 Subject: [PATCH 01/64] desk: add anki --- machines/universedesktop/programs/desktop.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index 43c9ad7..005c875 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -29,5 +29,7 @@ betterdiscordctl slack signal-desktop + + anki ]; } From d026028e069cb4089afe98fd66a2879081f5b9c7 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 20 Jan 2024 10:24:31 -0500 Subject: [PATCH 02/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/0912d26b30332ae6a90e1b321ff88e80492127dd' (2024-01-13) → 'github:nix-community/home-manager/ce4b88c465d928f4f8b75d0920f1788d5b65ca94' (2024-01-19) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/0dd382b70c351f528561f71a0a7df82c9d2be9a4' (2024-01-03) → 'github:LnL7/nix-darwin/74ab0227ee495e526f2dd57ea684b34f6396445a' (2024-01-17) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/317484b1ead87b9c1b8ac5261a8d2dd748a0492d' (2024-01-08) → 'github:NixOS/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c0b3a5af90fae3ba95645bbf85d2b64880addd76' (2024-01-10) → 'github:Mic92/sops-nix/87755331580fdf23df7e39b46d63ac88236bf42c' (2024-01-15) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/63143ac2c9186be6d9da6035fa22620018c85932' (2024-01-02) → 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03) → 'github:NixOS/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index b09c766..ebe47a0 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1705104164, - "narHash": "sha256-pllCu3Hcm1wP/B0SUxgUXvHeEd4w8s2aVrEQRdIL1yo=", + "lastModified": 1705708511, + "narHash": "sha256-3f4BkRY70Fj7yvuo87c4QQPAjnt571g2wJ50jY7hnYc=", "owner": "nix-community", "repo": "home-manager", - "rev": "0912d26b30332ae6a90e1b321ff88e80492127dd", + "rev": "ce4b88c465d928f4f8b75d0920f1788d5b65ca94", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1704277720, - "narHash": "sha256-meAKNgmh3goankLGWqqpw73pm9IvXjEENJloF0coskE=", + "lastModified": 1705452289, + "narHash": "sha256-i/WodLabBcmRr9hdSv5jzDigL1hRYuI8vNh+xTbGt+g=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "0dd382b70c351f528561f71a0a7df82c9d2be9a4", + "rev": "74ab0227ee495e526f2dd57ea684b34f6396445a", "type": "github" }, "original": { @@ -124,11 +124,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704722960, - "narHash": "sha256-mKGJ3sPsT6//s+Knglai5YflJUF2DGj7Ai6Ynopz0kI=", + "lastModified": 1705496572, + "narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "317484b1ead87b9c1b8ac5261a8d2dd748a0492d", + "rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19", "type": "github" }, "original": { @@ -156,11 +156,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1704290814, - "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", + "lastModified": 1705033721, + "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", + "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "type": "github" }, "original": { @@ -172,11 +172,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1704161960, - "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=", + "lastModified": 1704842529, + "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63143ac2c9186be6d9da6035fa22620018c85932", + "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1704908274, - "narHash": "sha256-74W9Yyomv3COGRmKi8zvyA5tL2KLiVkBeaYmYLjXyOw=", + "lastModified": 1705356877, + "narHash": "sha256-274jL1cH64DcXUXebVMZBRUsTs3FvFlPIPkCN/yhSnI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c0b3a5af90fae3ba95645bbf85d2b64880addd76", + "rev": "87755331580fdf23df7e39b46d63ac88236bf42c", "type": "github" }, "original": { From d4e4d8d60416b069abfe037f6c567c1acd09c325 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 10:22:01 -0500 Subject: [PATCH 03/64] universeair: Update Aliases and the like --- flake.nix | 2 +- machines/universeair/configuration.nix | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index c65ea9e..f7d91fc 100644 --- a/flake.nix +++ b/flake.nix @@ -59,7 +59,7 @@ ./machines/universedesktop/configuration.nix ]; }; - darwinConfigurations."Universe-Air" = nix-darwin.lib.darwinSystem { + darwinConfigurations."Universe-MacBook-Air" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; specialArgs = { inputs = attrs; diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 779bd26..313c9e1 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -28,9 +28,7 @@ flakify() { ''; shellAliases = { ssh = "kitty +kitten ssh"; - sshu = "ssh universe@syzygial.cc -p 7000"; - tailscale = -"/Applications/Tailscale.app/Contents/MacOS/Tailscale"; + sshu = "ssh universe"; }; }; home.stateVersion = "22.05"; From 5205e6004c9530e8e9245c80f4959a412acf7ea5 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 10:33:08 -0500 Subject: [PATCH 04/64] Applications Directory Fix --- machines/universeair/app-fix.nix | 29 ++++++++++++++++++++++++++ machines/universeair/configuration.nix | 17 +++------------ 2 files changed, 32 insertions(+), 14 deletions(-) create mode 100644 machines/universeair/app-fix.nix diff --git a/machines/universeair/app-fix.nix b/machines/universeair/app-fix.nix new file mode 100644 index 0000000..7f7d887 --- /dev/null +++ b/machines/universeair/app-fix.nix @@ -0,0 +1,29 @@ +{config, pkgs, lib, ...}: { + # Nix-darwin does not link installed applications to the user environment. This means apps will not show up + # in spotlight, and when launched through the dock they come with a terminal window. This is a workaround. + # Upstream issue: https://github.com/LnL7/nix-darwin/issues/214 + system.activationScripts.applications.text = lib.mkForce '' + echo "setting up /Applications..." >&2 + applications="/Applications" + nix_apps="$applications/Nix Apps" + + # Delete the directory to remove old links + rm -rf "$nix_apps" + mkdir -p "$nix_apps" + find ${config.system.build.applications}/Applications -maxdepth 1 -type l -exec readlink '{}' + | + while read src; do + # Spotlight does not recognize symlinks, it will ignore directory we link to the applications folder. + # It does understand MacOS aliases though, a unique filesystem feature. Sadly they cannot be created + # from bash (as far as I know), so we use the oh-so-great Apple Script instead. + /usr/bin/osascript -e " + set fileToAlias to POSIX file \"$src\" + set applicationsFolder to POSIX file \"$nix_apps\" + tell application \"Finder\" + make new alias at applicationsFolder to fileToAlias + # This renames the alias; 'mpv.app alias' -> 'mpv.app' + set name of result to \"$(rev <<< "$src" | cut -d'/' -f1 | rev)\" + end tell + " 1>/dev/null + done + ''; +} diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 313c9e1..1c49327 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -1,6 +1,9 @@ { config, pkgs, inputs, ... }: let in { + imports = [ + ./app-fix.nix + ]; nix.registry.nixpkgs.flake = inputs.nixpkgs; home-manager.useGlobalPkgs = true; @@ -15,17 +18,6 @@ in programs.bash.enable = true; programs.zsh = { enable = true; - initExtra = '' -PATH=$HOME/flutter/bin:$PATH -DYLD_LIBRARY_PATH=MR/v99/runtime/maci64:MR/v99/sys/os/maci64:MR/v99/bin/maci64:$DYLD_LIBRARY_PATH -flakify() { - eval "$(direnv hook bash)" - if [ ! -e flake.nix ]; then - nix flake new -t github:nix-community/nix-direnv . - fi - $EDITOR flake.nix -} - ''; shellAliases = { ssh = "kitty +kitten ssh"; sshu = "ssh universe"; @@ -54,9 +46,6 @@ flakify() { btop cbqn-replxx - - podman - qemu ]); # Or any other shell you're using. }; # Auto upgrade nix package and the daemon service. From 0ebeac20d8c1ab4047033dfbac82b2d5481d2f4f Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:11:53 -0500 Subject: [PATCH 05/64] universeair: ReOrganize --- machines/universeair/configuration.nix | 49 ++++++++++++++------------ 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 1c49327..c944175 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -5,30 +5,37 @@ in ./app-fix.nix ]; nix.registry.nixpkgs.flake = inputs.nixpkgs; + nixpkgs.config.allowUnfree = true; + # Auto upgrade nix package and the daemon service. + services.nix-daemon.enable = true; + nix.package = pkgs.nixUnstable; + nix.settings.auto-optimise-store = false; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - users.users.universelaptop = { - name = "universelaptop"; - home = "/Users/universelaptop"; - }; - home-manager.users.universelaptop = { pkgs, ... }: { - programs.direnv.enable = true; - programs.direnv.nix-direnv.enable = true; - programs.bash.enable = true; - programs.zsh = { - enable = true; - shellAliases = { - ssh = "kitty +kitten ssh"; - sshu = "ssh universe"; - }; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.users.universelaptop = { + name = "universelaptop"; + home = "/Users/universelaptop"; + }; + users.universelaptop = { pkgs, ... }: { + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; + programs.bash.enable = true; + programs.zsh = { + enable = true; + shellAliases = { + ssh = "kitty +kitten ssh"; + sshu = "ssh universe"; + }; + }; + home.stateVersion = "22.05"; }; - home.stateVersion = "22.05"; }; + environment.variables = { EDITOR = "emacs"; }; - nixpkgs.config.allowUnfree = true; environment.systemPackages = (with pkgs; [ mac-emacs @@ -47,11 +54,7 @@ in cbqn-replxx ]); - # Or any other shell you're using. }; - # Auto upgrade nix package and the daemon service. - services.nix-daemon.enable = true; - nix.package = pkgs.nixUnstable; - nix.settings.auto-optimise-store = false; + # Create /etc/zshrc that loads the nix-darwin environment. programs.bash.enable = true; # default shell on catalina programs.zsh.enable = true; # default shell on catalina From 929259fc0d2aafe793804db188ff129a38ed71e0 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:25:45 -0500 Subject: [PATCH 06/64] universeair: nixify *almost* everything --- machines/universeair/configuration.nix | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index c944175..3254284 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -53,7 +53,30 @@ in btop cbqn-replxx - ]); + + # Graphical Apps: + firefox + rectangle + tailscale + discord + slack + # TODO: Consider using Yabai?? + ]); + + homebrew = { + enable = true; + # Graphical apps to install through homebrew instead of nixpkgs + casks = [ + "nextcloud" + "tidal" + ]; + # Apps to install outside of nix for when wanting to test/run + # things that... aren't used by other people who use nix, like + # python apps (which is why poetry is there) + brews = [ + "poetry" + ]; + }; # Create /etc/zshrc that loads the nix-darwin environment. programs.bash.enable = true; # default shell on catalina From c38803ae40fa5e14e64fdaa15008da6dc7e5b43d Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:27:39 -0500 Subject: [PATCH 07/64] universeair: Fix reorganization --- machines/universeair/configuration.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 3254284..7f22933 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -11,13 +11,13 @@ in nix.package = pkgs.nixUnstable; nix.settings.auto-optimise-store = false; + users.users.universelaptop = { + name = "universelaptop"; + home = "/Users/universelaptop"; + }; home-manager = { useGlobalPkgs = true; useUserPackages = true; - users.users.universelaptop = { - name = "universelaptop"; - home = "/Users/universelaptop"; - }; users.universelaptop = { pkgs, ... }: { programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; From 544ee898d1acdc0ddae6a58e915613d7d17ce96c Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:29:19 -0500 Subject: [PATCH 08/64] universeair: firefox (nix -> homebrew) not built for darwin (yet) --- machines/universeair/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 7f22933..b5a6139 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -55,7 +55,6 @@ in cbqn-replxx # Graphical Apps: - firefox rectangle tailscale discord @@ -67,6 +66,7 @@ in enable = true; # Graphical apps to install through homebrew instead of nixpkgs casks = [ + "firefox" "nextcloud" "tidal" ]; From b38f3c4bd598175a43459054fac5e040b5c38c93 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 11:34:10 -0500 Subject: [PATCH 09/64] universeair: document homebrew --- machines/universeair/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index b5a6139..a3e51e8 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -63,6 +63,8 @@ in ]); homebrew = { + # It is not installed by nix, for now, so manually install: + # https://brew.sh/ enable = true; # Graphical apps to install through homebrew instead of nixpkgs casks = [ From 59bb94dd8e5c1cb4ec9417c82d3a7d3873e4b043 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 12:02:27 -0500 Subject: [PATCH 10/64] universeair: Brew fix --- machines/universeair/configuration.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index a3e51e8..6a41c8e 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -24,6 +24,11 @@ in programs.bash.enable = true; programs.zsh = { enable = true; + initExtra = '' + if [[ $(uname -m) == 'arm64' ]]; then + eval "$(/opt/homebrew/bin/brew shellenv)" + fi + ''; shellAliases = { ssh = "kitty +kitten ssh"; sshu = "ssh universe"; @@ -66,6 +71,9 @@ in # It is not installed by nix, for now, so manually install: # https://brew.sh/ enable = true; + onActivation = { + cleanup = "uninstall"; + }; # Graphical apps to install through homebrew instead of nixpkgs casks = [ "firefox" From 5cf103d7daeb15a83bab62f62cb5e1c65d8796dc Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 12:59:08 -0500 Subject: [PATCH 11/64] universeair: Add Bitwarden --- machines/universeair/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 6a41c8e..f27f7f1 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -79,6 +79,7 @@ in "firefox" "nextcloud" "tidal" + "bitwarden" ]; # Apps to install outside of nix for when wanting to test/run # things that... aren't used by other people who use nix, like From 02b7ac7e7802a600ca2432d19afbc470acfad2ef Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 13:19:38 -0500 Subject: [PATCH 12/64] Tiling & Shortcuts:tm: --- machines/universeair/configuration.nix | 5 +++++ machines/universeair/sketchybar.nix | 27 ++++++++++++++++++++++++++ machines/universeair/skhd.nix | 7 +++++++ machines/universeair/yabai.nix | 12 ++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 machines/universeair/sketchybar.nix create mode 100644 machines/universeair/skhd.nix create mode 100644 machines/universeair/yabai.nix diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index f27f7f1..1da6f19 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -2,7 +2,12 @@ in { imports = [ + # Install Apps Detactable by Spotlight ./app-fix.nix + # Tiling Window Manager + ./yabai.nix + # Shortcuts babe, not Automator + ./skhd.nix ]; nix.registry.nixpkgs.flake = inputs.nixpkgs; nixpkgs.config.allowUnfree = true; diff --git a/machines/universeair/sketchybar.nix b/machines/universeair/sketchybar.nix new file mode 100644 index 0000000..555258a --- /dev/null +++ b/machines/universeair/sketchybar.nix @@ -0,0 +1,27 @@ +{config, pkgs, lib, ...}: { + services.sketchybar = { + enable = true; + config = '' +##### Bar Appearance ##### +# Configuring the general appearance of the bar, these are only some of the +# options available. For all options see: +# https://felixkratz.github.io/SketchyBar/config/bar +# If you are looking for other colors, see the color picker: +# https://felixkratz.github.io/SketchyBar/config/tricks#color-picker + +sketchybar --bar height=32 \ + blur_radius=30 \ + position=top \ + sticky=off \ + padding_left=10 \ + padding_right=10 \ + color=0x15ffffff + +##### Finalizing Setup ##### +# The below command is only needed at the end of the initial configuration to +# force all scripts to run the first time, it should never be run in an item script. + +sketchybar --update + ''; + }; +} diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix new file mode 100644 index 0000000..ea9d060 --- /dev/null +++ b/machines/universeair/skhd.nix @@ -0,0 +1,7 @@ +{config, pkgs, lib, ...}: { + services.skhd = { + enable = true; + skhdConfig = '' + ''; + }; +} diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix new file mode 100644 index 0000000..ee7b2e8 --- /dev/null +++ b/machines/universeair/yabai.nix @@ -0,0 +1,12 @@ +{config, pkgs, lib, ...}: { + imports = [ + # Custom Bar + ./sketchybar.nix + ]; + services.yabai = { + enable = true; + config = { + + }; + }; +} From a7f794f65b8b1cb9ee70a4bab55847ec9d20f4a7 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 13:55:24 -0500 Subject: [PATCH 13/64] universeair: (TODO) Configure SketchyBar --- machines/universeair/sketchybar.nix | 3 +++ machines/universeair/yabai.nix | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/machines/universeair/sketchybar.nix b/machines/universeair/sketchybar.nix index 555258a..0bcc8c8 100644 --- a/machines/universeair/sketchybar.nix +++ b/machines/universeair/sketchybar.nix @@ -1,4 +1,7 @@ {config, pkgs, lib, ...}: { + environment.systemPackages = with pkgs; [ + sketchybar + ]; services.sketchybar = { enable = true; config = '' diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix index ee7b2e8..e1da76b 100644 --- a/machines/universeair/yabai.nix +++ b/machines/universeair/yabai.nix @@ -1,7 +1,11 @@ {config, pkgs, lib, ...}: { imports = [ # Custom Bar - ./sketchybar.nix + # ./sketchybar.nix + # TODO: Customize Bar Later + ]; + environment.systemPackages = with pkgs; [ + yabai ]; services.yabai = { enable = true; From fb83eb1e50f475708f2b2cc9b3ac21a593a04f07 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 13:59:11 -0500 Subject: [PATCH 14/64] universeair: Basic Yabai Config --- machines/universeair/yabai.nix | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix index e1da76b..7267bbf 100644 --- a/machines/universeair/yabai.nix +++ b/machines/universeair/yabai.nix @@ -10,7 +10,34 @@ services.yabai = { enable = true; config = { - + layout = "bsp"; + focus_follows_mouse = "autofocus"; + auto_balance = "on"; + + top_padding = 5; + bottom_padding = 5; + left_padding = 5; + right_padding = 5; + window_gap = 5; }; + + extraConfig = '' + yabai -m rule --add app='System Settings' manage=off + yabai -m rule --add app='Boot Camp Assistant' manage=off + yabai -m rule --add app='System Information' manage=off + ''; + }; + + # https://github.com/IvarWithoutBones/dotfiles/blob/main/modules/darwin/yabai/default.nix + # The scripting addition needs root access to load, which we want to do automatically when logging in. + # Disable the password requirement for it so that a service can do so without user interaction. + environment.etc."sudoers.d/yabai-load-sa".text = '' + universelaptop ALL = (root) NOPASSWD: sha256:${builtins.hashFile "sha256" "${pkgs.yabai}/bin/yabai"} ${pkgs.yabai}/bin/yabai + ''; + + launchd.user.agents.yabai-load-sa = { + path = [ pkgs.yabai config.environment.systemPath ]; + command = "/usr/bin/sudo ${pkgs.yabai}/bin/yabai --load-sa"; + serviceConfig.RunAtLoad = true; }; } From 18246d7d6708851166645ec71bba010785c5b989 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 14:56:22 -0500 Subject: [PATCH 15/64] universeair: SKHD Shortcuts, basic TODO: Yabai Shortcuts --- machines/universeair/skhd.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix index ea9d060..76d9b77 100644 --- a/machines/universeair/skhd.nix +++ b/machines/universeair/skhd.nix @@ -2,6 +2,8 @@ services.skhd = { enable = true; skhdConfig = '' + cmd + shift - e : open ${pkgs.mac-emacs}/Applications/Emacs.app + cmd + shift + ctrl - e : open ${pkgs.kitty}/Applications/Kitty.app ''; }; } From d4d63db6d2f8d9612b4353c2ee3772e2254619e9 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 14:56:46 -0500 Subject: [PATCH 16/64] Update me-emacs input --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index b09c766..dcb4356 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1703003068, - "narHash": "sha256-cAp7UbrQTiPAfNhIO9DRs271RUJJHPyBYchDJ4wDMd4=", + "lastModified": 1706555256, + "narHash": "sha256-nBLS68TsIbwd04oQRISqk/xaehZYWzGNDmdBOWpKWXw=", "ref": "refs/heads/master", - "rev": "ed6e88d1069557f1e68aa769934f008cb6c1fed5", - "revCount": 45, + "rev": "d3452d3f0a30162a8acdf11f452ac0ef3a3f5670", + "revCount": 46, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, From 46fd3957534d3e4c5976a7b3b2e1a8efe5e85ed5 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 22:59:15 -0500 Subject: [PATCH 17/64] Basic Asahi (to be home manager) config --- flake.nix | 16 ++++++++++ machines/asahi/home.nix | 71 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 machines/asahi/home.nix diff --git a/flake.nix b/flake.nix index 71dff52..ae14736 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,10 @@ # Will in future be macports based mac-emacs = me-emacs.packages."aarch64-darwin".emacs; }); + + pkgs_linux-x86_64 = nixpkgs.legacyPackages."x86-linux"; + pkgs_linux-aarch64 = nixpkgs.legacyPackages."aarch64-linux"; + in { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -76,5 +80,17 @@ } ]; }; + homeConfigurations."universelaptop" = home-manager.lib.homeManagerConfiguration { + pkgs = pkgs_linux-aarch64; + + # Specify your home configuration modules here, for example, + # the path to your home.nix. + modules = [ ./machines/asahi/home.nix ]; + + extraSpecialArgs = { + pkgs-x86_64 = pkgs_linux-x86_64; + inputs = attrs; + }; + }; }; } diff --git a/machines/asahi/home.nix b/machines/asahi/home.nix new file mode 100644 index 0000000..79b7f47 --- /dev/null +++ b/machines/asahi/home.nix @@ -0,0 +1,71 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "universelaptop"; + home.homeDirectory = "/home/universelaptop"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "23.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = [ + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/universelaptop/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} From 741c033e01d99c80370a4cff4d3a2391bac99cf4 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 29 Jan 2024 23:10:03 -0500 Subject: [PATCH 18/64] asahi: basic packages/plan --- machines/asahi/home.nix | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/machines/asahi/home.nix b/machines/asahi/home.nix index 79b7f47..69df72b 100644 --- a/machines/asahi/home.nix +++ b/machines/asahi/home.nix @@ -18,24 +18,15 @@ # The home.packages option allows you to install Nix packages into your # environment. home.packages = [ - # # Adds the 'hello' command to your environment. It prints a friendly - # # "Hello, world!" when run. - # pkgs.hello - - # # It is sometimes useful to fine-tune packages, for example, by applying - # # overrides. You can do that directly here, just don't forget the - # # parentheses. Maybe you want to install Nerd Fonts with a limited number of - # # fonts? - # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') + me-emacs + armcord + # TODO: Make home-manager module for loading x86_64 apps and automatically + # wrapping them in box64-asahi (page size change, like in Fedora repo) + # as well as, with override option, to enable support for box86/wine ]; + services.nextcloud-client.enable; + # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { @@ -63,7 +54,7 @@ # /etc/profiles/per-user/universelaptop/etc/profile.d/hm-session-vars.sh # home.sessionVariables = { - # EDITOR = "emacs"; + EDITOR = "emacs"; }; # Let Home Manager install and manage itself. From 2dc42941906d79416f68ffb11a4f52934a7f6809 Mon Sep 17 00:00:00 2001 From: universelaptop Date: Tue, 30 Jan 2024 12:43:23 -0500 Subject: [PATCH 19/64] Renamed Laptop --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 71dff52..531978a 100644 --- a/flake.nix +++ b/flake.nix @@ -60,7 +60,7 @@ sops-nix.nixosModules.sops ]; }; - darwinConfigurations."Universe-MacBook-Air" = nix-darwin.lib.darwinSystem { + darwinConfigurations."UniverseAir" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; specialArgs = { inputs = attrs; From 06b11be63063cb7494d7f2b8da08488c5135dd3f Mon Sep 17 00:00:00 2001 From: universelaptop Date: Tue, 30 Jan 2024 12:43:34 -0500 Subject: [PATCH 20/64] Add fonts --- machines/universeair/configuration.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 1da6f19..38e9924 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -43,6 +43,12 @@ in }; }; + fonts.fontDir.enable = true; + fonts.fonts = with pkgs; [ + julia-mono + bqn386 + ]; + environment.variables = { EDITOR = "emacs"; }; From 5aa9d049c543a9b8921ef5bc5a79a28f42542a87 Mon Sep 17 00:00:00 2001 From: universelaptop Date: Sun, 4 Feb 2024 13:58:57 -0500 Subject: [PATCH 21/64] universeair: Fix shortcuts, add zoom --- machines/universeair/configuration.nix | 8 +++++++- machines/universeair/skhd.nix | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 38e9924..bc08709 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -48,7 +48,12 @@ in julia-mono bqn386 ]; - + + services.emacs = { + enable = true; + package = pkgs.mac-emacs; + }; + environment.variables = { EDITOR = "emacs"; }; @@ -91,6 +96,7 @@ in "nextcloud" "tidal" "bitwarden" + "zoom-for-it-admins" ]; # Apps to install outside of nix for when wanting to test/run # things that... aren't used by other people who use nix, like diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix index 76d9b77..1baa9d0 100644 --- a/machines/universeair/skhd.nix +++ b/machines/universeair/skhd.nix @@ -2,8 +2,8 @@ services.skhd = { enable = true; skhdConfig = '' - cmd + shift - e : open ${pkgs.mac-emacs}/Applications/Emacs.app - cmd + shift + ctrl - e : open ${pkgs.kitty}/Applications/Kitty.app + cmd + shift - e : emacsclient --create-frame --alternate-editor="" + cmd + shift + ctrl - e : kitty -d ~ -1 ''; }; } From 828c27b7b755061820ad850b94f06d99b21800e9 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 7 Feb 2024 10:25:18 -0500 Subject: [PATCH 22/64] Remmina & Disable Emacs Daemon --- machines/universeair/configuration.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index bc08709..8776641 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -50,7 +50,8 @@ in ]; services.emacs = { - enable = true; + # Emacsclient behaving weirdly + # enable = true; package = pkgs.mac-emacs; }; @@ -73,6 +74,8 @@ in btop + remmina + cbqn-replxx # Graphical Apps: @@ -97,6 +100,7 @@ in "tidal" "bitwarden" "zoom-for-it-admins" + "libreoffice" ]; # Apps to install outside of nix for when wanting to test/run # things that... aren't used by other people who use nix, like From 29c6c7c94c5bbf6ad2e37ea05f0b98f4188a8be9 Mon Sep 17 00:00:00 2001 From: david Date: Mon, 12 Feb 2024 14:00:21 -0500 Subject: [PATCH 23/64] Universeair: XQuartz --- machines/universeair/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 8776641..a59371d 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -70,6 +70,7 @@ in texlive.combined.scheme-full wget + xquartz kitty btop From 30bc9d7875970fdf4a1d01fa7d664b2f85c4c7ef Mon Sep 17 00:00:00 2001 From: david Date: Mon, 12 Feb 2024 14:00:29 -0500 Subject: [PATCH 24/64] universeair: Launch Emacs not Client --- machines/universeair/skhd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix index 1baa9d0..d2d66c6 100644 --- a/machines/universeair/skhd.nix +++ b/machines/universeair/skhd.nix @@ -2,7 +2,7 @@ services.skhd = { enable = true; skhdConfig = '' - cmd + shift - e : emacsclient --create-frame --alternate-editor="" + cmd + shift - e : open '${pkgs.mac-emacs}/Applications/Emacs.app' cmd + shift + ctrl - e : kitty -d ~ -1 ''; }; From 668392976f06ba75d8fd9423e80085192de1ab22 Mon Sep 17 00:00:00 2001 From: david Date: Mon, 12 Feb 2024 14:00:42 -0500 Subject: [PATCH 25/64] Universeair: Yabai Don't Manage Python Figures --- machines/universeair/yabai.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix index 7267bbf..fd9cb79 100644 --- a/machines/universeair/yabai.nix +++ b/machines/universeair/yabai.nix @@ -9,6 +9,7 @@ ]; services.yabai = { enable = true; + enableScriptingAddition = true; config = { layout = "bsp"; focus_follows_mouse = "autofocus"; @@ -25,19 +26,7 @@ yabai -m rule --add app='System Settings' manage=off yabai -m rule --add app='Boot Camp Assistant' manage=off yabai -m rule --add app='System Information' manage=off + yabai -m rule --add title='^Figure' manage=off ''; }; - - # https://github.com/IvarWithoutBones/dotfiles/blob/main/modules/darwin/yabai/default.nix - # The scripting addition needs root access to load, which we want to do automatically when logging in. - # Disable the password requirement for it so that a service can do so without user interaction. - environment.etc."sudoers.d/yabai-load-sa".text = '' - universelaptop ALL = (root) NOPASSWD: sha256:${builtins.hashFile "sha256" "${pkgs.yabai}/bin/yabai"} ${pkgs.yabai}/bin/yabai - ''; - - launchd.user.agents.yabai-load-sa = { - path = [ pkgs.yabai config.environment.systemPath ]; - command = "/usr/bin/sudo ${pkgs.yabai}/bin/yabai --load-sa"; - serviceConfig.RunAtLoad = true; - }; } From 6df9093a6b4b112eaba83991ee8754ce768ff3f6 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 12 Feb 2024 14:48:12 -0500 Subject: [PATCH 26/64] universedesktop: add zoom --- machines/universedesktop/programs/desktop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index 005c875..ef52598 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -29,6 +29,7 @@ betterdiscordctl slack signal-desktop + zoom-us anki ]; From c0c31dd8c57e3ca58d9e253b483aa949aa358a7e Mon Sep 17 00:00:00 2001 From: david Date: Mon, 12 Feb 2024 18:08:56 -0500 Subject: [PATCH 27/64] Stop using nix unstable, TODO: File issue (possibly) with submodule behaviour --- machines/universeair/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index a59371d..918ece8 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -13,7 +13,7 @@ in nixpkgs.config.allowUnfree = true; # Auto upgrade nix package and the daemon service. services.nix-daemon.enable = true; - nix.package = pkgs.nixUnstable; + # nix.package = pkgs.nixUnstable; nix.settings.auto-optimise-store = false; users.users.universelaptop = { From 960edd01a925bfc49e5d61b48338c205f4812c44 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 21 Feb 2024 19:08:22 -0500 Subject: [PATCH 28/64] universedesktop: Remove WiiU/Switch Emulators --- machines/universedesktop/programs/games.nix | 55 +-------------------- machines/universedesktop/programs/gtitles.c | 8 --- 2 files changed, 1 insertion(+), 62 deletions(-) delete mode 100644 machines/universedesktop/programs/gtitles.c diff --git a/machines/universedesktop/programs/games.nix b/machines/universedesktop/programs/games.nix index fa90640..0bc2f52 100644 --- a/machines/universedesktop/programs/games.nix +++ b/machines/universedesktop/programs/games.nix @@ -1,51 +1,4 @@ -{ lib, config, pkgs, ... }: let - wiiUDownloader = pkgs.stdenv.mkDerivation rec { - pname = "WiiUDownloader"; - version = "1.32"; - src = pkgs.fetchFromGitHub { - owner = "Xpl0itU"; - repo = "WiiUDownloader"; - rev = "v${version}"; - fetchSubmodules = true; - hash = "sha256-R3FiNiK27Q2x5HbHmWw3F4LPJNKz5BAoOyl4fYAEQlc="; - }; - preConfigure = '' - cp ${./gtitles.c} src/gtitles.c - ''; - nativeBuildInputs = with pkgs; [ - cmake - pkg-config - wrapGAppsHook - ]; - buildInputs = with pkgs; [ - curl - mbedtls - gtkmm3 - pcre2 - pcre-cpp - util-linux - libselinux - libsepol - libthai - libdatrie - xorg.libXdmcp - libxkbcommon - libepoxy - xorg.libXtst - ]; - - propagatedBuildInputs = with pkgs; [ - gsettings-desktop-schemas - ]; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - mv * $out/bin - runHook postInstall - ''; - }; -in { +{ lib, config, pkgs, ... }: { # For steam services.flatpak.enable = true; # Game compat @@ -61,11 +14,5 @@ in { # PS2 Games pcsx2 - - # Switch / WiiU Games - cemu - wiiUDownloader - yuzu-early-access - ukmm ]; } diff --git a/machines/universedesktop/programs/gtitles.c b/machines/universedesktop/programs/gtitles.c deleted file mode 100644 index a6de707..0000000 --- a/machines/universedesktop/programs/gtitles.c +++ /dev/null @@ -1,8 +0,0 @@ -/****************************************************** - * This file has been auto generated at 16. May 2023. * - * Do not edit! * - ******************************************************/ - -#include -#include -static const TitleEntry titleEntry[]={{.name="(Event Preview) Freedom Planet",.tid=0x50000101CD500,.region=4,.key=0},{.name="(Event Preview) Freedom Planet",.tid=0x50000101CB500,.region=2,.key=0},{.name="(Event Preview) Runbow",.tid=0x50000101CD900,.region=4,.key=0},{.name="(Event Preview) Runbow",.tid=0x50000101CB900,.region=2,.key=0},{.name="(Event Preview) Soul Axiom",.tid=0x50000101CD100,.region=4,.key=0},{.name="(Event Preview) Soul Axiom",.tid=0x50000101CBA00,.region=2,.key=0},{.name="(Event Preview) Typoman",.tid=0x50000101CBB00,.region=2,.key=0},{.name="@SIMPLE DLシリーズ for Wii U Vol.1 THE 密室からの脱出 (@SIMPLE DLseries for Wii U Vol.1 THE Escape Trick)",.tid=0x500001014BF00,.region=1,.key=0},{.name="@SIMPLE DLシリーズ for Wii U Vol.2 THE 密室からの脱出2 (@SIMPLE DLseries for Wii U Vol.2 THE Escape Trick2)",.tid=0x500001015ED00,.region=1,.key=0},{.name="1001 Spikes",.tid=0x50000101CA000,.region=4,.key=0},{.name="1001 Spikes",.tid=0x5000010176B00,.region=2,.key=0},{.name="1001 Spikes",.tid=0x50000101DE500,.region=1,.key=0},{.name="1080° Snowboarding",.tid=0x50000101A5B00,.region=6,.key=0},{.name="140",.tid=0x50000101FB500,.region=4,.key=0},{.name="140",.tid=0x50000101FA800,.region=2,.key=0},{.name="153 Hand Video Poker",.tid=0x50000101D7F00,.region=2,.key=0},{.name="2010 ストリートファイター (Street Fighter 2010)",.tid=0x5000010177D00,.region=1,.key=0},{.name="360 Breakout",.tid=0x5000010202E00,.region=4,.key=0},{.name="360 Breakout",.tid=0x5000010202D00,.region=2,.key=0},{.name="3DS版モンスターハンター3G・ パケットリレーツール (MONSTER HUNTER 3 ULTIMATE Packet Relay...for Nintendo 3DS)",.tid=0x5000010111B00,.region=1,.key=0},{.name="3Souls",.tid=0x500001017E200,.region=4,.key=0},{.name="3Souls",.tid=0x500001017E700,.region=2,.key=0},{.name="6-HAND VIDEO POKER",.tid=0x50000101D7A00,.region=2,.key=0},{.name="6180 the moon",.tid=0x50000101D3300,.region=4,.key=0},{.name="6180 the moon",.tid=0x5000010175A00,.region=2,.key=0},{.name="6180 the moon",.tid=0x50000101F8F00,.region=1,.key=0},{.name="8Bit Hero",.tid=0x50000101F2800,.region=2,.key=0},{.name="99Moves",.tid=0x5000010191700,.region=4,.key=0},{.name="99Moves",.tid=0x5000010183900,.region=2,.key=0},{.name="99Moves",.tid=0x50000101D3200,.region=1,.key=0},{.name="99Seconds",.tid=0x5000010182700,.region=4,.key=0},{.name="99Seconds",.tid=0x500001016E700,.region=2,.key=0},{.name="99Seconds",.tid=0x50000101C4600,.region=1,.key=0},{.name="A Day at the Carnival by Thornbury Software LLC",.tid=0x50000101EA400,.region=2,.key=0},{.name="A Drawing's Journey",.tid=0x5000010211E00,.region=4,.key=0},{.name="A Shadow's Tale",.tid=0x50000101B7E00,.region=4,.key=0},{.name="A World of Keflings",.tid=0x500001017B300,.region=2,.key=0},{.name="A.C.E.",.tid=0x5000010208E00,.region=4,.key=0},{.name="A.C.E. - Alien Cleanup Elite",.tid=0x5000010207C00,.region=2,.key=0},{.name="Absolutely Unstoppable MineRun",.tid=0x500001020F500,.region=4,.key=0},{.name="Absolutely Unstoppable MineRun",.tid=0x500001020FD00,.region=2,.key=0},{.name="Abyss",.tid=0x500001016D900,.region=4,.key=0},{.name="Abyss Cosen",.tid=0x50000101C5700,.region=1,.key=0},{.name="Abyss EnjoUp Games",.tid=0x5000010148500,.region=2,.key=0},{.name="ACE OF SEAFOOD",.tid=0x5000010207A00,.region=1,.key=0},{.name="ACT IT OUT! A Game of Charades",.tid=0x50000101EB600,.region=4,.key=0},{.name="ACT IT OUT! A Game of Charades",.tid=0x50000101EC500,.region=2,.key=0},{.name="Advance Wars",.tid=0x500001015E200,.region=4,.key=0},{.name="Advance Wars",.tid=0x500001015E100,.region=2,.key=0},{.name="Advance Wars 2: Black Hole Rising",.tid=0x50000101A3000,.region=4,.key=0},{.name="Advance Wars 2: Black Hole Rising",.tid=0x50000101A3100,.region=2,.key=0},{.name="Advance Wars: Dual Strike",.tid=0x50000101DA600,.region=4,.key=0},{.name="Advance Wars: Dual Strike",.tid=0x50000101DA500,.region=2,.key=0},{.name="Adventure Island",.tid=0x5000010134200,.region=4,.key=0},{.name="Adventure Island",.tid=0x5000010134100,.region=2,.key=0},{.name="Adventure Party Cats and Caverns",.tid=0x50000101F6200,.region=2,.key=0},{.name="Adventure Time: Explore the Dungeon Because I Don't Know!",.tid=0x5000010144000,.region=2,.key=0},{.name="Adventure Time: Explore the Dungeon Because I DON’T KNOW!",.tid=0x500001014E100,.region=4,.key=0},{.name="Adventure Time: Finn & Jake Investigations",.tid=0x50000101AC700,.region=2,.key=0},{.name="Adventure Time: Finn and Jake Investigations",.tid=0x50000101AFE00,.region=4,.key=0},{.name="ADVENTURES OF LOLO",.tid=0x500001016B500,.region=4,.key=0},{.name="ADVENTURES OF LOLO",.tid=0x500001016B400,.region=2,.key=0},{.name="Adventures of Pip",.tid=0x50000101E5600,.region=4,.key=0},{.name="Adventures of Pip By Tic Toc Games",.tid=0x500001018CF00,.region=2,.key=0},{.name="Aenigma Os",.tid=0x50000101F9900,.region=4,.key=0},{.name="Aenigma Os",.tid=0x50000101D1A00,.region=2,.key=0},{.name="Affordable Space Adventures",.tid=0x50000101A1200,.region=4,.key=0},{.name="Affordable Space Adventures",.tid=0x500001018AB00,.region=2,.key=0},{.name="AIR ZONK",.tid=0x5000010165000,.region=4,.key=0},{.name="AIR ZONK",.tid=0x5000010164F00,.region=2,.key=0},{.name="Alice in Wonderland",.tid=0x5000010203900,.region=4,.key=0},{.name="Alice in Wonderland",.tid=0x5000010202500,.region=2,.key=0},{.name="ALIEN CRUSH",.tid=0x5000010165A00,.region=4,.key=0},{.name="ALIEN CRUSH",.tid=0x5000010165900,.region=2,.key=0},{.name="Alphadia Genesis",.tid=0x500001019C900,.region=4,.key=0},{.name="ALPHADIA GENESIS",.tid=0x500001018FB00,.region=2,.key=0},{.name="Amazon / LOVEFiLM",.tid=0x5000010102F00,.region=4,.key=0},{.name="Amazon Instant Video",.tid=0x5000010102E00,.region=2,.key=0},{.name="Amazon Video",.tid=0x5000010202A00,.region=2,.key=0},{.name="Amazon ビデオ BETA (Amazon Video BETA)",.tid=0x5000010202900,.region=1,.key=0},{.name="amiibo tap Nintendo's Greatest Bits",.tid=0x50000101B4200,.region=2,.key=0},{.name="amiibo Touch & Play Nintendo Classics Highlights",.tid=0x50000101B4300,.region=4,.key=0},{.name="Angry Birds Star Wars",.tid=0x5000010149100,.region=4,.key=0},{.name="Angry Birds Star Wars",.tid=0x5000010145E00,.region=2,.key=0},{.name="Angry Birds Trilogy",.tid=0x5000010140000,.region=4,.key=0},{.name="Angry Birds Trilogy",.tid=0x5000010138A00,.region=2,.key=0},{.name="Angry Bunnies: Colossal Carrot Crusade",.tid=0x5000010154900,.region=4,.key=0},{.name="Angry Bunnies: Colossal Carrot Crusade",.tid=0x500001016EF00,.region=2,.key=0},{.name="Angry Video Game Nerd Adventures",.tid=0x50000101DBF00,.region=4,.key=0},{.name="Angry Video Game Nerd Adventures",.tid=0x500001018F400,.region=2,.key=0},{.name="Animal Crossing Plaza",.tid=0x5000010145600,.region=6,.key=0},{.name="Animal Crossing: amiibo Festival",.tid=0x50000101C6500,.region=4,.key=0},{.name="Animal Crossing: Wild World",.tid=0x50000101D2100,.region=4,.key=0},{.name="Animal Crossing: Wild World",.tid=0x50000101D2000,.region=2,.key=0},{.name="Animal Gods",.tid=0x50000101D1200,.region=2,.key=0},{.name="Annihilation",.tid=0x5000010214B00,.region=4,.key=0},{.name="Annihilation",.tid=0x5000010206600,.region=2,.key=0},{.name="Another World 20th Anniversary Edition",.tid=0x5000010173200,.region=4,.key=0},{.name="Another World Out of This World",.tid=0x5000010175500,.region=2,.key=0},{.name="Aperion Cyberstorm",.tid=0x50000101C8A00,.region=4,.key=0},{.name="Aperion Cyberstorm",.tid=0x50000101BC900,.region=2,.key=0},{.name="Aqua Moto Racing Utopia",.tid=0x5000010172900,.region=4,.key=0},{.name="Aqua Moto Racing Utopia",.tid=0x500001016FC00,.region=2,.key=0},{.name="Aqua TV",.tid=0x5000010205F00,.region=4,.key=0},{.name="Aqua TV",.tid=0x500001020D800,.region=2,.key=0},{.name="ARC STYLE: 野球!!SP (ARC STYLE: BASEBALL!!SP)",.tid=0x5000010140800,.region=1,.key=0},{.name="Archery",.tid=0x50000101E6300,.region=2,.key=0},{.name="Armikrog",.tid=0x5000010200300,.region=4,.key=0},{.name="Armikrog",.tid=0x50000101F1300,.region=2,.key=0},{.name="Armillo",.tid=0x500001016C700,.region=4,.key=0},{.name="Armillo",.tid=0x500001016AC00,.region=2,.key=0},{.name="Armored ACORNs: Action Squirrel Squad",.tid=0x5000010212500,.region=4,.key=0},{.name="Armored ACORNs: Action Squirrel Squad",.tid=0x50000101EA900,.region=2,.key=0},{.name="Arrow Time U",.tid=0x5000010195F00,.region=2,.key=0},{.name="Art Academy Atelier",.tid=0x500001017B500,.region=4,.key=0},{.name="Art Academy: Home Studio",.tid=0x500001017BF00,.region=2,.key=0},{.name="Art Academy: SketchPad",.tid=0x5000010142700,.region=4,.key=0},{.name="Art Academy: SketchPad",.tid=0x5000010142C00,.region=2,.key=0},{.name="Art of Balance",.tid=0x5000010149400,.region=4,.key=0},{.name="Art of Balance",.tid=0x5000010135000,.region=2,.key=0},{.name="Ascent of Kings",.tid=0x50000101E8A00,.region=4,.key=0},{.name="Ascent of Kings",.tid=0x50000101D6300,.region=2,.key=0},{.name="Asdivine Hearts",.tid=0x50000101EFF00,.region=4,.key=0},{.name="Asdivine Hearts",.tid=0x50000101E7B00,.region=2,.key=0},{.name="Assassin's Creed® III",.tid=0x500001010F600,.region=4,.key=0},{.name="Assassin's Creed® III",.tid=0x5000010106B00,.region=2,.key=0},{.name="Assassin's Creed® IV Black Flag",.tid=0x5000010138800,.region=4,.key=0},{.name="Assassin's Creed® IV Black Flag",.tid=0x5000010138B00,.region=2,.key=0},{.name="Asteroid Quarry",.tid=0x50000101B4F00,.region=2,.key=0},{.name="Astral Breakers",.tid=0x50000101BBC00,.region=2,.key=0},{.name="Astral Breakers",.tid=0x50000101E9A00,.region=1,.key=0},{.name="Ava and Avior Save the Earth",.tid=0x500001016FD00,.region=2,.key=0},{.name="AVOIDER",.tid=0x50000101DEE00,.region=2,.key=0},{.name="AXELAY",.tid=0x5000010186700,.region=4,.key=0},{.name="AXELAY",.tid=0x5000010186600,.region=2,.key=0},{.name="AXELAY アクスレイ",.tid=0x5000010186500,.region=1,.key=0},{.name="Axiom Verge",.tid=0x5000010200800,.region=4,.key=0},{.name="Axiom Verge",.tid=0x50000101F7900,.region=2,.key=0},{.name="Azure Snake",.tid=0x5000010219300,.region=4,.key=0},{.name="Azure Snake",.tid=0x5000010219400,.region=2,.key=0},{.name="B3 Game Expo For Bees",.tid=0x50000101F9800,.region=4,.key=0},{.name="B3 Game Expo For Bees",.tid=0x50000101E1F00,.region=2,.key=0},{.name="Back to Bed",.tid=0x5000010202000,.region=4,.key=0},{.name="Back to Bed",.tid=0x50000101F0200,.region=2,.key=0},{.name="Back to Bed",.tid=0x500001020E700,.region=1,.key=0},{.name="BADLAND Game of the Year Edition",.tid=0x50000101A5D00,.region=4,.key=0},{.name="BADLAND Game of the Year Edition",.tid=0x500001019A600,.region=2,.key=0},{.name="Baila Latino",.tid=0x500001017C200,.region=4,.key=0},{.name="Baila Latino",.tid=0x500001017C400,.region=2,.key=0},{.name="Balloon Fight",.tid=0x5000010108900,.region=4,.key=0},{.name="Balloon Fight",.tid=0x5000010108800,.region=2,.key=0},{.name="Ballpoint Universe: Infinite",.tid=0x500001016FE00,.region=2,.key=0},{.name="Barbie and her Sisters Puppy Rescue",.tid=0x50000101D1D00,.region=4,.key=0},{.name="Barbie and her Sisters Puppy Rescue",.tid=0x50000101D1000,.region=2,.key=0},{.name="Barbie Dreamhouse Party",.tid=0x5000010147B00,.region=4,.key=0},{.name="Barbie Dreamhouse Party",.tid=0x5000010118100,.region=2,.key=0},{.name="BASEBALL",.tid=0x5000010149A00,.region=4,.key=0},{.name="BASEBALL",.tid=0x5000010149900,.region=2,.key=0},{.name="Baseball Simulator 1000",.tid=0x50000101A7500,.region=2,.key=0},{.name="Bases Loaded",.tid=0x500001016BB00,.region=2,.key=0},{.name="Batman Arkham City: Armoured Edition",.tid=0x5000010111300,.region=4,.key=0},{.name="Batman Arkham City: Armoured Edition",.tid=0x5000010112900,.region=1,.key=0},{.name="Batman: Arkham City Armored Edition",.tid=0x500001010AB00,.region=2,.key=0},{.name="Batman™: Arkham Origins",.tid=0x5000010136C00,.region=4,.key=0},{.name="Batman™: Arkham Origins",.tid=0x5000010137C00,.region=2,.key=0},{.name="Batman™: Arkham Origins Blackgate - Deluxe Edition",.tid=0x500001016D300,.region=4,.key=0},{.name="Batman™: Arkham Origins Blackgate - Deluxe Edition",.tid=0x500001016DF00,.region=2,.key=0},{.name="BATTLE CHOPPER",.tid=0x5000010164400,.region=4,.key=0},{.name="BATTLE CHOPPER",.tid=0x5000010164300,.region=2,.key=0},{.name="BATTLE LODE RUNNER",.tid=0x5000010215900,.region=4,.key=0},{.name="BATTLE LODE RUNNER",.tid=0x5000010215A00,.region=2,.key=0},{.name="BAYONETTA",.tid=0x5000010157F00,.region=4,.key=0},{.name="BAYONETTA",.tid=0x5000010157E00,.region=2,.key=0},{.name="BAYONETTA",.tid=0x500001014DB00,.region=1,.key=0},{.name="BAYONETTA 2",.tid=0x5000010172700,.region=4,.key=0},{.name="BAYONETTA 2",.tid=0x5000010172600,.region=2,.key=0},{.name="BAYONETTA 2",.tid=0x500001011B900,.region=1,.key=0},{.name="BBC iPlayer",.tid=0x5000010154800,.region=4,.key=0},{.name="BE BALL (CHEW MAN FU)",.tid=0x500001015C200,.region=1,.key=0},{.name="Beat the Beat: Rhythm Paradise",.tid=0x50000101B0800,.region=4,.key=0},{.name="Beatbuddy",.tid=0x50000101BC300,.region=4,.key=0},{.name="Beatbuddy",.tid=0x50000101A4300,.region=2,.key=0},{.name="BEN 10 OMNIVERSE™",.tid=0x5000010111000,.region=4,.key=0},{.name="BEN 10 OMNIVERSE™",.tid=0x500001010AC00,.region=2,.key=0},{.name="BEN 10 OMNIVERSE™ 2",.tid=0x5000010146600,.region=4,.key=0},{.name="BEN 10 OMNIVERSE™ 2",.tid=0x5000010147500,.region=2,.key=0},{.name="Big Brain Academy",.tid=0x5000010198D00,.region=4,.key=0},{.name="Big Brain Academy",.tid=0x5000010198C00,.region=2,.key=0},{.name="Bigley's Revenge",.tid=0x50000101CA100,.region=2,.key=0},{.name="Bike Rider UltraDX WORLD TOUR",.tid=0x50000101D9E00,.region=4,.key=0},{.name="BIOHAZARD REVELATIONS Unveiled Edition",.tid=0x5000010113100,.region=1,.key=0},{.name="Bird Mania Party",.tid=0x50000101E4B00,.region=4,.key=0},{.name="Bird Mania Party",.tid=0x50000101E4C00,.region=2,.key=0},{.name="Bit Dungeon+",.tid=0x50000101E2C00,.region=4,.key=0},{.name="Bit Dungeon+",.tid=0x50000101A7E00,.region=2,.key=0},{.name="Bit Dungeon+",.tid=0x5000010212100,.region=1,.key=0},{.name="Bit Trip Presents... Runner2 リズム星人の爆走",.tid=0x50000101DD600,.region=1,.key=0},{.name="BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien",.tid=0x5000010136300,.region=4,.key=0},{.name="BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien",.tid=0x500001011AF00,.region=2,.key=0},{.name="Blackjack 21",.tid=0x50000101FBB00,.region=2,.key=0},{.name="BLASTER MASTER",.tid=0x500001018BE00,.region=4,.key=0},{.name="BLASTER MASTER",.tid=0x500001018BD00,.region=2,.key=0},{.name="Blasting Agent: Ultimate Edition",.tid=0x50000101FA900,.region=4,.key=0},{.name="Blasting Agent: Ultimate Edition",.tid=0x50000101FAA00,.region=2,.key=0},{.name="Blazing Lazers",.tid=0x5000010165800,.region=4,.key=0},{.name="BLAZING LAZERS",.tid=0x5000010165700,.region=2,.key=0},{.name="Blek",.tid=0x50000101A3900,.region=4,.key=0},{.name="Blek",.tid=0x50000101A4B00,.region=2,.key=0},{.name="BLOC",.tid=0x500001020C700,.region=4,.key=0},{.name="BLOC",.tid=0x50000101FC000,.region=2,.key=0},{.name="Block Zombies!",.tid=0x5000010202C00,.region=4,.key=0},{.name="Block Zombies!",.tid=0x5000010201D00,.region=2,.key=0},{.name="Blockara",.tid=0x50000101B4900,.region=2,.key=0},{.name="Blocky Bot",.tid=0x50000101BB700,.region=4,.key=0},{.name="Blocky Bot",.tid=0x50000101BC700,.region=2,.key=0},{.name="BLOK DROP U",.tid=0x5000010175700,.region=4,.key=0},{.name="BLOK DROP U",.tid=0x500001016E500,.region=2,.key=0},{.name="BLOK DROP X TWISTED FUSION",.tid=0x500001019BA00,.region=4,.key=0},{.name="BLOK DROP X TWISTED FUSION",.tid=0x500001019A700,.region=2,.key=0},{.name="Blue-Collar Astronaut",.tid=0x50000101D1300,.region=2,.key=0},{.name="BOMBERMAN '93",.tid=0x5000010215B00,.region=4,.key=0},{.name="BOMBERMAN '93",.tid=0x5000010215C00,.region=2,.key=0},{.name="BOMBERMAN '94",.tid=0x5000010166E00,.region=4,.key=0},{.name="BOMBERMAN '94",.tid=0x5000010166D00,.region=2,.key=0},{.name="BOMBERMAN 64",.tid=0x50000101FE800,.region=6,.key=0},{.name="BOMBERMAN PANIC BOMBER",.tid=0x5000010168000,.region=4,.key=0},{.name="BOMBERMAN PANIC BOMBER",.tid=0x5000010167F00,.region=2,.key=0},{.name="Bombing Bastards",.tid=0x500001016A200,.region=4,.key=0},{.name="Bombing Bastards",.tid=0x500001016AB00,.region=2,.key=0},{.name="BONK III Bonk's Big Adventure",.tid=0x5000010165400,.region=4,.key=0},{.name="BONK III Bonk's Big Adventure",.tid=0x5000010165300,.region=2,.key=0},{.name="Bonk's Adventure",.tid=0x5000010164800,.region=4,.key=0},{.name="Bonk's Adventure",.tid=0x5000010164700,.region=2,.key=0},{.name="BONK'S REVENGE",.tid=0x5000010165200,.region=4,.key=0},{.name="BONK'S REVENGE",.tid=0x5000010165100,.region=2,.key=0},{.name="Booty Diver",.tid=0x50000101D1700,.region=2,.key=0},{.name="BOX UP",.tid=0x5000010212800,.region=4,.key=0},{.name="BOX UP",.tid=0x5000010212B00,.region=2,.key=0},{.name="Brain Age: Train Your Brain in Minutes a Day",.tid=0x5000010179B00,.region=2,.key=0},{.name="Brave Tank Hero",.tid=0x50000101CF800,.region=4,.key=0},{.name="Brave Tank Hero",.tid=0x50000101CFB00,.region=2,.key=0},{.name="Brawl Brothers",.tid=0x5000010141E00,.region=4,.key=0},{.name="Brawl Brothers",.tid=0x5000010141D00,.region=2,.key=0},{.name="BREAK IN",.tid=0x5000010167400,.region=4,.key=0},{.name="BREAK IN",.tid=0x5000010167300,.region=2,.key=0},{.name="BREAK IN",.tid=0x500001015CC00,.region=1,.key=0},{.name="Breakout Defense",.tid=0x500001020B900,.region=4,.key=0},{.name="Breakout Defense",.tid=0x500001020BA00,.region=2,.key=0},{.name="Breakout Defense 2",.tid=0x5000010216000,.region=4,.key=0},{.name="Breakout Defense 2",.tid=0x5000010216400,.region=2,.key=0},{.name="BREATH OF FIRE",.tid=0x5000010178A00,.region=4,.key=0},{.name="BREATH OF FIRE",.tid=0x5000010178900,.region=2,.key=0},{.name="Breath of Fire II",.tid=0x5000010134C00,.region=4,.key=0},{.name="Breath of Fire II",.tid=0x5000010134B00,.region=2,.key=0},{.name="Breezeblox",.tid=0x50000101A8900,.region=2,.key=0},{.name="BRICK BREAKER",.tid=0x5000010200A00,.region=4,.key=0},{.name="BRICK BREAKER",.tid=0x50000101FFB00,.region=2,.key=0},{.name="BRICK RACE",.tid=0x500001020E100,.region=4,.key=0},{.name="BRICK RACE",.tid=0x500001020E000,.region=2,.key=0},{.name="BrickBlast U!",.tid=0x500001017A700,.region=2,.key=0},{.name="Bridge Constructor Playground",.tid=0x500001020B000,.region=4,.key=0},{.name="Bridge Constructor Playground",.tid=0x500001020B100,.region=2,.key=0},{.name="Brunswick Pro Bowling",.tid=0x50000101D4200,.region=2,.key=0},{.name="BUBBLE BOBBLE",.tid=0x5000010150A00,.region=1,.key=0},{.name="Bubble Gum Popper",.tid=0x50000101BBD00,.region=2,.key=0},{.name="Buddy & Me: Dream Edition",.tid=0x50000101F4A00,.region=4,.key=0},{.name="Buddy & Me: Dream Edition",.tid=0x50000101ECF00,.region=2,.key=0},{.name="c",.tid=0x5000010189400,.region=6,.key=1},{.name="Cake Ninja 3: The Legend Continues",.tid=0x500001018CD00,.region=4,.key=0},{.name="CAKE NINJA 3: THE LEGEND CONTINUES",.tid=0x500001018D400,.region=2,.key=0},{.name="Call of Nightmare",.tid=0x5000010218700,.region=2,.key=0},{.name="Candy Hoarder",.tid=0x500001020D400,.region=4,.key=0},{.name="Candy Hoarder",.tid=0x50000101B0000,.region=2,.key=0},{.name="Canvaleon",.tid=0x50000101D0700,.region=4,.key=0},{.name="Canvaleon",.tid=0x50000101CE100,.region=2,.key=0},{.name="Captain Toad: Treasure Tracker",.tid=0x5000010180700,.region=4,.key=0},{.name="Captain Toad: Treasure Tracker",.tid=0x5000010180600,.region=2,.key=0},{.name="Captain U",.tid=0x500001021C600,.region=4,.key=99},{.name="Captain U",.tid=0x500001021B200,.region=2,.key=99},{.name="Car Battler Joe",.tid=0x50000101A9900,.region=2,.key=0},{.name="Cars 3: Driven to Win",.tid=0x500001020A400,.region=4,.key=0},{.name="Cars 3: Driven to Win",.tid=0x5000010209900,.region=2,.key=0},{.name="CastleStorm",.tid=0x5000010113A00,.region=4,.key=0},{.name="CastleStorm",.tid=0x5000010133700,.region=2,.key=0},{.name="Castlevania",.tid=0x5000010151500,.region=4,.key=0},{.name="Castlevania",.tid=0x5000010170900,.region=4,.key=0},{.name="Castlevania",.tid=0x5000010151400,.region=2,.key=0},{.name="Castlevania Aria of Sorrow",.tid=0x5000010184000,.region=4,.key=0},{.name="Castlevania Aria of Sorrow",.tid=0x5000010183F00,.region=2,.key=0},{.name="Castlevania Circle of the Moon",.tid=0x500001016F200,.region=2,.key=0},{.name="Castlevania Dracula X",.tid=0x5000010160100,.region=4,.key=0},{.name="Castlevania Dracula X",.tid=0x5000010160000,.region=2,.key=0},{.name="Castlevania Harmony of Dissonance",.tid=0x5000010176200,.region=4,.key=0},{.name="Castlevania Harmony of Dissonance",.tid=0x5000010176100,.region=2,.key=0},{.name="Castlevania Ⅱ Simon's Quest",.tid=0x5000010153C00,.region=4,.key=0},{.name="Castlevania Ⅱ Simon's Quest",.tid=0x5000010153B00,.region=2,.key=0},{.name="Castlevania III: Dracula's Curse",.tid=0x500001015F500,.region=4,.key=0},{.name="Castlevania III: Dracula's Curse",.tid=0x500001015F400,.region=2,.key=0},{.name="Castlevania 暁月の円舞曲 (Castlevania Aria of Sorrow)",.tid=0x5000010183E00,.region=1,.key=0},{.name="Castlevania 白夜の協奏曲 (Castlevania Harmony of Dissonance)",.tid=0x5000010176000,.region=1,.key=0},{.name="Chariot",.tid=0x5000010179900,.region=4,.key=0},{.name="Chariot",.tid=0x500001017AC00,.region=2,.key=0},{.name="Chariot",.tid=0x50000101B4400,.region=1,.key=0},{.name="Chasing Aurora",.tid=0x5000010117700,.region=4,.key=0},{.name="Chasing Aurora",.tid=0x500001011C000,.region=2,.key=0},{.name="Chasing Dead",.tid=0x50000101E5E00,.region=4,.key=0},{.name="Chasing Dead",.tid=0x500001017E400,.region=2,.key=0},{.name="Chests O' Booty",.tid=0x5000010187200,.region=2,.key=0},{.name="CHEW MAN FU",.tid=0x5000010166000,.region=4,.key=0},{.name="CHEW MAN FU",.tid=0x5000010165F00,.region=2,.key=0},{.name="CHILD of LIGHT",.tid=0x500001016EA00,.region=4,.key=0},{.name="CHILD of LIGHT",.tid=0x500001015B200,.region=2,.key=0},{.name="CHILD of LIGHT",.tid=0x500001016D800,.region=1,.key=0},{.name="Chimpuzzle Pro",.tid=0x500001014DD00,.region=4,.key=0},{.name="CHINA WARRIOR",.tid=0x5000010165600,.region=4,.key=0},{.name="CHINA WARRIOR",.tid=0x5000010165500,.region=2,.key=0},{.name="Chompy Chomp Chomp Party",.tid=0x50000101A9C00,.region=4,.key=0},{.name="Chompy Chomp Chomp Party",.tid=0x50000101A9E00,.region=2,.key=0},{.name="Christmas Adventure of Rocket P.",.tid=0x50000101E2E00,.region=2,.key=0},{.name="Chroma Blast",.tid=0x50000101DE000,.region=2,.key=0},{.name="Chronicles of Teddy Harmony of Exidus",.tid=0x50000101DAF00,.region=4,.key=0},{.name="Chronicles of Teddy Harmony of Exidus",.tid=0x50000101C7B00,.region=2,.key=0},{.name="Chubbins",.tid=0x500001017AD00,.region=2,.key=0},{.name="Citadale",.tid=0x50000101F9A00,.region=4,.key=0},{.name="Citadale",.tid=0x50000101F9000,.region=2,.key=0},{.name="Citadale The Legends Trilogy",.tid=0x5000010210300,.region=4,.key=0},{.name="Citadale The Legends Trilogy",.tid=0x500001019A800,.region=2,.key=0},{.name="Citizens of Earth",.tid=0x5000010180B00,.region=4,.key=0},{.name="Citizens of Earth",.tid=0x5000010177200,.region=2,.key=0},{.name="City Connection",.tid=0x50000101C2000,.region=2,.key=0},{.name="Cloudberry Kingdom",.tid=0x5000010131A00,.region=4,.key=0},{.name="Cloudberry Kingdom",.tid=0x500001011C600,.region=2,.key=0},{.name="Clu Clu Land",.tid=0x500001014A600,.region=4,.key=0},{.name="Clu Clu Land",.tid=0x500001014A500,.region=2,.key=0},{.name="Coaster Crazy Deluxe",.tid=0x5000010145900,.region=4,.key=0},{.name="Coaster Crazy Deluxe",.tid=0x500001014CF00,.region=2,.key=0},{.name="Cocoto Magic Circus 2",.tid=0x500001014CC00,.region=4,.key=0},{.name="Cocoto Magic Circus 2",.tid=0x5000010139A00,.region=2,.key=0},{.name="Collateral Thinking",.tid=0x5000010200200,.region=4,.key=0},{.name="Collateral Thinking",.tid=0x50000101FAB00,.region=2,.key=0},{.name="COLOR BOMBS",.tid=0x50000101E8800,.region=4,.key=0},{.name="COLOR BOMBS",.tid=0x50000101ABB00,.region=2,.key=0},{.name="COLOR CUBES",.tid=0x500001020E200,.region=4,.key=0},{.name="COLOR CUBES",.tid=0x500001020EC00,.region=2,.key=0},{.name="Color Symphony 2",.tid=0x50000101EB700,.region=4,.key=0},{.name="Color Symphony 2",.tid=0x50000101EAF00,.region=2,.key=0},{.name="Color Zen",.tid=0x5000010162300,.region=4,.key=0},{.name="Color Zen",.tid=0x500001016CE00,.region=2,.key=0},{.name="Color Zen Kids",.tid=0x5000010174200,.region=4,.key=0},{.name="Color Zen Kids",.tid=0x5000010172200,.region=2,.key=0},{.name="CONTRA ADVANCE THE ALIEN WARS EX",.tid=0x50000101AE400,.region=4,.key=0},{.name="CONTRA ADVANCE THE ALIEN WARS EX",.tid=0x50000101AE500,.region=2,.key=0},{.name="CONTRA III THE ALIEN WARS",.tid=0x500001012EF00,.region=4,.key=0},{.name="CONTRA III THE ALIEN WARS",.tid=0x500001012EE00,.region=2,.key=0},{.name="Coqui The Game",.tid=0x5000010211000,.region=2,.key=0},{.name="CosmiBall",.tid=0x5000010217900,.region=2,.key=99},{.name="Cosmophony",.tid=0x5000010195C00,.region=4,.key=0},{.name="Cosmophony",.tid=0x5000010197200,.region=2,.key=0},{.name="Costume Quest 2",.tid=0x5000010197800,.region=4,.key=0},{.name="Costume Quest 2",.tid=0x500001017DA00,.region=2,.key=0},{.name="Crab Cakes Rescue",.tid=0x50000101AFD00,.region=2,.key=0},{.name="Crash 'n the Boys Street Challenge",.tid=0x500001017F600,.region=4,.key=0},{.name="Crash 'n the Boys Street Challenge",.tid=0x500001017F500,.region=2,.key=0},{.name="Crunchyroll",.tid=0x5000010172B00,.region=4,.key=0},{.name="Crunchyroll",.tid=0x5000010172A00,.region=2,.key=0},{.name="Crush Insects",.tid=0x5000010218900,.region=2,.key=0},{.name="CRYSTORLD",.tid=0x500001021A800,.region=2,.key=0},{.name="Cube Blitz",.tid=0x50000101AD800,.region=2,.key=0},{.name="Cube Life: Island Survival",.tid=0x50000101A6300,.region=4,.key=0},{.name="Cube Life: Island Survival",.tid=0x50000101A6400,.region=2,.key=0},{.name="Cube Life: Pixel Action Heroes",.tid=0x50000101A4E00,.region=4,.key=0},{.name="Cube Life: Pixel Action Heroes",.tid=0x50000101A4F00,.region=2,.key=0},{.name="Cubemen 2",.tid=0x5000010150200,.region=4,.key=0},{.name="Cubemen 2",.tid=0x500001014FD00,.region=2,.key=0},{.name="Cubeshift",.tid=0x5000010213B00,.region=2,.key=0},{.name="Cubit The Robot HD",.tid=0x500001020F100,.region=4,.key=0},{.name="Cubit The Robot HD",.tid=0x5000010205000,.region=2,.key=0},{.name="CUP CRITTERS",.tid=0x50000101FE300,.region=4,.key=0},{.name="CUP CRITTERS",.tid=0x50000101FE200,.region=2,.key=0},{.name="CUP CRITTERS",.tid=0x500001020EA00,.region=1,.key=0},{.name="Cutie Clash",.tid=0x50000101D6F00,.region=2,.key=0},{.name="Cutie Pets Go Fishing",.tid=0x50000101E3700,.region=2,.key=0},{.name="Cutie Pets Jump Rope",.tid=0x50000101DE700,.region=2,.key=0},{.name="Cutie Pets Pick Berries",.tid=0x50000101D5300,.region=2,.key=0},{.name="Cybernator",.tid=0x5000010140F00,.region=4,.key=0},{.name="Cybernator",.tid=0x5000010140E00,.region=2,.key=0},{.name="Cycle of Eternity",.tid=0x5000010216B00,.region=4,.key=0},{.name="Cycle of Eternity",.tid=0x5000010216C00,.region=2,.key=0},{.name="D.M.L.C.-デスマッチラブコメ- (Death Match Love Comedy)",.tid=0x5000010175F00,.region=1,.key=0},{.name="Daikon Set",.tid=0x5000010211400,.region=2,.key=0},{.name="Dare Up Adrenaline",.tid=0x50000101AD900,.region=2,.key=0},{.name="Darksiders II",.tid=0x5000010110F00,.region=4,.key=0},{.name="Darksiders II",.tid=0x500001010AD00,.region=2,.key=0},{.name="Darksiders Warmastered Edition",.tid=0x50000101F9700,.region=4,.key=0},{.name="Darksiders Warmastered Edition",.tid=0x50000101FA600,.region=2,.key=0},{.name="Darts Up",.tid=0x500001018A200,.region=4,.key=0},{.name="Darts Up",.tid=0x5000010135100,.region=2,.key=0},{.name="Darts UP",.tid=0x50000101D3100,.region=1,.key=0},{.name="Defend Your Crypt",.tid=0x50000101F5A00,.region=4,.key=0},{.name="Defend your Crypt",.tid=0x50000101F5E00,.region=2,.key=0},{.name="Defense Dome",.tid=0x50000101EC600,.region=4,.key=0},{.name="Defense Dome",.tid=0x50000101A3E00,.region=2,.key=0},{.name="DEMON'S CREST",.tid=0x5000010178D00,.region=4,.key=0},{.name="DEMON'S CREST",.tid=0x5000010178C00,.region=2,.key=0},{.name="Demonic Karma Summoner",.tid=0x50000101EF400,.region=2,.key=0},{.name="DETANA TWIN BEE",.tid=0x5000010167000,.region=4,.key=0},{.name="DETANA TWIN BEE",.tid=0x5000010166F00,.region=2,.key=0},{.name="DEUS EX HUMAN REV. DIRECTOR'S CUT",.tid=0x500001012B200,.region=4,.key=0},{.name="DEUS EX HUMAN REV. DIRECTOR'S CUT",.tid=0x500001012BA00,.region=2,.key=0},{.name="Devil World",.tid=0x500001017EF00,.region=4,.key=0},{.name="DEVIL'S CRUSH",.tid=0x5000010167E00,.region=4,.key=0},{.name="DEVIL'S CRUSH",.tid=0x5000010167D00,.region=2,.key=0},{.name="Devil's Third",.tid=0x5000010177700,.region=4,.key=0},{.name="Devil's Third",.tid=0x5000010177600,.region=2,.key=0},{.name="Devil's Third",.tid=0x5000010138F00,.region=1,.key=0},{.name="Devil's Third",.tid=0x5000010197D00,.region=1,.key=0},{.name="DIG DUG",.tid=0x5000010174800,.region=4,.key=0},{.name="DIG DUG",.tid=0x5000010174700,.region=2,.key=0},{.name="Dig Dug 2",.tid=0x50000101A7800,.region=4,.key=0},{.name="DIG DUG II",.tid=0x50000101A7700,.region=2,.key=0},{.name="DIGITAL CHAMP",.tid=0x5000010167200,.region=4,.key=0},{.name="DIGITAL CHAMP",.tid=0x5000010167100,.region=2,.key=0},{.name="Dinox",.tid=0x500001018A700,.region=4,.key=0},{.name="Dinox",.tid=0x500001018F500,.region=2,.key=0},{.name="Discovery",.tid=0x50000101E8300,.region=4,.key=0},{.name="Discovery",.tid=0x50000101D9B00,.region=2,.key=0},{.name="Disney Epic Mickey 2",.tid=0x5000010112E00,.region=4,.key=0},{.name="Disney Epic Mickey 2",.tid=0x500001011B000,.region=4,.key=0},{.name="Disney Epic Mickey 2",.tid=0x500001012C400,.region=4,.key=0},{.name="Disney Epic Mickey 2",.tid=0x500001010DB00,.region=2,.key=0},{.name="Disney Epic Mickey 2",.tid=0x5000010136D00,.region=1,.key=0},{.name="Disney INFINITY",.tid=0x5000010132900,.region=2,.key=0},{.name="Disney Infinity [2.0]",.tid=0x5000010188C00,.region=4,.key=0},{.name="Disney Infinity [2.0]",.tid=0x5000010188D00,.region=4,.key=0},{.name="Disney Infinity [2.0]",.tid=0x500001016DC00,.region=2,.key=0},{.name="DISNEY INFINITY 3.0 EDITION",.tid=0x50000101AC900,.region=2,.key=0},{.name="DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS",.tid=0x50000101B3D00,.region=4,.key=0},{.name="DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS",.tid=0x50000101B3E00,.region=4,.key=0},{.name="Disney Planes",.tid=0x5000010136900,.region=4,.key=0},{.name="Disney Planes",.tid=0x5000010136A00,.region=4,.key=0},{.name="Disney Planes",.tid=0x5000010136B00,.region=4,.key=0},{.name="Disney Planes",.tid=0x500001011C500,.region=2,.key=0},{.name="DK Jungle Climber",.tid=0x50000101A5300,.region=2,.key=0},{.name="DK: King of Swing",.tid=0x500001017D700,.region=4,.key=0},{.name="DK: King of Swing",.tid=0x500001017D600,.region=2,.key=0},{.name="Dodge Club Party",.tid=0x50000101A8100,.region=2,.key=0},{.name="Dolphin Up",.tid=0x500001017DB00,.region=2,.key=0},{.name="DON'T CRASH",.tid=0x50000101D2800,.region=2,.key=0},{.name="Don't Starve: Giant Edition",.tid=0x50000101C9A00,.region=4,.key=0},{.name="Don't Starve: Giant Edition",.tid=0x50000101C4300,.region=2,.key=0},{.name="Don't Touch Anything Red",.tid=0x500001018EE00,.region=2,.key=0},{.name="Donkey Kong",.tid=0x5000010108000,.region=4,.key=0},{.name="Donkey Kong",.tid=0x5000010107F00,.region=2,.key=0},{.name="DONKEY KONG 3",.tid=0x500001014A900,.region=4,.key=0},{.name="DONKEY KONG 3",.tid=0x500001014A800,.region=2,.key=0},{.name="Donkey Kong 64",.tid=0x5000010199300,.region=4,.key=0},{.name="Donkey Kong 64",.tid=0x5000010199200,.region=2,.key=0},{.name="Donkey Kong Country",.tid=0x5000010109600,.region=4,.key=0},{.name="Donkey Kong Country",.tid=0x5000010109500,.region=2,.key=0},{.name="Donkey Kong Country 2: Diddy's Kong Quest",.tid=0x500001010A300,.region=4,.key=0},{.name="Donkey Kong Country 2: Diddy's Kong Quest",.tid=0x500001010A100,.region=2,.key=0},{.name="Donkey Kong Country 2™: Diddy's Kong Quest",.tid=0x500001010A200,.region=4,.key=0},{.name="Donkey Kong Country 3: Dixie Kong's Double Trouble",.tid=0x500001017FD00,.region=4,.key=0},{.name="Donkey Kong Country 3: Dixie Kong's Double Trouble",.tid=0x500001017FC00,.region=2,.key=0},{.name="Donkey Kong Country Returns",.tid=0x500001019D000,.region=4,.key=0},{.name="Donkey Kong Country Returns",.tid=0x500001019CF00,.region=2,.key=0},{.name="Donkey Kong Country Tropical Freeze",.tid=0x5000010138300,.region=4,.key=0},{.name="Donkey Kong Country Tropical Freeze",.tid=0x5000010137F00,.region=2,.key=0},{.name="Donkey Kong Jr.",.tid=0x5000010129900,.region=4,.key=0},{.name="Donkey Kong Jr.",.tid=0x5000010129800,.region=2,.key=0},{.name="Donkey Kong Jr. Math",.tid=0x5000010174500,.region=4,.key=0},{.name="Donkey Kong Jr. Math",.tid=0x5000010174400,.region=2,.key=0},{.name="DONKEY KONG JUNGLE BEAT",.tid=0x50000101ED300,.region=4,.key=0},{.name="DONKEY KONG JUNGLE BEAT",.tid=0x50000101ED200,.region=2,.key=0},{.name="Donkey Kong Jungle Climber",.tid=0x50000101A5400,.region=4,.key=0},{.name="Dot Arcade",.tid=0x50000101A9F00,.region=2,.key=0},{.name="Double Breakout",.tid=0x5000010205400,.region=4,.key=0},{.name="Double Breakout",.tid=0x5000010205700,.region=2,.key=0},{.name="Double Breakout II",.tid=0x500001020EB00,.region=4,.key=0},{.name="Double Breakout II",.tid=0x500001020FE00,.region=2,.key=0},{.name="Double Dragon",.tid=0x5000010153800,.region=4,.key=0},{.name="Double Dragon",.tid=0x5000010153700,.region=2,.key=0},{.name="DOUBLE DRAGON II: The Revenge",.tid=0x5000010170D00,.region=4,.key=0},{.name="DOUBLE DRAGON II: The Revenge",.tid=0x5000010170C00,.region=2,.key=0},{.name="Double Dragon III: The Sacred Stones",.tid=0x50000101C2900,.region=4,.key=0},{.name="Double Dragon III: The Sacred Stones",.tid=0x50000101C2800,.region=2,.key=0},{.name="DOUBLE DUNGEONS",.tid=0x5000010166600,.region=4,.key=0},{.name="DOUBLE DUNGEONS",.tid=0x5000010166500,.region=2,.key=0},{.name="Dr Kawashima's Brain Training How Old Is Your Brain?",.tid=0x5000010179C00,.region=4,.key=0},{.name="Dr. Luigi",.tid=0x5000010152B00,.region=4,.key=0},{.name="Dr. Luigi",.tid=0x5000010152A00,.region=2,.key=0},{.name="Dr. MARIO",.tid=0x5000010153200,.region=4,.key=0},{.name="Dr. MARIO",.tid=0x5000010153100,.region=2,.key=0},{.name="Dr.LUIGI & 細菌撲滅",.tid=0x5000010150300,.region=1,.key=0},{.name="Dracula's Legacy",.tid=0x50000101F4F00,.region=4,.key=0},{.name="Dracula's Legacy",.tid=0x50000101F5000,.region=2,.key=0},{.name="Dragon Fantasy: The Black Tome of Ice",.tid=0x50000101B2900,.region=2,.key=0},{.name="Dragon Fantasy: The Volumes of Westeria",.tid=0x50000101B2A00,.region=2,.key=0},{.name="Dragon Quest X: All In One Package",.tid=0x5000010115E00,.region=1,.key=0},{.name="Dragon Quest X: All In One Package",.tid=0x5000010115E00,.region=1,.key=0},{.name="Dragon Quest X: All In One Package - Version1-Version4",.tid=0x5000010115E00,.region=1,.key=0},{.name="Dragon Skills",.tid=0x50000101E7500,.region=4,.key=0},{.name="Dragon Skills",.tid=0x50000101D9100,.region=2,.key=0},{.name="Draw 2 Survive",.tid=0x50000101DFA00,.region=2,.key=0},{.name="Draw a Stickman: EPIC 2",.tid=0x5000010213D00,.region=2,.key=0},{.name="Dreamals",.tid=0x50000101EAB00,.region=4,.key=0},{.name="DREAMALS",.tid=0x50000101EB500,.region=2,.key=0},{.name="Dreamals: Dream Quest",.tid=0x5000010203700,.region=4,.key=0},{.name="Dreamals: Dream Quest",.tid=0x5000010203B00,.region=2,.key=0},{.name="Drill Dozer",.tid=0x50000101CAF00,.region=4,.key=0},{.name="Drill Dozer",.tid=0x50000101CB000,.region=2,.key=0},{.name="Drop It: Block Paradise!",.tid=0x50000101C8E00,.region=4,.key=0},{.name="Drop It: Block Paradise!",.tid=0x50000101B5000,.region=2,.key=0},{.name="Dual Core",.tid=0x50000101F7600,.region=4,.key=0},{.name="Dual Core",.tid=0x50000101E3800,.region=2,.key=0},{.name="Duck Hunt",.tid=0x5000010192600,.region=4,.key=0},{.name="Duck Hunt",.tid=0x5000010192500,.region=2,.key=0},{.name="DuckTales Remastered",.tid=0x5000010129200,.region=4,.key=0},{.name="DuckTales Remastered",.tid=0x5000010129000,.region=2,.key=0},{.name="DUNGEON EXPLORER",.tid=0x5000010167800,.region=4,.key=0},{.name="DUNGEON EXPLORER",.tid=0x5000010167700,.region=2,.key=0},{.name="Dungeon Hearts DX",.tid=0x50000101F8A00,.region=2,.key=0},{.name="Dungeons & Dragons: Chronicles of Mystara",.tid=0x500001012BF00,.region=4,.key=0},{.name="Dungeons & Dragons®: Chronicles of Mystara™",.tid=0x500001012C000,.region=2,.key=0},{.name="Dying Is Dangerous",.tid=0x50000101E8400,.region=4,.key=0},{.name="Dying Is Dangerous",.tid=0x50000101BCC00,.region=2,.key=0},{.name="EarthBound",.tid=0x5000010133500,.region=4,.key=0},{.name="EarthBound",.tid=0x5000010133400,.region=2,.key=0},{.name="EarthBound Beginnings",.tid=0x5000010133200,.region=4,.key=0},{.name="EarthBound Beginnings",.tid=0x5000010133100,.region=2,.key=0},{.name="Earthlock: Festival of Magic",.tid=0x500001020CA00,.region=4,.key=0},{.name="Earthlock: Festival of Magic",.tid=0x5000010212600,.region=2,.key=0},{.name="Eba & Egg: A Hatch Trip",.tid=0x5000010211800,.region=4,.key=0},{.name="Eba & Egg: A Hatch Trip",.tid=0x50000101ADA00,.region=2,.key=0},{.name="ECTOPLAZA",.tid=0x50000101F8500,.region=2,.key=0},{.name="EDGE",.tid=0x5000010152100,.region=4,.key=0},{.name="EDGE",.tid=0x5000010152200,.region=2,.key=0},{.name="EDGE",.tid=0x500001017C900,.region=1,.key=0},{.name="Educational Pack of Kids Games",.tid=0x50000101FBD00,.region=2,.key=0},{.name="El Silla Arcade Edition",.tid=0x5000010218C00,.region=4,.key=0},{.name="El Silla Arcade Edition",.tid=0x5000010218B00,.region=2,.key=0},{.name="Electronic Super Joy",.tid=0x50000101D8300,.region=4,.key=0},{.name="Electronic Super Joy",.tid=0x50000101CEE00,.region=2,.key=0},{.name="Electronic Super Joy: Groove City",.tid=0x5000010197300,.region=2,.key=0},{.name="ELEVATOR ACTION",.tid=0x5000010158000,.region=1,.key=0},{.name="Elliot Quest",.tid=0x50000101BB800,.region=4,.key=0},{.name="Elliot Quest",.tid=0x500001019AD00,.region=2,.key=0},{.name="Emojikara: A Clever Emoji Match Game",.tid=0x50000101EF500,.region=2,.key=0},{.name="Endless Golf",.tid=0x50000101D1400,.region=2,.key=0},{.name="Epic Dumpster Bear",.tid=0x50000101C6000,.region=4,.key=0},{.name="Epic Dumpster Bear",.tid=0x50000101A8200,.region=2,.key=0},{.name="Escape From Flare Industries",.tid=0x50000101E5500,.region=2,.key=0},{.name="ESPER DREAM エスパードリーム",.tid=0x500001018B200,.region=1,.key=0},{.name="ESPN Sports Connection",.tid=0x500001010B400,.region=2,.key=0},{.name="Event Preview Version Lovely P",.tid=0x50000101CD700,.region=4,.key=0},{.name="Event Preview Version Lovely P",.tid=0x50000101CB600,.region=2,.key=0},{.name="EvoFish",.tid=0x5000010147600,.region=4,.key=0},{.name="EvoFish",.tid=0x5000010147300,.region=2,.key=0},{.name="Excitebike",.tid=0x5000010108300,.region=4,.key=0},{.name="Excitebike",.tid=0x5000010108200,.region=2,.key=0},{.name="Excitebike 64",.tid=0x50000101E6500,.region=6,.key=0},{.name="Excitebots: Trick Racing",.tid=0x50000101B2600,.region=2,.key=0},{.name="Exile's End",.tid=0x5000010204A00,.region=4,.key=0},{.name="Exile's End",.tid=0x50000101FF200,.region=2,.key=0},{.name="Explody Bomb",.tid=0x50000101D7700,.region=2,.key=0},{.name="Extreme Exorcism",.tid=0x50000101B9F00,.region=4,.key=0},{.name="Extreme Exorcism",.tid=0x50000101BA500,.region=2,.key=0},{.name="Extreme Exorcism (Event Preview Version)",.tid=0x50000101CD200,.region=4,.key=0},{.name="Extreme Exorcism (Event Preview Version)",.tid=0x50000101CBE00,.region=2,.key=0},{.name="F-Zero",.tid=0x5000010119B00,.region=4,.key=0},{.name="F-Zero",.tid=0x5000010119A00,.region=2,.key=0},{.name="F-ZERO",.tid=0x5000010119900,.region=1,.key=0},{.name="F-Zero - GP Legend",.tid=0x5000010182A00,.region=2,.key=0},{.name="F-ZERO FOR GAMEBOY ADVANCE",.tid=0x5000010156600,.region=1,.key=0},{.name="F-ZERO MAXIMUM VELOCITY",.tid=0x5000010156800,.region=4,.key=0},{.name="F-Zero Maximum Velocity",.tid=0x5000010156700,.region=2,.key=0},{.name="F-Zero X",.tid=0x50000101EBC00,.region=6,.key=0},{.name="F-ZERO X",.tid=0x50000101EBB00,.region=1,.key=0},{.name="F-ZERO クライマックス (F-Zero Climax)",.tid=0x50000101BB900,.region=1,.key=0},{.name="F-ZERO ファルコン伝説",.tid=0x5000010182900,.region=1,.key=0},{.name="F-Zero: GP Legend",.tid=0x5000010182B00,.region=4,.key=0},{.name="F1 RACE STARS POWERED UP EDITION",.tid=0x5000010131900,.region=4,.key=0},{.name="F1 RACE STARS POWERED UP EDITION",.tid=0x5000010138D00,.region=2,.key=0},{.name="F1 RACE STARS POWERED UP EDITION",.tid=0x5000010133A00,.region=1,.key=0},{.name="Factotum",.tid=0x50000101AAF00,.region=2,.key=0},{.name="Falling Skies: The Game",.tid=0x5000010161600,.region=4,.key=0},{.name="Falling Skies: The Game",.tid=0x5000010138600,.region=2,.key=0},{.name="Family Party 30 Great Games Obstacle Arcade",.tid=0x5000010113200,.region=4,.key=0},{.name="Family Party 30 Great Games Obstacle Arcade",.tid=0x500001010F300,.region=2,.key=0},{.name="Family Tennis SP",.tid=0x50000101A2C00,.region=4,.key=0},{.name="Family Tennis SP",.tid=0x500001019AE00,.region=2,.key=0},{.name="FAST Racing NEO",.tid=0x50000101D6000,.region=4,.key=0},{.name="FAST Racing NEO",.tid=0x500001012F000,.region=2,.key=0},{.name="FAST Racing NEO",.tid=0x50000101E4100,.region=1,.key=0},{.name="Fat City",.tid=0x5000010182D00,.region=2,.key=0},{.name="Fat Dragons",.tid=0x5000010216700,.region=4,.key=0},{.name="Fat Dragons",.tid=0x5000010216200,.region=2,.key=0},{.name="Fatal Frame: Maiden of Black Water",.tid=0x50000101D0600,.region=2,.key=0},{.name="FBF10 [patched2]",.tid=0x500001FBF1000,.region=7,.key=99},{.name="FIFA 13",.tid=0x500001010EE00,.region=4,.key=0},{.name="FIFA 13 ワールドクラスサッカー (FIFA 13 World Class Soccer)",.tid=0x5000010110C00,.region=1,.key=0},{.name="FIFA Soccer 13",.tid=0x500001010D900,.region=2,.key=0},{.name="FIFTEEN",.tid=0x5000010211900,.region=4,.key=0},{.name="FIFTEEN",.tid=0x5000010211500,.region=2,.key=0},{.name="FINAL FANTASY TACTICS ADVANCE",.tid=0x50000101E0600,.region=4,.key=0},{.name="FINAL FANTASY Tactics Advance",.tid=0x50000101E0700,.region=2,.key=0},{.name="Final Fight",.tid=0x5000010130800,.region=4,.key=0},{.name="Final Fight",.tid=0x5000010130700,.region=2,.key=0},{.name="Final Fight 2",.tid=0x5000010137B00,.region=4,.key=0},{.name="Final Fight 2",.tid=0x5000010137A00,.region=2,.key=0},{.name="Final Fight 3",.tid=0x5000010141B00,.region=4,.key=0},{.name="Final Fight 3",.tid=0x5000010141A00,.region=2,.key=0},{.name="Final Fight ONE",.tid=0x5000010193200,.region=4,.key=0},{.name="FINAL FIGHT ONE",.tid=0x5000010193100,.region=2,.key=0},{.name="FINAL SOLDIER",.tid=0x5000010166200,.region=4,.key=0},{.name="FINAL SOLDIER",.tid=0x5000010166100,.region=2,.key=0},{.name="Fire",.tid=0x50000101E1500,.region=4,.key=0},{.name="Fire Emblem",.tid=0x5000010173C00,.region=4,.key=0},{.name="Fire Emblem",.tid=0x5000010173D00,.region=4,.key=0},{.name="Fire Emblem",.tid=0x5000010173B00,.region=2,.key=0},{.name="Fire Emblem: Shadow Dragon",.tid=0x50000101B3900,.region=4,.key=0},{.name="Fire Emblem: Shadow Dragon",.tid=0x50000101B3800,.region=2,.key=0},{.name="Fire Emblem: The Sacred Stones",.tid=0x500001017D000,.region=4,.key=0},{.name="Fire Emblem: The Sacred Stones",.tid=0x500001017CF00,.region=2,.key=0},{.name="Fist of the North Star: Ken's Rage 2",.tid=0x500001012B800,.region=4,.key=0},{.name="Fist of the North Star: Ken's Rage 2",.tid=0x500001012B900,.region=2,.key=0},{.name="Fit Music",.tid=0x5000010177300,.region=2,.key=0},{.name="Fit Music for Wii U",.tid=0x5000010137200,.region=4,.key=0},{.name="Flapp & Zegeta",.tid=0x5000010193900,.region=2,.key=0},{.name="Flight of Light",.tid=0x5000010196B00,.region=4,.key=0},{.name="Flight of Light",.tid=0x5000010181400,.region=2,.key=0},{.name="Flowerworks HD: Follie's Adventure",.tid=0x500001017ED00,.region=4,.key=0},{.name="Flowerworks HD: Follie's Adventure",.tid=0x500001016FF00,.region=2,.key=0},{.name="Flying Dragon: The Secret Scroll",.tid=0x500001015FD00,.region=4,.key=0},{.name="Flying Dragon: The Secret Scroll",.tid=0x500001015FC00,.region=2,.key=0},{.name="Flying Warriors",.tid=0x500001019FE00,.region=4,.key=0},{.name="Flying Warriors",.tid=0x500001019FD00,.region=2,.key=0},{.name="Forest Escape",.tid=0x5000010217A00,.region=4,.key=0},{.name="Forest Escape",.tid=0x5000010217B00,.region=2,.key=0},{.name="forma.8",.tid=0x50000101CBC00,.region=4,.key=0},{.name="forma.8",.tid=0x50000101FA100,.region=2,.key=0},{.name="forma.8 Event Preview",.tid=0x50000101CD800,.region=4,.key=0},{.name="forma.8 Event Preview",.tid=0x50000101CB400,.region=2,.key=0},{.name="Frag doch mal...die Maus!",.tid=0x50000101E1300,.region=4,.key=0},{.name="Frankenstein - Master of Death",.tid=0x50000101D4600,.region=4,.key=0},{.name="Frederic: Resurrection of Music",.tid=0x5000010184500,.region=2,.key=0},{.name="Free Balling",.tid=0x50000101ACA00,.region=2,.key=0},{.name="Freedom Planet",.tid=0x50000101CC900,.region=4,.key=0},{.name="Freedom Planet",.tid=0x50000101C3100,.region=2,.key=0},{.name="FreezeME",.tid=0x50000101E8000,.region=4,.key=0},{.name="FreezeME",.tid=0x50000101D5F00,.region=2,.key=0},{.name="FreezeME",.tid=0x50000101FD400,.region=1,.key=0},{.name="Frenchy Bird",.tid=0x5000010182800,.region=4,.key=0},{.name="Frenchy Bird",.tid=0x500001017DC00,.region=2,.key=0},{.name="FRONT LINE フロントライン",.tid=0x50000101A7A00,.region=1,.key=0},{.name="FullBlast",.tid=0x50000101C4100,.region=4,.key=0},{.name="FullBlast",.tid=0x50000101C0800,.region=2,.key=0},{.name="Fullblast",.tid=0x50000101DD400,.region=1,.key=0},{.name="Funk of Titans",.tid=0x50000101B4E00,.region=4,.key=0},{.name="Funk of Titans EnjoyUp Games",.tid=0x50000101B0100,.region=2,.key=0},{.name="Funky Barn (Download Version)",.tid=0x500001011B300,.region=4,.key=0},{.name="Funky Barn (Download Version)",.tid=0x5000010129500,.region=2,.key=0},{.name="Funky Physics",.tid=0x50000101D9C00,.region=2,.key=0},{.name="Futuridium EP Deluxe",.tid=0x50000101E8D00,.region=4,.key=0},{.name="Futuridium EP Deluxe",.tid=0x50000101E8E00,.region=2,.key=0},{.name="GAIABREAKER",.tid=0x500001017AB00,.region=4,.key=0},{.name="GAIABREAKER",.tid=0x500001017A800,.region=2,.key=0},{.name="GAIABREAKER",.tid=0x5000010157D00,.region=1,.key=0},{.name="Galaga",.tid=0x500001012E400,.region=4,.key=0},{.name="Galaga",.tid=0x500001012E300,.region=2,.key=0},{.name="GALAXY BLASTER",.tid=0x5000010212A00,.region=4,.key=0},{.name="GALAXY BLASTER",.tid=0x5000010212D00,.region=2,.key=0},{.name="GAME & WARIO",.tid=0x5000010128900,.region=4,.key=0},{.name="Game & Wario",.tid=0x500001011F200,.region=2,.key=0},{.name="Game & Watch Gallery 4",.tid=0x50000101CB200,.region=2,.key=0},{.name="Game & Watch Gallery Advance",.tid=0x50000101CB100,.region=4,.key=0},{.name="Game Party Champions",.tid=0x500001010FF00,.region=4,.key=0},{.name="Game Party Champions",.tid=0x500001010E400,.region=2,.key=0},{.name="Games for Toddlers",.tid=0x50000101FBF00,.region=2,.key=0},{.name="Gargoyle's Quest II: The Demon Darkness",.tid=0x500001016C300,.region=4,.key=0},{.name="Gargoyle's Quest II: The Demon Darkness",.tid=0x500001016C200,.region=2,.key=0},{.name="Gear Gauntlet",.tid=0x50000101E9400,.region=4,.key=0},{.name="Gear Gauntlet",.tid=0x50000101E9300,.region=2,.key=0},{.name="Gemology",.tid=0x5000010187400,.region=2,.key=0},{.name="Genghis Khan II: Clan of the Grey Wolf",.tid=0x5000010190E00,.region=2,.key=0},{.name="GEOM",.tid=0x500001017AE00,.region=2,.key=0},{.name="GetClose",.tid=0x5000010182E00,.region=2,.key=0},{.name="GHOST BLADE HD",.tid=0x500001020B600,.region=4,.key=0},{.name="GHOST BLADE HD",.tid=0x50000101FFC00,.region=2,.key=0},{.name="Ghosts'n Goblins",.tid=0x5000010134500,.region=4,.key=0},{.name="Ghosts'n Goblins",.tid=0x5000010134400,.region=2,.key=0},{.name="Giana Sisters Twisted Dreams",.tid=0x500001014C600,.region=4,.key=0},{.name="Giana Sisters Twisted Dreams",.tid=0x500001014CB00,.region=2,.key=0},{.name="Girls Like Robots",.tid=0x50000101D1800,.region=2,.key=0},{.name="Golden Sun",.tid=0x500001015D900,.region=4,.key=0},{.name="Golden Sun",.tid=0x500001015D800,.region=2,.key=0},{.name="Golden Sun: The Lost Age",.tid=0x5000010176E00,.region=4,.key=0},{.name="Golden Sun: The Lost Age",.tid=0x5000010176D00,.region=2,.key=0},{.name="GOLF",.tid=0x500001014AC00,.region=4,.key=0},{.name="GOLF",.tid=0x500001014AB00,.region=2,.key=0},{.name="GolT Stadium",.tid=0x5000010185900,.region=4,.key=0},{.name="GRADIUS",.tid=0x5000010119700,.region=4,.key=0},{.name="GRADIUS",.tid=0x5000010164600,.region=4,.key=0},{.name="GRADIUS",.tid=0x500001011AE00,.region=2,.key=0},{.name="GRADIUS",.tid=0x5000010164500,.region=2,.key=0},{.name="Grand Prix Rock 'N Racing",.tid=0x5000010201F00,.region=4,.key=0},{.name="Grand Prix Rock 'N Racing",.tid=0x5000010200100,.region=2,.key=0},{.name="Grand Prix Rock 'N Racing",.tid=0x500001020E900,.region=1,.key=0},{.name="GravBlocks+ From Nothing Game Studios",.tid=0x500001016E300,.region=2,.key=0},{.name="Gravity Badgers",.tid=0x500001016E900,.region=4,.key=0},{.name="Gravity Badgers",.tid=0x500001016B100,.region=2,.key=0},{.name="Gravity+",.tid=0x50000101F8100,.region=4,.key=0},{.name="Gravity+",.tid=0x50000101F6600,.region=2,.key=0},{.name="Grumpy Reaper",.tid=0x50000101E7400,.region=4,.key=0},{.name="Grumpy Reaper",.tid=0x50000101D4500,.region=2,.key=0},{.name="Grumpy Reaper",.tid=0x50000101FD100,.region=1,.key=0},{.name="Guac' a Mole",.tid=0x500001017EC00,.region=4,.key=0},{.name="Guacamelee! Super Turbo Championship Edition",.tid=0x5000010179700,.region=4,.key=0},{.name="Guacamelee! Super Turbo Championship Edition",.tid=0x5000010176800,.region=2,.key=0},{.name="Gunman Clive HD Collection",.tid=0x50000101D6100,.region=4,.key=0},{.name="Gunman Clive HD Collection",.tid=0x50000101D0900,.region=2,.key=0},{.name="Harvest Moon",.tid=0x5000010137700,.region=4,.key=0},{.name="Harvest Moon",.tid=0x5000010137800,.region=4,.key=0},{.name="Harvest Moon",.tid=0x5000010137600,.region=2,.key=0},{.name="Harvest Moon 64",.tid=0x50000101FEA00,.region=6,.key=0},{.name="Harvest Moon: Friends of Mineral Town",.tid=0x5000010190000,.region=2,.key=0},{.name="Harvest Moon: More Friends of Mineral Town",.tid=0x500001018FF00,.region=2,.key=0},{.name="Hello Kitty Kruisers",.tid=0x5000010177000,.region=4,.key=0},{.name="Hello Kitty© Kruisers",.tid=0x5000010147E00,.region=2,.key=0},{.name="Heptrix",.tid=0x50000101A3F00,.region=2,.key=0},{.name="High Strangeness",.tid=0x500001019AB00,.region=4,.key=0},{.name="High Strangeness",.tid=0x5000010199E00,.region=2,.key=0},{.name="Hive Jump",.tid=0x50000101DDF00,.region=2,.key=0},{.name="Hogan's Alley",.tid=0x50000101B5600,.region=4,.key=0},{.name="Hogan's Alley",.tid=0x50000101B5500,.region=2,.key=0},{.name="Hold Your Fire",.tid=0x50000101D7800,.region=2,.key=0},{.name="Horror Stories",.tid=0x5000010219B00,.region=4,.key=0},{.name="Horror Stories",.tid=0x5000010219A00,.region=2,.key=0},{.name="HOSPITAL. ホスピタル 6人の医師 (Trauma Team)",.tid=0x50000101B7700,.region=1,.key=0},{.name="Hot Rod Racer",.tid=0x50000101F7400,.region=4,.key=0},{.name="Hot Rod Racer",.tid=0x50000101F5F00,.region=2,.key=0},{.name="Hot Wheels™ World’s Best Driver",.tid=0x5000010145100,.region=4,.key=0},{.name="Hot Wheels™ World’s Best Driver™",.tid=0x5000010143300,.region=2,.key=0},{.name="How To Survive",.tid=0x5000010138900,.region=4,.key=0},{.name="How to Survive",.tid=0x500001014C700,.region=2,.key=0},{.name="How to Train Your Dragon 2",.tid=0x5000010162A00,.region=4,.key=0},{.name="How to Train Your Dragon 2",.tid=0x5000010161A00,.region=2,.key=0},{.name="Hulu",.tid=0x5000010102D00,.region=2,.key=0},{.name="Human Resource Machine",.tid=0x50000101E1A00,.region=4,.key=0},{.name="Human Resource Machine",.tid=0x50000101E1800,.region=2,.key=0},{.name="Humanitarian Helicopter",.tid=0x50000101E9500,.region=2,.key=0},{.name="Hurry Up! Bird Hunter",.tid=0x50000101FDA00,.region=4,.key=0},{.name="Hurry Up! Bird Hunter",.tid=0x50000101FB800,.region=2,.key=0},{.name="Hyrule Warriors",.tid=0x500001017D900,.region=4,.key=0},{.name="Hyrule Warriors",.tid=0x500001017D800,.region=2,.key=0},{.name="I C REDD",.tid=0x500001020C100,.region=4,.key=0},{.name="I C REDD",.tid=0x500001020C000,.region=2,.key=0},{.name="I've Got to Run!",.tid=0x5000010173100,.region=2,.key=0},{.name="Ice Climber",.tid=0x5000010107600,.region=4,.key=0},{.name="Ice Climber",.tid=0x5000010107500,.region=2,.key=0},{.name="Ice Cream Surfer",.tid=0x500001017E100,.region=4,.key=0},{.name="Ice Cream Surfer",.tid=0x5000010182600,.region=2,.key=0},{.name="Ice Hockey",.tid=0x5000010150600,.region=4,.key=0},{.name="Ice Hockey",.tid=0x5000010150500,.region=2,.key=0},{.name="IMAGEFIGHT",.tid=0x5000010163E00,.region=4,.key=0},{.name="IMAGEFIGHT",.tid=0x5000010163D00,.region=2,.key=0},{.name="IMAGEFIGHT II",.tid=0x5000010164100,.region=4,.key=0},{.name="IMAGEFIGHT II",.tid=0x5000010164000,.region=2,.key=0},{.name="Infinity Runner",.tid=0x5000010184400,.region=4,.key=0},{.name="Infinity Runner",.tid=0x5000010183C00,.region=2,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000010111A00,.region=4,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000010111700,.region=2,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000010140700,.region=1,.key=0},{.name="Insect Planet TD",.tid=0x5000010218200,.region=4,.key=0},{.name="Insect Planet TD",.tid=0x5000010218000,.region=2,.key=0},{.name="Inside My Radio",.tid=0x50000101E5800,.region=4,.key=0},{.name="Inside My Radio",.tid=0x50000101E5A00,.region=2,.key=0},{.name="Internal Invasion",.tid=0x5000010179300,.region=2,.key=0},{.name="INVANOID",.tid=0x50000101FAC00,.region=2,.key=0},{.name="IQ Test",.tid=0x500001018D000,.region=2,.key=0},{.name="Island Flight Simulator",.tid=0x50000101CF200,.region=4,.key=0},{.name="Island Flight Simulator",.tid=0x50000101CF100,.region=2,.key=0},{.name="Ittle Dew",.tid=0x500001016DB00,.region=4,.key=0},{.name="Ittle Dew",.tid=0x5000010179400,.region=2,.key=0},{.name="JACKPOT 777",.tid=0x50000101F8400,.region=4,.key=0},{.name="JACKPOT 777",.tid=0x50000101F9200,.region=2,.key=0},{.name="Jeopardy!",.tid=0x5000010111100,.region=2,.key=0},{.name="Jett Tailfin",.tid=0x5000010182C00,.region=4,.key=0},{.name="Jett Tailfin",.tid=0x500001012CD00,.region=2,.key=0},{.name="Jewel Quest",.tid=0x50000101F6A00,.region=4,.key=0},{.name="Jewel Quest",.tid=0x50000101E3200,.region=2,.key=0},{.name="Job the Leprechaun",.tid=0x50000101D9F00,.region=4,.key=0},{.name="Job the Leprechaun",.tid=0x50000101CFF00,.region=2,.key=0},{.name="Joe's Diner",.tid=0x50000101D4D00,.region=4,.key=0},{.name="Joe's Diner",.tid=0x50000101D5500,.region=2,.key=0},{.name="Jolt Family Robot Racer",.tid=0x5000010210A00,.region=4,.key=0},{.name="Jolt Family Robot Racer",.tid=0x5000010210B00,.region=2,.key=0},{.name="Jones on Fire",.tid=0x50000101D4E00,.region=4,.key=0},{.name="Jones on Fire",.tid=0x50000101D5600,.region=2,.key=0},{.name="Jotun Valhalla Edition",.tid=0x50000101F6F00,.region=4,.key=0},{.name="Jotun: Valhalla Edition",.tid=0x50000101F5700,.region=2,.key=0},{.name="Journey of a Special Average Balloon",.tid=0x50000101A8300,.region=2,.key=0},{.name="Jumpy Cat",.tid=0x500001018F600,.region=2,.key=0},{.name="JUST DANCE 4",.tid=0x500001010F000,.region=4,.key=0},{.name="JUST DANCE 4",.tid=0x500001010AE00,.region=2,.key=0},{.name="JUST DANCE® 2014",.tid=0x5000010143F00,.region=4,.key=0},{.name="JUST DANCE® 2014",.tid=0x5000010139900,.region=2,.key=0},{.name="JUST DANCE® 2015",.tid=0x5000010176F00,.region=4,.key=0},{.name="JUST DANCE® 2015",.tid=0x5000010179100,.region=2,.key=0},{.name="JUST DANCE® 2016",.tid=0x50000101B9800,.region=4,.key=0},{.name="JUST DANCE® 2016",.tid=0x50000101B9000,.region=2,.key=0},{.name="JUST DANCE® 2017",.tid=0x50000101EAA00,.region=4,.key=0},{.name="JUST DANCE® 2017",.tid=0x50000101EB200,.region=2,.key=0},{.name="JUST DANCE® 2018",.tid=0x5000010210C00,.region=4,.key=0},{.name="JUST DANCE® 2018",.tid=0x5000010211300,.region=2,.key=0},{.name="JUST DANCE® 2019",.tid=0x5000010217000,.region=4,.key=0},{.name="JUST DANCE® 2019",.tid=0x5000010217300,.region=2,.key=0},{.name="Just Dance® Disney Party 2",.tid=0x5000010162F00,.region=2,.key=0},{.name="Just Dance® Kids 2014",.tid=0x5000010145B00,.region=4,.key=0},{.name="Just Dance® Kids 2014",.tid=0x5000010145200,.region=2,.key=0},{.name="Keen Dreams: Definitive Edition",.tid=0x500001021AE00,.region=4,.key=0},{.name="KEYTARI: 8-bit Music Maker",.tid=0x50000101CFC00,.region=2,.key=0},{.name="Kick & Fennick",.tid=0x50000101D9700,.region=4,.key=0},{.name="Kick and Fennick",.tid=0x50000101DC300,.region=2,.key=0},{.name="KickBeat Special Edition",.tid=0x5000010113B00,.region=4,.key=0},{.name="KickBeat Special Edition",.tid=0x5000010116700,.region=2,.key=0},{.name="Kid Icarus",.tid=0x500001012FE00,.region=4,.key=0},{.name="Kid Icarus",.tid=0x500001012FD00,.region=2,.key=0},{.name="Kirby & The AMAZING MIRROR",.tid=0x500001015DF00,.region=4,.key=0},{.name="Kirby & The Amazing Mirror",.tid=0x500001015DE00,.region=2,.key=0},{.name="Kirby 64: The Crystal Shards",.tid=0x50000101A0E00,.region=6,.key=0},{.name="Kirby and the Rainbow Curse",.tid=0x50000101ABC00,.region=2,.key=0},{.name="Kirby and the Rainbow Paintbrush",.tid=0x50000101B5100,.region=4,.key=0},{.name="Kirby Canvas Curse",.tid=0x50000101B8900,.region=2,.key=0},{.name="Kirby Mass Attack",.tid=0x50000101C8800,.region=4,.key=0},{.name="Kirby Mass Attack",.tid=0x50000101C8700,.region=2,.key=0},{.name="Kirby Squeak Squad",.tid=0x50000101A5600,.region=2,.key=0},{.name="Kirby Super Star",.tid=0x5000010109E00,.region=4,.key=0},{.name="Kirby Super Star",.tid=0x5000010109D00,.region=2,.key=0},{.name="Kirby: Mouse Attack",.tid=0x50000101A5700,.region=4,.key=0},{.name="Kirby: Nightmare in Dream Land",.tid=0x5000010172C00,.region=4,.key=0},{.name="Kirby: Nightmare in Dream Land",.tid=0x500001016F400,.region=2,.key=0},{.name="Kirby: Power Paintbrush",.tid=0x50000101B8A00,.region=4,.key=0},{.name="Kirby's Adventure",.tid=0x5000010107900,.region=4,.key=0},{.name="Kirby's Adventure",.tid=0x5000010107A00,.region=4,.key=0},{.name="Kirby's Adventure",.tid=0x5000010107800,.region=2,.key=0},{.name="Kirby's Adventure Wii",.tid=0x500001019D600,.region=4,.key=0},{.name="Kirby's Dream Course",.tid=0x5000010119E00,.region=4,.key=0},{.name="Kirby's Dream Course",.tid=0x5000010119D00,.region=2,.key=0},{.name="Kirby's Dream Land 3",.tid=0x5000010115400,.region=4,.key=0},{.name="Kirby's Dream Land 3",.tid=0x5000010115300,.region=2,.key=0},{.name="Kirby's Epic Yarn",.tid=0x50000101B1800,.region=4,.key=0},{.name="Kirby's Epic Yarn",.tid=0x50000101B1700,.region=2,.key=0},{.name="Kirby's Return to Dream Land",.tid=0x500001019D500,.region=2,.key=0},{.name="KLONOA 2 Dream Champ Tournament",.tid=0x5000010184300,.region=2,.key=0},{.name="Klonoa: Empire of Dreams",.tid=0x500001016D200,.region=4,.key=0},{.name="KLONOA: Empire of Dreams",.tid=0x500001016D100,.region=2,.key=0},{.name="Knytt Underground",.tid=0x500001014D800,.region=4,.key=0},{.name="Knytt Underground",.tid=0x500001014EF00,.region=2,.key=0},{.name="Koi DX",.tid=0x5000010207300,.region=4,.key=0},{.name="Koi DX",.tid=0x5000010207500,.region=2,.key=0},{.name="KONAMI KRAZY RACERS",.tid=0x50000101AE700,.region=4,.key=0},{.name="KONAMI KRAZY RACERS",.tid=0x50000101AE800,.region=2,.key=0},{.name="Kung Fu FIGHT!",.tid=0x50000101E8B00,.region=4,.key=0},{.name="Kung Fu FIGHT!",.tid=0x50000101D6400,.region=2,.key=0},{.name="Kung Fu Panda Showdown of Legendary Legends",.tid=0x50000101AA500,.region=4,.key=0},{.name="Kung Fu Panda Showdown of Legendary Legends",.tid=0x50000101A6500,.region=2,.key=0},{.name="Kung Fu Rabbit",.tid=0x5000010117800,.region=4,.key=0},{.name="Kung Fu Rabbit",.tid=0x500001012D800,.region=2,.key=0},{.name="Kung-Fu Heroes",.tid=0x5000010161300,.region=4,.key=0},{.name="Kung-Fu Heroes",.tid=0x5000010161200,.region=2,.key=0},{.name="Kuru Kuru Kururin",.tid=0x500001017BB00,.region=4,.key=0},{.name="Kuru Kuru Kururin",.tid=0x500001017BC00,.region=2,.key=0},{.name="Land it Rocket",.tid=0x50000101D2A00,.region=2,.key=0},{.name="Laser Blaster",.tid=0x5000010202B00,.region=4,.key=0},{.name="Laser Blaster",.tid=0x5000010202600,.region=2,.key=0},{.name="Last Soldier",.tid=0x5000010218800,.region=2,.key=0},{.name="LEGEND OF HERO TONMA",.tid=0x5000010163800,.region=4,.key=0},{.name="LEGEND OF HERO TONMA",.tid=0x5000010163700,.region=2,.key=0},{.name="Legend of Kay Anniversary",.tid=0x5000010193300,.region=4,.key=0},{.name="Legend of Kay Anniversary",.tid=0x5000010193400,.region=2,.key=0},{.name="LEGO® Batman™ 2",.tid=0x5000010135500,.region=4,.key=0},{.name="LEGO® Batman™ 2",.tid=0x5000010135E00,.region=2,.key=0},{.name="LEGO® Batman™ 3 Beyond Gotham",.tid=0x500001016A400,.region=4,.key=0},{.name="LEGO® Batman™ 3 Beyond Gotham",.tid=0x500001016AD00,.region=2,.key=0},{.name="LEGO® CITY UNDERCOVER",.tid=0x5000010101B00,.region=4,.key=0},{.name="LEGO® CITY UNDERCOVER",.tid=0x5000010101A00,.region=2,.key=0},{.name="LEGO® Jurassic World™",.tid=0x50000101A5C00,.region=4,.key=0},{.name="LEGO® Jurassic World™",.tid=0x50000101A6200,.region=2,.key=0},{.name="LEGO® MARVEL AVENGERS",.tid=0x50000101BE900,.region=4,.key=0},{.name="LEGO® Marvel Super Heroes",.tid=0x5000010132400,.region=4,.key=0},{.name="LEGO® Marvel Super Heroes",.tid=0x5000010132B00,.region=2,.key=0},{.name="LEGO® Marvel's Avengers",.tid=0x50000101BEF00,.region=2,.key=0},{.name="LEGO® STAR WARS™ The Force Awakens",.tid=0x50000101DAA00,.region=4,.key=0},{.name="LEGO® STAR WARS™ The Force Awakens",.tid=0x50000101DAB00,.region=2,.key=0},{.name="LEGO® The Hobbit™",.tid=0x5000010168D00,.region=4,.key=0},{.name="LEGO® The Hobbit™",.tid=0x500001016A700,.region=2,.key=0},{.name="LEGO® マーベル スーパー・ヒーローズ ザ・ゲーム (LEGO® MARVEL Super Heroes)",.tid=0x50000101A2D00,.region=1,.key=0},{.name="LEGO®ジュラシック・ワールド (LEGO® Jurassic World™)",.tid=0x50000101CDF00,.region=1,.key=0},{.name="LEGO®スター・ウォーズ/ フォースの覚醒 (LEGO® STAR WARS™ The Force Awakens)",.tid=0x50000101EA000,.region=1,.key=0},{.name="LEGO®バットマン3 ザ・ゲーム ゴッサムから宇宙へ (LEGO® Batman™ 3 Beyond Gotham)",.tid=0x50000101B2700,.region=1,.key=0},{.name="LEGO®マーベル アベンジャーズ (LEGO® MARVEL's Avengers)",.tid=0x50000101EA100,.region=1,.key=0},{.name="LEGO®ムービー ザ・ゲーム (The LEGO® Movie Videogame)",.tid=0x5000010192100,.region=1,.key=0},{.name="Letter Quest Grimm's Journey Remastered",.tid=0x50000101F6400,.region=4,.key=0},{.name="Letter Quest Grimm's Journey Remastered",.tid=0x50000101F5500,.region=2,.key=0},{.name="Level 22",.tid=0x50000101D3B00,.region=4,.key=0},{.name="Level 22",.tid=0x50000101D3C00,.region=2,.key=0},{.name="Life Force",.tid=0x5000010171000,.region=4,.key=0},{.name="Life Force",.tid=0x5000010170F00,.region=2,.key=0},{.name="Life of Pixel",.tid=0x50000101A4900,.region=4,.key=0},{.name="Life of Pixel",.tid=0x50000101A3B00,.region=2,.key=0},{.name="Little Inferno",.tid=0x5000010128600,.region=4,.key=0},{.name="Little Inferno",.tid=0x500001011B200,.region=2,.key=0},{.name="Little Ninja Brothers",.tid=0x500001019FB00,.region=4,.key=0},{.name="Little Ninja Brothers",.tid=0x500001019FA00,.region=2,.key=0},{.name="Lode Runner",.tid=0x500001011AD00,.region=4,.key=0},{.name="Lode Runner",.tid=0x500001011AC00,.region=2,.key=0},{.name="Lone Survivor The Director's Cut",.tid=0x500001018CB00,.region=4,.key=0},{.name="Lone Survivor The Director's Cut",.tid=0x500001018D100,.region=2,.key=0},{.name="LORDS OF THUNDER",.tid=0x5000010167C00,.region=4,.key=0},{.name="LORDS OF THUNDER",.tid=0x5000010167B00,.region=2,.key=0},{.name="Lost in Shadow",.tid=0x50000101B7D00,.region=2,.key=0},{.name="LOST REAVERS",.tid=0x50000101B9900,.region=4,.key=0},{.name="LOST REAVERS",.tid=0x50000101A4800,.region=2,.key=0},{.name="LOST REAVERS",.tid=0x500001018D900,.region=1,.key=0},{.name="LOST REAVERS BETA TEST VERSION",.tid=0x50000101C5600,.region=4,.key=0},{.name="LOST REAVERS BETA TEST VERSION",.tid=0x50000101D8F00,.region=2,.key=0},{.name="LOST REAVERS BETA TEST VERSION",.tid=0x50000101C2100,.region=1,.key=0},{.name="LOST REAVERS NOTICE",.tid=0x5000010204500,.region=4,.key=0},{.name="LOST REAVERS NOTICE",.tid=0x5000010204F00,.region=2,.key=0},{.name="Lovely Planet",.tid=0x50000101E0A00,.region=4,.key=0},{.name="Lovely Planet",.tid=0x50000101E0900,.region=2,.key=0},{.name="Lucadian Chronicles",.tid=0x500001015D300,.region=2,.key=0},{.name="Lucentek - Activate",.tid=0x50000101CA200,.region=2,.key=0},{.name="Lucentek Beyond",.tid=0x50000101EAE00,.region=2,.key=0},{.name="Luv Me Buddies Wonderland",.tid=0x5000010154E00,.region=4,.key=0},{.name="Luv Me Buddies Wonderland",.tid=0x5000010177400,.region=2,.key=0},{.name="Mach Rider",.tid=0x5000010160900,.region=4,.key=0},{.name="Mach Rider",.tid=0x5000010160800,.region=2,.key=0},{.name="Madden NFL 13",.tid=0x500001010D800,.region=2,.key=0},{.name="MAHJONG",.tid=0x5000010200900,.region=4,.key=0},{.name="MAHJONG",.tid=0x50000101FFD00,.region=2,.key=0},{.name="Mahjong Deluxe 3",.tid=0x50000101F2A00,.region=2,.key=0},{.name="MAPPY-LAND",.tid=0x500001018BA00,.region=4,.key=0},{.name="MAPPY-LAND",.tid=0x500001018B900,.region=2,.key=0},{.name="Mario & Luigi: Partners in Time",.tid=0x50000101A2300,.region=4,.key=0},{.name="Mario & Luigi: Partners in Time",.tid=0x50000101A2200,.region=2,.key=0},{.name="Mario & Luigi: Superstar Saga",.tid=0x5000010157500,.region=4,.key=0},{.name="Mario & Luigi: Superstar Saga",.tid=0x5000010157400,.region=2,.key=0},{.name="Mario & Sonic at the Rio 2016 Olympic Games",.tid=0x50000101E5400,.region=4,.key=0},{.name="Mario & Sonic at the Sochi 2014 Olympic Winter Games",.tid=0x500001010C800,.region=4,.key=0},{.name="Mario & Sonic at the Sochi 2014 Olympic Winter Games",.tid=0x500001010C700,.region=2,.key=0},{.name="Mario Bros.",.tid=0x5000010107D00,.region=4,.key=0},{.name="Mario Bros.",.tid=0x5000010107C00,.region=2,.key=0},{.name="Mario Golf",.tid=0x50000101A5900,.region=6,.key=0},{.name="Mario Golf: Advance Tour",.tid=0x5000010172E00,.region=4,.key=0},{.name="Mario Golf: Advance Tour",.tid=0x500001016F800,.region=2,.key=0},{.name="Mario Hoops 3-on-3",.tid=0x50000101DA200,.region=2,.key=0},{.name="Mario Kart 64",.tid=0x50000101B4600,.region=6,.key=0},{.name="MARIO KART 8",.tid=0x500001010ED00,.region=4,.key=0},{.name="MARIO KART 8",.tid=0x500001010EC00,.region=2,.key=0},{.name="MARIO KART 8",.tid=0x500001010EB00,.region=1,.key=0},{.name="MARIO KART DS",.tid=0x5000010195800,.region=4,.key=0},{.name="Mario Kart DS",.tid=0x5000010195700,.region=2,.key=0},{.name="Mario Kart: Super Circuit",.tid=0x500001017D200,.region=4,.key=0},{.name="Mario Kart: Super Circuit",.tid=0x500001017D300,.region=2,.key=0},{.name="Mario Party 10",.tid=0x5000010162E00,.region=4,.key=0},{.name="Mario Party 10",.tid=0x5000010162D00,.region=2,.key=0},{.name="Mario Party 2",.tid=0x50000101C5D00,.region=6,.key=0},{.name="Mario Party Advance",.tid=0x5000010181200,.region=4,.key=0},{.name="Mario Party Advance",.tid=0x5000010181100,.region=2,.key=0},{.name="Mario Party DS",.tid=0x50000101D2400,.region=4,.key=0},{.name="Mario Party DS",.tid=0x50000101D2300,.region=2,.key=0},{.name="Mario Pinball Land",.tid=0x5000010174000,.region=2,.key=0},{.name="Mario Power Tennis",.tid=0x5000010169B00,.region=4,.key=0},{.name="Mario Slam Basketball",.tid=0x50000101DA300,.region=4,.key=0},{.name="Mario Sports Mix",.tid=0x50000101B1B00,.region=4,.key=0},{.name="Mario Sports Mix",.tid=0x50000101B1A00,.region=2,.key=0},{.name="MARIO SPORTS MIX (マリオスポーツミックス)",.tid=0x50000101B1900,.region=1,.key=0},{.name="Mario Strikers Charged",.tid=0x50000101BE600,.region=2,.key=0},{.name="Mario Strikers Charged Football",.tid=0x50000101BDD00,.region=4,.key=0},{.name="Mario Super Sluggers",.tid=0x50000101BE200,.region=2,.key=0},{.name="Mario Tennis",.tid=0x50000101A1000,.region=6,.key=0},{.name="Mario Tennis: Power Tour",.tid=0x5000010169A00,.region=2,.key=0},{.name="Mario Tennis: Ultra Smash",.tid=0x50000101A3600,.region=4,.key=0},{.name="Mario Tennis: Ultra Smash",.tid=0x50000101A3500,.region=2,.key=0},{.name="Mario vs. Donkey Kong",.tid=0x500001015DC00,.region=4,.key=0},{.name="Mario vs. Donkey Kong",.tid=0x500001015DB00,.region=2,.key=0},{.name="Mario vs. Donkey Kong 2: March of the Minis",.tid=0x50000101C8500,.region=4,.key=0},{.name="Mario vs. Donkey Kong 2: March of the Minis",.tid=0x50000101C8400,.region=2,.key=0},{.name="Mario vs. Donkey Kong Tipping Stars",.tid=0x5000010178E00,.region=4,.key=0},{.name="Mario vs. Donkey Kong Tipping Stars",.tid=0x5000010149300,.region=2,.key=0},{.name="Mario's Super Picross",.tid=0x5000010115B00,.region=4,.key=0},{.name="Mario&Yoshi",.tid=0x5000010114300,.region=4,.key=0},{.name="Marvel Avengers™: Battle for Earth",.tid=0x5000010110800,.region=4,.key=0},{.name="Marvel Avengers™: Battle for Earth",.tid=0x500001010AF00,.region=2,.key=0},{.name="Masked Forces",.tid=0x5000010216800,.region=4,.key=0},{.name="Masked Forces",.tid=0x5000010216900,.region=2,.key=0},{.name="Master Reboot",.tid=0x500001016E800,.region=4,.key=0},{.name="Master Reboot",.tid=0x500001016B200,.region=2,.key=0},{.name="Master Reboot",.tid=0x50000101E4200,.region=1,.key=0},{.name="Maze",.tid=0x5000010199F00,.region=2,.key=0},{.name="Maze Break",.tid=0x500001020D500,.region=4,.key=0},{.name="Maze Break",.tid=0x500001020D900,.region=2,.key=0},{.name="Medabots AX: Metabee",.tid=0x50000101AD300,.region=2,.key=0},{.name="Medabots AX: Metabee Version",.tid=0x50000101AD200,.region=4,.key=0},{.name="Medabots AX: Rokusho",.tid=0x50000101AD000,.region=2,.key=0},{.name="Medabots AX: Rokusho Version",.tid=0x50000101ACF00,.region=4,.key=0},{.name="Medabots Rokusho",.tid=0x5000010197E00,.region=4,.key=0},{.name="Medabots: Metabee",.tid=0x5000010198100,.region=4,.key=0},{.name="Medabots: Metabee",.tid=0x5000010198200,.region=2,.key=0},{.name="Medabots: Rokusho",.tid=0x5000010197F00,.region=2,.key=0},{.name="MEGA MAN",.tid=0x5000010114600,.region=4,.key=0},{.name="MEGA MAN",.tid=0x5000010114500,.region=2,.key=0},{.name="MEGA MAN & BASS",.tid=0x500001018E700,.region=2,.key=0},{.name="MEGA MAN 2",.tid=0x5000010114900,.region=4,.key=0},{.name="MEGA MAN 2",.tid=0x5000010114800,.region=2,.key=0},{.name="MEGA MAN 3",.tid=0x500001012A000,.region=4,.key=0},{.name="MEGA MAN 3",.tid=0x5000010129F00,.region=2,.key=0},{.name="MEGA MAN 4",.tid=0x500001012E800,.region=4,.key=0},{.name="MEGA MAN 4",.tid=0x500001012E700,.region=2,.key=0},{.name="MEGA MAN 5",.tid=0x500001016C000,.region=4,.key=0},{.name="MEGA MAN 5",.tid=0x500001016BF00,.region=2,.key=0},{.name="MEGA MAN 6",.tid=0x5000010160D00,.region=4,.key=0},{.name="MEGA MAN 6",.tid=0x5000010160C00,.region=2,.key=0},{.name="MEGA MAN 7",.tid=0x5000010174F00,.region=4,.key=0},{.name="MEGA MAN 7",.tid=0x5000010174E00,.region=2,.key=0},{.name="MEGA MAN BATTLE CHIP CHALLENGE",.tid=0x5000010180100,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK",.tid=0x500001017FF00,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 2",.tid=0x5000010188200,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 3 BLUE",.tid=0x5000010188800,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 3 WHITE",.tid=0x5000010188500,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 4 BLUE MOON",.tid=0x5000010192800,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 4 RED SUN",.tid=0x5000010192B00,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 5 TEAM COLONEL",.tid=0x500001019F300,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 5 TEAM PROTOMAN",.tid=0x500001019F700,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 6 CYBEAST FALZAR",.tid=0x50000101C0100,.region=4,.key=0},{.name="MEGA MAN BATTLE NETWORK 6 CYBEAST FALZAR",.tid=0x50000101C0200,.region=2,.key=0},{.name="MEGA MAN BATTLE NETWORK 6 CYBEAST GREGAR",.tid=0x50000101C0400,.region=4,.key=0},{.name="MEGA MAN BATTLE NETWORK 6 CYBEAST GREGAR",.tid=0x50000101C0500,.region=2,.key=0},{.name="Mega Man X",.tid=0x5000010130E00,.region=4,.key=0},{.name="Mega Man X",.tid=0x5000010130D00,.region=2,.key=0},{.name="Mega Man X2",.tid=0x5000010141800,.region=4,.key=0},{.name="Mega Man X2",.tid=0x5000010141700,.region=2,.key=0},{.name="MEGA MAN X3",.tid=0x5000010175300,.region=4,.key=0},{.name="MEGA MAN X3",.tid=0x5000010175200,.region=2,.key=0},{.name="MEGA MAN ZERO",.tid=0x5000010180300,.region=2,.key=0},{.name="MEGA MAN ZERO 2",.tid=0x500001018EA00,.region=2,.key=0},{.name="MEGA MAN ZERO 3",.tid=0x5000010192E00,.region=2,.key=0},{.name="MEGA MAN ZERO 4",.tid=0x500001019F000,.region=2,.key=0},{.name="Mega Maze",.tid=0x50000101F9500,.region=2,.key=0},{.name="MEGAMAN & BASS",.tid=0x500001018E800,.region=4,.key=0},{.name="MEGAMAN BATTLE CHIP CHALLENGE",.tid=0x500001017A300,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK",.tid=0x5000010180000,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 2",.tid=0x5000010188300,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 3 BLUE",.tid=0x5000010188900,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 3 WHITE",.tid=0x5000010188600,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 4 BLUE MOON",.tid=0x5000010192900,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 4 RED SUN",.tid=0x5000010192C00,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 5 TEAM COLONEL",.tid=0x500001019F200,.region=4,.key=0},{.name="MEGAMAN BATTLE NETWORK 5 TEAM PROTOMAN",.tid=0x500001019F600,.region=4,.key=0},{.name="MEGAMAN ZERO",.tid=0x5000010180200,.region=4,.key=0},{.name="MEGAMAN ZERO 2",.tid=0x500001018EB00,.region=4,.key=0},{.name="MEGAMAN ZERO 3",.tid=0x5000010192F00,.region=4,.key=0},{.name="MEGAMAN ZERO 4",.tid=0x500001019EF00,.region=4,.key=0},{.name="Meine Ersten Mitsing-Lieder (My First Songs)",.tid=0x5000010172100,.region=4,.key=0},{.name="Meme Run",.tid=0x5000010194000,.region=2,.key=0},{.name="Metal Marines",.tid=0x5000010186A00,.region=2,.key=0},{.name="Metroid",.tid=0x500001012F500,.region=4,.key=0},{.name="Metroid",.tid=0x500001012F400,.region=2,.key=0},{.name="Metroid Fusion",.tid=0x5000010157200,.region=4,.key=0},{.name="Metroid Fusion",.tid=0x5000010157100,.region=2,.key=0},{.name="METROID Other M",.tid=0x500001019E100,.region=4,.key=0},{.name="METROID Other M",.tid=0x500001019DF00,.region=1,.key=0},{.name="Metroid Prime Hunters",.tid=0x50000101B3C00,.region=4,.key=0},{.name="Metroid Prime Hunters",.tid=0x50000101B3B00,.region=2,.key=0},{.name="Metroid Prime: Trilogy",.tid=0x500001019DE00,.region=4,.key=0},{.name="Metroid Prime: Trilogy",.tid=0x500001019DD00,.region=2,.key=0},{.name="Metroid: Other M",.tid=0x500001019E000,.region=2,.key=0},{.name="Metroid: Zero Mission",.tid=0x5000010172F00,.region=4,.key=0},{.name="Metroid: Zero Mission",.tid=0x500001016FA00,.region=2,.key=0},{.name="Midnight",.tid=0x50000101AEF00,.region=2,.key=0},{.name="Midnight 2",.tid=0x50000101FAF00,.region=4,.key=0},{.name="Midnight 2",.tid=0x50000101F7500,.region=2,.key=0},{.name="Midtown Crazy Race",.tid=0x5000010189B00,.region=4,.key=0},{.name="Midtown Crazy Race",.tid=0x5000010182F00,.region=2,.key=0},{.name="MIGHTY BOMB JACK",.tid=0x5000010158B00,.region=4,.key=0},{.name="MIGHTY BOMB JACK",.tid=0x5000010158A00,.region=2,.key=0},{.name="Mighty Final Fight",.tid=0x5000010177C00,.region=4,.key=0},{.name="Mighty Final Fight",.tid=0x5000010177B00,.region=2,.key=0},{.name="Mighty No. 9",.tid=0x50000101C5A00,.region=4,.key=0},{.name="Mighty No. 9",.tid=0x50000101C9600,.region=2,.key=0},{.name="Mighty No. 9",.tid=0x50000101DD900,.region=1,.key=0},{.name="Mighty Switch Force! 2™",.tid=0x500001014F100,.region=4,.key=0},{.name="Mighty Switch Force! 2™",.tid=0x500001014FC00,.region=2,.key=0},{.name="Mighty Switch Force!™ Hyper Drive Edition",.tid=0x5000010128200,.region=4,.key=0},{.name="Mighty Switch Force!™ Hyper Drive Edition",.tid=0x500001011B100,.region=2,.key=0},{.name="Miko Mole",.tid=0x50000101F2B00,.region=2,.key=0},{.name="MikroGame: Rotator",.tid=0x5000010205500,.region=4,.key=0},{.name="MikroGame: Rotator",.tid=0x5000010200D00,.region=2,.key=0},{.name="Minecraft Story Mode",.tid=0x50000101E0100,.region=2,.key=0},{.name="Minecraft: Story Mode - The Complete Adventure",.tid=0x500001020A300,.region=4,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x50000101D7500,.region=4,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x50000101D9D00,.region=2,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x50000101DBE00,.region=1,.key=0},{.name="Mini Mario & Friends amiibo Challenge",.tid=0x50000101C6300,.region=4,.key=0},{.name="Mini Mario & Friends amiibo Challenge",.tid=0x50000101C6200,.region=2,.key=0},{.name="Mini-Games Madness Vol #1",.tid=0x50000101D7E00,.region=2,.key=0},{.name="Molly Maggot",.tid=0x50000101D7300,.region=2,.key=0},{.name="Momonga Pinball Adventures",.tid=0x50000101C7400,.region=4,.key=0},{.name="Momonga Pinball Adventures",.tid=0x50000101C8200,.region=2,.key=0},{.name="Mon Premier Karaoké",.tid=0x500001016FB00,.region=4,.key=0},{.name="Mon Premier Karaoké (My First Songs)",.tid=0x500001016DD00,.region=2,.key=0},{.name="Monkey Pirates",.tid=0x5000010162200,.region=4,.key=0},{.name="Monkey Pirates",.tid=0x5000010170100,.region=2,.key=0},{.name="Monster High 13 Wishes",.tid=0x5000010147A00,.region=4,.key=0},{.name="Monster High 13 Wishes",.tid=0x5000010118200,.region=2,.key=0},{.name="Monster High New Ghoul in School",.tid=0x50000101CA900,.region=4,.key=0},{.name="Monster High New Ghoul in School",.tid=0x50000101C8D00,.region=2,.key=0},{.name="MONSTER HUNTER 3 ULTIMATE",.tid=0x5000010117200,.region=4,.key=0},{.name="MONSTER HUNTER 3 ULTIMATE",.tid=0x5000010118300,.region=2,.key=0},{.name="MONSTER HUNTER 3 ULTIMATE Packet Relay...for Nintendo 3DS",.tid=0x5000010132F00,.region=4,.key=0},{.name="MONSTER HUNTER 3 ULTIMATE Packet Relay...for Nintendo 3DS",.tid=0x5000010133600,.region=2,.key=0},{.name="MOP Operation Clean up",.tid=0x50000101F2C00,.region=2,.key=0},{.name="Mortar Melon",.tid=0x50000101BC500,.region=4,.key=0},{.name="Mortar Melon",.tid=0x50000101B8400,.region=2,.key=0},{.name="MOTHER",.tid=0x5000010133000,.region=1,.key=0},{.name="MOTHER2 ギーグの逆襲",.tid=0x5000010133300,.region=1,.key=0},{.name="MOTHER3",.tid=0x50000101C3F00,.region=1,.key=0},{.name="MOTOROADER",.tid=0x5000010167600,.region=4,.key=0},{.name="MOTOROADER",.tid=0x5000010167500,.region=2,.key=0},{.name="MOUNTAIN PEAK BATTLE MESS",.tid=0x500001021A300,.region=4,.key=0},{.name="MOUNTAIN PEAK BATTLE MESS",.tid=0x500001021A200,.region=2,.key=0},{.name="Mr. Driller 2",.tid=0x500001016D000,.region=4,.key=0},{.name="Mr. Driller 2",.tid=0x500001016CF00,.region=2,.key=0},{.name="Mr. Pumpkin Adventure",.tid=0x5000010206B00,.region=4,.key=0},{.name="Mr. Pumpkin Adventure",.tid=0x5000010204200,.region=2,.key=0},{.name="Mr.HELIの大冒険 (Battle Chopper)",.tid=0x5000010164200,.region=1,.key=0},{.name="Mutant Alien Moles of the Dead",.tid=0x500001020FC00,.region=4,.key=0},{.name="Mutant Alien Moles of the Dead",.tid=0x500001020CE00,.region=2,.key=0},{.name="Mutant Mudds Deluxe",.tid=0x500001011C100,.region=2,.key=0},{.name="Mutant Mudds Super Challenge",.tid=0x50000101CA800,.region=4,.key=0},{.name="Mutant Mudds Super Challenge",.tid=0x50000101B9B00,.region=2,.key=0},{.name="Mutant Mudds Super Challenge (Event Preview)",.tid=0x50000101CD300,.region=4,.key=0},{.name="Mutant Mudds Super Challenge (Event Preview)",.tid=0x50000101CB700,.region=2,.key=0},{.name="My Arctic Farm",.tid=0x5000010175900,.region=2,.key=0},{.name="My Exotic Farm",.tid=0x5000010169000,.region=4,.key=0},{.name="My Exotic Farm",.tid=0x5000010169500,.region=2,.key=0},{.name="My Farm",.tid=0x500001014C900,.region=4,.key=0},{.name="My Farm",.tid=0x500001014D000,.region=2,.key=0},{.name="My First Songs",.tid=0x500001016A300,.region=4,.key=0},{.name="My First Songs",.tid=0x5000010158400,.region=2,.key=0},{.name="My Jurassic Farm",.tid=0x5000010175800,.region=2,.key=0},{.name="My Style Studio: Hair Salon",.tid=0x5000010154C00,.region=4,.key=0},{.name="My Style Studio: Hair Salon",.tid=0x500001014FE00,.region=2,.key=0},{.name="MY STYLE STUDIO: NOTEBOOK",.tid=0x5000010154A00,.region=4,.key=0},{.name="MY STYLE STUDIO: NOTEBOOK",.tid=0x5000010156000,.region=2,.key=0},{.name="NAMCO MUSEUM",.tid=0x500001017BA00,.region=4,.key=0},{.name="NAMCO MUSEUM",.tid=0x500001017A000,.region=2,.key=0},{.name="Nano Assault Neo",.tid=0x5000010110600,.region=4,.key=0},{.name="Nano Assault Neo",.tid=0x5000010110100,.region=2,.key=0},{.name="Napster",.tid=0x50000101BCA00,.region=4,.key=0},{.name="Natsume Championship Wrestling",.tid=0x5000010178700,.region=4,.key=0},{.name="Natsume Championship Wrestling",.tid=0x5000010178600,.region=2,.key=0},{.name="NBA 2K13",.tid=0x5000010112F00,.region=4,.key=0},{.name="NBA 2K13",.tid=0x500001010DA00,.region=2,.key=0},{.name="Near Earth Objects",.tid=0x50000101CFD00,.region=2,.key=0},{.name="NECROMANCER",.tid=0x5000010215D00,.region=4,.key=0},{.name="NECROMANCER",.tid=0x5000010215E00,.region=2,.key=0},{.name="Need for Speed™ Most Wanted U",.tid=0x5000010128400,.region=4,.key=0},{.name="Need for Speed™ Most Wanted U",.tid=0x5000010128800,.region=2,.key=0},{.name="Need for Speed™ Most Wanted U",.tid=0x500001012B700,.region=1,.key=0},{.name="Neon Battle",.tid=0x50000101CA300,.region=2,.key=0},{.name="NES Open Tournament Golf",.tid=0x5000010152F00,.region=4,.key=0},{.name="NES Open Tournament Golf",.tid=0x5000010152E00,.region=2,.key=0},{.name="NES Remix",.tid=0x5000010146100,.region=4,.key=0},{.name="NES REMIX",.tid=0x5000010146000,.region=2,.key=0},{.name="NES REMIX 2",.tid=0x5000010162600,.region=4,.key=0},{.name="NES REMIX 2",.tid=0x5000010162500,.region=2,.key=0},{.name="NEUTOPIA",.tid=0x5000010164E00,.region=4,.key=0},{.name="NEUTOPIA",.tid=0x5000010164D00,.region=2,.key=0},{.name="NEUTOPIA II",.tid=0x5000010165C00,.region=4,.key=0},{.name="NEUTOPIA II",.tid=0x5000010165B00,.region=2,.key=0},{.name="Never Alone (Kisima Ingitchuna)",.tid=0x50000101CE800,.region=4,.key=0},{.name="Never Alone (Kisima Ingitchuna)",.tid=0x50000101CCF00,.region=2,.key=0},{.name="New Adventure Island",.tid=0x5000010164A00,.region=4,.key=0},{.name="New Adventure Island",.tid=0x5000010164900,.region=2,.key=0},{.name="NEW SUPER MARIO BROS.",.tid=0x5000010195B00,.region=4,.key=0},{.name="New Super Mario Bros.",.tid=0x5000010195A00,.region=2,.key=0},{.name="New SUPER MARIO BROS. U",.tid=0x5000010101E00,.region=4,.key=0},{.name="New SUPER MARIO BROS. U",.tid=0x5000010101D00,.region=2,.key=0},{.name="New SUPER MARIO BROS. U + New SUPER LUIGI U",.tid=0x500001014B800,.region=4,.key=0},{.name="New SUPER MARIO BROS. U + New SUPER LUIGI U",.tid=0x500001014B700,.region=2,.key=0},{.name="New SUPER MARIO BROS. Wii",.tid=0x500001019DC00,.region=4,.key=0},{.name="New Super Mario Bros. Wii",.tid=0x500001019DA00,.region=1,.key=0},{.name="New スーパーマリオブラザーズ (New Super Mario Bros.)",.tid=0x5000010195900,.region=1,.key=0},{.name="NewスーパーマリオブラザーズU (New SUPER MARIO BROS. U)",.tid=0x5000010101C00,.region=1,.key=0},{.name="NewスーパーマリオブラザーズU 無料お試し版 (New SUPER MARIO BROS. U (Trial))",.tid=0x5000010185200,.region=1,.key=0},{.name="Nihilumbra",.tid=0x500001016DA00,.region=4,.key=0},{.name="Nihilumbra",.tid=0x5000010177500,.region=2,.key=0},{.name="NINJA GAIDEN",.tid=0x5000010158800,.region=4,.key=0},{.name="NINJA GAIDEN",.tid=0x5000010158700,.region=2,.key=0},{.name="Ninja Gaiden 3: Razor's Edge",.tid=0x5000010110B00,.region=4,.key=0},{.name="NINJA GAIDEN 3: Razor's Edge",.tid=0x5000010139B00,.region=4,.key=0},{.name="NINJA GAIDEN 3: Razor's Edge",.tid=0x5000010110A00,.region=2,.key=0},{.name="NINJA GAIDEN 3: Razor's Edge",.tid=0x5000010110900,.region=1,.key=0},{.name="Ninja Gaiden II: The Dark Sword of Chaos",.tid=0x50000101C2300,.region=4,.key=0},{.name="Ninja Gaiden II: The Dark Sword of Chaos",.tid=0x50000101C2200,.region=2,.key=0},{.name="Ninja Gaiden III: The Ancient Ship of Doom",.tid=0x50000101C2500,.region=4,.key=0},{.name="Ninja Gaiden III: The Ancient Ship of Doom",.tid=0x50000101C2400,.region=2,.key=0},{.name="Ninja Pizza Girl",.tid=0x5000010203800,.region=4,.key=0},{.name="Ninja Pizza Girl",.tid=0x5000010196000,.region=2,.key=0},{.name="Ninja Pizza Girl",.tid=0x50000101E9B00,.region=1,.key=0},{.name="NINJA SPIRIT",.tid=0x5000010163B00,.region=4,.key=0},{.name="NINJA SPIRIT",.tid=0x5000010163A00,.region=2,.key=0},{.name="Ninja Strike: Dangerous Dash",.tid=0x50000101D3A00,.region=4,.key=0},{.name="Ninja Strike: Dangerous Dash",.tid=0x50000101D3700,.region=2,.key=0},{.name="Nintendo Land",.tid=0x5000010102100,.region=4,.key=0},{.name="Nintendo Land",.tid=0x5000010102000,.region=2,.key=0},{.name="Nintendo Land",.tid=0x5000010101F00,.region=1,.key=0},{.name="Nintendo Land ニンテンドーランド (Nintendo Land (Trial))",.tid=0x5000010185100,.region=1,.key=0},{.name="Nintendo presents: Style Boutique",.tid=0x50000101E6A00,.region=4,.key=0},{.name="Nintendo×JOYSOUND Wii カラオケ U",.tid=0x5000010102500,.region=1,.key=0},{.name="Nobunaga's Ambition",.tid=0x5000010171D00,.region=4,.key=0},{.name="Nobunaga's Ambition",.tid=0x5000010171C00,.region=2,.key=0},{.name="Noitu Love: Devolution",.tid=0x50000101F1100,.region=4,.key=0},{.name="Noitu Love: Devolution",.tid=0x50000101EA500,.region=2,.key=0},{.name="Nova-111",.tid=0x50000101C0700,.region=4,.key=0},{.name="Nova-111",.tid=0x50000101C0A00,.region=2,.key=0},{.name="Now I know my ABCs",.tid=0x50000101D6E00,.region=2,.key=0},{.name="Octocopter: Super Sub Squid Escape",.tid=0x5000010208500,.region=4,.key=0},{.name="Octocopter: Super Sub Squid Escape",.tid=0x5000010208700,.region=2,.key=0},{.name="Octodad: Dadliest Catch",.tid=0x50000101DC100,.region=4,.key=0},{.name="Octodad: Dadliest Catch",.tid=0x50000101C6A00,.region=2,.key=0},{.name="Oddworld New 'n' Tasty",.tid=0x50000101DBB00,.region=4,.key=0},{.name="Oddworld New 'n' Tasty",.tid=0x50000101DB000,.region=2,.key=0},{.name="Ogre Battle 64: Person of Lordly Caliber",.tid=0x50000101E6700,.region=6,.key=0},{.name="Ohayou! Beginner's Japanese",.tid=0x5000010206A00,.region=4,.key=0},{.name="Ohayou! Beginner's Japanese",.tid=0x50000101FA000,.region=2,.key=0},{.name="OlliOlli",.tid=0x50000101A5E00,.region=4,.key=0},{.name="OlliOlli",.tid=0x50000101A6900,.region=2,.key=0},{.name="Olympia Rising",.tid=0x50000101E3300,.region=4,.key=0},{.name="Olympia Rising",.tid=0x50000101E3400,.region=2,.key=0},{.name="ONE PIECE UNLIMITED WORLD R",.tid=0x5000010148000,.region=1,.key=0},{.name="ONE PIECE Unlimited World Red",.tid=0x5000010175D00,.region=4,.key=0},{.name="ONE PIECE Unlimited World Red",.tid=0x5000010175C00,.region=2,.key=0},{.name="Onimusha Tactics",.tid=0x50000101A9200,.region=4,.key=0},{.name="ONIMUSHA TACTICS",.tid=0x50000101A9300,.region=2,.key=0},{.name="ORBIT",.tid=0x5000010211100,.region=4,.key=0},{.name="ORBIT",.tid=0x5000010210E00,.region=2,.key=0},{.name="Outer World 20th Anniversary Edition",.tid=0x50000101AB100,.region=1,.key=0},{.name="Outside the Realm",.tid=0x50000101D0800,.region=2,.key=0},{.name="Overworld Defender Remix",.tid=0x5000010202100,.region=2,.key=0},{.name="PAC-ATTACK",.tid=0x5000010186D00,.region=4,.key=0},{.name="PAC-ATTACK",.tid=0x5000010186C00,.region=2,.key=0},{.name="PAC-LAND",.tid=0x500001016B900,.region=4,.key=0},{.name="PAC-LAND",.tid=0x500001016B800,.region=2,.key=0},{.name="PAC-MAN",.tid=0x5000010119300,.region=4,.key=0},{.name="PAC-MAN",.tid=0x5000010119200,.region=2,.key=0},{.name="Pac-Man 2: The New Adventures",.tid=0x50000101C2B00,.region=4,.key=0},{.name="Pac-Man 2: The New Adventures",.tid=0x50000101C2A00,.region=2,.key=0},{.name="PAC-MAN and the Ghostly Adventures",.tid=0x5000010147900,.region=4,.key=0},{.name="PAC-MAN and the Ghostly Adventures",.tid=0x5000010146300,.region=2,.key=0},{.name="PAC-MAN and the Ghostly Adventures 2",.tid=0x500001017E500,.region=4,.key=0},{.name="PAC-MAN and the Ghostly Adventures 2",.tid=0x500001017E600,.region=2,.key=0},{.name="PAC-MAN COLLECTION",.tid=0x5000010173F00,.region=4,.key=0},{.name="PAC-MAN Collection",.tid=0x5000010173900,.region=2,.key=0},{.name="Pad of Time",.tid=0x5000010196200,.region=4,.key=99},{.name="Pad of Time",.tid=0x5000010187700,.region=2,.key=99},{.name="PANDA LOVE",.tid=0x5000010200F00,.region=4,.key=0},{.name="PANDA LOVE",.tid=0x5000010200E00,.region=2,.key=0},{.name="Pandora's Tower",.tid=0x50000101B1400,.region=4,.key=0},{.name="Pandora's Tower",.tid=0x50000101B1300,.region=2,.key=0},{.name="Paparazzi",.tid=0x50000101AA100,.region=2,.key=0},{.name="Paper Mario",.tid=0x5000010199800,.region=4,.key=0},{.name="Paper Mario",.tid=0x5000010199700,.region=2,.key=0},{.name="Paper Mario Color Splash",.tid=0x500001F600B00,.region=4,.key=0},{.name="Paper Mario Color Splash",.tid=0x500001F600A00,.region=2,.key=0},{.name="Paper Monsters Recut",.tid=0x50000101A1300,.region=4,.key=0},{.name="Paper Monsters Recut",.tid=0x5000010175400,.region=2,.key=0},{.name="Paranautical Activity",.tid=0x50000101F0F00,.region=4,.key=0},{.name="Paranautical Activity",.tid=0x50000101F7000,.region=4,.key=0},{.name="Paranautical Activity",.tid=0x50000101BC800,.region=2,.key=0},{.name="PC原人 (Bonk's Adventure)",.tid=0x500001015B600,.region=1,.key=0},{.name="PC原人2 (Bonk's Revenge)",.tid=0x500001015BB00,.region=1,.key=0},{.name="PC原人3 (BONK 3 Bonk's Big Adventure)",.tid=0x500001015BC00,.region=1,.key=0},{.name="PC電人 (Air Zonk)",.tid=0x500001015BA00,.region=1,.key=0},{.name="PEG SOLITAIRE",.tid=0x50000101C6B00,.region=2,.key=0},{.name="Penguins of Madagascar",.tid=0x5000010193F00,.region=4,.key=0},{.name="Penguins of Madagascar",.tid=0x500001018FD00,.region=2,.key=0},{.name="PENTAPUZZLE",.tid=0x50000101F5900,.region=4,.key=0},{.name="PENTAPUZZLE",.tid=0x50000101BA700,.region=2,.key=0},{.name="Percy's Predicament",.tid=0x500001014FF00,.region=2,.key=0},{.name="Perpetual Blast",.tid=0x50000101DCF00,.region=2,.key=0},{.name="Petite Zombies",.tid=0x5000010218300,.region=4,.key=0},{.name="Petite Zombies",.tid=0x5000010218500,.region=2,.key=0},{.name="Phineas and Ferb: Quest for Cool Stuff",.tid=0x5000010139400,.region=2,.key=0},{.name="Piano Teacher",.tid=0x50000101FC400,.region=2,.key=0},{.name="Pic-a-Pix Color",.tid=0x500001020D700,.region=2,.key=0},{.name="Pic-a-Pix Colour",.tid=0x500001020D100,.region=4,.key=0},{.name="Picross 3D",.tid=0x50000101E6E00,.region=4,.key=0},{.name="Picross 3D",.tid=0x50000101E6D00,.region=2,.key=0},{.name="PictoParty",.tid=0x50000101C3C00,.region=4,.key=0},{.name="PictoParty",.tid=0x50000101DB100,.region=2,.key=0},{.name="Pier Solar and the Great Architects",.tid=0x5000010187000,.region=4,.key=0},{.name="Pier Solar and the Great Architects",.tid=0x5000010170200,.region=2,.key=0},{.name="PIKMIN",.tid=0x50000101EC200,.region=4,.key=0},{.name="PIKMIN",.tid=0x50000101EC100,.region=2,.key=0},{.name="PIKMIN 2",.tid=0x50000101EBF00,.region=4,.key=0},{.name="PIKMIN 2",.tid=0x50000101EBE00,.region=2,.key=0},{.name="PIKMIN 3",.tid=0x500001012BE00,.region=4,.key=0},{.name="PIKMIN 3",.tid=0x500001012BD00,.region=2,.key=0},{.name="PIKMIN Short Movies HD",.tid=0x5000010161900,.region=4,.key=0},{.name="PIKMIN Short Movies HD",.tid=0x5000010161800,.region=2,.key=0},{.name="PIKMIN Short Movies HD",.tid=0x5000010161700,.region=1,.key=0},{.name="Pilotwings",.tid=0x5000010130500,.region=4,.key=0},{.name="Pilotwings",.tid=0x5000010130400,.region=2,.key=0},{.name="PINBALL",.tid=0x500001014A000,.region=4,.key=0},{.name="PINBALL",.tid=0x5000010211A00,.region=4,.key=0},{.name="PINBALL",.tid=0x5000010149F00,.region=2,.key=0},{.name="PINBALL",.tid=0x5000010211600,.region=2,.key=0},{.name="Pinball Arcade",.tid=0x5000010138500,.region=2,.key=0},{.name="Pinball Breakout",.tid=0x5000010208300,.region=4,.key=0},{.name="Pinball Breakout",.tid=0x5000010206C00,.region=2,.key=0},{.name="PING 1.5+",.tid=0x50000101F6900,.region=4,.key=0},{.name="PING 1.5+",.tid=0x500001017AF00,.region=2,.key=0},{.name="Pirate Pop Plus",.tid=0x5000010203300,.region=4,.key=0},{.name="Pirate Pop Plus",.tid=0x50000101F8B00,.region=2,.key=0},{.name="Pixel Paint",.tid=0x5000010176400,.region=2,.key=0},{.name="PIXEL SLIME U",.tid=0x50000101F6B00,.region=4,.key=0},{.name="PIXEL SLIME U",.tid=0x50000101D2900,.region=2,.key=0},{.name="PixelJunk Monsters",.tid=0x50000101E1200,.region=4,.key=0},{.name="PixelJunk Monsters",.tid=0x50000101B0200,.region=2,.key=0},{.name="PixelMaker",.tid=0x50000101F7700,.region=4,.key=0},{.name="PixelMaker",.tid=0x50000101F5D00,.region=2,.key=0},{.name="PixelMaker Studio",.tid=0x5000010214200,.region=4,.key=0},{.name="PixelMaker Studio",.tid=0x5000010213400,.region=2,.key=0},{.name="PixlCross",.tid=0x50000101AF400,.region=2,.key=0},{.name="Placards",.tid=0x50000101C7200,.region=2,.key=0},{.name="Planes Fire & Rescue",.tid=0x500001018CC00,.region=4,.key=0},{.name="Planes Fire & Rescue",.tid=0x5000010187B00,.region=2,.key=0},{.name="Plantera",.tid=0x5000010204400,.region=4,.key=0},{.name="Plantera",.tid=0x5000010204800,.region=2,.key=0},{.name="Plenty of Fishies",.tid=0x50000101BC400,.region=4,.key=0},{.name="Plenty of Fishies",.tid=0x5000010179500,.region=2,.key=0},{.name="Pocky & Rocky with Becky",.tid=0x50000101A9800,.region=6,.key=0},{.name="Pokémon Mystery Dungeon: Blue Rescue Team",.tid=0x50000101CC800,.region=4,.key=0},{.name="Pokémon Mystery Dungeon: Blue Rescue Team",.tid=0x50000101CC700,.region=2,.key=0},{.name="Pokémon Mystery Dungeon: Explorers of Sky",.tid=0x50000101E0E00,.region=4,.key=0},{.name="Pokémon Mystery Dungeon: Explorers of Sky",.tid=0x50000101E0D00,.region=2,.key=0},{.name="Pokémon Mystery Dungeon: Red Rescue Team",.tid=0x50000101D0A00,.region=4,.key=0},{.name="Pokémon Mystery Dungeon: Red Rescue Team",.tid=0x50000101D0C00,.region=2,.key=0},{.name="Pokémon Pinball: Ruby & Sapphire",.tid=0x5000010183700,.region=4,.key=0},{.name="Pokémon Pinball: Ruby & Sapphire",.tid=0x5000010183600,.region=2,.key=0},{.name="Pokémon Ranger",.tid=0x50000101CC400,.region=4,.key=0},{.name="Pokémon Ranger",.tid=0x50000101CC300,.region=2,.key=0},{.name="Pokémon Ranger: Guardian Signs",.tid=0x50000101E7100,.region=4,.key=0},{.name="Pokémon Ranger: Guardian Signs",.tid=0x50000101E7000,.region=2,.key=0},{.name="Pokémon Ranger: Shadows of Almia",.tid=0x50000101E1100,.region=4,.key=0},{.name="Pokémon Ranger: Shadows of Almia",.tid=0x50000101E1000,.region=2,.key=0},{.name="Pokémon Rumble U",.tid=0x5000010147700,.region=6,.key=0},{.name="Pokémon Snap",.tid=0x50000101DA900,.region=4,.key=0},{.name="Pokémon Snap",.tid=0x50000101DA800,.region=2,.key=0},{.name="PokéPark Wii Pikachu's Adventure",.tid=0x500001019E400,.region=4,.key=0},{.name="PokéPark Wii: Pikachu's Adventure",.tid=0x500001019E300,.region=2,.key=0},{.name="POKER DICE SOLITAIRE FUTURE",.tid=0x500001018A400,.region=2,.key=0},{.name="POKKÉN TOURNAMENT",.tid=0x50000101DF500,.region=4,.key=0},{.name="POKKÉN TOURNAMENT",.tid=0x50000101DF400,.region=2,.key=0},{.name="Polarium Advance",.tid=0x50000101B9C00,.region=4,.key=0},{.name="Polarium Advance",.tid=0x50000101B9D00,.region=2,.key=0},{.name="PONCHO",.tid=0x50000101CA700,.region=4,.key=0},{.name="PONCHO",.tid=0x50000101CC000,.region=2,.key=0},{.name="POOYAN プーヤン",.tid=0x5000010186100,.region=1,.key=0},{.name="Pop'n Twinbee",.tid=0x5000010159600,.region=4,.key=0},{.name="Pop'n TwinBee RAINBOW BELL ADVENTURES",.tid=0x5000010161500,.region=4,.key=0},{.name="Pop'nツインビー (Pop'n TwinBee)",.tid=0x5000010159500,.region=1,.key=0},{.name="POWER GOLF",.tid=0x5000010166A00,.region=4,.key=0},{.name="POWER GOLF",.tid=0x5000010166900,.region=2,.key=0},{.name="Preston Sterling",.tid=0x500001020EF00,.region=4,.key=0},{.name="Preston Sterling",.tid=0x500001020F800,.region=2,.key=0},{.name="Prism Pets",.tid=0x50000101FD800,.region=2,.key=0},{.name="Project Zero 2 Wii Edition",.tid=0x50000101B2400,.region=4,.key=0},{.name="Project Zero: Maiden of Black Water - Trial version",.tid=0x50000101D3F00,.region=4,.key=0},{.name="PSIBO",.tid=0x50000101F7D00,.region=4,.key=0},{.name="PSIBO",.tid=0x50000101E1E00,.region=2,.key=0},{.name="psyscrolr",.tid=0x50000101ACB00,.region=2,.key=0},{.name="Puddle",.tid=0x500001010FB00,.region=4,.key=0},{.name="Puddle",.tid=0x5000010110500,.region=2,.key=0},{.name="Puddle",.tid=0x50000101A2700,.region=1,.key=0},{.name="Pullblox World",.tid=0x5000010172000,.region=4,.key=0},{.name="Pumped BMX +",.tid=0x50000101C7600,.region=4,.key=0},{.name="Pumped BMX +",.tid=0x50000101C7D00,.region=2,.key=0},{.name="Punch-Out!!",.tid=0x5000010108C00,.region=4,.key=0},{.name="Punch-Out!!",.tid=0x500001019D300,.region=4,.key=0},{.name="Punch-Out!!",.tid=0x500001019D200,.region=2,.key=0},{.name="Punch-Out!! Featuring Mr. Dream",.tid=0x5000010108B00,.region=2,.key=0},{.name="Pure Chess",.tid=0x5000010145A00,.region=4,.key=0},{.name="Pure Chess",.tid=0x5000010147400,.region=2,.key=0},{.name="Pushmo World",.tid=0x5000010171F00,.region=2,.key=0},{.name="Puzzle Monkeys",.tid=0x50000101AFC00,.region=4,.key=0},{.name="Puzzle Monkeys",.tid=0x50000101A8600,.region=2,.key=0},{.name="Q.U.B.E: Director's Cut",.tid=0x500001014FB00,.region=4,.key=0},{.name="Q.U.B.E: Director's Cut",.tid=0x50000101D8000,.region=2,.key=0},{.name="Quadcopter Pilot Challenge",.tid=0x50000101CF500,.region=2,.key=0},{.name="Queen's Garden",.tid=0x50000101F4200,.region=4,.key=0},{.name="Queen's Garden",.tid=0x50000101F4700,.region=2,.key=0},{.name="Quest of Dungeons",.tid=0x50000101F0B00,.region=4,.key=0},{.name="Quest of Dungeons",.tid=0x50000101F1400,.region=2,.key=0},{.name="R-TYPE",.tid=0x500001016A500,.region=4,.key=0},{.name="R-TYPE",.tid=0x5000010163200,.region=2,.key=0},{.name="R-TYPE",.tid=0x5000010170800,.region=1,.key=0},{.name="Rabbids Land",.tid=0x500001010FC00,.region=4,.key=0},{.name="Rabbids Land",.tid=0x500001010B000,.region=2,.key=0},{.name="Race The Sun",.tid=0x50000101C6D00,.region=4,.key=0},{.name="Race The Sun",.tid=0x50000101BF000,.region=2,.key=0},{.name="RADIANTFLUX: HYPERFRACTAL",.tid=0x500001020C400,.region=4,.key=0},{.name="RADIANTFLUX: HYPERFRACTAL",.tid=0x500001020C300,.region=2,.key=0},{.name="Rainbow Snake",.tid=0x5000010217200,.region=4,.key=0},{.name="Rainbow Snake",.tid=0x5000010217400,.region=2,.key=0},{.name="Rakoo & Friends",.tid=0x50000101A9B00,.region=4,.key=0},{.name="Rakoo & Friends",.tid=0x50000101D4A00,.region=2,.key=0},{.name="Rakuten TV",.tid=0x50000101A9100,.region=1,.key=0},{.name="Rayman 3",.tid=0x50000101D5800,.region=4,.key=0},{.name="Rayman 3",.tid=0x50000101D5900,.region=2,.key=0},{.name="Rayman Advance",.tid=0x50000101D5A00,.region=4,.key=0},{.name="Rayman Advance",.tid=0x50000101D5B00,.region=2,.key=0},{.name="Rayman Legends",.tid=0x5000010111400,.region=4,.key=0},{.name="Rayman Legends",.tid=0x500001010B100,.region=2,.key=0},{.name="Rayman Legends Challenges App",.tid=0x5000010138E00,.region=4,.key=0},{.name="Rayman Legends Challenges App",.tid=0x5000010139500,.region=2,.key=0},{.name="Rayman Raving Rabbids",.tid=0x50000101F0E00,.region=4,.key=0},{.name="Rayman Raving Rabbids",.tid=0x50000101F0D00,.region=2,.key=0},{.name="Red Riding Hood",.tid=0x50000101AAC00,.region=4,.key=0},{.name="Red Riding Hood",.tid=0x5000010190400,.region=2,.key=0},{.name="Regina & Mac",.tid=0x500001021A700,.region=4,.key=0},{.name="Regina & Mac",.tid=0x500001021A600,.region=2,.key=0},{.name="Renegade",.tid=0x5000010153500,.region=4,.key=0},{.name="Renegade",.tid=0x5000010153400,.region=2,.key=0},{.name="REPLAY : VHS IS NOT DEAD",.tid=0x50000101E2D00,.region=4,.key=0},{.name="REPLAY : VHS IS NOT DEAD",.tid=0x50000101E3000,.region=2,.key=0},{.name="Reptilian Rebellion",.tid=0x50000101F5400,.region=4,.key=0},{.name="Reptilian Rebellion",.tid=0x50000101F4C00,.region=2,.key=0},{.name="resident evil 4 Wii edition",.tid=0x50000101BD800,.region=4,.key=0},{.name="RESIDENT EVIL 4 Wii EDITION",.tid=0x50000101BD700,.region=2,.key=0},{.name="RESIDENT EVIL REVELATIONS",.tid=0x500001012B400,.region=4,.key=0},{.name="RESIDENT EVIL REVELATIONS",.tid=0x500001012CF00,.region=2,.key=0},{.name="Resident Evil: The Umbrella Chronicles",.tid=0x50000101ECD00,.region=2,.key=0},{.name="Retro Road Rumble",.tid=0x5000010205B00,.region=2,.key=0},{.name="Revenant Saga",.tid=0x5000010211200,.region=4,.key=0},{.name="Revenant Saga",.tid=0x5000010212F00,.region=2,.key=0},{.name="Reversi 32",.tid=0x500001021C900,.region=4,.key=99},{.name="Rhapsody",.tid=0x50000101BCB00,.region=2,.key=0},{.name="Rhythm Heaven Fever",.tid=0x50000101B0700,.region=2,.key=0},{.name="RISE OF THE GUARDIANS",.tid=0x500001010F100,.region=4,.key=0},{.name="RISE OF THE GUARDIANS",.tid=0x500001010F200,.region=2,.key=0},{.name="Rival Turf",.tid=0x5000010191400,.region=2,.key=0},{.name="RIVE Event Preview",.tid=0x50000101CD600,.region=4,.key=0},{.name="RIVE Event Preview",.tid=0x50000101CBF00,.region=2,.key=0},{.name="River City Ransom",.tid=0x50000101A0500,.region=2,.key=0},{.name="Rock 'N Racing Off Road",.tid=0x5000010191800,.region=4,.key=0},{.name="Rock 'N Racing Off Road",.tid=0x5000010148200,.region=2,.key=0},{.name="Rock 'N Racing Off Road",.tid=0x50000101DD300,.region=1,.key=0},{.name="Rock 'N Racing Off Road DX",.tid=0x50000101D9600,.region=4,.key=0},{.name="Rock 'N Racing Off Road DX",.tid=0x50000101D8D00,.region=2,.key=0},{.name="Rock Zombie",.tid=0x500001019CA00,.region=4,.key=0},{.name="Rock Zombie",.tid=0x5000010195E00,.region=2,.key=0},{.name="Rodea the Sky Soldier",.tid=0x50000101C4000,.region=4,.key=0},{.name="Rodea the Sky Soldier",.tid=0x50000101BF600,.region=2,.key=0},{.name="Romance of The 3 Kingdoms Ⅳ Wall of Fire",.tid=0x5000010136000,.region=4,.key=0},{.name="Romance of The 3 Kingdoms Ⅳ Wall of Fire",.tid=0x5000010134700,.region=2,.key=0},{.name="Rorrim",.tid=0x5000010203600,.region=4,.key=0},{.name="Rorrim",.tid=0x5000010202700,.region=2,.key=0},{.name="Roving Rogue",.tid=0x5000010180E00,.region=4,.key=0},{.name="Roving Rogue",.tid=0x500001017B000,.region=2,.key=0},{.name="RTO",.tid=0x5000010215800,.region=4,.key=0},{.name="RTO",.tid=0x5000010216300,.region=2,.key=0},{.name="RTO 2",.tid=0x5000010216500,.region=4,.key=0},{.name="RTO 2",.tid=0x5000010216600,.region=2,.key=0},{.name="RTO 3",.tid=0x500001021D400,.region=4,.key=99},{.name="RTO 3",.tid=0x500001021CF00,.region=2,.key=99},{.name="RUBIKS CUBE",.tid=0x5000010154B00,.region=4,.key=0},{.name="RUBIKS CUBE",.tid=0x5000010156400,.region=2,.key=0},{.name="Run Run and Die",.tid=0x50000101F6300,.region=4,.key=0},{.name="Run Run and Die",.tid=0x50000101F2D00,.region=2,.key=0},{.name="Run Run and Die",.tid=0x5000010205600,.region=1,.key=0},{.name="Runbow",.tid=0x50000101D6D00,.region=4,.key=0},{.name="Runbow",.tid=0x5000010183000,.region=2,.key=0},{.name="Runbow",.tid=0x50000101DD700,.region=1,.key=0},{.name="RUSH",.tid=0x5000010152500,.region=4,.key=0},{.name="RUSH",.tid=0x5000010152600,.region=2,.key=0},{.name="RUSHING BEAT 乱 複製都市 (Brawl Brothers)",.tid=0x5000010141C00,.region=1,.key=0},{.name="Rynn's Adventure: Trouble in the Enchanted Forest",.tid=0x50000101E1900,.region=2,.key=0},{.name="S.C.A.T.",.tid=0x500001017FA00,.region=4,.key=0},{.name="S.C.A.T.",.tid=0x500001017F900,.region=2,.key=0},{.name="SALAMANDER",.tid=0x5000010166C00,.region=4,.key=0},{.name="SALAMANDER",.tid=0x5000010166B00,.region=2,.key=0},{.name="Sanatory Hallways",.tid=0x50000101C5F00,.region=4,.key=0},{.name="SANTA FACTORY",.tid=0x50000101BC200,.region=2,.key=0},{.name="Schlag den Star - Das Spiel",.tid=0x5000010213700,.region=4,.key=0},{.name="SCOOP! AROUND THE WORLD IN 80 SPACES",.tid=0x5000010218100,.region=2,.key=0},{.name="Scram Kitty and his Buddy on Rails",.tid=0x500001014D100,.region=4,.key=0},{.name="Scram Kitty and his Buddy on Rails",.tid=0x5000010149500,.region=2,.key=0},{.name="Scribble",.tid=0x500001020B800,.region=4,.key=0},{.name="Scribble",.tid=0x500001020BB00,.region=2,.key=0},{.name="Scribblenauts Unlimited",.tid=0x500001010F900,.region=4,.key=0},{.name="Scribblenauts Unlimited",.tid=0x500001010B200,.region=2,.key=0},{.name="Scribblenauts Unmasked A DC Comics Adventure",.tid=0x5000010132D00,.region=4,.key=0},{.name="Scribblenauts Unmasked A DC Comics Adventure",.tid=0x5000010132C00,.region=2,.key=0},{.name="SDK Paint",.tid=0x50000101AEB00,.region=4,.key=0},{.name="SDK Paint",.tid=0x500001017EB00,.region=2,.key=0},{.name="SDK Spriter",.tid=0x50000101B9700,.region=4,.key=0},{.name="SDK Spriter",.tid=0x50000101AA300,.region=2,.key=0},{.name="Seasonal Assistant",.tid=0x500001021C100,.region=4,.key=0},{.name="Seasonal Assistant",.tid=0x500001021C000,.region=2,.key=99},{.name="Secret Files Tunguska",.tid=0x50000101C5B00,.region=4,.key=0},{.name="Sense by Play.me",.tid=0x500001018FE00,.region=4,.key=0},{.name="Severed",.tid=0x50000101BA000,.region=4,.key=0},{.name="Severed",.tid=0x50000101BA900,.region=2,.key=0},{.name="Shadow Archer",.tid=0x5000010207B00,.region=4,.key=0},{.name="Shadow Archer",.tid=0x50000101FB400,.region=2,.key=0},{.name="Shadow Archer Special",.tid=0x5000010217D00,.region=4,.key=99},{.name="Shadow Archer Special",.tid=0x500001021BC00,.region=2,.key=99},{.name="Shadow Archery",.tid=0x5000010216E00,.region=4,.key=0},{.name="Shadow Archery",.tid=0x5000010216D00,.region=2,.key=0},{.name="Shadow of the Ninja",.tid=0x500001017F800,.region=4,.key=0},{.name="Shadow of the Ninja",.tid=0x500001017F700,.region=2,.key=0},{.name="Shadow Puppeteer",.tid=0x50000101E1B00,.region=4,.key=0},{.name="Shadow Puppeteer",.tid=0x5000010189F00,.region=2,.key=0},{.name="Shakedown: Hawaii™",.tid=0x500001021AA00,.region=2,.key=0},{.name="Shantae and the Pirate's Curse",.tid=0x50000101A9500,.region=4,.key=0},{.name="Shantae and the Pirate's Curse",.tid=0x50000101A5F00,.region=2,.key=0},{.name="Shantae: Half-Genie Hero",.tid=0x5000010203200,.region=4,.key=0},{.name="Shantae: Half-Genie Hero",.tid=0x50000101DB200,.region=2,.key=0},{.name="Shantae: Risky's Revenge - Director's Cut",.tid=0x50000101A6100,.region=2,.key=0},{.name="Shantae: Risky's Revenge Director's Cut",.tid=0x50000101A9600,.region=4,.key=0},{.name="Shapes of Gray",.tid=0x500001019A100,.region=2,.key=0},{.name="Shiftlings",.tid=0x50000101ACC00,.region=4,.key=0},{.name="Shiftlings",.tid=0x50000101A7F00,.region=2,.key=0},{.name="Shiny The Firefly",.tid=0x5000010180D00,.region=4,.key=0},{.name="Shiny The Firefly",.tid=0x5000010179600,.region=2,.key=0},{.name="SHOCKMAN",.tid=0x5000010165E00,.region=4,.key=0},{.name="SHOCKMAN",.tid=0x5000010165D00,.region=2,.key=0},{.name="SHOOT THE BALL",.tid=0x5000010201100,.region=4,.key=0},{.name="SHOOT THE BALL",.tid=0x5000010201000,.region=2,.key=0},{.name="SHOOT THE BALL",.tid=0x500001020CF00,.region=1,.key=0},{.name="Shooting Range",.tid=0x50000101E6200,.region=2,.key=0},{.name="SHOOTY SPACE",.tid=0x5000010201800,.region=4,.key=0},{.name="SHOOTY SPACE",.tid=0x50000101FAD00,.region=2,.key=0},{.name="Shovel Knight",.tid=0x5000010178F00,.region=4,.key=0},{.name="Shovel Knight",.tid=0x500001016E100,.region=2,.key=0},{.name="SHUT THE BOX",.tid=0x500001018D700,.region=2,.key=0},{.name="Shütshimi",.tid=0x50000101BF400,.region=4,.key=0},{.name="Shütshimi",.tid=0x50000101B2C00,.region=2,.key=0},{.name="Shuttle Rush",.tid=0x500001017B100,.region=2,.key=0},{.name="Silver Falls Undertakers",.tid=0x500001021D000,.region=2,.key=99},{.name="Silver Falls White Inside Its Umbra",.tid=0x500001021D300,.region=2,.key=99},{.name="SIMPLEシリーズ for Wii U Vol.1 THE ファミリーパーティー (SIMPLE Series for Wii U Vol.1 THE FamilyParty)",.tid=0x5000010118000,.region=1,.key=0},{.name="Sin & Punishment",.tid=0x50000101B4800,.region=6,.key=0},{.name="Sin & Punishment: Star Successor",.tid=0x50000101B0A00,.region=2,.key=0},{.name="Sin and Punishment: Successor of the Skies",.tid=0x50000101B0B00,.region=4,.key=0},{.name="SiNG PARTY",.tid=0x5000010101900,.region=4,.key=0},{.name="SiNG PARTY",.tid=0x5000010101800,.region=2,.key=0},{.name="Sinister Assistant",.tid=0x5000010217C00,.region=4,.key=0},{.name="Sinister Assistant",.tid=0x5000010217F00,.region=2,.key=0},{.name="Six Sides of the World",.tid=0x500001020C600,.region=4,.key=0},{.name="SKEASY",.tid=0x50000101E7800,.region=2,.key=0},{.name="Sketch Wars",.tid=0x50000101D4C00,.region=2,.key=0},{.name="SKORB",.tid=0x5000010205800,.region=2,.key=0},{.name="Skunky B's Super Slots Saga #1",.tid=0x50000101FC500,.region=2,.key=0},{.name="Sky Force Anniversary",.tid=0x5000010203500,.region=4,.key=0},{.name="Sky Force Anniversary",.tid=0x5000010202800,.region=2,.key=0},{.name="SkyKid",.tid=0x5000010186000,.region=2,.key=0},{.name="Skylanders SuperChargers",.tid=0x50000101BFC00,.region=4,.key=0},{.name="Skylanders SuperChargers",.tid=0x50000101B8500,.region=2,.key=0},{.name="Skylanders SWAP Force",.tid=0x5000010140400,.region=4,.key=0},{.name="Skylanders SWAP Force",.tid=0x5000010139200,.region=2,.key=0},{.name="Skylanders Trap Team",.tid=0x5000010181F00,.region=4,.key=0},{.name="Skylanders Trap Team",.tid=0x500001017C600,.region=2,.key=0},{.name="Slender: The Arrival",.tid=0x50000101D8900,.region=4,.key=0},{.name="Slender: The Arrival",.tid=0x5000010184900,.region=2,.key=0},{.name="Slots - Pharaoh's Riches",.tid=0x50000101D7600,.region=2,.key=0},{.name="SMART Adventures Mission Math",.tid=0x500001018A800,.region=4,.key=0},{.name="SMART Adventures Mission Math",.tid=0x500001018F800,.region=2,.key=0},{.name="Snake Den",.tid=0x5000010183100,.region=2,.key=0},{.name="Snowball",.tid=0x50000101DFD00,.region=2,.key=0},{.name="Soccer",.tid=0x5000010160600,.region=4,.key=0},{.name="Soccer",.tid=0x5000010160500,.region=2,.key=0},{.name="SOLDIER BLADE",.tid=0x5000010166800,.region=4,.key=0},{.name="SOLDIER BLADE",.tid=0x5000010166700,.region=2,.key=0},{.name="SOLITAIRE",.tid=0x5000010200000,.region=4,.key=0},{.name="SOLITAIRE",.tid=0x50000101FFF00,.region=2,.key=0},{.name="Solitaire Dungeon Escape",.tid=0x50000101D0000,.region=2,.key=0},{.name="Solomon's Key",.tid=0x5000010129D00,.region=4,.key=0},{.name="Solomon's Key",.tid=0x5000010129C00,.region=2,.key=0},{.name="Sonic & All-Stars Racing Transformed",.tid=0x5000010111F00,.region=4,.key=0},{.name="Sonic & All-Stars Racing Transformed",.tid=0x500001010B300,.region=2,.key=0},{.name="Sonic Boom: Rise Of Lyric",.tid=0x5000010177800,.region=4,.key=0},{.name="Sonic Boom: Rise of Lyric",.tid=0x5000010175B00,.region=2,.key=0},{.name="SONIC LOST WORLD",.tid=0x500001012B100,.region=4,.key=0},{.name="SONIC LOST WORLD",.tid=0x5000010128F00,.region=2,.key=0},{.name="Soon Shine",.tid=0x500001018EC00,.region=2,.key=0},{.name="Soul Axiom",.tid=0x5000010188E00,.region=4,.key=0},{.name="Soul Axiom",.tid=0x5000010189100,.region=2,.key=0},{.name="SPACE HULK",.tid=0x50000101B6000,.region=4,.key=0},{.name="SPACE HULK",.tid=0x50000101ADE00,.region=2,.key=0},{.name="Space Hunted",.tid=0x5000010210400,.region=4,.key=0},{.name="Space Hunted",.tid=0x5000010207600,.region=2,.key=0},{.name="Space Hunted: The Lost Levels",.tid=0x5000010219C00,.region=4,.key=0},{.name="Space Hunted: The Lost Levels",.tid=0x5000010203D00,.region=2,.key=0},{.name="Space Intervention",.tid=0x500001021A000,.region=4,.key=0},{.name="Space Intervention",.tid=0x500001021A100,.region=2,.key=0},{.name="SPACE INVADERS",.tid=0x50000101A7C00,.region=1,.key=0},{.name="SpaceRoads",.tid=0x50000101ED000,.region=2,.key=0},{.name="Spellcaster's Assistant",.tid=0x5000010215F00,.region=4,.key=0},{.name="Spellcaster's Assistant",.tid=0x5000010216100,.region=2,.key=0},{.name="Spelunker",.tid=0x500001011AA00,.region=4,.key=0},{.name="Spelunker",.tid=0x500001011A900,.region=2,.key=0},{.name="SPHERE SLICE",.tid=0x5000010211B00,.region=4,.key=0},{.name="SPHERE SLICE",.tid=0x5000010211700,.region=2,.key=0},{.name="SphereZor",.tid=0x50000101ED600,.region=2,.key=0},{.name="Spheroids",.tid=0x50000101E3500,.region=4,.key=0},{.name="Spheroids",.tid=0x50000101E3600,.region=2,.key=0},{.name="Spheroids",.tid=0x500001020C900,.region=1,.key=0},{.name="SPIKEY WALLS",.tid=0x500001019A300,.region=2,.key=0},{.name="Spin the Bottle: Bumpie's Party",.tid=0x5000010138700,.region=4,.key=0},{.name="Spin The Bottle: Bumpie's Party",.tid=0x5000010147F00,.region=2,.key=0},{.name="SPLASHY DUCK",.tid=0x50000101B5E00,.region=4,.key=0},{.name="SPLASHY DUCK",.tid=0x50000101E7900,.region=2,.key=0},{.name="Splatoon",.tid=0x5000010176A00,.region=4,.key=0},{.name="Splatoon",.tid=0x5000010176900,.region=2,.key=0},{.name="Splatoon (Demo)",.tid=0x50000101CDE00,.region=6,.key=0},{.name="Splatoon Global Testfire",.tid=0x500001017E300,.region=6,.key=0},{.name="Splatoon Pre-Launch Review",.tid=0x50000101CDD00,.region=4,.key=0},{.name="Splatoon Pre-Launch Review",.tid=0x50000101CDC00,.region=2,.key=0},{.name="Splatoon Pre-Launch Review",.tid=0x50000101CDB00,.region=1,.key=0},{.name="Splatoon Testfire",.tid=0x50000101D6C00,.region=4,.key=0},{.name="Splatoon Testfire",.tid=0x50000101D6B00,.region=2,.key=0},{.name="Splatoon(スプラトゥーン) 試射版 (Splatoon Testfire)",.tid=0x50000101D6A00,.region=1,.key=0},{.name="Splinter Cell Blacklist",.tid=0x500001010E300,.region=2,.key=0},{.name="Splinter Cell Blacklist",.tid=0x5000010112800,.region=1,.key=0},{.name="SpongeBob SquarePants: Plankton's Robotic Revenge",.tid=0x5000010147D00,.region=4,.key=0},{.name="SpongeBob SquarePants: Plankton's Robotic Revenge",.tid=0x5000010146900,.region=2,.key=0},{.name="Sports Connection",.tid=0x5000010111D00,.region=4,.key=0},{.name="Sportsball",.tid=0x5000010189200,.region=2,.key=0},{.name="Spot The Differences: Party!",.tid=0x5000010149200,.region=4,.key=0},{.name="Spot The Differences: Party!",.tid=0x500001014DF00,.region=2,.key=0},{.name="Spy Chameleon",.tid=0x50000101A3800,.region=4,.key=0},{.name="Spy Chameleon",.tid=0x500001019C100,.region=2,.key=0},{.name="Squids Odyssey",.tid=0x5000010157800,.region=4,.key=0},{.name="Squids Odyssey",.tid=0x5000010157A00,.region=2,.key=0},{.name="Star Fox 64",.tid=0x50000101AC400,.region=6,.key=0},{.name="Star Fox Command",.tid=0x50000101AC200,.region=4,.key=0},{.name="Star Fox Command",.tid=0x50000101AC100,.region=2,.key=0},{.name="Star Fox Guard",.tid=0x50000101BED00,.region=4,.key=0},{.name="Star Fox Guard",.tid=0x50000101BEC00,.region=2,.key=0},{.name="Star Fox Guard Special Demo",.tid=0x50000101DCD00,.region=2,.key=0},{.name="Star Fox Guard: Special Demo Version",.tid=0x50000101DCE00,.region=4,.key=0},{.name="Star Fox Zero",.tid=0x50000101B0500,.region=4,.key=0},{.name="Star Fox Zero",.tid=0x50000101B0400,.region=2,.key=0},{.name="Star Fox Zero The Battle Begins + Training",.tid=0x5000010201C00,.region=4,.key=0},{.name="Star Fox Zero: The Battle Begins + Training",.tid=0x5000010201B00,.region=2,.key=0},{.name="Star Ghost",.tid=0x50000101DBC00,.region=4,.key=0},{.name="Star Ghost",.tid=0x50000101DD000,.region=2,.key=0},{.name="Star Sky",.tid=0x50000101D6700,.region=4,.key=0},{.name="Star Sky",.tid=0x50000101D8A00,.region=2,.key=0},{.name="Star Sky 2",.tid=0x50000101F2700,.region=4,.key=0},{.name="Star Sky 2",.tid=0x50000101F3E00,.region=2,.key=0},{.name="Star Splash: Shattered Star",.tid=0x500001020DF00,.region=4,.key=0},{.name="Star Splash: Shattered Star",.tid=0x50000101F0300,.region=2,.key=0},{.name="Star Wars Pinball",.tid=0x5000010132A00,.region=4,.key=0},{.name="Star Wars Pinball",.tid=0x5000010135200,.region=2,.key=0},{.name="StarTropics",.tid=0x50000101B5B00,.region=4,.key=0},{.name="StarTropics",.tid=0x50000101B5A00,.region=2,.key=0},{.name="STARWHAL",.tid=0x50000101D4700,.region=4,.key=0},{.name="STARWHAL",.tid=0x500001019ED00,.region=2,.key=0},{.name="Stealth Inc 2 A Game of Clones",.tid=0x5000010173300,.region=4,.key=0},{.name="Stealth Inc 2 A Game of Clones",.tid=0x5000010176500,.region=2,.key=0},{.name="SteamWorld Dig",.tid=0x500001018D800,.region=4,.key=0},{.name="SteamWorld Dig",.tid=0x500001018F100,.region=2,.key=0},{.name="SteamWorld Heist",.tid=0x50000101A3700,.region=4,.key=0},{.name="SteamWorld Heist",.tid=0x50000101A4000,.region=2,.key=0},{.name="STEEL LORDS",.tid=0x50000101FDE00,.region=4,.key=0},{.name="STEEL LORDS",.tid=0x50000101FE500,.region=2,.key=0},{.name="STEEL RIVALS",.tid=0x50000101F1600,.region=4,.key=0},{.name="STEEL RIVALS",.tid=0x50000101D9500,.region=2,.key=0},{.name="Stick it to the Man",.tid=0x500001016D400,.region=4,.key=0},{.name="Stick it to the Man",.tid=0x500001016E000,.region=2,.key=0},{.name="STINGER",.tid=0x500001018B500,.region=2,.key=0},{.name="Stone Shire",.tid=0x50000101D5100,.region=4,.key=0},{.name="Stone Shire",.tid=0x50000101A4C00,.region=2,.key=0},{.name="Street Fighter 2010: The Final Fight",.tid=0x5000010177F00,.region=4,.key=0},{.name="Street Fighter 2010: The Final Fight",.tid=0x5000010177E00,.region=2,.key=0},{.name="Street Fighter Alpha 2",.tid=0x500001016C600,.region=4,.key=0},{.name="Street Fighter Alpha 2",.tid=0x500001016C500,.region=2,.key=0},{.name="Street Fighter II The World Warrior",.tid=0x5000010115100,.region=4,.key=0},{.name="Street Fighter II The World Warrior",.tid=0x5000010115000,.region=2,.key=0},{.name="Street Fighter II Turbo Hyper Fighting",.tid=0x500001012AD00,.region=4,.key=0},{.name="Street Fighter II Turbo Hyper Fighting",.tid=0x500001012A600,.region=2,.key=0},{.name="Street Gangs",.tid=0x50000101A0600,.region=4,.key=0},{.name="SturmFront - The Mutant War",.tid=0x500001021C500,.region=4,.key=99},{.name="SturmFront - The Mutant War",.tid=0x500001021C300,.region=2,.key=99},{.name="Style Savvy",.tid=0x50000101E6900,.region=2,.key=0},{.name="Sudoku & Permudoku",.tid=0x50000101E8900,.region=4,.key=0},{.name="Sudoku and Permudoku",.tid=0x50000101E4800,.region=2,.key=0},{.name="Sudoku Party",.tid=0x5000010209D00,.region=4,.key=0},{.name="Sudoku Party",.tid=0x5000010209E00,.region=2,.key=0},{.name="Super C",.tid=0x5000010158F00,.region=4,.key=0},{.name="Super C",.tid=0x5000010158E00,.region=2,.key=0},{.name="Super Castlevania IV",.tid=0x5000010130B00,.region=4,.key=0},{.name="Super Castlevania IV",.tid=0x5000010130A00,.region=2,.key=0},{.name="Super Destronaut",.tid=0x50000101B9600,.region=2,.key=0},{.name="Super Destronaut 2: Go Duck Yourself",.tid=0x50000101FB000,.region=4,.key=0},{.name="Super Destronaut 2: Go Duck Yourself",.tid=0x50000101F9400,.region=2,.key=0},{.name="Super Dodge Ball",.tid=0x5000010151200,.region=4,.key=0},{.name="Super Dodge Ball",.tid=0x5000010151100,.region=2,.key=0},{.name="SUPER E.D.F. Earth Defense Force",.tid=0x5000010191200,.region=2,.key=0},{.name="SUPER E.D.F. EARTH DEFENSE FORCE",.tid=0x5000010191100,.region=1,.key=0},{.name="SUPER Food Frenzy",.tid=0x500001021BE00,.region=4,.key=99},{.name="Super Ghouls 'N Ghosts",.tid=0x500001018E500,.region=4,.key=0},{.name="Super Ghouls'n Ghosts",.tid=0x500001011A100,.region=4,.key=0},{.name="Super Ghouls'n Ghosts",.tid=0x500001011A000,.region=2,.key=0},{.name="Super Ghouls'N Ghosts",.tid=0x500001018E400,.region=2,.key=0},{.name="Super Hero Math + Addition",.tid=0x50000101FC600,.region=2,.key=0},{.name="SUPER MARIO 3D WORLD",.tid=0x5000010145D00,.region=4,.key=0},{.name="SUPER MARIO 3D WORLD",.tid=0x5000010145C00,.region=2,.key=0},{.name="Super Mario 64",.tid=0x5000010199500,.region=6,.key=0},{.name="Super Mario 64 DS",.tid=0x50000101C3500,.region=4,.key=0},{.name="Super Mario 64 DS",.tid=0x50000101C3400,.region=2,.key=0},{.name="Super Mario Advance",.tid=0x5000010173700,.region=4,.key=0},{.name="Super Mario Advance",.tid=0x5000010173600,.region=2,.key=0},{.name="Super Mario Advance 4: Super Mario Bros. 3",.tid=0x5000010169E00,.region=4,.key=0},{.name="Super Mario Advance 4: Super Mario Bros. 3",.tid=0x5000010169D00,.region=2,.key=0},{.name="Super Mario Ball",.tid=0x5000010174100,.region=4,.key=0},{.name="Super Mario Bros.",.tid=0x5000010106E00,.region=4,.key=0},{.name="Super Mario Bros.",.tid=0x5000010106D00,.region=2,.key=0},{.name="Super Mario Bros. 2",.tid=0x5000010108600,.region=4,.key=0},{.name="Super Mario Bros. 2",.tid=0x5000010108500,.region=2,.key=0},{.name="Super Mario Bros. 3",.tid=0x5000010107100,.region=4,.key=0},{.name="Super Mario Bros. 3",.tid=0x5000010107000,.region=2,.key=0},{.name="Super Mario Bros.: The Lost Levels",.tid=0x500001012F800,.region=4,.key=0},{.name="Super Mario Bros.: The Lost Levels",.tid=0x500001012F700,.region=2,.key=0},{.name="Super Mario Galaxy",.tid=0x50000101BFF00,.region=4,.key=0},{.name="Super Mario Galaxy",.tid=0x50000101BFE00,.region=2,.key=0},{.name="SUPER MARIO GALAXY 2",.tid=0x500001019CD00,.region=4,.key=0},{.name="Super Mario Galaxy 2",.tid=0x500001019CC00,.region=2,.key=0},{.name="Super Mario Kart",.tid=0x500001010AA00,.region=4,.key=0},{.name="Super Mario Kart",.tid=0x500001010A900,.region=2,.key=0},{.name="Super Mario Maker",.tid=0x500001018DD00,.region=4,.key=0},{.name="Super Mario Maker",.tid=0x500001018DC00,.region=2,.key=0},{.name="Super Mario Maker (Media)",.tid=0x500001F600800,.region=4,.key=0},{.name="Super Mario Maker (Media)",.tid=0x500001F600700,.region=2,.key=0},{.name="Super Mario Maker (スーパーマリオメーカー)",.tid=0x500001018DB00,.region=1,.key=0},{.name="Super Mario RPG: Legend of the Seven Stars",.tid=0x5000010109300,.region=4,.key=0},{.name="Super Mario RPG: Legend of the Seven Stars",.tid=0x5000010109200,.region=2,.key=0},{.name="Super Mario World",.tid=0x5000010109000,.region=4,.key=0},{.name="Super Mario World",.tid=0x5000010108F00,.region=2,.key=0},{.name="Super Mario World: Super Mario Advance 2",.tid=0x5000010172D00,.region=4,.key=0},{.name="Super Mario World: Super Mario Advance 2",.tid=0x500001016F600,.region=2,.key=0},{.name="Super Meat Boy",.tid=0x50000101F4000,.region=4,.key=0},{.name="Super Meat Boy",.tid=0x50000101F3F00,.region=2,.key=0},{.name="Super Metroid",.tid=0x500001010A700,.region=4,.key=0},{.name="Super Metroid",.tid=0x500001010A600,.region=2,.key=0},{.name="Super Paper Mario",.tid=0x50000101BD200,.region=4,.key=0},{.name="Super Paper Mario",.tid=0x50000101BD100,.region=2,.key=0},{.name="Super Punch-Out!!",.tid=0x5000010159200,.region=4,.key=0},{.name="Super Punch-Out!!",.tid=0x5000010159100,.region=2,.key=0},{.name="SUPER ROBO MOUSE",.tid=0x500001019B900,.region=4,.key=0},{.name="SUPER ROBO MOUSE",.tid=0x500001017A900,.region=2,.key=0},{.name="Super Smash Bros. for Wii U",.tid=0x5000010145000,.region=4,.key=0},{.name="Super Smash Bros. for Wii U",.tid=0x5000010144F00,.region=2,.key=0},{.name="SUPER STAR SOLDIER",.tid=0x5000010164C00,.region=4,.key=0},{.name="SUPER STAR SOLDIER",.tid=0x5000010164B00,.region=2,.key=0},{.name="Super Street Fighter Ⅱ The New Challengers",.tid=0x500001011A500,.region=4,.key=0},{.name="Super Street Fighter Ⅱ The New Challengers",.tid=0x500001011A400,.region=2,.key=0},{.name="SUPER STREET FIGHTER Ⅱ TURBO REVIVAL",.tid=0x500001019BC00,.region=4,.key=0},{.name="SUPER STREET FIGHTER Ⅱ TURBO REVIVAL",.tid=0x500001019BD00,.region=2,.key=0},{.name="Super Street FighterⅡ X Revival",.tid=0x500001019BE00,.region=1,.key=0},{.name="Super Toy Cars",.tid=0x500001016D500,.region=4,.key=0},{.name="Super Toy Cars",.tid=0x500001016DE00,.region=2,.key=0},{.name="Super Toy Cars",.tid=0x50000101A2F00,.region=1,.key=0},{.name="Super Ultra Star Shooter",.tid=0x5000010213500,.region=4,.key=0},{.name="Super Ultra Star Shooter",.tid=0x5000010213C00,.region=2,.key=0},{.name="SUPER 信長の野望・全国版 (Nobunaga's Ambition)",.tid=0x5000010171B00,.region=1,.key=0},{.name="SUPER魂斗羅 (Super Contra)",.tid=0x5000010158D00,.region=1,.key=0},{.name="SURFIN' SAM ATTACK OF THE AQUALITES",.tid=0x50000101F6000,.region=2,.key=0},{.name="Suspension Railroad Simulator",.tid=0x50000101A6700,.region=4,.key=0},{.name="Suspension Railroad Simulator",.tid=0x50000101A8700,.region=2,.key=0},{.name="Swap Blocks",.tid=0x5000010213600,.region=4,.key=0},{.name="Swap Blocks",.tid=0x500001020F400,.region=2,.key=0},{.name="Swap Fire",.tid=0x50000101DAC00,.region=2,.key=0},{.name="Sweetest Thing",.tid=0x50000101F4300,.region=4,.key=0},{.name="Sweetest Thing",.tid=0x50000101F4800,.region=2,.key=0},{.name="Swords & Soldiers",.tid=0x500001017C800,.region=4,.key=0},{.name="Swords & Soldiers",.tid=0x500001017C700,.region=2,.key=0},{.name="Swords & Soldiers",.tid=0x50000101CE600,.region=1,.key=0},{.name="Swords & Soldiers II",.tid=0x50000101C6E00,.region=4,.key=0},{.name="Swords & Soldiers II",.tid=0x50000101A1B00,.region=2,.key=0},{.name="Swords & Soldiers II",.tid=0x50000101DDD00,.region=1,.key=0},{.name="TABLETOP GALLERY",.tid=0x50000101B5F00,.region=4,.key=0},{.name="TABLETOP GALLERY",.tid=0x50000101C6900,.region=2,.key=0},{.name="Tachyon Project",.tid=0x500001019B200,.region=4,.key=0},{.name="Tachyon Project",.tid=0x500001019B000,.region=2,.key=0},{.name="Tachyon Project",.tid=0x500001020C800,.region=1,.key=0},{.name="Tadpole Treble",.tid=0x50000101A6000,.region=2,.key=0},{.name="Tallowmere",.tid=0x50000101F4900,.region=2,.key=0},{.name="TANK! TANK! TANK! (DL)",.tid=0x5000010128C00,.region=4,.key=0},{.name="TANK! TANK! TANK! (DL)",.tid=0x5000010133800,.region=2,.key=0},{.name="TAP TAP ARCADE",.tid=0x50000101E7C00,.region=4,.key=0},{.name="TAP TAP ARCADE",.tid=0x50000101E7D00,.region=2,.key=0},{.name="TAP TAP ARCADE 2",.tid=0x50000101F8D00,.region=4,.key=0},{.name="TAP TAP ARCADE 2",.tid=0x50000101F7C00,.region=2,.key=0},{.name="TECMO BOWL",.tid=0x50000101C2700,.region=4,.key=0},{.name="TECMO BOWL",.tid=0x50000101C2600,.region=2,.key=0},{.name="TEKKEN TAG TOURNAMENT 2 Wii U EDITION",.tid=0x500001010F800,.region=4,.key=0},{.name="TEKKEN TAG TOURNAMENT 2 Wii U EDITION",.tid=0x5000010110000,.region=2,.key=0},{.name="TEMPLE OF YOG",.tid=0x50000101E8500,.region=4,.key=0},{.name="TEMPLE OF YOG",.tid=0x5000010189A00,.region=2,.key=0},{.name="Tengami",.tid=0x5000010155B00,.region=4,.key=0},{.name="Tengami",.tid=0x500001015B100,.region=2,.key=0},{.name="TENGAMI",.tid=0x50000101B6500,.region=1,.key=0},{.name="TENNIS",.tid=0x5000010149D00,.region=4,.key=0},{.name="TENNIS",.tid=0x5000010149C00,.region=2,.key=0},{.name="Terraria",.tid=0x5000010198F00,.region=4,.key=0},{.name="Terraria",.tid=0x500001019C300,.region=2,.key=0},{.name="Teslagrad",.tid=0x5000010161B00,.region=4,.key=0},{.name="Teslagrad",.tid=0x500001018A100,.region=2,.key=0},{.name="Teslagrad",.tid=0x50000101BB400,.region=1,.key=0},{.name="Teslapunk",.tid=0x5000010200400,.region=4,.key=0},{.name="Teslapunk",.tid=0x500001018AF00,.region=2,.key=0},{.name="Teslapunk",.tid=0x5000010209300,.region=1,.key=0},{.name="Test Your Mind",.tid=0x50000101FF900,.region=4,.key=0},{.name="Test Your Mind",.tid=0x50000101D6200,.region=2,.key=0},{.name="Tested with robots !",.tid=0x50000101A2400,.region=4,.key=0},{.name="TETRAMINOS",.tid=0x5000010200B00,.region=4,.key=0},{.name="TETRAMINOS",.tid=0x50000101FFE00,.region=2,.key=0},{.name="Tetrobot & Co.",.tid=0x500001018DE00,.region=4,.key=0},{.name="Tetrobot & Co.",.tid=0x500001018ED00,.region=2,.key=0},{.name="THE ADVENTURES OF BAYOU BiLLY",.tid=0x5000010186400,.region=4,.key=0},{.name="THE ADVENTURES OF BAYOU BiLLY",.tid=0x5000010186300,.region=2,.key=0},{.name="The Amazing Spider-Man",.tid=0x5000010128300,.region=4,.key=0},{.name="The Amazing Spider-Man",.tid=0x500001011C300,.region=2,.key=0},{.name="The Amazing Spider-Man 2™",.tid=0x500001016D600,.region=4,.key=0},{.name="The Amazing Spider-Man 2™",.tid=0x5000010146A00,.region=2,.key=0},{.name="The Beggar's Ride",.tid=0x50000101EC700,.region=4,.key=0},{.name="The Beggar's Ride",.tid=0x50000101EB300,.region=2,.key=0},{.name="The Binding of Isaac: Rebirth",.tid=0x50000101C9B00,.region=4,.key=0},{.name="The Binding of Isaac: Rebirth",.tid=0x50000101A3C00,.region=2,.key=0},{.name="The Book of Unwritten Tales 2",.tid=0x50000101E9F00,.region=4,.key=0},{.name="The Book of Unwritten Tales 2",.tid=0x50000101EA200,.region=2,.key=0},{.name="The Bridge",.tid=0x50000101CBD00,.region=4,.key=0},{.name="The Bridge",.tid=0x50000101C5400,.region=2,.key=0},{.name="The Cave",.tid=0x500001012B500,.region=4,.key=0},{.name="The Cave",.tid=0x500001010FA00,.region=2,.key=0},{.name="THE CROODS",.tid=0x500001012C500,.region=4,.key=0},{.name="THE CROODS",.tid=0x5000010112000,.region=2,.key=0},{.name="The Deer God",.tid=0x50000101E7300,.region=2,.key=0},{.name="The Fall",.tid=0x50000101B2800,.region=4,.key=0},{.name="The Fall",.tid=0x5000010189300,.region=2,.key=0},{.name="The First Skunk Bundle",.tid=0x50000101FC700,.region=2,.key=0},{.name="The Gem Collector",.tid=0x5000010209000,.region=4,.key=0},{.name="The Gem Collector",.tid=0x50000101E5000,.region=2,.key=0},{.name="The Girl and the Robot",.tid=0x5000010210800,.region=4,.key=0},{.name="The Girl and the Robot",.tid=0x50000101F9D00,.region=2,.key=0},{.name="THE IGNITION FACTOR",.tid=0x5000010196900,.region=2,.key=0},{.name="The Legend of The Mystical Ninja",.tid=0x5000010114D00,.region=4,.key=0},{.name="The Legend of The Mystical Ninja",.tid=0x5000010114E00,.region=4,.key=0},{.name="The Legend of The Mystical Ninja",.tid=0x5000010114C00,.region=2,.key=0},{.name="The Legend of Zelda",.tid=0x500001012FB00,.region=4,.key=0},{.name="The Legend of Zelda",.tid=0x500001012FA00,.region=2,.key=0},{.name="The Legend of Zelda Breath of the Wild",.tid=0x50000101C9500,.region=4,.key=0},{.name="The Legend of Zelda Breath of the Wild",.tid=0x50000101C9400,.region=2,.key=0},{.name="THE LEGEND OF ZELDA The Wind Waker HD",.tid=0x5000010143600,.region=4,.key=0},{.name="THE LEGEND OF ZELDA The Wind Waker HD",.tid=0x5000010143500,.region=2,.key=0},{.name="THE LEGEND OF ZELDA Twilight Princess HD",.tid=0x500001019E600,.region=4,.key=0},{.name="THE LEGEND OF ZELDA Twilight Princess HD",.tid=0x500001019E500,.region=2,.key=0},{.name="The Legend of Zelda: A Link to the Past",.tid=0x5000010109900,.region=4,.key=0},{.name="The Legend of Zelda: A Link to the Past",.tid=0x5000010109A00,.region=4,.key=0},{.name="The Legend of Zelda: A Link to the Past",.tid=0x5000010109B00,.region=4,.key=0},{.name="The Legend of Zelda: A Link to the Past",.tid=0x5000010109800,.region=2,.key=0},{.name="The Legend of Zelda: Majora's Mask",.tid=0x50000101BB000,.region=4,.key=0},{.name="The Legend of Zelda: Majora's Mask",.tid=0x50000101BAF00,.region=2,.key=0},{.name="The Legend of Zelda: Ocarina of Time",.tid=0x5000010199C00,.region=4,.key=0},{.name="The Legend of Zelda: Ocarina of Time",.tid=0x5000010199B00,.region=2,.key=0},{.name="The Legend of Zelda: Phantom Hourglass",.tid=0x50000101C3800,.region=4,.key=0},{.name="The Legend of Zelda: Phantom Hourglass",.tid=0x50000101C3700,.region=2,.key=0},{.name="The Legend of Zelda: Skyward Sword",.tid=0x50000101B1100,.region=4,.key=0},{.name="The Legend of Zelda: Skyward Sword",.tid=0x50000101B1000,.region=2,.key=0},{.name="The Legend of Zelda: Spirit Tracks",.tid=0x50000101B8D00,.region=4,.key=0},{.name="The Legend of Zelda: Spirit Tracks",.tid=0x50000101B8C00,.region=2,.key=0},{.name="The Legend of Zelda: The Minish Cap",.tid=0x500001015E500,.region=4,.key=0},{.name="The Legend of Zelda: The Minish Cap",.tid=0x500001015E400,.region=2,.key=0},{.name="The Legend of Zelda™: Hyrule Historia",.tid=0x500001014CA00,.region=2,.key=0},{.name="The LEGO® Movie Videogame",.tid=0x500001014E000,.region=4,.key=0},{.name="The LEGO® Movie Videogame",.tid=0x500001014DE00,.region=2,.key=0},{.name="The Letter",.tid=0x5000010181700,.region=2,.key=0},{.name="The Mysterious Cities of Gold: Secret Paths",.tid=0x5000010154D00,.region=4,.key=0},{.name="The Mysterious Cities of Gold: Secret Paths",.tid=0x5000010156500,.region=2,.key=0},{.name="The Peanuts® Movie: Snoopy's Grand Adventure",.tid=0x50000101D5000,.region=4,.key=0},{.name="The Peanuts® Movie: Snoopy's Grand Adventure",.tid=0x50000101C4200,.region=2,.key=0},{.name="The Perplexing Orb",.tid=0x50000101C3000,.region=2,.key=0},{.name="The Quiet Collection",.tid=0x50000101D3900,.region=4,.key=0},{.name="The Quiet Collection",.tid=0x50000101D0100,.region=2,.key=0},{.name="The Rivers of Alice : Extended Version",.tid=0x50000101D9200,.region=4,.key=0},{.name="The Rivers of Alice : Extended Version",.tid=0x50000101CCD00,.region=2,.key=0},{.name="The Smurfs™ 2",.tid=0x5000010115D00,.region=4,.key=0},{.name="The Smurfs™ 2",.tid=0x5000010113300,.region=2,.key=0},{.name="The Stonecutter",.tid=0x5000010210700,.region=4,.key=0},{.name="The Stonecutter",.tid=0x50000101C7300,.region=2,.key=0},{.name="The Swapper",.tid=0x500001018C600,.region=4,.key=0},{.name="The Swapper",.tid=0x500001018D300,.region=2,.key=0},{.name="The Swapper",.tid=0x500001018C700,.region=1,.key=0},{.name="The Swindle",.tid=0x50000101C0C00,.region=4,.key=0},{.name="The Swindle",.tid=0x50000101C0B00,.region=2,.key=0},{.name="The Voice",.tid=0x5000010183300,.region=2,.key=0},{.name="The Wonderful 101",.tid=0x5000010135300,.region=4,.key=0},{.name="The Wonderful 101",.tid=0x500001012DC00,.region=2,.key=0},{.name="The Wonderful 101",.tid=0x5000010116300,.region=1,.key=0},{.name="The Wonderful 101 無料お試し版 (The Wonderful 101 (Trial))",.tid=0x5000010185600,.region=1,.key=0},{.name="THE 功夫 (China Warrior)",.tid=0x500001015BD00,.region=1,.key=0},{.name="Thomas Was Alone",.tid=0x500001018A900,.region=4,.key=0},{.name="Thomas Was Alone",.tid=0x500001018B000,.region=2,.key=0},{.name="Tilelicious Delicious Tiles",.tid=0x50000101AFA00,.region=2,.key=0},{.name="Tiny Galaxy",.tid=0x5000010193D00,.region=2,.key=0},{.name="TITANS TOWER",.tid=0x5000010201600,.region=4,.key=0},{.name="TITANS TOWER",.tid=0x5000010201500,.region=2,.key=0},{.name="TNT Racers",.tid=0x5000010142800,.region=4,.key=0},{.name="TNT Racers",.tid=0x500001014F000,.region=2,.key=0},{.name="Toby: The Secret Mine",.tid=0x50000101FDB00,.region=4,.key=0},{.name="Toby: The Secret Mine",.tid=0x50000101F8800,.region=2,.key=0},{.name="Toki Tori",.tid=0x5000010152400,.region=4,.key=0},{.name="Toki Tori",.tid=0x5000010152300,.region=2,.key=0},{.name="Toki Tori 2",.tid=0x5000010116500,.region=4,.key=0},{.name="Toki Tori 2",.tid=0x5000010128700,.region=2,.key=0},{.name="TOKI TORI 2+ 秘められた謎と不思議な島",.tid=0x500001017CA00,.region=1,.key=0},{.name="Tokyo Mirage Sessions #FE",.tid=0x50000101ED800,.region=2,.key=0},{.name="Tokyo Mirage Sessions ♯FE",.tid=0x50000101ED700,.region=4,.key=0},{.name="Tom Clancy's Splinter Cell Blacklist",.tid=0x500001012AC00,.region=4,.key=0},{.name="Tomeling in Trouble",.tid=0x50000101AE200,.region=2,.key=0},{.name="Toon Tanks",.tid=0x50000101FEC00,.region=4,.key=0},{.name="Toon Tanks",.tid=0x50000101A4400,.region=2,.key=0},{.name="Toon War",.tid=0x5000010213100,.region=4,.key=0},{.name="Toon War",.tid=0x500001020CB00,.region=2,.key=0},{.name="TOSS N GO",.tid=0x500001018F900,.region=2,.key=0},{.name="Totem Topple",.tid=0x50000101D7400,.region=4,.key=0},{.name="Totem Topple",.tid=0x50000101BAA00,.region=2,.key=0},{.name="Toto Temple Deluxe",.tid=0x50000101C7F00,.region=4,.key=0},{.name="Toto Temple Deluxe",.tid=0x50000101AE300,.region=2,.key=0},{.name="TOUCH SELECTIONS",.tid=0x50000101E7E00,.region=4,.key=0},{.name="TOUCH SELECTIONS",.tid=0x50000101E7F00,.region=2,.key=0},{.name="TRANSFORMERS PRIME",.tid=0x500001010F400,.region=4,.key=0},{.name="TRANSFORMERS PRIME",.tid=0x500001010B500,.region=2,.key=0},{.name="TRANSFORMERS: Rise of the Dark Spark",.tid=0x5000010173400,.region=4,.key=0},{.name="TRANSFORMERS: Rise of the Dark Spark",.tid=0x500001014C100,.region=2,.key=0},{.name="Trauma Team",.tid=0x50000101B7800,.region=2,.key=0},{.name="Tri-Strip",.tid=0x50000101B2E00,.region=2,.key=0},{.name="Trine 2 Director's Cut",.tid=0x5000010112200,.region=4,.key=0},{.name="Trine 2 Director's Cut",.tid=0x5000010128A00,.region=2,.key=0},{.name="Trine Enchanted Edition",.tid=0x5000010189C00,.region=4,.key=0},{.name="Trine Enchanted Edition",.tid=0x5000010189E00,.region=2,.key=0},{.name="Triple Breakout",.tid=0x500001020FB00,.region=4,.key=0},{.name="Triple Breakout",.tid=0x500001020FF00,.region=2,.key=0},{.name="Tumblestone",.tid=0x50000101F6E00,.region=4,.key=0},{.name="Tumblestone",.tid=0x50000101DAD00,.region=2,.key=0},{.name="Turbo: Super Stunt Squad",.tid=0x5000010136700,.region=4,.key=0},{.name="Turbo: Super Stunt Squad",.tid=0x5000010133900,.region=2,.key=0},{.name="Turtle Tale",.tid=0x500001017E000,.region=4,.key=0},{.name="Turtle Tale",.tid=0x500001017B200,.region=2,.key=0},{.name="Twin Robots",.tid=0x50000101F8900,.region=4,.key=0},{.name="Twin Robots",.tid=0x50000101F8C00,.region=2,.key=0},{.name="Twisted Fusion",.tid=0x5000010200700,.region=4,.key=0},{.name="Twisted Fusion",.tid=0x5000010193E00,.region=2,.key=0},{.name="Typoman",.tid=0x50000101CE000,.region=4,.key=0},{.name="Typoman",.tid=0x50000101C6C00,.region=2,.key=0},{.name="Typoman Event Preview",.tid=0x50000101CD400,.region=4,.key=0},{.name="U Host",.tid=0x50000101E9700,.region=4,.key=0},{.name="U Host",.tid=0x5000010183400,.region=2,.key=0},{.name="U-EXPLORE SPACE ADVENTURES",.tid=0x50000101E0000,.region=1,.key=0},{.name="Ufouria: THE SAGA",.tid=0x5000010171300,.region=4,.key=0},{.name="Ufouria: The Saga",.tid=0x5000010171200,.region=2,.key=0},{.name="Ultratron",.tid=0x50000101A1400,.region=4,.key=0},{.name="Ultratron",.tid=0x50000101A1C00,.region=2,.key=0},{.name="Unalive",.tid=0x5000010216F00,.region=4,.key=0},{.name="Unalive",.tid=0x5000010217100,.region=2,.key=0},{.name="Uncharted Waters: New Horizons",.tid=0x5000010141300,.region=4,.key=0},{.name="Uncharted Waters: New Horizons",.tid=0x5000010141200,.region=2,.key=0},{.name="Underground",.tid=0x5000010187100,.region=4,.key=0},{.name="Underground",.tid=0x50000101BCD00,.region=2,.key=0},{.name="Unepic EnjoyUp Games",.tid=0x5000010145800,.region=4,.key=0},{.name="Unepic EnjoyUp Games",.tid=0x5000010169600,.region=4,.key=0},{.name="Unepic EnjoyUp Games",.tid=0x5000010132800,.region=2,.key=0},{.name="UPLAY",.tid=0x500001011B700,.region=4,.key=0},{.name="Uplay",.tid=0x500001011BA00,.region=2,.key=0},{.name="Uplay",.tid=0x5000010148F00,.region=1,.key=0},{.name="Urban Champion",.tid=0x500001014A300,.region=4,.key=0},{.name="Urban Champion",.tid=0x500001014A200,.region=2,.key=0},{.name="Use Your Words",.tid=0x500001020D600,.region=4,.key=0},{.name="Use Your Words",.tid=0x500001020A800,.region=2,.key=0},{.name="uWordsmith",.tid=0x50000101A8000,.region=2,.key=0},{.name="Vaccine",.tid=0x500001020B300,.region=4,.key=0},{.name="Vaccine",.tid=0x500001020B200,.region=2,.key=0},{.name="Vector Assault",.tid=0x50000101AA200,.region=2,.key=0},{.name="Vegas Stakes",.tid=0x5000010137500,.region=4,.key=0},{.name="Vegas Stakes",.tid=0x5000010137400,.region=2,.key=0},{.name="Vektor Wars",.tid=0x50000101DC200,.region=4,.key=0},{.name="Vektor Wars",.tid=0x50000101DC000,.region=2,.key=0},{.name="VICTORY RUN",.tid=0x5000010166400,.region=4,.key=0},{.name="VICTORY RUN",.tid=0x5000010166300,.region=2,.key=0},{.name="VIGILANTE",.tid=0x5000010163500,.region=4,.key=0},{.name="VIGILANTE",.tid=0x5000010163400,.region=2,.key=0},{.name="Volcanic Field 2",.tid=0x50000101EB400,.region=2,.key=0},{.name="Völgarr the Viking",.tid=0x5000010215000,.region=4,.key=0},{.name="Volgarr the Viking",.tid=0x50000101F6800,.region=2,.key=0},{.name="Volleyball",.tid=0x500001015F100,.region=4,.key=0},{.name="Volleyball",.tid=0x500001015F000,.region=2,.key=0},{.name="VoxelMaker",.tid=0x50000101DCA00,.region=4,.key=0},{.name="VoxelMaker",.tid=0x50000101DB800,.region=2,.key=0},{.name="VRog",.tid=0x50000101FF000,.region=4,.key=0},{.name="VRog",.tid=0x5000010209600,.region=2,.key=0},{.name="VS. Excitebike",.tid=0x50000101B5800,.region=2,.key=0},{.name="VS.エキサイトバイク (VS. Excitebike)",.tid=0x50000101B5700,.region=1,.key=0},{.name="WALL BALL",.tid=0x500001020E600,.region=4,.key=0},{.name="WALL BALL",.tid=0x500001020ED00,.region=2,.key=0},{.name="Wario Land 4",.tid=0x500001016A100,.region=4,.key=0},{.name="Wario Land 4",.tid=0x500001016A000,.region=2,.key=0},{.name="Wario Land: Shake It",.tid=0x50000101BDF00,.region=2,.key=0},{.name="Wario Land: The Shake Dimension",.tid=0x50000101BE000,.region=4,.key=0},{.name="WARIO WARE : SMOOTH MOVES",.tid=0x50000101ECB00,.region=4,.key=0},{.name="WARIO WARE : SMOOTH MOVES",.tid=0x50000101ECA00,.region=2,.key=0},{.name="Wario: Master of Disguise",.tid=0x50000101ABF00,.region=4,.key=0},{.name="Wario: Master of Disguise",.tid=0x50000101ABE00,.region=2,.key=0},{.name="Wario's Woods",.tid=0x5000010150900,.region=4,.key=0},{.name="Wario's Woods",.tid=0x5000010150800,.region=2,.key=0},{.name="WarioWare, Inc. Minigame Mania",.tid=0x5000010156F00,.region=4,.key=0},{.name="WarioWare, Inc.: Mega Microgame$",.tid=0x5000010156E00,.region=2,.key=0},{.name="WarioWare: Touched!",.tid=0x50000101A2000,.region=4,.key=0},{.name="WarioWare: Touched!",.tid=0x50000101A1F00,.region=2,.key=0},{.name="WARRIORS OROCHI 3 Hyper(EU)",.tid=0x5000010112B00,.region=4,.key=0},{.name="WARRIORS OROCHI 3 Hyper(NA)",.tid=0x5000010110200,.region=2,.key=0},{.name="WATCH_DOGS",.tid=0x5000010140500,.region=4,.key=0},{.name="WATCH_DOGS",.tid=0x5000010142000,.region=2,.key=0},{.name="WATCH_DOGS",.tid=0x500001014C000,.region=1,.key=0},{.name="Watchup",.tid=0x5000010198700,.region=2,.key=0},{.name="Wave Race 64",.tid=0x50000101AC600,.region=6,.key=0},{.name="Wheel of Fortune",.tid=0x5000010111200,.region=2,.key=0},{.name="Whispering Willows",.tid=0x50000101D4800,.region=4,.key=0},{.name="Whispering Willows",.tid=0x50000101C7E00,.region=2,.key=0},{.name="WICKED MONSTERS BLAST! HD PLUS",.tid=0x50000101C8100,.region=2,.key=0},{.name="WICKED MONSTERS BLAST! HD PLUS",.tid=0x50000101C8B00,.region=4,.key=0},{.name="Wii Fit U",.tid=0x5000010102400,.region=4,.key=0},{.name="Wii Fit U",.tid=0x5000010102300,.region=2,.key=0},{.name="Wii Fit U",.tid=0x5000010102200,.region=1,.key=0},{.name="Wii Fit U (CP)",.tid=0x5000010159800,.region=1,.key=0},{.name="Wii Fit U (Free)",.tid=0x5000010159900,.region=2,.key=0},{.name="Wii Fit U (promo)",.tid=0x5000010159A00,.region=4,.key=0},{.name="Wii Fit U Info",.tid=0x500001016AA00,.region=4,.key=0},{.name="Wii Fit U Info",.tid=0x500001016A900,.region=2,.key=0},{.name="Wii Fit U Quick Check",.tid=0x5000010132700,.region=4,.key=0},{.name="Wii Fit U Quick Check",.tid=0x5000010132600,.region=2,.key=0},{.name="Wii Fit U デイリーチェック (Wii Fit U Quick Check)",.tid=0x5000010132500,.region=1,.key=0},{.name="Wii Fit Uのご案内 (Wii Fit U Information)",.tid=0x500001016A800,.region=1,.key=0},{.name="Wii KARAOKE U by JOYSOUND",.tid=0x5000010149600,.region=4,.key=0},{.name="Wii Party U",.tid=0x5000010137E00,.region=4,.key=0},{.name="Wii Party U",.tid=0x5000010137D00,.region=2,.key=0},{.name="Wii Party U",.tid=0x500001011A800,.region=1,.key=0},{.name="Wii Sports Club",.tid=0x5000010144E00,.region=4,.key=0},{.name="Wii Sports Club",.tid=0x5000010144D00,.region=2,.key=0},{.name="Wii Sports Club",.tid=0x500001012F100,.region=1,.key=0},{.name="Wii Sports Club Lite",.tid=0x5000010171E00,.region=1,.key=0},{.name="Wii Street U powered by Google",.tid=0x5000010132100,.region=4,.key=0},{.name="Wii Street U powered by Google",.tid=0x5000010132000,.region=2,.key=0},{.name="Wii Street U powered by Google",.tid=0x500001012D300,.region=1,.key=0},{.name="Wii U Panorama View Bird's-Eye View",.tid=0x5000010131100,.region=2,.key=0},{.name="Wii U Panorama View Birds in Flight",.tid=0x5000010131500,.region=4,.key=0},{.name="Wii U Panorama View Carnival in Rio",.tid=0x5000010131200,.region=2,.key=0},{.name="Wii U Panorama View Carnival!",.tid=0x5000010131600,.region=4,.key=0},{.name="Wii U Panorama View Double-Decker Tour",.tid=0x5000010131400,.region=4,.key=0},{.name="Wii U Panorama View Double-Decker Tour",.tid=0x5000010131000,.region=2,.key=0},{.name="Wii U Panorama View Kyoto Sightseeing",.tid=0x5000010131300,.region=2,.key=0},{.name="Wii U Panorama View Rickshaw Around Kyoto",.tid=0x5000010131700,.region=4,.key=0},{.name="Wii U Panorama View Trailer",.tid=0x5000010131C00,.region=4,.key=0},{.name="Wii U Panorama View Trailer",.tid=0x5000010131B00,.region=2,.key=0},{.name="Wii U Panorama View リオでカーニバル! (Carnival in Rio)",.tid=0x500001012D600,.region=1,.key=0},{.name="Wii U Panorama View ロンドンバスでいこう (Double-Decker Tour)",.tid=0x500001012D400,.region=1,.key=0},{.name="Wii U Panorama View 予告編 (Trailer)",.tid=0x5000010129600,.region=1,.key=0},{.name="Wii U Panorama View 京の町ゆく人力車 (Kyoto Sightseeing)",.tid=0x500001012D700,.region=1,.key=0},{.name="Wii U Panorama View 鳥の飛行隊 (Bird's-Eye View)",.tid=0x500001012D500,.region=1,.key=0},{.name="Wiiであそぶ ドンキーコングジャングルビート (Donkey Kong Jungle Beat)",.tid=0x50000101ED100,.region=1,.key=0},{.name="Wild Gunman",.tid=0x50000101A7300,.region=4,.key=0},{.name="Wild Gunman",.tid=0x50000101A7200,.region=2,.key=0},{.name="Wild Guns",.tid=0x5000010178400,.region=4,.key=0},{.name="Wild Guns",.tid=0x5000010178300,.region=2,.key=0},{.name="Wind-up Knight 2",.tid=0x50000101CF700,.region=2,.key=0},{.name="Wings of Magloryx",.tid=0x500001016AE00,.region=2,.key=0},{.name="WinKings",.tid=0x500001020DC00,.region=4,.key=0},{.name="WinKings",.tid=0x500001020CC00,.region=2,.key=0},{.name="Wipeout 3",.tid=0x500001010E800,.region=2,.key=0},{.name="Wipeout Create & Crash",.tid=0x5000010145500,.region=2,.key=0},{.name="Woah Dave!",.tid=0x50000101BCE00,.region=2,.key=0},{.name="Wooden Sen'SeY",.tid=0x5000010152700,.region=4,.key=0},{.name="Wooden Sen'SeY",.tid=0x5000010158300,.region=2,.key=0},{.name="Word Logic by POWGI",.tid=0x50000101FFA00,.region=4,.key=0},{.name="Word Logic by POWGI",.tid=0x50000101FCE00,.region=2,.key=0},{.name="Word Party",.tid=0x50000101C4A00,.region=4,.key=0},{.name="Word Party",.tid=0x50000101C5500,.region=2,.key=0},{.name="Word Puzzles by POWGI",.tid=0x50000101CF900,.region=4,.key=0},{.name="Word Puzzles by POWGI",.tid=0x50000101CFA00,.region=2,.key=0},{.name="Word Search by POWGI",.tid=0x50000101C3900,.region=4,.key=0},{.name="Word Search by POWGI",.tid=0x50000101BCF00,.region=2,.key=0},{.name="Words Up! Academy",.tid=0x500001020D200,.region=4,.key=0},{.name="Words Up! Academy",.tid=0x5000010208900,.region=2,.key=0},{.name="WORLD SPORTS COMPETITION",.tid=0x5000010167A00,.region=4,.key=0},{.name="WORLD SPORTS COMPETITION",.tid=0x5000010167900,.region=2,.key=0},{.name="Wrecking Crew",.tid=0x500001012E000,.region=4,.key=0},{.name="Wrecking Crew",.tid=0x500001012DF00,.region=2,.key=0},{.name="Xavier",.tid=0x500001018F300,.region=2,.key=0},{.name="Xenoblade Chronicles",.tid=0x500001019D900,.region=4,.key=0},{.name="Xenoblade Chronicles",.tid=0x500001019D800,.region=2,.key=0},{.name="Xenoblade Chronicles X",.tid=0x50000101C4C00,.region=4,.key=0},{.name="Xenoblade Chronicles X",.tid=0x50000101C4D00,.region=2,.key=0},{.name="XenobladeX",.tid=0x5000010116100,.region=1,.key=0},{.name="Xeodrifter™",.tid=0x50000101D1600,.region=2,.key=0},{.name="Xevious",.tid=0x5000010114000,.region=4,.key=0},{.name="Xevious",.tid=0x5000010113F00,.region=2,.key=0},{.name="XType Plus",.tid=0x500001016E200,.region=4,.key=0},{.name="XType Plus",.tid=0x5000010170400,.region=2,.key=0},{.name="XType+",.tid=0x50000101A2E00,.region=1,.key=0},{.name="Y.A.S.G",.tid=0x5000010210500,.region=4,.key=0},{.name="Y.A.S.G",.tid=0x5000010207700,.region=2,.key=0},{.name="Year Walk",.tid=0x50000101D4B00,.region=4,.key=0},{.name="Year Walk",.tid=0x50000101CA600,.region=2,.key=0},{.name="Year Walk 最後の啓示",.tid=0x50000101C4500,.region=1,.key=0},{.name="YNN",.tid=0x5000010102A00,.region=1,.key=0},{.name="Yoshi",.tid=0x5000010114200,.region=2,.key=0},{.name="Yoshi Touch & Go",.tid=0x5000010179F00,.region=4,.key=0},{.name="Yoshi Touch & Go",.tid=0x5000010179E00,.region=2,.key=0},{.name="Yoshi's Island: Super Mario Advance 3",.tid=0x5000010156B00,.region=4,.key=0},{.name="Yoshi's Island: Super Mario Advance 3",.tid=0x5000010156A00,.region=2,.key=0},{.name="Yoshi's Story",.tid=0x50000101BB200,.region=6,.key=0},{.name="Yoshi's Woolly World",.tid=0x5000010184E00,.region=4,.key=0},{.name="Yoshi's Woolly World",.tid=0x5000010184D00,.region=2,.key=0},{.name="YOSHI’S ISLAND DS",.tid=0x5000010198A00,.region=4,.key=0},{.name="Yoshi’s Island DS",.tid=0x5000010198900,.region=2,.key=0},{.name="Your Shape® Fitness Evolved 2013",.tid=0x500001010F700,.region=4,.key=0},{.name="Your Shape®: Fitness Evolved 2013",.tid=0x500001010B600,.region=2,.key=0},{.name="YouTube",.tid=0x500001014CE00,.region=2,.key=0},{.name="ZaciSa: Defense of the Crayon Dimensions!",.tid=0x50000101BB300,.region=4,.key=0},{.name="ZaciSa's Last Stand",.tid=0x500001016E600,.region=2,.key=0},{.name="ZACK & WIKI Quest for Barbaros' Treasure",.tid=0x50000101BDB00,.region=4,.key=0},{.name="ZACK & WIKI: QUEST FOR BARBAROS' TREASURE",.tid=0x50000101BDA00,.region=2,.key=0},{.name="Zelda II - The Adventure of Link",.tid=0x5000010130100,.region=4,.key=0},{.name="Zelda II - The Adventure of Link",.tid=0x5000010130000,.region=2,.key=0},{.name="Zen Pinball 2",.tid=0x5000010113800,.region=4,.key=0},{.name="Zen Pinball 2",.tid=0x5000010115F00,.region=2,.key=0},{.name="Ziggurat",.tid=0x50000101F7800,.region=4,.key=0},{.name="Ziggurat",.tid=0x50000101F9C00,.region=2,.key=0},{.name="Zoda's Revenge: Star Tropics II",.tid=0x50000101B5C00,.region=2,.key=0},{.name="Zoda's Revenge: StarTropics II",.tid=0x50000101B5D00,.region=4,.key=0},{.name="Zombeer",.tid=0x500001019EA00,.region=2,.key=0},{.name="Zombie Brigade: No Brain No Gain",.tid=0x5000010181B00,.region=4,.key=0},{.name="Zombie Brigade: No Brain No Gain",.tid=0x5000010181C00,.region=2,.key=0},{.name="Zombie Defense",.tid=0x50000101A1800,.region=4,.key=0},{.name="Zombie Defense",.tid=0x500001019EE00,.region=2,.key=0},{.name="ZombiU",.tid=0x500001010EF00,.region=4,.key=0},{.name="ZombiU",.tid=0x500001011A700,.region=4,.key=0},{.name="ZombiU",.tid=0x500001010DD00,.region=2,.key=0},{.name="Zumba Fitness World Party",.tid=0x5000010142A00,.region=2,.key=0},{.name="アートオブバランス (Art of Balance)",.tid=0x500001017CB00,.region=1,.key=0},{.name="アーバンチャンピオン (Urban Champion)",.tid=0x500001014A100,.region=1,.key=0},{.name="アイスクライマー (Ice Climber)",.tid=0x5000010107200,.region=1,.key=0},{.name="アイスホッケー (Ice Hockey)",.tid=0x5000010150400,.region=1,.key=0},{.name="アサシン クリード III (Assassin's Creed® III)",.tid=0x5000010112400,.region=1,.key=0},{.name="アサシン クリード4 ブラック フラッグ (Assassin's Creed® IV Black Flag)",.tid=0x500001014C800,.region=1,.key=0},{.name="アスディバインハーツ (Asdivine Hearts)",.tid=0x50000101E4000,.region=1,.key=0},{.name="あつめて!カービィ (Kirby Mass Attack)",.tid=0x50000101C8600,.region=1,.key=0},{.name="アドベンチャーズ オブ ロロ (Adventures of Lolo)",.tid=0x500001016B300,.region=1,.key=0},{.name="アトランチスの謎 (Atlantos no Nazo)",.tid=0x500001018BB00,.region=1,.key=0},{.name="アミーロ・ザ・アルマジロ (Armillo)",.tid=0x500001017B900,.region=1,.key=0},{.name="アルバートオデッセイ (Albert Odyssey)",.tid=0x500001018BF00,.region=1,.key=0},{.name="アルファディア ジェネシス (Alphadia Genesis)",.tid=0x5000010157C00,.region=1,.key=0},{.name="イー・アル・カンフー (Yie Ar Kung-Fu)",.tid=0x500001016BC00,.region=1,.key=0},{.name="イー・アル・カンフー (Yie Ar KUNG-FU)",.tid=0x5000010194B00,.region=1,.key=0},{.name="イーガー皇帝の逆襲 イー・アル・カンフー2 (Yie Ar Kung-Fu II The Emperor Yie-Gah)",.tid=0x5000010168400,.region=1,.key=0},{.name="いけいけ!熱血ホッケー部 「すべってころんで大乱闘」 (Go-Go! Nekketsu Hockey Club Slip-and-Slide Madness)",.tid=0x5000010160A00,.region=1,.key=0},{.name="いっき (Ikki)",.tid=0x5000010133C00,.region=1,.key=0},{.name="イトル・デューの伝説 失われた島と謎の城 (Ittle Dew)",.tid=0x5000010197700,.region=1,.key=0},{.name="イメージファイト (IMAGEFIGHT)",.tid=0x5000010163C00,.region=1,.key=0},{.name="イメージファイトII (IMAGEFIGHT II)",.tid=0x5000010163F00,.region=1,.key=0},{.name="ウィンズ オブ サンダー (Lords Of Thunder)",.tid=0x500001015D000,.region=1,.key=0},{.name="ウエーブレース64 (Wave Race 64)",.tid=0x50000101AC500,.region=1,.key=0},{.name="うさぎの国のカンガルーレース ワラビー!! (Wallaby)",.tid=0x50000101E2300,.region=1,.key=0},{.name="ウシャス (USAS)",.tid=0x5000010195200,.region=1,.key=0},{.name="エイリアンクラッシュ (ALIEN CRUSH)",.tid=0x500001015BF00,.region=1,.key=0},{.name="エキサイトバイク (Excitebike)",.tid=0x5000010108100,.region=1,.key=0},{.name="エキサイトバイク64 (Excitebike 64)",.tid=0x50000101E6400,.region=1,.key=0},{.name="エキサイト猛マシン (ExciteBots: Trick Racing)",.tid=0x50000101B2500,.region=1,.key=0},{.name="エクセリオン (Exerion)",.tid=0x50000101A0300,.region=1,.key=0},{.name="エリエットクエスト (Elliot Quest)",.tid=0x50000101DD500,.region=1,.key=0},{.name="おいでよ どうぶつの森 (Animal Crossing: Wild World)",.tid=0x50000101D1F00,.region=1,.key=0},{.name="オウガバトル64 (Ogre Battle 64)",.tid=0x50000101E6600,.region=1,.key=0},{.name="おきらくテニスSP (Family Tennis SP)",.tid=0x500001015EA00,.region=1,.key=0},{.name="オセロ (Othello)",.tid=0x5000010140900,.region=1,.key=0},{.name="おどるメイドインワリオ (Wario Ware Smooth Moves)",.tid=0x50000101EC900,.region=1,.key=0},{.name="カービィのきらきらきっず (Kirby's Star Stacker)",.tid=0x500001012A200,.region=1,.key=0},{.name="カービィボウル (Kirby's Dream Course)",.tid=0x5000010119C00,.region=1,.key=0},{.name="ガールズ・ライク・ロボッツ (Girls Like Robots)",.tid=0x50000101BC100,.region=1,.key=0},{.name="ガイアの紋章 (EMBLEM OF GAIA)",.tid=0x500001020AC00,.region=1,.key=0},{.name="かいぞくポップ (Pirate Pop Plus)",.tid=0x500001020E500,.region=1,.key=0},{.name="ガイフレーム (GAI FLAME)",.tid=0x50000101E2400,.region=1,.key=0},{.name="カスタムロボV2 (Custom Robo V2)",.tid=0x50000101C5E00,.region=1,.key=0},{.name="かまいたちの夜 (Banshee's Last Cry)",.tid=0x500001012A700,.region=1,.key=0},{.name="カラオケJOYSOUND for Wii U",.tid=0x5000010100D00,.region=1,.key=0},{.name="カラクリWooden Sen'SeY",.tid=0x50000101A2500,.region=1,.key=0},{.name="かんしゃく玉なげカン太郎の 東海道五十三次 (Tõkaidõ Gojūsan-tsugi)",.tid=0x5000010190900,.region=1,.key=0},{.name="がんばれゴエモン ゆき姫救出絵巻 (The Legend of The Mystical Ninja)",.tid=0x5000010114B00,.region=1,.key=0},{.name="がんばれゴエモン! からくり道中 (Ganbare Goemon! Karakuri Dõchū)",.tid=0x5000010158C00,.region=1,.key=0},{.name="がんばれゴエモン! からくり道中 (Goemon)",.tid=0x5000010195400,.region=1,.key=0},{.name="がんばれゴエモン2 (Ganbare Goemon 2: Kiteretsu Shõgun Magginesu)",.tid=0x500001018B300,.region=1,.key=0},{.name="がんばれゴエモン2 奇天烈将軍マッギネス (Ganbare Goemon 2 Kiteretsu Shõgun Magginesu)",.tid=0x500001011A200,.region=1,.key=0},{.name="がんばれゴエモン3 獅子重禄兵衛のからくり卍固め (Ganbare Goemon 3: Shishijūrokubē no Karakuri Manji Gatame)",.tid=0x500001012A300,.region=1,.key=0},{.name="がんばれゴエモン外伝 きえた黄金キセル (Ganbare Goemon Gaiden: Kieta Õgon Kiseru)",.tid=0x5000010196500,.region=1,.key=0},{.name="がんばれゴエモン外伝2 天下の財宝 (Ganbare Goemon Gaiden 2: Tenka no Zaihõ)",.tid=0x500001017F100,.region=1,.key=0},{.name="カンフーラビット (Kung Fu Rabbit)",.tid=0x50000101A2600,.region=1,.key=0},{.name="ガンマンストーリーHDコレクション (Gunman Story HD Collection)",.tid=0x50000101DDA00,.region=1,.key=0},{.name="ギアナシスターズ ツイステッドドリームズ (Giana Sisters Twisted Dreams)",.tid=0x5000010175E00,.region=1,.key=0},{.name="キキトリック (Kiki Trick)",.tid=0x50000101C0000,.region=1,.key=0},{.name="キャッチ!タッチ!ヨッシー! (Yoshi Touch & Go)",.tid=0x5000010179D00,.region=1,.key=0},{.name="ギャラガ (Galaga)",.tid=0x500001012E200,.region=1,.key=0},{.name="キャンペーン応募用ソフト (MARIOKART 8 Campaign Soft)",.tid=0x5000010183A00,.region=1,.key=0},{.name="キューブライフ: アイランドサバイバル (Cube Life Island Survival)",.tid=0x50000101E9C00,.region=1,.key=0},{.name="キューブライフ: ピクセルアクションヒーローズ (Cube Life: Pixel Action Heroes)",.tid=0x5000010212200,.region=1,.key=0},{.name="キングスナイト (King's Knight)",.tid=0x50000101A7900,.region=1,.key=0},{.name="クイズで勉強、やる気が育つ。 学びゲット! (Best way to motivate kids ManabiGet!)",.tid=0x50000101BA100,.region=1,.key=0},{.name="クインティ (Quinty)",.tid=0x5000010171500,.region=1,.key=0},{.name="クォース (QUARTH)",.tid=0x5000010168600,.region=1,.key=0},{.name="くにおくんのドッジボールだよ全員集合! (Kunio-kun no Dodge Ball da yo: Zenin Shūgo)",.tid=0x5000010171A00,.region=1,.key=0},{.name="クニットアンダーグラウンド (Knytt Underground)",.tid=0x500001017B700,.region=1,.key=0},{.name="クラウドベリーキングダム (Cloudberry Kingdom)",.tid=0x500001014F400,.region=1,.key=0},{.name="グラディウス (Gradius)",.tid=0x5000010119500,.region=1,.key=0},{.name="グラディウス (GRADIUS)",.tid=0x500001015B500,.region=1,.key=0},{.name="グラディウス (GRADIUS)",.tid=0x5000010195300,.region=1,.key=0},{.name="グラディウス2 (GLADIUS2)",.tid=0x5000010168900,.region=1,.key=0},{.name="グランボ (Granbo)",.tid=0x50000101D0D00,.region=1,.key=0},{.name="くるくるくるりん (Kuru Kuru Kururin)",.tid=0x500001017A200,.region=1,.key=0},{.name="クルクルランド (Clu Clu Land)",.tid=0x500001014A400,.region=1,.key=0},{.name="くるりんパラダイス (Kururin Paradise)",.tid=0x50000101B9200,.region=1,.key=0},{.name="グレートレース (GREAT RACE)",.tid=0x5000010176600,.region=1,.key=0},{.name="クロックタワー (Clock Tower)",.tid=0x5000010141F00,.region=1,.key=0},{.name="クロニクルズオブテディ ハーモニーオブエキシデス (Chronicles of Teddy Harmony of Exidus)",.tid=0x5000010204C00,.region=1,.key=0},{.name="ゲーム&ワリオ (Game & Wario)",.tid=0x5000010112D00,.region=1,.key=0},{.name="ゲーム&ワリオ 無料お試し版 (Game & Wario (Trial))",.tid=0x5000010185500,.region=1,.key=0},{.name="ゲームボーイウォーズアドバンス 1+2 (Advance Wars 1+2)",.tid=0x500001015E000,.region=1,.key=0},{.name="ゲームボーイギャラリー4 (Game & Watch Gallery 4)",.tid=0x50000101CB300,.region=1,.key=0},{.name="けっきょく南極大冒険 (Antarctic Adventure)",.tid=0x500001016BD00,.region=1,.key=0},{.name="けっきょく南極大冒険 (Antarctic Adventure)",.tid=0x5000010194900,.region=1,.key=0},{.name="ケモノダッシュ! (Kemono Dash!)",.tid=0x5000010176700,.region=1,.key=0},{.name="ゴーファーの野望・EPISODE II (NEMESIS3 THE EVE OF DESTRUCTION)",.tid=0x5000010168A00,.region=1,.key=0},{.name="コズモギャング ザ パズル (Cosmo Gang the Puzzle)",.tid=0x5000010186B00,.region=1,.key=0},{.name="ことばのパズル もじぴったんアドバンス (Kotoba no Puzzle Mojipittan Advance)",.tid=0x5000010188000,.region=1,.key=0},{.name="コナミ ワイワイレーシング アドバンス (Konami Krazy Racers)",.tid=0x50000101AE900,.region=1,.key=0},{.name="コナミのサッカー (Konami's Soccer)",.tid=0x5000010194C00,.region=1,.key=0},{.name="ゴルフ (Golf)",.tid=0x500001014AA00,.region=1,.key=0},{.name="ご当地鉄道 ~ご当地キャラと日本全国の旅~ (Gotouchi Tetsudou: Gotouchi Chara to Nihon Zenkoku no Tabi)",.tid=0x500001017B600,.region=1,.key=0},{.name="ザ バインディング オブ アイザック:リバース (The Binding of Isaac: Rebirth)",.tid=0x50000101DE400,.region=1,.key=0},{.name="サーカスチャーリー (CIRCUS CHARLIE)",.tid=0x5000010195500,.region=1,.key=0},{.name="サイコロの森 3-in-1 (Tabletop Gallery)",.tid=0x50000101C5900,.region=1,.key=0},{.name="サッカー (Soccer)",.tid=0x5000010160400,.region=1,.key=0},{.name="サラダの国のトマト姫 (Princess Tomato in the Salad Kingdom)",.tid=0x5000010161000,.region=1,.key=0},{.name="さわるメイドインワリオ (WarioWare: Touched!)",.tid=0x50000101A1E00,.region=1,.key=0},{.name="じっくり絵心教室 (Art Academy: Home Studio)",.tid=0x500001017BE00,.region=1,.key=0},{.name="シティコネクション (Ciy Connection)",.tid=0x50000101C1F00,.region=1,.key=0},{.name="シャイニング・ソウル (Shining Soul)",.tid=0x50000101BBB00,.region=1,.key=0},{.name="シャイニング・ソウルⅡ (Shining Soul II)",.tid=0x50000101B9100,.region=1,.key=0},{.name="シャイニング・フォース 黒き竜の復活 (Shining Force)",.tid=0x50000101A9A00,.region=1,.key=0},{.name="シャンティ - リスキィ・ブーツの逆襲 - (Shantae Risky's Revenge Director's Cut)",.tid=0x50000101F7300,.region=1,.key=0},{.name="シャンティ -海賊の呪い- (Shantae and the Pirate's Curse)",.tid=0x50000101F7F00,.region=1,.key=0},{.name="ジョイメカファイト (Joy Mech Fight)",.tid=0x500001016B600,.region=1,.key=0},{.name="ショベルナイト (Shovel Knight)",.tid=0x50000101D9300,.region=1,.key=0},{.name="すーぱーぐっすんおよよ (Gussun Oyoyo)",.tid=0x5000010186800,.region=1,.key=0},{.name="スーパースターソルジャー (SUPER STAR SOLDIER)",.tid=0x500001015B800,.region=1,.key=0},{.name="スーパーストリートファイターⅡ ザ ニューチャレンジャーズ (Super Street Fighter Ⅱ The New Challengers)",.tid=0x500001011A300,.region=1,.key=0},{.name="スーパーチャイニーズ (Super Chinese)",.tid=0x5000010161100,.region=1,.key=0},{.name="スーパーチャイニーズ2 ドラゴンキッド (Super Chinese 2)",.tid=0x500001019F900,.region=1,.key=0},{.name="スーパーチャイニーズワールド (Super Ninja Boy)",.tid=0x5000010171700,.region=1,.key=0},{.name="スーパードンキーコング (Donkey Kong Country)",.tid=0x5000010109400,.region=1,.key=0},{.name="スーパードンキーコング2 ディクシー&ディディー (Donkey Kong Country 2 Diddy's Kong Quest)",.tid=0x500001010A000,.region=1,.key=0},{.name="スーパードンキーコング3 謎のクレミス島 (Donkey Kong Country 3 Dixie Kong's Double Trouble)",.tid=0x500001017FB00,.region=1,.key=0},{.name="スーパーパンチアウト!! (Super Punch-Out!!)",.tid=0x5000010159000,.region=1,.key=0},{.name="スーパーファミコンウォーズ (Super Famicom Wars)",.tid=0x5000010135C00,.region=1,.key=0},{.name="スーパーペーパーマリオ (Super Paper Mario)",.tid=0x50000101BD000,.region=1,.key=0},{.name="スーパーマリオ 3Dワールド (SUPER MARIO 3D WORLD)",.tid=0x5000010106100,.region=1,.key=0},{.name="スーパーマリオ64 (Super Mario 64)",.tid=0x5000010199400,.region=1,.key=0},{.name="スーパーマリオ64DS (Super Mario 64 DS)",.tid=0x50000101C3300,.region=1,.key=0},{.name="スーパーマリオRPG (Super Mario RPG)",.tid=0x5000010109100,.region=1,.key=0},{.name="スーパーマリオUSA (Super Mario USA)",.tid=0x5000010108400,.region=1,.key=0},{.name="スーパーマリオアドバンス (Super Mario Advance)",.tid=0x5000010173500,.region=1,.key=0},{.name="スーパーマリオアドバンス2 (Super Mario World: Super Mario Advance 2)",.tid=0x500001016F500,.region=1,.key=0},{.name="スーパーマリオアドバンス3 (Yoshi's Island: Super Mario Advance 3)",.tid=0x5000010156900,.region=1,.key=0},{.name="スーパーマリオアドバンス4 (Super Mario Advance: 4 Super Mario Bros. 3)",.tid=0x5000010169C00,.region=1,.key=0},{.name="スーパーマリオカート (Super Mario Kart)",.tid=0x500001010A800,.region=1,.key=0},{.name="スーパーマリオギャラクシー (Super Mario Galaxy)",.tid=0x50000101BFD00,.region=1,.key=0},{.name="スーパーマリオギャラクシー2 (SUPER MARIO GALAXY 2)",.tid=0x500001019CB00,.region=1,.key=0},{.name="スーパーマリオスタジアム ファミリーベースボール (Mario Super Sluggers)",.tid=0x50000101BE100,.region=1,.key=0},{.name="スーパーマリオブラザーズ (Super Mario Bros.)",.tid=0x5000010106C00,.region=1,.key=0},{.name="スーパーマリオブラザーズ2 (Super Mario Bros. 2)",.tid=0x500001012F600,.region=1,.key=0},{.name="スーパーマリオブラザーズ3 (Super Mario Bros. 3)",.tid=0x5000010106F00,.region=1,.key=0},{.name="スーパーマリオボール (Super Mario Ball)",.tid=0x5000010173E00,.region=1,.key=0},{.name="スーパーマリオメーカー(メディア) Super Mario Maker (Media)",.tid=0x500001F600600,.region=1,.key=0},{.name="スーパーマリオワールド (Super Mario World)",.tid=0x5000010108E00,.region=1,.key=0},{.name="スーパーメトロイド (Super Metroid)",.tid=0x500001010A500,.region=1,.key=0},{.name="スーパーロボマウス (SUPER ROBO MOUSE)",.tid=0x50000101FD200,.region=1,.key=0},{.name="スーパーワギャンランド (Super Wagyan Land)",.tid=0x5000010140C00,.region=1,.key=0},{.name="スーパー蒼き狼と白き牝鹿 元朝秘史 (Genghis Khan II: Clan of the Gray Wolf)",.tid=0x5000010190C00,.region=1,.key=0},{.name="スカイキッド (SkyKid)",.tid=0x5000010185F00,.region=1,.key=0},{.name="スカイジャガー (SKYJAGUAR)",.tid=0x5000010194E00,.region=1,.key=0},{.name="スクリューブレイカー 轟振どりるれろ (Drill Dozer)",.tid=0x50000101CC100,.region=1,.key=0},{.name="すごろクエスト ダイスの戦士たち (Sugoro Quest: The Quest of Dice Heroes)",.tid=0x500001018B600,.region=1,.key=0},{.name="スターフォックス ガード (Star Fox Guard)",.tid=0x50000101BEB00,.region=1,.key=0},{.name="スターフォックス ガード 特別体験版 (Star Fox Guard Special Demo)",.tid=0x50000101DCC00,.region=1,.key=0},{.name="スターフォックス コマンド (Star Fox Command)",.tid=0x50000101AC000,.region=1,.key=0},{.name="スターフォックス ゼロ (Star Fox Zero)",.tid=0x50000101AFF00,.region=1,.key=0},{.name="スターフォックス ゼロ ザ・バトル・ビギンズ+トレーニング (StarFox Zero The Battle Begins + Training)",.tid=0x5000010201A00,.region=1,.key=0},{.name="スターフォックス64 (Star Fox 64)",.tid=0x50000101AC300,.region=1,.key=0},{.name="スターラスター (Star Luster)",.tid=0x5000010196400,.region=1,.key=0},{.name="スチームワールド ディグ HD (SteamWorld Dig)",.tid=0x50000101A2800,.region=1,.key=0},{.name="すってはっくん (Sutte Hakkun)",.tid=0x5000010178100,.region=1,.key=0},{.name="スティックイットトゥザマン! (Stick It to The Man!)",.tid=0x500001018C800,.region=1,.key=0},{.name="ストリートファイターⅡ ザ ワールド ウォーリアー (Street Fighter Ⅱ The World Warrior)",.tid=0x5000010114F00,.region=1,.key=0},{.name="ストリートファイターⅡ ターボ ハイパー ファイティング (Street Fighter II Turbo Hyper Fighting)",.tid=0x500001012A500,.region=1,.key=0},{.name="ストリートファイターZERO2 (Street Fighter Zero 2)",.tid=0x500001016C400,.region=1,.key=0},{.name="スナイパー エリートV2 (Sniper Elite V2)",.tid=0x5000010145300,.region=1,.key=0},{.name="スプラトゥーン (Splatoon)",.tid=0x5000010162B00,.region=1,.key=0},{.name="スペースマンボウ (Space Manbow)",.tid=0x5000010168300,.region=1,.key=0},{.name="スペランカー (Spelunker)",.tid=0x5000010119400,.region=1,.key=0},{.name="スポーツコネクション (Sports Connection)",.tid=0x5000010112500,.region=1,.key=0},{.name="スマッシュピンポン (Konami's Ping Pong)",.tid=0x5000010185C00,.region=1,.key=0},{.name="ズンバ フィットネス ワールドパーティ (Zumba Ftiness World Party)",.tid=0x500001018E000,.region=1,.key=0},{.name="セクロス (Seicross)",.tid=0x500001018B700,.region=1,.key=0},{.name="ゼノブレイド (Xenoblade Chronicles)",.tid=0x500001019D700,.region=1,.key=0},{.name="ゼビウス (Xevious)",.tid=0x5000010113E00,.region=1,.key=0},{.name="ゼルダの伝説 (The Legend of Zelda)",.tid=0x500001012F900,.region=1,.key=0},{.name="ゼルダの伝説 スカイウォードソード (The Legend of Zelda Skyward Sword)",.tid=0x50000101B0F00,.region=1,.key=0},{.name="ゼルダの伝説 トワイライトプリンセス HD (THE LEGEND OF ZELDA Twilight Princess HD)",.tid=0x500001019C800,.region=1,.key=0},{.name="ゼルダの伝説 ふしぎのぼうし (The Legend of Zelda: The Minish Cap)",.tid=0x500001015E300,.region=1,.key=0},{.name="ゼルダの伝説 ブレス オブ ザ ワイルド (The Legend of Zelda Breath of the Wild)",.tid=0x50000101C9300,.region=1,.key=0},{.name="ゼルダの伝説 ムジュラの仮面 (The Legend of Zelda: Majora's Mask)",.tid=0x50000101BAE00,.region=1,.key=0},{.name="ゼルダの伝説 夢幻の砂時計 (The Legend of Zelda: Phantom Hourglass)",.tid=0x50000101C3600,.region=1,.key=0},{.name="ゼルダの伝説 大地の汽笛 (The Legend of Zelda: Spirit Tracks)",.tid=0x50000101B8B00,.region=1,.key=0},{.name="ゼルダの伝説 時のオカリナ (The Legend of Zelda: Ocarina of Time)",.tid=0x5000010199A00,.region=1,.key=0},{.name="ゼルダの伝説 神々のトライフォース (The Legend of Zelda: A Link to the Past)",.tid=0x5000010109700,.region=1,.key=0},{.name="ゼルダの伝説 風のタクト HD (THE LEGEND OF ZELDA The Wind Waker HD)",.tid=0x5000010143400,.region=1,.key=0},{.name="ゼルダの伝説 風のタクト HD 無料お試し版 (THE LEGEND OF ZELDA The Wind Waker HD (Trial))",.tid=0x5000010185400,.region=1,.key=0},{.name="ゼルダ無双 (Hyrule Warriors)",.tid=0x500001017CD00,.region=1,.key=0},{.name="ソニック アドバンス (Sonic Advance)",.tid=0x5000010198600,.region=1,.key=0},{.name="ソニック アドバンス 2 (Sonic Advance 2)",.tid=0x50000101AD500,.region=1,.key=0},{.name="ソニック アドバンス 3 (Sonic Advance 3)",.tid=0x50000101C3E00,.region=1,.key=0},{.name="ソニック ロストワールド (SONIC LOST WORLD)",.tid=0x5000010135700,.region=1,.key=0},{.name="ソニック&オールスターレーシング TRANSFORMED (Sonic & All-Stars Racing Transformed)",.tid=0x500001015B400,.region=1,.key=0},{.name="ソニックトゥーン 太古の秘宝 (Sonic Toon Ancients' Secret Treasure)",.tid=0x5000010191F00,.region=1,.key=0},{.name="ソルジャーブレイド (SOLDIER BLADE)",.tid=0x500001015C600,.region=1,.key=0},{.name="ソロモンの鍵 (Solomon's Key)",.tid=0x5000010129B00,.region=1,.key=0},{.name="ゾンビU (ZombiU)",.tid=0x5000010112300,.region=1,.key=0},{.name="ゾンビディフェンス (Zombie Defense)",.tid=0x50000101B3200,.region=1,.key=0},{.name="タイニーシーフ (Tiny Thief)",.tid=0x50000101DB600,.region=1,.key=0},{.name="ダウンタウンスペシャル くにおくんの時代劇だよ全員集合! (Downtown Special Kunio-kun's Historical Period Drama!)",.tid=0x5000010150F00,.region=1,.key=0},{.name="ダウンタウン熱血物語 (River City Ransom)",.tid=0x50000101A0400,.region=1,.key=0},{.name="ダウンタウン熱血行進曲 それゆけ大運動会 (Downtown Nekketsu March Super-Awesome Field Day!)",.tid=0x5000010114A00,.region=1,.key=0},{.name="タクティクスオウガ (Tactics Ogre)",.tid=0x5000010153D00,.region=1,.key=0},{.name="ダックハント (Duck Hunt)",.tid=0x5000010192400,.region=1,.key=0},{.name="タッチ!amiibo いきなりファミコン名シーン (amiibo tap Nintendo's Greatest Bits)",.tid=0x50000101B4100,.region=1,.key=0},{.name="タッチ!カービィ (Kirby Canvas Curse)",.tid=0x50000101B8800,.region=1,.key=0},{.name="タッチ!カービィ スーパーレインボー (Kirby and the Rainbow Curse)",.tid=0x5000010188B00,.region=1,.key=0},{.name="タッチバトル戦車SP (TouchBattleTankSP)",.tid=0x500001017B800,.region=1,.key=0},{.name="ダブルダンジョン (DOUBLE DUNGEONS)",.tid=0x500001015C500,.region=1,.key=0},{.name="ダブルドラゴン (Double Dragon)",.tid=0x5000010153600,.region=1,.key=0},{.name="ダブルドラゴンⅡ The Revenge (Double Dragon II The Revenge)",.tid=0x5000010170B00,.region=1,.key=0},{.name="ダライアスツイン DARIUS TWIN",.tid=0x50000101A7D00,.region=1,.key=0},{.name="タロミア (Tallowmere)",.tid=0x5000010212400,.region=1,.key=0},{.name="タンク!タンク!タンク! (DL) (TANK! TANK! TANK! (DL))",.tid=0x500001012F200,.region=1,.key=0},{.name="ダンジョンエクスプローラー (Dungeon Explorer)",.tid=0x500001015CE00,.region=1,.key=0},{.name="チャリ走 Ultra DX 世界ツアー (Bike Rider UltraDX WORLD TOUR)",.tid=0x50000101D2C00,.region=1,.key=0},{.name="チャンピオンシップ・ロードランナー (Championship Lode Runner)",.tid=0x5000010190800,.region=1,.key=0},{.name="チューチューロケット! (ChuChu Rocket!)",.tid=0x50000101A4700,.region=1,.key=0},{.name="チョコボランド (Chocobo Land: A Game of Dice)",.tid=0x50000101D2500,.region=1,.key=0},{.name="ツインビー (TwinBee)",.tid=0x5000010119800,.region=1,.key=0},{.name="ツインビー (TwinBee)",.tid=0x5000010194800,.region=1,.key=0},{.name="ツインビー レインボーベルアドベンチャー (Pop'n TwinBee RAINBOW BELL ADVENTURES)",.tid=0x5000010161400,.region=1,.key=0},{.name="つっぱり大相撲 (Tsuppari Õzumõ)",.tid=0x5000010174A00,.region=1,.key=0},{.name="ディグダグ (Dig Dug)",.tid=0x5000010174600,.region=1,.key=0},{.name="ディグダグⅡ (Dig Dug II)",.tid=0x50000101A7600,.region=1,.key=0},{.name="デジタルチャンプ (DIGITAL CHAMP)",.tid=0x500001015CB00,.region=1,.key=0},{.name="デッドハウス 再生 (Vaccine)",.tid=0x5000010212000,.region=1,.key=0},{.name="テトロボット AND CO. (Tetrobot and Co.)",.tid=0x50000101D2B00,.region=1,.key=0},{.name="テニス (Tennis)",.tid=0x5000010149B00,.region=1,.key=0},{.name="デビルクラッシュ (Devil's Crush)",.tid=0x500001015D100,.region=1,.key=0},{.name="デビルワールド (Devil World)",.tid=0x500001017EE00,.region=1,.key=0},{.name="デモンズブレイゾン 魔界村 紋章編 (Demon's Blazon)",.tid=0x5000010178B00,.region=1,.key=0},{.name="テラリア (Terraria)",.tid=0x50000101F3A00,.region=1,.key=0},{.name="テン・エイティ スノーボーディング (1080° Snowboarding)",.tid=0x50000101A5A00,.region=1,.key=0},{.name="トガビトノセンリツ (Togabito no Senritsu)",.tid=0x5000010154500,.region=1,.key=0},{.name="ドクターマリオ (Dr. Mario)",.tid=0x5000010153000,.region=1,.key=0},{.name="ドットアーティスト (PixelMaker)",.tid=0x5000010210600,.region=1,.key=0},{.name="ドットペイント (Pixel Paint)",.tid=0x50000101BC000,.region=1,.key=0},{.name="トマトアドベンチャー (Tomato Adventure)",.tid=0x50000101A3300,.region=1,.key=0},{.name="トライン 2 三つの力と不可思議の森 (Trine 2 Director's Cut)",.tid=0x500001014D600,.region=1,.key=0},{.name="ドラキュラⅡ 呪いの封印 (Castlevania Ⅱ Simon's Quest)",.tid=0x5000010153900,.region=1,.key=0},{.name="どらごんEGG! (DRAGON EGG)",.tid=0x500001020AE00,.region=1,.key=0},{.name="ドラゴンクエストⅩ ベータテスト版 (Dragon Quest X Beta test)",.tid=0x500001011B600,.region=1,.key=0},{.name="ドラゴンクエストⅩ 目覚めし五つの種族 オンライン (Dragon Quest X Awakening of the Five Tribes)",.tid=0x5000010115E00,.region=1,.key=0},{.name="ドラゴンバスター (Dragon Buster)",.tid=0x5000010174900,.region=1,.key=0},{.name="ドルアーガの塔 (The Tower of Druaga)",.tid=0x5000010139800,.region=1,.key=0},{.name="トルクル (TorqueL)",.tid=0x5000010204D00,.region=1,.key=0},{.name="ドンキーコング (Donkey Kong)",.tid=0x5000010107E00,.region=1,.key=0},{.name="ドンキーコング ジャングルクライマー (Donkey Kong Jungle Climber)",.tid=0x50000101A5200,.region=1,.key=0},{.name="ドンキーコング トロピカルフリーズ (Donkey Kong Country Tropical Freeze)",.tid=0x5000010144800,.region=1,.key=0},{.name="ドンキーコング リターンズ (Donkey Kong Country Returns)",.tid=0x500001019CE00,.region=1,.key=0},{.name="ドンキーコング3 (Donkey Kong 3)",.tid=0x500001014A700,.region=1,.key=0},{.name="ドンキーコング64 (Donkey Kong 64)",.tid=0x5000010199100,.region=1,.key=0},{.name="ドンキーコングJR. (Donkey Kong Jr.)",.tid=0x5000010129700,.region=1,.key=0},{.name="ドンキーコングJR.の算数遊び (Donkey Kong Jr. Math)",.tid=0x5000010174300,.region=1,.key=0},{.name="ナッツ&ミルク (Nuts & Milk)",.tid=0x5000010174B00,.region=1,.key=0},{.name="ナノアサルト ネオ (NANO ASSAULT NEO)",.tid=0x5000010136400,.region=1,.key=0},{.name="ナポレオン (Napoleon)",.tid=0x5000010187F00,.region=1,.key=0},{.name="ナムコミュージアム (Namco Museum)",.tid=0x500001017A100,.region=1,.key=0},{.name="ニコニコ (niconico)",.tid=0x5000010116400,.region=1,.key=0},{.name="ニヒラブラ (Nihilumbra)",.tid=0x50000101DFE00,.region=1,.key=0},{.name="ニュートピア (NEUTOPIA)",.tid=0x500001015B900,.region=1,.key=0},{.name="ニュートピアII (NEUTOPIA II)",.tid=0x500001015C000,.region=1,.key=0},{.name="ねじ巻きナイト2 (Wind-up Knight 2)",.tid=0x50000101BBF00,.region=1,.key=0},{.name="ネバーアローン Never Alone (Kisima Ingitchuna)",.tid=0x50000101CE300,.region=1,.key=0},{.name="バードマニアパーティ (Bird Mania Party)",.tid=0x50000101D2F00,.region=1,.key=0},{.name="バイオハザード アンブレラ・クロニクルズ (Resident Evil: The Umbrella Chronicles)",.tid=0x50000101ECC00,.region=1,.key=0},{.name="バイオハザード4 Wii Edition (resident evil 4 Wii edition)",.tid=0x50000101BD600,.region=1,.key=0},{.name="バイオミラクル ぼくってウパ (Bio Miracle Bokutte Upa)",.tid=0x5000010190700,.region=1,.key=0},{.name="ハイパースポーツ2 (HYPER SPORTS 2)",.tid=0x5000010195000,.region=1,.key=0},{.name="パイロットウイングス (Pilotwings)",.tid=0x5000010130300,.region=1,.key=0},{.name="はじまりの森 (Famicom Bunko: Hajimari no Mori)",.tid=0x5000010137300,.region=1,.key=0},{.name="パックマン (PAC-MAN)",.tid=0x5000010119100,.region=1,.key=0},{.name="パックマンコレクション (Pac-Man Collection)",.tid=0x5000010173800,.region=1,.key=0},{.name="パックランド (Pac-Land)",.tid=0x500001016B700,.region=1,.key=0},{.name="パックワールド (PAC-MAN and the Ghostly Adventures)",.tid=0x500001014F300,.region=1,.key=0},{.name="パックワールド®2) PAC-MAN and the Ghostly Adventures 2",.tid=0x5000010182300,.region=1,.key=0},{.name="バットマン™ アーカム・ビギンズ (Batman™ Arkham Origins)",.tid=0x5000010154600,.region=1,.key=0},{.name="バトルシティー (Battle City)",.tid=0x5000010160E00,.region=1,.key=0},{.name="バトルロードランナー (Battle Lode Runner)",.tid=0x500001020A900,.region=1,.key=0},{.name="パネルでポン (Panel de Pon)",.tid=0x500001012E900,.region=1,.key=0},{.name="バハムート ラグーン (Bahamut Lagoon)",.tid=0x5000010159400,.region=1,.key=0},{.name="バベルの塔 (Tower of Babel)",.tid=0x5000010171400,.region=1,.key=0},{.name="バルーンファイト (Balloon Fight)",.tid=0x5000010108700,.region=1,.key=0},{.name="バレーボール (Volleyball)",.tid=0x500001015EF00,.region=1,.key=0},{.name="パロディウス (PARODIUS)",.tid=0x5000010168100,.region=1,.key=0},{.name="パワーゴルフ (Power Golf)",.tid=0x500001015C700,.region=1,.key=0},{.name="パワースポーツ (WORLD SPORTS COMPETITION)",.tid=0x500001015CF00,.region=1,.key=0},{.name="バンダイチャンネル (BANDAI CHANNEL)",.tid=0x5000010136100,.region=1,.key=0},{.name="バンダイナムコからのお届け物 (Lost Reaver Notice)",.tid=0x50000101F0A00,.region=1,.key=0},{.name="パンチアウト (Punch Out!!)",.tid=0x5000010108A00,.region=1,.key=0},{.name="パンチアウト!! (Punch-Out!!)",.tid=0x500001019D100,.region=1,.key=0},{.name="パンドラの塔 君のもとへ帰るまで (Pandora's Tower)",.tid=0x50000101B1200,.region=1,.key=0},{.name="ビクトリーラン (VICTORY RUN)",.tid=0x500001015C400,.region=1,.key=0},{.name="ピクミン (Pikmin)",.tid=0x50000101EC000,.region=1,.key=0},{.name="ピクミン2 (Pikmin 2)",.tid=0x50000101EBD00,.region=1,.key=0},{.name="ピクミン3 (PIKMIN 3)",.tid=0x500001012BC00,.region=1,.key=0},{.name="ピクミン3 無料お試し版 (PIKMIN 3 (Trial))",.tid=0x5000010185300,.region=1,.key=0},{.name="ビジランテ (VIGILANTE)",.tid=0x5000010163300,.region=1,.key=0},{.name="びっくり熱血新記録! はるかなる金メダル (Crash 'n the Boys Street Challenge)",.tid=0x500001017F400,.region=1,.key=0},{.name="ヒラメキパズル テトグラム (Pentapuzzle)",.tid=0x50000101D8B00,.region=1,.key=0},{.name="ピンボール (Pinball)",.tid=0x5000010149E00,.region=1,.key=0},{.name="ファイアーエムブレム トラキア776 (Fire Emblem Thracia 776)",.tid=0x5000010134D00,.region=1,.key=0},{.name="ファイアーエムブレム 外伝 (Fire Emblem Gaiden)",.tid=0x5000010160300,.region=1,.key=0},{.name="ファイアーエムブレム 封印の剣 (Fire Emblem: Fūin no Tsurugi)",.tid=0x50000101ACD00,.region=1,.key=0},{.name="ファイアーエムブレム 新・暗黒竜と光の剣 (Fire Emblem: Shadow Dragon)",.tid=0x50000101B3700,.region=1,.key=0},{.name="ファイアーエムブレム 暗黒竜と光の剣 (Fire Emblem Shadow Dragon and the Blade of Light)",.tid=0x500001015F200,.region=1,.key=0},{.name="ファイアーエムブレム 烈火の剣 (Fire Emblem)",.tid=0x5000010173A00,.region=1,.key=0},{.name="ファイアーエムブレム 紋章の謎 (Fire Emblem: Mystery of the Emblem)",.tid=0x500001010A400,.region=1,.key=0},{.name="ファイアーエムブレム 聖戦の系譜 (Fire Emblem: Genealogy of the Holy War)",.tid=0x5000010109F00,.region=1,.key=0},{.name="ファイアーエムブレム 聖魔の光石 (Fire Emblem: The Sacred Stones)",.tid=0x500001017CE00,.region=1,.key=0},{.name="ファイナルソルジャー (Final Soldier)",.tid=0x500001015C300,.region=1,.key=0},{.name="ファイナルファイト (Final Fight)",.tid=0x5000010130600,.region=1,.key=0},{.name="ファイナルファイト ONE (Final Fight ONE)",.tid=0x5000010194600,.region=1,.key=0},{.name="ファイナルファイト タフ (Final Fight Tough)",.tid=0x5000010141900,.region=1,.key=0},{.name="ファイナルファイト2 (Final Fight 2)",.tid=0x5000010138000,.region=1,.key=0},{.name="ファイナルファンタジー (Final Fantasy)",.tid=0x500001014AD00,.region=1,.key=0},{.name="ファイナルファンタジーI・II アドバンス (Final Fantasy I & II Advance)",.tid=0x50000101D2600,.region=1,.key=0},{.name="ファイナルファンタジーII (Final Fantasy II)",.tid=0x5000010150D00,.region=1,.key=0},{.name="ファイナルファンタジーIII (Final Fantasy III)",.tid=0x5000010150E00,.region=1,.key=0},{.name="ファイナルファンタジーIV (Final Fantasy IV)",.tid=0x500001014B000,.region=1,.key=0},{.name="ファイナルファンタジーIV アドバンス (Final Fantasy IV Advance)",.tid=0x50000101D5E00,.region=1,.key=0},{.name="ファイナルファンタジーUSA ミスティッククエスト ((Final Fantasy USA Mystic Quest)",.tid=0x5000010154000,.region=1,.key=0},{.name="ファイナルファンタジーV (Final Fantasy V)",.tid=0x5000010153F00,.region=1,.key=0},{.name="ファイナルファンタジーV アドバンス (Final Fantasy V Advance)",.tid=0x50000101D5D00,.region=1,.key=0},{.name="ファイナルファンタジーⅥ (Final Fantasy VI)",.tid=0x5000010143C00,.region=1,.key=0},{.name="ファイナルファンタジーVI アドバンス (Final Fantasy VI Advance)",.tid=0x50000101D5C00,.region=1,.key=0},{.name="ファイナルファンタジータクティクス アドバンス (Final Fantasy Tactics Advance)",.tid=0x50000101D9900,.region=1,.key=0},{.name="ファイヤー・ファイティング (The Ignition Factor)",.tid=0x5000010196800,.region=1,.key=0},{.name="ファミコン リミックス (NES REMIX)",.tid=0x5000010145F00,.region=1,.key=0},{.name="ファミコンウォーズ (Famicom Wars)",.tid=0x5000010185D00,.region=1,.key=0},{.name="ファミコンウォーズDS (Advance Wars: Dual Strike)",.tid=0x50000101DA400,.region=1,.key=0},{.name="ふぁみこんむかし話 新・鬼ヶ島(前後編) (Famicom Mukashibanashi: Shin Onigashima)",.tid=0x500001012E100,.region=1,.key=0},{.name="ファミコンリミックス 2 (NES REMIX 2)",.tid=0x5000010162400,.region=1,.key=0},{.name="ファミコン探偵倶楽部 PARTⅡ うしろに立つ少女 (Famicom Detective Club Part II: The Girl Who Stands Behind)",.tid=0x5000010130200,.region=1,.key=0},{.name="ファミコン探偵倶楽部 消えた後継者(前後編) (Famicom Detective Club The Missing Heir)",.tid=0x5000010158500,.region=1,.key=0},{.name="ファミリーテニスアドバンス (Family Tennis Advance)",.tid=0x5000010198400,.region=1,.key=0},{.name="フィールドコンバット (Field Combat)",.tid=0x5000010196600,.region=1,.key=0},{.name="フォーメーションZ (Formation Z)",.tid=0x50000101A0200,.region=1,.key=0},{.name="ブタメダル (Buta Medal)",.tid=0x5000010185000,.region=1,.key=0},{.name="プチコンBIG (Petitcom BIG)",.tid=0x50000101DFF00,.region=1,.key=0},{.name="ぷよぷよテトリス (PUYOPUYOTETRIS)",.tid=0x500001014D900,.region=1,.key=0},{.name="ぶらぶらドンキー (DK King of Swing)",.tid=0x500001017D100,.region=1,.key=0},{.name="プランテラ ガーデンライフ (Plantera)",.tid=0x500001020DE00,.region=1,.key=0},{.name="ブルームーン (Star Sky)",.tid=0x50000101D8C00,.region=1,.key=0},{.name="ブルームーン2 (Star Sky 2)",.tid=0x500001020A100,.region=1,.key=0},{.name="ブレイジングレーザーズ (Blazing Lazers)",.tid=0x500001015BE00,.region=1,.key=0},{.name="ブレス オブ ファイア 竜の戦士 (Breath of Fire)",.tid=0x5000010178800,.region=1,.key=0},{.name="ブレス オブ ファイアⅡ 使命の子 (Breath of Fire II)",.tid=0x5000010134A00,.region=1,.key=0},{.name="ブロークドロップU (BLOK DROP U)",.tid=0x50000101FD300,.region=1,.key=0},{.name="ブロック ビルダー (Discovery)",.tid=0x50000101F7200,.region=1,.key=0},{.name="ベースボール (Baseball)",.tid=0x5000010149800,.region=1,.key=0},{.name="ペーパーマリオ カラースプラッシュ (PAPER MARIO Color Splash)",.tid=0x500001F600900,.region=1,.key=0},{.name="へべれけ (Hebereke)",.tid=0x5000010171100,.region=1,.key=0},{.name="ヘラクレスの栄光Ⅲ 神々の沈黙 (Heracles no Eikõ III: Kamigami no Chinmoku)",.tid=0x500001012A800,.region=1,.key=0},{.name="ヘラクレスの栄光Ⅳ 神々からの贈り物 (Herakles no Eikõ 4: Kamigami no Okurimono)",.tid=0x500001017FE00,.region=1,.key=0},{.name="ホーガンズアレイ (Hogan's Alley)",.tid=0x50000101B5400,.region=1,.key=0},{.name="ボールポイントユニバース インフィニット (Ballpoint Universe)",.tid=0x500001018AC00,.region=1,.key=0},{.name="ポケパークWii ~ピカチュウの大冒険~ (PokéPark Wii Pikachu's Adventure)",.tid=0x500001019E200,.region=1,.key=0},{.name="ポケモンスクランブル U (Pokémon Rumble U)",.tid=0x5000010131E00,.region=1,.key=0},{.name="ポケモンスナップ (Pokémon Snap)",.tid=0x50000101DA700,.region=1,.key=0},{.name="ポケモンピンボール ルビー&サファイア (Pokémon Pinball Ruby & Sapphire)",.tid=0x5000010183500,.region=1,.key=0},{.name="ポケモンレンジャー (Pokémon Ranger)",.tid=0x50000101CC200,.region=1,.key=0},{.name="ポケモンレンジャー バトナージ (Pokémon Ranger: Shadow of Almia)",.tid=0x50000101E0F00,.region=1,.key=0},{.name="ポケモンレンジャー 光の軌跡 (Pokémon Ranger: Guardian Signs)",.tid=0x50000101E6F00,.region=1,.key=0},{.name="ポケモン不思議のダンジョン 空の探検隊 (Pokémon Mystery Dungeon: Explorers of Sky)",.tid=0x50000101E0C00,.region=1,.key=0},{.name="ポケモン不思議のダンジョン 赤の救助隊 (Pokémon Mystery Dungeon: Red Rescue Team)",.tid=0x50000101D0B00,.region=1,.key=0},{.name="ポケモン不思議のダンジョン 青の救助隊 (Pokémon Mystery Dungeon: Blue Rescue Team)",.tid=0x50000101CC500,.region=1,.key=0},{.name="ポッ拳 POKKÉN TOURNAMENT",.tid=0x50000101C5800,.region=1,.key=0},{.name="ボンバーマン '93 (BOMBERMAN '93)",.tid=0x500001020AA00,.region=1,.key=0},{.name="ボンバーマン '94 (BOMBERMAN '94)",.tid=0x500001015C900,.region=1,.key=0},{.name="ボンバーマン ぱにっくボンバー (BOMBERMAN PANICBOMBER)",.tid=0x500001015D200,.region=1,.key=0},{.name="マーヴェラス ~もうひとつの宝島~ (Marvelous: Another Treasure Island)",.tid=0x500001015FE00,.region=1,.key=0},{.name="マイティー スイッチ フォース! ハイパードライブエディション (Mighty Switch Force!™ Hyper Drive Edition)",.tid=0x500001015EB00,.region=1,.key=0},{.name="マイティファイナルファイト (Mighty Final Fight)",.tid=0x5000010177A00,.region=1,.key=0},{.name="マイティボンジャック (Mighty Bomb Jack)",.tid=0x5000010158900,.region=1,.key=0},{.name="マグマックス (Magmax)",.tid=0x500001019FF00,.region=1,.key=0},{.name="マジカル ツリー (Magical Tree)",.tid=0x5000010194F00,.region=1,.key=0},{.name="マジカルバケーション (Magical Vacation)",.tid=0x50000101A3400,.region=1,.key=0},{.name="まちがいさがしパーティー (Spot the Differences! Party)",.tid=0x500001016B000,.region=1,.key=0},{.name="マッド・シティ (Mad City)",.tid=0x5000010186200,.region=1,.key=0},{.name="マッドアタック! マックスVS泥々星人 (Mutant Mudds Deluxe)",.tid=0x50000101CAA00,.region=1,.key=0},{.name="マッハライダー (Mach Rider)",.tid=0x5000010160700,.region=1,.key=0},{.name="マッピー (Mappy)",.tid=0x500001012A100,.region=1,.key=0},{.name="マッピーランド (Mappy-Land)",.tid=0x500001018B800,.region=1,.key=0},{.name="マリオ&ソニック AT ソチオリンピック (Mario & Sonic at the Sochi 2014 Olympic Winter Games)",.tid=0x5000010106900,.region=1,.key=0},{.name="マリオ&ソニック AT リオオリンピック (Mario & Sonic at the Rio 2016 Olympic Games)",.tid=0x50000101E5300,.region=2,.key=0},{.name="マリオ&ソニック AT リオオリンピック (Mario & Sonic at the Rio 2016 Olympic Games)",.tid=0x5000010190300,.region=1,.key=0},{.name="マリオ&ルイージRPG (Mario & Luigi RPG)",.tid=0x5000010157300,.region=1,.key=0},{.name="マリオ&ルイージRPG2 (Mario & Luigi: Partners in Time)",.tid=0x50000101A2100,.region=1,.key=0},{.name="マリオvs.ドンキーコング (Mario vs. Donkey Kong)",.tid=0x500001015DA00,.region=1,.key=0},{.name="マリオvs.ドンキーコング みんなでミニランド (Mario vs. Donkey Kong Tipping Stars)",.tid=0x5000010179200,.region=1,.key=0},{.name="マリオvs.ドンキーコング2 ミニミニ大行進! (Mario vs. Donkey Kong 2: March of the Minis)",.tid=0x50000101C8300,.region=1,.key=0},{.name="マリオオープンゴルフ (Mario Open Golf)",.tid=0x5000010152C00,.region=1,.key=0},{.name="マリオカート64 (Mario Kart 64)",.tid=0x50000101B4500,.region=1,.key=0},{.name="マリオカートDS (Mario Kart DS)",.tid=0x5000010195600,.region=1,.key=0},{.name="マリオカートアドバンス (Mario Kart Advance)",.tid=0x500001017D500,.region=1,.key=0},{.name="マリオゴルフ GBAツアー (Mario Golf: Advance Tour)",.tid=0x500001016F700,.region=1,.key=0},{.name="マリオゴルフ64 (Mario Golf 64)",.tid=0x50000101A5800,.region=1,.key=0},{.name="マリオストーリー (Mario Story)",.tid=0x5000010199600,.region=1,.key=0},{.name="マリオストライカーズ チャージド (Mario Strikers Charged Football)",.tid=0x50000101BDC00,.region=1,.key=0},{.name="マリオテニス ウルトラスマッシュ (Mario Tennis: Ultra Smash)",.tid=0x5000010199000,.region=1,.key=0},{.name="マリオテニス64 (Mario Tennis 64)",.tid=0x50000101A0F00,.region=1,.key=0},{.name="マリオテニスアドバンス (Mario Tennis Advance)",.tid=0x5000010169900,.region=1,.key=0},{.name="マリオのスーパーピクロス (Mario's Super Picross)",.tid=0x5000010115A00,.region=1,.key=0},{.name="マリオパーティ10 (Mario Party 10)",.tid=0x5000010161F00,.region=1,.key=0},{.name="マリオパーティ2 (Mario Party 2)",.tid=0x50000101C5C00,.region=1,.key=0},{.name="マリオパーティDS (Mario Party DS)",.tid=0x50000101D2200,.region=1,.key=0},{.name="マリオパーティアドバンス (Mario Party Advance)",.tid=0x5000010181000,.region=1,.key=0},{.name="マリオバスケ 3on3 (Mario Hoops 3-on-3)",.tid=0x50000101DA100,.region=1,.key=0},{.name="マリオブラザーズ (Mario Bros.)",.tid=0x5000010107B00,.region=1,.key=0},{.name="ミスタードリラー2 (Mr. Driller 2)",.tid=0x5000010169700,.region=1,.key=0},{.name="ミスタードリラーエース ふしぎなパクテリア (Mr. Driller Ace: Fushigi na Pacteria)",.tid=0x5000010197100,.region=1,.key=0},{.name="ミニマリオ & フレンズ amiiboチャレンジ (Mini Mario & Friends amiibo Challenge)",.tid=0x50000101C6100,.region=1,.key=0},{.name="ミリティア (Militia)",.tid=0x5000010186900,.region=1,.key=0},{.name="みんなで宇宙ツアー チャリ走DX2 (Bike Rider UltraDX GALAXY TOUR)",.tid=0x50000101D2D00,.region=1,.key=0},{.name="みんなのリズム天国 (Rhythm Heaven Fever)",.tid=0x50000101B0600,.region=1,.key=0},{.name="メイド イン ワリオ (Made in Wario)",.tid=0x5000010156C00,.region=1,.key=0},{.name="メタルスレイダーグローリー (Metal Slader Glory)",.tid=0x50000101A0700,.region=1,.key=0},{.name="メタルスレイダーグローリー ディレクターズカット (Metal Slader Glory)",.tid=0x50000101C2E00,.region=1,.key=0},{.name="メダロット・ナビ カブト (Medarot Navi: Kabuto)",.tid=0x50000101C4800,.region=1,.key=0},{.name="メダロット・ナビ クワガタ (Medarot Navi: Kuwagata)",.tid=0x50000101C4700,.region=1,.key=0},{.name="メダロットG カブトバージョン (Medabots AX: Metabee Version)",.tid=0x50000101AD400,.region=1,.key=0},{.name="メダロットG クワガタバージョン Medabots AX: Rokusho Version)",.tid=0x50000101AD100,.region=1,.key=0},{.name="メダロット弐CORE カブトVer. (Medabots: Metabee)",.tid=0x5000010198300,.region=1,.key=0},{.name="メダロット弐CORE クワガタVer. (Medabots: Rokusho)",.tid=0x5000010198000,.region=1,.key=0},{.name="メトロイド (Metroid)",.tid=0x500001012F300,.region=1,.key=0},{.name="メトロイド ゼロミッション (Metroid: Zero Mission)",.tid=0x500001016F900,.region=1,.key=0},{.name="メトロイド フュージョン (Metroid Fusion)",.tid=0x5000010157000,.region=1,.key=0},{.name="メトロイドプライム ハンターズ (Metroid Prime Hunters)",.tid=0x50000101B3A00,.region=1,.key=0},{.name="メトロクロス (Metro-Cross)",.tid=0x5000010190B00,.region=1,.key=0},{.name="もえろツインビー シナモン博士を救え! (Stinger)",.tid=0x500001018B400,.region=1,.key=0},{.name="モトローダー (MOTOROADER)",.tid=0x500001015CD00,.region=1,.key=0},{.name="モトローダーII (MOTOROADER II)",.tid=0x50000101E2500,.region=1,.key=0},{.name="モトローダーMC (MOTOROADER MC)",.tid=0x500001020AF00,.region=1,.key=0},{.name="モモンガ ピンボール アドベンチャー (Momonga Pinball Adventures)",.tid=0x50000101E4300,.region=1,.key=0},{.name="モンスターハンター 3(トライ)G HD Ver. (MONSTER HUNTER 3(tri-)G HD Ver.)",.tid=0x5000010104D00,.region=1,.key=0},{.name="モンスターハンター フロンティアG (Monster Hunter Frontier G)",.tid=0x500001014DA00,.region=1,.key=0},{.name="やわらかあたま塾 (Big Brain Academy)",.tid=0x5000010198B00,.region=1,.key=0},{.name="ヨッシー ウールワールド (Yoshi's Woolly World)",.tid=0x5000010131F00,.region=1,.key=0},{.name="ヨッシーアイランドDS (Yoshi's Island DS)",.tid=0x5000010198800,.region=1,.key=0},{.name="ヨッシーストーリー (Yoshi's Story)",.tid=0x50000101BB100,.region=1,.key=0},{.name="ヨッシーのたまご (Yoshi's Egg)",.tid=0x5000010114100,.region=1,.key=0},{.name="ライブ・ア・ライブ (Live A Live)",.tid=0x5000010189D00,.region=1,.key=0},{.name="ラストバイブルⅢ (Last Bible III)",.tid=0x5000010171600,.region=1,.key=0},{.name="ラッシング・ビート (Rushing Beat)",.tid=0x5000010191300,.region=1,.key=0},{.name="ラビッツランド (Rabbids Land)",.tid=0x5000010112700,.region=1,.key=0},{.name="ラングリッサー ~光輝の末裔~ (Langrisser)",.tid=0x50000101E2600,.region=1,.key=0},{.name="リトル インフェルノ (Little Inferno)",.tid=0x5000010176300,.region=1,.key=0},{.name="リンクの冒険 (Zelda II - The Adventure of Link)",.tid=0x500001012FF00,.region=1,.key=0},{.name="ルドラの秘宝 (Treasure of the Rudras)",.tid=0x50000101A7B00,.region=1,.key=0},{.name="レイマン レジェンド (Rayman Legends)",.tid=0x5000010112600,.region=1,.key=0},{.name="レヴナントサーガ (Revenant Saga)",.tid=0x5000010210200,.region=1,.key=0},{.name="レゴ®シティ アンダーカバー (LEGO® CITY UNDERCOVER)",.tid=0x5000010142F00,.region=1,.key=0},{.name="レジェンド・オブ・ヒーロー・トンマ (Legend of Hero Tonma)",.tid=0x5000010163600,.region=1,.key=0},{.name="レッキングクルー (Wrecking Crew)",.tid=0x500001012DE00,.region=1,.key=0},{.name="レッキングクルー'98 (Wrecking Crew '98)",.tid=0x50000101B5900,.region=1,.key=0},{.name="レッドアリーマーⅡ (Gargoyle's Quest II)",.tid=0x500001016C100,.region=1,.key=0},{.name="ロードファイター (ROAD FIGHTER)",.tid=0x5000010168500,.region=1,.key=0},{.name="ロードランナー (Lode Runner)",.tid=0x500001011AB00,.region=1,.key=0},{.name="ロックマン (Rockman)",.tid=0x5000010114400,.region=1,.key=0},{.name="ロックマン エグゼ (Rockman.EXE)",.tid=0x500001017A500,.region=1,.key=0},{.name="ロックマン エグゼ 2 (Battle Network Rockman EXE 2)",.tid=0x5000010188100,.region=1,.key=0},{.name="ロックマン エグゼ 3 (Battle Network Rockman EXE 3)",.tid=0x5000010188400,.region=1,.key=0},{.name="ロックマン エグゼ 3 BLACK (Battle Network Rockman EXE 3 Black)",.tid=0x5000010188700,.region=1,.key=0},{.name="ロックマン エグゼ 4 トーナメント ブルームーン (Rockman EXE 4 Blue Moon)",.tid=0x5000010192700,.region=1,.key=0},{.name="ロックマン エグゼ 4 トーナメント レッドサン (Rockman EXE 4 Red Sun)",.tid=0x5000010192A00,.region=1,.key=0},{.name="ロックマン エグゼ 4.5 リアルオペレーション (Rockman EXE 4.5 Real Operation)",.tid=0x50000101C3A00,.region=1,.key=0},{.name="ロックマン エグゼ 5 チーム オブ カーネル (Rockman EXE 5 Team of Colonel)",.tid=0x500001019F500,.region=1,.key=0},{.name="ロックマン エグゼ 5 チーム オブ ブルース (Rockman EXE 5 Team of Blues)",.tid=0x500001019F800,.region=1,.key=0},{.name="ロックマン エグゼ 6 電脳獣グレイガ (Rockman EXE 6 Cybeast Gregar)",.tid=0x50000101C0600,.region=1,.key=0},{.name="ロックマン エグゼ 6 電脳獣ファルザー (Rockman EXE 6 Cybeast Falzar)",.tid=0x50000101C0300,.region=1,.key=0},{.name="ロックマン ゼロ (Rockman Zero)",.tid=0x5000010180400,.region=1,.key=0},{.name="ロックマン ゼロ 2 (Rockman Zero 2)",.tid=0x500001018E900,.region=1,.key=0},{.name="ロックマン ゼロ 3 (Rockman Zero 3)",.tid=0x5000010192D00,.region=1,.key=0},{.name="ロックマン ゼロ 4 (Rockman Zero 4)",.tid=0x500001019F100,.region=1,.key=0},{.name="ロックマン&フォルテ (Rockman & Forte)",.tid=0x500001018E600,.region=1,.key=0},{.name="ロックマン2 Dr.ワイリーの謎 (Rockman 2)",.tid=0x5000010114700,.region=1,.key=0},{.name="ロックマン3 Dr.ワイリーの最期! (Mega Man 3)",.tid=0x5000010129E00,.region=1,.key=0},{.name="ロックマン4 新たなる野望!! (Mega Man 4)",.tid=0x500001012E600,.region=1,.key=0},{.name="ロックマン5 ブルースの罠! (Rockman 5)",.tid=0x500001016BE00,.region=1,.key=0},{.name="ロックマン6 史上最大の戦い!! (Rockman 6)",.tid=0x5000010160B00,.region=1,.key=0},{.name="ロックマン7 宿命の対決! (Rockman 7)",.tid=0x5000010174D00,.region=1,.key=0},{.name="ロックマンX (Mega Man X)",.tid=0x5000010130C00,.region=1,.key=0},{.name="ロックマンX2 (Mega Man X2)",.tid=0x5000010141600,.region=1,.key=0},{.name="ロックマンX3 (Mega Man X3)",.tid=0x5000010175100,.region=1,.key=0},{.name="ロックマンエグゼ バトルチップGP (Rockman.EXE Battle Chip GP)",.tid=0x500001017A400,.region=1,.key=0},{.name="ロデア・ザ・スカイソルジャー (RODEA THE SKYSOLDIER)",.tid=0x500001018C500,.region=1,.key=0},{.name="ロマンシング サ・ガ (Romancing SaGa)",.tid=0x5000010151600,.region=1,.key=0},{.name="ロマンシング サ・ガ2 (Romancing SaGa2)",.tid=0x5000010153E00,.region=1,.key=0},{.name="ロマンシング サ・ガ3 (Romancing SaGa 3)",.tid=0x5000010159300,.region=1,.key=0},{.name="ワイルドガンマン (Wild Gunman)",.tid=0x50000101A7100,.region=1,.key=0},{.name="わいわい!みんなでシューティング クラフトアイランドからの脱出! (Cocoto Magic Circus 2)",.tid=0x5000010182400,.region=1,.key=0},{.name="わいわい!みんなでチャレンジ (Spin the Bottle: Bumpie's Party)",.tid=0x500001016A600,.region=1,.key=0},{.name="ワイワイワールド2 SOS!!パセリ城 (Wai Wai World 2: SOS!! Parsley Jõ)",.tid=0x500001017F000,.region=1,.key=0},{.name="わがままファッション GIRLS MODE (Style Boutique)",.tid=0x50000101E6800,.region=1,.key=0},{.name="ワギャンランド (Wagyan Land)",.tid=0x5000010160F00,.region=1,.key=0},{.name="ワギャンランド2 (Wagyan Land 2)",.tid=0x5000010190A00,.region=1,.key=0},{.name="ワリオの森 (Wario's Woods)",.tid=0x5000010150700,.region=1,.key=0},{.name="ワリオランドアドバンス ヨーキのお宝 (Wario Land 4)",.tid=0x5000010169F00,.region=1,.key=0},{.name="ワリオランドシェイク (Wario Land Shake It)",.tid=0x50000101BDE00,.region=1,.key=0},{.name="ワルキューレの冒険 時の鍵伝説 (Valkyrie no Bõken: Toki no Kagi Densetsu)",.tid=0x5000010185E00,.region=1,.key=0},{.name="三國志12 (Romance of the Three Kingdoms 12)",.tid=0x5000010111C00,.region=1,.key=0},{.name="三國志12 with パワーアップキット (Romance of the Three Kingdoms 12 with Powerup kit)",.tid=0x5000010149000,.region=1,.key=0},{.name="三國志Ⅳ (Romance of The 3 Kingdoms IV Wall of Fire)",.tid=0x5000010134600,.region=1,.key=0},{.name="五目ならべ 連珠 (Gomoku Narabe Renju)",.tid=0x5000010177900,.region=1,.key=0},{.name="仮面ライダー バトライド・ウォーⅡ (KAMEN RIDER BATTRIDE WAR Ⅱ)",.tid=0x5000010170700,.region=1,.key=0},{.name="任天堂ゲームセミナー2013 受講生作品 (Nintendo Game Seminar 2013 Student Works)",.tid=0x5000010173000,.region=1,.key=0},{.name="任天堂ゲームセミナー2014 アルクラッシュ (Nintendo Game Seminar 2014 Ark Rush)",.tid=0x50000101B3600,.region=1,.key=0},{.name="任天堂ゲームセミナー2014 ジカンサタンサ (Nintendo Game Seminar 2014 Jikan Satansa)",.tid=0x50000101B3100,.region=1,.key=0},{.name="任天堂ゲームセミナー2014 ドキドキ手紙リレー (Nintendo Game Seminar 2014 Doki Doki Tegami Relay)",.tid=0x50000101B2F00,.region=1,.key=0},{.name="任天堂ゲームセミナー2014 ミチコジャンプ! (Nintendo Game Seminar 2014 Michiko Jump!)",.tid=0x50000101B3000,.region=1,.key=0},{.name="伝説のオウガバトル (Ogre Battle: The March of the Black Queen)",.tid=0x500001014B300,.region=1,.key=0},{.name="伝説のスタフィー (Densetsu no Stafy)",.tid=0x50000101A3200,.region=1,.key=0},{.name="伝説のスタフィー2 (Densetsu no Stafy 2)",.tid=0x50000101BBA00,.region=1,.key=0},{.name="伝説のスタフィー3 (Densetsu no Stafy 3)",.tid=0x50000101C3D00,.region=1,.key=0},{.name="光神話 パルテナの鏡 (Kid Icarus)",.tid=0x500001012FC00,.region=1,.key=0},{.name="出たな!! ツインビー (DETANA TWIN BEE)",.tid=0x500001015CA00,.region=1,.key=0},{.name="出前館 (Demaecan)",.tid=0x5000010102900,.region=1,.key=0},{.name="千年家族 (Sennen Kazoku)",.tid=0x50000101C9800,.region=1,.key=0},{.name="半熟英雄 (Hanjuku Hero)",.tid=0x500001015F600,.region=1,.key=0},{.name="夢大陸アドベンチャー (PENGUIN ADVENTURE)",.tid=0x5000010168200,.region=1,.key=0},{.name="大乱闘スマッシュブラザーズ for Wii U (Super Smash Bros. for Wii U)",.tid=0x5000010110E00,.region=1,.key=0},{.name="大航海時代Ⅱ (Uncharted Waters 2 - New Horizons)",.tid=0x5000010141100,.region=1,.key=0},{.name="太閤立志伝 (Taikou Risshiden)",.tid=0x5000010190F00,.region=1,.key=0},{.name="太鼓の達人 Wii Uば~じょん! (Taiko no Tatsujin Wii U version!)",.tid=0x5000010132200,.region=1,.key=0},{.name="太鼓の達人 あつめて★ともだち大作戦! (Taiko no Tatsujin Atsumete★ TomodachiDaisakusen!)",.tid=0x50000101D3000,.region=1,.key=0},{.name="太鼓の達人 特盛り! (Taiko no Tatsujin Tokumori!)",.tid=0x5000010192000,.region=1,.key=0},{.name="妖怪道中記 (Yokai Dochuki)",.tid=0x500001017F300,.region=1,.key=0},{.name="学校であった怖い話 (Gakkou de atta Kowai Hanashi)",.tid=0x5000010178200,.region=1,.key=0},{.name="宝島Z バルバロスの秘宝 (ZACK & WIKI Quest for Barbaros' Treasure)",.tid=0x50000101BD900,.region=1,.key=0},{.name="少女とロボット (The Girl and the Robot)",.tid=0x5000010214100,.region=1,.key=0},{.name="川のぬし釣り3&4 (Legend of the River King 3 & 4)",.tid=0x50000101C9900,.region=1,.key=0},{.name="川のぬし釣り5 ~不思議の森から~ (Legend of the River King 5)",.tid=0x50000101D0E00,.region=1,.key=0},{.name="平成 新・鬼ヶ島 前編 (Heisei Shin Onigashima: Zenpen)",.tid=0x5000010174C00,.region=1,.key=0},{.name="平成 新・鬼ヶ島 後編 (Heisei Shin Onigashima: Kõhen)",.tid=0x5000010178000,.region=1,.key=0},{.name="幻影異聞録♯FE (Tokyo Mirage Sessions #FE)",.tid=0x5000010131D00,.region=1,.key=0},{.name="引ク押ス ワールド (Pushmo World)",.tid=0x500001014C300,.region=1,.key=0},{.name="弟切草 (Otogirisõ)",.tid=0x5000010160200,.region=1,.key=0},{.name="影の伝説 (The Legend of Kage)",.tid=0x500001015F700,.region=1,.key=0},{.name="影の塔 (Lost in Shadow)",.tid=0x50000101B7C00,.region=1,.key=0},{.name="役満 鳳凰 (Yakuman Houou Mahjong)",.tid=0x5000010149700,.region=1,.key=0},{.name="忍者じゃじゃ丸くん (Ninja JaJaMaru-kun)",.tid=0x5000010129A00,.region=1,.key=0},{.name="忍者龍剣伝 (Ninja Gaiden)",.tid=0x5000010158600,.region=1,.key=0},{.name="怪盗ワリオ・ザ・セブン (Wario: Master of Disguise)",.tid=0x50000101ABD00,.region=1,.key=0},{.name="悪魔城ドラキュラ (Castlevania)",.tid=0x5000010151300,.region=1,.key=0},{.name="悪魔城ドラキュラ (Castlevania)",.tid=0x5000010194A00,.region=1,.key=0},{.name="悪魔城ドラキュラ (Vampire Killer)",.tid=0x5000010130900,.region=1,.key=0},{.name="悪魔城ドラキュラ ~サークル オブ ザ ムーン~ (Castlevania Circle of the Moon)",.tid=0x500001016F100,.region=1,.key=0},{.name="悪魔城ドラキュラXX (Castlevania Dracula X)",.tid=0x500001015FF00,.region=1,.key=0},{.name="悪魔城伝説 (Castlevania III: Dracula's Curse)",.tid=0x500001015F300,.region=1,.key=0},{.name="愛・超兄貴 (Ai Cho-Aniki)",.tid=0x50000101E2900,.region=1,.key=0},{.name="戦車SP (Tank SP)",.tid=0x5000010189500,.region=1,.key=0},{.name="改造町人シュビビンマン (Kaizou Chounin Shubibinman)",.tid=0x50000101E2200,.region=1,.key=0},{.name="改造町人シュビビンマン2 -新たなる敵- (Shockman)",.tid=0x500001015C100,.region=1,.key=0},{.name="改造町人シュビビンマン3 -異界のプリンセス- (Kaizou Chounin Shubibinman 3 Ikai no Princess)",.tid=0x50000101E2700,.region=1,.key=0},{.name="斬撃のREGINLEIV",.tid=0x50000101B1500,.region=1,.key=0},{.name="星のカービィ Wii (Kirby's Return to Dream Land)",.tid=0x500001019D400,.region=1,.key=0},{.name="星のカービィ スーパーデラックス (Kirby Super Star)",.tid=0x5000010109C00,.region=1,.key=0},{.name="星のカービィ 参上!ドロッチェ団 (Kirby Squeak Squad)",.tid=0x50000101A5500,.region=1,.key=0},{.name="星のカービィ 夢の泉デラックス (Kirby: Nightmare in Dream Land)",.tid=0x500001016F300,.region=1,.key=0},{.name="星のカービィ 夢の泉の物語 (Kirby's Adventure)",.tid=0x5000010107700,.region=1,.key=0},{.name="星のカービィ 鏡の大迷宮 (Kirby & The Amazing Mirror)",.tid=0x500001015DD00,.region=1,.key=0},{.name="星のカービィ3 (Kirby's Dream Land 3)",.tid=0x5000010115200,.region=1,.key=0},{.name="星のカービィ64 (Kirby 64 The Crystal Shards)",.tid=0x50000101A0D00,.region=1,.key=0},{.name="晦-つきこもり (Kai: Tsukikomori)",.tid=0x5000010196700,.region=1,.key=0},{.name="最後の忍道 (Ninja Spirit)",.tid=0x5000010163900,.region=1,.key=0},{.name="月風魔伝 (Getsu Fūma Den)",.tid=0x500001018B100,.region=1,.key=0},{.name="朧村正 (Muramasa: The Demon Blade)",.tid=0x50000101B7400,.region=1,.key=0},{.name="毛糸のカービィ (Kirby's Epic Yarn)",.tid=0x50000101B1600,.region=1,.key=0},{.name="沈黙の遺跡 ~エストポリス外伝~ (Lufia - The Ruins of Lore)",.tid=0x50000101D2700,.region=1,.key=0},{.name="沙羅曼蛇 (SALAMANDER)",.tid=0x500001015C800,.region=1,.key=0},{.name="沙羅曼蛇 (SALAMANDER)",.tid=0x5000010168B00,.region=1,.key=0},{.name="沙羅曼蛇 (Salamander)",.tid=0x5000010170E00,.region=1,.key=0},{.name="無双OROCHI2 Hyper (WARRIORS OROCHI 3 Hyper(JP))",.tid=0x500001010EA00,.region=1,.key=0},{.name="熱血硬派くにおくん (Renegade)",.tid=0x5000010153300,.region=1,.key=0},{.name="熱血高校ドッジボール部 (Super Dodge Ball)",.tid=0x5000010151000,.region=1,.key=0},{.name="熱血高校ドッジボール部 サッカー編 (Nintendo World Cup)",.tid=0x500001015FA00,.region=1,.key=0},{.name="燃えろ!!プロ野球 (Bases Loaded)",.tid=0x500001016BA00,.region=1,.key=0},{.name="爆BOMBERMAN (Bomberman 64)",.tid=0x50000101FE700,.region=1,.key=0},{.name="牧場物語2 (Harvest Moon 64)",.tid=0x50000101FE900,.region=1,.key=0},{.name="真・北斗無双 (Fist of the North Star: Ken's Rage 2)",.tid=0x5000010116600,.region=1,.key=0},{.name="真・女神転生 (Shin Megami Tensei)",.tid=0x500001012EC00,.region=1,.key=0},{.name="真・女神転生if... (Shin Megami Tensei if…)",.tid=0x5000010141500,.region=1,.key=0},{.name="真・女神転生Ⅱ (Shin Megami Tensei II)",.tid=0x5000010141400,.region=1,.key=0},{.name="立体ピクロス (Picross 3D)",.tid=0x50000101E6C00,.region=1,.key=0},{.name="絵心教室 スケッチ (Art Academy: SketchPad)",.tid=0x5000010142B00,.region=1,.key=0},{.name="罪と罰 地球の継承者 (Sin & Punishment)",.tid=0x50000101B4700,.region=1,.key=0},{.name="罪と罰 宇宙の後継者 (Sin & Punishment: Star Successor)",.tid=0x50000101B0900,.region=1,.key=0},{.name="美少女雀士スーチーパイ (Bishõjo Janshi Suchie-Pai)",.tid=0x50000101A0B00,.region=1,.key=0},{.name="聖剣伝説2 (Seiken Densetsu 2)",.tid=0x5000010143700,.region=1,.key=0},{.name="脳を鍛える大人のDSトレーニング (Brain Age: Train Your Brain In Minutes A Day)",.tid=0x5000010179A00,.region=1,.key=0},{.name="藤子・F・不二雄キャラクターズ 大集合!SFドタバタパーティー!! ((Fujiko F. Fujio Characters Daishuugou! SF Dotabata Party!!))",.tid=0x500001018C400,.region=1,.key=0},{.name="謎の村雨城 (The Mysterious Murasame Castle)",.tid=0x5000010170A00,.region=1,.key=0},{.name="豪血寺一族 (Power Instinct)",.tid=0x5000010196A00,.region=1,.key=0},{.name="超人ウルトラベースボール (Baseball Simulator 1000)",.tid=0x50000101A7400,.region=1,.key=0},{.name="超兄貴 (Cho-Aniki)",.tid=0x50000101E2800,.region=1,.key=0},{.name="超惑星戦記 メタファイト (Blaster Master)",.tid=0x500001018BC00,.region=1,.key=0},{.name="超魔界村 (Super Ghouls'n Ghosts)",.tid=0x5000010119F00,.region=1,.key=0},{.name="超魔界村 R (Super Ghouls 'N Ghosts)",.tid=0x500001018E300,.region=1,.key=0},{.name="逆転裁判 (Ace Attorney)",.tid=0x5000010197000,.region=1,.key=0},{.name="逆転裁判 2 (Phoenix Wright: Ace Attorney - Justice for All)",.tid=0x50000101AEA00,.region=1,.key=0},{.name="逆転裁判 3 (Ace Attorney – Trials and Tribulations)",.tid=0x50000101C3B00,.region=1,.key=0},{.name="通勤ヒトフデ (Polarium Advance)",.tid=0x50000101B9E00,.region=1,.key=0},{.name="進め!キノピオ隊長 (Captain Toad: Treasure Tracker)",.tid=0x5000010180500,.region=1,.key=0},{.name="運命の洞窟 THE CAVE",.tid=0x5000010135600,.region=1,.key=0},{.name="邪聖剣ネクロマンサー (NECROMANCER)",.tid=0x500001020AB00,.region=1,.key=0},{.name="重装機兵ヴァルケン (Assault Suits Valken)",.tid=0x5000010140D00,.region=1,.key=0},{.name="鉄拳タッグトーナメント2 Wii U EDITION (TEKKEN TAG TOURNAMENT 2 Wii U EDITION)",.tid=0x5000010100600,.region=1,.key=0},{.name="銀星将棋 強天怒闘風雷神 (Ginsei Shogi: Kyoutendo Toufuu Raijin)",.tid=0x5000010140600,.region=1,.key=0},{.name="闘いの挽歌 (Trojan)",.tid=0x500001017F200,.region=1,.key=0},{.name="零 ~濡鴉ノ巫女~ (Project Zero Maiden of Black Water)",.tid=0x500001014D200,.region=1,.key=0},{.name="零 ~眞紅の蝶~ (Zero ~Crimson Butterfly~)",.tid=0x50000101B2300,.region=1,.key=0},{.name="風のクロノア ~夢見る帝国~ (Klonoa Empire of Dreams)",.tid=0x5000010169800,.region=1,.key=0},{.name="風のクロノアG2 ドリームチャンプ・トーナメント (Klonoa 2 Dream Champ Tournament)",.tid=0x5000010184200,.region=1,.key=0},{.name="飛装騎兵カイザード (X・SERD)",.tid=0x500001020AD00,.region=1,.key=0},{.name="飛龍の拳 奥義の書 (Flying Dragon: The Secret Scroll)",.tid=0x500001015FB00,.region=1,.key=0},{.name="飛龍の拳Ⅱ ドラゴンの翼 (Hiryū no Ken II Dragon no Tsubasa)",.tid=0x500001019FC00,.region=1,.key=0},{.name="高橋名人の冒険島 (Adventure Island)",.tid=0x5000010134000,.region=1,.key=0},{.name="高橋名人の新冒険島 (New Adventure Island)",.tid=0x500001015B700,.region=1,.key=0},{.name="鬼武者~Onimusha Tactics~",.tid=0x50000101A9400,.region=1,.key=0},{.name="魂斗羅 (Contra)",.tid=0x5000010168700,.region=1,.key=0},{.name="魂斗羅スピリッツ (Contra Spirits)",.tid=0x500001012ED00,.region=1,.key=0},{.name="魂斗羅ハードスピリッツ (Contra Hard Spirits)",.tid=0x50000101AE600,.region=1,.key=0},{.name="魔城伝説 (Knightmare)",.tid=0x5000010168800,.region=1,.key=0},{.name="魔界村 (Ghosts'n Goblins)",.tid=0x5000010134300,.region=1,.key=0},{.name="魔神転生 (Majin Tensei)",.tid=0x5000010191000,.region=1,.key=0},{.name="魔神転生Ⅱ SPIRAL NEMESIS",.tid=0x50000101A0C00,.region=1,.key=0},{.name="黄金の太陽 失われし時代 (Golden Sun: The Lost Age)",.tid=0x5000010176C00,.region=1,.key=0},{.name="黄金の太陽 開かれし封印 (Golden Sun)",.tid=0x500001015D700,.region=1,.key=0},{.name="龍が如く 1&2 HD for Wii U (Ryu-ga gotoku 1&2 HD for Wii U)",.tid=0x5000010136500,.region=1,.key=0},{.name="(Demo) A World Of Keflings",.tid=0x500021017B301,.region=2,.key=0},{.name="(Demo) FIFA 13",.tid=0x500021010EE01,.region=4,.key=0},{.name="(Demo) FIFA Soccer 13",.tid=0x500021010D901,.region=2,.key=0},{.name="(Demo) MONSTER HUNTER 3 ULTIMATE",.tid=0x5000210117201,.region=4,.key=0},{.name="(Demo) MONSTER HUNTER 3 ULTIMATE",.tid=0x5000210118301,.region=2,.key=0},{.name="(Demo) PIKMIN 3",.tid=0x500021012BE01,.region=4,.key=0},{.name="(Demo) PIKMIN 3",.tid=0x500021012BD01,.region=2,.key=0},{.name="(Demo) PIKMIN 3",.tid=0x500021012BC01,.region=1,.key=0},{.name="(Demo) Sonic & All-Stars Racing Transformed",.tid=0x5000210111F01,.region=4,.key=0},{.name="(Demo) Sonic & All-Stars Racing Transformed",.tid=0x500021010B301,.region=2,.key=0},{.name="(Demo) Sonic Boom: Rise of Lyric",.tid=0x5000210177801,.region=4,.key=0},{.name="(Demo) Sonic Boom: Rise of Lyric",.tid=0x5000210175B01,.region=2,.key=0},{.name="(Demo) Sonic Toon: Ancients' Secret Treasure",.tid=0x5000210191F01,.region=1,.key=0},{.name="3Souls (Demo)",.tid=0x500021017E201,.region=4,.key=0},{.name="3Souls (Demo)",.tid=0x500021017E701,.region=2,.key=0},{.name="6180 the moon (体験版) (6180 the moon (Demo))",.tid=0x50002101F8F01,.region=1,.key=0},{.name="BAYONETTA 2 DEMO",.tid=0x5000210172701,.region=4,.key=0},{.name="BAYONETTA 2 DEMO",.tid=0x5000210172601,.region=2,.key=0},{.name="BIOHAZARD REVELATIONS Unveiled Edition (Demo)",.tid=0x5000210113101,.region=1,.key=0},{.name="BIT.TRIP Presents... Runner2 (Demo)",.tid=0x500021011AF01,.region=2,.key=0},{.name="Blasting Agent Ultimate Edition (DEMO)",.tid=0x50002101FA901,.region=4,.key=0},{.name="Blasting Agent Ultimate Edition (DEMO)",.tid=0x50002101FAA01,.region=2,.key=0},{.name="Chasing Aurora Demo",.tid=0x5000210117701,.region=4,.key=0},{.name="Chasing Aurora Demo",.tid=0x500021011C001,.region=2,.key=0},{.name="Citizens of Earth Demo",.tid=0x5000210180B01,.region=4,.key=0},{.name="Citizens of Earth Demo",.tid=0x5000210177201,.region=2,.key=0},{.name="Color Zen Demo",.tid=0x5000210162301,.region=4,.key=0},{.name="Color Zen Demo",.tid=0x500021016CE01,.region=2,.key=0},{.name="Cube Life: Island Survival Demo",.tid=0x50002101A6301,.region=4,.key=0},{.name="Cube Life: Island Survival Demo",.tid=0x50002101A6401,.region=2,.key=0},{.name="Cube Life: Pixel Action Heroes Demo",.tid=0x50002101A4E01,.region=4,.key=0},{.name="Cube Life: Pixel Action Heroes Demo",.tid=0x50002101A4F01,.region=2,.key=0},{.name="Cubit The Robot HD - Demo",.tid=0x500021020F101,.region=4,.key=0},{.name="Cubit The Robot HD - Demo",.tid=0x5000210205001,.region=2,.key=0},{.name="Demo - Art of Balance",.tid=0x5000210149401,.region=4,.key=0},{.name="Demo - Art of Balance",.tid=0x5000210135001,.region=2,.key=0},{.name="Demo - Art of Balance",.tid=0x500021017CB01,.region=1,.key=0},{.name="Demo - Nano Assault Neo",.tid=0x5000210110601,.region=4,.key=0},{.name="Demo - Nano Assault Neo",.tid=0x5000210110101,.region=2,.key=0},{.name="DEMO - NANO ASSAULT NEO",.tid=0x5000210136401,.region=1,.key=0},{.name="Demo Ryu-ga gotoku 1&2 HD (Yakuza 1 & 2 HD Edition)",.tid=0x5000210136501,.region=1,.key=0},{.name="Demo The Wonderful 101",.tid=0x5000210135301,.region=4,.key=0},{.name="Demo The Wonderful 101",.tid=0x500021012DC01,.region=2,.key=0},{.name="Demo The Wonderful 101",.tid=0x5000210116301,.region=1,.key=0},{.name="Discovery Demo",.tid=0x50002101E8301,.region=4,.key=0},{.name="EDGE たいけんばん (EDGE Trial version)",.tid=0x500021017C901,.region=1,.key=0},{.name="Flowerworks HD Follie's Adventure (Demo)",.tid=0x500021017ED01,.region=4,.key=0},{.name="Flowerworks HD Follie's Adventure (Demo)",.tid=0x500021016FF01,.region=2,.key=0},{.name="Horror Stories Demo",.tid=0x5000210219B01,.region=4,.key=0},{.name="Horror Stories Demo",.tid=0x5000210219A01,.region=2,.key=0},{.name="JUST DANCE® 2016 (Demo)",.tid=0x50002101B9801,.region=4,.key=0},{.name="JUST DANCE® 2016 (Demo)",.tid=0x50002101B9001,.region=2,.key=0},{.name="JUST DANCE® 2017 (DEMO)",.tid=0x50002101EAA01,.region=4,.key=0},{.name="JUST DANCE® 2017 (DEMO)",.tid=0x50002101EB201,.region=2,.key=0},{.name="JUST DANCE® 2018 (DEMO)",.tid=0x5000210210C01,.region=4,.key=0},{.name="JUST DANCE® 2018 (DEMO)",.tid=0x5000210211301,.region=2,.key=0},{.name="JUST DANCE® 2019 (Demo)",.tid=0x5000210217001,.region=4,.key=0},{.name="JUST DANCE® 2019 (Demo)",.tid=0x5000210217301,.region=2,.key=0},{.name="LEGO® Avengers DEMO",.tid=0x50002101BE901,.region=4,.key=0},{.name="LEGO® Avengers DEMO",.tid=0x50002101BEF01,.region=2,.key=0},{.name="LEGO® Batman™ 3 Demo Beyond Gotham",.tid=0x500021016AD01,.region=2,.key=0},{.name="LEGO® MARVEL Demo",.tid=0x5000210132401,.region=4,.key=0},{.name="Mario & Sonic at the Rio 2016 Olympic Games (Demo)",.tid=0x50002101E5401,.region=4,.key=0},{.name="NBA 2K13 Demo",.tid=0x5000210112F01,.region=4,.key=0},{.name="NBA 2K13 Demo",.tid=0x500021010DA01,.region=2,.key=0},{.name="Pic-a-Pix Color (Demo)",.tid=0x500021020D701,.region=2,.key=0},{.name="Pic-a-Pix Colour (Demo)",.tid=0x500021020D101,.region=4,.key=0},{.name="Plantera (DEMO)",.tid=0x5000210204401,.region=4,.key=0},{.name="Plantera (DEMO)",.tid=0x5000210204801,.region=2,.key=0},{.name="POKKÉN TOURNAMENT Demo",.tid=0x50002101DF501,.region=4,.key=0},{.name="POKKÉN TOURNAMENT Demo",.tid=0x50002101DF401,.region=2,.key=0},{.name="PUYOPUYOTETRIS Demo",.tid=0x500021014D901,.region=1,.key=0},{.name="Rayman Legends Demo",.tid=0x5000210111401,.region=4,.key=0},{.name="Rayman Legends Demo",.tid=0x500021010B101,.region=2,.key=0},{.name="RESIDENT EVIL REVELATIONS (Demo)",.tid=0x500021012B401,.region=4,.key=0},{.name="RESIDENT EVIL REVELATIONS (Demo)",.tid=0x500021012CF01,.region=2,.key=0},{.name="Runbow (Demo)",.tid=0x50002101D6D01,.region=4,.key=0},{.name="Runbow (Demo)",.tid=0x5000210183001,.region=2,.key=0},{.name="Runbow (Demo)",.tid=0x50002101DD701,.region=1,.key=0},{.name="SDK Paint Demo",.tid=0x50002101AEB01,.region=4,.key=0},{.name="SDK Paint Demo",.tid=0x500021017EB01,.region=2,.key=0},{.name="SDK Spriter DEMO",.tid=0x50002101B9701,.region=4,.key=0},{.name="SDK Spriter DEMO",.tid=0x50002101AA301,.region=2,.key=0},{.name="Shiny The Firefly (Demo)",.tid=0x5000210180D01,.region=4,.key=0},{.name="Shiny The Firefly (Demo)",.tid=0x5000210179601,.region=2,.key=0},{.name="SONIC LOST WORLD (Demo)",.tid=0x500021012B101,.region=4,.key=0},{.name="SONIC LOST WORLD (Demo)",.tid=0x5000210128F01,.region=2,.key=0},{.name="SONIC LOST WORLD (Demo)",.tid=0x5000210135701,.region=1,.key=0},{.name="Spin the Bottle: Bumpie's Party (Demo version)",.tid=0x5000210138701,.region=4,.key=0},{.name="Spin the Bottle: Bumpie's Party (Demo version)",.tid=0x5000210147F01,.region=2,.key=0},{.name="The Cave (Demo)",.tid=0x500021012B501,.region=4,.key=0},{.name="The Cave (Demo)",.tid=0x500021010FA01,.region=2,.key=0},{.name="TOKI TORI 2+ 秘められた謎と不思議な島 体験版 (Toki Tori 2+ A hidden mystery and a mysterious island Demo)",.tid=0x500021017CA01,.region=1,.key=0},{.name="Trine 2 Director's Cut (Demo)",.tid=0x5000210112201,.region=4,.key=0},{.name="Trine 2 Director's Cut (Demo)",.tid=0x5000210128A01,.region=2,.key=0},{.name="Trine Enchanted Edition (Demo)",.tid=0x5000210189C01,.region=4,.key=0},{.name="Trine Enchanted Edition (Demo)",.tid=0x5000210189E01,.region=2,.key=0},{.name="Typoman Demo",.tid=0x50002101CE001,.region=4,.key=0},{.name="Typoman Demo",.tid=0x50002101C6C01,.region=2,.key=0},{.name="Vector Assault (Demo)",.tid=0x50002101AA201,.region=2,.key=0},{.name="Wooden Sen'SeY Demo",.tid=0x5000210152701,.region=4,.key=0},{.name="Wooden Sen'SeY Demo",.tid=0x5000210158301,.region=2,.key=0},{.name="Word Logic by POWGI (Demo)",.tid=0x50002101FFA01,.region=4,.key=0},{.name="Word Logic by POWGI (Demo)",.tid=0x50002101FCE01,.region=2,.key=0},{.name="Word Party (Demo)",.tid=0x50002101C4A01,.region=4,.key=0},{.name="Word Party (Demo)",.tid=0x50002101C5501,.region=2,.key=0},{.name="Word Puzzles by POWGI (Demo)",.tid=0x50002101CF901,.region=4,.key=0},{.name="Word Puzzles by POWGI (Demo)",.tid=0x50002101CFA01,.region=2,.key=0},{.name="Word Search by POWGI (Demo)",.tid=0x50002101C3901,.region=4,.key=0},{.name="Word Search by POWGI (Demo)",.tid=0x50002101BCF01,.region=2,.key=0},{.name="XType+ (体験版) (XType+ (Demo))",.tid=0x50002101A2E01,.region=1,.key=0},{.name="ZaciSa: Defense of the Crayon Dimension! Demo",.tid=0x50002101BB301,.region=4,.key=0},{.name="ZaciSa's Last Stand Demo",.tid=0x500021016E601,.region=2,.key=0},{.name="Zombeer (Demo)",.tid=0x500021019EA01,.region=2,.key=0},{.name="ZombiU Demo",.tid=0x500021010EF01,.region=4,.key=0},{.name="ZombiU Demo",.tid=0x500021010DD01,.region=2,.key=0},{.name="ZombiU Demo",.tid=0x5000210112301,.region=1,.key=0},{.name="おきらくテニスSP(体験版) (Family Tennis SP (Demo))",.tid=0x500021015EA01,.region=1,.key=0},{.name="キューブライフ: アイランドサバイバル 体験版 (Cube Life: Island Survival Demo)",.tid=0x50002101E9C01,.region=1,.key=0},{.name="キューブライフ: ピクセルアクションヒーローズ体験版 (Cube Life: Pixel Action Heroes Demo)",.tid=0x5000210212201,.region=1,.key=0},{.name="サイコロの森 3-in-1(体験版) (Tabletop Gallery (Demo))",.tid=0x50002101C5901,.region=1,.key=0},{.name="チャリ走 Ultra DX 世界ツアー(体験版) (Bike Rider UltraDX WORLD TOUR(DEMO))",.tid=0x50002101D2C01,.region=1,.key=0},{.name="ねじ巻きナイト2(体験版) (Wind-up Knight 2 (DEMO))",.tid=0x50002101BBF01,.region=1,.key=0},{.name="ヒラメキパズル テトグラム(体験版) (Pentapuzzle (Demo))",.tid=0x50002101D8B01,.region=1,.key=0},{.name="プランテラ ガーデンライフ (体験版) (Plantera (DEMO))",.tid=0x500021020DE01,.region=1,.key=0},{.name="ブロック ビルダー(体験版) (Discovery (Demo Version))",.tid=0x50002101F7201,.region=1,.key=0},{.name="マッドアタック! マックスVS泥々星人(体験版) (Mutant Mudds Deluxe (Demo))",.tid=0x50002101CAA01,.region=1,.key=0},{.name="マリオ&ソニック AT リオオリンピック (体験版) (Mario & Sonic at the Rio 2016 Olympic Games (Demo))",.tid=0x5000210190301,.region=1,.key=0},{.name="モモンガ ピンボール アドベンチャー (たいけんばん) (Momonga Pinball Adventures (Demo))",.tid=0x50002101E4301,.region=1,.key=0},{.name="わいわい!みんなでチャレンジ (体験版) (Spin The Bottle: Bumpie's Party (Demo))",.tid=0x500021016A601,.region=1,.key=0},{.name="体験版 ご当地鉄道 ~ご当地キャラと日本全国の旅~ (Demo Local Railway)",.tid=0x500021017B601,.region=1,.key=0},{.name="体験版Disney INFINITY",.tid=0x500021015A301,.region=1,.key=0},{.name="藤子・F・不二雄キャラクターズ 大集合!SFドタバタパーテ…体験版 ((Fujiko F. Fujio Characters Daishuugou! SF Dotabata Party!! Demo)",.tid=0x500021018C401,.region=1,.key=0},{.name="運命の洞窟 THE CAVE (体験版)",.tid=0x5000210135601,.region=1,.key=0},{.name="\"Version.bin\"",.tid=0x5001010041200,.region=4,.key=6},{.name="\"Version.bin\"",.tid=0x5001010041100,.region=2,.key=6},{.name="\"Version.bin\"",.tid=0x5001010041000,.region=1,.key=6},{.name="Account Settings",.tid=0x500101004B200,.region=4,.key=6},{.name="Account Settings",.tid=0x500101004B100,.region=2,.key=6},{.name="Account Settings",.tid=0x500101004B000,.region=1,.key=6},{.name="Bluetooth firmware",.tid=0x5001010000400,.region=7,.key=6},{.name="boot1",.tid=0x5001010000100,.region=7,.key=6},{.name="Daily Log",.tid=0x500101004C200,.region=4,.key=6},{.name="Daily Log",.tid=0x500101004C100,.region=2,.key=6},{.name="Daily Log",.tid=0x500101004C000,.region=1,.key=6},{.name="DRC firmware",.tid=0x5001010043200,.region=4,.key=6},{.name="DRC firmware",.tid=0x5001010043100,.region=2,.key=6},{.name="DRC firmware",.tid=0x5001010043000,.region=1,.key=6},{.name="DRH firmware",.tid=0x5001010000200,.region=7,.key=6},{.name="ECO process",.tid=0x5001010066000,.region=7,.key=6},{.name="Health and Safety Information",.tid=0x500101004E200,.region=4,.key=6},{.name="Health and Safety Information",.tid=0x500101004E100,.region=2,.key=6},{.name="Health and Safety Information",.tid=0x500101004E000,.region=1,.key=6},{.name="Mii Maker",.tid=0x500101004A200,.region=4,.key=6},{.name="Mii Maker",.tid=0x500101004A100,.region=2,.key=6},{.name="Mii Maker",.tid=0x500101004A000,.region=1,.key=6},{.name="Notifications",.tid=0x500101004D200,.region=4,.key=6},{.name="Notifications",.tid=0x500101004D100,.region=2,.key=6},{.name="Notifications",.tid=0x500101004D000,.region=1,.key=6},{.name="OSv0",.tid=0x5001010004000,.region=7,.key=6},{.name="OSv1",.tid=0x5001010004001,.region=7,.key=6},{.name="OSv10",.tid=0x500101000400A,.region=7,.key=6},{.name="OSv255",.tid=0x50010100040FF,.region=7,.key=6},{.name="OSv9",.tid=0x5001010004009,.region=7,.key=6},{.name="Parental Controls",.tid=0x5001010048200,.region=4,.key=6},{.name="Parental Controls",.tid=0x5001010048100,.region=2,.key=6},{.name="Parental Controls",.tid=0x5001010048000,.region=1,.key=6},{.name="Software/Data Transfer",.tid=0x5001010062200,.region=4,.key=6},{.name="Software/Data Transfer",.tid=0x5001010062100,.region=2,.key=6},{.name="Software/Data Transfer",.tid=0x5001010062000,.region=1,.key=6},{.name="System Settings",.tid=0x5001010047200,.region=4,.key=6},{.name="System Settings",.tid=0x5001010047100,.region=2,.key=6},{.name="System Settings",.tid=0x5001010047000,.region=1,.key=6},{.name="System Updater",.tid=0x5001010045200,.region=4,.key=6},{.name="System Updater",.tid=0x5001010045100,.region=2,.key=6},{.name="System Updater",.tid=0x5001010045000,.region=1,.key=6},{.name="texture atlas for gamepad (tv remote)",.tid=0x5001010044200,.region=4,.key=6},{.name="texture atlas for gamepad (tv remote)",.tid=0x5001010044100,.region=2,.key=6},{.name="texture atlas for gamepad (tv remote)",.tid=0x5001010044000,.region=1,.key=6},{.name="User Settings",.tid=0x5001010049200,.region=4,.key=6},{.name="User Settings",.tid=0x5001010049100,.region=2,.key=6},{.name="User Settings",.tid=0x5001010049000,.region=1,.key=6},{.name="Wii U Chat",.tid=0x500101005A200,.region=4,.key=6},{.name="Wii U Chat",.tid=0x500101005A100,.region=2,.key=6},{.name="Wii U Chat",.tid=0x500101005A000,.region=1,.key=6},{.name="Wii U Menu",.tid=0x5001010040200,.region=4,.key=6},{.name="Wii U Menu",.tid=0x5001010040100,.region=2,.key=6},{.name="Wii U Menu",.tid=0x5001010040000,.region=1,.key=6},{.name="\"live.dat\"",.tid=0x5001B10065000,.region=7,.key=6},{.name="\"masterkey.bin\"",.tid=0x5001B10069200,.region=4,.key=6},{.name="\"masterkey.bin\"",.tid=0x5001B10069100,.region=2,.key=6},{.name="\"masterkey.bin\"",.tid=0x5001B10069000,.region=1,.key=6},{.name="\"trial_list.xml\"",.tid=0x5001B1006C000,.region=4,.key=6},{.name="\"WagonU list of files/folder for migration\"",.tid=0x5001B10063000,.region=7,.key=6},{.name="app.xml, cos.xml, patch_map.txt",.tid=0x5001B1005F000,.region=7,.key=6},{.name="Browser default sites and bad words filter",.tid=0x5001B10053000,.region=7,.key=6},{.name="Caffeine TitleID list",.tid=0x5001B10067200,.region=4,.key=6},{.name="Caffeine TitleID list",.tid=0x5001B10067100,.region=2,.key=6},{.name="Caffeine TitleID list",.tid=0x5001B10067000,.region=1,.key=6},{.name="Contains exceptions.txt file",.tid=0x5001B10042300,.region=7,.key=6},{.name="Country and language data for nn_ec.rpl",.tid=0x5001B1005C000,.region=7,.key=6},{.name="Country/Location data",.tid=0x5001B10052000,.region=7,.key=6},{.name="DeviceEula",.tid=0x5001B10050000,.region=7,.key=6},{.name="ErrEula",.tid=0x5001B10051000,.region=7,.key=6},{.name="FFLResHigh.dat, FFLResHighLG.dat",.tid=0x5001B10056000,.region=7,.key=6},{.name="Fonts",.tid=0x5001B10042400,.region=7,.key=6},{.name="key and cert files",.tid=0x5001B10054000,.region=7,.key=6},{.name="MCP TitleID list...?",.tid=0x5001B10068000,.region=7,.key=6},{.name="Resources for DRMApp",.tid=0x5001B10058000,.region=7,.key=6},{.name="sound.z, splash.z",.tid=0x5001B10057000,.region=7,.key=6},{.name="SWKBD (Software Keyboard) related",.tid=0x5001B1004F000,.region=7,.key=6},{.name="Wii U Electronic Manual",.tid=0x5001B10059200,.region=4,.key=6},{.name="Wii U Electronic Manual",.tid=0x5001B10059100,.region=2,.key=6},{.name="Wii U Electronic Manual",.tid=0x5001B10059000,.region=1,.key=6},{.name="amiibo Settings",.tid=0x500301006D20A,.region=4,.key=6},{.name="amiibo Settings",.tid=0x500301006D10A,.region=2,.key=6},{.name="amiibo Settings",.tid=0x500301006D00A,.region=1,.key=6},{.name="AOC Overlay App",.tid=0x500301001A10A,.region=7,.key=6},{.name="Download Management",.tid=0x500301001820A,.region=4,.key=6},{.name="Download Management",.tid=0x500301001810A,.region=2,.key=6},{.name="Download Management",.tid=0x500301001800A,.region=1,.key=6},{.name="Error (OSv10)",.tid=0x500301001120A,.region=4,.key=6},{.name="Error (OSv10)",.tid=0x500301001110A,.region=2,.key=6},{.name="Error (OSv10)",.tid=0x500301001100A,.region=1,.key=6},{.name="Error (OSv255)",.tid=0x50030100112FF,.region=4,.key=6},{.name="Error (OSv255)",.tid=0x50030100111FF,.region=2,.key=6},{.name="Error (OSv255)",.tid=0x50030100110FF,.region=1,.key=6},{.name="Error (OSv9)",.tid=0x5003010011209,.region=4,.key=6},{.name="Error (OSv9)",.tid=0x5003010011109,.region=2,.key=6},{.name="Error (OSv9)",.tid=0x5003010011009,.region=1,.key=6},{.name="Friend List",.tid=0x500301001520A,.region=4,.key=6},{.name="Friend List",.tid=0x500301001510A,.region=2,.key=6},{.name="Friend List",.tid=0x500301001500A,.region=1,.key=6},{.name="HOME Menu (OSv10)",.tid=0x500301001020A,.region=4,.key=6},{.name="HOME Menu (OSv10)",.tid=0x500301001010A,.region=2,.key=6},{.name="HOME Menu (OSv10)",.tid=0x500301001000A,.region=1,.key=6},{.name="HOME Menu (OSv9)",.tid=0x5003010010209,.region=4,.key=6},{.name="HOME Menu (OSv9)",.tid=0x5003010010109,.region=2,.key=6},{.name="HOME Menu (OSv9)",.tid=0x5003010010009,.region=1,.key=6},{.name="Internet Browser",.tid=0x500301001220A,.region=4,.key=6},{.name="Internet Browser",.tid=0x500301001210A,.region=2,.key=6},{.name="Internet Browser",.tid=0x500301001200A,.region=1,.key=6},{.name="Miiverse",.tid=0x500301001620A,.region=4,.key=6},{.name="Miiverse",.tid=0x500301001610A,.region=2,.key=6},{.name="Miiverse",.tid=0x500301001600A,.region=1,.key=6},{.name="Miiverse Post All",.tid=0x500301001920A,.region=4,.key=6},{.name="Miiverse Post All",.tid=0x500301001910A,.region=2,.key=6},{.name="Miiverse Post All",.tid=0x500301001900A,.region=1,.key=6},{.name="Nintendo eShop",.tid=0x500301001420A,.region=4,.key=6},{.name="Nintendo eShop",.tid=0x500301001410A,.region=2,.key=6},{.name="Nintendo eShop",.tid=0x500301001400A,.region=1,.key=6},{.name="Nintendo TVii",.tid=0x500301001320A,.region=4,.key=6},{.name="Nintendo TVii",.tid=0x500301001310A,.region=2,.key=6},{.name="Nintendo TVii",.tid=0x500301001300A,.region=1,.key=6},{.name="Wii U Electronic Manual",.tid=0x500301001720A,.region=4,.key=6},{.name="Wii U Electronic Manual",.tid=0x500301001710A,.region=2,.key=6},{.name="Wii U Electronic Manual",.tid=0x500301001700A,.region=1,.key=6},{.name="Wii U Electronic Manual \"Error\"",.tid=0x5003010017209,.region=4,.key=6},{.name="Wii U Electronic Manual \"Error\"",.tid=0x5003010017109,.region=2,.key=6},{.name="Wii U Electronic Manual \"Error\"",.tid=0x5003010017009,.region=1,.key=6},{.name="BC-NAND",.tid=0x5000710000200,.region=7,.key=99},{.name="BC-WFS",.tid=0x5000710000201,.region=7,.key=99},{.name="IOS 12",.tid=0x500071000000C,.region=7,.key=99},{.name="IOS 13",.tid=0x500071000000D,.region=7,.key=99},{.name="IOS 14",.tid=0x500071000000E,.region=7,.key=99},{.name="IOS 15",.tid=0x500071000000F,.region=7,.key=99},{.name="IOS 17",.tid=0x5000710000011,.region=7,.key=99},{.name="IOS 21",.tid=0x5000710000015,.region=7,.key=99},{.name="IOS 22",.tid=0x5000710000016,.region=7,.key=99},{.name="IOS 28",.tid=0x500071000001C,.region=7,.key=99},{.name="IOS 31",.tid=0x500071000001F,.region=7,.key=99},{.name="IOS 33",.tid=0x5000710000021,.region=7,.key=99},{.name="IOS 34",.tid=0x5000710000022,.region=7,.key=99},{.name="IOS 35",.tid=0x5000710000023,.region=7,.key=99},{.name="IOS 36",.tid=0x5000710000024,.region=7,.key=99},{.name="IOS 37",.tid=0x5000710000025,.region=7,.key=99},{.name="IOS 38",.tid=0x5000710000026,.region=7,.key=99},{.name="IOS 41",.tid=0x5000710000029,.region=7,.key=99},{.name="IOS 43",.tid=0x500071000002B,.region=7,.key=99},{.name="IOS 45",.tid=0x500071000002D,.region=7,.key=99},{.name="IOS 46",.tid=0x500071000002E,.region=7,.key=99},{.name="IOS 48",.tid=0x5000710000030,.region=7,.key=99},{.name="IOS 53",.tid=0x5000710000035,.region=7,.key=99},{.name="IOS 55",.tid=0x5000710000037,.region=7,.key=99},{.name="IOS 56",.tid=0x5000710000038,.region=7,.key=99},{.name="IOS 57",.tid=0x5000710000039,.region=7,.key=99},{.name="IOS 58",.tid=0x500071000003A,.region=7,.key=99},{.name="IOS 59",.tid=0x500071000003B,.region=7,.key=99},{.name="IOS 62",.tid=0x500071000003E,.region=7,.key=99},{.name="IOS 80",.tid=0x5000710000050,.region=7,.key=99},{.name="IOS 9",.tid=0x5000710000009,.region=7,.key=99},{.name="System menu",.tid=0x5000710000002,.region=4,.key=99},{.name="System menu",.tid=0x5000710000002,.region=2,.key=99},{.name="System menu",.tid=0x5000710000002,.region=1,.key=99},{.name="Mii Channel",.tid=0x7000218414341,.region=7,.key=7},{.name="Wii Menu Manual",.tid=0x7000218435550,.region=4,.key=7},{.name="Wii Menu Manual",.tid=0x7000218435545,.region=2,.key=7},{.name="Wii Menu Manual",.tid=0x700021843554A,.region=1,.key=7},{.name="Wii Shop Channel",.tid=0x7000218414241,.region=7,.key=7},{.name="Wii U Menu",.tid=0x7000218435641,.region=7,.key=7},{.name="Region Select",.tid=0x7000818414C50,.region=4,.key=7},{.name="Region Select",.tid=0x7000818414C45,.region=2,.key=7},{.name="Region Select",.tid=0x7000818414C4A,.region=1,.key=7},{.name="vWii System Channel",.tid=0x7000818435A50,.region=4,.key=7},{.name="vWii System Channel",.tid=0x7000818435A45,.region=2,.key=7},{.name="vWii System Channel",.tid=0x7000818435A4A,.region=1,.key=7},{.name="Adventure Time Finn and Jake Investigations",.tid=0x5000C101AFE00,.region=4,.key=0},{.name="Adventure Time Finn and Jake Investigations",.tid=0x5000C101AC700,.region=2,.key=0},{.name="Adventure Time: Explore the Dungeon Because I Don't Know!",.tid=0x5000C1014E100,.region=4,.key=0},{.name="Adventure Time: Explore the Dungeon Because I Don't Know!",.tid=0x5000C10144000,.region=2,.key=0},{.name="Aqua TV",.tid=0x5000C10205F00,.region=4,.key=0},{.name="Aqua TV",.tid=0x5000C1020D800,.region=2,.key=0},{.name="Assassin's Creed® III",.tid=0x5000C1010F600,.region=4,.key=0},{.name="Assassin's Creed® III",.tid=0x5000C10106B00,.region=2,.key=0},{.name="Batman™ Arkham Origins",.tid=0x5000C10136C00,.region=4,.key=0},{.name="Batman™ Arkham Origins",.tid=0x5000C10137C00,.region=2,.key=0},{.name="BIOHAZARD REVELATIONS Unveiled Edition",.tid=0x5000C10113100,.region=1,.key=0},{.name="BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien",.tid=0x5000C10136300,.region=4,.key=0},{.name="BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien",.tid=0x5000C1011AF00,.region=2,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000C10156100,.region=4,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000C10157600,.region=4,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000C10146800,.region=2,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000C10157900,.region=1,.key=0},{.name="CastleStorm",.tid=0x5000C10113A00,.region=4,.key=0},{.name="CastleStorm",.tid=0x5000C10133700,.region=2,.key=0},{.name="FAST Racing NEO",.tid=0x5000C101D6000,.region=4,.key=0},{.name="FAST Racing NEO",.tid=0x5000C1012F000,.region=2,.key=0},{.name="FAST Racing NEO",.tid=0x5000C101E4100,.region=1,.key=0},{.name="Fatal Frame: Maiden of Black Water",.tid=0x5000C101D0600,.region=2,.key=0},{.name="Fist of the North Star: Ken's Rage 2",.tid=0x5000C1012B800,.region=4,.key=0},{.name="Fist of the North Star®: Ken's Rage 2",.tid=0x5000C1012B900,.region=2,.key=0},{.name="Gravity+",.tid=0x5000C101F8100,.region=4,.key=0},{.name="Gravity+",.tid=0x5000C101F6600,.region=2,.key=0},{.name="How To Survive",.tid=0x5000C10138900,.region=4,.key=0},{.name="How to Survive",.tid=0x5000C1014C700,.region=2,.key=0},{.name="Hyrule Warriors",.tid=0x5000C1017D900,.region=4,.key=0},{.name="Hyrule Warriors",.tid=0x5000C1017D800,.region=2,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000C10111A00,.region=4,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000C10111700,.region=2,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000C10140700,.region=1,.key=0},{.name="JUST DANCE 4",.tid=0x5000C1010F000,.region=4,.key=0},{.name="JUST DANCE 4",.tid=0x5000C1010AE00,.region=2,.key=0},{.name="JUST DANCE® 2014",.tid=0x5000C10143F00,.region=4,.key=0},{.name="JUST DANCE® 2014",.tid=0x5000C10139900,.region=2,.key=0},{.name="JUST DANCE® 2015",.tid=0x5000C10176F00,.region=4,.key=0},{.name="JUST DANCE® 2015",.tid=0x5000C10179100,.region=2,.key=0},{.name="JUST DANCE® 2016",.tid=0x5000C101B9000,.region=2,.key=0},{.name="Kung Fu Panda Showdown of Legendary Legends",.tid=0x5000C101AA500,.region=4,.key=0},{.name="Kung Fu Panda Showdown of Legendary Legends",.tid=0x5000C101A6500,.region=2,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10195D00,.region=4,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10195D01,.region=4,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10195D02,.region=4,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10195D03,.region=4,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10194200,.region=2,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10194201,.region=2,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10194202,.region=2,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000C10194203,.region=2,.key=0},{.name="LEGO® MARVEL's Avengers",.tid=0x5000C101BE900,.region=4,.key=0},{.name="LEGO® MARVEL's Avengers",.tid=0x5000C101BEF00,.region=2,.key=0},{.name="LEGO®マーベル アベンジャーズ (LEGO® MARVEL's Avengers)",.tid=0x5000C101EA100,.region=1,.key=0},{.name="Lucadian Chronicles",.tid=0x5000C1015D300,.region=2,.key=0},{.name="MARIO KART 8",.tid=0x5000C1010ED00,.region=4,.key=0},{.name="MARIO KART 8",.tid=0x5000C1010EC00,.region=2,.key=0},{.name="MARIO KART 8",.tid=0x5000C1010EB00,.region=1,.key=0},{.name="Marvel Avengers™: Battle for Earth",.tid=0x5000C10110800,.region=4,.key=0},{.name="Marvel Avengers™: Battle for Earth",.tid=0x5000C1010AF00,.region=2,.key=0},{.name="Mighty No.9",.tid=0x5000C101C5A00,.region=4,.key=0},{.name="Mighty No.9",.tid=0x5000C101C9600,.region=2,.key=0},{.name="Mighty No.9",.tid=0x5000C101DD900,.region=1,.key=0},{.name="Minecraft: Story Mode",.tid=0x5000C101E0100,.region=2,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x5000C101D7500,.region=4,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x5000C101D9D00,.region=2,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x5000C101DBE00,.region=1,.key=0},{.name="New SUPER MARIO BROS. U",.tid=0x5000C10101E00,.region=4,.key=0},{.name="New SUPER MARIO BROS. U",.tid=0x5000C10101D00,.region=2,.key=0},{.name="NewスーパーマリオブラザーズU (New SUPER MARIO BROS. U)",.tid=0x5000C10101C00,.region=1,.key=0},{.name="Nintendo TVii - チャンネル切り替えオプション",.tid=0x5000C10013000,.region=1,.key=0},{.name="ONE PIECE UNLIMITED WORLD R",.tid=0x5000C10148000,.region=1,.key=0},{.name="ONE PIECE Unlimited World Red",.tid=0x5000C10175D00,.region=4,.key=0},{.name="ONE PIECE Unlimited World Red",.tid=0x5000C10175C00,.region=2,.key=0},{.name="Pic-a-Pix Color",.tid=0x5000C1020D700,.region=2,.key=0},{.name="Pic-a-Pix Colour",.tid=0x5000C1020D100,.region=4,.key=0},{.name="PIKMIN 3",.tid=0x5000C1012BE00,.region=4,.key=0},{.name="PIKMIN 3",.tid=0x5000C1012BD00,.region=2,.key=0},{.name="Pinball Arcade",.tid=0x5000C10138500,.region=2,.key=0},{.name="Project Zero: Maiden of Black Water",.tid=0x5000C101D3F00,.region=4,.key=0},{.name="Pure Chess",.tid=0x5000C10145A00,.region=4,.key=0},{.name="Pure Chess",.tid=0x5000C10147400,.region=2,.key=0},{.name="RESIDENT EVIL REVELATIONS",.tid=0x5000C1012B400,.region=4,.key=0},{.name="RESIDENT EVIL REVELATIONS",.tid=0x5000C1012CF00,.region=2,.key=0},{.name="Runbow",.tid=0x5000C101D6D00,.region=4,.key=0},{.name="Runbow",.tid=0x5000C10183000,.region=2,.key=0},{.name="Runbow",.tid=0x5000C101DD700,.region=1,.key=0},{.name="SDK Paint",.tid=0x5000C101AEB00,.region=4,.key=0},{.name="SDK Paint",.tid=0x5000C1017EB00,.region=2,.key=0},{.name="Shantae: Half-Genie Hero",.tid=0x5000C10203200,.region=4,.key=0},{.name="Shantae: Half-Genie Hero",.tid=0x5000C101DB200,.region=2,.key=0},{.name="Sonic Boom: Rise of Lyric",.tid=0x5000C10177800,.region=4,.key=0},{.name="Sonic Boom: Rise of Lyric",.tid=0x5000C10175B00,.region=2,.key=0},{.name="SONIC LOST WORLD",.tid=0x5000C1012B100,.region=4,.key=0},{.name="SONIC LOST WORLD",.tid=0x5000C10128F00,.region=2,.key=0},{.name="Splinter Cell Blacklist",.tid=0x5000C1012AC00,.region=4,.key=0},{.name="Splinter Cell Blacklist",.tid=0x5000C1010E300,.region=2,.key=0},{.name="Splinter Cell Blacklist",.tid=0x5000C10112800,.region=1,.key=0},{.name="Star Wars Pinball",.tid=0x5000C10132A00,.region=4,.key=0},{.name="Star Wars Pinball",.tid=0x5000C10135200,.region=2,.key=0},{.name="SteamWorld Heist",.tid=0x5000C101A3700,.region=4,.key=0},{.name="SteamWorld Heist",.tid=0x5000C101A4000,.region=2,.key=0},{.name="Super Smash Bros. for Wii U",.tid=0x5000C10145000,.region=4,.key=0},{.name="Super Smash Bros. for Wii U",.tid=0x5000C10144F00,.region=2,.key=0},{.name="TANK! TANK! TANK! (DL)",.tid=0x5000C10133800,.region=2,.key=0},{.name="TANK! TANK! TANK!(DL)",.tid=0x5000C10128C00,.region=4,.key=0},{.name="The Legend of Zelda Breath of the Wild",.tid=0x5000C101C9500,.region=4,.key=0},{.name="The Legend of Zelda Breath of the Wild",.tid=0x5000C101C9400,.region=2,.key=0},{.name="Tokyo Mirage Sessions #FE",.tid=0x5000C101ED700,.region=4,.key=0},{.name="Tokyo Mirage Sessions #FE",.tid=0x5000C101ED800,.region=2,.key=0},{.name="WARRIORS OROCHI 3 Hyper(EU)",.tid=0x5000C10112B00,.region=4,.key=0},{.name="WARRIORS OROCHI 3 Hyper(NA)",.tid=0x5000C10110200,.region=2,.key=0},{.name="WATCH_DOGS",.tid=0x5000C10140500,.region=4,.key=0},{.name="WATCH_DOGS",.tid=0x5000C10142000,.region=2,.key=0},{.name="WATCH_DOGS",.tid=0x5000C1014C000,.region=1,.key=0},{.name="Wii Sports Club",.tid=0x5000C10144E00,.region=4,.key=0},{.name="Wii Sports Club",.tid=0x5000C10144D00,.region=2,.key=0},{.name="Wii Sports Club",.tid=0x5000C1012F100,.region=1,.key=0},{.name="Xenoblade Chronicles X",.tid=0x5000C101C4C00,.region=4,.key=0},{.name="Xenoblade Chronicles X",.tid=0x5000C101C4D00,.region=2,.key=0},{.name="XenobladeX",.tid=0x5000C10116100,.region=1,.key=0},{.name="Zen Pinball 2",.tid=0x5000C10113800,.region=4,.key=0},{.name="Zen Pinball 2",.tid=0x5000C10115F00,.region=2,.key=0},{.name="アサシン クリード III (Assassin's Creed® III)",.tid=0x5000C10112400,.region=1,.key=0},{.name="ゼルダの伝説 ブレス オブ ザ ワイルド (The Legend of Zelda Breath of the Wild)",.tid=0x5000C101C9300,.region=1,.key=0},{.name="ゼルダ無双 (Hyrule Warriors)",.tid=0x5000C1017CD00,.region=1,.key=0},{.name="ソニック ロストワールド (SONIC LOST WORLD)",.tid=0x5000C10135700,.region=1,.key=0},{.name="タンク!タンク!タンク! (DL) (TANK! TANK! TANK! (DL))",.tid=0x5000C1012F200,.region=1,.key=0},{.name="ドラゴンクエストⅩ (Dragon Quest X)",.tid=0x5000C10115E00,.region=1,.key=0},{.name="ドラゴンクエストⅩ (Dragon Quest X)",.tid=0x5000C10115E01,.region=1,.key=0},{.name="バットマン™: アーカム・ビギンズ (Batman™ Arkham Origins)",.tid=0x5000C10154600,.region=1,.key=0},{.name="ピクミン3 (PIKMIN 3)",.tid=0x5000C1012BC00,.region=1,.key=0},{.name="ぷよぷよテトリス (PUYOPUYOTETRIS)",.tid=0x5000C1014D900,.region=1,.key=0},{.name="仮面ライダー バトライド・ウォーⅡ (KAMEN RIDER BATTRIDE WAR Ⅱ)",.tid=0x5000C10170700,.region=1,.key=0},{.name="大乱闘スマッシュブラザーズ for Wii U (Super Smash Bros. for Wii U)",.tid=0x5000C10110E00,.region=1,.key=0},{.name="太鼓の達人 Wii Uば~じょん!(Taiko no Tatsujin Wii U version!)",.tid=0x5000C10132200,.region=1,.key=0},{.name="太鼓の達人 あつめて★ともだち大作戦!(Taiko no Tatsujin Atsumete★ TomodachiDaisakusen!)",.tid=0x5000C101D3000,.region=1,.key=0},{.name="太鼓の達人 特盛り! (Taiko no Tatsujin Tokumori!)",.tid=0x5000C10192000,.region=1,.key=0},{.name="幻影異聞録♯FE (Tokyo Mirage Sessions ♯FE)",.tid=0x5000C10131D00,.region=1,.key=0},{.name="無双OROCHI2 Hyper (WARRIORS OROCHI 3 Hyper)",.tid=0x5000C1010EA00,.region=1,.key=0},{.name="真・北斗無双 (Fist of the North Star: Ken's Rage 2)",.tid=0x5000C10116600,.region=1,.key=0},{.name="3Souls",.tid=0x5000E1017E200,.region=4,.key=0},{.name="3Souls",.tid=0x5000E1017E700,.region=2,.key=0},{.name="99Moves",.tid=0x5000E10191700,.region=4,.key=0},{.name="99Moves",.tid=0x5000E10183900,.region=2,.key=0},{.name="ACE OF SEAFOOD",.tid=0x5000E10207A00,.region=1,.key=0},{.name="Adventure Time Finn and Jake Investigations",.tid=0x5000E101AFE00,.region=4,.key=0},{.name="Adventure Time Finn and Jake Investigations",.tid=0x5000E101AC700,.region=2,.key=0},{.name="Adventure Time: Explore the Dungeon Because I Don't Know!",.tid=0x5000E1014E100,.region=4,.key=0},{.name="Adventure Time: Explore the Dungeon Because I Don't Know!",.tid=0x5000E10144000,.region=2,.key=0},{.name="Alice in Wonderland",.tid=0x5000E10203900,.region=4,.key=0},{.name="Alice in Wonderland",.tid=0x5000E10202500,.region=2,.key=0},{.name="Aperion Cyberstorm",.tid=0x5000E101C8A00,.region=4,.key=0},{.name="Aperion Cyberstorm",.tid=0x5000E101BC900,.region=2,.key=0},{.name="Armillo",.tid=0x5000E1016C700,.region=4,.key=0},{.name="Armillo",.tid=0x5000E1016AC00,.region=2,.key=0},{.name="Armored ACORNs Action Squirrel Squad",.tid=0x5000E101EA900,.region=2,.key=0},{.name="Art Academy: Home Studio",.tid=0x5000E1017BF00,.region=2,.key=0},{.name="Art Academy: SketchPad",.tid=0x5000E10142700,.region=4,.key=0},{.name="Art Academy: SketchPad",.tid=0x5000E10142C00,.region=2,.key=0},{.name="Assassin's Creed® III",.tid=0x5000E1010F600,.region=4,.key=0},{.name="Assassin's Creed® III",.tid=0x5000E10106B00,.region=2,.key=0},{.name="Assassin's Creed® IV Black Flag",.tid=0x5000E10138800,.region=4,.key=0},{.name="Assassin's Creed® IV Black Flag",.tid=0x5000E10138B00,.region=2,.key=0},{.name="Axiom Verge",.tid=0x5000E10200800,.region=4,.key=0},{.name="Axiom Verge",.tid=0x5000E101F7900,.region=2,.key=0},{.name="Batman™: Arkham Origins",.tid=0x5000E10136C00,.region=4,.key=0},{.name="Batman™: Arkham Origins",.tid=0x5000E10137C00,.region=2,.key=0},{.name="BIOHAZARD REVELATIONS Unveiled Edition",.tid=0x5000E10113100,.region=1,.key=0},{.name="BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien",.tid=0x5000E10136300,.region=4,.key=0},{.name="BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien",.tid=0x5000E1011AF00,.region=2,.key=0},{.name="Bombing Bastards",.tid=0x5000E1016A200,.region=4,.key=0},{.name="Bombing Bastards",.tid=0x5000E1016AB00,.region=2,.key=0},{.name="BRICK BREAKER",.tid=0x5000E10200A00,.region=4,.key=0},{.name="BRICK BREAKER",.tid=0x5000E101FFB00,.region=2,.key=0},{.name="Brunswick Pro Bowling",.tid=0x5000E101D4200,.region=2,.key=0},{.name="Call of Duty: Black Ops II",.tid=0x5000E10113400,.region=4,.key=0},{.name="Call of Duty: Black Ops II",.tid=0x5000E10113500,.region=4,.key=0},{.name="Call of Duty: Black Ops II",.tid=0x5000E10113700,.region=4,.key=0},{.name="Call of Duty: Black Ops II",.tid=0x5000E1010CF00,.region=2,.key=0},{.name="Call of Duty: Black Ops II",.tid=0x5000E1011B400,.region=1,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000E10156100,.region=4,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000E10157600,.region=4,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000E10146800,.region=2,.key=0},{.name="Call of Duty: Ghosts",.tid=0x5000E10157900,.region=1,.key=0},{.name="Canvaleon",.tid=0x5000E101D0700,.region=4,.key=0},{.name="Canvaleon",.tid=0x5000E101CE100,.region=2,.key=0},{.name="Captain Toad: Treasure Tracker",.tid=0x5000E10180700,.region=4,.key=0},{.name="Captain Toad: Treasure Tracker",.tid=0x5000E10180600,.region=2,.key=0},{.name="Cars 3: Driven to Win",.tid=0x5000E1020A400,.region=4,.key=0},{.name="Cars 3: Driven to Win",.tid=0x5000E10209900,.region=2,.key=0},{.name="Chasing Aurora",.tid=0x5000E10117700,.region=4,.key=0},{.name="Chasing Aurora",.tid=0x5000E1011C000,.region=2,.key=0},{.name="CHILD of LIGHT",.tid=0x5000E1016EA00,.region=4,.key=0},{.name="CHILD of LIGHT",.tid=0x5000E1015B200,.region=2,.key=0},{.name="CHILD of LIGHT",.tid=0x5000E1016D800,.region=1,.key=0},{.name="Citadale",.tid=0x5000E101F9A00,.region=4,.key=0},{.name="Citadale",.tid=0x5000E101F9000,.region=2,.key=0},{.name="Coaster Crazy Deluxe",.tid=0x5000E10145900,.region=4,.key=0},{.name="Coaster Crazy Deluxe",.tid=0x5000E1014CF00,.region=2,.key=0},{.name="Color Zen",.tid=0x5000E10162300,.region=4,.key=0},{.name="Color Zen",.tid=0x5000E1016CE00,.region=2,.key=0},{.name="Costume Quest 2",.tid=0x5000E10197800,.region=4,.key=0},{.name="Costume Quest 2",.tid=0x5000E1017DA00,.region=2,.key=0},{.name="Crunchyroll",.tid=0x5000E10172B00,.region=4,.key=0},{.name="Crunchyroll",.tid=0x5000E10172A00,.region=2,.key=0},{.name="Cube Life: Island Survival",.tid=0x5000E101A6300,.region=4,.key=0},{.name="Cube Life: Island Survival",.tid=0x5000E101A6400,.region=2,.key=0},{.name="Devil's Third",.tid=0x5000E10177600,.region=2,.key=0},{.name="Devil's Third",.tid=0x5000E10138F00,.region=1,.key=0},{.name="Disney Infinity",.tid=0x5000E10136F00,.region=4,.key=0},{.name="Disney Infinity",.tid=0x5000E10137000,.region=4,.key=0},{.name="Disney INFINITY",.tid=0x5000E10132900,.region=2,.key=0},{.name="Disney INFINITY",.tid=0x5000E1015A300,.region=1,.key=0},{.name="Disney Infinity [2.0]",.tid=0x5000E10188C00,.region=4,.key=0},{.name="Disney Infinity [2.0]",.tid=0x5000E10188D00,.region=4,.key=0},{.name="Disney Infinity [2.0]",.tid=0x5000E1016DC00,.region=2,.key=0},{.name="DISNEY INFINITY 3.0 EDITION",.tid=0x5000E101AC900,.region=2,.key=0},{.name="DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS",.tid=0x5000E101B3D00,.region=4,.key=0},{.name="DISNEY INFINITY 3.0: PLAY WITHOUT LIMITS",.tid=0x5000E101B3E00,.region=4,.key=0},{.name="Donkey Kong Country Tropical Freeze",.tid=0x5000E10138300,.region=4,.key=0},{.name="Donkey Kong Country Tropical Freeze",.tid=0x5000E10137F00,.region=2,.key=0},{.name="Dot Arcade",.tid=0x5000E101A9F00,.region=2,.key=0},{.name="Drop It: Block Paradise!",.tid=0x5000E101C8E00,.region=4,.key=99},{.name="DuckTales: Remastered",.tid=0x5000E10129200,.region=4,.key=0},{.name="DuckTales: Remastered",.tid=0x5000E10129000,.region=2,.key=0},{.name="Electronic Super Joy",.tid=0x5000E101D8300,.region=4,.key=0},{.name="Elliot Quest",.tid=0x5000E101BB800,.region=4,.key=0},{.name="Elliot Quest",.tid=0x5000E1019AD00,.region=2,.key=0},{.name="ESPN Sports Connection",.tid=0x5000E1010B400,.region=2,.key=0},{.name="EvoFish",.tid=0x5000E10147600,.region=4,.key=0},{.name="FAST Racing NEO",.tid=0x5000E101D6000,.region=4,.key=0},{.name="FAST Racing NEO",.tid=0x5000E1012F000,.region=2,.key=0},{.name="FAST Racing NEO",.tid=0x5000E101E4100,.region=1,.key=0},{.name="FBF10 [patched2]",.tid=0x5000E1FBF1000,.region=7,.key=5},{.name="FBF10 [patched2]",.tid=0x5000E1FBF1000,.region=7,.key=5},{.name="FIFA 13",.tid=0x5000E1010EE00,.region=4,.key=0},{.name="Finding Teddy 2 Definitive Edition",.tid=0x5000E1021AC00,.region=4,.key=0},{.name="Flowerworks HD Follie's Adventure",.tid=0x5000E1016FF00,.region=2,.key=0},{.name="Freedom Planet",.tid=0x5000E101CC900,.region=4,.key=0},{.name="Freedom Planet",.tid=0x5000E101C3100,.region=2,.key=0},{.name="Funky Barn",.tid=0x5000E10118400,.region=4,.key=0},{.name="Funky Barn",.tid=0x5000E10113C00,.region=2,.key=0},{.name="Funky Barn (Download Version)",.tid=0x5000E1011B300,.region=4,.key=0},{.name="Game Party Champions",.tid=0x5000E1010FF00,.region=4,.key=0},{.name="Gear Gauntlet",.tid=0x5000E101E9400,.region=4,.key=0},{.name="Gear Gauntlet",.tid=0x5000E101E9300,.region=2,.key=0},{.name="Giana Sisters Twisted Dreams",.tid=0x5000E1014C600,.region=4,.key=0},{.name="Giana Sisters Twisted Dreams",.tid=0x5000E1014CB00,.region=2,.key=0},{.name="GravBlocks+ From Nothing Game Studios",.tid=0x5000E1016E300,.region=2,.key=0},{.name="Guitar Hero Live",.tid=0x5000E101BC600,.region=4,.key=0},{.name="Guitar Hero Live",.tid=0x5000E101BA400,.region=2,.key=0},{.name="Gunman Clive HD Collection",.tid=0x5000E101D6100,.region=4,.key=0},{.name="Gunman Clive HD Collection",.tid=0x5000E101D0900,.region=2,.key=0},{.name="Hot Rod Racer",.tid=0x5000E101F7400,.region=4,.key=0},{.name="Hot Rod Racer",.tid=0x5000E101F5F00,.region=2,.key=0},{.name="Hyrule Warriors",.tid=0x5000E1017D900,.region=4,.key=0},{.name="Hyrule Warriors",.tid=0x5000E1017D800,.region=2,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000E10111A00,.region=4,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000E10111700,.region=2,.key=0},{.name="Injustice: Gods Among Us",.tid=0x5000E10140700,.region=1,.key=0},{.name="Jett Tailfin",.tid=0x5000E10182C00,.region=4,.key=0},{.name="Jewel Quest",.tid=0x5000E101E3200,.region=2,.key=0},{.name="Job the Leprechaun",.tid=0x5000E101D9F00,.region=4,.key=0},{.name="Job the Leprechaun",.tid=0x5000E101CFF00,.region=2,.key=0},{.name="JUST DANCE 4",.tid=0x5000E1010F000,.region=4,.key=0},{.name="JUST DANCE 4",.tid=0x5000E1010AE00,.region=2,.key=0},{.name="JUST DANCE® 2014",.tid=0x5000E10143F00,.region=4,.key=0},{.name="JUST DANCE® 2014",.tid=0x5000E10139900,.region=2,.key=0},{.name="JUST DANCE® 2015",.tid=0x5000E10176F00,.region=4,.key=0},{.name="JUST DANCE® 2015",.tid=0x5000E10179100,.region=2,.key=0},{.name="JUST DANCE® 2016",.tid=0x5000E101B9800,.region=4,.key=0},{.name="JUST DANCE® 2016",.tid=0x5000E101B9000,.region=2,.key=0},{.name="JUST DANCE® 2017",.tid=0x5000E101EAA00,.region=4,.key=0},{.name="JUST DANCE® 2017",.tid=0x5000E101EB200,.region=2,.key=0},{.name="JUST DANCE® 2019",.tid=0x5000E10217000,.region=4,.key=0},{.name="JUST DANCE® 2019",.tid=0x5000E10217300,.region=2,.key=0},{.name="Kirby and the Rainbow Curse",.tid=0x5000E101ABC00,.region=2,.key=0},{.name="Know Your Friends",.tid=0x5000E10112100,.region=4,.key=0},{.name="Kung Fu Panda Showdown of Legendary Legends",.tid=0x5000E101AA500,.region=4,.key=0},{.name="Kung Fu Panda Showdown of Legendary Legends",.tid=0x5000E101A6500,.region=2,.key=0},{.name="Legend of Kay Anniversary",.tid=0x5000E10193300,.region=4,.key=0},{.name="Legend of Kay Anniversary",.tid=0x5000E10193400,.region=2,.key=0},{.name="LEGO® Batman™ 3 Beyond Gotham",.tid=0x5000E1016A400,.region=4,.key=0},{.name="LEGO® Batman™ 3 Beyond Gotham",.tid=0x5000E1016AD00,.region=2,.key=0},{.name="LEGO® CITY UNDERCOVER",.tid=0x5000E10101B00,.region=4,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000E10195D00,.region=4,.key=0},{.name="LEGO® DIMENSIONS™",.tid=0x5000E10194200,.region=2,.key=0},{.name="LEGO® Jurassic World™",.tid=0x5000E101A5C00,.region=4,.key=0},{.name="LEGO® Jurassic World™",.tid=0x5000E101A6200,.region=2,.key=0},{.name="LEGO® MARVEL Super Heroes",.tid=0x5000E10132400,.region=4,.key=0},{.name="LEGO® MARVEL Super Heroes",.tid=0x5000E10132B00,.region=2,.key=0},{.name="LEGO® MARVEL's Avengers",.tid=0x5000E101BE900,.region=4,.key=0},{.name="LEGO® MARVEL's Avengers",.tid=0x5000E101BEF00,.region=2,.key=0},{.name="LEGO® STAR WARS™ The Force Awakens",.tid=0x5000E101DAA00,.region=4,.key=0},{.name="LEGO® STAR WARS™ The Force Awakens",.tid=0x5000E101DAB00,.region=2,.key=0},{.name="LEGO®スター・ウォーズ/ フォースの覚醒 (LEGO® STAR WARS™ The Force Awakens)",.tid=0x5000E101EA000,.region=1,.key=0},{.name="LEGO®マーベル アベンジャーズ (LEGO® MARVEL's Avengers)",.tid=0x5000E101EA100,.region=1,.key=0},{.name="Life of Pixel",.tid=0x5000E101A4900,.region=4,.key=0},{.name="Life of Pixel",.tid=0x5000E101A3B00,.region=2,.key=0},{.name="LOST REAVERS",.tid=0x5000E101B9900,.region=4,.key=0},{.name="LOST REAVERS",.tid=0x5000E101A4800,.region=2,.key=0},{.name="LOST REAVERS",.tid=0x5000E1018D900,.region=1,.key=0},{.name="Lucadian Chronicles",.tid=0x5000E1015D300,.region=2,.key=0},{.name="MAHJONG",.tid=0x5000E10200900,.region=4,.key=0},{.name="Mario & Sonic at the Rio 2016 Olympic Games",.tid=0x5000E101E5300,.region=2,.key=0},{.name="Mario & Sonic at the Sochi 2014 Olympic Winter Games",.tid=0x5000E1010C800,.region=4,.key=0},{.name="Mario & Sonic at the Sochi 2014 Olympic Winter Games",.tid=0x5000E1010C700,.region=2,.key=0},{.name="MARIO KART 8",.tid=0x5000E1010ED00,.region=4,.key=0},{.name="MARIO KART 8",.tid=0x5000E1010EC00,.region=2,.key=0},{.name="MARIO KART 8",.tid=0x5000E1010EB00,.region=1,.key=0},{.name="Mario Party 10",.tid=0x5000E10162D00,.region=2,.key=0},{.name="Mario Tennis: Ultra Smash",.tid=0x5000E101A3600,.region=4,.key=0},{.name="Mario Tennis: Ultra Smash",.tid=0x5000E101A3500,.region=2,.key=0},{.name="Marvel Avengers™: Battle for Earth",.tid=0x5000E10110800,.region=4,.key=0},{.name="Marvel Avengers™: Battle for Earth",.tid=0x5000E1010AF00,.region=2,.key=0},{.name="Mass Effect™ 3 Special Edition",.tid=0x5000E1010F500,.region=4,.key=0},{.name="Mass Effect™ 3 Special Edition",.tid=0x5000E1010DC00,.region=2,.key=0},{.name="Master Reboot",.tid=0x5000E1016E800,.region=4,.key=0},{.name="Master Reboot",.tid=0x5000E1016B200,.region=2,.key=0},{.name="Mighty No. 9",.tid=0x5000E101C5A00,.region=4,.key=0},{.name="Mighty No. 9",.tid=0x5000E101C9600,.region=2,.key=0},{.name="Mighty No. 9",.tid=0x5000E101DD900,.region=1,.key=0},{.name="Minecraft: Story Mode",.tid=0x5000E101E0100,.region=2,.key=0},{.name="Minecraft: Story Mode - The Complete Adventure",.tid=0x5000E1020A300,.region=4,.key=0},{.name="Minecraft: Story Mode - The Complete Adventure",.tid=0x5000E1020A200,.region=2,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x5000E101D7500,.region=4,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x5000E101D9D00,.region=2,.key=0},{.name="Minecraft: Wii U Edition",.tid=0x5000E101DBE00,.region=1,.key=0},{.name="Mini Mario & Friends amiibo Challenge",.tid=0x5000E101C6300,.region=4,.key=0},{.name="Mini Mario & Friends amiibo Challenge",.tid=0x5000E101C6200,.region=2,.key=0},{.name="Momonga Pinball Adventures",.tid=0x5000E101C8200,.region=2,.key=0},{.name="MONSTER HUNTER 3 ULTIMATE",.tid=0x5000E10117200,.region=4,.key=0},{.name="MONSTER HUNTER 3 ULTIMATE",.tid=0x5000E10118300,.region=2,.key=0},{.name="Nano Assault Neo",.tid=0x5000E10110600,.region=4,.key=0},{.name="Nano Assault Neo",.tid=0x5000E10110100,.region=2,.key=0},{.name="NBA 2K13",.tid=0x5000E10112F00,.region=4,.key=0},{.name="NBA 2K13",.tid=0x5000E1010DA00,.region=2,.key=0},{.name="Need for Speed™ Most Wanted U",.tid=0x5000E10128400,.region=4,.key=0},{.name="Need for Speed™ Most Wanted U",.tid=0x5000E10128800,.region=2,.key=0},{.name="Need for Speed™ Most Wanted U",.tid=0x5000E1012B700,.region=1,.key=0},{.name="NES REMIX",.tid=0x5000E10146100,.region=4,.key=0},{.name="NES REMIX",.tid=0x5000E10146000,.region=2,.key=0},{.name="New SUPER MARIO BROS. U",.tid=0x5000E10101E00,.region=4,.key=0},{.name="New SUPER MARIO BROS. U",.tid=0x5000E10101D00,.region=2,.key=0},{.name="NewスーパーマリオブラザーズU (New SUPER MARIO BROS. U)",.tid=0x5000E10101C00,.region=1,.key=0},{.name="NINJA GAIDEN 3: Razor's Edge",.tid=0x5000E10110B00,.region=4,.key=0},{.name="NINJA GAIDEN 3: Razor's Edge",.tid=0x5000E10110A00,.region=2,.key=0},{.name="NINJA GAIDEN 3: Razor's Edge",.tid=0x5000E10110900,.region=1,.key=0},{.name="Nintendo Land",.tid=0x5000E10102100,.region=4,.key=0},{.name="Nintendo Land",.tid=0x5000E10102000,.region=2,.key=0},{.name="Nintendo Land",.tid=0x5000E10101F00,.region=1,.key=0},{.name="Nova-111",.tid=0x5000E101C0700,.region=4,.key=0},{.name="Nova-111",.tid=0x5000E101C0A00,.region=2,.key=0},{.name="Octodad: Dadliest Catch",.tid=0x5000E101DC100,.region=4,.key=0},{.name="Octodad: Dadliest Catch",.tid=0x5000E101C6A00,.region=2,.key=0},{.name="Ohayou! Beginner's Japanese",.tid=0x5000E10206A00,.region=4,.key=0},{.name="Ohayou! Beginner's Japanese",.tid=0x5000E101FA000,.region=2,.key=0},{.name="OlliOlli",.tid=0x5000E101A5E00,.region=4,.key=0},{.name="OlliOlli",.tid=0x5000E101A6900,.region=2,.key=0},{.name="Olympia Rising",.tid=0x5000E101E3300,.region=4,.key=0},{.name="Olympia Rising",.tid=0x5000E101E3400,.region=2,.key=0},{.name="ONE PIECE UNLIMITED WORLD R",.tid=0x5000E10148000,.region=1,.key=0},{.name="ONE PIECE Unlimited World Red",.tid=0x5000E10175D00,.region=4,.key=0},{.name="Pier Solarand the Great Architects",.tid=0x5000E10170200,.region=2,.key=0},{.name="PIKMIN 3",.tid=0x5000E1012BE00,.region=4,.key=0},{.name="PIKMIN 3",.tid=0x5000E1012BD00,.region=2,.key=0},{.name="PixelJunk Monsters",.tid=0x5000E101E1200,.region=4,.key=0},{.name="PixelMaker",.tid=0x5000E101F7700,.region=4,.key=0},{.name="PixelMaker",.tid=0x5000E101F5D00,.region=2,.key=0},{.name="POKKÉN TOURNAMENT",.tid=0x5000E101DF500,.region=4,.key=0},{.name="POKKÉN TOURNAMENT",.tid=0x5000E101DF400,.region=2,.key=0},{.name="Puddle",.tid=0x5000E1010FB00,.region=4,.key=0},{.name="Rabbids Land",.tid=0x5000E1010FC00,.region=4,.key=0},{.name="Rabbids Land",.tid=0x5000E1010B000,.region=2,.key=0},{.name="Rayman Legends Challenges App",.tid=0x5000E10138E00,.region=4,.key=0},{.name="Rayman Legends Challenges App",.tid=0x5000E10139500,.region=2,.key=0},{.name="RESIDENT EVIL REVELATIONS",.tid=0x5000E1012B400,.region=4,.key=0},{.name="RESIDENT EVIL REVELATIONS",.tid=0x5000E1012CF00,.region=2,.key=0},{.name="Rock 'N Racing Off Road",.tid=0x5000E10191800,.region=4,.key=0},{.name="Rock 'N Racing Off Road",.tid=0x5000E10148200,.region=2,.key=0},{.name="Rock 'N Racing Off Road DX",.tid=0x5000E101D9600,.region=4,.key=0},{.name="RTO",.tid=0x5000E10215800,.region=4,.key=0},{.name="Runbow",.tid=0x5000E101D6D00,.region=4,.key=0},{.name="Runbow",.tid=0x5000E10183000,.region=2,.key=0},{.name="Runbow",.tid=0x5000E101DD700,.region=1,.key=0},{.name="Scram Kitty and his Buddy on Rails",.tid=0x5000E1014D100,.region=4,.key=0},{.name="Scram Kitty and his Buddy on Rails",.tid=0x5000E10149500,.region=2,.key=0},{.name="Shantae and the Pirate's Curse",.tid=0x5000E101A9500,.region=4,.key=0},{.name="Shantae and the Pirate's Curse",.tid=0x5000E101A5F00,.region=2,.key=0},{.name="Shantae: Half-Genie Hero",.tid=0x5000E10203200,.region=4,.key=0},{.name="Shantae: Half-Genie Hero",.tid=0x5000E101DB200,.region=2,.key=0},{.name="Shmup Collection",.tid=0x5000E1021AB00,.region=4,.key=0},{.name="Shovel Knight Treasure Trove",.tid=0x5000E10178F00,.region=4,.key=0},{.name="Shovel Knight Treasure Trove",.tid=0x5000E1016E100,.region=2,.key=0},{.name="Skylanders SuperChargers",.tid=0x5000E101BFC00,.region=4,.key=0},{.name="Skylanders SuperChargers",.tid=0x5000E101B8500,.region=2,.key=0},{.name="Skylanders SWAP Force",.tid=0x5000E10140400,.region=4,.key=0},{.name="Skylanders SWAP Force",.tid=0x5000E10139200,.region=2,.key=0},{.name="Skylanders Trap Team",.tid=0x5000E10181F00,.region=4,.key=0},{.name="Skylanders Trap Team",.tid=0x5000E1017C600,.region=2,.key=0},{.name="Skylanders™ Imaginators",.tid=0x5000E101FB100,.region=4,.key=0},{.name="Skylanders™ Imaginators",.tid=0x5000E101F4D00,.region=2,.key=0},{.name="Sonic & All-Stars Racing Transformed",.tid=0x5000E10111F00,.region=4,.key=0},{.name="Sonic & All-Stars Racing Transformed",.tid=0x5000E1010B300,.region=2,.key=0},{.name="Sonic Boom: Rise of Lyric",.tid=0x5000E10177800,.region=4,.key=0},{.name="Sonic Boom: Rise of Lyric",.tid=0x5000E10175B00,.region=2,.key=0},{.name="SONIC LOST WORLD",.tid=0x5000E1012B100,.region=4,.key=0},{.name="SONIC LOST WORLD",.tid=0x5000E10128F00,.region=2,.key=0},{.name="Space Hunted: The Lost Levels",.tid=0x5000E10203D00,.region=2,.key=0},{.name="Spellcaster's Assistant",.tid=0x5000E10215F00,.region=4,.key=0},{.name="Spin the Bottle: Bumpie's Party",.tid=0x5000E10138700,.region=4,.key=0},{.name="Spin the Bottle: Bumpie's Party",.tid=0x5000E10147F00,.region=2,.key=0},{.name="Splatoon",.tid=0x5000E10176A00,.region=4,.key=0},{.name="Splatoon",.tid=0x5000E10176900,.region=2,.key=3},{.name="Splinter Cell Blacklist",.tid=0x5000E1012AC00,.region=4,.key=0},{.name="Splinter Cell Blacklist",.tid=0x5000E1010E300,.region=2,.key=0},{.name="Splinter Cell Blacklist",.tid=0x5000E10112800,.region=1,.key=0},{.name="Sports Connection",.tid=0x5000E10111D00,.region=4,.key=0},{.name="Sportsball",.tid=0x5000E10189200,.region=2,.key=0},{.name="Spot The Differences: Party!",.tid=0x5000E10149200,.region=4,.key=0},{.name="Star Fox Guard",.tid=0x5000E101BED00,.region=4,.key=0},{.name="Star Fox Guard",.tid=0x5000E101BEC00,.region=2,.key=0},{.name="Star Fox Guard Special Demo",.tid=0x5000E101DCD00,.region=2,.key=0},{.name="Star Fox Guard: Special Demo Version",.tid=0x5000E101DCE00,.region=4,.key=0},{.name="Star Fox Zero",.tid=0x5000E101B0400,.region=2,.key=0},{.name="Star Sky 2",.tid=0x5000E101F2700,.region=4,.key=0},{.name="Star Wars Pinball",.tid=0x5000E10132A00,.region=4,.key=0},{.name="Star Wars Pinball",.tid=0x5000E10135200,.region=2,.key=0},{.name="Stealth Inc 2 A Game of Clones",.tid=0x5000E10173300,.region=4,.key=0},{.name="Stealth Inc 2 A Game of Clones",.tid=0x5000E10176500,.region=2,.key=0},{.name="Stone Shire",.tid=0x5000E101D5100,.region=4,.key=0},{.name="Stone Shire",.tid=0x5000E101A4C00,.region=2,.key=0},{.name="Super Mario Maker",.tid=0x5000E1018DD00,.region=4,.key=0},{.name="Super Mario Maker",.tid=0x5000E1018DC00,.region=2,.key=0},{.name="Super Smash Bros. for Wii U",.tid=0x5000E10145000,.region=4,.key=0},{.name="Super Smash Bros. for Wii U",.tid=0x5000E10144F00,.region=2,.key=0},{.name="Super Toy Cars",.tid=0x5000E1016D500,.region=4,.key=0},{.name="Super Toy Cars",.tid=0x5000E1016DE00,.region=2,.key=0},{.name="Swap Blocks",.tid=0x5000E1020F400,.region=2,.key=0},{.name="Swords & Soldiers II",.tid=0x5000E101C6E00,.region=4,.key=0},{.name="Swords & Soldiers II",.tid=0x5000E101A1B00,.region=2,.key=0},{.name="Tachyon Project",.tid=0x5000E1019B200,.region=4,.key=0},{.name="TEKKEN TAG TOURNAMENT 2 Wii U EDITION",.tid=0x5000E1010F800,.region=4,.key=0},{.name="TEKKEN TAG TOURNAMENT 2 Wii U EDITION",.tid=0x5000E10110000,.region=2,.key=0},{.name="Terraria",.tid=0x5000E10198F00,.region=4,.key=0},{.name="Terraria",.tid=0x5000E1019C300,.region=2,.key=0},{.name="TETRAMINOS",.tid=0x5000E10200B00,.region=4,.key=0},{.name="Tetrobot and Co.",.tid=0x5000E1018DE00,.region=4,.key=0},{.name="Tetrobot and Co.",.tid=0x5000E1018ED00,.region=2,.key=0},{.name="The Book of Unwritten Tales 2",.tid=0x5000E101E9F00,.region=4,.key=0},{.name="THE CROODS",.tid=0x5000E1012C500,.region=4,.key=0},{.name="THE CROODS",.tid=0x5000E10112000,.region=2,.key=0},{.name="The Legend of Zelda Breath of the Wild",.tid=0x5000E101C9500,.region=4,.key=0},{.name="The Legend of Zelda Breath of the Wild",.tid=0x5000E101C9400,.region=2,.key=0},{.name="THE LEGEND OF ZELDA Twilight Princess HD",.tid=0x5000E1019E500,.region=2,.key=0},{.name="The LEGO® Movie Videogame",.tid=0x5000E1014E000,.region=4,.key=0},{.name="The LEGO® Movie Videogame",.tid=0x5000E1014DE00,.region=2,.key=0},{.name="The Mysterious Cities of Gold: Secret Paths",.tid=0x5000E10154D00,.region=4,.key=0},{.name="The Mysterious Cities of Gold: Secret Paths",.tid=0x5000E10156500,.region=2,.key=0},{.name="The Quiet Collection",.tid=0x5000E101D3900,.region=4,.key=0},{.name="The Swindle",.tid=0x5000E101C0C00,.region=4,.key=0},{.name="The Swindle",.tid=0x5000E101C0B00,.region=2,.key=0},{.name="The Wonderful 101",.tid=0x5000E10135300,.region=4,.key=0},{.name="The Wonderful 101",.tid=0x5000E1012DC00,.region=2,.key=0},{.name="The Wonderful 101",.tid=0x5000E10116300,.region=1,.key=0},{.name="Toki Tori 2+",.tid=0x5000E10116500,.region=4,.key=0},{.name="Toki Tori 2+",.tid=0x5000E10128700,.region=2,.key=0},{.name="Tokyo Mirage Sessions #FE",.tid=0x5000E101ED800,.region=2,.key=0},{.name="Totem Topple",.tid=0x5000E101D7400,.region=4,.key=0},{.name="Totem Topple",.tid=0x5000E101BAA00,.region=2,.key=0},{.name="Trine 2 Director's Cut",.tid=0x5000E10112200,.region=4,.key=0},{.name="Trine 2 Director's Cut",.tid=0x5000E10128A00,.region=2,.key=0},{.name="Tumblestone",.tid=0x5000E101DAD00,.region=2,.key=0},{.name="Turtle Tale",.tid=0x5000E1017E000,.region=4,.key=0},{.name="Twisted Fusion",.tid=0x5000E10200700,.region=4,.key=0},{.name="Twisted Fusion",.tid=0x5000E10193E00,.region=2,.key=0},{.name="Underground",.tid=0x5000E10187100,.region=4,.key=0},{.name="Unepic EnjoyUp Games",.tid=0x5000E10145800,.region=4,.key=0},{.name="Unepic EnjoyUp Games",.tid=0x5000E10132800,.region=2,.key=0},{.name="UnepicEnjoyUp Games",.tid=0x5000E10169600,.region=4,.key=0},{.name="Uplay",.tid=0x5000E1011B700,.region=4,.key=0},{.name="Uplay",.tid=0x5000E1011BA00,.region=2,.key=0},{.name="Uplay",.tid=0x5000E10148F00,.region=1,.key=0},{.name="Vector Assault",.tid=0x5000E101AA200,.region=2,.key=0},{.name="VoxelMaker",.tid=0x5000E101DCA00,.region=4,.key=0},{.name="VoxelMaker",.tid=0x5000E101DB800,.region=2,.key=0},{.name="WARRIORS OROCHI 3 Hyper(EU)",.tid=0x5000E10112B00,.region=4,.key=0},{.name="WARRIORS OROCHI 3 Hyper(NA)",.tid=0x5000E10110200,.region=2,.key=0},{.name="WICKED MONSTERS BLAST! HD PLUS",.tid=0x5000E101C8B00,.region=4,.key=0},{.name="Wii Fit U",.tid=0x5000E10102400,.region=4,.key=0},{.name="Wii Fit U",.tid=0x5000E10102300,.region=2,.key=0},{.name="Wii Fit U",.tid=0x5000E10102200,.region=1,.key=0},{.name="Wii Fit U (Free)",.tid=0x5000E10159900,.region=2,.key=0},{.name="Wii Fit U (Free)",.tid=0x5000E10159800,.region=1,.key=0},{.name="Wii Fit U (promo)",.tid=0x5000E10159A00,.region=4,.key=0},{.name="Wii Fit U Quick Check",.tid=0x5000E10132700,.region=4,.key=0},{.name="Wii Fit U Quick Check",.tid=0x5000E10132600,.region=2,.key=0},{.name="Wii Fit U デイリーチェック (Wii Fit U Quick Check)",.tid=0x5000E10132500,.region=1,.key=0},{.name="Wii Sports Club",.tid=0x5000E10144E00,.region=4,.key=0},{.name="Wii Sports Club",.tid=0x5000E10144D00,.region=2,.key=0},{.name="Wii Sports Club",.tid=0x5000E1012F100,.region=1,.key=0},{.name="Word Search by POWGI",.tid=0x5000E101C3900,.region=4,.key=0},{.name="Xenoblade Chronicles X",.tid=0x5000E101C4C00,.region=4,.key=0},{.name="Xenoblade Chronicles X",.tid=0x5000E101C4D00,.region=2,.key=0},{.name="XenobladeX",.tid=0x5000E10116100,.region=1,.key=0},{.name="XType+",.tid=0x5000E101A2E00,.region=1,.key=0},{.name="Yoshi's Woolly World",.tid=0x5000E10184E00,.region=4,.key=0},{.name="Yoshi's Woolly World",.tid=0x5000E10184D00,.region=2,.key=0},{.name="Your Shape® Fitness Evolved 2013",.tid=0x5000E1010F700,.region=4,.key=0},{.name="Your Shape® Fitness Evolved 2013",.tid=0x5000E1010B600,.region=2,.key=0},{.name="ZaciSa: Defense of the Crayon Dimension!",.tid=0x5000E101BB300,.region=4,.key=0},{.name="Zen Pinball 2",.tid=0x5000E10113800,.region=4,.key=0},{.name="Zen Pinball 2",.tid=0x5000E10115F00,.region=2,.key=0},{.name="ZombiU",.tid=0x5000E1010EF00,.region=4,.key=0},{.name="ZombiU",.tid=0x5000E1011A700,.region=4,.key=0},{.name="ZombiU",.tid=0x5000E1010DD00,.region=2,.key=0},{.name="Zumba Fitness World Party",.tid=0x5000E1014E300,.region=4,.key=0},{.name="Zumba Fitness World Party",.tid=0x5000E10142A00,.region=2,.key=0},{.name="アサシン クリード III (Assassin's Creed® III)",.tid=0x5000E10112400,.region=1,.key=0},{.name="アサシン クリード4 ブラック フラッグ (Assassin's Creed® IV Black Flag)",.tid=0x5000E1014C800,.region=1,.key=0},{.name="カンフーラビット (Kung Fu Rabbit)",.tid=0x5000E101A2600,.region=1,.key=0},{.name="キューブライフ: アイランドサバイバル (Cube Life: Island Survival)",.tid=0x5000E101E9C00,.region=1,.key=0},{.name="グレートレース (GREAT RACE)",.tid=0x5000E10176600,.region=1,.key=0},{.name="じっくり絵心教室 (Art Academy: Home Studio)",.tid=0x5000E1017BE00,.region=1,.key=0},{.name="ショベルナイト (Shovel Knight)",.tid=0x5000E101D9300,.region=1,.key=0},{.name="スーパーマリオメーカー (Super Mario Maker)",.tid=0x5000E1018DB00,.region=1,.key=0},{.name="スターフォックス ゼロ (Star Fox Zero)",.tid=0x5000E101AFF00,.region=1,.key=0},{.name="スプラトゥーン (Splatoon)",.tid=0x5000E10162B00,.region=1,.key=0},{.name="スポーツコネクション (Sports Connection)",.tid=0x5000E10112500,.region=1,.key=0},{.name="ゼルダの伝説 トワイライトプリンセス HD (THE LEGEND OF ZELDA Twilight Princess HD)",.tid=0x5000E1019C800,.region=1,.key=0},{.name="ゼルダの伝説 ブレス オブ ザ ワイルド (The Legend of Zelda Breath of the Wild)",.tid=0x5000E101C9300,.region=1,.key=0},{.name="ゼルダ無双 (Hyrule Warriors)",.tid=0x5000E1017CD00,.region=1,.key=0},{.name="ソニック ロストワールド (SONIC LOST WORLD)",.tid=0x5000E10135700,.region=1,.key=0},{.name="ゾンビU (ZombiU)",.tid=0x5000E10112300,.region=1,.key=0},{.name="タッチ!カービィ スーパーレインボー (Kirby and the Rainbow Curse)",.tid=0x5000E10188B00,.region=1,.key=0},{.name="チャリ走 Ultra DX 世界ツアー (Bike Rider UltraDX WORLD TOUR)",.tid=0x5000E101D2C00,.region=1,.key=0},{.name="ディズニーインフィニティ3.0 (DISNEY INFINITY 3.0)",.tid=0x5000E101DDC00,.region=1,.key=0},{.name="どうぶつの森 こもれび広場 - Animal Crossing Plaza",.tid=0x5000E10145600,.region=6,.key=0},{.name="ドラゴンクエストⅩ (Dragon Quest X)",.tid=0x5000E10115E00,.region=1,.key=99},{.name="ドラゴンクエストⅩ ベータテスト版 (Dragon Quest X Beta test)",.tid=0x5000E1011B600,.region=1,.key=99},{.name="ドンキーコング トロピカルフリーズ (Donkey Kong Country Tropical Freeze)",.tid=0x5000E10144800,.region=1,.key=0},{.name="バットマン™ アーカム・ビギンズ (Batman™: Arkham Origins)",.tid=0x5000E10154600,.region=1,.key=0},{.name="ピクミン3 (PIKMIN 3)",.tid=0x5000E1012BC00,.region=1,.key=0},{.name="ファミコン リミックス (NES REMIX)",.tid=0x5000E10145F00,.region=1,.key=0},{.name="プチコンBIG (Petitcom BIG)",.tid=0x5000E101DFF00,.region=1,.key=0},{.name="ぷよぷよテトリス (PUYOPUYOTETRIS)",.tid=0x5000E1014D900,.region=1,.key=0},{.name="ペーパーマリオ カラースプラッシュ (PAPER MARIO Color Splash)",.tid=0x5000E1F600900,.region=1,.key=0},{.name="ポッ拳 (POKKÉN TOURNAMENT)",.tid=0x5000E101C5800,.region=1,.key=0},{.name="マイティー スイッチ フォース! ハイパードライブエディション (Mighty Switch Force!™ Hyper Drive Edition)",.tid=0x5000E1015EB00,.region=1,.key=0},{.name="マスエフェクト3 - 特別版 - (Mass Effect™ 3 Special Edition)",.tid=0x5000E10113000,.region=1,.key=0},{.name="マリオ&ソニック AT ソチオリンピック (Mario & Sonic at the Sochi 2014 Olympic Winter Games)",.tid=0x5000E10106900,.region=1,.key=0},{.name="マリオ&ソニック AT リオオリンピック (Mario & Sonic at the Rio 2016 Olympic Games)",.tid=0x5000E10190300,.region=1,.key=0},{.name="マリオパーティ10 (Mario Party 10)",.tid=0x5000E10161F00,.region=1,.key=0},{.name="モモンガ ピンボール アドベンチャー (Momonga Pinball Adventures)",.tid=0x5000E101E4300,.region=1,.key=0},{.name="モンスターハンター 3(トライ) GHD Ver. (MONSTER HUNTER 3(tri-)G HD Ver.)",.tid=0x5000E10104D00,.region=1,.key=0},{.name="モンスターハンター フロンティアZ (Monster Hunter Frontier Z)",.tid=0x5000E1014DA00,.region=1,.key=4},{.name="ヨッシー ウールワールド (Yoshi's Woolly World)",.tid=0x5000E10131F00,.region=1,.key=0},{.name="わいわい!みんなでチャレンジ (Spin The Bottle: Bumpie's Party)",.tid=0x5000E1016A600,.region=1,.key=0},{.name="三國志12 (Romance of the Three Kingdoms 12)",.tid=0x5000E10111C00,.region=1,.key=0},{.name="仮面ライダー サモンライド! (KAMEN RIDER SUMMON RIDE!)",.tid=0x5000E10192200,.region=1,.key=0},{.name="仮面ライダー サモンライド! (Mario Tennis: Ultra Smash)",.tid=0x5000E10199000,.region=1,.key=0},{.name="仮面ライダー バトライド・ウォーⅡ (KAMEN RIDER BATTRIDE WAR Ⅱ)",.tid=0x5000E10170700,.region=1,.key=0},{.name="仮面ライダー バトライド・ウォーⅡ プレミアムTV&MOVIEサウンドED. (KAMEN RIDER BATTRIDE WAR Ⅱ PREMIUM TV&MOVIE SOUND ED.)",.tid=0x5000E10170600,.region=1,.key=0},{.name="大乱闘スマッシュブラザーズ (Super Smash Bros. for Wii U)",.tid=0x5000E10110E00,.region=1,.key=0},{.name="太鼓の達人 あつめて★ともだち大作戦! (Taiko no Tatsujin Atsumete★ TomodachiDaisakusen!)",.tid=0x5000E101D3000,.region=1,.key=0},{.name="幻影異聞録♯FE (Tokyo Mirage Sessions #FE)",.tid=0x5000E10131D00,.region=1,.key=0},{.name="役満 鳳凰 (Yakuman Houou Mahjong)",.tid=0x5000E10149700,.region=1,.key=0},{.name="無双OROCHI2 Hyper (WARRIORS OROCHI 3 Hyper)",.tid=0x5000E1010EA00,.region=1,.key=0},{.name="真・北斗無双 (Fist of the North: Star Ken's Rage 2)",.tid=0x5000E10116600,.region=1,.key=0},{.name="絵心教室 スケッチ (Art Academy: SketchPad)",.tid=0x5000E10142B00,.region=1,.key=0},{.name="藤子・F・不二雄キャラクターズ 大集合!SFドタバタパーティー!!(Fujiko F. Fujio Characters Daishuugou! SF Dotabata Party!!)",.tid=0x5000E1018C400,.region=1,.key=0},{.name="進め!キノピオ隊長 (Captain Toad: Treasure Tracker)",.tid=0x5000E10180500,.region=1,.key=0},{.name="鉄拳タッグトーナメント2 Wii U EDITION (TEKKEN TAG TOURNAMENT 2 Wii U EDITION)",.tid=0x5000E10100600,.region=1,.key=0},{.name="007™ Legends",.tid=0x5000010110700,.region=4,.key=9},{.name="007™ Legends",.tid=0x500001010E600,.region=2,.key=9},{.name="2.1.0E System Update Disc",.tid=0x500001012CC00,.region=4,.key=9},{.name="2.1.0U System Update Disc",.tid=0x500001012CB00,.region=2,.key=9},{.name="Amazonビデオ (Amazon Video)",.tid=0x50000101FE600,.region=1,.key=0},{.name="Animal Crossing: amiibo Festival",.tid=0x50000101C6400,.region=2,.key=9},{.name="Cabela's Big Game Hunter: Pro Hunts",.tid=0x5000010143200,.region=2,.key=9},{.name="Call of Duty Ghosts",.tid=0x5000010146800,.region=2,.key=9},{.name="Call of Duty: Black Ops II",.tid=0x5000010113400,.region=4,.key=9},{.name="Call of Duty: Black Ops II",.tid=0x5000010113500,.region=4,.key=9},{.name="Call of Duty: Black Ops II",.tid=0x5000010113700,.region=4,.key=9},{.name="Call of Duty: Black Ops II",.tid=0x500001010CF00,.region=2,.key=9},{.name="Call of Duty: Black Ops II",.tid=0x500001011B400,.region=1,.key=9},{.name="Call of Duty: Ghosts",.tid=0x5000010156100,.region=4,.key=9},{.name="Call of Duty: Ghosts",.tid=0x5000010157600,.region=4,.key=9},{.name="Call of Duty: Ghosts",.tid=0x5000010157900,.region=1,.key=9},{.name="Cocoto Magic Circus 2",.tid=0x500001012D000,.region=4,.key=9},{.name="Dangerous Hunts 2013",.tid=0x500001011A600,.region=4,.key=9},{.name="Dangerous Hunts 2013",.tid=0x500001010E700,.region=2,.key=9},{.name="Disney Infinity",.tid=0x5000010136F00,.region=2,.key=9},{.name="Disney Infinity",.tid=0x5000010137000,.region=2,.key=9},{.name="Disney INFINITY",.tid=0x500001015A300,.region=2,.key=9},{.name="Fast & Furious™: Showdown",.tid=0x500001012DA00,.region=4,.key=9},{.name="Fast & Furious™: Showdown",.tid=0x5000010111600,.region=2,.key=9},{.name="FAST Racing NEO",.tid=0x50000101FED00,.region=4,.key=9},{.name="Finding Teddy 2 Definitive Edition",.tid=0x500001021AC00,.region=4,.key=9},{.name="Funky Barn",.tid=0x5000010118400,.region=4,.key=9},{.name="Funky Barn",.tid=0x5000010113C00,.region=2,.key=9},{.name="Giana Sisters: Twisted Dreams Director's Cut",.tid=0x50000101D1100,.region=2,.key=9},{.name="Guitar Hero Live",.tid=0x50000101BC600,.region=4,.key=9},{.name="Guitar Hero Live",.tid=0x50000101BA400,.region=2,.key=9},{.name="Hulu",.tid=0x5000010104C00,.region=1,.key=0},{.name="Hunter's Trophy 2 - Europa",.tid=0x5000010140300,.region=4,.key=9},{.name="Just Dance® Disney Party 2",.tid=0x500001016C800,.region=4,.key=9},{.name="JUST DANCE® Wii U",.tid=0x5000010168F00,.region=1,.key=9},{.name="Know Your Friends",.tid=0x5000010112100,.region=4,.key=9},{.name="LEGO® DIMENSIONS™",.tid=0x5000010195D00,.region=4,.key=9},{.name="LEGO® Dimensions™",.tid=0x5000010194200,.region=2,.key=9},{.name="Mass Effect 3 Special Edition",.tid=0x500001010F500,.region=4,.key=9},{.name="Mass Effect™ 3 Special Edition",.tid=0x500001010DC00,.region=2,.key=9},{.name="Minecraft: Story Mode - The Complete Adventure",.tid=0x500001020A200,.region=2,.key=9},{.name="NES Remix Pack",.tid=0x5000010162800,.region=2,.key=9},{.name="Netflix",.tid=0x5000010105A00,.region=6,.key=0},{.name="New SUPER LUIGI U",.tid=0x5000010142400,.region=4,.key=9},{.name="New SUPER LUIGI U",.tid=0x5000010142300,.region=2,.key=9},{.name="NewスーパールイージU (New SUPER LUIGI U)",.tid=0x5000010142200,.region=1,.key=9},{.name="Nintendo TVii",.tid=0x5000010013000,.region=1,.key=9},{.name="Phineas and Ferb: Quest for Cool Stuff",.tid=0x500001014E200,.region=4,.key=9},{.name="Project Zero: Maiden of Black Water",.tid=0x50000101D0300,.region=4,.key=9},{.name="Rapala® Pro Bass Fishing",.tid=0x5000010113D00,.region=2,.key=9},{.name="Runbow Deluxe Edition",.tid=0x5000010205C00,.region=2,.key=9},{.name="Scribblenauts Unlimited",.tid=0x5000010111E00,.region=4,.key=9},{.name="Shmup Collection",.tid=0x500001021AB00,.region=4,.key=9},{.name="Skylanders Giants",.tid=0x5000010116000,.region=4,.key=9},{.name="Skylanders Giants",.tid=0x500001010D700,.region=2,.key=9},{.name="Skylanders™ Imaginators",.tid=0x50000101FB100,.region=4,.key=9},{.name="Skylanders™ Imaginators",.tid=0x50000101F4D00,.region=2,.key=9},{.name="Sniper Elite V2",.tid=0x5000010133B00,.region=4,.key=9},{.name="Sniper Elite V2",.tid=0x5000010134E00,.region=2,.key=9},{.name="SteamWorld Collection",.tid=0x50000101FCA00,.region=4,.key=9},{.name="SteamWorld Collection",.tid=0x5000010203E00,.region=2,.key=9},{.name="TANK! TANK! TANK!",.tid=0x500001010FE00,.region=4,.key=9},{.name="TANK! TANK! TANK!",.tid=0x500001010FD00,.region=2,.key=9},{.name="Teslagrad",.tid=0x50000101A1600,.region=4,.key=9},{.name="The Walking Dead: Survival Instinct",.tid=0x5000010129400,.region=4,.key=9},{.name="The Walking Dead: Survival Instinct",.tid=0x500001011F300,.region=2,.key=9},{.name="Wii カラオケ U トライアルディスク",.tid=0x500001010B800,.region=1,.key=9},{.name="YouTube",.tid=0x5000010105700,.region=7,.key=0},{.name="Zumba Fitness World Party",.tid=0x500001014E300,.region=4,.key=9},{.name="スーパーマリオコレクション (???)",.tid=0x50000101A0800,.region=1,.key=9},{.name="スカイランダーズ スパイロの大冒険 (Skylanders Spyro's Adventure)",.tid=0x5000010142D00,.region=1,.key=9},{.name="タンク!タンク!タンク! (TANK! TANK! TANK!)",.tid=0x5000010113600,.region=1,.key=9},{.name="ディズニーインフィニティ3.0 (Disney INFINITY 3.0)",.tid=0x50000101DDC00,.region=1,.key=9},{.name="どうぶつの森 amiiboフェスティバル (Animal Crossing: amiibo Festival)",.tid=0x5000010190100,.region=1,.key=9},{.name="ドラゴンクエストⅩ 5000年の旅路 遙かなる故郷へ オンライン Version 4 (Dragon Quest X The 5000 Year Voyage to a Faraway Hometown)",.tid=0x5000010211F00,.region=1,.key=9},{.name="ドラゴンクエストⅩ いにしえの竜の伝承 オンライン Version 3 (Dragon Quest X Lore of the Ancient Dragon)",.tid=0x50000101B3400,.region=1,.key=9},{.name="ドラゴンクエストⅩ 眠れる勇者と導きの盟友 オンライン Version 2 (Dragon Quest X The Sleeping Hero and the Guided Allies)",.tid=0x5000010155F00,.region=1,.key=9},{.name="ファミコンリミックス 1+2 (NES REMIX PACK)",.tid=0x5000010162700,.region=1,.key=9},{.name="マスエフェクト3 - 特別版 - (Mass Effect™ 3 Special Edition)",.tid=0x5000010113000,.region=1,.key=9},{.name="仮面ライダー サモンライド! (KAMEN RIDER SUMMON RIDE!)",.tid=0x5000010192200,.region=1,.key=9},{.name="仮面ライダー バトライド・ウォーⅡ プレミアムTV&MOVIEサウンドED. (KAMEN RIDER BATTRIDE WAR Ⅱ PREMIUM TV&MOVIE SOUND ED.)",.tid=0x5000010170600,.region=1,.key=9},{.name="妖怪ウォッチダンス JUST DANCEスペシャルバージョン (Yo-kai Watch Dance: Just Dance Special Version)",.tid=0x50000101C8900,.region=1,.key=9},};static const size_t titleEntries[]={2795,433,141,134,3675,82};static const TitleEntry *titleCats[]={titleEntry+3242,titleEntry+3101,titleEntry+2795,titleEntry+3675};const TitleEntry *getTitleEntries(TITLE_CATEGORY cat){return cat==TITLE_CATEGORY_GAME||cat==TITLE_CATEGORY_ALL?titleEntry:(cat==TITLE_CATEGORY_DISC?titleCats[3]:titleCats[--cat]);}size_t getTitleEntriesSize(TITLE_CATEGORY cat){return titleEntries[cat];} From e412730f285eb60692be857e822b5f6427105d81 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 2 Mar 2024 11:25:37 -0500 Subject: [PATCH 29/64] universedesktop: Update wifi --- machines/universedesktop/secrets/secrets.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/machines/universedesktop/secrets/secrets.yaml b/machines/universedesktop/secrets/secrets.yaml index 7f1c70e..5842f4d 100644 --- a/machines/universedesktop/secrets/secrets.yaml +++ b/machines/universedesktop/secrets/secrets.yaml @@ -1,4 +1,4 @@ -wireless: ENC[AES256_GCM,data:VS8XBhc2DfqDdOeUvwnMYy8R1x/Qbr7lSuCb3l+X1xFdK7gni5aGm71pZk4=,iv:3I/GMA6KbYyD4fOkdLrW99JoIbUPA111fpZ4mlpgA8c=,tag:fAZyTM4AhNX3SENKpJxnsw==,type:str] +wireless: ENC[AES256_GCM,data:oqQlkeerLsS8zKsLU5bIDSvi3+c56f51yKMgyHpeZmFOD7TqJaqqXg==,iv:0dg1qXPFvXIQa67JJSGDvyUuf70r61Y6Nafky6L5V44=,tag:+ePBK/bBtrcGZphHqv8zHw==,type:str] sops: kms: [] gcp_kms: [] @@ -14,8 +14,8 @@ sops: WS93Uzg1UkFSSGM1eUR1UG9WRFVCYVEKbnE6DuVqtkynqphNIybtVgfVFJtgm6vI XywmFg8F1dOq1xDz97oFBbzbJa1J9qsMjNlPxZkC04snM9msZm9v2g== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-01-02T02:01:25Z" - mac: ENC[AES256_GCM,data:oZCQ9G7C7cqmuK/oXK0zo/siUvKMlKNArP39w9imAwWRSeLy1Vazu/oFH2F1Kzmq7B5iukBXID7T4kGB8vgLINa0T9qKP8s5GfxbcKadY3e6BqcMjXUXy5+UayQ+S/KxDFr4ftoJ4khwmVR8sW8Gpfo4y3VJgDBQTcrRNf8TAq0=,iv:jRMxlw+FDigIN1ZOLXQotqI+hRM6Fgi/DXWjPKKW5TQ=,tag:y7kl2Cjan+w3MqIwLW5dGA==,type:str] + lastmodified: "2024-02-19T20:52:25Z" + mac: ENC[AES256_GCM,data:o+7YNnHWQfSq/kFA7aOX2ECaTZJnahWa8XrmSz23ozSu7cYHfxtXF5D6ZlZiCv0p9EgDxVOGt+eztSp2SKG9kmMTtZvXuywjHCmXZ1cMAJfoRPOarvs9XT0imVmLNJMFVqILtbZFynYNmEC1ktWWCm3Z21V1e7qlLBRdiI9XNVY=,iv:ANgCWMvHze5Jl1Rzycss+TwqG5SzO6pZDk5giXMFGvc=,tag:LflYmTEVephiRoHQZ37Lkg==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1 From ccd3fd3c4d17b3fb8459129ca7abe4ab25707a53 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 2 Mar 2024 11:25:51 -0500 Subject: [PATCH 30/64] Not flatpak steam --- machines/universedesktop/programs/games.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universedesktop/programs/games.nix b/machines/universedesktop/programs/games.nix index fa90640..43464a7 100644 --- a/machines/universedesktop/programs/games.nix +++ b/machines/universedesktop/programs/games.nix @@ -46,8 +46,8 @@ ''; }; in { - # For steam services.flatpak.enable = true; + programs.steam.enable = true; # Game compat programs.gamemode.enable = true; From bc6d11d619e9409e6c06db44d15238f005b88939 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 5 Apr 2024 09:58:30 -0400 Subject: [PATCH 31/64] universeair: tailscale cask --- machines/universeair/configuration.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 918ece8..6b0dfe7 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -84,6 +84,7 @@ in tailscale discord slack + inkscape # TODO: Consider using Yabai?? ]); @@ -102,12 +103,20 @@ in "bitwarden" "zoom-for-it-admins" "libreoffice" + "microsoft-office" + "prismlauncher" + "kicad" + "tailscale" ]; # Apps to install outside of nix for when wanting to test/run # things that... aren't used by other people who use nix, like # python apps (which is why poetry is there) brews = [ "poetry" + "python@3.11" + # sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk \ + # /Library/Java/JavaVirtualMachines/openjdk.jdk + "openjdk" ]; }; From f7c093d1a986cb428413ce7788f17dac5a838fbb Mon Sep 17 00:00:00 2001 From: david Date: Mon, 15 Apr 2024 10:44:37 -0400 Subject: [PATCH 32/64] universeair: No Yabi; Install wine & gimp --- machines/universeair/configuration.nix | 2 ++ machines/universeair/yabai.nix | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 6b0dfe7..90409c8 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -85,6 +85,7 @@ in discord slack inkscape + gimp # TODO: Consider using Yabai?? ]); @@ -107,6 +108,7 @@ in "prismlauncher" "kicad" "tailscale" + "wine-stable" ]; # Apps to install outside of nix for when wanting to test/run # things that... aren't used by other people who use nix, like diff --git a/machines/universeair/yabai.nix b/machines/universeair/yabai.nix index fd9cb79..8c70523 100644 --- a/machines/universeair/yabai.nix +++ b/machines/universeair/yabai.nix @@ -8,7 +8,8 @@ yabai ]; services.yabai = { - enable = true; + # Needs heavy configuration + enable = false; enableScriptingAddition = true; config = { layout = "bsp"; From 71c24f64bf1b67909b10113d2bca87a443360846 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 2 Mar 2024 11:28:42 -0500 Subject: [PATCH 33/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/ce4b88c465d928f4f8b75d0920f1788d5b65ca94' (2024-01-19) → 'github:nix-community/home-manager/2f3367769a93b226c467551315e9e270c3f78b15' (2024-02-29) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/74ab0227ee495e526f2dd57ea684b34f6396445a' (2024-01-17) → 'github:LnL7/nix-darwin/8a15cb36fffa0b5fbe31ef16ede0a479bef4b365' (2024-03-02) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17) → 'github:NixOS/nixpkgs/1536926ef5621b09bba54035ae2bb6d806d72ac8' (2024-02-29) • Updated input 'sops-nix': 'github:Mic92/sops-nix/87755331580fdf23df7e39b46d63ac88236bf42c' (2024-01-15) → 'github:Mic92/sops-nix/a1c8de14f60924fafe13aea66b46157f0150f4cf' (2024-02-26) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09) → 'github:NixOS/nixpkgs/f63ce824cd2f036216eb5f637dfef31e1a03ee89' (2024-02-24) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12) → 'github:NixOS/nixpkgs/89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea' (2024-02-25) --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index aa4f1b5..6e7a5bf 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1705708511, - "narHash": "sha256-3f4BkRY70Fj7yvuo87c4QQPAjnt571g2wJ50jY7hnYc=", + "lastModified": 1709204054, + "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=", "owner": "nix-community", "repo": "home-manager", - "rev": "ce4b88c465d928f4f8b75d0920f1788d5b65ca94", + "rev": "2f3367769a93b226c467551315e9e270c3f78b15", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1705452289, - "narHash": "sha256-i/WodLabBcmRr9hdSv5jzDigL1hRYuI8vNh+xTbGt+g=", + "lastModified": 1709348262, + "narHash": "sha256-eYTA1uZtYGFKrDOKiAz1wlE6aIC9WSdBNF8bSS818zM=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "74ab0227ee495e526f2dd57ea684b34f6396445a", + "rev": "8a15cb36fffa0b5fbe31ef16ede0a479bef4b365", "type": "github" }, "original": { @@ -124,11 +124,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705496572, - "narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -156,27 +156,27 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1705033721, - "narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", + "lastModified": 1708819810, + "narHash": "sha256-1KosU+ZFXf31GPeCBNxobZWMgHsSOJcrSFA6F2jhzdE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", + "rev": "89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1704842529, - "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", + "lastModified": 1708751719, + "narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", + "rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1705356877, - "narHash": "sha256-274jL1cH64DcXUXebVMZBRUsTs3FvFlPIPkCN/yhSnI=", + "lastModified": 1708987867, + "narHash": "sha256-k2lDaDWNTU5sBVHanYzjDKVDmk29RHIgdbbXu5sdzBA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "87755331580fdf23df7e39b46d63ac88236bf42c", + "rev": "a1c8de14f60924fafe13aea66b46157f0150f4cf", "type": "github" }, "original": { From 35204373dac591e30fa358ec7f4feb1e4b009059 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 4 Mar 2024 19:34:57 -0500 Subject: [PATCH 34/64] Cuda Maintainers ccache --- machines/universedesktop/ccache.nix | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/machines/universedesktop/ccache.nix b/machines/universedesktop/ccache.nix index 528c24e..690f115 100644 --- a/machines/universedesktop/ccache.nix +++ b/machines/universedesktop/ccache.nix @@ -1,8 +1,8 @@ { config, pkgs, lib, ... }: { -nixpkgs.overlays = [ - (self: super: { - ccacheWrapper = super.ccacheWrapper.override { - extraConfig = '' + nixpkgs.overlays = [ + (self: super: { + ccacheWrapper = super.ccacheWrapper.override { + extraConfig = '' export CCACHE_COMPRESS=1 export CCACHE_DIR="${config.programs.ccache.cacheDir}" export CCACHE_UMASK=007 @@ -23,8 +23,16 @@ nixpkgs.overlays = [ exit 1 fi ''; - }; - }) -]; -nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; + }; + }) + ]; + nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; + nix.settings = { + substituters = [ + "https://cuda-maintainers.cachix.org" + ]; + trusted-public-keys = [ + "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" + ]; + }; } From 4b65bf0e51e898b9dbf349c55aa5f18a00e3ff50 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Thu, 7 Mar 2024 22:50:30 -0500 Subject: [PATCH 35/64] Update Weefee --- machines/universedesktop/secrets/secrets.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/machines/universedesktop/secrets/secrets.yaml b/machines/universedesktop/secrets/secrets.yaml index 5842f4d..e3e6b9b 100644 --- a/machines/universedesktop/secrets/secrets.yaml +++ b/machines/universedesktop/secrets/secrets.yaml @@ -1,4 +1,4 @@ -wireless: ENC[AES256_GCM,data:oqQlkeerLsS8zKsLU5bIDSvi3+c56f51yKMgyHpeZmFOD7TqJaqqXg==,iv:0dg1qXPFvXIQa67JJSGDvyUuf70r61Y6Nafky6L5V44=,tag:+ePBK/bBtrcGZphHqv8zHw==,type:str] +wireless: ENC[AES256_GCM,data:rOnpkuFvcy3/mNPGVQXm6gjEDkIkmEMNJyugSfKddnWAlqbMbVbBhy8UQg==,iv:7/ba9+kUxsLaVG6uxZjF4WBUGa5i0/FFRyGAhkATEg8=,tag:ZD+Xy69K/txJzC1C/CLDlg==,type:str] sops: kms: [] gcp_kms: [] @@ -14,8 +14,8 @@ sops: WS93Uzg1UkFSSGM1eUR1UG9WRFVCYVEKbnE6DuVqtkynqphNIybtVgfVFJtgm6vI XywmFg8F1dOq1xDz97oFBbzbJa1J9qsMjNlPxZkC04snM9msZm9v2g== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-02-19T20:52:25Z" - mac: ENC[AES256_GCM,data:o+7YNnHWQfSq/kFA7aOX2ECaTZJnahWa8XrmSz23ozSu7cYHfxtXF5D6ZlZiCv0p9EgDxVOGt+eztSp2SKG9kmMTtZvXuywjHCmXZ1cMAJfoRPOarvs9XT0imVmLNJMFVqILtbZFynYNmEC1ktWWCm3Z21V1e7qlLBRdiI9XNVY=,iv:ANgCWMvHze5Jl1Rzycss+TwqG5SzO6pZDk5giXMFGvc=,tag:LflYmTEVephiRoHQZ37Lkg==,type:str] + lastmodified: "2024-03-08T03:50:15Z" + mac: ENC[AES256_GCM,data:1mZG+AFeBhilH8Zenvy+0YZM60CcCil7KfX02aEci8+0ne3g8y9jrbycCyR/E2wmB/FNYuNvwfwEWroHvooayeTZ09Wlh3D9RhTWPIHIj3s6aTmdV+OkcbfJt6tpuuSLcNcpHWnKF8EBKwPiZZnZSUuoGgEKAPiznV7qPLDYqLc=,iv:GnfojCZ4G6rHOTEYvt8AfAM2Vh1GUsGv3Aevcx9gkT8=,tag:bG/nckGVmSJx4SmsTLrUPg==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1 From 9dcc57fffcfb8c59ba1026c28cadd07634043cd0 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 22 Mar 2024 22:55:35 -0400 Subject: [PATCH 36/64] universedesktop: variety of changes --- machines/universedesktop/ccache.nix | 6 + machines/universedesktop/configuration.nix | 15 +- machines/universedesktop/programs/art.nix | 201 +++++++++--------- machines/universedesktop/programs/audio.nix | 4 +- machines/universedesktop/programs/cad.nix | 72 +------ machines/universedesktop/programs/desktop.nix | 1 + 6 files changed, 122 insertions(+), 177 deletions(-) diff --git a/machines/universedesktop/ccache.nix b/machines/universedesktop/ccache.nix index 690f115..f1dc751 100644 --- a/machines/universedesktop/ccache.nix +++ b/machines/universedesktop/ccache.nix @@ -31,8 +31,14 @@ substituters = [ "https://cuda-maintainers.cachix.org" ]; + trusted-substituters = [ + "https://cuda-maintainers.cachix.org" + ]; trusted-public-keys = [ "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" ]; + trusted-users = [ + "universe" + ]; }; } diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index e685fce..26aa202 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -170,10 +170,19 @@ nixpkgs.config.allowUnfree = true; services.xserver.videoDrivers = [ "nvidia" ]; + # Wayland support - boot.kernelParams = ["nvidia_drm.modeset=1"]; - hardware.opengl.enable = true; - hardware.opengl.driSupport = true; + hardware = { + opengl.enable = true; + opengl.driSupport = true; + opengl.driSupport32Bit = true; + + nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + open = false; + }; + }; services.fwupd.enable = true; diff --git a/machines/universedesktop/programs/art.nix b/machines/universedesktop/programs/art.nix index 85423fb..0b45148 100644 --- a/machines/universedesktop/programs/art.nix +++ b/machines/universedesktop/programs/art.nix @@ -1,117 +1,114 @@ -{ lib, config, pkgs, ... }: let - py3 = pkgs.python3; - py3Pkgs = py3.pkgs; - # For 3D CNC machining - opencamlib = py3Pkgs.toPythonModule (pkgs.stdenv.mkDerivation rec { - pname = "opencamlib"; - version = "2019.07"; - nativeBuildInputs = (with pkgs;[ - cmake - git - doxygen - boost - texlive.combined.scheme-full - ]); - propagatedNativeBuildInputs = (with pkgs; [ - py3 - py3.pkgs.boost - py3.pkgs.vtk - ]); - postPatch = '' - mkdir -p $out/${py3.sitePackages}/{lib,ocl} - sed -e 's#LIBRARY DESTINATION ''${PYTHON_ARCH_PACKAGES}#LIBRARY DESTINATION '"$out"'/${py3.sitePackages}#g' -i src/pythonlib/pythonlib.cmake - sed -e 's#DESTINATION ''${PYTHON_SITE_PACKAGES}#DESTINATION '"$out"'/${py3.sitePackages}#g' -i src/pythonlib/pythonlib.cmake - ''; - cmakeFlags = [ - "-DVERSION_STRING=2019.07" - "-DBUILD_CXX_LIB=ON" - "-DBUILD_PY_LIB=ON" - "-DUSE_PY_3=ON" - "-DCMAKE_BUILD_TYPE=Release" +{ lib, config, pkgs, ... }: { + nixpkgs.overlays = [(final: prev: rec { + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ + ( + python-final: python-prev: let + py = python-prev; + in { + opencamlib = py.toPythonModule (pkgs.stdenv.mkDerivation rec { + pname = "opencamlib"; + version = "2019.07"; + nativeBuildInputs = (with pkgs;[ + cmake + git + doxygen + boost + texlive.combined.scheme-full + ]); + propagatedNativeBuildInputs = [ + py.python + py.boost + py.vtk + ]; + postPatch = '' + mkdir -p $out/${py.python.sitePackages}/{lib,ocl} + sed -e 's#LIBRARY DESTINATION ''${PYTHON_ARCH_PACKAGES}#LIBRARY DESTINATION '"$out"'/${py.python.sitePackages}#g' -i src/pythonlib/pythonlib.cmake + sed -e 's#DESTINATION ''${PYTHON_SITE_PACKAGES}#DESTINATION '"$out"'/${py.python.sitePackages}#g' -i src/pythonlib/pythonlib.cmake + ''; + cmakeFlags = [ + "-DVERSION_STRING=2019.07" + "-DBUILD_CXX_LIB=ON" + "-DBUILD_PY_LIB=ON" + "-DUSE_PY_3=ON" + "-DCMAKE_BUILD_TYPE=Release" + ]; + src = pkgs.fetchFromGitHub { + owner = "aewallin"; + repo = "opencamlib"; + rev = "2019.07"; + sha256 = "1a8pxp1mh8x3bfsb0l97vgxrpk482p7q9jprkd4m9hv69vva2bdz"; + }; + }); + equation = py.buildPythonPackage { + pname = "Equation"; + version = "1.2.01"; + nativeBuildInputs = [ + py.setuptools + py.numpy + ]; + src = pkgs.fetchzip { + url = "https://files.pythonhosted.org/packages/2e/cc/115fb1722051f99b9699864586e7f96ca0080645387698af922fade4f7b2/Equation-1.2.01.zip"; + sha256 = "YFxZB3vaC5s49K1AQLFF4WGUr2RpomJTLQdZ24ITXr4="; + }; + }; + morphio = py.toPythonModule ( pkgs.stdenv.mkDerivation rec { + pname = "MorphIO"; + version = "3.3.4"; + nativeBuildInputs = (with pkgs; [ + cmake + ninja + py.numpy + hdf5 + ]); + cmakeFlags = [ + "-DMorphIO_CXX_WARNINGS=OFF" + ]; + postInstall = '' + mkdir -p $out/${py.python.sitePackages} + mv ../morphio $out/${py.python.sitePackages} + cp binds/python/_morphio.* $out/${py.python.sitePackages}/morphio/ + ''; + src = pkgs.fetchFromGitHub { + owner = "BlueBrain"; + repo = "MorphIO"; + rev = "v${version}"; + deepClone = true; + fetchSubmodules = true; + sha256 = "C3zDziG7LF7v22ZvplBrtOYq7iKGnAavfpiBCcShHaQ="; + }; + }); + + } + ) ]; - src = pkgs.fetchFromGitHub { - owner = "aewallin"; - repo = "opencamlib"; - rev = "2019.07"; - sha256 = "1a8pxp1mh8x3bfsb0l97vgxrpk482p7q9jprkd4m9hv69vva2bdz"; - }; - }); - equation = py3Pkgs.buildPythonPackage { - pname = "Equation"; - version = "1.2.01"; - nativeBuildInputs = [ - py3Pkgs.setuptools - py3Pkgs.numpy - ]; - src = pkgs.fetchzip { - url = "https://files.pythonhosted.org/packages/2e/cc/115fb1722051f99b9699864586e7f96ca0080645387698af922fade4f7b2/Equation-1.2.01.zip"; - sha256 = "YFxZB3vaC5s49K1AQLFF4WGUr2RpomJTLQdZ24ITXr4="; - }; - }; - morphio = py3.pkgs.toPythonModule ( pkgs.stdenv.mkDerivation rec { - pname = "MorphIO"; - version = "3.3.4"; - nativeBuildInputs = (with pkgs; [ - cmake - ninja - py3 - py3.pkgs.numpy - hdf5 - ]); - cmakeFlags = [ - "-DMorphIO_CXX_WARNINGS=OFF" - ]; - postInstall = '' - mkdir -p $out/${py3.sitePackages} - mv ../morphio $out/${py3.sitePackages} - cp binds/python/_morphio.* $out/${py3.sitePackages}/morphio/ - ''; - src = pkgs.fetchFromGitHub { - owner = "BlueBrain"; - repo = "MorphIO"; - rev = "v${version}"; - deepClone = true; - fetchSubmodules = true; - sha256 = "C3zDziG7LF7v22ZvplBrtOYq7iKGnAavfpiBCcShHaQ="; - }; - }); -in { - nixpkgs.overlays = [(self: super: rec { # Add CUDA Support to Blender - blender_cuda = super.blender.override { - stdenv = super.ccacheStdenv; + blender_cuda = prev.blender.override { cudaSupport = true; }; - # Add Opencamlib for BlenderCAM Support - blender = blender_cuda.overrideAttrs (old: { - pythonPath = old.pythonPath ++ (with py3Pkgs; [ - # OpenCAMLib support - shapely - equation - opencamlib - # NeuroMorphoVis support - matplotlib - seaborn - pandas - pillow - h5py - morphio - # TODO add BluePy support? - ]); - }); + blender = final.blender_cuda.withPackages (p: with p; [ + # OpenCAMLib support + shapely + equation + opencamlib + # NeuroMorphoVis support + matplotlib + seaborn + pandas + pillow + h5py + morphio + # TODO add BluePy support? + ]); # Update RX and Aseprite - rx = super.rx.overrideAttrs (old: { + rx = prev.rx.overrideAttrs (old: { version = "git"; - src = super.fetchFromGitHub { + src = prev.fetchFromGitHub { owner = "cloudhead"; repo = old.pname; rev = "18625a68921873ebe21a7ea8096409a9f0314541"; sha256 = "sha256-LTpaV/fgYUgA2M6Wz5qLHnTNywh13900g+umhgLvciM="; }; }); - glaxnimate = super.glaxnimate.override { - python3 = self.python310; - }; })]; environment.systemPackages = with pkgs; [ diff --git a/machines/universedesktop/programs/audio.nix b/machines/universedesktop/programs/audio.nix index 3922bf6..153bb84 100644 --- a/machines/universedesktop/programs/audio.nix +++ b/machines/universedesktop/programs/audio.nix @@ -3,7 +3,9 @@ easyeffects helvum - musescore + # https://nixpk.gs/pr-tracker.html?pr=290037 + # Waiting for this ^ + # musescore audacity tidal-hifi diff --git a/machines/universedesktop/programs/cad.nix b/machines/universedesktop/programs/cad.nix index 96af6d8..4ce328d 100644 --- a/machines/universedesktop/programs/cad.nix +++ b/machines/universedesktop/programs/cad.nix @@ -1,74 +1,4 @@ -{ lib, config, pkgs, ... }: let - # FreeCAD uses pyside2 (qt 5.15) which doesn't support > 3.10 - py3 = pkgs.python310; - py3Pkgs = py3.pkgs; - # For 3D CNC machining - opencamlib = py3Pkgs.toPythonModule (pkgs.stdenv.mkDerivation rec { - pname = "opencamlib"; - version = "2019.07"; - nativeBuildInputs = (with pkgs;[ - cmake - git - doxygen - boost - texlive.combined.scheme-full - ]); - propagatedNativeBuildInputs = (with pkgs; [ - py3 - py3.pkgs.boost - py3.pkgs.vtk - ]); - postPatch = '' - mkdir -p $out/${py3.sitePackages}/{lib,ocl} - sed -e 's#LIBRARY DESTINATION ''${PYTHON_ARCH_PACKAGES}#LIBRARY DESTINATION '"$out"'/${py3.sitePackages}#g' -i src/pythonlib/pythonlib.cmake - sed -e 's#DESTINATION ''${PYTHON_SITE_PACKAGES}#DESTINATION '"$out"'/${py3.sitePackages}#g' -i src/pythonlib/pythonlib.cmake - ''; - cmakeFlags = [ - "-DVERSION_STRING=2019.07" - "-DBUILD_CXX_LIB=ON" - "-DBUILD_PY_LIB=ON" - "-DUSE_PY_3=ON" - "-DCMAKE_BUILD_TYPE=Release" - ]; - src = pkgs.fetchFromGitHub { - owner = "aewallin"; - repo = "opencamlib"; - rev = "2019.07"; - sha256 = "1a8pxp1mh8x3bfsb0l97vgxrpk482p7q9jprkd4m9hv69vva2bdz"; - }; - }); - - py3Cad = py3.withPackages (p: (with p; [ - numpy - scipy - seaborn - pandas - matplotlib - ipython - python-lsp-server - opencamlib - ])); -in { - # if you also want support for flakes - nixpkgs.overlays = [(self: super: rec { - freecad = super.freecad.override { - stdenv = super.ccacheStdenv; - python = py3Cad; - boost = py3Pkgs.boost; - inherit (py3Pkgs) - gitpython - matplotlib - pivy - ply - pycollada - pyside2 - pyside2-tools - pyyaml - scipy - shiboken2; - }; - })]; - +{ lib, config, pkgs, ... }: { environment.systemPackages = with pkgs; [ openscad freecad diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index ef52598..232b71a 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -26,6 +26,7 @@ discord-canary discord + vesktop betterdiscordctl slack signal-desktop From 6e4c94100dfa187591e9bf3b3191d89fc1fb548f Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 6 Apr 2024 14:20:17 -0400 Subject: [PATCH 37/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb' (2024-03-22) → 'github:nix-community/home-manager/b787726a8413e11b074cde42704b4af32d95545c' (2024-04-06) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/bcc8afd06e237df060c85bad6af7128e05fd61a3' (2024-03-17) → 'github:LnL7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083' (2024-03-30) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/20f77aa09916374aa3141cbc605c955626762c9a' (2024-03-21) → 'github:NixOS/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03) • Updated input 'sops-nix': 'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17) → 'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15) → 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16) → 'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 6e7a5bf..421a4c5 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1709204054, - "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=", + "lastModified": 1712390667, + "narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f3367769a93b226c467551315e9e270c3f78b15", + "rev": "b787726a8413e11b074cde42704b4af32d95545c", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1709348262, - "narHash": "sha256-eYTA1uZtYGFKrDOKiAz1wlE6aIC9WSdBNF8bSS818zM=", + "lastModified": 1711763326, + "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "8a15cb36fffa0b5fbe31ef16ede0a479bef4b365", + "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", "type": "github" }, "original": { @@ -124,11 +124,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709237383, - "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "lastModified": 1712163089, + "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", "type": "github" }, "original": { @@ -156,11 +156,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1708819810, - "narHash": "sha256-1KosU+ZFXf31GPeCBNxobZWMgHsSOJcrSFA6F2jhzdE=", + "lastModified": 1711819797, + "narHash": "sha256-tNeB6emxj74Y6ctwmsjtMlzUMn458sBmwnD35U5KIM4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea", + "rev": "2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c", "type": "github" }, "original": { @@ -172,11 +172,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1708751719, - "narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=", + "lastModified": 1711715736, + "narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89", + "rev": "807c549feabce7eddbf259dbdcec9e0600a0660d", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1708987867, - "narHash": "sha256-k2lDaDWNTU5sBVHanYzjDKVDmk29RHIgdbbXu5sdzBA=", + "lastModified": 1711855048, + "narHash": "sha256-HxegAPnQJSC4cbEbF4Iq3YTlFHZKLiNTk8147EbLdGg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a1c8de14f60924fafe13aea66b46157f0150f4cf", + "rev": "99b1e37f9fc0960d064a7862eb7adfb92e64fa10", "type": "github" }, "original": { From a940afae475b945a2c1dc6b88e09105f687d6b16 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 21 Apr 2024 20:59:18 -0400 Subject: [PATCH 38/64] Audio Fix --- machines/universedesktop/configuration.nix | 50 ++++++++++---------- machines/universedesktop/programs/office.nix | 1 - 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index 26aa202..cce2b72 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -120,31 +120,33 @@ alsa.support32Bit = true; pulse.enable = true; # If you want to use JACK applications, uncomment this - jack.enable = true; + # jack.enable = true; }; - # services.pipewire = { - # config.pipewire = { - # "context.properties" = { - # #"link.max-buffers" = 64; - # "link.max-buffers" = 16; # version < 3 clients can't handle more than this - # "log.level" = 2; # https://docs.pipewire.org/page_daemon.html - # #"default.clock.rate" = 48000; - # #"default.clock.quantum" = 1024; - # #"default.clock.min-quantum" = 32; - # #"default.clock.max-quantum" = 8192; - # }; - # }; - # }; - # environment.etc = { - # "wireplumber/bluetooth.lua.d/52-bluez-config.lua".text = '' - # bluez_monitor.properties = { - # ["bluez5.enable-sbc-xq"] = true, - # ["bluez5.enable-msbc"] = true, - # ["bluez5.enable-hw-volume"] = true, - # ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]" - # ''; - # }; - +# services.pipewire.extraConfig.pipewire."92-low-latency" = { +# context.properties = { +# default.clock.rate = 48000; +# default.clock.quantum = 32; +# default.clock.min-quantum = 32; +# default.clock.max-quantum = 32; +# }; +# context.modules = [ +# { +# name = "libpipewire-module-protocol-pulse"; +# args = { +# pulse.min.req = "32/48000"; +# pulse.default.req = "32/48000"; +# pulse.max.req = "32/48000"; +# pulse.min.quantum = "32/48000"; +# pulse.max.quantum = "32/48000"; +# }; +# } +# ]; +# stream.properties = { +# node.latency = "32/48000"; +# resample.quality = 1; +# }; +# }; + # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; users.groups.net = {}; diff --git a/machines/universedesktop/programs/office.nix b/machines/universedesktop/programs/office.nix index a8408dd..8ce8973 100644 --- a/machines/universedesktop/programs/office.nix +++ b/machines/universedesktop/programs/office.nix @@ -2,7 +2,6 @@ environment.systemPackages = with pkgs; [ kitty me-emacs - rnix-lsp texlive.combined.scheme-full pandoc libreoffice-qt From 0e50376c196c4faa283d2db67c75fe2ab9b11d34 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 21 Apr 2024 21:43:16 -0400 Subject: [PATCH 39/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/b787726a8413e11b074cde42704b4af32d95545c' (2024-04-06) → 'github:nix-community/home-manager/670d9ecc3e46a6e3265c203c2d136031a3d3548e' (2024-04-21) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/36524adc31566655f2f4d55ad6b875fb5c1a4083' (2024-03-30) → 'github:LnL7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03) → 'github:NixOS/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31) → 'github:Mic92/sops-nix/09f1bc8ba3277c0f052f7887ec92721501541938' (2024-04-21) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29) → 'github:NixOS/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be' (2024-04-20) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30) → 'github:NixOS/nixpkgs/74574c38577914733b4f7a775dd77d24245081dd' (2024-04-20) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 421a4c5..2275bd4 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1712390667, - "narHash": "sha256-ebq+fJZfobqpsAdGDGpxNWSySbQejRwW9cdiil6krCo=", + "lastModified": 1713732794, + "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", "owner": "nix-community", "repo": "home-manager", - "rev": "b787726a8413e11b074cde42704b4af32d95545c", + "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1711763326, - "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", + "lastModified": 1713543876, + "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", + "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", "type": "github" }, "original": { @@ -124,11 +124,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712163089, - "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", + "lastModified": 1713537308, + "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", + "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", "type": "github" }, "original": { @@ -156,11 +156,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1711819797, - "narHash": "sha256-tNeB6emxj74Y6ctwmsjtMlzUMn458sBmwnD35U5KIM4=", + "lastModified": 1713638189, + "narHash": "sha256-q7APLfB6FmmSMI1Su5ihW9IwntBsk2hWNXh8XtSdSIk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c", + "rev": "74574c38577914733b4f7a775dd77d24245081dd", "type": "github" }, "original": { @@ -172,11 +172,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1711715736, - "narHash": "sha256-9slQ609YqT9bT/MNX9+5k5jltL9zgpn36DpFB7TkttM=", + "lastModified": 1713596654, + "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "807c549feabce7eddbf259dbdcec9e0600a0660d", + "rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1711855048, - "narHash": "sha256-HxegAPnQJSC4cbEbF4Iq3YTlFHZKLiNTk8147EbLdGg=", + "lastModified": 1713668495, + "narHash": "sha256-4BvlfPfyUmB1U0r/oOF6jGEW/pG59c5yv6PJwgucTNM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "99b1e37f9fc0960d064a7862eb7adfb92e64fa10", + "rev": "09f1bc8ba3277c0f052f7887ec92721501541938", "type": "github" }, "original": { From f32f66b09cc708d5518ca568901c5d3ece840192 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 3 May 2024 17:53:13 -0400 Subject: [PATCH 40/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/670d9ecc3e46a6e3265c203c2d136031a3d3548e' (2024-04-21) → 'github:nix-community/home-manager/9036fe9ef8e15a819fa76f47a8b1f287903fb848' (2024-05-02) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed' (2024-04-19) → 'github:LnL7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5c24cf2f0a12ad855f444c30b2421d044120c66f' (2024-04-19) → 'github:NixOS/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f' (2024-05-02) • Updated input 'sops-nix': 'github:Mic92/sops-nix/09f1bc8ba3277c0f052f7887ec92721501541938' (2024-04-21) → 'github:Mic92/sops-nix/f1b0adc27265274e3b0c9b872a8f476a098679bd' (2024-04-23) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 2275bd4..3b3301c 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1713732794, - "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", + "lastModified": 1714679908, + "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", "owner": "nix-community", "repo": "home-manager", - "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", + "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1713543876, - "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", + "lastModified": 1713946171, + "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", + "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", "type": "github" }, "original": { @@ -124,11 +124,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1713537308, - "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", + "lastModified": 1714635257, + "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", + "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1713668495, - "narHash": "sha256-4BvlfPfyUmB1U0r/oOF6jGEW/pG59c5yv6PJwgucTNM=", + "lastModified": 1713892811, + "narHash": "sha256-uIGmA2xq41vVFETCF1WW4fFWFT2tqBln+aXnWrvjGRE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "09f1bc8ba3277c0f052f7887ec92721501541938", + "rev": "f1b0adc27265274e3b0c9b872a8f476a098679bd", "type": "github" }, "original": { From cd235b33c45d8570c89cf3c825a42a2939bf24db Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 4 May 2024 15:58:41 -0400 Subject: [PATCH 41/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'me-emacs': 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=d3452d3f0a30162a8acdf11f452ac0ef3a3f5670' (2024-01-29) → 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=116b93e52a97d4922f086b004fa9e8043ba8931c' (2024-05-04) --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 3b3301c..bd7a06f 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1706555256, - "narHash": "sha256-nBLS68TsIbwd04oQRISqk/xaehZYWzGNDmdBOWpKWXw=", + "lastModified": 1714852682, + "narHash": "sha256-JcMj7oCJ9IuquBoPmMgxLQNPcWB+GZ9oWiW9otgeX4E=", "ref": "refs/heads/master", - "rev": "d3452d3f0a30162a8acdf11f452ac0ef3a3f5670", - "revCount": 46, + "rev": "116b93e52a97d4922f086b004fa9e8043ba8931c", + "revCount": 48, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, From e9f36c71ceab5e5ed5e6436eec16de9bd4d7476f Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 4 May 2024 16:00:25 -0400 Subject: [PATCH 42/64] Emacs New Overlay --- flake.lock | 8 ++-- flake.nix | 54 +++++++++++++------------- machines/universeair/configuration.nix | 5 ++- 3 files changed, 33 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index bd7a06f..388f6db 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1714852682, - "narHash": "sha256-JcMj7oCJ9IuquBoPmMgxLQNPcWB+GZ9oWiW9otgeX4E=", + "lastModified": 1714853356, + "narHash": "sha256-2I7uFSeTAF0b8MU+Apb2JoczlAYmEAxj+ke/eWe1boA=", "ref": "refs/heads/master", - "rev": "116b93e52a97d4922f086b004fa9e8043ba8931c", - "revCount": 48, + "rev": "a25078b1c1afd3fd887042ac8187bd9b300a6e83", + "revCount": 51, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, diff --git a/flake.nix b/flake.nix index 7610540..177277d 100644 --- a/flake.nix +++ b/flake.nix @@ -30,39 +30,37 @@ nixpkgsConfig = { config = { allowUnfree = true; }; }; - me-emacs-overlay = (final: prev: { - me-emacs = me-emacs.packages."x86_64-linux".emacs; - # Will in future be macports based - mac-emacs = me-emacs.packages."aarch64-darwin".emacs; - }); + me-emacs-overlay = me-emacs.overlays.default; pkgs_linux-x86_64 = nixpkgs.legacyPackages."x86-linux"; pkgs_linux-aarch64 = nixpkgs.legacyPackages."aarch64-linux"; in { - nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = attrs; - modules = - [ - ({ config, pkgs, ... }: { - nixpkgs.overlays = [ hydraGitea nvidiaContainer ]; - }) - ./machines/hippocampus/configuration.nix - sops-nix.nixosModules.sops - ]; - }; - nixosConfigurations.universedesktop = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = attrs; - modules = - [ - ({ config, pkgs, ... }: { - nixpkgs.overlays = [ me-emacs-overlay ]; - }) - ./machines/universedesktop/configuration.nix - sops-nix.nixosModules.sops - ]; + nixosConfigurations = { + nixos = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = attrs; + modules = + [ + ({ config, pkgs, ... }: { + nixpkgs.overlays = [ hydraGitea nvidiaContainer ]; + }) + ./machines/hippocampus/configuration.nix + sops-nix.nixosModules.sops + ]; + }; + universedesktop = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = attrs; + modules = + [ + ({ config, pkgs, ... }: { + nixpkgs.overlays = [ me-emacs-overlay ]; + }) + ./machines/universedesktop/configuration.nix + sops-nix.nixosModules.sops + ]; + }; }; darwinConfigurations."UniverseAir" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 90409c8..1afd4b8 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -52,11 +52,12 @@ in services.emacs = { # Emacsclient behaving weirdly # enable = true; - package = pkgs.mac-emacs; + package = pkgs.me-emacs; }; environment.variables = { - EDITOR = "emacs"; + EDITOR = "emacs -nw"; + VISUAL = "emacs"; }; environment.systemPackages = (with pkgs; [ From 683f19d5969ff799242370f163556d125c28d84d Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 4 May 2024 16:13:09 -0400 Subject: [PATCH 43/64] Cleanup Overlays --- flake.nix | 19 +++---------------- overlays/hydra.nix | 13 +++++++++++++ .../nvidiacontainer.nix | 0 3 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 overlays/hydra.nix rename nvidiacontainer-overlay.nix => overlays/nvidiacontainer.nix (100%) diff --git a/flake.nix b/flake.nix index 177277d..cc11a78 100644 --- a/flake.nix +++ b/flake.nix @@ -11,30 +11,17 @@ }; outputs = { self, nixpkgs, sops-nix, me-emacs, nix-darwin, home-manager }@attrs: let - hydraGitea = (final: prev: { - hydra_unstable = prev.hydra_unstable.overrideAttrs - (old: { - doCheck = false; - patches = [ - (final.fetchpatch { - name = "hydra-gitea-push-patch"; - url = "https://patch-diff.githubusercontent.com/raw/NixOS/hydra/pull/1227.patch"; - sha256 = "A4dN/4zLMKLYaD38lu87lzAWH/3EUM7G5njx7Q4W47w="; - }) - ]; - }); - }); - nvidiaContainer = import ./nvidiacontainer-overlay.nix nixpkgs; + hydraGitea = import ./overlays/hydra.nix; + nvidiaContainer = import ./overlays/nvidiacontainer.nix nixpkgs; + me-emacs-overlay = me-emacs.overlays.default; # Configuration for `nixpkgs` nixpkgsConfig = { config = { allowUnfree = true; }; }; - me-emacs-overlay = me-emacs.overlays.default; pkgs_linux-x86_64 = nixpkgs.legacyPackages."x86-linux"; pkgs_linux-aarch64 = nixpkgs.legacyPackages."aarch64-linux"; - in { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { diff --git a/overlays/hydra.nix b/overlays/hydra.nix new file mode 100644 index 0000000..e25d8f2 --- /dev/null +++ b/overlays/hydra.nix @@ -0,0 +1,13 @@ +(final: prev: { + hydra_unstable = prev.hydra_unstable.overrideAttrs + (old: { + doCheck = false; + patches = [ + (final.fetchpatch { + name = "hydra-gitea-push-patch"; + url = "https://patch-diff.githubusercontent.com/raw/NixOS/hydra/pull/1227.patch"; + sha256 = "A4dN/4zLMKLYaD38lu87lzAWH/3EUM7G5njx7Q4W47w="; + }) + ]; + }); +}); diff --git a/nvidiacontainer-overlay.nix b/overlays/nvidiacontainer.nix similarity index 100% rename from nvidiacontainer-overlay.nix rename to overlays/nvidiacontainer.nix From b9fbcb58648f9a13b72924d89bb7c11e9cf81432 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 4 May 2024 16:20:05 -0400 Subject: [PATCH 44/64] Move Desktop things to Desktop.nix --- machines/universedesktop/configuration.nix | 80 +------------------ machines/universedesktop/programs/desktop.nix | 30 +++++++ 2 files changed, 31 insertions(+), 79 deletions(-) diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index cce2b72..8860717 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -82,71 +82,6 @@ users.users.brltty.isSystemUser = true; - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the GNOME Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - programs.xwayland.enable = true; - - # Configure keymap in X11 - services.xserver.layout = "us"; - # services.xserver.xkbOptions = "grp:switch"; - # services.xserver.extraLayouts = { - # bqn = { - # description = "BQN Symbol Modifiers"; - # languages = ["eng"]; - # symbolsFile = pkgs.fetchurl { - # url = "https://raw.githubusercontent.com/mlochbaum/BQN/master/editors/bqn"; - # sha256 = "F2fgLlWghcOrMu0BXGiyNHa0qh9YUyQE80GK0BWU2EY="; - # }; - # }; - # }; - # # services.xserver.xkbOptions = { - # }; - - # Enable CUPS to print documents. - services.printing.enable = true; - - # Enable sound. - #sound.enable = true; - #hardware.pulseaudio.enable = true; - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - # jack.enable = true; - }; -# services.pipewire.extraConfig.pipewire."92-low-latency" = { -# context.properties = { -# default.clock.rate = 48000; -# default.clock.quantum = 32; -# default.clock.min-quantum = 32; -# default.clock.max-quantum = 32; -# }; -# context.modules = [ -# { -# name = "libpipewire-module-protocol-pulse"; -# args = { -# pulse.min.req = "32/48000"; -# pulse.default.req = "32/48000"; -# pulse.max.req = "32/48000"; -# pulse.min.quantum = "32/48000"; -# pulse.max.quantum = "32/48000"; -# }; -# } -# ]; -# stream.properties = { -# node.latency = "32/48000"; -# resample.quality = 1; -# }; -# }; - # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; users.groups.net = {}; @@ -172,20 +107,7 @@ nixpkgs.config.allowUnfree = true; services.xserver.videoDrivers = [ "nvidia" ]; - - # Wayland support - hardware = { - opengl.enable = true; - opengl.driSupport = true; - opengl.driSupport32Bit = true; - - nvidia = { - modesetting.enable = true; - powerManagement.enable = true; - open = false; - }; - }; - + services.fwupd.enable = true; programs.adb.enable = true; diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index 232b71a..39711c8 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -9,6 +9,36 @@ }; })]; + # Wayland support + hardware = { + opengl.enable = true; + opengl.driSupport = true; + opengl.driSupport32Bit = true; + + nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + open = false; + }; + }; + services.xserver.enable = true; + services.xserver.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; + programs.xwayland.enable = true; + # Configure keymap in X11 + services.xserver.layout = "us"; + # Enable sound. + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + # jack.enable = true; + }; + # Bitwarden Outdaed Nodejs nixpkgs.config.permittedInsecurePackages = [ "openssl-1.1.1v" From 47eaf75bfba39ceda8d79e8dcd8df6f266c3c3eb Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 4 May 2024 16:23:27 -0400 Subject: [PATCH 45/64] Fixup displaymanger format --- machines/universedesktop/programs/desktop.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index 39711c8..224cbea 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -22,11 +22,11 @@ }; }; services.xserver.enable = true; - services.xserver.displayManager.sddm.enable = true; + services.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; programs.xwayland.enable = true; # Configure keymap in X11 - services.xserver.layout = "us"; + services.xserver.xkb.layout = "us"; # Enable sound. # rtkit is optional but recommended security.rtkit.enable = true; From 823cb71491869d7df41a5b166d66350c1c44f045 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 23 Apr 2024 15:34:22 -0400 Subject: [PATCH 46/64] universeair: texliveFull --- machines/universeair/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 1afd4b8..a839ec0 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -68,7 +68,7 @@ in en-science ])) pandoc - texlive.combined.scheme-full + texliveFull wget xquartz From f6629ce2752cf6f232c3a5b272442e1d198e7db5 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 09:10:38 -0400 Subject: [PATCH 47/64] universedesktop: Migrate to desktop config to dedicated directory --- machines/universedesktop/configuration.nix | 3 ++ machines/universedesktop/desktop/default.nix | 31 +++++++++++++++++++ machines/universedesktop/programs/desktop.nix | 30 ------------------ 3 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 machines/universedesktop/desktop/default.nix diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index 8860717..f89809b 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -13,6 +13,9 @@ [ # Include the results of the hardware scan. ./hardware-configuration.nix + # Desktop/Graphical Things defined: + ./desktop/default.nix + # Secrets specified via: ./secrets.nix diff --git a/machines/universedesktop/desktop/default.nix b/machines/universedesktop/desktop/default.nix new file mode 100644 index 0000000..9f0422f --- /dev/null +++ b/machines/universedesktop/desktop/default.nix @@ -0,0 +1,31 @@ +{ config, pkgs, lib, ... }: { + # Wayland support + hardware = { + opengl.enable = true; + opengl.driSupport = true; + opengl.driSupport32Bit = true; + + nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + open = false; + }; + }; + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; + programs.xwayland.enable = true; + # Configure keymap in X11 + services.xserver.xkb.layout = "us"; + # Enable sound. + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + # jack.enable = true; + }; +} diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index 224cbea..232b71a 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -9,36 +9,6 @@ }; })]; - # Wayland support - hardware = { - opengl.enable = true; - opengl.driSupport = true; - opengl.driSupport32Bit = true; - - nvidia = { - modesetting.enable = true; - powerManagement.enable = true; - open = false; - }; - }; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - programs.xwayland.enable = true; - # Configure keymap in X11 - services.xserver.xkb.layout = "us"; - # Enable sound. - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - # jack.enable = true; - }; - # Bitwarden Outdaed Nodejs nixpkgs.config.permittedInsecurePackages = [ "openssl-1.1.1v" From 29b0281c728775253bef0042e5d42fae13b44b37 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 09:33:47 -0400 Subject: [PATCH 48/64] universedesktop: Back to Tiling:tm: --- machines/universedesktop/desktop/audio.nix | 13 ++++++++ machines/universedesktop/desktop/default.nix | 33 +++---------------- .../desktop/displaymanager.nix | 19 +++++++++++ machines/universedesktop/desktop/dwl.nix | 5 +++ machines/universedesktop/desktop/wayland.nix | 15 +++++++++ machines/universedesktop/programs/games.nix | 2 ++ 6 files changed, 58 insertions(+), 29 deletions(-) create mode 100644 machines/universedesktop/desktop/audio.nix create mode 100644 machines/universedesktop/desktop/displaymanager.nix create mode 100644 machines/universedesktop/desktop/dwl.nix create mode 100644 machines/universedesktop/desktop/wayland.nix diff --git a/machines/universedesktop/desktop/audio.nix b/machines/universedesktop/desktop/audio.nix new file mode 100644 index 0000000..fea0d60 --- /dev/null +++ b/machines/universedesktop/desktop/audio.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: { + # Enable sound. + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + # jack.enable = true; + }; +} diff --git a/machines/universedesktop/desktop/default.nix b/machines/universedesktop/desktop/default.nix index 9f0422f..4472177 100644 --- a/machines/universedesktop/desktop/default.nix +++ b/machines/universedesktop/desktop/default.nix @@ -1,31 +1,6 @@ { config, pkgs, lib, ... }: { - # Wayland support - hardware = { - opengl.enable = true; - opengl.driSupport = true; - opengl.driSupport32Bit = true; - - nvidia = { - modesetting.enable = true; - powerManagement.enable = true; - open = false; - }; - }; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - programs.xwayland.enable = true; - # Configure keymap in X11 - services.xserver.xkb.layout = "us"; - # Enable sound. - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - # jack.enable = true; - }; + imports = [ + ./audio.nix + ./displaymanager.nix + ]; } diff --git a/machines/universedesktop/desktop/displaymanager.nix b/machines/universedesktop/desktop/displaymanager.nix new file mode 100644 index 0000000..eb5ae7b --- /dev/null +++ b/machines/universedesktop/desktop/displaymanager.nix @@ -0,0 +1,19 @@ +{ config, pkgs, lib, ... }: let + +in { + imports = [ + ./dwl.nix + ]; + + services.displayManager = { + enable = true; + execCmd = "${pkgs.lemurs}/bin/lemurs"; + }; + + environment.etc."lemurs/wayland/dwl" = { + source = pkgs.writeScript "dwl-startup" '' + #!${pkgs.bash}/bin/bash + exec ${pkgs.dwl}/bin/dwl + ''; + }; +} diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix new file mode 100644 index 0000000..b7a5299 --- /dev/null +++ b/machines/universedesktop/desktop/dwl.nix @@ -0,0 +1,5 @@ +{ config, pkgs, lib, ... }: { + imports = [ + ./wayland.nix + ]; +} diff --git a/machines/universedesktop/desktop/wayland.nix b/machines/universedesktop/desktop/wayland.nix new file mode 100644 index 0000000..126d0b3 --- /dev/null +++ b/machines/universedesktop/desktop/wayland.nix @@ -0,0 +1,15 @@ +{ config, pkgs, lib, ... }: { + # Wayland support + hardware = { + opengl.enable = true; + opengl.driSupport = true; + opengl.driSupport32Bit = true; + + nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + open = false; + }; + }; + programs.xwayland.enable = true; +} diff --git a/machines/universedesktop/programs/games.nix b/machines/universedesktop/programs/games.nix index 75a1a88..7759e62 100644 --- a/machines/universedesktop/programs/games.nix +++ b/machines/universedesktop/programs/games.nix @@ -1,6 +1,8 @@ { lib, config, pkgs, ... }: { # For steam services.flatpak.enable = true; + ## Flatpak requires this + xdg.portal.enable = true; programs.steam.enable = true; # Game compat programs.gamemode.enable = true; From b075ed6888f52b7c8c62ac4f423b9506222e31fd Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 10:05:50 -0400 Subject: [PATCH 49/64] universedesktop: Basic DWL Configuration --- .../desktop/displaymanager.nix | 1 + machines/universedesktop/desktop/dwl.nix | 12 ++ .../universedesktop/desktop/dwl/config.def.h | 171 ++++++++++++++++++ machines/universedesktop/programs/games.nix | 2 + machines/universedesktop/programs/office.nix | 1 - 5 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 machines/universedesktop/desktop/dwl/config.def.h diff --git a/machines/universedesktop/desktop/displaymanager.nix b/machines/universedesktop/desktop/displaymanager.nix index eb5ae7b..6d745cd 100644 --- a/machines/universedesktop/desktop/displaymanager.nix +++ b/machines/universedesktop/desktop/displaymanager.nix @@ -13,6 +13,7 @@ in { environment.etc."lemurs/wayland/dwl" = { source = pkgs.writeScript "dwl-startup" '' #!${pkgs.bash}/bin/bash + ${pkgs.yambar}/bin/yambar & exec ${pkgs.dwl}/bin/dwl ''; }; diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index b7a5299..dcac406 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -2,4 +2,16 @@ imports = [ ./wayland.nix ]; + + nixpkgs.overlays = [ + (final: prev: { + dwl = prev.dwl.overrideAttrs (old: { + postPatch = '' + termcmd=${pkgs.foot}/bin/foot + menucmd=${pkgs.bemenu}/bin/bemenu + substituteAll ${./dwl/config.def.h} ./config.def.h + ''; + }); + }) + ]; } diff --git a/machines/universedesktop/desktop/dwl/config.def.h b/machines/universedesktop/desktop/dwl/config.def.h new file mode 100644 index 0000000..7feea53 --- /dev/null +++ b/machines/universedesktop/desktop/dwl/config.def.h @@ -0,0 +1,171 @@ +/* Taken from https://github.com/djpohly/dwl/issues/466 */ +#define COLOR(hex) { ((hex >> 24) & 0xFF) / 255.0f, \ + ((hex >> 16) & 0xFF) / 255.0f, \ + ((hex >> 8) & 0xFF) / 255.0f, \ + (hex & 0xFF) / 255.0f } +/* appearance */ +static const int sloppyfocus = 1; /* focus follows mouse */ +static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */ +static const unsigned int borderpx = 1; /* border pixel of windows */ +static const float rootcolor[] = COLOR(0x222222ff); +static const float bordercolor[] = COLOR(0x444444ff); +static const float focuscolor[] = COLOR(0x005577ff); +static const float urgentcolor[] = COLOR(0xff0000ff); +/* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */ +static const float fullscreen_bg[] = {0.0f, 0.0f, 0.0f, 1.0f}; /* You can also use glsl colors */ + +/* tagging - TAGCOUNT must be no greater than 31 */ +#define TAGCOUNT (9) + +/* logging */ +static int log_level = WLR_ERROR; + +static const Rule rules[] = { + /* app_id title tags mask isfloating monitor */ + /* examples: */ + { "Gimp_EXAMPLE", NULL, 0, 1, -1 }, /* Start on currently visible tags floating, not tiled */ + { "firefox_EXAMPLE", NULL, 1 << 8, 0, -1 }, /* Start on ONLY tag "9" */ +}; + +/* layout(s) */ +static const Layout layouts[] = { + /* symbol arrange function */ + { "[]=", tile }, + { "><>", NULL }, /* no layout function means floating behavior */ + { "[M]", monocle }, +}; + +/* monitors */ +/* NOTE: ALWAYS add a fallback rule, even if you are completely sure it won't be used */ +static const MonitorRule monrules[] = { + /* name mfact nmaster scale layout rotate/reflect x y */ + { "eDP-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0 }, + { "eDP-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 2560, 0 }, + { "eDP-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 2560+3440, 0 }, + /* defaults */ + { NULL, 0.55f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 }, +}; + +/* keyboard */ +static const struct xkb_rule_names xkb_rules = { + /* can specify fields: rules, model, layout, variant, options */ + /* example: + .options = "ctrl:nocaps", + */ + .options = NULL, +}; + +static const int repeat_rate = 25; +static const int repeat_delay = 600; + +/* Trackpad */ +static const int tap_to_click = 1; +static const int tap_and_drag = 1; +static const int drag_lock = 1; +static const int natural_scrolling = 0; +static const int disable_while_typing = 1; +static const int left_handed = 0; +static const int middle_button_emulation = 0; +/* You can choose between: +LIBINPUT_CONFIG_SCROLL_NO_SCROLL +LIBINPUT_CONFIG_SCROLL_2FG +LIBINPUT_CONFIG_SCROLL_EDGE +LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN +*/ +static const enum libinput_config_scroll_method scroll_method = LIBINPUT_CONFIG_SCROLL_2FG; + +/* You can choose between: +LIBINPUT_CONFIG_CLICK_METHOD_NONE +LIBINPUT_CONFIG_CLICK_METHOD_BUTTON_AREAS +LIBINPUT_CONFIG_CLICK_METHOD_CLICKFINGER +*/ +static const enum libinput_config_click_method click_method = LIBINPUT_CONFIG_CLICK_METHOD_BUTTON_AREAS; + +/* You can choose between: +LIBINPUT_CONFIG_SEND_EVENTS_ENABLED +LIBINPUT_CONFIG_SEND_EVENTS_DISABLED +LIBINPUT_CONFIG_SEND_EVENTS_DISABLED_ON_EXTERNAL_MOUSE +*/ +static const uint32_t send_events_mode = LIBINPUT_CONFIG_SEND_EVENTS_ENABLED; + +/* You can choose between: +LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT +LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE +*/ +static const enum libinput_config_accel_profile accel_profile = LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE; +static const double accel_speed = 0.0; + +/* You can choose between: +LIBINPUT_CONFIG_TAP_MAP_LRM -- 1/2/3 finger tap maps to left/right/middle +LIBINPUT_CONFIG_TAP_MAP_LMR -- 1/2/3 finger tap maps to left/middle/right +*/ +static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TAP_MAP_LRM; + +/* If you want to use the windows key for MODKEY, use WLR_MODIFIER_LOGO */ +#define MODKEY WLR_MODIFIER_ALT + +#define TAGKEYS(KEY,SKEY,TAG) \ + { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ + { MODKEY|WLR_MODIFIER_CTRL, KEY, toggleview, {.ui = 1 << TAG} }, \ + { MODKEY|WLR_MODIFIER_SHIFT, SKEY, tag, {.ui = 1 << TAG} }, \ + { MODKEY|WLR_MODIFIER_CTRL|WLR_MODIFIER_SHIFT,SKEY,toggletag, {.ui = 1 << TAG} } + +/* helper for spawning shell commands in the pre dwm-5.0 fashion */ +#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } + +/* commands */ +static const char *termcmd[] = { "@termcmd@", NULL }; +static const char *menucmd[] = { "@menucmd@", NULL }; + +static const Key keys[] = { + /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ + /* modifier key function argument */ + { MODKEY, XKB_KEY_p, spawn, {.v = menucmd} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = termcmd} }, + { MODKEY, XKB_KEY_j, focusstack, {.i = +1} }, + { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, + { MODKEY, XKB_KEY_i, incnmaster, {.i = +1} }, + { MODKEY, XKB_KEY_d, incnmaster, {.i = -1} }, + { MODKEY, XKB_KEY_h, setmfact, {.f = -0.05f} }, + { MODKEY, XKB_KEY_l, setmfact, {.f = +0.05f} }, + { MODKEY, XKB_KEY_Return, zoom, {0} }, + { MODKEY, XKB_KEY_Tab, view, {0} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C, killclient, {0} }, + { MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} }, + { MODKEY, XKB_KEY_space, setlayout, {0} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space, togglefloating, {0} }, + { MODKEY, XKB_KEY_e, togglefullscreen, {0} }, + { MODKEY, XKB_KEY_0, view, {.ui = ~0} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} }, + { MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} }, + { MODKEY, XKB_KEY_period, focusmon, {.i = WLR_DIRECTION_RIGHT} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_less, tagmon, {.i = WLR_DIRECTION_LEFT} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_greater, tagmon, {.i = WLR_DIRECTION_RIGHT} }, + TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0), + TAGKEYS( XKB_KEY_2, XKB_KEY_at, 1), + TAGKEYS( XKB_KEY_3, XKB_KEY_numbersign, 2), + TAGKEYS( XKB_KEY_4, XKB_KEY_dollar, 3), + TAGKEYS( XKB_KEY_5, XKB_KEY_percent, 4), + TAGKEYS( XKB_KEY_6, XKB_KEY_asciicircum, 5), + TAGKEYS( XKB_KEY_7, XKB_KEY_ampersand, 6), + TAGKEYS( XKB_KEY_8, XKB_KEY_asterisk, 7), + TAGKEYS( XKB_KEY_9, XKB_KEY_parenleft, 8), + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Q, quit, {0} }, + + /* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */ + { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_Terminate_Server, quit, {0} }, + /* Ctrl-Alt-Fx is used to switch to another VT, if you don't know what a VT is + * do not remove them. + */ +#define CHVT(n) { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_XF86Switch_VT_##n, chvt, {.ui = (n)} } + CHVT(1), CHVT(2), CHVT(3), CHVT(4), CHVT(5), CHVT(6), + CHVT(7), CHVT(8), CHVT(9), CHVT(10), CHVT(11), CHVT(12), +}; + +static const Button buttons[] = { + { MODKEY, BTN_LEFT, moveresize, {.ui = CurMove} }, + { MODKEY, BTN_MIDDLE, togglefloating, {0} }, + { MODKEY, BTN_RIGHT, moveresize, {.ui = CurResize} }, +}; diff --git a/machines/universedesktop/programs/games.nix b/machines/universedesktop/programs/games.nix index 7759e62..f796813 100644 --- a/machines/universedesktop/programs/games.nix +++ b/machines/universedesktop/programs/games.nix @@ -3,6 +3,8 @@ services.flatpak.enable = true; ## Flatpak requires this xdg.portal.enable = true; + xdg.portal.wlr.enable = true; + xdg.portal.config.common.default = "*"; programs.steam.enable = true; # Game compat programs.gamemode.enable = true; diff --git a/machines/universedesktop/programs/office.nix b/machines/universedesktop/programs/office.nix index 8ce8973..f92c791 100644 --- a/machines/universedesktop/programs/office.nix +++ b/machines/universedesktop/programs/office.nix @@ -1,6 +1,5 @@ { lib, config, pkgs, ... }: { environment.systemPackages = with pkgs; [ - kitty me-emacs texlive.combined.scheme-full pandoc From 2955949475b648936d8badd0bd740da9da9fa4b2 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 10:24:31 -0400 Subject: [PATCH 50/64] universedesktop: lemurs config --- .../desktop/displaymanager.nix | 2 + machines/universedesktop/desktop/lemurs.toml | 137 ++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 machines/universedesktop/desktop/lemurs.toml diff --git a/machines/universedesktop/desktop/displaymanager.nix b/machines/universedesktop/desktop/displaymanager.nix index 6d745cd..b676c4a 100644 --- a/machines/universedesktop/desktop/displaymanager.nix +++ b/machines/universedesktop/desktop/displaymanager.nix @@ -10,6 +10,8 @@ in { execCmd = "${pkgs.lemurs}/bin/lemurs"; }; + environment.etc."lemurs/config.toml".source = ./lemurs.toml; + environment.etc."lemurs/wayland/dwl" = { source = pkgs.writeScript "dwl-startup" '' #!${pkgs.bash}/bin/bash diff --git a/machines/universedesktop/desktop/lemurs.toml b/machines/universedesktop/desktop/lemurs.toml new file mode 100644 index 0000000..482407f --- /dev/null +++ b/machines/universedesktop/desktop/lemurs.toml @@ -0,0 +1,137 @@ +# The PAM service that should be used to login +pam_service = "sshd" + +focus_behaviour = "password" + +# General settings for background style +[background] +show_background = true + +[background.style] +# Allow to set the default background color for the login shell +color = "black" +# Settings for the background block's borders +show_border = true +border_color = "white" + +# Shutdown option +[[power_controls.base_entries]] +hint = "Shutdown" +hint_color = "dark gray" +hint_modifiers = "" +key = "F1" +cmd = "systemctl poweroff -l" + +# Reboot option +[[power_controls.base_entries]] +hint = "Reboot" +hint_color = "dark gray" +hint_modifiers = "" +key = "F2" +cmd = "systemctl reboot -l" + +[environment_switcher] +include_tty_shell = true +mover_color_focused = "light cyan" +mover_modifiers_focused = "bold" +left_mover = "<[" +right_mover = "]>" + +# Neighbours' color and modifiers whilst the selector is unfocused +neighbour_color = "dark gray" +neighbour_modifiers = "" + +# Neighbours' color and modifiers whilst the selector is focused +neighbour_color_focused = "gray" +neighbour_modifiers_focused = "" + +# Margin between neighbours and selected +neighbour_margin = 1 + +# Selected's color and modifiers whilst the selector is unfocused +selected_color = "gray" +selected_modifiers = "underlined" + +# Selected's color and modifiers whilst the selector is focused +selected_color_focused = "white" +selected_modifiers_focused = "bold" + +# The length of the name of the desktop environment which is displayed. +max_display_length = 8 + +# The text used when no desktop environments are available +no_envs_text = "No environments..." + +# The color and modifiers of the 'no desktop environments available text' +# whilst the selector is unfocused +no_envs_color = "white" +no_envs_modifiers = "" + +# The color and modifiers of the 'no desktop environments available text' +# whilst the selector is focused +no_envs_color_focused = "red" +no_envs_modifiers_focused = "" + +[username_field] + +# Remember the username for the next time after a successful login attempt. +remember = true + +[username_field.style] +# Enables showing a title +show_title = true +# The text used within the title +title = "Login" + +# The title's color and modifiers whilst the username field is unfocused +title_color = "white" +content_color = "white" + +# The title's color and modifiers whilst the username field is focused +title_color_focused = "blue" +content_color_focused = "blue" + +# Enables showing the borders +show_border = true +# The borders' color and modifiers whilst the username field is unfocused +border_color = "white" +# The borders' color and modifiers whilst the username field is focused +border_color_focused = "light blue" + +# Constrain the width of the username field +use_max_width = true +# The contraint of the username field's width +max_width = 48 + +[password_field] + +# The character used for replacement when typing a password. Leave empty for no +# feedback. +# Note: Only one character is accepted. +content_replacement_character = "▮" + +[password_field.style] +# Enables showing a title +show_title = true +# The text used within the title +title = "Password" + +# The title's color and modifiers whilst the password field is unfocused +title_color = "white" +content_color = "white" + +# The title's color and modifiers whilst the password field is focused +title_color_focused = "blue" +content_color_focused = "blue" + +# Enables showing the borders +show_border = true +# The borders' color and modifiers whilst the username field is unfocused +border_color = "white" +# The borders' color and modifiers whilst the username field is focused +border_color_focused = "blue" + +# Constrain the width of the password field +use_max_width = true +# The contraint of the password field's width +max_width = 48 \ No newline at end of file From f359432175204b6469d4a838c3dc1629eddb5e30 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 11:45:13 -0400 Subject: [PATCH 51/64] Emptty --- .../desktop/displaymanager.nix | 19 +++++++++---------- machines/universedesktop/desktop/emptty.conf | 2 ++ 2 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 machines/universedesktop/desktop/emptty.conf diff --git a/machines/universedesktop/desktop/displaymanager.nix b/machines/universedesktop/desktop/displaymanager.nix index b676c4a..50c41e9 100644 --- a/machines/universedesktop/desktop/displaymanager.nix +++ b/machines/universedesktop/desktop/displaymanager.nix @@ -7,16 +7,15 @@ in { services.displayManager = { enable = true; - execCmd = "${pkgs.lemurs}/bin/lemurs"; + execCmd = "${pkgs.emptty}/bin/emptty -d"; }; - - environment.etc."lemurs/config.toml".source = ./lemurs.toml; - - environment.etc."lemurs/wayland/dwl" = { - source = pkgs.writeScript "dwl-startup" '' - #!${pkgs.bash}/bin/bash - ${pkgs.yambar}/bin/yambar & - exec ${pkgs.dwl}/bin/dwl - ''; + systemd.services.display-manager = { + enable = true; + serviceConfig = { + EnvironmentFile=${./emptty.conf}; + Type="idle"; + TTYPath="/dev/tty7"; + TTYReset="yes"; + }; }; } diff --git a/machines/universedesktop/desktop/emptty.conf b/machines/universedesktop/desktop/emptty.conf new file mode 100644 index 0000000..8241ffc --- /dev/null +++ b/machines/universedesktop/desktop/emptty.conf @@ -0,0 +1,2 @@ +TTY_NUMBER=7 + From 3744f294bcf717b3e91e8a464ca22d79f85d5b03 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 15:12:17 -0400 Subject: [PATCH 52/64] universedesktop: DWL & Nvidia Fix --- .../desktop/displaymanager.nix | 24 +++++++++++- machines/universedesktop/desktop/dwl.nix | 37 +++++++++++++++++-- .../universedesktop/desktop/dwl/config.def.h | 20 +++++----- machines/universedesktop/desktop/wayland.nix | 18 ++++++++- 4 files changed, 84 insertions(+), 15 deletions(-) diff --git a/machines/universedesktop/desktop/displaymanager.nix b/machines/universedesktop/desktop/displaymanager.nix index 50c41e9..334bf66 100644 --- a/machines/universedesktop/desktop/displaymanager.nix +++ b/machines/universedesktop/desktop/displaymanager.nix @@ -1,5 +1,9 @@ { config, pkgs, lib, ... }: let - + empttyConf = pkgs.writeText "emptty-config" '' + TTY_NUMBER=7 + + WAYLAND_SESSIONS_PATH="${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions" + ''; in { imports = [ ./dwl.nix @@ -11,11 +15,27 @@ in { }; systemd.services.display-manager = { enable = true; + path = [pkgs.dwl]; serviceConfig = { - EnvironmentFile=${./emptty.conf}; + EnvironmentFile = empttyConf; Type="idle"; TTYPath="/dev/tty7"; TTYReset="yes"; + SendSIGHUP="yes"; + KillMode="process"; }; }; + + environment.etc."emptty/conf".source = empttyConf; + + services.displayManager.sessionPackages = [ pkgs.dwl ]; + + security.pam.services = { + emptty.text = '' + auth substack sshd + account include sshd + password substack sshd + session include sshd + ''; + }; } diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index dcac406..18d0319 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -1,4 +1,14 @@ -{ config, pkgs, lib, ... }: { +{ config, pkgs, lib, ... }: let + dwl-startup = pkgs.writeScript "dwl-startup.sh" '' + #!${pkgs.bash}/bin/bash + ${pkgs.yambar}/bin/yambar + ''; + + launch_emacs = pkgs.writeScript "emacsclient-or-start" '' + #!${pkgs.bash}/bin/bash + emacsclient --create-frame --alternate-editor="" + ''; +in { imports = [ ./wayland.nix ]; @@ -7,11 +17,32 @@ (final: prev: { dwl = prev.dwl.overrideAttrs (old: { postPatch = '' - termcmd=${pkgs.foot}/bin/foot - menucmd=${pkgs.bemenu}/bin/bemenu + export termcmd=${pkgs.foot}/bin/foot + export editcmd=${launch_emacs} + export menucmd=${pkgs.fuzzel}/bin/fuzzel substituteAll ${./dwl/config.def.h} ./config.def.h ''; + postInstall = '' + sed -i "s#Exec=dwl#Exec=dwl -s ${dwl-startup}#" $out/share/wayland-sessions/dwl.desktop + chmod ugo+x $out/share/wayland-sessions/dwl.desktop + ''; + passthru.providedSessions = ["dwl"]; }); }) ]; + + environment.sessionVariables = { + NIXOS_OZONE_WL=1; + WLR_NO_HARDWARE_CURSORS=1; + SDL_VIDEODRIVER="wayland"; + QT_QPA_PLATFORM="wayland-egl"; + QT_WAYLAND_DISABLE_WINDOW_DECORATIONS="1"; + __JAVA_AWT_WM_NONREPARENTING=1; + }; + + environment.systemPackages = with pkgs; [ + dwl + yambar + foot + ]; } diff --git a/machines/universedesktop/desktop/dwl/config.def.h b/machines/universedesktop/desktop/dwl/config.def.h index 7feea53..ed7afeb 100644 --- a/machines/universedesktop/desktop/dwl/config.def.h +++ b/machines/universedesktop/desktop/dwl/config.def.h @@ -38,10 +38,10 @@ static const Layout layouts[] = { /* monitors */ /* NOTE: ALWAYS add a fallback rule, even if you are completely sure it won't be used */ static const MonitorRule monrules[] = { - /* name mfact nmaster scale layout rotate/reflect x y */ - { "eDP-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0 }, - { "eDP-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 2560, 0 }, - { "eDP-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 2560+3440, 0 }, + /* name mfact nmaster scale layout rotate/reflect x y */ + { "DP-3", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 0, 0 }, + { "DP-2", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 2560, 0 }, + { "HDMI-A-1", 0.5f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, 2560+3440, 0 }, /* defaults */ { NULL, 0.55f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 }, }; @@ -102,7 +102,7 @@ LIBINPUT_CONFIG_TAP_MAP_LMR -- 1/2/3 finger tap maps to left/middle/right static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TAP_MAP_LRM; /* If you want to use the windows key for MODKEY, use WLR_MODIFIER_LOGO */ -#define MODKEY WLR_MODIFIER_ALT +#define MODKEY WLR_MODIFIER_LOGO #define TAGKEYS(KEY,SKEY,TAG) \ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ @@ -115,20 +115,22 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA /* commands */ static const char *termcmd[] = { "@termcmd@", NULL }; +static const char *editcmd[] = { "@editcmd@", NULL }; static const char *menucmd[] = { "@menucmd@", NULL }; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ /* modifier key function argument */ - { MODKEY, XKB_KEY_p, spawn, {.v = menucmd} }, - { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = termcmd} }, + { MODKEY, XKB_KEY_r, spawn, {.v = menucmd} }, + { MODKEY, XKB_KEY_Return, spawn, {.v = termcmd} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = editcmd} }, { MODKEY, XKB_KEY_j, focusstack, {.i = +1} }, { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, { MODKEY, XKB_KEY_i, incnmaster, {.i = +1} }, { MODKEY, XKB_KEY_d, incnmaster, {.i = -1} }, { MODKEY, XKB_KEY_h, setmfact, {.f = -0.05f} }, { MODKEY, XKB_KEY_l, setmfact, {.f = +0.05f} }, - { MODKEY, XKB_KEY_Return, zoom, {0} }, + { MODKEY, XKB_KEY_z, zoom, {0} }, { MODKEY, XKB_KEY_Tab, view, {0} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C, killclient, {0} }, { MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} }, @@ -136,7 +138,7 @@ static const Key keys[] = { { MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} }, { MODKEY, XKB_KEY_space, setlayout, {0} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space, togglefloating, {0} }, - { MODKEY, XKB_KEY_e, togglefullscreen, {0} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_F, togglefullscreen, {0} }, { MODKEY, XKB_KEY_0, view, {.ui = ~0} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} }, { MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} }, diff --git a/machines/universedesktop/desktop/wayland.nix b/machines/universedesktop/desktop/wayland.nix index 126d0b3..aacadac 100644 --- a/machines/universedesktop/desktop/wayland.nix +++ b/machines/universedesktop/desktop/wayland.nix @@ -7,8 +7,24 @@ nvidia = { modesetting.enable = true; - powerManagement.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + nvidiaSettings = true; open = false; + package = let + rcu_patch = pkgs.fetchpatch { + url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; + hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg="; + }; + in config.boot.kernelPackages.nvidiaPackages.mkDriver { + version = "535.154.05"; + sha256_64bit = "sha256-fpUGXKprgt6SYRDxSCemGXLrEsIA6GOinp+0eGbqqJg="; + sha256_aarch64 = "sha256-G0/GiObf/BZMkzzET8HQjdIcvCSqB1uhsinro2HLK9k="; + openSha256 = "sha256-wvRdHguGLxS0mR06P5Qi++pDJBCF8pJ8hr4T8O6TJIo="; + settingsSha256 = "sha256-9wqoDEWY4I7weWW05F4igj1Gj9wjHsREFMztfEmqm10="; + persistencedSha256 = "sha256-d0Q3Lk80JqkS1B54Mahu2yY/WocOqFFbZVBh+ToGhaE="; + patches = [ rcu_patch ]; + }; }; }; programs.xwayland.enable = true; From f698d9c14041feddf985cc4baeae452a5193e2c2 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 5 May 2024 15:12:33 -0400 Subject: [PATCH 53/64] universedesktop: No More Man Cache --- machines/universedesktop/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index f89809b..b13e463 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -134,7 +134,7 @@ ]; documentation.dev.enable = true; - documentation.man.generateCaches = true; + documentation.man.generateCaches = false; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. From 898c7d473b7980e6baa9913470be3c86f3ba4d47 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 11 May 2024 10:23:58 -0400 Subject: [PATCH 54/64] universedesktop: Add fonts --- machines/universedesktop/configuration.nix | 1 + machines/universedesktop/fonts.nix | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 machines/universedesktop/fonts.nix diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index b13e463..1956d39 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -15,6 +15,7 @@ # Desktop/Graphical Things defined: ./desktop/default.nix + ./fonts.nix # Secrets specified via: ./secrets.nix diff --git a/machines/universedesktop/fonts.nix b/machines/universedesktop/fonts.nix new file mode 100644 index 0000000..5b95fe1 --- /dev/null +++ b/machines/universedesktop/fonts.nix @@ -0,0 +1,6 @@ +{ config, pkgs, lib, ... }: { + fonts.packages = with pkgs; [ + julia-mono + bqn386 + ]; +} From a9d64317019d2aab77e8ea3d8f332a439f96f1e8 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 11 May 2024 10:24:22 -0400 Subject: [PATCH 55/64] universedesktop: DWL & FF Fix --- machines/universedesktop/desktop/dwl.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index 18d0319..4440bdb 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, ... }: let dwl-startup = pkgs.writeScript "dwl-startup.sh" '' #!${pkgs.bash}/bin/bash - ${pkgs.yambar}/bin/yambar + exec <&- ''; launch_emacs = pkgs.writeScript "emacsclient-or-start" '' @@ -38,6 +38,10 @@ in { QT_QPA_PLATFORM="wayland-egl"; QT_WAYLAND_DISABLE_WINDOW_DECORATIONS="1"; __JAVA_AWT_WM_NONREPARENTING=1; + # Bug with Wayland: Fixed in 23.1 + # Causes firefox & thunderbird to crash + # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21646/diffs?commit_id=ee5d2250fd159689aae3f7d632a6226971bea85c + MOZ_ENABLE_WAYLAND=0; }; environment.systemPackages = with pkgs; [ From 0dd747dcf6b4e00f5dedf548cd3e6c3febf62e12 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 11 May 2024 10:31:42 -0400 Subject: [PATCH 56/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'me-emacs': 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=a25078b1c1afd3fd887042ac8187bd9b300a6e83' (2024-05-04) → 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=048841f5881952e40e601d97ab825b9baac07c63' (2024-05-11) --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 388f6db..ff2b829 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1714853356, - "narHash": "sha256-2I7uFSeTAF0b8MU+Apb2JoczlAYmEAxj+ke/eWe1boA=", + "lastModified": 1715437861, + "narHash": "sha256-GIYYcAEYHaHfCGfKY9Te3e+p+IK9V3tMYidUdas9UKA=", "ref": "refs/heads/master", - "rev": "a25078b1c1afd3fd887042ac8187bd9b300a6e83", - "revCount": 51, + "rev": "048841f5881952e40e601d97ab825b9baac07c63", + "revCount": 52, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, From 5064b95a3ca29c6083e93df8cbcb80e4d42e62fb Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 11 May 2024 11:12:01 -0400 Subject: [PATCH 57/64] universedesktop: DWL Patches --- .../desktop/displaymanager.nix | 2 +- machines/universedesktop/desktop/dwl.nix | 20 ++++++++++++++++--- .../universedesktop/desktop/dwl/config.def.h | 4 ++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/machines/universedesktop/desktop/displaymanager.nix b/machines/universedesktop/desktop/displaymanager.nix index 334bf66..bdd3857 100644 --- a/machines/universedesktop/desktop/displaymanager.nix +++ b/machines/universedesktop/desktop/displaymanager.nix @@ -2,7 +2,7 @@ empttyConf = pkgs.writeText "emptty-config" '' TTY_NUMBER=7 - WAYLAND_SESSIONS_PATH="${config.services.xserver.displayManager.sessionData.desktops}/share/wayland-sessions" + WAYLAND_SESSIONS_PATH="${config.services.displayManager.sessionData.desktops}/share/wayland-sessions" ''; in { imports = [ diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index 4440bdb..7e58a34 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -15,7 +15,22 @@ in { nixpkgs.overlays = [ (final: prev: { - dwl = prev.dwl.overrideAttrs (old: { + dwl = prev.dwl.overrideAttrs (old: let + dwl-patches = pkgs.fetchgit { + url = "https://codeberg.org/dwl/dwl-patches.git"; + rev = "7f93815e9c9d50add8493e680b3057ed0cc6e8a0"; + hash = "sha256-LK1+WjAlguBvITPyS4oHXW5bNP19WUEfo87GFmyv8Js="; + }; + patches = let + dwl-patch = p: "${dwl-patches}/patches/${p}/${p}.patch"; + in [ + (dwl-patch "ipc") + (dwl-patch "restore-monitor") + (dwl-patch "regexrules") + (dwl-patch "regions") + ]; + in { + patches = (old.patches or []) ++ patches; postPatch = '' export termcmd=${pkgs.foot}/bin/foot export editcmd=${launch_emacs} @@ -25,7 +40,7 @@ in { postInstall = '' sed -i "s#Exec=dwl#Exec=dwl -s ${dwl-startup}#" $out/share/wayland-sessions/dwl.desktop chmod ugo+x $out/share/wayland-sessions/dwl.desktop - ''; + ''; passthru.providedSessions = ["dwl"]; }); }) @@ -46,7 +61,6 @@ in { environment.systemPackages = with pkgs; [ dwl - yambar foot ]; } diff --git a/machines/universedesktop/desktop/dwl/config.def.h b/machines/universedesktop/desktop/dwl/config.def.h index ed7afeb..6cc6937 100644 --- a/machines/universedesktop/desktop/dwl/config.def.h +++ b/machines/universedesktop/desktop/dwl/config.def.h @@ -6,9 +6,9 @@ /* appearance */ static const int sloppyfocus = 1; /* focus follows mouse */ static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */ -static const unsigned int borderpx = 1; /* border pixel of windows */ +static const unsigned int borderpx = 3; /* border pixel of windows */ static const float rootcolor[] = COLOR(0x222222ff); -static const float bordercolor[] = COLOR(0x444444ff); +static const float bordercolor[] = COLOR(0x233e5dff); static const float focuscolor[] = COLOR(0x005577ff); static const float urgentcolor[] = COLOR(0xff0000ff); /* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */ From 26259480b248b07c6c32821111244f610e519fad Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 11 May 2024 11:47:34 -0400 Subject: [PATCH 58/64] universedesktop: DWL, patch and update --- machines/universedesktop/desktop/dwl.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index 7e58a34..f277a03 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -27,9 +27,18 @@ in { (dwl-patch "ipc") (dwl-patch "restore-monitor") (dwl-patch "regexrules") - (dwl-patch "regions") ]; in { + version = "10-05-2024"; + + src = final.fetchFromGitea { + domain = "codeberg.org"; + owner = "dwl"; + repo = "dwl"; + rev = "9825c26cdd5dfed34022b77a8936c5d8f485e134"; + hash = "sha256-p7BhCbCduMNTEK5DYNGBYXf+9WU6WlRvR9VdOuSTrVU="; + }; + patches = (old.patches or []) ++ patches; postPatch = '' export termcmd=${pkgs.foot}/bin/foot From 7fbe36671b04a12c3c01e5a4e0c0123e05899423 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 11 May 2024 12:05:54 -0400 Subject: [PATCH 59/64] universedesktop: add to input group --- machines/universedesktop/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universedesktop/configuration.nix b/machines/universedesktop/configuration.nix index 1956d39..c5e41cd 100644 --- a/machines/universedesktop/configuration.nix +++ b/machines/universedesktop/configuration.nix @@ -91,7 +91,7 @@ users.groups.net = {}; users.users.universe = { isNormalUser = true; - extraGroups = [ "wheel" "adbusers" "net" "brltty" "brlapi" "dialout" ]; + extraGroups = [ "wheel" "adbusers" "net" "brltty" "brlapi" "dialout" "input" ]; packages = with pkgs; [ ]; }; From 77185ad8f3e83681087b15ba1e32ef791ac0a73b Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 12 May 2024 08:42:00 -0400 Subject: [PATCH 60/64] universedesktop: waybar --- machines/universedesktop/desktop/dwl.nix | 3 +++ machines/universedesktop/desktop/dwl/config.def.h | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index f277a03..821e8fd 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -27,6 +27,7 @@ in { (dwl-patch "ipc") (dwl-patch "restore-monitor") (dwl-patch "regexrules") + (dwl-patch "autostart") ]; in { version = "10-05-2024"; @@ -44,6 +45,7 @@ in { export termcmd=${pkgs.foot}/bin/foot export editcmd=${launch_emacs} export menucmd=${pkgs.fuzzel}/bin/fuzzel + export barcmd=${pkgs.waybar}/bin/waybar substituteAll ${./dwl/config.def.h} ./config.def.h ''; postInstall = '' @@ -70,6 +72,7 @@ in { environment.systemPackages = with pkgs; [ dwl + waybar foot ]; } diff --git a/machines/universedesktop/desktop/dwl/config.def.h b/machines/universedesktop/desktop/dwl/config.def.h index 6cc6937..1d37fba 100644 --- a/machines/universedesktop/desktop/dwl/config.def.h +++ b/machines/universedesktop/desktop/dwl/config.def.h @@ -19,6 +19,11 @@ static const float fullscreen_bg[] = {0.0f, 0.0f, 0.0f, 1.0f}; /* You ca /* logging */ static int log_level = WLR_ERROR; +/* Autostart */ +static const char *const autostart[] = { + "@barcmd@", NULL, + NULL /* terminate */ +}; static const Rule rules[] = { /* app_id title tags mask isfloating monitor */ From c490063598e7b6a04ccf1e348d5123e80c1255e0 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 12 May 2024 08:42:15 -0400 Subject: [PATCH 61/64] universedesktop: Wayland: mirror and mc fix --- machines/universedesktop/desktop/wayland.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/machines/universedesktop/desktop/wayland.nix b/machines/universedesktop/desktop/wayland.nix index aacadac..db4db84 100644 --- a/machines/universedesktop/desktop/wayland.nix +++ b/machines/universedesktop/desktop/wayland.nix @@ -28,4 +28,11 @@ }; }; programs.xwayland.enable = true; + + environment.systemPackages = with pkgs; [ + # Minecraft can behave oddly on wayland without this + glfw-wayland-minecraft + # Screen mirroring: + wdomirror + ]; } From 4f3af0a21a7beff0e1a965ffc03027c42cc5e857 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 3 Jun 2024 14:37:05 -0400 Subject: [PATCH 62/64] universedesktop: dwl processing --- machines/universedesktop/desktop/dwl.nix | 16 ++++++++++------ .../universedesktop/desktop/dwl/config.def.h | 4 ++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index 821e8fd..b97626f 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -1,9 +1,4 @@ { config, pkgs, lib, ... }: let - dwl-startup = pkgs.writeScript "dwl-startup.sh" '' - #!${pkgs.bash}/bin/bash - exec <&- - ''; - launch_emacs = pkgs.writeScript "emacsclient-or-start" '' #!${pkgs.bash}/bin/bash emacsclient --create-frame --alternate-editor="" @@ -46,10 +41,17 @@ in { export editcmd=${launch_emacs} export menucmd=${pkgs.fuzzel}/bin/fuzzel export barcmd=${pkgs.waybar}/bin/waybar + export playcmd=${pkgs.writeScript "playerctl-play-pause" '' + #!${pkgs.bash}/bin/bash + ${pkgs.playerctl}/bin/playerctl play-pause + ''} + export scrncmd=${pkgs.writeScript "screenshot-region" '' + #!${pkgs.bash}/bin/bash + ${pkgs.slurp}/bin/slurp | ${pkgs.grim}/bin/grim -g - - | ${pkgs.wl-clipboard}/bin/wl-copy + ''} substituteAll ${./dwl/config.def.h} ./config.def.h ''; postInstall = '' - sed -i "s#Exec=dwl#Exec=dwl -s ${dwl-startup}#" $out/share/wayland-sessions/dwl.desktop chmod ugo+x $out/share/wayland-sessions/dwl.desktop ''; passthru.providedSessions = ["dwl"]; @@ -68,11 +70,13 @@ in { # Causes firefox & thunderbird to crash # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21646/diffs?commit_id=ee5d2250fd159689aae3f7d632a6226971bea85c MOZ_ENABLE_WAYLAND=0; + GTK_THEME="Adwaita-dark"; }; environment.systemPackages = with pkgs; [ dwl waybar foot + pwvucontrol ]; } diff --git a/machines/universedesktop/desktop/dwl/config.def.h b/machines/universedesktop/desktop/dwl/config.def.h index 1d37fba..3bf99bd 100644 --- a/machines/universedesktop/desktop/dwl/config.def.h +++ b/machines/universedesktop/desktop/dwl/config.def.h @@ -122,6 +122,8 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA static const char *termcmd[] = { "@termcmd@", NULL }; static const char *editcmd[] = { "@editcmd@", NULL }; static const char *menucmd[] = { "@menucmd@", NULL }; +static const char *playcmd[] = { "@playcmd@", NULL }; +static const char *scrncmd[] = { "@scrncmd@", NULL }; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ @@ -129,6 +131,8 @@ static const Key keys[] = { { MODKEY, XKB_KEY_r, spawn, {.v = menucmd} }, { MODKEY, XKB_KEY_Return, spawn, {.v = termcmd} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = editcmd} }, + { 0, XKB_KEY_XF86AudioPlay, spawn, {.v = playcmd} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Print, spawn, {.v = scrncmd} }, { MODKEY, XKB_KEY_j, focusstack, {.i = +1} }, { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, { MODKEY, XKB_KEY_i, incnmaster, {.i = +1} }, From a64f759c85120f356bcdc0051d4df3989baad0ff Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 3 Jun 2024 14:37:44 -0400 Subject: [PATCH 63/64] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/9036fe9ef8e15a819fa76f47a8b1f287903fb848' (2024-05-02) → 'github:nix-community/home-manager/9b53a10f4c91892f5af87cf55d08fba59ca086af' (2024-06-02) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/230a197063de9287128e2c68a7a4b0cd7d0b50a7' (2024-04-24) → 'github:LnL7/nix-darwin/c0d5b8c54d6828516c97f6be9f2d00c63a363df4' (2024-05-29) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/63c3a29ca82437c87573e4c6919b09a24ea61b0f' (2024-05-02) → 'github:NixOS/nixpkgs/57610d2f8f0937f39dbd72251e9614b1561942d8' (2024-05-31) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f1b0adc27265274e3b0c9b872a8f476a098679bd' (2024-04-23) → 'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be' (2024-04-20) → 'github:NixOS/nixpkgs/6132b0f6e344ce2fe34fc051b72fb46e34f668e0' (2024-05-30) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/74574c38577914733b4f7a775dd77d24245081dd' (2024-04-20) → 'github:NixOS/nixpkgs/3b1b4895b2c5f9f5544d02132896aeb9ceea77bc' (2024-06-01) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index ff2b829..95be684 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ ] }, "locked": { - "lastModified": 1714679908, - "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", + "lastModified": 1717316182, + "narHash": "sha256-Xi0EpZcu39N0eW7apLjFfUOR9y80toyjYizez7J1wMI=", "owner": "nix-community", "repo": "home-manager", - "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", + "rev": "9b53a10f4c91892f5af87cf55d08fba59ca086af", "type": "github" }, "original": { @@ -108,11 +108,11 @@ ] }, "locked": { - "lastModified": 1713946171, - "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", + "lastModified": 1716993688, + "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", + "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", "type": "github" }, "original": { @@ -124,11 +124,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714635257, - "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", + "lastModified": 1717196966, + "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", + "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8", "type": "github" }, "original": { @@ -156,11 +156,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1713638189, - "narHash": "sha256-q7APLfB6FmmSMI1Su5ihW9IwntBsk2hWNXh8XtSdSIk=", + "lastModified": 1717265169, + "narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "74574c38577914733b4f7a775dd77d24245081dd", + "rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc", "type": "github" }, "original": { @@ -172,11 +172,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1713596654, - "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=", + "lastModified": 1717112898, + "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be", + "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0", "type": "github" }, "original": { @@ -201,11 +201,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1713892811, - "narHash": "sha256-uIGmA2xq41vVFETCF1WW4fFWFT2tqBln+aXnWrvjGRE=", + "lastModified": 1717297459, + "narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f1b0adc27265274e3b0c9b872a8f476a098679bd", + "rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075", "type": "github" }, "original": { From 55e78faacc987ad6ae9a174efdd3501b9d2a393b Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 10 Jun 2024 23:06:04 -0400 Subject: [PATCH 64/64] universedesktop: Prism wayland --- machines/universedesktop/programs/games.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/machines/universedesktop/programs/games.nix b/machines/universedesktop/programs/games.nix index f796813..91dc2d2 100644 --- a/machines/universedesktop/programs/games.nix +++ b/machines/universedesktop/programs/games.nix @@ -9,6 +9,14 @@ # Game compat programs.gamemode.enable = true; + nixpkgs.overlays = [ + (final: prev: { + prismlauncher = prev.prismlauncher.override { + withWaylandGLFW=true; + }; + }) + ]; + environment.systemPackages = with pkgs; [ # For Steam protontricks