0% found this document useful (0 votes)
202 views13 pages

CB Kill All & AimBot

The document describes the initialization of a GUI interface in Roblox using Lua. It creates various frames, labels, and buttons to display information and handle interactions like toggling ESP and aimbot features. Key parts include creating a screen GUI, frames for an opening menu and main window, and buttons/labels for controls and status updates.

Uploaded by

Tugra Zorlu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
202 views13 pages

CB Kill All & AimBot

The document describes the initialization of a GUI interface in Roblox using Lua. It creates various frames, labels, and buttons to display information and handle interactions like toggling ESP and aimbot features. Key parts include creating a screen GUI, frames for an opening menu and main window, and buttons/labels for controls and status updates.

Uploaded by

Tugra Zorlu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 13

-- Farewell Infortality.

-- Version: 2.82
-- Instances:
local ScreenGui = Instance.new("ScreenGui")
local OpenGUI = Instance.new("Frame")
local Open = Instance.new("TextButton")
local MainGUI = Instance.new("Frame")
local TextLabel = Instance.new("TextLabel")
local KillAll = Instance.new("TextButton")
local Close = Instance.new("TextButton")
--Properties:
ScreenGui.Parent = game.CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

OpenGUI.Name = "OpenGUI"
OpenGUI.Parent = ScreenGui
OpenGUI.BackgroundColor3 = Color3.new(1, 1, 1)
OpenGUI.Position = UDim2.new(0, 0, 0.492024541, 0)
OpenGUI.Size = UDim2.new(0, 100, 0, 28)

Open.Name = "Open"
Open.Parent = OpenGUI
Open.BackgroundColor3 = Color3.new(0.333333, 1, 1)
Open.Size = UDim2.new(0, 100, 0, 28)
Open.Font = Enum.Font.SourceSans
Open.Text = "Open"
Open.TextColor3 = Color3.new(0, 0, 0)
Open.TextSize = 14
Open.MouseButton1Down:connect(function()
MainGUI.Visible = true
end)

MainGUI.Name = "MainGUI"
MainGUI.Parent = ScreenGui
MainGUI.BackgroundColor3 = Color3.new(0, 1, 1)
MainGUI.Position = UDim2.new(0.100769229, 0, 0.163992867, 0)
MainGUI.Size = UDim2.new(0, 112, 0, 85)
MainGUI.Draggable = true

TextLabel.Parent = MainGUI
TextLabel.BackgroundColor3 = Color3.new(0.666667, 1, 1)
TextLabel.Position = UDim2.new(0, 0, 0.0941176564, 0)
TextLabel.Size = UDim2.new(0, 112, 0, 28)
TextLabel.Font = Enum.Font.SourceSans
TextLabel.Text = "CBRO Kill all"
TextLabel.TextColor3 = Color3.new(0, 0, 0)
TextLabel.TextSize = 14

KillAll.Name = "Kill All"


KillAll.Parent = MainGUI
KillAll.BackgroundColor3 = Color3.new(0.666667, 1, 1)
KillAll.Position = UDim2.new(0, 0, 0.505882382, 0)
KillAll.Size = UDim2.new(0, 112, 0, 35)
KillAll.Font = Enum.Font.SourceSans
KillAll.Text = "Kill All"
KillAll.TextColor3 = Color3.new(0, 0, 0)
KillAll.TextSize = 14
KillAll.MouseButton1Down:connect(function()
local Remote = game.ReplicatedStorage.Events['HitPart']
for _,v in pairs(game:GetService"Players":GetChildren()) do
if v.Team ~= game.Players.LocalPlayer.Team then
if v.Character and v.Character.Head then
local Arguments = {
[1] = workspace[v.Name].Head,
[2] = workspace[v.Name].Head.Position,
[3] = workspace[game.Players.LocalPlayer.Name].EquippedTool.Value,
[4] = math.rad(1,100000),
[5] = workspace[game.Players.LocalPlayer.Name].Gun,
[8] = 8, --damage multiplier
[9] = false,
[10] = false,
[11] = Vector3.new(),
[12] = math.rad(1,100000),
[13] = Vector3.new()
}

Remote:FireServer(unpack(Arguments))
end
end
end
end)

Close.Name = "Close"
Close.Parent = MainGUI
Close.BackgroundColor3 = Color3.new(0.333333, 1, 1)
Close.Position = UDim2.new(-1.16964281, 0, 1.78145063, 0)
Close.Size = UDim2.new(0, 100, 0, 23)
Close.Font = Enum.Font.SourceSans
Close.Text = "Close"
Close.TextColor3 = Color3.new(0, 0, 0)
Close.TextSize = 14
Close.MouseButton1Down:connect(function()
MainGUI.Visible = false

pcall(function()
local espcolor = Color3.fromRGB(140, 69, 102)
local wallhack_esp_transparency = .4
local gui_hide_button = {Enum.KeyCode.LeftControl, "h"}
local plrs = game:GetService("Players")
local lplr = game:GetService("Players").LocalPlayer
local TeamBased = true ; local teambasedswitch = "o"
local presskeytoaim = true; local aimkey = "e"
aimbothider = false; aimbothiderspeed = .5
local Aim_Assist = false ; Aim_Assist_Key = {Enum.KeyCode.LeftControl, "z"}
local espupdatetime = 5; autoesp = false
local abs = math.abs
local mouselock = false
local canaimat = true
local lockaim = true; local lockangle = 5
local ver = "2"
local cam = game.Workspace.CurrentCamera
local BetterDeathCount = true

local mouse = lplr:GetMouse()


local switch = false
local key = "k"
local aimatpart = nil

local Gui = Instance.new("ScreenGui")


local Move = Instance.new("Frame")
local Main = Instance.new("Frame")
local EspStatus = Instance.new("TextLabel")
local st1 = Instance.new("TextLabel")
local st1_2 = Instance.new("TextLabel")
local st1_3 = Instance.new("TextLabel")
local Name = Instance.new("TextLabel")
--Properties:

Gui.Parent = plrs.LocalPlayer:WaitForChild("PlayerGui")

local gotstring = 0
local function getrandomstring()
gotstring = gotstring+666
local str = ""
local randomstring = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k",
"l", "m", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",

"а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","о","п","р","с","т","у","ф"
,"х","ч","щ","ъ","ы","ъ","э","ю","я", "`", "$",
"0","1","2","3","4","5","6","7","8","9", }
local counting123 = 0
for i, v in ipairs(randomstring) do
counting123 = i
end
do
math.randomseed(tick()+gotstring)
for i = 3, math.random(1,100) do
math.randomseed(i+tick()+gotstring)

local oneortwo = math.random(1,2)


if oneortwo == 2 then
math.randomseed(i+tick()+gotstring)
str = str..""..randomstring[math.random(1,
counting123)]
else
math.randomseed(i+tick()+gotstring)
str =
str..""..string.upper(randomstring[math.random(1, counting123)])
end

end
end
return str
end
local mousedown = false
local isonmovething = false
local mouseoffset = Vector2.new()
local mousedown = false
Gui.Name = getrandomstring()

Move.Name = getrandomstring()
Move.Draggable = true
Move.Parent = Gui
Move.BackgroundColor3 = Color3.new(0.0431373, 1, 0.0745098)
Move.BackgroundTransparency = 0.40000000596046
Move.BorderSizePixel = 0
Move.Position = UDim2.new(0.5, 0,0.018, 0)
Move.Size = UDim2.new(0.2, 0, 0.0320388414, 0)

Move.MouseEnter:Connect(function()

isonmovething = true

end)
Move.MouseLeave:Connect(function()

isonmovething = mousedown and true or false


end)
mouse.Button1Down:connect(function()
mousedown = true
mouseoffset = Move.AbsolutePosition - Vector2.new(mouse.X, mouse.Y)
end)
mouse.Button1Up:connect(function()
mousedown = false
end)

mouse.Move:Connect(function()
if isonmovething == true and mousedown then
Move.Position = UDim2.new(0, mouseoffset.X + mouse.X, 0, mouseoffset.Y
+ mouse.Y)
end
end)

Main.Name = getrandomstring()
Main.Parent = Move
Main.BackgroundColor3 = Color3.new(0.176471, 0.176471, 0.176471)
Main.BackgroundTransparency = 0.69999998807907
Main.Position = UDim2.new(0, 0, 0.995670795, 0)
Main.Size = UDim2.new(1.0000006, 0, 11.2, 0)

EspStatus.Name = getrandomstring()
EspStatus.Parent = Main
EspStatus.BackgroundColor3 = Color3.new(1, 1, 1)
EspStatus.BackgroundTransparency = 1
EspStatus.Size = UDim2.new(0.272955924, 0, 0.161862016, 0)
EspStatus.Font = Enum.Font.ArialBold
EspStatus.Text = "Press T to update Esp"
EspStatus.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
EspStatus.TextScaled = true
EspStatus.TextSize = 14
EspStatus.TextWrapped = true

st1.Name = getrandomstring()
st1.Parent = Main
st1.BackgroundColor3 = Color3.new(1, 1, 1)
st1.BackgroundTransparency = 1
st1.Position = UDim2.new(0.271787882, 0, 0, 0)
st1.Size = UDim2.new(0.728211343, 0, 0.161862016, 0)
st1.Font = Enum.Font.ArialBold
st1.Text = "Press "..aimkey.." to lock on a person inside ur view"
st1.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
st1.TextScaled = true
st1.TextSize = 14
st1.TextWrapped = true

st1_2.Name = getrandomstring()
st1_2.Parent = Main
st1_2.BackgroundColor3 = Color3.new(1, 1, 1)
st1_2.BackgroundTransparency = 1
st1_2.Position = UDim2.new(0, 0, 0.375590861, 0)
st1_2.Size = UDim2.new(0.999999881, 0, 0.161862016, 0)
st1_2.Font = Enum.Font.ArialBold
st1_2.Text = "Press L to enable esp loop. Press Y to disable/enable aimbot hider"
st1_2.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
st1_2.TextScaled = true
st1_2.TextSize = 14
st1_2.TextWrapped = true

local aimbothiderbox = Instance.new("TextBox")


aimbothiderbox.Name = getrandomstring()
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).." off"
aimbothiderbox.Size = UDim2.new(1, 0,0.162, 0)
aimbothiderbox.TextScaled = true
aimbothiderbox.TextColor3 =Color3.fromRGB(255, 0, 0)
aimbothiderbox.Position = UDim2.new(0, 0,0.853, 0)
aimbothiderbox.BackgroundTransparency = 1
aimbothiderbox.Parent = Main

st1_3.Name = getrandomstring()
st1_3.Parent = Main
st1_3.BackgroundColor3 = Color3.new(1, 1, 1)
st1_3.BackgroundTransparency = 1
st1_3.Position = UDim2.new(0, 0, 0.18558608, 0)
st1_3.Size = UDim2.new(0.999999881, 0, 0.161862016, 0)
st1_3.Font = Enum.Font.ArialBold
st1_3.Text = "Press O to change team based mode"
st1_3.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
st1_3.TextScaled = true
st1_3.TextSize = 14
st1_3.TextWrapped = true
local teambasedstatus = st1_3:Clone()
teambasedstatus.Parent = Main
teambasedstatus.TextScaled = true
teambasedstatus.Position = UDim2.new(0, 0,.7, 0)
teambasedstatus.Size = UDim2.new(1, 0,.1, 0)
teambasedstatus.Name = getrandomstring()
teambasedstatus.Text = "Team Based: "..tostring(TeamBased)
local espstatustext = teambasedstatus:Clone()
espstatustext.Name = getrandomstring()
espstatustext.Position = UDim2.new(0, 0,0.58, 0)
espstatustext.Text = "Esp loop :"..tostring(autoesp)
espstatustext.Parent = Main
local hide = Instance.new("TextButton")
hide.Text = "_"
hide.BackgroundTransparency = 1
hide.TextScaled = true
hide.TextWrapped = true
hide.Size = UDim2.new(0.1, 0,1, 0)
hide.Position = UDim2.new(0.9, 0,-0.15, 0)
hide.Name = getrandomstring()
hide.Parent = Move
Name.Name = getrandomstring()
Name.Parent = Move
Name.BackgroundColor3 = Color3.new(1, 1, 1)
Name.BackgroundTransparency = 1
Name.Size = UDim2.new(0.838, 0, 1, 0)
Name.Font = Enum.Font.Arial
Name.Text = "FPS gui v"..ver
Name.TextColor3 = Color3.new(0, 0, 0)
Name.TextScaled = true
Name.TextSize = 14
Name.TextWrapped = true
Name.TextXAlignment = Enum.TextXAlignment.Left
local scr = Instance.new("ScrollingFrame")
scr.Size = Main.Size
scr.Position = Main.Position
scr.ScrollBarThickness = 0
scr.BackgroundTransparency = 1
scr.Name = getrandomstring()
Main.Size = UDim2.new(1, 0, 1, 0)
Main.Position = UDim2.new(0,0,0,0)
Main.Parent = scr
scr.Parent = Move
startpos = Main.Position
Move.Active = true

-- Scripts:
hided = false
hide.MouseButton1Click:Connect(function()
if hided == false then
hided = true
Main:TweenPosition(UDim2.new(0, 0, -1.5, 0))
else
hided = false
Main:TweenPosition(startpos)
end
end)

aimbothiderbox.FocusLost:Connect(function()
local numb = tonumber(aimbothiderbox.Text)
if aimbothider == true then
aimbothiderbox.TextColor3 =Color3.fromRGB(11, 255, 19)
else
aimbothiderbox.TextColor3 =Color3.fromRGB(255, 0, 0)
end
if numb ~= nil then
aimbothiderspeed = numb
if aimbothider == true then
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
on"
else
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
off"
end
else
if aimbothider == true then
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
on"
else
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
off"
end
end
end)

local plrsforaim = {}

Move.Draggable = true
Gui.ResetOnSpawn = false
--Gui.Name = "Chat"
Gui.DisplayOrder = 999
if not game:GetService("CoreGui") then
Gui.Parent = plrs.LocalPlayer.PlayerGui
else
Gui.Parent = game:GetService("CoreGui")
end

f = {}
local espforlder

f.addesp = function()
--print("ESP ran")
if espforlder then
else
espforlder = Instance.new("Folder")
espforlder.Parent = game.Workspace.CurrentCamera
end
for i, v in pairs(espforlder:GetChildren()) do
v:Destroy()
end
for _, plr in pairs(plrs:GetChildren()) do
if plr.Character and plr.Character.Humanoid.Health > 0 and plr.Name ~=
lplr.Name then
if TeamBased == true then
if plr.Team.Name ~= plrs.LocalPlayer.Team.Name then
local e = espforlder:FindFirstChild(plr.Name)
if not e then
--print("Added esp for team based")
local bill = Instance.new("BillboardGui",
espforlder)
bill.Name = plr.Name
bill.AlwaysOnTop = true
bill.Size = UDim2.new(1,0,1,0)
bill.Adornee = plr.Character.Head
local Frame = Instance.new('Frame',bill)
Frame.Active = true
Frame.BackgroundColor3 = Color3.new(0.541176,
0.168627, 0.886275)
Frame.BackgroundTransparency = 0
Frame.BorderSizePixel = 0
Frame.AnchorPoint = Vector2.new(.5, .5)
Frame.Position = UDim2.new (0.5,0,0.5,0)
Frame.Size = UDim2.new (1,0,1,0)
Frame.Rotation = 0
plr.Character.Humanoid.Died:Connect(function()
bill:Destroy()
end)
end
end
else
local e = espforlder:FindFirstChild(plr.Name)
if not e then
--print("Added esp")
local bill = Instance.new("BillboardGui", espforlder)
bill.Name = plr.Name
bill.AlwaysOnTop = true
bill.Size = UDim2.new(1,0,1,0)
bill.Adornee = plr.Character.Head
local Frame = Instance.new('Frame',bill)
Frame.Active = true
Frame.BackgroundColor3 = Color3.new(0.541176,
0.168627, 0.886275)
Frame.BackgroundTransparency = 0
Frame.BorderSizePixel = 0
Frame.AnchorPoint = Vector2.new(.5, .5)
Frame.Position = UDim2.new (0.5,0,0.5,0)
Frame.Size = UDim2.new (1,0,1,0)
Frame.Rotation = 0
plr.Character.Humanoid.Died:Connect(function()
bill:Destroy()
end)
end
end

end
end
end
local uis = game:GetService("UserInputService")
local bringall = false
local hided2 = false
mouse.KeyDown:Connect(function(a)
if a == "t" then
--print("worked1")
f.addesp()
elseif a == gui_hide_button[2] and uis:IsKeyDown(gui_hide_button[1]) then
if hided2 == false then
hided2 = true
autoesp =false
if espforlder then
espforlder:Destroy()
end
Gui.Enabled = false
else
Gui.Enabled = true
hided2 = false
end
elseif a == "u" then
if mouselock == false then
mouselock = true
else
mouselock = false
end
elseif a == "y" then
if aimbothider == false then
aimbothider = true
if aimbothider == true then
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
on"
else
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
off"
end
else

aimbothider = false
if aimbothider == true then
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
on"
else
aimbothiderbox.Text = "Speed :"..tostring(aimbothiderspeed).."
off"
end
end
if aimbothider == true then
aimbothiderbox.TextColor3 =Color3.fromRGB(11, 255, 19)
else
aimbothiderbox.TextColor3 =Color3.fromRGB(255, 0, 0)
end
elseif a == "l" then
if autoesp == false then
autoesp = true
else
autoesp = false
end
elseif a == Aim_Assist_Key[2] and uis:IsKeyDown(Aim_Assist_Key[1]) then
if Aim_Assist == true then
Aim_Assist = false
--print("disabled")
else
Aim_Assist = true
end
end
if a == "j" then
if mouse.Target then
mouse.Target:Destroy()
end
end
if a == key then
if switch == false then
switch = true
else
switch = false
if aimatpart ~= nil then
aimatpart = nil
end
end
elseif a == teambasedswitch then
if TeamBased == true then
TeamBased = false
teambasedstatus.Text = "Team Based: "..tostring(TeamBased)
else
TeamBased = true
teambasedstatus.Text = "Team Based: "..tostring(TeamBased)
end
elseif a == aimkey then
if not aimatpart then
local maxangle = math.rad(20)
for i, plr in pairs(plrs:GetChildren()) do
if plr.Name ~= lplr.Name and plr.Character and
plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1
then
if TeamBased == true then
if plr.Team.Name ~= lplr.Team.Name then
local an = checkfov(plr.Character.Head)
if an < maxangle then
maxangle = an
aimatpart = plr.Character.Head
end
end
else
local an = checkfov(plr.Character.Head)
if an < maxangle then
maxangle = an
aimatpart = plr.Character.Head
end
--print(plr)
end
local old = aimatpart
plr.Character.Humanoid.Died:Connect(function()
--print("died")
if aimatpart and aimatpart == old then
aimatpart = nil
end
end)

end
end
else
aimatpart = nil
canaimat = false
delay(1.1, function()
canaimat = true
end)
end
end
end)

function getfovxyz (p0, p1, deg)


local x1, y1, z1 = p0:ToOrientation()
local cf = CFrame.new(p0.p, p1.p)
local x2, y2, z2 = cf:ToOrientation()
local d = math.deg
if deg then
return Vector3.new(d(x1-x2), d(y1-y2), d(z1-z2))
else
return Vector3.new((x1-x2), (y1-y2), (z1-z2))
end
end

function aimat(part)
if part then
if aimbothider == true or Aim_Assist == true then
cam.CFrame = cam.CFrame:Lerp(CFrame.new(cam.CFrame.p,
part.CFrame.p), aimbothiderspeed)
else

cam.CFrame = CFrame.new(cam.CFrame.p, part.CFrame.p)


end
end
end
function checkfov (part)
local fov = getfovxyz(game.Workspace.CurrentCamera.CFrame, part.CFrame)
local angle = math.abs(fov.X) + math.abs(fov.Y)
return angle
end
pcall(function()
delay(0, function()
while wait(.4) do
if Aim_Assist and not aimatpart and canaimat and lplr.Character
and lplr.Character.Humanoid and lplr.Character.Humanoid.Health > 0 then
for i, plr in pairs(plrs:GetChildren()) do

local minangle = math.rad(5.5)


local lastpart = nil
local function gg(plr)
pcall(function()
if plr.Name ~= lplr.Name and
plr.Character and plr.Character.Humanoid and plr.Character.Humanoid.Health > 0 and
plr.Character.Head then
local raycasted = false
local cf1 =
CFrame.new(cam.CFrame.p, plr.Character.Head.CFrame.p) * CFrame.new(0, 0, -4)
local r1 = Ray.new(cf1.p,
cf1.LookVector * 9000)
local obj, pos =
game.Workspace:FindPartOnRayWithIgnoreList(r1, {lplr.Character.Head})
local dist =
(plr.Character.Head.CFrame.p- pos).magnitude
if dist < 4 then
raycasted = true
end
if raycasted == true then
local an1 =
getfovxyz(cam.CFrame, plr.Character.Head.CFrame)
local an = abs(an1.X) +
abs(an1.Y)
if an < minangle then
minangle = an
lastpart =
plr.Character.Head
end
end
end
end)
end
if TeamBased then
if plr.Team.Name ~= lplr.Team.Name then
gg(plr)
end
else
gg(plr)
end
--print(math.deg(minangle))
if lastpart then
aimatpart = lastpart

aimatpart.Parent.Humanoid.Died:Connect(function()
if aimatpart == lastpart then
aimatpart = nil
end
end)

end
end
end
end
end)
end)
local oldheadpos
local lastaimapart
game:GetService("RunService").RenderStepped:Connect(function()
espstatustext.Text = "Esp loop :"..tostring(autoesp)
if aimatpart and lplr.Character and lplr.Character.Head then
if BetterDeathCount and lastaimapart and lastaimapart == aimatpart then
local dist = (oldheadpos - aimatpart.CFrame.p).magnitude
if dist > 40 then
aimatpart = nil
end
end
lastaimapart = aimatpart
oldheadpos = lastaimapart.CFrame.p
do
if aimatpart.Parent == plrs.LocalPlayer.Character then
aimatpart = nil
end
aimat(aimatpart)
pcall(function()
if Aim_Assist == true then
local cf1 = CFrame.new(cam.CFrame.p,
aimatpart.CFrame.p) * CFrame.new(0, 0, -4)
local r1 = Ray.new(cf1.p, cf1.LookVector * 1000)
local obj, pos =
game.Workspace:FindPartOnRayWithIgnoreList(r1, {lplr.Character.Head})
local dist = (aimatpart.CFrame.p- pos).magnitude
if obj then
--print(obj:GetFullName())
end
if not obj or dist > 6 then
aimatpart = nil
--print("ooof")
end
canaimat = false
delay(.5, function()
canaimat = true
end)
end
end)
end

end
end)
delay(0, function()
while wait(espupdatetime) do
if autoesp == true then
pcall(function()
f.addesp()
end)
end
end
end)
--warn("loaded")
end)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy