-- Decompiled with the Synapse X Luau decompiler.

client = nil;
service = nil;
Routine = nil;
local function u1(p1)
	if p1 then
		return "Yes";
	end;
	return "No";
end;
return function(p2)
	local l__Service__1 = client.Service;
	local l__Target__2 = p2.Target;
	local v3 = client.UI.Make("Window", {
		Name = "Profile_" .. l__Target__2.UserId, 
		Title = "Profile (@" .. l__Target__2.Name .. ")", 
		Icon = client.MatIcons["Account circle"], 
		Size = { 400, 400 }, 
		AllowMultiple = false
	});
	local v4 = v3:Add("TabFrame", {
		Size = UDim2.new(1, -10, 1, -10), 
		Position = UDim2.new(0, 5, 0, 5)
	});
	local v5 = v4:NewTab("General", {
		Text = "General"
	});
	local v6 = v4:NewTab("Friends", {
		Text = "Friends"
	});
	local v7 = v4:NewTab("Groups", {
		Text = "Groups"
	});
	local v8 = v4:NewTab("Game", {
		Text = "Game"
	});
	local v9 = l__Target__2:IsFriendsWith(l__Service__1.Players.LocalPlayer.UserId);
	if l__Target__2 ~= l__Service__1.Players.LocalPlayer then
		local v10 = {
			Text = ""
		};
		if v9 then
			local v11 = "Unfriend";
		else
			v11 = "Add friend";
		end;
		v10.ToolTip = v11;
		if v9 then
			local v12 = function()
				l__Service__1.StarterGui:SetCore("PromptUnfriend", l__Target__2);
			end;
			if not v12 then
				v12 = function()
					l__Service__1.StarterGui:SetCore("PromptSendFriendRequest", l__Target__2);
				end;
			end;
		else
			v12 = function()
				l__Service__1.StarterGui:SetCore("PromptSendFriendRequest", l__Target__2);
			end;
		end;
		v10.OnClick = v12;
		v3:AddTitleButton(v10):Add("ImageLabel", {
			Size = UDim2.new(0, 20, 0, 20), 
			Position = UDim2.new(0, 5, 0, 0), 
			Image = v9 and client.MatIcons["Person remove"] or client.MatIcons["Person add"], 
			BackgroundTransparency = 1
		});
	end;
	local v13 = {
		Text = "", 
		ToolTip = "View avatar"
	};
	function v13.OnClick()
		l__Service__1.GuiService:InspectPlayerFromUserId(l__Target__2.UserId);
	end;
	v3:AddTitleButton(v13):Add("ImageLabel", {
		Size = UDim2.new(0, 18, 0, 18), 
		Position = UDim2.new(0, 6, 0, 1), 
		Image = client.MatIcons["Person search"], 
		BackgroundTransparency = 1
	});
	v5:Add("ImageLabel", {
		Size = UDim2.new(0, 120, 0, 120), 
		Position = UDim2.new(0, 5, 0, 5), 
		Image = l__Service__1.Players:GetUserThumbnailAsync(l__Target__2.UserId, Enum.ThumbnailType.AvatarBust, Enum.ThumbnailSize.Size150x150)
	});
	for v14, v15 in ipairs({ { "Display Name", l__Target__2.DisplayName, "The player's custom display name" }, { "Username", l__Target__2.Name, "The player's unique Roblox username" }, { "User ID", l__Target__2.UserId, "The player's unique Roblox user ID" }, { "Acc. Age", l__Target__2.AccountAge .. " days (" .. string.format("%.2f", l__Target__2.AccountAge / 365) .. " years)", "How long the player has been registered on Roblox" } }) do
		local v16 = {
			Text = "  " .. v15[1] .. ": ", 
			ToolTip = v15[3]
		};
		if v14 % 2 == 0 then
			local v17 = 0;
		else
			v17 = 0.2;
		end;
		v16.BackgroundTransparency = v17;
		v16.Size = UDim2.new(1, -135, 0, 30);
		v16.Position = UDim2.new(0, 130, 0, 30 * (v14 - 1) + 5);
		v16.TextXAlignment = "Left";
		v5:Add("TextLabel", v16):Add("TextLabel", {
			Text = v15[2], 
			BackgroundTransparency = 1, 
			Size = UDim2.new(0, 120, 1, 0), 
			Position = UDim2.new(1, -130, 0, 0), 
			TextXAlignment = "Right"
		});
	end;
	for v18, v19 in ipairs({ { "Membership", l__Target__2.MembershipType.Name, "The player's Roblox membership type (Premium)" }, { "Safe Chat Enabled", p2.SafeChat, "Does the player have safe chat applied?" }, { "Can Chat", p2.CanChatGet[1] and u1(p2.CanChatGet[2]) or "[Error]", "Does the player's account settings allow them to chat?" } }) do
		local v20 = {
			Text = "  " .. v19[1] .. ": ", 
			ToolTip = v19[3]
		};
		if v18 % 2 == 0 then
			local v21 = 0;
		else
			v21 = 0.2;
		end;
		v20.BackgroundTransparency = v21;
		v20.Size = UDim2.new(1, -10, 0, 30);
		v20.Position = UDim2.new(0, 5, 0, 30 * (v18 - 1) + 130);
		v20.TextXAlignment = "Left";
		v5:Add("TextLabel", v20):Add("TextLabel", {
			Text = v19[2], 
			BackgroundTransparency = 1, 
			Size = UDim2.new(0, 120, 1, 0), 
			Position = UDim2.new(1, -130, 0, 0), 
			TextXAlignment = "Right"
		});
	end;
	local v22 = 0;
	local v23 = {};
	local v24 = {};
	local v25 = true;
	if l__Target__2.UserId ~= 1237666 then
		v25 = l__Target__2.UserId == 698712377;
	end;
	v24[1] = v25;
	v24[2] = "Adonis Creator [Sceleratis/Davey_Bones]";
	v24[3] = "rbxassetid://6878433601";
	v24[4] = "You're looking at the creator of the Adonis admin system!";
	v23[1] = { p2.IsServerOwner, "Private Server Owner", client.MatIcons.Grade, "User owns the current private server" };
	v23[2] = { p2.IsDonor, "Adonis Donor", "rbxassetid://6877822142", "User has purchased the Adonis donation pass/shirt" };
	v23[3] = { l__Target__2:GetRankInGroup(886423) == 10, "Adonis Contributor (GitHub)", "rbxassetid://6878433601", "User has contributed to the Adonis admin system (see credit list)" };
	v23[4] = { l__Target__2:GetRankInGroup(886423) >= 12, "Adonis Developer", "rbxassetid://6878433601", "User is an official developer of the Adonis admin system" };
	v23[5] = v24;
	v23[6] = { l__Target__2:IsInGroup(1200769) or l__Target__2:IsInGroup(2868472), "ROBLOX Staff", "rbxassetid://6811962259", "User is an official Roblox employee (!)" };
	v23[7] = { l__Target__2:IsInGroup(3514227), "DevForum Member", "rbxassetid://6383940476", "User is a member of the Roblox Developer Forum" };
	for v26, v27 in ipairs(v23) do
		if v27[1] then
			v5:Add("TextLabel", {
				Size = UDim2.new(1, -10, 0, 30), 
				Position = UDim2.new(0, 5, 0, 32 * v22 + 225), 
				BackgroundTransparency = 0.4, 
				Text = v27[2], 
				ToolTip = v27[4]
			}):Add("ImageLabel", {
				Image = v27[3], 
				BackgroundTransparency = 1, 
				Size = UDim2.new(0, 24, 0, 24), 
				Position = UDim2.new(0, 4, 0, 3)
			});
			v22 = v22 + 1;
		end;
	end;
	v5:ResizeCanvas(false, true, false, false, 5, 5);
	v3:Ready();
	local u2 = function(p3)
		return coroutine.wrap(function()
			local v28 = 1;
			while true do
				for v29, v30 in ipairs(p3:GetCurrentPage()) do
					coroutine.yield(v30, v28);
				end;
				if p3.IsFinished then
					break;
				end;
				p3:AdvanceToNextPageAsync();
				v28 = v28 + 1;			
			end;
		end);
	end;
	local u3 = l__Service__1.Players:GetFriendsAsync(l__Target__2.UserId);
	local u4 = {};
	local u5 = {};
	local u6 = 0;
	local u7 = 0;
	local l__client__8 = client;
	local l__Routine__9 = Routine;
	Routine(function()
		for v31, v32 in u2(u3) do
			table.insert(u4, v31.Username);
			u5[v31.Username] = {
				id = v31.Id, 
				displayName = v31.DisplayName, 
				isOnline = v31.IsOnline
			};
			if v31.IsOnline then
				u6 = u6 + 1;
			end;
			u7 = u7 + 1;
		end;
		table.sort(u4);
		local v33 = v6:Add("TextBox", {
			Size = UDim2.new(1, -10, 0, 25), 
			Position = UDim2.new(0, 5, 0, 5), 
			BackgroundTransparency = 0.5, 
			PlaceholderText = ("Search %d friends (%d online)"):format(u7, u6), 
			Text = "", 
			TextStrokeTransparency = 0.8
		});
		v33:Add("ImageLabel", {
			Image = l__client__8.MatIcons.Search, 
			Position = UDim2.new(1, -21, 0, 3), 
			Size = UDim2.new(0, 18, 0, 18), 
			ImageTransparency = 0.2, 
			BackgroundTransparency = 1
		});
		local u10 = v6:Add("ScrollingFrame", {
			List = {}, 
			ScrollBarThickness = 2, 
			BackgroundTransparency = 1, 
			Position = UDim2.new(0, 5, 0, 35), 
			Size = UDim2.new(1, -10, 1, -40)
		});
		local function v34()
			u10:ClearAllChildren();
			local v35 = 1;
			for v36, v37 in ipairs(u4) do
				local v38 = u5[v37];
				if v37:sub(1, #v33.Text):lower() == v33.Text:lower() or v38.displayName:sub(1, #v33.Text):lower() == v33.Text:lower() then
					if v37 == v38.displayName then
						local v39 = v37;
					else
						v39 = v38.displayName .. " (@" .. v37 .. ")";
					end;
					local v40 = {
						Text = "             " .. v39, 
						ToolTip = "User ID: " .. v38.id
					};
					if (v35 - 1) % 2 == 0 then
						local v41 = 0;
					else
						v41 = 0.2;
					end;
					v40.BackgroundTransparency = v41;
					v40.Size = UDim2.new(1, 0, 0, 30);
					v40.Position = UDim2.new(0, 0, 0, 30 * (v35 - 1));
					v40.TextXAlignment = "Left";
					local v42 = u10:Add("TextLabel", v40);
					if v38.isOnline then
						v42:Add("TextLabel", {
							Text = "Online", 
							BackgroundTransparency = 1, 
							Size = UDim2.new(0, 120, 1, 0), 
							Position = UDim2.new(1, -130, 0, 0), 
							TextXAlignment = "Right"
						});
					end;
					l__Routine__9(function()
						v42:Add("ImageLabel", {
							Image = l__Service__1.Players:GetUserThumbnailAsync(v38.id, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size48x48), 
							BackgroundTransparency = 1, 
							Size = UDim2.new(0, 30, 0, 30), 
							Position = UDim2.new(0, 0, 0, 0)
						});
					end);
					v35 = v35 + 1;
				end;
			end;
			u10:ResizeCanvas(false, true, false, false, 5, 5);
		end;
		v33:GetPropertyChangedSignal("Text"):Connect(v34);
		v34();
	end);
	u2 = {};
	u3 = {};
	u4 = 0;
	u5 = 0;
	for v43, v44 in pairs(l__Service__1.GroupService:GetGroupsAsync(l__Target__2.UserId) or {}) do
		l__Routine__9(l__Service__1.ContentProvider.PreloadAsync, l__Service__1.ContentProvider, { v44.EmblemUrl });
		table.insert(u2, v44.Name);
		u3[v44.Name] = v44;
		u4 = u4 + 1;
		if v44.Rank == 255 then
			u5 = u5 + 1;
		end;
	end;
	table.sort(u2);
	local v45 = {
		Size = UDim2.new(1, -10, 0, 25), 
		Position = UDim2.new(0, 5, 0, 5), 
		BackgroundTransparency = 0.5
	};
	if u4 ~= 1 then
		local v46 = "s";
	else
		v46 = "";
	end;
	v45.PlaceholderText = ("Search %d group%s (%d owned)"):format(u4, v46, u5);
	v45.Text = "";
	v45.TextStrokeTransparency = 0.8;
	local v47 = v7:Add("TextBox", v45);
	v47:Add("ImageLabel", {
		Image = l__client__8.MatIcons.Search, 
		Position = UDim2.new(1, -21, 0, 3), 
		Size = UDim2.new(0, 18, 0, 18), 
		ImageTransparency = 0.2, 
		BackgroundTransparency = 1
	});
	local u11 = v7:Add("ScrollingFrame", {
		List = {}, 
		ScrollBarThickness = 2, 
		BackgroundTransparency = 1, 
		Position = UDim2.new(0, 5, 0, 35), 
		Size = UDim2.new(1, -10, 1, -40)
	});
	local u12 = v47;
	local function v48()
		u11:ClearAllChildren();
		local v49 = 1;
		for v50, v51 in ipairs(u2) do
			local v52 = u3[v51];
			if v51:sub(1, #u12.Text):lower() == u12.Text:lower() or v52.Role:sub(1, #u12.Text):lower() == u12.Text:lower() then
				local v53 = nil;
				local v54 = {
					Text = ""
				};
				if v52.IsPrimary then
					local v55 = "Primary Group | ";
				else
					v55 = "";
				end;
				if v52.Rank == 255 then
					local v56 = " (Owner)";
				else
					v56 = "";
				end;
				v54.ToolTip = string.format("%sID: %d | Rank: %d%s", v55, v52.Id, v52.Rank, v56);
				if (v49 - 1) % 2 == 0 then
					local v57 = 0;
				else
					v57 = 0.2;
				end;
				v54.BackgroundTransparency = v57;
				v54.Size = UDim2.new(1, -10, 0, 30);
				v54.Position = UDim2.new(0, 5, 0, 30 * (v49 - 1));
				v54.TextXAlignment = "Left";
				local v58 = u11:Add("TextLabel", v54);
				v53 = v58:Add("TextLabel", {
					Text = v51, 
					BackgroundTransparency = 1, 
					Size = UDim2.new(1, -50 - v58:Add("TextLabel", {
						Text = v52.Role, 
						BackgroundTransparency = 1, 
						Size = UDim2.new(0, 0, 1, 0), 
						Position = UDim2.new(1, -10, 0, 0), 
						ClipsDescendants = false, 
						TextXAlignment = "Right"
					}).TextBounds.X, 1, 0), 
					Position = UDim2.new(0, 36, 0, 0), 
					TextXAlignment = "Left", 
					TextTruncate = "AtEnd"
				});
				if v52.IsPrimary then
					v53.TextColor3 = Color3.new(0.666667, 1, 1);
				elseif v52.Rank >= 255 then
					v53.TextColor3 = Color3.new(1, 1, 0.5);
				end;
				l__Routine__9(function()
					v58:Add("ImageLabel", {
						Image = v52.EmblemUrl, 
						BackgroundTransparency = 1, 
						Size = UDim2.new(0, 30, 0, 30), 
						Position = UDim2.new(0, 0, 0, 0)
					});
				end);
				v49 = v49 + 1;
			end;
		end;
		u11:ResizeCanvas(false, true, false, false, 5, 5);
	end;
	u12:GetPropertyChangedSignal("Text"):Connect(v48);
	v48();
	u2 = p2.GameData;
	if not u2 then
		u3 = v8;
		u2 = v8.Disable;
		u2(u3);
		return;
	end;
	u2 = {};
	u3 = {};
	u4 = "Admin Level";
	u12 = p2.GameData;
	u5 = u12.AdminLevel;
	u12 = "The player's Adonis rank";
	u3[1] = u4;
	u3[2] = u5;
	u3[3] = u12;
	u4 = {};
	u5 = "Muted";
	u12 = u1;
	u11 = p2.GameData.IsMuted;
	u12 = u12(u11);
	u11 = "Is the player muted? (IGNORES TRELLO MUTELIST)";
	u4[1] = u5;
	u4[2] = u12;
	u4[3] = u11;
	u5 = {};
	u12 = "Auto Jump Enabled";
	u11 = u1;
	u11 = u11(l__Target__2.AutoJumpEnabled);
	u5[1] = u12;
	u5[2] = u11;
	u5[3] = "Does the player have auto jump enabled?";
	u12 = {};
	u11 = "Camera Max Zoom Distance";
	u12[1] = u11;
	u12[2] = l__Target__2.CameraMaxZoomDistance;
	u12[3] = "How far in studs the player can zoom out their camera";
	u11 = { "Camera Min Zoom Distance", l__Target__2.CameraMinZoomDistance, "How close in studs the player can zoom in their camera" };
	u2[1] = u3;
	u2[2] = u4;
	u2[3] = u5;
	u2[4] = u12;
	u2[5] = u11;
	u2[6] = { "Accelerometer Enabled", u1(p2.GameData.AccelerometerEnabled), "Whether the user\226\128\153s device has an accelerometer" };
	u2[7] = { "Gamepad Enabled", u1(p2.GameData.GamepadEnabled), "Whether the user's device has an available gamepad" };
	u2[8] = { "Gyroscope Enabled", u1(p2.GameData.GyroscopeEnabled), "Whether the user\226\128\153s device has a gyroscope" };
	u2[9] = { "Keyboard Enabled", u1(p2.GameData.KeyboardEnabled), "Whether the user\226\128\153s device has a keyboard available" };
	u2[10] = { "Mouse Delta Sensitivity", p2.GameData.MouseDeltaSensitivity, "The scale of the delta (change) output of the user\226\128\153s Mouse" };
	u2[11] = { "Mouse Enabled", u1(p2.GameData.MouseEnabled), "Whether the user\226\128\153s device has a mouse available" };
	u2[12] = { "Touch Enabled", u1(p2.GameData.TouchEnabled), "Whether the user\226\128\153s current device has a touch-screen available" };
	u2[13] = { "VR Enabled", u1(p2.GameData.VREnabled), "Whether the user is using a virtual reality headset" };
	u2[14] = { "Source Place ID", p2.GameData.SourcePlaceId, "The ID of the place from which the player was teleported to this game, if applicable" };
	u3 = 1;
	u4 = ipairs;
	u5 = u2;
	u4, u5, u12 = u4(u5);
	while true do
		u11 = u4;
		u11, v59 = u11(u5, u12);
		if not u11 then
			break;
		end;
		u12 = u11;
		local v60 = {
			Text = "  " .. v59[1] .. ": ", 
			ToolTip = v59[3]
		};
		if u3 % 2 == 0 then
			local v61 = 0;
		else
			v61 = 0.2;
		end;
		v60.BackgroundTransparency = v61;
		v60.Size = UDim2.new(1, -10, 0, 25);
		v60.Position = UDim2.new(0, 5, 0, 25 * (u3 - 1) + 5);
		v60.TextXAlignment = "Left";
		local v62 = v8:Add("TextLabel", v60):Add("TextLabel", {
			Text = v59[2], 
			BackgroundTransparency = 1, 
			Size = UDim2.new(0, 120, 1, 0), 
			Position = UDim2.new(1, -130, 0, 0), 
			TextXAlignment = "Right"
		});
		u3 = u3 + 1;	
	end;
	u12 = "TextButton";
	u11 = {
		Text = "View Tools", 
		ToolTip = string.format("%sviewtools%s%s", p2.CmdPrefix, p2.CmdSplitKey, l__Target__2.Name)
	};
	if u3 % 2 == 0 then
		local v63 = 0;
	else
		v63 = 0.2;
	end;
	u11.BackgroundTransparency = v63;
	u11.Size = UDim2.new(1, -10, 0, 30);
	u11.Position = UDim2.new(0, 5, 0, 25 * (u3 - 1) + 10);
	function u11.OnClicked(p4)
		if p4.Active then
			p4.Active = false;
			p4.AutoButtonColor = false;
			l__client__8.Remote.Send("ProcessCommand", string.format("%sviewtools%s%s", p2.CmdPrefix, p2.CmdSplitKey, l__Target__2.Name));
			wait(2);
			p4.AutoButtonColor = true;
			p4.Active = true;
		end;
	end;
	u5 = v8;
	u4 = v8.Add;
	u4(u5, u12, u11);
	u12 = false;
	u11 = true;
	u5 = v8;
	u4 = v8.ResizeCanvas;
	u4(u5, u12, u11, false, false, 5, 5);
end;