SYNC_RATE:Connect(function()for Y,Q in ipairs(ActiveHitboxes)do if Q.deleted then Handler:remove(Q.object)else for Y,J in ipairs(Q.points)do if not Q.active then J.LastPosition=nil else local Y,p,H=J.solver:solve(J,((game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")):WaitForChild("\067\108\105\101\110\116\083\101\116\116\105\110\103\115")).Debug.Value)local V=workspace:Raycast(Y,p,Q.raycastParams)J.solver:lastPosition(J,H)if V then local Y=V.Instance local p=not Q.partMode and Y:FindFirstAncestorOfClass("\077\111\100\101\108")local H=p and p:FindFirstChildOfClass("\072\117\109\097\110\111\105\100")local n=H or Q.partMode and Y if n and not Q.targetsHit[n]then Q.targetsHit[n]=true Q.OnHit:Fire(Y,H,V,J.group)end end if Q.endTime>0 then if Q.endTime<=clock()then Q.endTime=0 Q:HitStop()end end Q.OnUpdate:Fire(J.LastPosition)end end end end end)return Handler

SYNC_RATE:Connect(function()
	for Index, Object in ipairs(ActiveHitboxes) do
		if Object.deleted then
			Handler:remove(Object.object)
		else
			for _, Point in ipairs(Object.points) do
				if not Object.active then
					Point.LastPosition = nil
				else
					local rayStart, rayDir, RelativePointToWorld = Point.solver:solve(Point, game:GetService("ReplicatedStorage"):WaitForChild("ClientSettings").Debug.Value)
					local raycastResult = workspace:Raycast(rayStart, rayDir, Object.raycastParams)
					Point.solver:lastPosition(Point, RelativePointToWorld)

					if raycastResult then
						local hitPart = raycastResult.Instance
						local findModel = not Object.partMode and hitPart:FindFirstAncestorOfClass("Model")
						local humanoid = findModel and findModel:FindFirstChildOfClass("Humanoid")
						local target = humanoid or (Object.partMode and hitPart)

						if target and not Object.targetsHit[target] then
							Object.targetsHit[target] = true
							Object.OnHit:Fire(hitPart, humanoid, raycastResult, Point.group)
						end
					end
					
					if Object.endTime > 0 then
						if Object.endTime <= clock() then
							Object.endTime = 0
							Object:HitStop()
						end
					end
					
					Object.OnUpdate:Fire(Point.LastPosition)
				end
			end
		end
	end
end)

return Handler
