local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_TextService_0 = game:GetService("TextService");
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
return function(v5, v6, v7)
    local v8 = {
        OnSelectableChanged = l_Utility_0.Signal()
    };
    local v9 = l_Utility_0.Create("ImageLabel")({
        Name = "EdgeSelectionImage",
        Size = UDim2.new(1, 32, 1, 32),
        Position = UDim2.new(0, -16, 0, -16),
        Image = "rbxasset://textures/ui/SelectionBox.png",
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(21, 21, 41, 41),
        BackgroundTransparency = 1
    });
    local v10 = l_Utility_0.Create("Frame")({
        Name = "ScrollingTextBox",
        Size = v5 or UDim2.new(),
        Position = v6 or UDim2.new(),
        BackgroundTransparency = 1,
        Parent = v7
    });
    local v11 = l_Utility_0.Create("ScrollingFrame")({
        Name = "ScrollingBox",
        Size = UDim2.new(1, 0, 1, 0),
        Position = UDim2.new(0, 0, 0, 0),
        BackgroundTransparency = 1,
        ScrollBarThickness = 0,
        SelectionImageObject = v9,
        Selectable = false,
        Parent = v10;
        l_SoundManager_0:CreateSound("MoveSelection")
    });
    local v12 = l_Utility_0.Create("TextLabel")({
        Name = "TextLabel",
        Size = UDim2.new(1, 0, 4, 0),
        Position = UDim2.new(0, 0, 0, 0),
        BackgroundTransparency = 1,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Top,
        Font = l_GlobalSettings_0.LightFont,
        FontSize = l_GlobalSettings_0.DescriptionSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        TextWrapped = true,
        Text = "",
        Parent = v11
    });
    local v13 = l_Utility_0.Create("Frame")({
        Name = "ArrowContainer",
        Size = UDim2.new(1, 0, 0, 51),
        BackgroundTransparency = 1
    });
    local v14 = l_Utility_0.Create("ImageLabel")({
        Name = "UpArrow",
        BackgroundTransparency = 1,
        ImageColor3 = l_GlobalSettings_0.WhiteTextColor,
        Visible = false,
        Parent = v10,
        Image = "rbxasset://textures/ui/Shell/Icons/UpIndicatorIcon@1080.png",
        Size = UDim2.new(0, 20, 0, 18),
        Position = UDim2.new(1, -20, 1, 21)
    });
    local v15 = l_Utility_0.Create("ImageLabel")({
        Name = "DownArrow",
        BackgroundTransparency = 1,
        ImageColor3 = l_GlobalSettings_0.WhiteTextColor,
        Visible = false,
        Parent = v10,
        Image = "rbxasset://textures/ui/Shell/Icons/DownIndicatorIcon@1080.png",
        Size = UDim2.new(0, 20, 0, 18),
        Position = UDim2.new(1, -20, 1, 43)
    });
    v14.Parent = v13;
    v14.Position = UDim2.new(1, -20, 0, 0);
    v15.Parent = v13;
    v15.Position = UDim2.new(1, -20, 0, 33);
    local v16 = l_Utility_0.Create("ImageLabel")({
        Name = "RightStickHint",
        BackgroundTransparency = 1,
        ImageColor3 = l_GlobalSettings_0.WhiteTextColor,
        Visible = false,
        Parent = v10,
        Image = "rbxasset://textures/ui/Shell/Icons/RightStickHint@1080.png",
        Size = UDim2.new(0, 32, 0, 32),
        Position = UDim2.new(1, -64, 1, 25)
    });
    local function _()
        local l_CanvasPosition_0 = v11.CanvasPosition;
        if (v12.AbsoluteSize.y - v11.AbsoluteWindowSize.y) - 2 <= l_CanvasPosition_0.y then
            v15.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
        else
            v15.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
        end;
        if l_CanvasPosition_0.y <= 2 then
            v14.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
            return ;
        else
            v14.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
            return ;
        end;
    end;
    local function v22()
        local l_Y_0 = v8:GetTextSize().Y;
        v12.Size = UDim2.new(1, 0, 0, l_Y_0);
        v11.CanvasSize = UDim2.new(0, 0, 0, l_Y_0);
        local v20 = v11.AbsoluteSize.y < l_Y_0;
        if v20 then
            v13.Parent = v10.Parent;
            v10.Size = UDim2.new(v10.Size.X.Scale, v10.Size.X.Offset, v10.Size.Y.Scale, (v10.Size.Y.Offset - v13.Size.Y.Offset) + 20);
        end;
        v8:SetArrowsVisible(v20);
        v8:SetSelectable(v20);
        local l_CanvasPosition_1 = v11.CanvasPosition;
        if (v12.AbsoluteSize.y - v11.AbsoluteWindowSize.y) - 2 <= l_CanvasPosition_1.y then
            v15.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
        else
            v15.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
        end;
        if l_CanvasPosition_1.y <= 2 then
            v14.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
            return ;
        else
            v14.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
            return ;
        end;
    end;
    v11:GetPropertyChangedSignal("CanvasPosition"):connect(function()
        local l_CanvasPosition_2 = v11.CanvasPosition;
        if (v12.AbsoluteSize.y - v11.AbsoluteWindowSize.y) - 2 <= l_CanvasPosition_2.y then
            v15.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
        else
            v15.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
        end;
        if l_CanvasPosition_2.y <= 2 then
            v14.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
            return ;
        else
            v14.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
            return ;
        end;
    end);
    v11:GetPropertyChangedSignal("AbsoluteWindowSize"):connect(function()
        local l_CanvasPosition_3 = v11.CanvasPosition;
        if (v12.AbsoluteSize.y - v11.AbsoluteWindowSize.y) - 2 <= l_CanvasPosition_3.y then
            v15.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
        else
            v15.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
        end;
        if l_CanvasPosition_3.y <= 2 then
            v14.ImageColor3 = l_GlobalSettings_0.GreyTextColor;
            return ;
        else
            v14.ImageColor3 = l_GlobalSettings_0.WhiteTextColor;
            return ;
        end;
    end);
    v11.SelectionGained:Connect(function()
        v16.Visible = true;
    end);
    v11.SelectionLost:Connect(function()
        v16.Visible = false;
    end);
    v8.SetParent = function(_, v26)
        if v10.Parent ~= v26 then
            v10.Parent = v26;
            spawn(function()
                v22();
            end);
        end;
    end;
    v8.SetPosition = function(_, v28)
        v10.Position = v28;
    end;
    v8.SetSize = function(_, v30)
        if v10.Size ~= v30 then
            v10.Size = v30;
            spawn(function()
                v22();
            end);
        end;
    end;
    v8.SetFontSize = function(_, v32)
        if v12.FontSize ~= v32 then
            v12.FontSize = v32;
            spawn(function()
                v22();
            end);
        end;
    end;
    v8.SetFont = function(_, v34)
        if v12.Font ~= v34 then
            v12.Font = v34;
            spawn(function()
                v22();
            end);
        end;
    end;
    v8.SetText = function(_, v36)
        if v12.Text ~= tostring(v36) then
            v12.Text = tostring(v36);
            spawn(function()
                v22();
            end);
        end;
    end;
    v8.GetTextSize = function(_)
        return l_TextService_0:GetTextSize(v12.Text, l_Utility_0.ConvertFontSizeEnumToInt(v12.FontSize), v12.Font, Vector2.new(v12.AbsoluteSize.X, 6000));
    end;
    v8.SetLayoutOrder = function(_, v39)
        v10.LayoutOrder = v39;
        v13.LayoutOrder = v39 + 1;
    end;
    v8.SetSelectable = function(_, v41)
        v11.Selectable = v41;
        v8.OnSelectableChanged:fire(v41);
    end;
    v8.SetZIndex = function(_, v43)
        v10.ZIndex = v43;
        v12.ZIndex = v43;
        v14.ZIndex = v43;
        v15.ZIndex = v43;
        v16.ZIndex = v43;
    end;
    v8.SetArrowsVisible = function(_, v45)
        v14.Visible = v45;
        v15.Visible = v45;
    end;
    v8.GetContainer = function(_)
        return v10;
    end;
    v8.GetSelectableObject = function(_)
        return v11;
    end;
    v8.GetArrowsVisible = function(_)
        return v14.Visible;
    end;
    v8.IsSelectable = function(_)
        return v11.Selectable;
    end;
    return v8;
end;


local l_RobloxGui_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui");
local l_Shell_0 = l_RobloxGui_0:FindFirstChild("Modules"):FindFirstChild("Shell");
local l_SettingsScreenConsole_0 = require(l_Shell_0:FindFirstChild("Templates"):FindFirstChild("SettingsScreenConsole"));
local v3 = nil;
pcall(function()
    v3 = game:GetService("PlatformService");
end);
local l_UserInputService_0 = game:GetService("UserInputService");
local v5 = nil;
pcall(function()
    v5 = game:GetService("ThirdPartyUserService");
end);
local l_BaseScreen_0 = require(l_Shell_0:FindFirstChild("BaseScreen"));
local l_Errors_0 = require(l_Shell_0:FindFirstChild("Errors"));
local l_ErrorOverlay_0 = require(l_Shell_0:FindFirstChild("ErrorOverlay"));
local l_ScreenManager_0 = require(l_Shell_0:FindFirstChild("ScreenManager"));
local l_LocalizedStrings_0 = require(l_Shell_0:FindFirstChild("LocalizedStrings"));
local l_AccountScreen_0 = require(l_Shell_0:FindFirstChild("AccountScreen"));
local l_Analytics_0 = require(l_Shell_0:FindFirstChild("Analytics"));
return function()
    local v13 = l_BaseScreen_0(true);
    local v14 = nil;
    v13.GetVersionInfo = function(_)
        if UserSettings().GameSettings:InStudioMode() or l_UserInputService_0:GetPlatform() == Enum.Platform.Windows then
            return {
                Major = 1,
                Minor = 0,
                Build = 0,
                Revision = 0
            };
        elseif not v3 then
            return {
                Major = 1,
                Minor = 1,
                Build = 1,
                Revision = 1
            };
        else
            return v3:GetVersionIdInfo();
        end;
    end;
    v13.OpenAccountScreen = function(_)
        local v17 = l_AccountScreen_0();
        if not v17 then
            l_ScreenManager_0:OpenScreen(l_ErrorOverlay_0(l_Errors_0.Default), false);
            return ;
        else
            v17:SetParent(v13.view.Container.Parent);
            l_ScreenManager_0:OpenScreen(v17, true);
            return ;
        end;
    end;
    v13.OpenSwitchProfileScreen = function(_)
        if UserSettings().GameSettings:InStudioMode() or l_UserInputService_0:GetPlatform() == Enum.Platform.Windows then
            l_ScreenManager_0:OpenScreen(l_ErrorOverlay_0(l_Errors_0.Test.FeatureNotAvailableInStudio), false);
            return ;
        else
            if v5 then
                v5:ShowAccountPicker();
            end;
            return ;
        end;
    end;
    v13.OpenOverscanScreen = function(_)
        l_ScreenManager_0:OpenScreen((require(l_Shell_0.Components.RoactScreenManagerWrapper).new(require(l_Shell_0.Components.Overscan.Overscan), l_RobloxGui_0, {
            ImageVisible = true,
            BackgroundTransparency = 0
        })));
    end;
    v13.OpenHelpScreen = function(_)
        if UserSettings().GameSettings:InStudioMode() or l_UserInputService_0:GetPlatform() == Enum.Platform.Windows then
            l_ScreenManager_0:OpenScreen(l_ErrorOverlay_0(l_Errors_0.Test.FeatureNotAvailableInStudio), false);
            return ;
        else
            pcall(function()
                return v3:PopupHelpUI();
            end);
            return ;
        end;
    end;
    local function _()
        return l_SettingsScreenConsole_0(v13);
    end;
    v13.GetAnalyticsInfo = function(_)
        return {
            [l_Analytics_0.WidgetNames("WidgetId")] = l_Analytics_0.WidgetNames("SettingsScreenId")
        };
    end;
    v13.GetId = function(_)
        return l_Analytics_0.TabNames("SettingsId");
    end;
    v13.GetDefaultSelectionObject = function(_)
        return v13.view and v13.view:GetDefaultSelectionObject();
    end;
    local l_Hide_0 = v13.Hide;
    v13.Hide = function(v26)
        l_Hide_0(v26);
        if v14 then
            v14:disconnect();
            v14 = nil;
        end;
    end;
    v13.ScreenRemoved = function(_)
        spawn(function()
            if v3 ~= nil then
                v3:SaveSettings();
            end;
        end);
    end;
    v13.view = l_SettingsScreenConsole_0(v13);
    v13:SetTitle(l_LocalizedStrings_0:LocalizedString("SettingsWord"));
    return v13;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_GuiService_0 = game:GetService("GuiService");
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_ScreenManager_0 = require(l_Shell_0:FindFirstChild("ScreenManager"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
local l_Analytics_0 = require(l_Shell_0:FindFirstChild("Analytics"));
return function()
    local v8 = {};
    local v9 = {};
    local v10 = nil;
    local v11 = false;
    local v12 = l_Utility_0.Create("Frame")({
        Name = "ModalOverlay",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        BackgroundColor3 = l_GlobalSettings_0.ModalBackgroundColor,
        BorderSizePixel = 0,
        ZIndex = 4
    });
    local v13 = l_Utility_0.Create("Frame")({
        Name = "SideBarContainer",
        Size = UDim2.new(0.3, 0, 1, 0),
        Position = UDim2.new(1, 0, 0, 0),
        BorderSizePixel = 0,
        BackgroundColor3 = l_GlobalSettings_0.OverlayColor,
        ZIndex = 5,
        Parent = v12
    });
    local v14 = l_Utility_0.Create("TextButton")({
        Name = "DummySelectionImage",
        Size = UDim2.new(0, 0, 0, 0),
        Visible = false;
        l_SoundManager_0:CreateSound("MoveSelection")
    });
    local v15 = l_Utility_0.Create("TextLabel")({
        Name = "Text",
        Size = UDim2.new(1, -165, 1, -156),
        Position = UDim2.new(0, 65, 0, 156),
        BorderSizePixel = 0,
        BackgroundTransparency = 1,
        ZIndex = 6,
        Text = "",
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Top,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.DescriptionSize,
        TextWrapped = true
    });
    local function v17()
        for v16 = 1, #v9 do
            v9[v16].Position = UDim2.new(0, 0, 0, 156 + 75 * (v16 - 1));
        end;
    end;
    local l_BindableEvent_0 = Instance.new("BindableEvent");
    l_BindableEvent_0.Name = "ClosedEvent";
    v8.Closed = l_BindableEvent_0.Event;
    v8.GetAnalyticsInfo = function(_)
        return {
            [l_Analytics_0.WidgetNames("WidgetId")] = l_Analytics_0.WidgetNames("SideBarId")
        };
    end;
    v8.AddItem = function(_, v21, v22)
        local v23 = l_Utility_0.Create("TextButton")({
            Name = "SortButton",
            Size = UDim2.new(1, 0, 0, 75),
            BorderSizePixel = 0,
            BackgroundColor3 = l_GlobalSettings_0.BlueButtonColor,
            BackgroundTransparency = 1,
            ZIndex = 6,
            Text = "",
            SelectionImageObject = v14,
            Parent = v13;
            l_SoundManager_0:CreateSound("MoveSelection")
        });
        local v24 = l_Utility_0.Create("TextLabel")({
            Name = "SortName",
            Size = UDim2.new(1, -65, 1, 0),
            Position = UDim2.new(0, 65, 0, 0),
            BackgroundTransparency = 1,
            Text = v21,
            TextXAlignment = Enum.TextXAlignment.Left,
            TextColor3 = l_GlobalSettings_0.WhiteTextColor,
            Font = l_GlobalSettings_0.RegularFont,
            FontSize = l_GlobalSettings_0.MediumFontSize,
            ZIndex = 7,
            Parent = v23
        });
        v23.MouseButton1Click:connect(function()
            l_SoundManager_0:Play("ButtonPress");
            l_ScreenManager_0:CloseCurrent(v8);
            l_BindableEvent_0:Fire();
            v22();
        end);
        v23.SelectionGained:connect(function()
            v23.BackgroundTransparency = 0;
            v24.TextColor3 = l_GlobalSettings_0.TextSelectedColor;
        end);
        v23.SelectionLost:connect(function()
            v23.BackgroundTransparency = 1;
            v24.TextColor3 = l_GlobalSettings_0.WhiteTextColor;
        end);
        v9[#v9 + 1] = v23;
        v17();
    end;
    v8.SetText = function(_, v26)
        v15.Text = v26;
        v15.Parent = v13;
    end;
    v8.ResetText = function(_)
        v15.Text = "";
        v15.Parent = nil;
    end;
    v8.RemoveAllItems = function(_)
        v8:ResetText();
        for v29, v30 in pairs(v9) do
            v30:Destroy();
            v9[v29] = nil;
        end;
    end;
    v8.SetSelectedObject = function(_, v32, v33)
        if #v9 > 0 then
            v10 = not not v32 and v9[v32] or v9[1];
            if not ((not (v33 == true) or not v10) or not v11) then
                l_GuiService_0.SelectedCoreObject = v10;
                return ;
            end;
        else
            v10 = nil;
        end;
    end;
    v8.GetPriority = function(_)
        return l_GlobalSettings_0.OverlayPriority;
    end;
    v8.Show = function(v35)
        v12.Parent = l_ScreenManager_0:GetScreenGuiByPriority(v35:GetPriority());
        local _ = l_Utility_0.PropertyTweener(v12, "BackgroundTransparency", 1, l_GlobalSettings_0.ModalBackgroundTransparency, 0.25, l_Utility_0.EaseInOutQuad, true, nil);
        v13:TweenPosition(UDim2.new(1 - v13.Size.X.Scale, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Quad, 0.25, true);
        l_SoundManager_0:Play("SideMenuSlideIn");
    end;
    v8.Hide = function(_)
        local _ = l_Utility_0.PropertyTweener(v12, "BackgroundTransparency", 0.3, 1, 0.25, l_Utility_0.EaseInOutQuad, true, function()
            v12.Parent = nil;
        end);
        v13:TweenPosition(UDim2.new(1, 0, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25, true);
    end;
    v8.IsFocused = function(_)
        return v11;
    end;
    v8.Focus = function(v40)
        v11 = true;
        l_GuiService_0:AddSelectionParent("SideBar", v13);
        if not v10 then
            v40:SetSelectedObject(1);
            l_Utility_0.SetSelectedCoreObject(v10);
        else
            l_Utility_0.SetSelectedCoreObject(v10);
        end;
        l_ContextActionService_0:BindCoreAction("CloseSideBar", function(_, v42, _)
            if v42 == Enum.UserInputState.End then
                l_ScreenManager_0:CloseCurrent(v8);
                l_BindableEvent_0:Fire();
            end;
        end, false, Enum.KeyCode.ButtonB);
    end;
    v8.RemoveFocus = function(_)
        v11 = false;
        l_GuiService_0:RemoveSelectionGroup("SideBar");
        l_ContextActionService_0:UnbindCoreAction("CloseSideBar");
        v10 = nil;
    end;
    return v8;
end;


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Shell_0 = l_CoreGui_0:FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_GuiService_0 = game:GetService("GuiService");
local v4 = nil;
pcall(function()
    v4 = game:GetService("ThirdPartyUserService");
end);
local l_TextService_0 = game:GetService("TextService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_AssetManager_0 = require(l_Shell_0:FindFirstChild("AssetManager"));
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_ScreenManager_0 = require(l_Shell_0:FindFirstChild("ScreenManager"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
local l_LocalizedStrings_0 = require(l_Shell_0:FindFirstChild("LocalizedStrings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_LinkAccountScreen_0 = require(l_Shell_0:FindFirstChild("LinkAccountScreen"));
local l_SetAccountCredentialsScreen_0 = require(l_Shell_0:FindFirstChild("SetAccountCredentialsScreen"));
local l_Analytics_0 = require(l_Shell_0:FindFirstChild("Analytics"));
local l_AppState_0 = require(l_Shell_0:FindFirstChild("AppState"));
local l_default_0 = require(l_CorePackages_0.Workspace.Packages.LoggingProtocol).default;
local v18 = require(l_Shell_0.Flags.GetFFlagXboxAnalyticsTrackTTI);
return function()
    local v19 = {
        TransitionTweens = nil
    };
    local v20 = false;
    local v21 = nil;
    local l_GreyButtonColor_0 = l_GlobalSettings_0.GreyButtonColor;
    local l_GreySelectedButtonColor_0 = l_GlobalSettings_0.GreySelectedButtonColor;
    local l_WhiteTextColor_0 = l_GlobalSettings_0.WhiteTextColor;
    local l_TextSelectedColor_0 = l_GlobalSettings_0.TextSelectedColor;
    local v26 = string.format(l_LocalizedStrings_0:LocalizedString("PlayAsPhrase"), l_AppState_0.store:getState().XboxUser.gamertag);
    l_Utility_0.Create("Frame")({
        Name = "ModalOverlay",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = l_GlobalSettings_0.ModalBackgroundTransparency,
        BackgroundColor3 = l_GlobalSettings_0.ModalBackgroundColor,
        BorderSizePixel = 0,
        ZIndex = 4
    });
    local v27 = l_Utility_0.Create("Frame")({
        Name = "SignInScreen",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        Visible = false
    });
    local v28 = l_Utility_0.Create("ImageLabel")({
        Name = "RobloxLogo",
        Size = UDim2.new(0, 594, 0, 199),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/ROBLOXSplashLogo.png",
        Parent = v27,
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 0, 0.5, 0)
    });
    v28.Image = "rbxasset://textures/ui/Shell/Icons/SplashLogo.png";
    v28.Size = UDim2.new(0, 594, 0, 209);
    local v29 = l_Utility_0.Create("ImageLabel")({
        Name = "BackImage",
        Size = UDim2.new(0, 48, 0, 48),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/BackIcon@1080.png",
        Parent = v27
    });
    l_Utility_0.Create("TextLabel")({
        Name = "BackText",
        Size = UDim2.new(0, 0, 0, v29.Size.Y.Offset),
        Position = UDim2.new(0, v29.Size.X.Offset + 8, 0, 0),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.ButtonSize,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Text = l_LocalizedStrings_0:LocalizedString("BackWord"),
        Parent = v27
    });
    local v30 = l_Utility_0.Create("Frame")({
        Name = "FadeInFrame",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        Visible = false,
        Parent = v27
    });
    local v31 = l_Utility_0.Create("Frame")({
        Name = "LinkAccountButtonContainer",
        BackgroundTransparency = 1,
        Size = UDim2.new(0, 200, 0, 64),
        Position = UDim2.new(0.5, -100, 1, -204),
        Parent = v30;
        l_AssetManager_0.CreateShadow(1)
    });
    local v32 = l_Utility_0.Create("ImageButton")({
        Name = "LinkAccountButton",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        ImageColor3 = l_GreyButtonColor_0,
        Image = l_GlobalSettings_0.RoundCornerButtonImage,
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(Vector2.new(4, 4), Vector2.new(28, 28)),
        ZIndex = 2,
        Parent = v31;
        l_SoundManager_0:CreateSound("MoveSelection")
    });
    local v33 = v31:Clone();
    v33.Name = "CreateAccountButtonContainer";
    local l_LinkAccountButton_0 = v33.LinkAccountButton;
    l_LinkAccountButton_0.Name = "CreateAccountButton";
    v33.Size = UDim2.new(0, 360, 0, 64);
    v33.Position = UDim2.new(0.5, -180, 1, (v31.Position.Y.Offset - 64) - 44);
    v33.Parent = v30;
    local v35 = l_Utility_0.Create("TextLabel")({
        Name = "LinkAccountText",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.ButtonSize,
        TextColor3 = l_WhiteTextColor_0,
        Text = l_LocalizedStrings_0:LocalizedString("SignInPhrase"),
        ZIndex = 2,
        Parent = v32
    });
    l_Utility_0.ResizeButtonWithText(v31, v35, l_GlobalSettings_0.TextHorizontalPadding);
    v31.Position = UDim2.new(0.5, -v31.Size.X.Offset / 2, 1, v31.Position.Y.Offset);
    local v36 = v35:Clone();
    v36.Text = v26;
    v36.Parent = l_LinkAccountButton_0;
    v33.Size = UDim2.new(0, l_TextService_0:GetTextSize(v26, l_Utility_0.ConvertFontSizeEnumToInt(v36.FontSize), v36.Font, Vector2.new(0, 0)).X + 64, 0, v33.Size.Y.Offset);
    l_Utility_0.ResizeButtonWithText(v33, v36, l_GlobalSettings_0.TextHorizontalPadding);
    v33.Position = UDim2.new(0.5, -v33.Size.X.Offset / 2, 1, v33.Position.Y.Offset);
    l_LinkAccountButton_0.SelectionGained:connect(function()
        l_LinkAccountButton_0.ImageColor3 = l_GreySelectedButtonColor_0;
        v36.TextColor3 = l_TextSelectedColor_0;
    end);
    l_LinkAccountButton_0.SelectionLost:connect(function()
        l_LinkAccountButton_0.ImageColor3 = l_GreyButtonColor_0;
        v36.TextColor3 = l_WhiteTextColor_0;
    end);
    v32.SelectionGained:connect(function()
        v32.ImageColor3 = l_GreySelectedButtonColor_0;
        v35.TextColor3 = l_TextSelectedColor_0;
    end);
    v32.SelectionLost:connect(function()
        v32.ImageColor3 = l_GreyButtonColor_0;
        v35.TextColor3 = l_WhiteTextColor_0;
    end);
    local function _()
        l_ScreenManager_0:DefaultCancelFade(v19.TransitionTweens);
        v30.Visible = true;
        v19.TransitionTweens = l_ScreenManager_0:FadeInSitu(v30);
        if v20 then
            l_Utility_0.SetSelectedCoreObject(l_LinkAccountButton_0);
        end;
    end;
    l_LinkAccountButton_0.MouseButton1Click:connect(function()
        l_SoundManager_0:Play("ButtonPress");
        local v38 = l_SetAccountCredentialsScreen_0(l_LocalizedStrings_0:LocalizedString("SignUpTitle"), l_LocalizedStrings_0:LocalizedString("SignUpDescription"), l_LocalizedStrings_0:LocalizedString("SignUpWord"));
        v38:SetParent(v27.Parent);
        l_ScreenManager_0:OpenScreen(v38, true);
    end);
    v32.MouseButton1Click:connect(function()
        l_SoundManager_0:Play("ButtonPress");
        local v39 = l_LinkAccountScreen_0();
        v39:SetParent(v27.Parent);
        l_ScreenManager_0:OpenScreen(v39, true);
    end);
    v19.GetAnalyticsInfo = function(_)
        return {
            [l_Analytics_0.WidgetNames("WidgetId")] = l_Analytics_0.WidgetNames("SignInScreenId")
        };
    end;
    v19.SetParent = function(_, v42)
        v21 = v42;
    end;
    v19.Show = function(_)
        v28.AnchorPoint = Vector2.new(0.5, 0.5);
        v28.Position = UDim2.new(0.5, 0, 0.5, 0);
        v27.Visible = true;
        v27.Parent = v21;
        l_ScreenManager_0:DefaultCancelFade(v19.TransitionTweens);
        v30.Visible = true;
        v19.TransitionTweens = l_ScreenManager_0:FadeInSitu(v30);
        if v20 then
            l_Utility_0.SetSelectedCoreObject(l_LinkAccountButton_0);
        end;
        if v18() then
            l_default_0:logEventOnce("landing_page_did_mount");
        end;
    end;
    v19.Hide = function(_)
        v27.Visible = false;
        v30.Visible = false;
    end;
    v19.Focus = function(_)
        v20 = true;
        l_GuiService_0:AddSelectionParent("SignInScreen", v30);
        l_Utility_0.SetSelectedCoreObject(l_LinkAccountButton_0);
        if v4 then
            l_ContextActionService_0:BindCoreAction("ReturnToEngagement", function(_, v47, _)
                if v47 == Enum.UserInputState.End then
                    v4:ReturnToEngagement();
                end;
            end, false, Enum.KeyCode.ButtonB);
        end;
    end;
    v19.RemoveFocus = function(_)
        v20 = false;
        l_GuiService_0:RemoveSelectionGroup("SignInScreen");
        l_Utility_0.SetSelectedCoreObject(nil);
        l_ContextActionService_0:UnbindCoreAction("ReturnToEngagement");
    end;
    return v19;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local v1 = nil;
pcall(function()
    v1 = game:GetService("PlatformService");
end);
local l_TitleSafeContainer_0 = require(l_Shell_0.AppContainer).TitleSafeContainer;
local l_TextService_0 = game:GetService("TextService");
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local v6 = {};
v6.__index = v6;
v6.new = function()
    local v7 = {};
    setmetatable(v7, v6);
    v7.container = l_Utility_0.Create("Frame")({
        Name = "SiteInfoContainer",
        Size = UDim2.new(1, 0, 1, 0),
        Position = UDim2.new(0, 0, 1, 0),
        AnchorPoint = Vector2.new(0, 1),
        BackgroundTransparency = 1
    });
    v7.text = l_Utility_0.Create("TextLabel")({
        Name = "SiteInfoText",
        Size = UDim2.new(1, -12, 0, 12),
        Position = UDim2.new(0, 0, 1, 0),
        AnchorPoint = Vector2.new(0, 1),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.TitleSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Bottom,
        Text = "",
        Parent = v7.container
    });
    v7.updateLayout = function()
        v7.container.Size = UDim2.new(0, l_TextService_0:GetTextSize(v7.text.Text, l_Utility_0.ConvertFontSizeEnumToInt(v7.text.FontSize), v7.text.Font, Vector2.new(0, 0)).X, 0, 50);
    end;
    if v1 then
        spawn(function()
            local l_v1_SiteInfo_0 = v1:GetSiteInfo();
            if l_v1_SiteInfo_0 and l_v1_SiteInfo_0 ~= "" then
                v7:SetText(l_v1_SiteInfo_0);
                v7:SetParent(l_TitleSafeContainer_0);
            end;
        end);
    end;
    return v7;
end;
v6.SetParent = function(v9, v10)
    v9.container.Parent = v10;
end;
v6.SetText = function(v11, v12)
    if v12 ~= v11.text.Text then
        v11.text.Text = v12;
        v11.updateLayout();
    end;
end;
return v6;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_TextService_0 = game:GetService("TextService");
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
return function()
    local v4 = {};
    local v5 = l_Utility_0.Create("Frame")({
        Name = "SiteInfoContainer",
        Size = UDim2.new(1, 0, 1, 0),
        Position = UDim2.new(0, 0, 1, 0),
        AnchorPoint = Vector2.new(0, 1),
        BackgroundTransparency = 1
    });
    local v6 = l_Utility_0.Create("TextLabel")({
        Name = "SiteInfoText",
        Size = UDim2.new(1, -12, 0, 12),
        Position = UDim2.new(0, 0, 1, 0),
        AnchorPoint = Vector2.new(0, 1),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.TitleSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Bottom,
        Text = "",
        Parent = v5
    });
    local function v7()
        v5.Size = UDim2.new(0, l_TextService_0:GetTextSize(v6.Text, l_Utility_0.ConvertFontSizeEnumToInt(v6.FontSize), v6.Font, Vector2.new(0, 0)).X, 0, 50);
    end;
    v4.SetParent = function(_, v9)
        v5.Parent = v9;
    end;
    v4.SetText = function(_, v11)
        if v11 ~= v6.Text then
            v6.Text = v11;
            v7();
        end;
    end;
    return v4;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_GuiService_0 = game:GetService("GuiService");
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_FriendsData_0 = require(l_Shell_0:FindFirstChild("FriendsData"));
local l_FriendsView_0 = require(l_Shell_0:FindFirstChild("FriendsView"));
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_ScrollingGrid_0 = require(l_Shell_0:FindFirstChild("ScrollingGrid"));
local l_ScreenManager_0 = require(l_Shell_0:FindFirstChild("ScreenManager"));
local l_LocalizedStrings_0 = require(l_Shell_0:FindFirstChild("LocalizedStrings"));
local l_LoadingWidget_0 = require(l_Shell_0:FindFirstChild("LoadingWidget"));
local l_Analytics_0 = require(l_Shell_0:FindFirstChild("Analytics"));
local v11 = require(l_Shell_0.Flags.GetFIntXboxPrimaryNavABLogging);
local v12 = require(l_Shell_0.Flags.GetFFlagXboxFixPrimaryNavABEvents);
return function(v13)
    local v14 = {};
    local v15 = nil;
    local v16 = false;
    local v17 = l_Utility_0.Create("Frame")({
        Name = "SocialPane",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        Visible = false,
        SelectionImageObject = l_Utility_0.Create("ImageLabel")({
            BackgroundTransparency = 1
        }),
        Parent = v13
    });
    local v18 = l_Utility_0.Create("Frame")({
        Size = UDim2.new(0, 1720, 0, 610),
        Position = UDim2.new(0, 0, 0, 33),
        BackgroundTransparency = 1,
        Parent = v17
    });
    local v19 = l_ScrollingGrid_0({
        SelectionMode = "Middle",
        Dynamic = true
    });
    v19:SetSize(UDim2.new(1, 0, 1, 0));
    v19:SetCellSize(Vector2.new(446, 114));
    v19:SetSpacing(Vector2.new(50, 10));
    v19:SetScrollDirection(v19.Enum.ScrollDirection.Horizontal);
    v19:SetPosition(UDim2.new(0, 0, 0, 0));
    local l_v19_GuiObject_0 = v19:GetGuiObject();
    l_v19_GuiObject_0.Visible = false;
    v19:SetParent(v18);
    local v21 = l_Utility_0.Create("ImageLabel")({
        Name = "noFriendsIcon",
        Size = UDim2.new(0, 296, 0, 259),
        Position = UDim2.new(0.5, -148, 0, 100),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/FriendsIcon@1080.png",
        Visible = false,
        Parent = v17
    });
    local v22 = l_Utility_0.Create("TextLabel")({
        Name = "NoFriendsText",
        Size = UDim2.new(0, 500, 0, 72),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.ButtonSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Text = l_LocalizedStrings_0:LocalizedString("NoFriendsPhrase"),
        TextYAlignment = Enum.TextYAlignment.Top,
        TextWrapped = true,
        Visible = false,
        Parent = v17
    });
    v22.Position = UDim2.new(0.5, -v22.Size.X.Offset / 2, 0, (v21.Position.Y.Offset + v21.Size.Y.Offset) + 32);
    local function _(v23)
        v21.Visible = not v23;
        v22.Visible = not v23;
    end;
    local function v27(v25)
        local v26 = v25 > 0;
        v21.Visible = not v26;
        v22.Visible = not v26;
    end;
    local function _()
        if v16 then
            local v28 = v15 and v15:GetDefaultFocusItem();
            if v28 then
                l_Utility_0.SetSelectedCoreObject(v28);
            end;
        end;
    end;
    local v33 = l_LoadingWidget_0({
        Parent = v17
    }, {
        function()
            local v30 = l_FriendsData_0.GetOnlineFriendsAsync();
            v15 = l_FriendsView_0(v19, v30, v27);
            local v31 = #v30 > 0;
            v21.Visible = not v31;
            v22.Visible = not v31;
            if v16 then
                local v32 = v15 and v15:GetDefaultFocusItem();
                if v32 then
                    l_Utility_0.SetSelectedCoreObject(v32);
                end;
            end;
        end
    });
    spawn(function()
        v33:AwaitFinished();
        v33:Cleanup();
        l_v19_GuiObject_0.Visible = true;
    end);
    v14.GetName = function(_)
        return l_LocalizedStrings_0:LocalizedString("FriendsWord");
    end;
    v14.GetId = function(_)
        return l_Analytics_0.TabNames("FriendsId");
    end;
    v14.IsFocused = function(_)
        return v16;
    end;
    v14.GetAnalyticsInfo = function(_)
        return {
            [l_Analytics_0.WidgetNames("WidgetId")] = l_Analytics_0.WidgetNames("SocialPaneId")
        };
    end;
    v14.Show = function(v38)
        v17.Visible = true;
        v38.TransitionTweens = l_ScreenManager_0:DefaultFadeIn(v17);
        l_ScreenManager_0:PlayDefaultOpenSound();
        if v11() > 0 then
            if not v12() then
                l_Analytics_0.reportNavigationLoaded(v14:GetName());
            else
                l_Analytics_0.reportNavigationLoaded(l_Analytics_0.TabNames("FriendsId"));
                return ;
            end;
        end;
    end;
    v14.Hide = function(v39)
        v17.Visible = false;
        l_ScreenManager_0:DefaultCancelFade(v39.TransitionTweens);
        v39.TransitionTweens = nil;
    end;
    v14.Focus = function(_)
        v16 = true;
        if v16 then
            local v41 = v15 and v15:GetDefaultFocusItem();
            if v41 then
                l_Utility_0.SetSelectedCoreObject(v41);
            end;
        end;
    end;
    v14.RemoveFocus = function(_)
        v16 = false;
        local l_SelectedCoreObject_0 = l_GuiService_0.SelectedCoreObject;
        if not (not l_SelectedCoreObject_0 or not l_SelectedCoreObject_0:IsDescendantOf(v17)) then
            l_Utility_0.SetSelectedCoreObject(nil);
        end;
    end;
    v14.SetPosition = function(_, v45)
        v17.Position = v45;
    end;
    v14.SetParent = function(_, v47)
        v17.Parent = v47;
    end;
    v14.IsAncestorOf = function(_, v49)
        return v17 and v17:IsAncestorOf(v49);
    end;
    return v14;
end;


local l_GuiService_0 = game:GetService("GuiService");
local l_RunService_0 = game:GetService("RunService");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_Utility_0 = require(l_CoreGui_0:FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell"):FindFirstChild("Utility"));
local v4 = {
    BackgroundLoop = "RobloxMusic.ogg",
    Error = "Error.mp3",
    ButtonPress = "ButtonPress.mp3",
    MoveSelection = "MoveSelection.mp3",
    OverlayOpen = "OverlayOpen.mp3",
    PopUp = "PopUp.mp3",
    PurchaseSuccess = "PurchaseSuccess.mp3",
    ScreenChange = "ScreenChange.mp3",
    SideMenuSlideIn = "SideMenuSlideIn.mp3"
};
local v5 = {};
local function _(v6, v7, v8, v9)
    v6 = v6 / v9 - 1;
    return v8 * math.sqrt(1 - v6 * v6) + v7;
end;
local function v11()
    if not UserSettings().GameSettings:InStudioMode() or game:GetService("UserInputService"):GetPlatform() == Enum.Platform.Windows then
        return true;
    else
        return l_RunService_0:IsRunning();
    end;
end;
GetSoundManager = function()
    local v12 = {
        SoundHolder = nil
    };
    local v13 = {};
    local function _(v14)
        if v5[v14] then
            local v15 = table.remove(v5[v14], 1);
            if v15 then
                table.insert(v5[v14], v15);
                return v15;
            end;
        end;
    end;
    v12.CreateSound = function(_, v18)
        local v19 = "rbxasset://sounds/ui/Shell/" .. v4[v18];
        local l_Sound_0 = Instance.new("Sound");
        l_Sound_0.Name = v18;
        l_Sound_0.SoundId = v19;
        return l_Sound_0;
    end;
    v12.Play = function(_, v22, v23, v24, v25, ...)
        local v26 = nil;
        if not v4[v22] then
            spawn(function()
                error("Unable to find sound: " .. tostring(v22));
            end);
            return v26;
        else
            local v27;
            if v5[v22] then
                local v28 = table.remove(v5[v22], 1);
                if v28 then
                    table.insert(v5[v22], v28);
                    v27 = v28;
                    goto label0 --[[  true, true  ]];
                end;
            end;
            v27 = nil;
            ::label0::;
            if not v27 then
                l_Utility_0.DebugLog("No sound:", v22, "in the queue.");
                return v26;
            else
                v27.Volume = v23 or 1;
                v27.Looped = v24 or false;
                v27.Pitch = v25 or 1;
                v27:Play(...);
                v13[v27] = v27.Volume;
                if not v11() then
                    v27.Volume = 0;
                end;
                return v27;
            end;
        end;
    end;
    v12.IsPlaying = function(_, v30)
        local l_FirstChild_0 = v12.SoundHolder:FindFirstChild(v30);
        if not l_FirstChild_0 then
            return false;
        else
            return l_FirstChild_0.IsPlaying;
        end;
    end;
    v12.Stop = function(_, v33, ...)
        if not (not v12.SoundHolder or not v4[v33]) then
            local l_FirstChild_1 = v12.SoundHolder:FindFirstChild(v33);
            if l_FirstChild_1 then
                l_FirstChild_1:Stop();
            end;
        end;
    end;
    v12.TweenSound = function(_, v36, v37, v38)
        v13[v36] = nil;
        l_Utility_0.PropertyTweener(v36, "Volume", v36.Volume, v37, v38, function(...)
            return not not v11() and l_Utility_0.EaseInOutQuad(...) or 0;
        end, true, function()
            v13[v36] = v37;
        end);
    end;
    (function()
        local l_Folder_0 = Instance.new("Folder");
        l_Folder_0.Name = "AppShellSounds";
        l_Folder_0.Parent = l_CoreGui_0;
        v12.SoundHolder = l_Folder_0;
        for v40, _ in pairs(v4) do
            local l_Folder_1 = Instance.new("Folder");
            l_Folder_1.Name = v40;
            l_Folder_1.Parent = v12.SoundHolder;
            v5[v40] = {};
            local l_v12_Sound_0 = v12:CreateSound(v40);
            l_v12_Sound_0.Parent = l_Folder_1;
            table.insert(v5[v40], l_v12_Sound_0);
            l_v12_Sound_0 = v12:CreateSound(v40);
            l_v12_Sound_0.Parent = l_Folder_1;
            table.insert(v5[v40], l_v12_Sound_0);
            l_v12_Sound_0 = v12:CreateSound(v40);
            l_v12_Sound_0.Parent = l_Folder_1;
            table.insert(v5[v40], l_v12_Sound_0);
        end;
        local v44 = nil;
        l_GuiService_0:GetPropertyChangedSignal("SelectedCoreObject"):connect(function()
            local l_SelectedCoreObject_0 = l_GuiService_0.SelectedCoreObject;
            if not (not l_SelectedCoreObject_0 or not v44) then
                local l_MoveSelection_0 = l_SelectedCoreObject_0:FindFirstChild("MoveSelection");
                if not (not l_MoveSelection_0 or not l_MoveSelection_0:IsA("Sound")) then
                    l_MoveSelection_0.Volume = 0.35;
                    l_MoveSelection_0:Play();
                end;
            end;
            v44 = l_SelectedCoreObject_0;
        end);
        if not v11() then
            spawn(function()
                while not v11() do
                    wait(0.1);
                end;
                for v47, v48 in pairs(v13) do
                    v47.Volume = v48;
                end;
            end);
        end;
    end)();
    return v12;
end;
return GetSoundManager();


local l_GuiService_0 = game:GetService("GuiService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_Analytics_0 = require(l_Shell_0:FindFirstChild("Analytics"));
local v7 = require(l_Shell_0.Flags.GetFIntXboxPrimaryNavABLogging);
local v8 = require(l_Shell_0.Flags.GetFFlagXboxFixPrimaryNavABEvents);
return function(v9, v10)
    local v11 = {};
    local v12 = {};
    local v13 = nil;
    local v14 = {};
    v11.SelectedTabChanged = l_Utility_0.Signal();
    v11.SelectedTabClicked = l_Utility_0.Signal();
    v11.TabItemClickedConn = nil;
    local v15 = nil;
    local v16 = l_Utility_0.Create("ImageButton")({
        Size = UDim2.new(1, 0, 0, 36),
        Position = v9,
        BackgroundTransparency = 1,
        Name = "TabContainer"
    });
    local v17 = l_Utility_0.Create("ImageLabel")({
        Name = "SelectionBorderObject",
        Size = UDim2.new(1, 0, 0, 4),
        Position = UDim2.new(0, 0, 1, 5),
        BorderSizePixel = 0,
        BackgroundColor3 = l_GlobalSettings_0.TabUnderlineColor,
        BackgroundTransparency = 0
    });
    local v18 = l_Utility_0.Create("ImageButton")({
        Size = UDim2.new(1, 0, 0, 36),
        BackgroundTransparency = 1,
        Name = "DownSelector",
        Selectable = false,
        Parent = v16
    });
    v18.SelectionGained:connect(function()
        if v13 then
            l_Utility_0.SetSelectedCoreObject(v13:GetGuiObject());
            v11.SelectedTabClicked:fire(v13);
        end;
    end);
    local function v29(v19)
        if v19 == "SelectedCoreObject" then
            if l_GuiService_0.SelectedCoreObject == v16 then
                local l_v11_SelectedTab_0 = v11:GetSelectedTab();
                local v21 = l_v11_SelectedTab_0 and l_v11_SelectedTab_0:GetGuiObject();
                if v21 then
                    l_Utility_0.SetSelectedCoreObject(v21);
                end;
            end;
            local l_SelectedCoreObject_0 = l_GuiService_0.SelectedCoreObject;
            local l_v11_FocusedTabByGuiObject_0 = v11:FindFocusedTabByGuiObject(l_SelectedCoreObject_0);
            if v13 and l_SelectedCoreObject_0 ~= v13:GetGuiObject() then
                v13:OnClickRelease();
            end;
            if not l_v11_FocusedTabByGuiObject_0 then
                l_ContextActionService_0:UnbindCoreAction("OnClickSelectedTab");
            else
                v11:SetSelectedTab(l_v11_FocusedTabByGuiObject_0);
                for _, v25 in pairs(l_UserInputService_0:GetGamepadState(Enum.UserInputType.Gamepad1)) do
                    if not (not (v25.KeyCode == Enum.KeyCode.ButtonA and v25.UserInputState == Enum.UserInputState.Begin) or not v13) then
                        v13:OnClick();
                    end;
                end;
                l_ContextActionService_0:UnbindCoreAction("OnClickSelectedTab");
                l_ContextActionService_0:BindCoreAction("OnClickSelectedTab", function(_, v27, _)
                    if v27 == Enum.UserInputState.Begin then
                        if v13 then
                            v13:OnClick();
                            return ;
                        end;
                    elseif v27 == Enum.UserInputState.End then
                        if v13 then
                            v13:OnClickRelease();
                        end;
                        v11.SelectedTabClicked:fire(v13);
                    end;
                end, false, Enum.KeyCode.ButtonA);
                return ;
            end;
        end;
    end;
    v11.GetAnalyticsInfo = function(_)
        return {
            [l_Analytics_0.WidgetNames("WidgetId")] = l_Analytics_0.WidgetNames("TabDockId")
        };
    end;
    v11.FindFocusedTabByGuiObject = function(_, v32)
        if not (not v32 or not v32:IsDescendantOf(v16)) then
            for _, v34 in pairs(v12) do
                local v35 = v34 and v34:GetGuiObject();
                if v35 and v35 == v32 then
                    return v34;
                end;
            end;
        end;
    end;
    v11.IsFocused = function(v36)
        return v36:FindFocusedTabByGuiObject(l_GuiService_0.SelectedCoreObject) ~= nil;
    end;
    v11.SetSelectedTab = function(v37, v38)
        if v38 ~= v13 then
            if v13 then
                v13:SetSelected(false);
                v13:OnClickRelease();
            end;
            v13 = v38;
            if v13 then
                v13:SetSelected(true);
                if v37:IsFocused() then
                    local v39 = v13 and v13:GetGuiObject();
                    if v39 then
                        l_Utility_0.SetSelectedCoreObject(v39);
                    end;
                end;
            end;
            v11.SelectedTabChanged:fire(v13);
        end;
    end;
    if v7() > 0 then
        v11._SetSelectedTab = v11.SetSelectedTab;
        v11.SetSelectedTab = function(_, v41, v42)
            v11:_SetSelectedTab(v41);
            if v41 then
                if not v8() then
                    l_Analytics_0.reportNavigation(v42, v41:GetName());
                else
                    l_Analytics_0.reportNavigation(v42, v41:GetId());
                    return ;
                end;
            end;
        end;
    end;
    v11.Focus = function(v43)
        v43:Show();
        if v13 then
            v13:SetSelected(true);
            local v44 = v13 and v13:GetGuiObject();
            if v44 then
                l_Utility_0.SetSelectedCoreObject(v44);
            end;
        end;
    end;
    v11.GetSelectedTab = function(_)
        return v13;
    end;
    local v46 = 0;
    v11.ArrangeTabs = function(_)
        v46 = v46 + 1;
        local l_v46_0 = v46;
        local v49 = 0;
        for v50, v51 in pairs(v12) do
            local l_Offset_0 = v51:GetSize().X.Offset;
            local l_TabItemSpacing_0 = l_GlobalSettings_0.TabItemSpacing;
            if v50 == 1 then
                l_TabItemSpacing_0 = 0;
            end;
            if l_v46_0 == v46 then
                v51:SetPosition(UDim2.new(0, v49 + l_TabItemSpacing_0, 0, 0));
                local l_v51_GuiObject_0 = v51:GetGuiObject();
                if l_v51_GuiObject_0 then
                    local v55 = v12[v50 - 1] and v12[v50 - 1]:GetGuiObject();
                    local v56 = v12[v50 + 1] and v12[v50 + 1]:GetGuiObject();
                    l_v51_GuiObject_0.NextSelectionLeft = v55 or l_v51_GuiObject_0;
                    l_v51_GuiObject_0.NextSelectionRight = v56 or l_v51_GuiObject_0;
                end;
                v49 = (v49 + l_TabItemSpacing_0) + l_Offset_0;
            else
                return ;
            end;
        end;
    end;
    v11.FindTabIndex = function(_, v58)
        for v59, v60 in pairs(v12) do
            if v58 == v60 then
                return v59;
            end;
        end;
    end;
    v11.ContainsTab = function(v61, v62)
        return v61:FindTabIndex(v62) ~= nil;
    end;
    v11.GetTab = function(_, v64)
        return v12[v64];
    end;
    v11.GetNextTab = function(_)
        if not v13 then
            return ;
        else
            local l_v11_TabIndex_0 = v11:FindTabIndex(v13);
            return l_v11_TabIndex_0 and v12[l_v11_TabIndex_0 + 1];
        end;
    end;
    v11.GetPreviousTab = function(_)
        if not v13 then
            return ;
        else
            local l_v11_TabIndex_1 = v11:FindTabIndex(v13);
            return l_v11_TabIndex_1 and v12[l_v11_TabIndex_1 - 1];
        end;
    end;
    v11.AddTab = function(v69, v70)
        if not v69:FindTabIndex(v70) then
            local v71 = v70 and v70:GetGuiObject();
            if v71 then
                v71.SelectionImageObject = v17;
                v71.NextSelectionDown = v18;
            end;
            table.insert(v12, v70);
            v70:SetParent(v16);
            l_Utility_0.DisconnectEvent(v14[v70]);
            v14[v70] = v70.SizeChanged:connect(function()
                v69:ArrangeTabs();
            end);
            v69:ArrangeTabs();
            return v70;
        else
            l_Utility_0.DebugLog("Not adding tab:", v70:GetName(), "because that tab already exists.");
            return ;
        end;
    end;
    v11.RemoveTab = function(v72, v73)
        local l_v72_TabIndex_0 = v72:FindTabIndex(v73);
        if not l_v72_TabIndex_0 then
            return false;
        else
            table.remove(v12, l_v72_TabIndex_0);
            if v73 == v13 then
                v11:SetSelectedTab(nil);
            end;
            v73:SetParent(nil);
            l_Utility_0.DisconnectEvent(v14[v73]);
            v72:ArrangeTabs();
            return true;
        end;
    end;
    v11.SetParent = function(_, v76)
        v16.Parent = v76;
    end;
    v11.ConnectEvents = function(_)
        v29("SelectedCoreObject");
        v15 = l_GuiService_0.Changed:connect(v29);
    end;
    v11.DisconnectEvents = function(_)
        if v15 then
            v15:disconnect();
            v15 = nil;
        end;
    end;
    local l_TabDockTweenDuration_0 = l_GlobalSettings_0.TabDockTweenDuration;
    local function v80(v81, v82, v83, v84, v85)
        if v81 == nil then
            return ;
        else
            if not (not (v81:IsA("TextLabel") or v81:IsA("TextBox")) and not v81:IsA("TextButton")) then
                table.insert(v82, l_Utility_0.PropertyTweener(v81, "TextTransparency", v83, v84, v85, l_Utility_0.EaseOutQuad));
            end;
            for _, v87 in pairs(v81:GetChildren()) do
                v80(v87, v82, v83, v84, v85);
            end;
            return ;
        end;
    end;
    local v88 = {};
    local v89 = false;
    v11.Hide = function(_)
        if v89 then
            v89 = false;
            l_Utility_0.CancelTweens(v88);
            table.insert(v88, (l_Utility_0.PropertyTweener(v16, "Position", v9, v10, l_TabDockTweenDuration_0, l_Utility_0.SCurveUDim2)));
            v80(v16, v88, 0, 1, l_TabDockTweenDuration_0);
            return ;
        else
            return ;
        end;
    end;
    v11.Show = function(_)
        if not v89 then
            v89 = true;
            l_Utility_0.CancelTweens(v88);
            table.insert(v88, (l_Utility_0.PropertyTweener(v16, "Position", v10, v9, l_TabDockTweenDuration_0, l_Utility_0.SCurveUDim2)));
            v80(v16, v88, 1, 0, l_TabDockTweenDuration_0);
            return ;
        else
            return ;
        end;
    end;
    return v11;
end;


local l_TextService_0 = game:GetService("TextService");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_Analytics_0 = require(l_Shell_0:FindFirstChild("Analytics"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
return function(v7, v8, v9)
    local v10 = {};
    local v11 = false;
    local v12 = false;
    v10.SizeChanged = l_Utility_0.Signal();
    v10.Clicked = l_Utility_0.Signal();
    local v13 = l_Utility_0.Create("TextLabel")({
        Size = UDim2.new(0, 100, 1, 0),
        BackgroundTransparency = 1,
        Name = "TabItem",
        Selectable = false,
        Text = ""
    });
    local v14 = l_Utility_0.Create("TextLabel")({
        Text = v7,
        Size = UDim2.new(1, 0, 1, 0),
        Position = UDim2.new(0, 0, 0, 0),
        BackgroundTransparency = 1,
        Name = "LargeText",
        FontSize = l_GlobalSettings_0.HeaderSize,
        Font = l_GlobalSettings_0.LightFont,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Visible = true,
        Parent = v13,
        Selectable = false
    });
    v13.Size = UDim2.new(0, l_TextService_0:GetTextSize(v14.Text, l_Utility_0.ConvertFontSizeEnumToInt(v14.FontSize), v14.Font, Vector2.new()).X + 20, 1, 0);
    v10.SizeChanged:fire(v13.Size);
    local v15 = l_Utility_0.Create("TextLabel")({
        Text = v7,
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(0.5, 0, 0.5, 0),
        Name = "SmallText",
        FontSize = l_GlobalSettings_0.MediumFontSize,
        Font = l_GlobalSettings_0.LightFont,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        BackgroundTransparency = 1,
        Visible = false,
        Selectable = false,
        Parent = v13
    });
    local function v19(v16, v17)
        if v16 and type(v16.GetAnalyticsInfo) == "function" then
            local l_v16_AnalyticsInfo_0 = v16:GetAnalyticsInfo();
            if not (not (type(l_v16_AnalyticsInfo_0) == "table") or not l_v16_AnalyticsInfo_0[l_Analytics_0.WidgetNames("WidgetId")]) then
                l_v16_AnalyticsInfo_0.Status = v17;
                l_Analytics_0.SetRBXEventStream("Widget", l_v16_AnalyticsInfo_0);
            end;
        end;
    end;
    local function _()
        if not v11 then
            v14.TextColor3 = l_GlobalSettings_0.BlueTextColor;
            return ;
        else
            v14.TextColor3 = l_GlobalSettings_0.WhiteTextColor;
            v19(v8, "Select");
            return ;
        end;
    end;
    v10.GetContentItem = function(_)
        return v8;
    end;
    v10.GetGuiObject = function(_)
        return v13;
    end;
    v10.SetSelected = function(_, v24)
        if v11 ~= v24 then
            v11 = v24;
            if not v11 then
                v14.TextColor3 = l_GlobalSettings_0.BlueTextColor;
            else
                v14.TextColor3 = l_GlobalSettings_0.WhiteTextColor;
                v19(v8, "Select");
                return ;
            end;
        end;
    end;
    v10.GetSelected = function(_)
        return v11;
    end;
    v10.GetId = function(_)
        return v9;
    end;
    v10.GetName = function(_)
        return v7;
    end;
    v10.GetSize = function(_)
        return v13.Size;
    end;
    v10.OnClick = function(_)
        v15.Visible = true;
        v14.Visible = false;
        l_SoundManager_0:Play("ButtonPress");
    end;
    v10.OnClickRelease = function(_)
        v15.Visible = false;
        v14.Visible = true;
    end;
    v10.SetFocused = function(v31, v32)
        if v12 ~= v32 then
            v12 = v32;
            if not v12 then
                v31:OnClickRelease();
            else
                for _, v34 in pairs(l_UserInputService_0:GetGamepadState(Enum.UserInputType.Gamepad1)) do
                    if v34.KeyCode == Enum.KeyCode.ButtonA and v34.UserInputState == Enum.UserInputState.Begin then
                        v31:OnClick();
                    end;
                end;
                return ;
            end;
        end;
    end;
    v10.SetPosition = function(_, v36)
        v13.Position = v36;
    end;
    v10.SetParent = function(_, v38)
        v13.Parent = v38;
    end;
    if not v11 then
        v14.TextColor3 = l_GlobalSettings_0.BlueTextColor;
    else
        v14.TextColor3 = l_GlobalSettings_0.WhiteTextColor;
        v19(v8, "Select");
    end;
    return v10;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
return function(v3)
    local v4 = {};
    local v5 = l_Utility_0.Create("Frame")({
        Name = "Container",
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1
    });
    local v6 = l_Utility_0.Create("ImageButton")({
        Name = "BackButton",
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Lobby/Buttons/nine_slice_button.png",
        ImageColor3 = l_GlobalSettings_0.GreyButtonColor,
        Size = UDim2.new(0, 175, 0, 48),
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(9, 9, 39, 39)
    });
    local v7 = l_Utility_0.Create("ImageLabel")({
        Name = "BackImage",
        Size = UDim2.new(0, 48, 0, 48),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/BackIcon@1080.png",
        Parent = v5
    });
    local v8 = l_Utility_0.Create("TextLabel")({
        Name = "BackText",
        Size = UDim2.new(0, 0, 0, v7.Size.Y.Offset),
        Position = UDim2.new(0, v7.Size.X.Offset + 8, 0, 0),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.ButtonSize,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Text = "",
        Parent = v5
    });
    local v9 = l_Utility_0.Create("TextLabel")({
        Name = "TitleText",
        Size = UDim2.new(0, 0, 0, 35),
        Position = UDim2.new(0, 16, 0, v7.Size.Y.Offset + 74),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.LightFont,
        FontSize = l_GlobalSettings_0.HeaderSize,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Text = "",
        Parent = v5
    });
    v4.Container = v5;
    v4.BackImage = v7;
    v4.BackText = v8;
    v4.TitleText = v9;
    v4.SetBackText = function(_, v11)
        local l_TextSize_0 = game:GetService("TextService"):GetTextSize(v11, l_Utility_0.ConvertFontSizeEnumToInt(v8.FontSize), v8.Font, Vector2.new());
        local v13 = (v6.Size.Y.Offset - v7.Size.Y.Offset) / 2;
        v8.Text = v11;
        v6.Size = UDim2.new(0, ((v13 * 2 + l_TextSize_0.X) + v7.Size.X.Offset) + 8, v6.Size.Y.Scale, v6.Size.Y.Offset);
    end;
    v4:SetBackText(v3:GetBackText());
    v6.MouseButton1Click:connect(function()
        v3:OnBackButtonClick();
    end);
    return v4;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_BaseScreen_0 = require(l_Shell_0:FindFirstChild("Templates"):FindFirstChild("BaseScreen"));
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
local l_LocalizedStrings_0 = require(l_Shell_0:FindFirstChild("LocalizedStrings"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
return function(v6)
    local v7 = l_BaseScreen_0(v6);
    local v8 = l_Utility_0.Create("TextLabel")({
        Name = "VersionBuildIdText",
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.TitleSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        TextXAlignment = Enum.TextXAlignment.Right,
        TextYAlignment = Enum.TextYAlignment.Bottom,
        Text = "",
        Parent = v7.Container
    });
    local l_v6_VersionInfo_0 = v6:GetVersionInfo();
    v8.Text = string.format(l_LocalizedStrings_0:LocalizedString("VersionIdString"), tostring(l_v6_VersionInfo_0.Major), tostring(l_v6_VersionInfo_0.Minor), tostring(l_v6_VersionInfo_0.Build), (tostring(l_v6_VersionInfo_0.Revision)));
    l_v6_VersionInfo_0 = l_GlobalSettings_0.TextBoxDefaultTransparency;
    local l_TextBoxSelectedTransparency_0 = l_GlobalSettings_0.TextBoxSelectedTransparency;
    local v11 = l_Utility_0.Create("TextButton")({
        Name = "AccountButton",
        Size = UDim2.new(0, 394, 0, 612),
        Position = UDim2.new(0, 217, 0, 238),
        BackgroundTransparency = l_v6_VersionInfo_0,
        BackgroundColor3 = l_GlobalSettings_0.TextBoxColor,
        BorderSizePixel = 0,
        Text = "",
        Parent = v7.Container;
        l_SoundManager_0:CreateSound("MoveSelection")
    });
    v7.AccountButton = v11;
    v7.Spacing = 40;
    local _ = l_Utility_0.Create("ImageLabel")({
        Name = "AccountIcon",
        Size = UDim2.new(0, 256, 0, 256),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/AccountIcon.png",
        Parent = v11,
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 0, 0.5, 0)
    });
    local _ = l_Utility_0.Create("TextLabel")({
        Name = "AccountText",
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(0.5, 0, 1, -96),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.TitleSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Text = l_LocalizedStrings_0:LocalizedString("AccountWord"),
        Parent = v11
    });
    v11.SelectionGained:connect(function()
        l_Utility_0.PropertyTweener(v11, "BackgroundTransparency", l_TextBoxSelectedTransparency_0, l_TextBoxSelectedTransparency_0, 0, l_Utility_0.EaseInOutQuad, true);
    end);
    v11.SelectionLost:connect(function()
        v11.BackgroundTransparency = l_v6_VersionInfo_0;
    end);
    v11.MouseButton1Click:connect(function()
        l_SoundManager_0:Play("ButtonPress");
        v6:OpenAccountScreen();
    end);
    v7.GetDefaultSelectionObject = function(_)
        return v11;
    end;
    return v7;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_SettingsScreenBase_0 = require(l_Shell_0:FindFirstChild("Templates"):FindFirstChild("SettingsScreenBase"));
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local l_LocalizedStrings_0 = require(l_Shell_0:FindFirstChild("LocalizedStrings"));
return function(v6)
    local v7 = l_SettingsScreenBase_0(v6);
    local l_TextBoxDefaultTransparency_0 = l_GlobalSettings_0.TextBoxDefaultTransparency;
    local l_TextBoxSelectedTransparency_0 = l_GlobalSettings_0.TextBoxSelectedTransparency;
    local l_Spacing_0 = v7.Spacing;
    local v11 = l_Utility_0.Create("TextButton")({
        Name = "SwitchProfileButton",
        Size = UDim2.new(0, 394, 0, 612),
        Position = UDim2.new(0, (v7.AccountButton.Position.X.Offset + v7.AccountButton.Size.X.Offset) + l_Spacing_0, 0, 238),
        BackgroundTransparency = l_TextBoxDefaultTransparency_0,
        BackgroundColor3 = l_GlobalSettings_0.TextBoxColor,
        BorderSizePixel = 0,
        Text = "",
        Parent = v7.Container;
        l_SoundManager_0:CreateSound("MoveSelection")
    });
    local v12 = v11:Clone();
    v12.Name = "OverscanButton";
    v12.Position = UDim2.new(0, (v11.Position.X.Offset + v11.Size.X.Offset) + l_Spacing_0, 0, 238);
    v12.Parent = v7.Container;
    local _ = l_Utility_0.Create("ImageLabel")({
        Name = "SwitchProfileIcon",
        Size = UDim2.new(0, 224, 0, 255),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/ProfileIcon.png",
        Parent = v11,
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 0, 0.5, 0)
    });
    local v14 = l_Utility_0.Create("TextLabel")({
        Name = "SwitchProfileText",
        Size = UDim2.new(0, 0, 0, 0),
        Position = UDim2.new(0.5, 0, 1, -96),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.TitleSize,
        TextColor3 = l_GlobalSettings_0.WhiteTextColor,
        Text = l_LocalizedStrings_0:LocalizedString("SwitchProfileWord"),
        Parent = v11
    });
    local _ = l_Utility_0.Create("ImageLabel")({
        Name = "OverscanIcon",
        Size = UDim2.new(0, 256, 0, 181),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/TVIcon.png",
        Parent = v12,
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 0, 0.5, 0)
    });
    local v16 = v14:Clone();
    v16.Name = "OverscanText";
    v16.Text = l_LocalizedStrings_0:LocalizedString("OverscanWord");
    v16.Parent = v12;
    v11.SelectionGained:connect(function()
        l_Utility_0.PropertyTweener(v11, "BackgroundTransparency", l_TextBoxSelectedTransparency_0, l_TextBoxSelectedTransparency_0, 0, l_Utility_0.EaseInOutQuad, true);
    end);
    v11.SelectionLost:connect(function()
        v11.BackgroundTransparency = l_TextBoxDefaultTransparency_0;
    end);
    v12.SelectionGained:connect(function()
        l_Utility_0.PropertyTweener(v12, "BackgroundTransparency", l_TextBoxSelectedTransparency_0, l_TextBoxSelectedTransparency_0, 0, l_Utility_0.EaseInOutQuad, true);
    end);
    v12.SelectionLost:connect(function()
        v12.BackgroundTransparency = l_TextBoxDefaultTransparency_0;
    end);
    local v17 = false;
    v11.MouseButton1Click:connect(function()
        l_SoundManager_0:Play("ButtonPress");
        if not v17 then
            v17 = true;
            v6:OpenSwitchProfileScreen();
            v17 = false;
            return ;
        else
            return ;
        end;
    end);
    local v18 = false;
    v12.MouseButton1Click:connect(function()
        l_SoundManager_0:Play("ButtonPress");
        if not v18 then
            v18 = true;
            v6:OpenOverscanScreen();
            v18 = false;
            return ;
        else
            return ;
        end;
    end);
    return v7;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local v1 = nil;
pcall(function()
    v1 = game:GetService("PlatformService");
end);
local l_GlobalSettings_0 = require(l_Shell_0:FindFirstChild("GlobalSettings"));
local l_SoundManager_0 = require(l_Shell_0:FindFirstChild("SoundManager"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
return function(v5)
    local v6 = {
        GetDefaultText = nil
    };
    local v7 = Vector2.new();
    local v8 = "";
    local v9 = "";
    local v10 = "";
    local v11 = not UserSettings().GameSettings:InStudioMode() and Enum.XboxKeyBoardType.Default;
    local v12 = "";
    local v13 = nil;
    local v14 = true;
    v6.OnTextChanged = l_Utility_0.Signal();
    local v15 = l_Utility_0.Create("ImageLabel")({
        Name = "SelectionBox",
        Image = "rbxasset://textures/ui/SelectionBox.png",
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(21, 21, 41, 41),
        BackgroundTransparency = 1
    });
    local v16 = l_Utility_0.Create("ImageButton")({
        Name = "TextBoxFrame",
        Size = v5,
        BackgroundTransparency = 1,
        ImageColor3 = l_GlobalSettings_0.TextBoxColor,
        ImageTransparency = l_GlobalSettings_0.TextBoxDefaultTransparency,
        Image = l_GlobalSettings_0.RoundCornerButtonImage,
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(Vector2.new(4, 4), Vector2.new(28, 28));
        l_SoundManager_0:CreateSound("MoveSelection")
    });
    local v17 = l_Utility_0.Create("TextLabel")({
        Name = "DefaultTextLabel",
        Size = UDim2.new(1, -v7.x * 2, 1, -v7.y * 2),
        Position = UDim2.new(0, v7.x, 0, v7.y),
        BackgroundTransparency = 1,
        Font = l_GlobalSettings_0.RegularFont,
        FontSize = l_GlobalSettings_0.ButtonSize,
        TextColor3 = l_GlobalSettings_0.TextSelectedColor,
        TextXAlignment = Enum.TextXAlignment.Left,
        ZIndex = 2,
        Parent = v16
    });
    local function v18()
        v17.Size = UDim2.new(1, -v7.x * 2, 1, -v7.y * 2);
        v17.Position = UDim2.new(0, v7.x, 0, v7.y);
        v15.Size = UDim2.new(1, v7.x * 2 + 24, 1, v7.y * 2 + 24);
        v15.Position = UDim2.new(0, -v7.x - 12, 0, -v7.y - 12);
    end;
    v18();
    local function v20(v19)
        if not UserSettings().GameSettings:InStudioMode() then
            v12 = v19;
            if #v12 == 0 then
                v17.Text = v6:GetDefaultText();
            elseif v11 == Enum.XboxKeyBoardType.Password then
                v17.Text = string.rep("*", #v12);
            else
                v17.Text = v12;
            end;
            v17.Visible = true;
            l_Utility_0.DisconnectEvent(v13);
            v6.OnTextChanged:fire(v12);
            return ;
        else
            return ;
        end;
    end;
    v16.MouseButton1Click:connect(function()
        if v14 then
            if UserSettings().GameSettings:InStudioMode() or game:GetService("UserInputService"):GetPlatform() == Enum.Platform.Windows then
                l_Utility_0.DebugLog("Warning: virtual keyboard not accessable in studio");
            elseif v1 then
                v17.Visible = false;
                v1:ShowKeyboard(v9, v10, v12 or "", v11);
            end;
            l_Utility_0.DisconnectEvent(v13);
            if v1 then
                v13 = v1.KeyboardClosed:connect(v20);
            end;
        end;
    end);
    v16.SelectionGained:connect(function()
        l_Utility_0.PropertyTweener(v16, "ImageTransparency", l_GlobalSettings_0.TextBoxSelectedTransparency, l_GlobalSettings_0.TextBoxSelectedTransparency, 0, l_Utility_0.EaseInOutQuad, true);
    end);
    v16.SelectionLost:connect(function()
        l_Utility_0.PropertyTweener(v16, "ImageTransparency", l_GlobalSettings_0.TextBoxDefaultTransparency, l_GlobalSettings_0.TextBoxDefaultTransparency, 0, l_Utility_0.EaseInOutQuad, true);
    end);
    v6.SetKeyboardTitle = function(_, v22)
        v9 = v22;
    end;
    v6.SetKeyboardDescription = function(_, v24)
        v10 = v24;
    end;
    v6.SetKeyboardType = function(_, v26)
        v11 = v26;
    end;
    v6.SetEnabled = function(_, v28)
        v14 = v28;
    end;
    v6.SetParent = function(_, v30)
        v16.Parent = v30;
    end;
    v6.SetPosition = function(_, v32)
        v16.Position = v32;
    end;
    v6.SetSpacing = function(_, v34)
        v7 = v34;
        v18();
    end;
    v6.SetDefaultText = function(_, v36)
        v8 = v36;
        v17.Text = v8;
    end;
    v6.SetFont = function(_, v38)
        v17.Font = v38;
    end;
    v6.SetFontSize = function(_, v40)
        v17.FontSize = v40;
    end;
    v6.SetClipsDescendants = function(_, v42)
        v17.ClipsDescendants = v42;
    end;
    v6.SetVisible = function(_, _)
        v16.Visible = false;
    end;
    v6.GetContainer = function(_)
        return v16;
    end;
    v6.GetTextBox = function(_)
        return v17;
    end;
    v6.GetDefaultText = function(_)
        return v8;
    end;
    return v6;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_ContentProvider_0 = game:GetService("ContentProvider");
local l_Players_0 = game:GetService("Players");
local l_LoadingWidget_0 = require(l_Shell_0:FindFirstChild("LoadingWidget"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local v5 = {};
local l_Decal_0 = Instance.new("Decal");
local function _(v7)
    l_Decal_0.Texture = v7;
    l_ContentProvider_0:PreloadAsync({
        l_Decal_0
    });
end;
v5.Sizes = {
    Small = Vector2.new(100, 100),
    Medium = Vector2.new(420, 420),
    Large = Vector2.new(768, 432)
};
v5.GameIconSizes = {
    Small = Vector2.new(128, 128),
    Medium = Vector2.new(256, 256),
    Large = Vector2.new(512, 512)
};
v5.AvatarSizes = {
    Size48x48 = Vector2.new(48, 48),
    Size150x150 = Vector2.new(150, 150),
    Size352x352 = Vector2.new(352, 352),
    Size420x420 = Vector2.new(420, 420)
};
v5.SubstitutionTypeResult = {
    None = 0,
    Unapproved = 1,
    PendingReview = 2,
    Broken = 3,
    Unavailable = 4,
    Unknown = 5
};
v5.AssetType = {
    Icon = {
        SetImageUrl = "rbxthumb://type=Asset&w=%d&h=%d&id=%d"
    },
    SquareIcon = {
        SetImageUrl = "rbxthumb://type=GameIcon&w=%d&h=%d&id=%d"
    },
    Avatar = {
        SetImageUrl = "rbxthumb://type=Avatar&w=%d&h=%d&id=%d"
    },
    Outfit = {
        SetImageUrl = "rbxthumb://type=Outfit&w=%d&h=%d&id=%d"
    }
};
v5.Create = function(_, v10, v11, v12, v13, v14)
    local v15 = {};
    local v16 = false;
    local v17 = false;
    local v18 = false;
    local v19 = string.format(v13.SetImageUrl, v12.x, v12.y, v11 or -1);
    if v14 then
        v19 = v19 .. "&filters=" .. tostring(tick());
    end;
    local v20 = nil;
    local v21 = nil;
    v20 = function()
        local l_BindableEvent_0 = Instance.new("BindableEvent");
        delay(0.5, function()
            l_BindableEvent_0:Fire(false);
        end);
        coroutine.wrap(function()
            l_ContentProvider_0:PreloadAsync({
                v19
            }, function(_, v24)
                v18 = v24 == Enum.AssetFetchStatus.Success;
                l_BindableEvent_0:Fire(v24 == Enum.AssetFetchStatus.Success);
            end);
        end)();
        return l_BindableEvent_0.Event:Wait();
    end;
    v21 = function()
        v16 = true;
        v18 = false;
        l_ContentProvider_0:PreloadAsync({
            v19
        }, function(_, v26)
            v16 = false;
            v18 = v26 == Enum.AssetFetchStatus.Success;
        end);
    end;
    local v27 = nil;
    v15.LoadAsync = function(_, v29, v30, v31)
        v31 = v31 or {};
        if v11 then
            if v29 == nil then
                v29 = true;
            end;
            if v30 == nil then
                v30 = true;
            end;
            v10.Image = "";
            if v30 then
                local _ = l_Utility_0.PropertyTweener(v10, "ImageTransparency", 1, 1, 0, l_Utility_0.EaseInOutQuad, true, nil);
            end;
            if not v20() then
                if not v29 then
                    v21();
                else
                    v31.Parent = v31.Parent or v10;
                    v27 = l_LoadingWidget_0(v31, {
                        v21
                    });
                    v27:AwaitFinished();
                    v27:Cleanup();
                end;
            end;
            if not v17 then
                v10.Image = not not v18 and v19 or "";
                if v30 then
                    local _ = l_Utility_0.PropertyTweener(v10, "ImageTransparency", 1, 0, 0.25, l_Utility_0.EaseInOutQuad, true, nil);
                end;
            end;
            return v18;
        else
            return ;
        end;
    end;
    v15.Cancel = function(_)
        v16 = false;
        v17 = true;
    end;
    v15.SetTransparency = function(_, v36)
        if v27 then
            v27:SetTransparency(v36);
        end;
    end;
    return v15;
end;
v5.LoadAvatarThumbnailAsync = function(_, v38, v39, v40, v41, v42)
    local v43 = {};
    local v44 = false;
    local v45 = false;
    local v46 = false;
    local v47 = nil;
    local v48 = false;
    local function v53()
        local l_status_0, _ = pcall(function()
            local l_l_Players_0_UserThumbnailAsync_0, v50 = l_Players_0:GetUserThumbnailAsync(v39, v40, v41);
            v47 = l_l_Players_0_UserThumbnailAsync_0;
            v48 = v50;
        end);
        if (not l_status_0 or not v47) or not v48 then
            return false;
        else
            v46 = true;
            if v42 then
                v47 = v47 .. "&cb=" .. tostring(tick());
            end;
            l_Decal_0.Texture = v47;
            l_ContentProvider_0:PreloadAsync({
                l_Decal_0
            });
            return true;
        end;
    end;
    local function v55()
        local v54 = 0;
        v44 = true;
        v46 = false;
        while not (((not (v54 <= 6) or not v44) or v45) or v53()) do
            v54 = v54 + 1;
            wait(v54 ^ 2);
        end;
        v44 = false;
    end;
    local v56 = nil;
    v43.LoadAsync = function(_, v58, v59, v60)
        v60 = v60 or {};
        if v39 then
            if v58 == nil then
                v58 = true;
            end;
            if v59 == nil then
                v59 = true;
            end;
            v38.Image = "";
            if v59 then
                local _ = l_Utility_0.PropertyTweener(v38, "ImageTransparency", 1, 1, 0, l_Utility_0.EaseInOutQuad, true, nil);
            end;
            if not v53() then
                if not v58 then
                    v55();
                else
                    v60.Parent = v60.Parent or v38;
                    v56 = l_LoadingWidget_0(v60, {
                        v55
                    });
                    v56:AwaitFinished();
                    v56:Cleanup();
                end;
            end;
            if not v45 then
                v38.Image = not not v46 and v47 or "";
                if v59 then
                    local _ = l_Utility_0.PropertyTweener(v38, "ImageTransparency", 1, 0, 0.25, l_Utility_0.EaseInOutQuad, true, nil);
                end;
            end;
            return v46;
        else
            return ;
        end;
    end;
    v43.Cancel = function(_)
        v44 = false;
        v45 = true;
    end;
    v43.SetTransparency = function(_, v65)
        if v56 then
            v56:SetTransparency(v65);
        end;
    end;
    return v43;
end;
return v5;


local l_Shell_0 = game:GetService("CoreGui").RobloxGui.Modules:FindFirstChild("Shell");
local l_SafeAsyncRodux_0 = require(l_Shell_0:FindFirstChild("SafeAsyncRodux"));
local l_Players_0 = game:GetService("Players");
local v3 = require(l_Shell_0.Actions.FetchUserThumbnail);
local v4 = require(l_Shell_0.Actions.SetUserThumbnail);
local l_ContentProvider_0 = game:GetService("ContentProvider");
local l_Decal_0 = Instance.new("Decal");
local function _(v7)
    l_Decal_0.Texture = v7;
    l_ContentProvider_0:PreloadAsync({
        l_Decal_0
    });
end;
local function v27(v9, v10, v11, v12, v13)
    l_SafeAsyncRodux_0({
        asyncFunc = function(_, v15, v16, v17)
            local v18 = nil;
            local v19 = nil;
            local v22 = pcall(function()
                local l_l_Players_0_UserThumbnailAsync_0, v21 = l_Players_0:GetUserThumbnailAsync(v15, v16, v17);
                v18 = l_l_Players_0_UserThumbnailAsync_0;
                v19 = v21;
            end);
            if (not v22 or not v19) or not v18 then
                v18 = nil;
            else
                l_Decal_0.Texture = v18;
                l_ContentProvider_0:PreloadAsync({
                    l_Decal_0
                });
            end;
            return {
                success = v22,
                rbxuid = v15,
                thumbnailType = v16,
                thumbnailSize = v17,
                imageUrl = v18,
                isFinal = v19,
                timestamp = tick()
            };
        end,
        callback = function(v23, v24)
            v23:dispatch(v4(v24));
        end,
        retries = v13,
        retryFunc = function(_, v26)
            return not (v26.success and v26.isFinal);
        end,
        userRelated = true
    })(v9, v10, v11, v12);
end;
return function(v28, v29, v30, v31, v32)
    return function(v33)
        local v34 = v33:getState().UserThumbnails[table.concat({
            v28,
            v29.Name,
            v30.Name
        })];
        if v34 then
            if not v34.isFetching then
                if not (not v34.imageUrl or v32) then
                    return ;
                end;
            else
                return ;
            end;
        end;
        v33:dispatch(v3({
            rbxuid = v28,
            thumbnailType = v29,
            thumbnailSize = v30
        }));
        spawn(function()
            v27(v33, v28, v29, v30, v31);
        end);
    end;
end;


local l_Shell_0 = game:GetService("CoreGui").RobloxGui.Modules:FindFirstChild("Shell");
local l_Http_0 = require(l_Shell_0:FindFirstChild("Http"));
local l_SafeAsyncRodux_0 = require(l_Shell_0:FindFirstChild("SafeAsyncRodux"));
local v3 = require(l_Shell_0.Actions.RequestCrossPlayEnabled);
local v4 = require(l_Shell_0.Actions.SetCrossPlayEnabled);
local v5 = require(l_Shell_0.Actions.GetCrossPlayEnabledFailed);
local v6 = require(l_Shell_0.Actions.PostCrossPlayEnabledFailed);
local v7 = require(l_Shell_0.Actions.AddError);
local l_Errors_0 = require(l_Shell_0:FindFirstChild("Errors"));
local v13 = l_SafeAsyncRodux_0({
    asyncFunc = function(_)
        local v10 = l_Http_0.GetCrossplayEnabledStatusAsync();
        if v10 ~= nil then
            return v10.xboxCrossPlaySetting.isEnabled;
        else
            return ;
        end;
    end,
    callback = function(v11, v12)
        if v12 ~= nil then
            v11:dispatch(v4(v12, tick()));
            return ;
        else
            v11:dispatch(v5());
            v11:dispatch(v7(l_Errors_0.CPPSettingError.SetCPPSettingError, tick()));
            return ;
        end;
    end,
    userRelated = true
});
local v18 = l_SafeAsyncRodux_0({
    asyncFunc = function(_, v15)
        if not l_Http_0.PostCrossplayStatusAsync(v15) then
            return ;
        else
            return v15;
        end;
    end,
    callback = function(v16, v17)
        if v17 ~= nil then
            v16:dispatch(v4(v17, tick()));
            return ;
        else
            v16:dispatch(v6());
            return ;
        end;
    end,
    userRelated = true
});
return function(v19)
    return function(v20)
        local l_CrossPlayEnabledState_0 = v20:getState().CrossPlayEnabledState;
        local l_isRequesting_0 = l_CrossPlayEnabledState_0.isRequesting;
        if v19 == "GET" then
            if not l_isRequesting_0 then
                v20:dispatch(v3());
                spawn(function()
                    v13(v20);
                end);
                return ;
            end;
        elseif v19 == "POST" then
            local l_enabled_0 = l_CrossPlayEnabledState_0.enabled;
            if not l_isRequesting_0 and l_enabled_0 ~= nil then
                v20:dispatch(v3());
                local v24 = not l_enabled_0;
                spawn(function()
                    v18(v20, v24);
                end);
            end;
        end;
    end;
end;


local l_Shell_0 = game:GetService("CoreGui").RobloxGui.Modules:FindFirstChild("Shell");
local l_SafeAsyncRodux_0 = require(l_Shell_0:FindFirstChild("SafeAsyncRodux"));
local v2 = nil;
pcall(function()
    v2 = game:GetService("PlatformService");
end);
local v3 = require(l_Shell_0.Actions.FetchPrivilegeSettings);
local v4 = require(l_Shell_0.Actions.SetPrivilegeSettings);
local v5 = {
    USER_CREATED_CONTENT = 247,
    MULTIPLAYER_SESSIONS = 254
};
local v12 = l_SafeAsyncRodux_0({
    asyncFunc = function(_)
        local v7 = {};
        if not pcall(function()
            local v8 = v2:BeginCheckXboxPrivilege(v5.MULTIPLAYER_SESSIONS);
            local v9 = v2:BeginCheckXboxPrivilege(v5.USER_CREATED_CONTENT);
            v7.Multiplayer = {
                hasPrivilege = v8.CanJoinGame,
                status = v8.PrivilegeCheckResult
            };
            v7.SharedContent = {
                hasPrivilege = v9.CanJoinGame,
                status = v9.PrivilegeCheckResult
            };
        end) then
            v7.Multiplayer = {
                hasPrivilege = false,
                status = "Error"
            };
            v7.SharedContent = {
                hasPrivilege = false,
                status = "Error"
            };
        end;
        v7.timestamp = tick();
        return v7;
    end,
    callback = function(v10, v11)
        v10:dispatch(v4(v11));
    end,
    userRelated = true
});
return function()
    return function(v13)
        v13:dispatch(v3());
        spawn(function()
            v12(v13);
        end);
    end;
end;


local l_Shell_0 = game:GetService("CoreGui").RobloxGui.Modules.Shell;
local v1 = require(l_Shell_0.BaseOverlay);
local v2 = require(l_Shell_0.GlobalSettings);
local v3 = require(l_Shell_0.SoundManager);
local v4 = require(l_Shell_0.LocalizedStrings);
local v5 = require(l_Shell_0.Utility);
local v6 = require(l_Shell_0.Analytics);
return function(v7, v8)
    local v9 = v1();
    local l_Title_0 = v7.Title;
    local l_Msg_0 = v7.Msg;
    v9:SetImage((v5.Create("ImageLabel")({
        Name = "ReportIcon",
        Position = UDim2.new(0, 226, 0, 204),
        BackgroundTransparency = 1,
        Image = "rbxasset://textures/ui/Shell/Icons/ErrorIconLargeCopy@1080.png",
        Size = UDim2.new(0, 321, 0, 264)
    })));
    v5.Create("TextLabel")({
        Name = "DescriptionText",
        Size = UDim2.new(0, 762, 0, 304),
        Position = UDim2.new(0, v9.RightAlign, 0, v5.Create("TextLabel")({
            Name = "TitleText",
            Size = UDim2.new(0, 0, 0, 0),
            Position = UDim2.new(0, v9.RightAlign, 0, 136),
            BackgroundTransparency = 1,
            Font = v2.RegularFont,
            FontSize = v2.HeaderSize,
            TextColor3 = v2.WhiteTextColor,
            Text = l_Title_0,
            TextXAlignment = Enum.TextXAlignment.Left,
            Parent = v9.Container
        }).Position.Y.Offset + 62),
        BackgroundTransparency = 1,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Top,
        Font = v2.LightFont,
        FontSize = v2.TitleSize,
        TextColor3 = v2.WhiteTextColor,
        TextWrapped = true,
        Text = l_Msg_0,
        Parent = v9.Container
    });
    local v12 = v5.Create("TextButton")({
        Name = "OkButton",
        Size = UDim2.new(0, 320, 0, 66),
        Position = UDim2.new(0, v9.RightAlign, 1, -166),
        BorderSizePixel = 0,
        BackgroundColor3 = v2.GreyButtonColor,
        Font = v2.RegularFont,
        FontSize = v2.ButtonSize,
        TextColor3 = v2.WhiteTextColor,
        Text = v4:LocalizedString("ConfirmWord"),
        Parent = v9.Container;
        v3:CreateSound("MoveSelection")
    });
    v5.ResizeButtonWithText(v12, v12, v2.TextHorizontalPadding);
    local v13 = v5.Create("TextButton")({
        Name = "CancelButton",
        Position = UDim2.new(0, (v12.Position.X.Offset + v12.Size.X.Offset) + 10, 1, -166),
        Size = UDim2.new(0, 320, 0, 66),
        BorderSizePixel = 0,
        BackgroundColor3 = v2.BlueButtonColor,
        Font = v2.RegularFont,
        FontSize = v2.ButtonSize,
        TextColor3 = v2.TextSelectedColor,
        Text = v4:LocalizedString("CancelWord"),
        Parent = v9.Container;
        v3:CreateSound("MoveSelection")
    });
    v5.ResizeButtonWithText(v13, v13, v2.TextHorizontalPadding);
    v12.SelectionGained:connect(function()
        v12.BackgroundColor3 = v2.GreySelectedButtonColor;
        v12.TextColor3 = v2.TextSelectedColor;
    end);
    v12.SelectionLost:connect(function()
        v12.BackgroundColor3 = v2.GreyButtonColor;
        v12.TextColor3 = v2.WhiteTextColor;
    end);
    v13.SelectionGained:connect(function()
        v13.BackgroundColor3 = v2.GreySelectedButtonColor;
        v13.TextColor3 = v2.TextSelectedColor;
    end);
    v13.SelectionLost:connect(function()
        v13.BackgroundColor3 = v2.GreyButtonColor;
        v13.TextColor3 = v2.WhiteTextColor;
    end);
    v13.MouseButton1Click:connect(function()
        v9:Close();
    end);
    v9.GetAnalyticsInfo = function(_)
        return {
            [v6.WidgetNames("WidgetId")] = v6.WidgetNames("UnlinkAccountOverlayId"),
            Title = v7.Title
        };
    end;
    v12.MouseButton1Click:connect(function()
        if not (not v9:Close() or not v8) then
            v8();
        end;
    end);
    local l_Focus_0 = v9.Focus;
    v9.Focus = function(v16)
        l_Focus_0(v16);
        v5.SetSelectedCoreObject(v13);
    end;
    v9.GetOverlaySound = function(_)
        return "Error";
    end;
    return v9;
end;


local l_Shell_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui"):FindFirstChild("Modules"):FindFirstChild("Shell");
local l_Players_0 = game:GetService("Players");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_Http_0 = require(l_Shell_0:FindFirstChild("Http"));
local l_Utility_0 = require(l_Shell_0:FindFirstChild("Utility"));
local v5 = {};
local v6 = nil;
local function v8()
    local v7 = l_Http_0.GetUserVoteCountFromVotingApiAsync();
    v6.VoteCount = not not v7 and v7.voteCount or 0;
end;
v5.Initialize = function(_)
    if v6 then
        l_Utility_0.DebugLog("Trying to initialize UserData when we already have valid data.");
    end;
    v6 = {};
    if l_UserInputService_0:GetPlatform() == Enum.Platform.XBoxOne then
        spawn(v8);
    end;
end;
v5.GetVoteCount = function(_)
    if v6 then
        return v6.VoteCount;
    else
        l_Utility_0.DebugLog("Error: UserData:GetVoteCount() - UserData has not been initialized. Don't do that");
        return nil;
    end;
end;
v5.IncrementVote = function(_)
    v6.VoteCount = (v6.VoteCount or 0) + 1;
end;
v5.DecrementVote = function(_)
    v6.VoteCount = math.max((v6.VoteCount or 0) - 1, 0);
end;
v5.Reset = function(_)
    v6 = nil;
end;
v5.GetLocalUserIdAsync = function()
    return v5.GetLocalPlayerAsync().userId;
end;
v5.GetLocalPlayerAsync = function()
    local l_LocalPlayer_0 = l_Players_0.LocalPlayer;
    while not l_LocalPlayer_0 do
        wait();
        l_LocalPlayer_0 = l_Players_0.LocalPlayer;
    end;
    return l_LocalPlayer_0;
end;
v5.GetTotalUserBalanceAsync = function()
    local v15 = l_Http_0.GetTotalUserBalanceAsync();
    if v15 then
        return v15.robux;
    else
        return nil;
    end;
end;
return v5;