--// Input Connections
L_104_.InputBegan:connect(function(L_308_arg1, L_309_arg2)
	if not L_309_arg2 and L_15_ then
		if L_308_arg1.UserInputType == (Enum.UserInputType.MouseButton2 or L_308_arg1.KeyCode == Enum.KeyCode.ButtonL2) and not L_76_ and not L_75_ and not L_74_ and L_24_.CanAim and not L_71_ and L_15_ and not L_63_ and not L_64_ then
			if not L_61_ then
				if not L_62_ then
					L_3_.Humanoid.WalkSpeed = 10
					L_152_ = 10
					L_151_ = 0.008
				end
				
				if (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude <= 2 then
					L_94_ = L_50_
				end
				L_130_.target = L_53_.CFrame:toObjectSpace(L_44_.CFrame).p
				L_112_:FireServer(true)				
				L_61_ = true
			end
		end;
		
		if L_308_arg1.KeyCode == Enum.KeyCode.E and L_15_ and not L_77_ and not L_78_ then
			L_77_ = true
			L_79_ = false
			L_78_ = true
			LeanRight()
		end
		
		if L_308_arg1.KeyCode == Enum.KeyCode.Q and L_15_ and not L_77_ and not L_79_ then
			L_77_ = true
			L_78_ = false
			L_79_ = true
			LeanLeft()
		end
		
		if L_308_arg1.KeyCode == L_24_.AlternateAimKey and not L_76_ and not L_75_ and not L_74_ and L_24_.CanAim and not L_71_ and L_15_ and not L_63_ and not L_64_ then
			if not L_61_ then
				if not L_62_ then
					L_3_.Humanoid.WalkSpeed = 10
					L_152_ = 10
					L_151_ = 0.008
				end
				L_94_ = L_50_
				L_130_.target = L_53_.CFrame:toObjectSpace(L_44_.CFrame).p
				L_112_:FireServer(true)
				L_61_ = true
			end
		end;
		
		if L_308_arg1.UserInputType == (Enum.UserInputType.MouseButton1 or L_308_arg1.KeyCode == Enum.KeyCode.ButtonR2) and not L_76_ and not L_74_ and L_66_ and L_15_ and not L_63_ and not L_64_ and not L_71_ then
			L_65_ = true
			if not Shooting and L_15_ and not L_80_ then
				if L_100_ > 0 then			
					Shoot()
				end
			elseif not Shooting and L_15_ and L_80_ then
				if L_102_ > 0 then
					Shoot()
				end
			end
		end;
		
		if L_308_arg1.KeyCode == (L_24_.LaserKey or L_308_arg1.KeyCode == Enum.KeyCode.DPadRight) and L_15_ and L_24_.LaserAttached then
			local L_310_ = L_1_:FindFirstChild("LaserLight")
			L_119_.KeyDown[1].Plugin()
		end;
		
		if L_308_arg1.KeyCode == (L_24_.LightKey or L_308_arg1.KeyCode == Enum.KeyCode.ButtonR3) and L_15_ and L_24_.LightAttached then
			local L_311_ = L_1_:FindFirstChild("FlashLight"):FindFirstChild('Light')
			local L_312_ = false
			L_311_.Enabled = not L_311_.Enabled
		end;
		
		if L_15_ and L_308_arg1.KeyCode == (L_24_.FireSelectKey or L_308_arg1.KeyCode == Enum.KeyCode.DPadUp) and not L_76_ and not L_67_ and not L_75_ then
			L_67_ = true
			if L_89_ == 1 then
				if Shooting then
					Shooting = false
				end
				if L_24_.AutoEnabled then
					L_89_ = 2
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_89_ = 3
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and L_24_.BoltAction then
					L_89_ = 4
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_89_ = 6
					L_80_ = true
					L_81_ = L_66_
					L_66_ = L_82_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.ExplosiveEnabled then
					L_89_ = 1
					L_80_ = false
					L_66_ = L_81_
				end
			elseif L_89_ == 2 then
				if Shooting then
					Shooting = false
				end
				if L_24_.BurstEnabled then
					L_89_ = 3
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.BurstEnabled and L_24_.BoltAction then
					L_89_ = 4
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_89_ = 6
					L_80_ = true
					L_81_ = L_66_
					L_66_ = L_82_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_89_ = 1
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.SemiEnabled then
					L_89_ = 2
					L_80_ = false
					L_66_ = L_81_
				end
			elseif L_89_ == 3 then
				if Shooting then
					Shooting = false
				end
				if L_24_.BoltAction then
					L_89_ = 4
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_89_ = 6
					L_80_ = true
					L_81_ = L_66_
					L_66_ = L_82_
				elseif not L_24_.BoltAction and not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_89_ = 1
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.BoltAction and not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_89_ = 2
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.BoltAction and not L_24_.SemiEnabled and not L_24_.AutoEnabled then
					L_89_ = 3
					L_80_ = false
					L_66_ = L_81_
				end
			elseif L_89_ == 4 then
				if Shooting then
					Shooting = false
				end
				if L_24_.ExplosiveEnabled then
					L_89_ = 6
					L_80_ = true
					L_81_ = L_66_
					L_66_ = L_82_
				elseif not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_89_ = 1
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_89_ = 2
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_89_ = 3
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled then
					L_89_ = 4
					L_80_ = false
					L_66_ = L_81_
				end
			elseif L_89_ == 6 then
				if Shooting then
					Shooting = false
				end
				L_82_ = L_66_
				if L_24_.SemiEnabled then
					L_89_ = 1
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_89_ = 2
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_89_ = 3
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled and L_24_.BoltAction then
					L_89_ = 4
					L_80_ = false
					L_66_ = L_81_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction then
					L_89_ = 6
					L_80_ = true
					L_81_ = L_66_
					L_66_ = L_82_
				end
			end
			UpdateAmmo()
			FireModeAnim()
			IdleAnim()
			L_67_ = false
		end;
		
		if L_308_arg1.KeyCode == (Enum.KeyCode.F or L_308_arg1.KeyCode == Enum.KeyCode.DPadDown) and not L_76_ and not L_74_ and not L_75_ and not L_64_ and not L_67_ and not L_61_ and not L_63_ and not Shooting and not L_73_ then			
			if not L_70_ and not L_71_ then
				L_71_ = true
				Shooting = false
				L_66_ = false
				L_132_ = time()
				delay(0.6, function()
					if L_100_ ~= L_24_.Ammo and L_100_ > 0 then
						CreateShell()
					end
				end)	
				BoltBackAnim()
				L_70_ = true
			elseif L_70_ and L_71_ then
				BoltForwardAnim()
				Shooting = false
				L_66_ = true
				if L_100_ ~= L_24_.Ammo and L_100_ > 0 then
					L_100_ = L_100_ - 1
				elseif L_100_ >= L_24_.Ammo then
					L_66_ = true
				end						
				L_70_ = false
				L_71_ = false
				IdleAnim()
				L_72_ = false
			end
			UpdateAmmo()
		end;
		
		if L_308_arg1.KeyCode == (Enum.KeyCode.LeftShift or L_308_arg1.KeyCode == Enum.KeyCode.ButtonL3) and not L_75_ and not L_74_ and L_143_ then
			L_68_ = true
			if L_15_ and not L_67_ and not L_64_ and L_68_ and not L_62_ and not L_71_ then
				Shooting = false
				L_61_ = false
				L_64_ = true
						
				delay(0, function()
					if L_64_ and not L_63_ then
						L_61_ = false
						L_69_ = true
					end
				end)
				L_94_ = 80
				L_3_.Humanoid.WalkSpeed = L_24_.SprintSpeed
				L_152_ = L_24_.SprintSpeed
				L_151_ = 0.4
			end
		end;
		
		if L_308_arg1.KeyCode == (Enum.KeyCode.R or L_308_arg1.KeyCode == Enum.KeyCode.ButtonX) and not L_76_ and not L_75_ and not L_74_ and L_15_ and not L_63_ and not L_61_ and not Shooting and not L_64_ and not L_71_ then		
			if not L_80_ then			
				if L_101_ > 0 and L_100_ < L_24_.Ammo then
					Shooting = false
					L_63_ = true
					
					for L_313_forvar1, L_314_forvar2 in pairs(game.Players:GetChildren()) do
						if L_314_forvar2 and L_314_forvar2 ~= L_2_ and L_314_forvar2.TeamColor == L_2_.TeamColor then
							if (L_314_forvar2.Character.HumanoidRootPart.Position - L_3_.HumanoidRootPart.Position).magnitude  <= 150 then
								if L_7_:FindFirstChild('AHH') and not L_7_.AHH.IsPlaying then
									L_116_:FireServer(L_7_.AHH, L_97_[math.random(0, 23)])
								end
							end
						end
					end
					
					ReloadAnim()
					if L_100_ <= 0 then
						if not L_24_.CanSlideLock then
							BoltBackAnim()
							BoltForwardAnim()
						end
					end
					IdleAnim()
					L_66_ = true
					
					if L_100_ <= 0 then
						if (L_101_ - (L_24_.Ammo - L_100_)) < 0 then
							L_100_ = L_100_ + L_101_
							L_101_ = 0
						else
							L_101_ = L_101_ - (L_24_.Ammo - L_100_)
							L_100_ = L_24_.Ammo
						end
					elseif L_100_ > 0 then
						if (L_101_ - (L_24_.Ammo - L_100_)) < 0 then
							L_100_ = L_100_ + L_101_ + 1
							L_101_ = 0
						else
							L_101_ = L_101_ - (L_24_.Ammo - L_100_)
							L_100_ = L_24_.Ammo + 1
						end
					end
	
					L_63_ = false
					if not L_72_ then
						L_66_ = true
					end
				end;
			elseif L_80_ then
				if L_102_ > 0 then
					Shooting = false
					L_63_ = true
					nadeReload()
					IdleAnim()
					L_63_ = false
					L_66_ = true
				end
			end;
			UpdateAmmo()
		end;
		
		if L_308_arg1.KeyCode == Enum.KeyCode.RightBracket and L_61_ then
			if (L_51_ < 1) then
				L_51_ = L_51_ + L_24_.SensitivityIncrement
			end
		end
		
		if L_308_arg1.KeyCode == Enum.KeyCode.LeftBracket and L_61_ then
			if (L_51_ > 0.1) then
				L_51_ = L_51_ - L_24_.SensitivityIncrement
			end
		end
		
		if L_308_arg1.KeyCode == (Enum.KeyCode.T or L_308_arg1.KeyCode == Enum.KeyCode.DPadLeft) and L_1_:FindFirstChild("AimPart2") then
			if not L_83_ then
				L_53_ = L_1_:WaitForChild("AimPart2")
				L_50_ = L_24_.CycleAimZoom
				if L_61_ then
					L_94_ = L_24_.CycleAimZoom
				end
				L_83_ = true
			else
				L_53_ = L_1_:FindFirstChild("AimPart")
				L_50_ = L_24_.AimZoom
				if L_61_ then
					L_94_ = L_24_.AimZoom
				end
				L_83_ = false
			end;
		end;
		
		if L_308_arg1.KeyCode == L_24_.InspectionKey and not L_76_ and not L_75_ then
			if not L_74_ then
				L_74_ = true
				InspectAnim()
				IdleAnim()
				L_74_ = false
			end
		end;
		
		if L_308_arg1.KeyCode == L_24_.AttachmentKey and not L_76_ and not L_74_ then
			if L_15_ then
				if not L_75_ then
					L_64_ = false
					L_61_ = false
					L_66_ = false
					L_75_ = true
					
					AttachAnim()
				elseif L_75_ then
					L_64_ = false
					L_61_ = false
					L_66_ = true
					L_75_ = false
					
					IdleAnim()
				end
			end
		end;
			
		if L_308_arg1.KeyCode == Enum.KeyCode.P and not L_74_ and not L_75_ and not L_61_ and not L_64_ and not L_62_ and not L_63_ and not Recoiling and not L_64_ then
			if not L_76_ then
				L_76_ = true
				L_14_:Create(L_45_, TweenInfo.new(0.2), {
					C1 = L_24_.SprintPos
				}):Play()
				wait(0.2)
				L_109_:FireServer("Patrol", L_24_.SprintPos)
			else
				L_76_ = false
				L_14_:Create(L_45_, TweenInfo.new(0.2), {
					C1 = CFrame.new()
				}):Play()
				wait(0.2)
				L_109_:FireServer("Unpatrol")
			end
		end;
	end
end)

L_104_.InputEnded:connect(function(L_315_arg1, L_316_arg2)
	if not L_316_arg2 and L_15_ then
		if L_315_arg1.UserInputType == (Enum.UserInputType.MouseButton2 or L_315_arg1.KeyCode == Enum.KeyCode.ButtonL2) and not L_74_ and L_24_.CanAim and not L_75_ then
			if L_61_ then
				if not L_62_ then
					L_3_.Humanoid.WalkSpeed = 16
					L_152_ = 17
					L_151_ = .25
				end	
				L_94_ = 70
				L_130_.target = Vector3.new()
				L_112_:FireServer(false)
				L_61_ = false
			end
		end;
		
		if L_315_arg1.KeyCode == Enum.KeyCode.E and L_15_ and L_77_ then
			Unlean()		
			L_77_ = false
			L_79_ = false
			L_78_ = false
		end
		
		if L_315_arg1.KeyCode == Enum.KeyCode.Q and L_15_ and L_77_ then
			Unlean()		
			L_77_ = false
			L_79_ = false
			L_78_ = false
		end
		
		if L_315_arg1.KeyCode == L_24_.AlternateAimKey and not L_74_ and L_24_.CanAim then
			if L_61_ then
				if not L_62_ then
					L_3_.Humanoid.WalkSpeed = 16
					L_152_ = 17
					L_151_ = .25
				end	
				L_94_ = 70
				L_130_.target = Vector3.new()
				L_112_:FireServer(false)
				L_61_ = false
			end
		end;
		
		if L_315_arg1.UserInputType == (Enum.UserInputType.MouseButton1 or L_315_arg1.KeyCode == Enum.KeyCode.ButtonR2) and not L_74_ then
			L_65_ = false				
			if Shooting then
				Shooting = false
			end
		end;
		
		if L_315_arg1.KeyCode == Enum.KeyCode.E and L_15_ then
			local L_317_ = L_42_:WaitForChild('GameGui')
			if L_16_ then
				L_317_:WaitForChild('AmmoFrame').Visible = false
				L_16_ = false
			end
		end;
		
		if L_315_arg1.KeyCode == (Enum.KeyCode.LeftShift or L_315_arg1.KeyCode == Enum.KeyCode.ButtonL3) and not L_74_ and not L_67_ and not L_62_ then -- SPRINT
			L_68_ = false
			if L_64_ and not L_61_ and not Shooting and not L_68_ then
				L_64_ = false
				L_69_ = false
				L_94_ = 70
			
				L_3_.Humanoid.WalkSpeed = 16	
				L_152_ = 17
				L_151_ = .25			
			end
		end;
	end
end)

L_104_.InputChanged:connect(function(L_318_arg1, L_319_arg2)
	if not L_319_arg2 and L_15_ and L_24_.FirstPersonOnly and L_61_ then
		if L_318_arg1.UserInputType == Enum.UserInputType.MouseWheel then
			if L_318_arg1.Position.Z == 1 and (L_51_ < 1) then
				L_51_ = L_51_ + L_24_.SensitivityIncrement
			elseif L_318_arg1.Position.Z == -1 and (L_51_ > 0.1) then
				L_51_ = L_51_ - L_24_.SensitivityIncrement
			end
		end
	end
end)

L_104_.InputChanged:connect(function(L_320_arg1, L_321_arg2)
	if not L_321_arg2 and L_15_ then
		local L_322_, L_323_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_53_.CFrame.p, (L_53_.CFrame.lookVector).unit * 10000), IgnoreList);
		if L_322_ then
			local L_324_ = (L_323_ - L_6_.Position).magnitude
			L_33_.Text = math.ceil(L_324_) .. ' m'
		end
	end
end)