From 4d1885e60be14aef759c23e42b64f02e24d4a004 Mon Sep 17 00:00:00 2001
From: Florian <88926852+Gruetzig@users.noreply.github.com>
Date: Fri, 30 Jun 2023 07:03:34 +0200
Subject: [PATCH] exchange fredtool-legacy for menuhax-uloader (#2302)
* exchange fredtool-legacy for menuhax-uloader
* troubleshooting: add troubleshooting for menuhax67 leftover
* menuhax-uloader->menuhax
* fix wording of stuff
* make bb3 and uloader direct downloads
* add image for the home menu icon
* add commas
* wipe wipe and do do(usm -> menuhax)
---
_data/navigation/en_US.yml | 4 +-
_pages/en_US/bannerbomb3-(legacy).txt | 17 +---
...nstalling-boot9strap-(fredtool-legacy).txt | 77 ---------------
.../en_US/installing-boot9strap-(menuhax).txt | 89 ++++++++++++++++++
_pages/en_US/site-navigation.txt | 2 +-
_pages/en_US/troubleshooting.txt | 7 ++
assets/js/_main.js | 4 +-
assets/js/main.min.js | 2 +-
images/homemenuicon.png | Bin 0 -> 1877 bytes
9 files changed, 103 insertions(+), 99 deletions(-)
delete mode 100644 _pages/en_US/installing-boot9strap-(fredtool-legacy).txt
create mode 100644 _pages/en_US/installing-boot9strap-(menuhax).txt
create mode 100644 images/homemenuicon.png
diff --git a/_data/navigation/en_US.yml b/_data/navigation/en_US.yml
index c595789591..fa8ec82a42 100644
--- a/_data/navigation/en_US.yml
+++ b/_data/navigation/en_US.yml
@@ -155,8 +155,8 @@ sidebar_pages:
title: Installing boot9strap (Fredtool-Inject)
url: installing-boot9strap-(fredtool-inject)
-
- title: Installing boot9strap (Fredtool, Legacy)
- url: installing-boot9strap-(fredtool-legacy)
+ title: Installing boot9strap (menuhax)
+ url: installing-boot9strap-(menuhax)
-
title: Installing boot9strap (USM)
url: installing-boot9strap-(usm)
diff --git a/_pages/en_US/bannerbomb3-(legacy).txt b/_pages/en_US/bannerbomb3-(legacy).txt
index becd77a5ad..41f3babb19 100644
--- a/_pages/en_US/bannerbomb3-(legacy).txt
+++ b/_pages/en_US/bannerbomb3-(legacy).txt
@@ -29,22 +29,7 @@ These instructions work on USA, Europe, Japan, and Korea region consoles as indi
{% include_relative include/bb3-prep.txt %}
-#### Section II - Hardware Button Check
-
-In this section, you will see whether you can access Safe Mode on your console. This will determine which method you will follow on the next page.
-
-Your SD card should remain in your computer while you perform this check.
-
-{% include_relative include/safemodecheck.txt %}
-
___
-### Next steps: Choose an exploit
-
-If the camera appeared in the previous section, Safe Mode is likely to be working on your console.
-
-If the camera appeared, continue to [Installing boot9strap (USM)](installing-boot9strap-(usm))
+### Continue to [Installing boot9strap (menuhax)](installing-boot9strap-(menuhax))
{: .notice--primary}
-
-If the camera did NOT appear, continue to [Installing boot9strap (Fredtool, Legacy)](installing-boot9strap-(fredtool-legacy))
-{: .notice--info}
diff --git a/_pages/en_US/installing-boot9strap-(fredtool-legacy).txt b/_pages/en_US/installing-boot9strap-(fredtool-legacy).txt
deleted file mode 100644
index 7e88fb51b4..0000000000
--- a/_pages/en_US/installing-boot9strap-(fredtool-legacy).txt
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: "Installing boot9strap (Fredtool, Legacy)"
----
-
-{% include toc title="Table of Contents" %}
-
-{% capture technical_info %}
-Technical Details (optional)
-
-To dump system DSiWare, we exploit a flaw in the DSiWare Data Management window of the Settings application.
-
-To accomplish this, we use your system's encryption key (movable.sed) to build a DSiWare backup that exploits the system to dump the DSi Internet Settings application to the SD root.
-
-Once we have a DSiWare backup, we can inject it into the DS Internet Settings application.
-
-This is a currently working implementation of the "FIRM partitions known-plaintext" exploit detailed [here](https://www.3dbrew.org/wiki/3DS_System_Flaws).
-
-{% endcapture %}
-{{ technical_info | markdownify }}
-{: .notice--info}
-
-You should only be able to get to this page if you are running version 11.15.0 or 11.14.0. If you are on any firmware other than 11.15.0 or 11.14.0, STOP as these instructions WILL LEAD TO A BRICK on other firmwares!!
-{: .notice--warning}
-
-### What You Need
-
-* Your `movable.sed` file from completing [Seedminer (Mii)](seedminer-(mii))
-* The latest release of [Frogminer_save](https://github.com/zoogie/Frogminer/releases/latest) (`Frogminer_save.zip`)
-* **11.15.0 and 11.14.0 users only**: The v6.0.1 release of [b9sTool](https://github.com/zoogie/b9sTool/releases/tag/v6.0.1) (direct download)
-* The latest release of [Luma3DS](https://github.com/LumaTeam/Luma3DS/releases/latest) (the Luma3DS `.zip` file)
-
-#### Section I - CFW Check
-
-{% include_relative include/cfw-check-fredtool.txt %}
-
-#### Section II - BannerBomb3
-
-In this section, you will trigger the BannerBomb3 exploit using the DSiWare Management menu and copy the resulting file dump to your computer so that you can use it on the next section.
-
-1. Reinsert your SD card into your console
-1. Power on your console
-1. Launch System Settings on your console
-1. Navigate to `Data Management` -> `DSiWare` -> `SD Card` ([image](/images/screenshots/bb3/dsiware-management.png))
- + Your console should show the BB3 multihax menu
- + If this step causes your console to crash, [follow this troubleshooting guide](troubleshooting#installing-boot9strap-fredtool)
-1. Use the D-Pad to navigate and press the (A) button to select "Dump DSiWare"
- + Your console will automatically reboot
-1. Power off your console
-
-#### Section III - Prep Work
-
-{% include_relative include/fredtool-prep.txt %}
-
-#### Section IV - Overwriting DS Connection Settings
-
-{% include_relative include/fredtool-write-flipnote.txt %}
-
-#### Section V - Flipnote Exploit
-
-{% include_relative include/install-boot9strap-b9stool.txt method="dsinternet" %}
-
-#### Section VI - Luma3DS Configuration
-
-1. Press and hold (Select), and while holding (Select), power on your console
-{% include_relative include/configure-luma3ds.txt %}
-
-{% include_relative include/luma3ds-installed-note.txt %}
-
-#### Section VII - Restoring DS Connection Settings
-
-{% include_relative include/fredtool-restore-dsconn.txt %}
-
-___
-
-
-### Continue to [Finalizing Setup](finalizing-setup)
-{: .notice--primary}
diff --git a/_pages/en_US/installing-boot9strap-(menuhax).txt b/_pages/en_US/installing-boot9strap-(menuhax).txt
new file mode 100644
index 0000000000..4208ddff9e
--- /dev/null
+++ b/_pages/en_US/installing-boot9strap-(menuhax).txt
@@ -0,0 +1,89 @@
+---
+title: "Installing boot9strap (menuhax)"
+---
+
+{% include toc title="Table of Contents" %}
+
+{% capture technical_info %}
+Technical Details (optional)
+
+We use BannerBomb3 to install menuhax67, which lets us access the Homebrew Launcher. From there, we launch uloader which launches SafeB9SInstaller.
+
+See [here](https://github.com/zoogie/uloader) for information about uloader and [here](https://github.com/zoogie/menuhax67) for information about menuhax67.
+
+{% endcapture %}
+{{ technical_info | markdownify }}
+{: .notice--info}
+
+You should only be able to get to this page if you are running version 11.15.0 or 11.14.0. If you are on any firmware above 11.15.0, uloader will fail.
+{: .notice--warning}
+
+### What You Need
+
+* The latest release of [SafeB9SInstaller](https://github.com/d0k3/SafeB9SInstaller/releases/download/v0.0.7/SafeB9SInstaller-20170605-122940.zip) (direct download)
+* The latest release of [boot9strap](https://github.com/SciresM/boot9strap/releases/download/1.4/boot9strap-1.4.zip) (direct download)
+* The latest release of [BannerBomb3](https://github.com/zoogie/Bannerbomb3/releases/download/v3.0/Release_v3.0.zip) (direct download)
+* The latest release of [uloader](https://github.com/zoogie/uloader/releases/download/1.0/uloader.3dsx) (direct download)
+* The latest release of [Luma3DS](https://github.com/LumaTeam/Luma3DS/releases/latest) (the Luma3DS `.zip` file)
+
+#### Section I - Prep Work
+
+1. Power off your console
+1. Insert your SD card into your computer
+1. Copy `boot.firm` and `boot.3dsx` from the Luma3DS `.zip` to the root of your SD card
+1. Create a folder named `boot9strap` on the root of your SD card
+1. Copy `boot9strap.firm` and `boot9strap.firm.sha` from the boot9strap `.zip` to the `/boot9strap/` folder on your SD card
+1. Copy `SafeB9SInstaller.bin` from the SafeB9SInstaller `.zip` to the root of your SD card
+1. Copy `bb3.bin` from the Release `.zip` to the root of your SD card, replacing the current file
+1. Copy `Launcher.dat` from the folder for your model and region inside the Release `.zip` to the root of your SD card
+1. Create a folder named `3ds` on the root of your SD card if it does not already exist
+ + This folder stores homebrew applications and data; it is different from the `Nintendo 3DS` folder that the console automatically generates
+1. Copy `uloader.3dsx` to the `/3ds/` folder on your SD card
+1. Reinsert your SD card into your console
+
+#### Section II - BannerBomb3
+
+In this section, you will trigger the BannerBomb3 exploit using the DSiWare Management menu and use it to install the menuhax67 exploit.
+
+1. Power on your console
+1. Launch System Settings on your console
+1. Navigate to `Data Management` -> `DSiWare` -> `SD Card` ([image](/images/screenshots/bb3/dsiware-management.png))
+ + Your console should show the BB3 multihax menu
+1. Use the D-Pad to navigate and press the (A) button to select "Install *hax"
+ + Your console will automatically reboot
+
+#### Section III - menuhax67
+
+In this section you will use the menuhax67 exploit installed earlier to launch uloader, which will load SafeB9SInstaller.
+
+1. Tap on the small HOME Menu settings icon in the top left of the bottom screen (![]({{ "/images/homemenuicon.png" | absolute_url }}){: height="32px" width="52px"})
+ + If the console freezes for a while and then crashes, make sure you have Launcher.dat on the root of your SD card
+1. If the exploit was successful, your console will have booted into the Homebrew Launcher
+1. Launch uloader from the list of homebrew
+1. If the exploit was successful, you will have booted into SafeB9SInstaller
+ + If the console freezes or crashes, force power off the console, then retry this section
+
+#### Section IV - Installing boot9strap
+
+{% include_relative include/install-boot9strap-safeb9sinstaller.txt %}
+{%- include_relative include/configure-luma3ds.txt %}
+
+{% include_relative include/luma3ds-installed-note.txt %}
+
+#### Section V - Removing menuhax67
+
+In this section, you will trigger the BannerBomb3 exploit a second time so that you can uninstall the menuhax67 exploit you installed in Section II. This will allow you to use the HOME Menu settings normally again.
+
+1. Launch System Settings on your console
+1. Navigate to `Data Management` -> `DSiWare` -> `SD Card` ([image](/images/screenshots/bb3/dsiware-management.png))
+1. Use the D-Pad to navigate and press the (A) button to select "Uninstall *hax"
+ + Your console will automatically reboot
+1. Power off your console
+1. Insert your SD card into your computer
+1. Navigate to `Nintendo 3DS` -> `` -> `` -> `Nintendo DSiWare` on your SD card
+1. Delete `F00D43D5.bin` from your Nintendo DSiWare folder and from your computer. This file will not be needed anymore
+
+___
+
+### Continue to [Finalizing Setup](finalizing-setup)
+{: .notice--primary}
diff --git a/_pages/en_US/site-navigation.txt b/_pages/en_US/site-navigation.txt
index db65175253..79bb00b90f 100644
--- a/_pages/en_US/site-navigation.txt
+++ b/_pages/en_US/site-navigation.txt
@@ -53,7 +53,7 @@ sitemap: false
+ [Homebrew Launcher (super-skaterhax)](homebrew-launcher-(super-skaterhax))
+ [Installing boot9strap (Fredtool)](installing-boot9strap-(fredtool))
+ [Installing boot9strap (Fredtool-Inject)](installing-boot9strap-(fredtool-inject))
-+ [Installing boot9strap (Fredtool, Legacy)](installing-boot9strap-(fredtool-legacy))
++ [Installing boot9strap (menuhax)](installing-boot9strap-(menuhax))
+ [Installing boot9strap (Frogtool)](installing-boot9strap-(frogtool))
+ [Installing boot9strap (Hardmod)](installing-boot9strap-(hardmod))
+ [Installing boot9strap (HBL-USM)](installing-boot9strap-(hbl-usm))
diff --git a/_pages/en_US/troubleshooting.txt b/_pages/en_US/troubleshooting.txt
index 2d3df87003..3f80e81497 100644
--- a/_pages/en_US/troubleshooting.txt
+++ b/_pages/en_US/troubleshooting.txt
@@ -668,6 +668,13 @@ If you weren't able to find your error or the instructions didn't work, join [Ni
{% endcapture %}
{{ compat | markdownify }}
+{% capture compat %}
+Opening the HOME Menu settings crashes the console or loads the Homebrew Launcher
+
+Your console likely still has menuhax67 installed. To uninstall menuhax67, download the latest release of [menuhax67](https://github.com/zoogie/menuhax67/releases/latest) (the menuhax `.zip`), then follow the ["Uninstall menuhax67" section](https://wiki.hacks.guide/wiki/3DS:Alternate_Exploits/menuhax67#Uninstall_menuhax67) here.
+{% endcapture %}
+{{ compat | markdownify }}
+
---
## Other troubleshooting
diff --git a/assets/js/_main.js b/assets/js/_main.js
index 2dac5a6f42..26c0d554c4 100644
--- a/assets/js/_main.js
+++ b/assets/js/_main.js
@@ -226,7 +226,7 @@ $(document).ready(function() {
"updating-firmware-(new-3ds)": "23",
"seedminer-(mii)": "24",
"bannerbomb3-(legacy)": "25",
- "installing-boot9strap-(fredtool-legacy)": "26",
+ "installing-boot9strap-(menuhax)": "26",
"alternate-exploits": "27",
"homebrew-launcher-(ninjhax2-dx)": "28",
"homebrew-launcher-(smilehax-iie)": "29",
@@ -293,7 +293,7 @@ $(document).ready(function() {
"23": ["updating-firmware-(new-3ds)", "homebrew-launcher-(super-skaterhax)", "multiple-options", "finalizing-setup"],
"24": ["seedminer-(mii)", "bannerbomb3-(legacy)", "multiple-options", "finalizing-setup"],
"25": ["seedminer-(mii)", "bannerbomb3-(legacy)", "multiple-options", "finalizing-setup"],
- "26": ["seedminer-(mii)", "bannerbomb3-(legacy)", "installing-boot9strap-(fredtool-legacy)", "finalizing-setup"],
+ "26": ["seedminer-(mii)", "bannerbomb3-(legacy)", "installing-boot9strap-(menuhax)", "finalizing-setup"],
"27": ["alternate-exploits", "multiple-options", "finalizing-setup"],
"28": ["alternate-exploits", "homebrew-launcher-(ninjhax2-dx)", "multiple-options", "finalizing-setup"],
"29": ["alternate-exploits", "homebrew-launcher-(smilehax-iie)", "multiple-options", "finalizing-setup"],
diff --git a/assets/js/main.min.js b/assets/js/main.min.js
index c98658336f..78b71983d7 100644
--- a/assets/js/main.min.js
+++ b/assets/js/main.min.js
@@ -3,4 +3,4 @@
* Copyright 2013-2023 Michael Rose - mademistakes.com | @mmistakes
* Licensed under MIT
*/
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(e.document)return t(e);throw new Error("jQuery requires a window with a document")}:t(e)}("undefined"!=typeof window?window:this,function(w,q){"use strict";function y(e){return"function"==typeof e&&"number"!=typeof e.nodeType}function m(e){return null!=e&&e===e.window}var t=[],M=Object.getPrototypeOf,s=t.slice,_=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},$=t.push,z=t.indexOf,R={},B=R.toString,F=R.hasOwnProperty,W=F.toString,U=W.call(Object),g={},C=w.document,X={type:!0,src:!0,nonce:!0,noModule:!0};function Q(e,t,n){var i,r,o=(n=n||C).createElement("script");if(o.text=e,t)for(i in X)(r=t[i]||t.getAttribute&&t.getAttribute(i))&&o.setAttribute(i,r);n.head.appendChild(o).parentNode.removeChild(o)}function h(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?R[B.call(e)]||"object":typeof e}var e="3.5.1",T=function(e,t){return new T.fn.init(e,t)};function Y(e){var t=!!e&&"length"in e&&e.length,n=h(e);return!y(e)&&!m(e)&&("array"===n||0===t||"number"==typeof t&&0>10|55296,1023&e|56320))}function M(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}function _(){C()}var e,f,x,o,$,p,z,R,w,l,u,C,T,n,k,h,i,r,m,S="sizzle"+ +new Date,c=q.document,E=0,B=0,F=L(),W=L(),U=L(),g=L(),X=function(e,t){return e===t&&(u=!0),0},Q={}.hasOwnProperty,t=[],Y=t.pop,V=t.push,A=t.push,G=t.slice,y=function(e,t){for(var n=0,i=e.length;n+~]|"+a+")"+a+"*"),ie=new RegExp(a+"|>"),re=new RegExp(J),oe=new RegExp("^"+s+"$"),b={ID:new RegExp("^#("+s+")"),CLASS:new RegExp("^\\.("+s+")"),TAG:new RegExp("^("+s+"|[*])"),ATTR:new RegExp("^"+Z),PSEUDO:new RegExp("^"+J),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+a+"*(even|odd|(([+-]|)(\\d*)n|)"+a+"*(?:([+-]|)"+a+"*(\\d+)|))"+a+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+a+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+a+"*((?:-\\d)?\\d*)"+a+"*\\)|)(?=[^-]|$)","i")},ae=/HTML$/i,se=/^(?:input|select|textarea|button)$/i,le=/^h\d$/i,j=/^[^{]+\{\s*\[native \w/,ue=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ce=/[+~]/,N=new RegExp("\\\\[\\da-fA-F]{1,6}"+a+"?|\\\\([^\\r\\n\\f])","g"),de=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fe=ye(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{A.apply(t=G.call(c.childNodes),c.childNodes),t[c.childNodes.length].nodeType}catch(e){A={apply:t.length?function(e,t){V.apply(e,G.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function I(t,e,n,i){var r,o,a,s,l,u,c=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!i&&(C(e),e=e||T,k)){if(11!==d&&(s=ue.exec(t)))if(r=s[1]){if(9===d){if(!(u=e.getElementById(r)))return n;if(u.id===r)return n.push(u),n}else if(c&&(u=c.getElementById(r))&&m(e,u)&&u.id===r)return n.push(u),n}else{if(s[2])return A.apply(n,e.getElementsByTagName(t)),n;if((r=s[3])&&f.getElementsByClassName&&e.getElementsByClassName)return A.apply(n,e.getElementsByClassName(r)),n}if(f.qsa&&!g[t+" "]&&(!h||!h.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(u=t,c=e,1===d&&(ie.test(t)||ne.test(t))){for((c=ce.test(t)&&ge(e.parentNode)||e)===e&&f.scope||((a=e.getAttribute("id"))?a=a.replace(de,M):e.setAttribute("id",a=S)),o=(l=p(t)).length;o--;)l[o]=(a?"#"+a:":scope")+" "+H(l[o]);u=l.join(",")}try{return A.apply(n,c.querySelectorAll(u)),n}catch(e){g(t,!0)}finally{a===S&&e.removeAttribute("id")}}}return R(t.replace(v,"$1"),e,n,i)}function L(){var n=[];function i(e,t){return n.push(e+" ")>x.cacheLength&&delete i[n.shift()],i[e+" "]=t}return i}function O(e){return e[S]=!0,e}function D(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t)}}function pe(e,t){for(var n=e.split("|"),i=n.length;i--;)x.attrHandle[n[i]]=t}function he(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function me(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&fe(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function P(a){return O(function(o){return o=+o,O(function(e,t){for(var n,i=a([],e.length,o),r=i.length;r--;)e[n=i[r]]&&(e[n]=!(t[n]=e[n]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in f=I.support={},$=I.isXML=function(e){var t=e.namespaceURI,e=(e.ownerDocument||e).documentElement;return!ae.test(t||e&&e.nodeName||"HTML")},C=I.setDocument=function(e){var e=e?e.ownerDocument||e:c;return e!=T&&9===e.nodeType&&e.documentElement&&(n=(T=e).documentElement,k=!$(T),c!=T&&(e=T.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",_,!1):e.attachEvent&&e.attachEvent("onunload",_)),f.scope=D(function(e){return n.appendChild(e).appendChild(T.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),f.attributes=D(function(e){return e.className="i",!e.getAttribute("className")}),f.getElementsByTagName=D(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),f.getElementsByClassName=j.test(T.getElementsByClassName),f.getById=D(function(e){return n.appendChild(e).id=S,!T.getElementsByName||!T.getElementsByName(S).length}),f.getById?(x.filter.ID=function(e){var t=e.replace(N,d);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if(void 0!==t.getElementById&&k)return(t=t.getElementById(e))?[t]:[]}):(x.filter.ID=function(e){var t=e.replace(N,d);return function(e){e=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return e&&e.value===t}},x.find.ID=function(e,t){if(void 0!==t.getElementById&&k){var n,i,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=f.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):f.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[r++];)1===n.nodeType&&i.push(n);return i},x.find.CLASS=f.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&k)return t.getElementsByClassName(e)},i=[],h=[],(f.qsa=j.test(T.querySelectorAll))&&(D(function(e){var t;n.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&h.push("[*^$]="+a+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||h.push("\\["+a+"*(?:value|"+K+")"),e.querySelectorAll("[id~="+S+"-]").length||h.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||h.push("\\["+a+"*name"+a+"*="+a+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||h.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||h.push(".#.+[+~]"),e.querySelectorAll("\\\f"),h.push("[\\r\\n\\f]")}),D(function(e){e.innerHTML="";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&h.push("name"+a+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&h.push(":enabled",":disabled"),n.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(f.matchesSelector=j.test(r=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.oMatchesSelector||n.msMatchesSelector))&&D(function(e){f.disconnectedMatch=r.call(e,"*"),r.call(e,"[s!='']:x"),i.push("!=",J)}),h=h.length&&new RegExp(h.join("|")),i=i.length&&new RegExp(i.join("|")),e=j.test(n.compareDocumentPosition),m=e||j.test(n.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,t=t&&t.parentNode;return e===t||!(!t||1!==t.nodeType||!(n.contains?n.contains(t):e.compareDocumentPosition&&16&e.compareDocumentPosition(t)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},X=e?function(e,t){var n;return e===t?(u=!0,0):(n=!e.compareDocumentPosition-!t.compareDocumentPosition)||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!f.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==c&&m(c,e)?-1:t==T||t.ownerDocument==c&&m(c,t)?1:l?y(l,e)-y(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return u=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!r||!o)return e==T?-1:t==T?1:r?-1:o?1:l?y(l,e)-y(l,t):0;if(r===o)return he(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[i]===s[i];)i++;return i?he(a[i],s[i]):a[i]==c?-1:s[i]==c?1:0}),T},I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(C(e),f.matchesSelector&&k&&!g[t+" "]&&(!i||!i.test(t))&&(!h||!h.test(t)))try{var n=r.call(e,t);if(n||f.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){g(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(N,d),e[3]=(e[3]||e[4]||e[5]||"").replace(N,d),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return b.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&re.test(n)&&(t=(t=p(n,!0))&&n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(N,d).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=F[e+" "];return t||(t=new RegExp("(^|"+a+")"+e+"("+a+"|$)"))&&F(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(t,n,i){return function(e){e=I.attr(e,t);return null==e?"!="===n:!n||(e+="","="===n?e===i:"!="===n?e!==i:"^="===n?i&&0===e.indexOf(i):"*="===n?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function Z(e,n,i){return y(n)?T.grep(e,function(e,t){return!!n.call(e,t,e)!==i}):n.nodeType?T.grep(e,function(e){return e===n!==i}):"string"!=typeof n?T.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/,te=((T.fn.init=function(e,t,n){if(e){if(n=n||J,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(T):T.makeArray(e,this);if(!(i="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:ee.exec(e))||!i[1]&&t)return(!t||t.jquery?t||n:this.constructor(t)).find(e);if(i[1]){if(t=t instanceof T?t[0]:t,T.merge(this,T.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),K.test(i[1])&&T.isPlainObject(t))for(var i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i])}else(n=C.getElementById(i[2]))&&(this[0]=n,this.length=1)}return this}).prototype=T.fn,J=T(C),/^(?:parents|prev(?:Until|All))/),ne={children:!0,contents:!0,next:!0,prev:!0};function ie(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}T.fn.extend({has:function(e){var t=T(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Te=/^$|^module$|\/(?:java|ecma)script/i,j=(O=C.createDocumentFragment().appendChild(C.createElement("div")),(a=C.createElement("input")).setAttribute("type","radio"),a.setAttribute("checked","checked"),a.setAttribute("name","t"),O.appendChild(a),g.checkClone=O.cloneNode(!0).cloneNode(!0).lastChild.checked,O.innerHTML="",g.noCloneChecked=!!O.cloneNode(!0).lastChild.defaultValue,O.innerHTML="",g.option=!!O.lastChild,{thead:[1,"
")),e.inlineElement=i):(h.updateStatus("ready"),h._parseMarkup(t,{},e),t)}}}),"ajax");u.magnificPopup.registerModule(N,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){h.types.push(N),b=h.st.ajax.cursor,c(x+"."+N,t),c("BeforeChange."+N,t)},getAjax:function(i){b&&u(document.body).addClass(b),h.updateStatus("loading");var e=u.extend({url:i.src,success:function(e,t,n){e={data:e,xhr:n};f("ParseAjax",e),h.appendContent(u(e.data),N),i.finished=!0,r(),h._setFocus(),setTimeout(function(){h.wrap.addClass(k)},16),h.updateStatus("ready"),f("AjaxContentAdded")},error:function(){r(),i.finished=i.loadError=!0,h.updateStatus("error",h.st.ajax.tError.replace("%url%",i.src))}},h.st.ajax.settings);return h.req=u.ajax(e),""}}});var I;u.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var e=h.st.image,t=".image";h.types.push("image"),c(C+t,function(){"image"===h.currItem.type&&e.cursor&&u(document.body).addClass(e.cursor)}),c(x+t,function(){e.cursor&&u(document.body).removeClass(e.cursor),A.off("resize"+T)}),c("Resize"+t,h.resizeImage),h.isLowIE&&c("AfterChange",h.resizeImage)},resizeImage:function(){var e,t=h.currItem;t&&t.img&&h.st.image.verticalFit&&(e=0,h.isLowIE&&(e=parseInt(t.img.css("padding-top"),10)+parseInt(t.img.css("padding-bottom"),10)),t.img.css("max-height",h.wH-e))},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,I&&clearInterval(I),e.isCheckingImgSize=!1,f("ImageHasSize",e),e.imgHidden)&&(h.content&&h.content.removeClass("mfp-loading"),e.imgHidden=!1)},findImageSize:function(t){function n(e){I&&clearInterval(I),I=setInterval(function(){0
")),e.inlineElement=i):(h.updateStatus("ready"),h._parseMarkup(t,{},e),t)}}}),"ajax");u.magnificPopup.registerModule(N,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){h.types.push(N),b=h.st.ajax.cursor,c(x+"."+N,t),c("BeforeChange."+N,t)},getAjax:function(i){b&&u(document.body).addClass(b),h.updateStatus("loading");var e=u.extend({url:i.src,success:function(e,t,n){e={data:e,xhr:n};f("ParseAjax",e),h.appendContent(u(e.data),N),i.finished=!0,r(),h._setFocus(),setTimeout(function(){h.wrap.addClass(k)},16),h.updateStatus("ready"),f("AjaxContentAdded")},error:function(){r(),i.finished=i.loadError=!0,h.updateStatus("error",h.st.ajax.tError.replace("%url%",i.src))}},h.st.ajax.settings);return h.req=u.ajax(e),""}}});var I;u.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var e=h.st.image,t=".image";h.types.push("image"),c(C+t,function(){"image"===h.currItem.type&&e.cursor&&u(document.body).addClass(e.cursor)}),c(x+t,function(){e.cursor&&u(document.body).removeClass(e.cursor),A.off("resize"+T)}),c("Resize"+t,h.resizeImage),h.isLowIE&&c("AfterChange",h.resizeImage)},resizeImage:function(){var e,t=h.currItem;t&&t.img&&h.st.image.verticalFit&&(e=0,h.isLowIE&&(e=parseInt(t.img.css("padding-top"),10)+parseInt(t.img.css("padding-bottom"),10)),t.img.css("max-height",h.wH-e))},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,I&&clearInterval(I),e.isCheckingImgSize=!1,f("ImageHasSize",e),e.imgHidden)&&(h.content&&h.content.removeClass("mfp-loading"),e.imgHidden=!1)},findImageSize:function(t){function n(e){I&&clearInterval(I),I=setInterval(function(){0
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){h.types.push(P),c("BeforeChange",function(e,t,n){t!==n&&(t===P?L():n===P&&L(!0))}),c(x+"."+P,function(){L()})},getIframe:function(e,t){var n=e.src,i=h.st.iframe,r=(u.each(i.patterns,function(){if(-1',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var o=h.st.gallery,e=".mfp-gallery";if(h.direction=!0,!o||!o.enabled)return!1;g+=" mfp-gallery",c(C+e,function(){o.navigateByImgClick&&h.wrap.on("click"+e,".mfp-img",function(){if(1=h.index,h.index=e,h.updateItemHTML()},preloadNearbyImages:function(){for(var e=h.st.gallery.preload,t=Math.min(e[0],h.items.length),n=Math.min(e[1],h.items.length),i=1;i<=(h.direction?n:t);i++)h._preloadItem(h.index+i);for(i=1;i<=(h.direction?t:n);i++)h._preloadItem(h.index-i)},_preloadItem:function(e){var t;e=O(e),h.items[e].preloaded||((t=h.items[e]).parsed||(t=h.parseEl(e)),f("LazyLoad",t),"image"===t.type&&(t.img=u('').on("load.mfploader",function(){t.hasSize=!0}).on("error.mfploader",function(){t.hasSize=!0,t.loadError=!0,f("LazyLoadError",t)}).attr("src",t.src)),t.preloaded=!0)}}}),"retina");u.magnificPopup.registerModule(H,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){var n,i;1t.durationMax?t.durationMax:t.durationMin&&e=l)return x.cancelScroll(!0),e=t,n=g,0===(t=i)&&document.body.focus(),n||(t.focus(),document.activeElement!==t&&(t.setAttribute("tabindex","-1"),t.focus(),t.style.outline="none"),w.scrollTo(0,e)),T("scrollStop",m,i,r),!(b=d=null)},h=function(e){var t,n,i;u+=e-(d=d||e),f=o+s*(n=1<(f=0===c?0:u/c)?1:f,"easeInQuad"===(t=m).easing&&(i=n*n),"easeOutQuad"===t.easing&&(i=n*(2-n)),"easeInOutQuad"===t.easing&&(i=n<.5?2*n*n:(4-2*n)*n-1),"easeInCubic"===t.easing&&(i=n*n*n),"easeOutCubic"===t.easing&&(i=--n*n*n+1),"easeInOutCubic"===t.easing&&(i=n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1),"easeInQuart"===t.easing&&(i=n*n*n*n),"easeOutQuart"===t.easing&&(i=1- --n*n*n*n),"easeInOutQuart"===t.easing&&(i=n<.5?8*n*n*n*n:1-8*--n*n*n*n),"easeInQuint"===t.easing&&(i=n*n*n*n*n),"easeOutQuint"===t.easing&&(i=1+--n*n*n*n*n),"easeInOutQuint"===t.easing&&(i=n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n),(i=t.customEasing?t.customEasing(n):i)||n),w.scrollTo(0,Math.floor(f)),p(f,a)||(b=w.requestAnimationFrame(h),d=e)},0===w.pageYOffset&&w.scrollTo(0,0),e=i,t=m,g||history.pushState&&t.updateURL&&history.pushState({smoothScroll:JSON.stringify(t),anchor:e.id},document.title,e===document.documentElement?"#top":"#"+e.id),"matchMedia"in w&&w.matchMedia("(prefers-reduced-motion)").matches?w.scrollTo(0,Math.floor(a)):(T("scrollStart",m,i,r),x.cancelScroll(!0),w.requestAnimationFrame(h)))},x.destroy=function(){v&&(document.removeEventListener("click",t,!1),w.removeEventListener("popstate",n,!1),x.cancelScroll(),b=y=r=v=null)};if("querySelector"in document&&"addEventListener"in w&&"requestAnimationFrame"in w&&"closest"in w.Element.prototype)return x.destroy(),v=C(k,e||{}),y=v.header?document.querySelector(v.header):null,document.addEventListener("click",t,!1),v.updateURL&&v.popstate&&w.addEventListener("popstate",n,!1),x;throw"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs."}}),function(e,t){"function"==typeof define&&define.amd?define([],function(){return t(e)}):"object"==typeof exports?module.exports=t(e):e.Gumshoe=t(e)}("undefined"!=typeof global?global:"undefined"!=typeof window?window:this,function(c){"use strict";function d(e){e&&e.sort(function(e,t){return i(e.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)}function f(e,t){var n;e&&(n=e.nav.closest("li"))&&(n.classList.remove(t.navClass),e.content.classList.remove(t.contentClass),r(n,t),h("gumshoeDeactivate",n,{link:e.nav,content:e.content,settings:t}))}var p={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},h=function(e,t,n){n.settings.events&&(e=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n}),t.dispatchEvent(e))},i=function(e){var t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,e=e.offsetParent;return 0<=t?t:0},m=function(e,t,n){e=e.getBoundingClientRect(),t="function"==typeof(t=t).offset?parseFloat(t.offset()):parseFloat(t.offset);return n?parseInt(e.bottom,10)<(c.innerHeight||document.documentElement.clientHeight):parseInt(e.top,10)<=t},g=function(e,t){return!(!n()||!m(e.content,t,!0))},r=function(e,t){t.nested&&(e=e.parentNode.closest("li"))&&(e.classList.remove(t.nestedClass),r(e,t))},v=function(e,t){t.nested&&(e=e.parentNode.closest("li"))&&(e.classList.add(t.nestedClass),v(e,t))};return function(e,t){function n(e){s&&c.cancelAnimationFrame(s),s=c.requestAnimationFrame(u.detect)}function i(e){s&&c.cancelAnimationFrame(s),s=c.requestAnimationFrame(function(){d(o),u.detect()})}var r,o,a,s,l,u={setup:function(){r=document.querySelectorAll(e),o=[],Array.prototype.forEach.call(r,function(e){var t=document.getElementById(decodeURIComponent(e.hash.substr(1)));t&&o.push({nav:e,content:t})}),d(o)}};u.detect=function(){var e,t,n,i=function(e,t){var n=e[e.length-1];if(g(n,t))return n;for(var i=e.length-1;0<=i;i--)if(m(e[i].content,t))return e[i]}(o,l);i?a&&i.content===a.content||(f(a,l),t=l,(e=i)&&(n=e.nav.closest("li"))&&(n.classList.add(t.navClass),e.content.classList.add(t.contentClass),v(n,t),h("gumshoeActivate",n,{link:e.nav,content:e.content,settings:t})),a=i):a&&(f(a,l),a=null)},u.destroy=function(){a&&f(a,l),c.removeEventListener("scroll",n,!1),l.reflow&&c.removeEventListener("resize",i,!1),l=s=a=r=o=null};return l=function(){var n={};return Array.prototype.forEach.call(arguments,function(e){for(var t in e){if(!e.hasOwnProperty(t))return;n[t]=e[t]}}),n}(p,t||{}),u.setup(),u.detect(),c.addEventListener("scroll",n,!1),l.reflow&&c.addEventListener("resize",i,!1),u}}),$(document).ready(function(){for(var e=location.hostname,t=document.querySelectorAll("a"),n=0;nImage #%curr% could not be loaded.'},removalDelay:500,mainClass:"mfp-zoom-in",callbacks:{beforeOpen:function(){this.st.image.markup=this.st.image.markup.replace("mfp-figure","mfp-figure mfp-with-anim")}},closeOnContentClick:!0,midClick:!0}),$(".page__content").find("h1, h2, h3, h4, h5, h6").each(function(){var e,t=$(this).attr("id");t&&((e=document.createElement("a")).className="header-link",e.href="#"+t,e.innerHTML='Permalink',e.title="Permalink",$(this).append(e))}),(-1.hidden-links:before{right:inherit !important;}"),$("nav.greedy-nav").prepend(""),$("nav.greedy-nav").prepend(""),$("nav.greedy-nav").prepend(""));for(var r=!0,o=["404","a9lh-to-b9s","credits","donations","dumping-titles-and-game-cartridges","f3-(linux)","f3xswift-(mac)","faq","file-extensions-(windows)","godmode9-usage","h2testw-(windows)","region-changing","site-navigation","troubleshooting","uninstall-cfw","updating-b9s","why-ads","privacy-policy","checking-for-cfw"],n=0;nEX>4Tx04R}tkv&MmKpe$iQ?*4Z4t9{@kfFM07Znj)Y88r5A=C=3I+$GgAv9@7
zQd}Gb*Mfr|i&X~~XI&j!1wrrw#MQ+~(M3x9Us7lh>%nn9-ralLy#s`LnQ2y69ME*z
zOeYg!Hn$=MUeSXHf|$Xm%q(M8l2Yh6zV6}U>s^dzbw2m!=u`6+1AHQJoEfG~yiPo|
zX&apPiNmZUtHkHTVt?1$8VgAE(<&}Y-ZAP#9?Bw*v3j5vy!P1PZCE}O{aVz
z>#@pti?dd)vgSSc3qyH*d5P;Zhmgbq79l}|f+{vphK(4lIw=;?w4dnUkGOt`Tnf21
zz{oL=3N*;BAN&t~cWV_U#=WFa0_c8moR483unRP5j`Mx&IE@p){|sE|Eq|pBOn;JI
zYiZFVpnn^3_cmMDZ7%NrcfvV?`QN)Ibh%x=w0=CYwqLp0mx8SsT<(n
z5Ev;^_F9K`2itr5_e`_DAN|~N-Y{BaasU7T24YJ`L;(K){{a7>y{D4^000SaNLh0L
z04^f{04^f|c%?sf00007bV*G`2j>PF2?8pSEmIl*000?uMObu0Z*6U5Zgc=ca%Ew3
zWn>_CX>@2HM@dakSAh-}000FnNklwlkee
zXW0!B;+K5MOwR55efM)nv)NR545(Bpp;lW4#bZYQ1A5enJ