This information has been produced with the help of a lot of other people. Thank you to them. There is no guarantee to the correctness of the information, but that is my fault, not their's. If you can add to or correct any information, please let me know.