// Path: src/main/java/org/petschko/lib/Const.java
// public class Const {
// 	public static final String CREATOR = "Petschko";
// 	public static final String CREATOR_URL = "https://petschko.org/";
// 	public static final String CREATOR_DONATION_URL = "https://www.paypal.me/petschko";
// 
// 	// System Constance's
// 	public static final String DS = System.getProperty("file.separator");
// 	public static final String NEW_LINE = System.getProperty("line.separator");
// 
// 	/**
// 	 * Constructor
// 	 */
// 	private Const() {
// 		// VOID - This is a Static-Class
// 	}
// }
// 
// Path: src/main/java/org/petschko/rpgmakermv/decrypt/App.java
// public class App {
// 	private static Boolean useGUI = true;
// 	private static GUI gui;
// 	private static CMD cmd;
// 	public static String outputDir;
// 	public static Preferences preferences;
// 
// 	/**
// 	 * Main-Class
// 	 *
// 	 * @param args - Optional Arguments from Command-Line
// 	 */
// 	public static void main(String[] args) {
// 		// Ensure System output dir always exists
// 		if(! File.existsDir(Config.DEFAULT_OUTPUT_DIR))
// 			File.createDirectory(Config.DEFAULT_OUTPUT_DIR);
// 
// 		// Check whats given from CMD
// 		if(args.length > 0) {
// 			useGUI = false;
// 			cmd = new CMD(args);
// 		}
// 
// 		if(useGUI) {
// 			// Show something when its started via .bat or shell file
// 			System.out.println(Config.PROGRAM_NAME + " - " + Config.VERSION + " by " + Const.CREATOR);
// 
// 			// Use GUI
// 			preferences = new Preferences(Config.PREFERENCES_FILE);
// 			outputDir = App.preferences.getConfig(Preferences.LAST_OUTPUT_DIR, Config.DEFAULT_OUTPUT_DIR);
// 			gui = new GUI();
// 		} else {
// 			// Use Command-Line Version
// 			cmd.runCMD();
// 		}
// 	}
// 
// 	/**
// 	 * Shows the given message if no GUI is enabled
// 	 *
// 	 * @param msg - Message to display
// 	 * @param messageStatus - Status of the Message
// 	 */
// 	public static void showMessage(String msg, int messageStatus) {
// 		String status;
// 
// 		switch(messageStatus) {
// 			case CMD.STATUS_ERROR:
// 				status = "[ERROR]: ";
// 				break;
// 			case CMD.STATUS_WARNING:
// 				status = "[WARN]: ";
// 				break;
// 			case CMD.STATUS_OK:
// 				status = "[SUCCESS]: ";
// 				break;
// 			default:
// 				status = "[INFO]: ";
// 		}
// 
// 		if(! App.useGUI)
// 			System.out.println(status + msg);
// 	}
// 
// 	/**
// 	 * Shows the given message if no GUI is enabled
// 	 *
// 	 * @param msg - Message to display
// 	 */
// 	public static void showMessage(String msg) {
// 		showMessage(msg, CMD.STATUS_INFO);
// 	}
// 
// 	/**
// 	 * Saves the settings, close the GUI and quit the Program
// 	 */
// 	public static void closeGUI() {
// 		if(! App.preferences.save()) {
// 			ErrorWindow errorWindow = new ErrorWindow("Can't save Settings...", ErrorWindow.ERROR_LEVEL_ERROR, false);
// 			errorWindow.show();
// 		}
// 
// 		App.gui.dispose();
// 		System.exit(0);
// 	}
// }
// 
// Path: src/main/java/org/petschko/rpgmakermv/decrypt/Config.java
// public class Config {
// 	// Program Info
// 	public static final String VERSION_NUMBER = "0.4.1";
// 	public static final String VERSION = "v" + VERSION_NUMBER + " Alpha";
// 	public static final String PROGRAM_NAME = "RPG-Maker MV/MZ Decrypter";
// 	public static final String PROJECT_PAGE_URL = "https://github.com/Petschko/Java-RPG-Maker-MV-Decrypter";
// 	public static final String PROJECT_BUG_REPORT_URL = "https://github.com/Petschko/Java-RPG-Maker-MV-Decrypter/issues";
// 	public static final String PROJECT_LICENCE_URL = "https://github.com/Petschko/Java-RPG-Maker-MV-Decrypter/blob/master/LICENCE";
// 	public static final String AUTHOR_IMAGE = "/icons/petschko_icon.png";
// 	public static final String UPDATE_URL = "https://raw.githubusercontent.com/Petschko/Java-RPG-Maker-MV-Decrypter/master/version.txt";
// 
// 	// File-Path-Settings
// 	public static final String DEFAULT_OUTPUT_DIR = "output";
// 	public static final String PREFERENCES_FILE = "config.pref";
// 
// 	// Misc Settings
// 	public static final long UPDATE_CHECK_EVERY_SECS = 172800;
// 	public static final String THIS_JAR_FILE_NAME = "RPG Maker MV Decrypter.jar";
// 
// 	/**
// 	 * Constructor
// 	 */
// 	private Config() {
// 		// VOID - This is a Static-Class
// 	}
// }


import org.petschko.lib.Const;
import org.petschko.rpgmakermv.decrypt.App;
import org.petschko.rpgmakermv.decrypt.Config;
				break;
			case CMD_ENCRYPT:
				cmdCommand = new Encrypt();
				break;
			case CMD_RESTORE:
				cmdCommand = new Restore();
				break;
			case CMD_RESTORE_PROJECT:
				cmdCommand = new RestoreProject();
				break;
			case CMD_GET_KEY:
			case CMD_GET_KEY_2:
			case CMD_GET_KEY_3:
			case CMD_GET_KEY_4:
			case CMD_GET_KEY_5:
				cmdCommand = new DetectKey();
				break;
			default:
				// Void
		}

		cmdCommand.printHelp();
	}

	/**
	 * Exit the Program with a Message
	 *
	 * @param status - Exit-Status-Code
	 */
	static void exitCMD(int status) {
// Path: src/main/java/org/petschko/lib/Const.java
// public class Const {
// 	public static final String CREATOR = "Petschko";
// 	public static final String CREATOR_URL = "https://petschko.org/";
// 	public static final String CREATOR_DONATION_URL = "https://www.paypal.me/petschko";
// 
// 	// System Constance's
// 	public static final String DS = System.getProperty("file.separator");
// 	public static final String NEW_LINE = System.getProperty("line.separator");
// 
// 	/**
// 	 * Constructor
// 	 */
// 	private Const() {
// 		// VOID - This is a Static-Class
// 	}
// }
// 
// Path: src/main/java/org/petschko/rpgmakermv/decrypt/App.java
// public class App {
// 	private static Boolean useGUI = true;
// 	private static GUI gui;
// 	private static CMD cmd;
// 	public static String outputDir;
// 	public static Preferences preferences;
// 
// 	/**
// 	 * Main-Class
// 	 *
// 	 * @param args - Optional Arguments from Command-Line
// 	 */
// 	public static void main(String[] args) {
// 		// Ensure System output dir always exists
// 		if(! File.existsDir(Config.DEFAULT_OUTPUT_DIR))
// 			File.createDirectory(Config.DEFAULT_OUTPUT_DIR);
// 
// 		// Check whats given from CMD
// 		if(args.length > 0) {
// 			useGUI = false;
// 			cmd = new CMD(args);
// 		}
// 
// 		if(useGUI) {
// 			// Show something when its started via .bat or shell file
// 			System.out.println(Config.PROGRAM_NAME + " - " + Config.VERSION + " by " + Const.CREATOR);
// 
// 			// Use GUI
// 			preferences = new Preferences(Config.PREFERENCES_FILE);
// 			outputDir = App.preferences.getConfig(Preferences.LAST_OUTPUT_DIR, Config.DEFAULT_OUTPUT_DIR);
// 			gui = new GUI();
// 		} else {
// 			// Use Command-Line Version
// 			cmd.runCMD();
// 		}
// 	}
// 
// 	/**
// 	 * Shows the given message if no GUI is enabled
// 	 *
// 	 * @param msg - Message to display
// 	 * @param messageStatus - Status of the Message
// 	 */
// 	public static void showMessage(String msg, int messageStatus) {
// 		String status;
// 
// 		switch(messageStatus) {
// 			case CMD.STATUS_ERROR:
// 				status = "[ERROR]: ";
// 				break;
// 			case CMD.STATUS_WARNING:
// 				status = "[WARN]: ";
// 				break;
// 			case CMD.STATUS_OK:
// 				status = "[SUCCESS]: ";
// 				break;
// 			default:
// 				status = "[INFO]: ";
// 		}
// 
// 		if(! App.useGUI)
// 			System.out.println(status + msg);
// 	}
// 
// 	/**
// 	 * Shows the given message if no GUI is enabled
// 	 *
// 	 * @param msg - Message to display
// 	 */
// 	public static void showMessage(String msg) {
// 		showMessage(msg, CMD.STATUS_INFO);
// 	}
// 
// 	/**
// 	 * Saves the settings, close the GUI and quit the Program
// 	 */
// 	public static void closeGUI() {
// 		if(! App.preferences.save()) {
// 			ErrorWindow errorWindow = new ErrorWindow("Can't save Settings...", ErrorWindow.ERROR_LEVEL_ERROR, false);
// 			errorWindow.show();
// 		}
// 
// 		App.gui.dispose();
// 		System.exit(0);
// 	}
// }
// 
// Path: src/main/java/org/petschko/rpgmakermv/decrypt/Config.java
// public class Config {
// 	// Program Info
// 	public static final String VERSION_NUMBER = "0.4.1";
// 	public static final String VERSION = "v" + VERSION_NUMBER + " Alpha";
// 	public static final String PROGRAM_NAME = "RPG-Maker MV/MZ Decrypter";
// 	public static final String PROJECT_PAGE_URL = "https://github.com/Petschko/Java-RPG-Maker-MV-Decrypter";
// 	public static final String PROJECT_BUG_REPORT_URL = "https://github.com/Petschko/Java-RPG-Maker-MV-Decrypter/issues";
// 	public static final String PROJECT_LICENCE_URL = "https://github.com/Petschko/Java-RPG-Maker-MV-Decrypter/blob/master/LICENCE";
// 	public static final String AUTHOR_IMAGE = "/icons/petschko_icon.png";
// 	public static final String UPDATE_URL = "https://raw.githubusercontent.com/Petschko/Java-RPG-Maker-MV-Decrypter/master/version.txt";
// 
// 	// File-Path-Settings
// 	public static final String DEFAULT_OUTPUT_DIR = "output";
// 	public static final String PREFERENCES_FILE = "config.pref";
// 
// 	// Misc Settings
// 	public static final long UPDATE_CHECK_EVERY_SECS = 172800;
// 	public static final String THIS_JAR_FILE_NAME = "RPG Maker MV Decrypter.jar";
// 
// 	/**
// 	 * Constructor
// 	 */
// 	private Config() {
// 		// VOID - This is a Static-Class
// 	}
// }


// Path: src/main/java/org/petschko/rpgmakermv/decrypt/cmd/CMD.java
import org.petschko.lib.Const;
import org.petschko.rpgmakermv.decrypt.App;
import org.petschko.rpgmakermv.decrypt.Config;

				break;
			case CMD_ENCRYPT:
				cmdCommand = new Encrypt();
				break;
			case CMD_RESTORE:
				cmdCommand = new Restore();
				break;
			case CMD_RESTORE_PROJECT:
				cmdCommand = new RestoreProject();
				break;
			case CMD_GET_KEY:
			case CMD_GET_KEY_2:
			case CMD_GET_KEY_3:
			case CMD_GET_KEY_4:
			case CMD_GET_KEY_5:
				cmdCommand = new DetectKey();
				break;
			default:
				// Void
		}

		cmdCommand.printHelp();
	}

	/**
	 * Exit the Program with a Message
	 *
	 * @param status - Exit-Status-Code
	 */
	static void exitCMD(int status) {
		App.showMessage("Done.");