Expecting EOF found '}' (IM SO LOST)

Ok, so i know what the error means but i have no idea how to fix it in my piece of script.
If you could please help me out on how to reformat it so everything works that would be great! the error is at 46,1 and i know i have 1 to many closing brackets but i cant seam to fix it please help if you can!.

Error is at 46,1

#pragma strict

var Planks : int;
var Sticks : int;
var WoodWall : Transform;
var WoodHatchet : Transform;
var StoneHatchet : Transform;
var Knife : Transform;
var Menu = false;
var look01 : MouseLook;
var look02 : MouseLook;
var charController : CharacterController;

function Start () 
{
	look01 = gameObject.GetComponent(MouseLook);
	look01 = GameObject.Find("MainCamera").GetComponent(MouseLook);
	charController = gameObject.GetComponent(CharacterController);
}

function Mining(Rock : int) 
{
	Stone += Rocks;	
}

function TreeMining(Wood : int) 
{
	Sticks += Wood;
}

function Update () 
{
	if(Menu == false)
	{
	look01.enabled = true;
	look02.enabled = true;
	charController.enabled = true;
	}
}
	if(Menu == true)
	{
	look01.enabled = false;
	look02.enabled = false;
	charController.enabled = false;
	}
}
		if (Input.GetKeyDown(KeyCode.E))
		{
		Menu = true;
}

you are ending your functions early and adding extra brackets. Here is a update of your code without the extra brackets:

function Update () 
{
    if(Menu == false)
    {
      look01.enabled = true;
      look02.enabled = true;
      charController.enabled = true;
    }
//} NOT NEEDED
    if(Menu == true)
    {
      look01.enabled = false;
      look02.enabled = false;
      charController.enabled = false;
    }
//} NOT NEEDED
    if (Input.GetKeyDown(KeyCode.E))
    {
      Menu = true;
    }
    //New one needed here
}

Im not sure if you are doing this or not, but its always a good idea to keep your formating, indent the code in between the { } so you can see what they exactly contain and if you have any extra brackets or not