local l_Lighting_0 = game:GetService("Lighting");
local l_TweenService_0 = game:GetService("TweenService");
local l_RunService_0 = game:GetService("RunService");
local l_AdService_0 = game:GetService("AdService");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local v6 = nil;
local v7 = 0;
local v8 = require(l_CoreGui_0:WaitForChild("RobloxGui").Modules.RobloxTranslator);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local l_ScreenGui_0 = Instance.new("ScreenGui");
l_ScreenGui_0.Name = "TeleportEffectGui";
l_ScreenGui_0.IgnoreGuiInset = true;
l_ScreenGui_0.Enabled = false;
l_ScreenGui_0.DisplayOrder = 7;
l_ScreenGui_0.ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
l_ScreenGui_0.Parent = l_CoreGui_0;
local l_Frame_0 = Instance.new("Frame");
l_Frame_0.Name = "TopFrame";
l_Frame_0.BackgroundColor3 = Color3.fromRGB(40, 40, 40);
l_Frame_0.BorderSizePixel = 0;
l_Frame_0.AnchorPoint = Vector2.new(0.5, 1);
l_Frame_0.Position = UDim2.new(0.5, 0, 0, 0);
l_Frame_0.Size = UDim2.new(1, 0, 1, 0);
l_Frame_0.ZIndex = 1;
l_Frame_0.Parent = l_ScreenGui_0;
local v12 = l_Frame_0:Clone();
v12.AnchorPoint = Vector2.new(0.5, 0);
v12.Position = UDim2.new(0.5, 0, 1, 0);
v12.Parent = l_ScreenGui_0;
local l_Frame_1 = Instance.new("Frame");
l_Frame_1.Name = "SpinnerContainer";
l_Frame_1.ZIndex = 2;
l_Frame_1.BackgroundTransparency = 1;
l_Frame_1.AnchorPoint = Vector2.new(1, 1);
l_Frame_1.Size = UDim2.new(0.125, 0, 0.125, 0);
l_Frame_1.Position = UDim2.new(1, 0, 1, 0);
l_Frame_1.Parent = l_ScreenGui_0;
local l_UIAspectRatioConstraint_0 = Instance.new("UIAspectRatioConstraint");
l_UIAspectRatioConstraint_0.AspectRatio = 1;
l_UIAspectRatioConstraint_0.Parent = l_Frame_1;
local l_ImageLabel_0 = Instance.new("ImageLabel");
l_ImageLabel_0.Name = "SpinnerRobloxTilt";
l_ImageLabel_0.BackgroundTransparency = 1;
l_ImageLabel_0.ImageTransparency = 1;
l_ImageLabel_0.Image = "rbxasset://textures/loading/robloxTilt.png";
l_ImageLabel_0.ZIndex = 2;
l_ImageLabel_0.AnchorPoint = Vector2.new(0.5, 0.5);
l_ImageLabel_0.Size = UDim2.new(1, 0, 1, 0);
l_ImageLabel_0.Position = UDim2.new(0, 0, 0, 0);
l_ImageLabel_0.Parent = l_Frame_1;
local l_UIAspectRatioConstraint_1 = Instance.new("UIAspectRatioConstraint");
l_UIAspectRatioConstraint_1.AspectRatio = 1;
l_UIAspectRatioConstraint_1.Parent = l_ImageLabel_0;
local l_TextLabel_0 = Instance.new("TextLabel");
l_TextLabel_0.Text = v8:FormatByKey("CoreScripts.Ads.Label.Teleporting");
l_TextLabel_0.TextColor3 = Color3.new(1, 1, 1);
l_TextLabel_0.TextTransparency = 1;
l_TextLabel_0.BackgroundTransparency = 1;
l_TextLabel_0.ZIndex = 2;
l_TextLabel_0.AnchorPoint = Vector2.new(0.5, 0.5);
l_TextLabel_0.Size = UDim2.new(0.6, 0, 0, 48);
l_TextLabel_0.Position = UDim2.new(0.5, 0, 0.5, 0);
l_TextLabel_0.Font = l_AppFonts_0.default:getDefault();
l_TextLabel_0.TextScaled = true;
l_TextLabel_0.Parent = l_ScreenGui_0;
local v18 = false;
spinSpinner = function()
    if not v18 then
        v18 = true;
        local v19 = os.clock();
        l_RunService_0:BindToRenderStep("PortalLoadingSpinner", Enum.RenderPriority.Last.Value, function()
            if not l_ImageLabel_0 or not l_ImageLabel_0.Parent then
                stopSpinner();
                return ;
            else
                local v20 = ((os.clock() - v19) / 4) % 1;
                local v21 = 0;
                local v22 = 0;
                if v20 <= 0.75 then
                    v22 = math.cos(3.141592653589793 * (v20 / 0.75)) * -0.5 + 0.5;
                    v21 = 2.25;
                else
                    v22 = math.cos(3.141592653589793 + 3.141592653589793 * ((v20 - 0.75) / 0.25)) * -0.5 + 0.5;
                    v21 = 0.25;
                end;
                local v23 = 1 + v22 * 0.25;
                l_ImageLabel_0.Size = UDim2.new(v23, 0, v23, 0);
                l_ImageLabel_0.Rotation = (360 * v22) * v21;
                return ;
            end;
        end);
    end;
end;
stopSpinner = function()
    l_RunService_0:UnbindFromRenderStep("PortalLoadingSpinner");
    v18 = false;
end;
cover = function()
    v7 = v7 + 1;
    local l_v7_0 = v7;
    if v6 then
        if v6.Parent then
            v6:Destroy();
        end;
        v6 = nil;
    end;
    v6 = Instance.new("ColorCorrectionEffect");
    v6.Name = "TeleportColorCorrectionEffect";
    v6.Parent = l_Lighting_0;
    l_TweenService_0:Create(v6, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
        Brightness = 1
    }):Play();
    task.delay(0.25, function()
        if l_v7_0 ~= v7 then
            return ;
        else
            if not (not l_ScreenGui_0 or not l_ScreenGui_0.Parent) then
                l_ScreenGui_0.Enabled = true;
            end;
            if not (((not l_Frame_0 or not l_Frame_0.Parent) or not v12) or not v12.Parent) then
                l_TweenService_0:Create(l_Frame_0, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                    Position = UDim2.new(0.5, 0, 0.5, 0)
                }):Play();
                l_TweenService_0:Create(v12, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                    Position = UDim2.new(0.5, 0, 0.5, 0)
                }):Play();
            end;
            return ;
        end;
    end);
    task.delay(1.25, function()
        if l_v7_0 ~= v7 then
            return ;
        else
            if not (not l_ImageLabel_0 or not l_ImageLabel_0.Parent) then
                l_TweenService_0:Create(l_ImageLabel_0, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                    ImageTransparency = 0
                }):Play();
                spinSpinner();
            end;
            if not (not l_TextLabel_0 or not l_TextLabel_0.Parent) then
                l_TweenService_0:Create(l_TextLabel_0, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                    TextTransparency = 0
                }):Play();
            end;
            return ;
        end;
    end);
end;
uncover = function()
    v7 = v7 + 1;
    local l_v7_1 = v7;
    if not (not l_ImageLabel_0 or not l_ImageLabel_0.Parent) then
        l_TweenService_0:Create(l_ImageLabel_0, TweenInfo.new(0.6000000000000001, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
            ImageTransparency = 1
        }):Play();
    end;
    if not (not l_TextLabel_0 or not l_TextLabel_0.Parent) then
        l_TweenService_0:Create(l_TextLabel_0, TweenInfo.new(0.6000000000000001, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
            TextTransparency = 1
        }):Play();
    end;
    if not (not v6 or not v6.Parent) then
        l_TweenService_0:Create(v6, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
            Brightness = 0
        }):Play();
    end;
    if not (((not l_Frame_0 or not l_Frame_0.Parent) or not v12) or not v12.Parent) then
        l_TweenService_0:Create(l_Frame_0, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
            Position = UDim2.new(0.5, 0, 0, 0)
        }):Play();
        l_TweenService_0:Create(v12, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
            Position = UDim2.new(0.5, 0, 1, 0)
        }):Play();
    end;
    task.delay(3, function()
        if l_v7_1 ~= v7 then
            return ;
        else
            if v6 then
                if v6.Parent then
                    v6:Destroy();
                end;
                v6 = nil;
            end;
            if not (not l_ScreenGui_0 or not l_ScreenGui_0.Parent) then
                l_ScreenGui_0.Enabled = false;
            end;
            stopSpinner();
            return ;
        end;
    end);
end;
l_AdService_0.AdTeleportInitiated:Connect(cover);
l_AdService_0.AdTeleportEnded:Connect(uncover);


local l_UserInputService_0 = game:GetService("UserInputService");
local l_ProximityPromptService_0 = game:GetService("ProximityPromptService");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_TweenService_0 = game:GetService("TweenService");
local l_RunService_0 = game:GetService("RunService");
local l_Players_0 = game:GetService("Players");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v8 = require(l_RobloxGui_0.Modules.CoreUtility);
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
local v10 = require(l_RobloxGui_0.Modules.Flags.FFlagEnableAutomaticSizeVerticalOffsetWidthFix);
local v11 = require(l_RobloxGui_0.Modules.Flags.FFlagProximityPromptGamepadIcons);
local l_LocalPlayer_0 = l_Players_0.LocalPlayer;
while l_LocalPlayer_0 == nil do
    l_Players_0.ChildAdded:wait();
    l_LocalPlayer_0 = l_Players_0.LocalPlayer;
end;
local v13 = v8.waitForChildOfClass(l_LocalPlayer_0, "PlayerGui");
local v14 = {
    [Enum.KeyCode.ButtonX] = "rbxasset://textures/ui/Controls/xboxX.png",
    [Enum.KeyCode.ButtonY] = "rbxasset://textures/ui/Controls/xboxY.png",
    [Enum.KeyCode.ButtonA] = "rbxasset://textures/ui/Controls/xboxA.png",
    [Enum.KeyCode.ButtonB] = "rbxasset://textures/ui/Controls/xboxB.png",
    [Enum.KeyCode.DPadLeft] = "rbxasset://textures/ui/Controls/dpadLeft.png",
    [Enum.KeyCode.DPadRight] = "rbxasset://textures/ui/Controls/dpadRight.png",
    [Enum.KeyCode.DPadUp] = "rbxasset://textures/ui/Controls/dpadUp.png",
    [Enum.KeyCode.DPadDown] = "rbxasset://textures/ui/Controls/dpadDown.png",
    [Enum.KeyCode.ButtonSelect] = "rbxasset://textures/ui/Controls/xboxView.png",
    [Enum.KeyCode.ButtonStart] = "rbxasset://textures/ui/Controls/xboxmenu.png",
    [Enum.KeyCode.ButtonL1] = "rbxasset://textures/ui/Controls/xboxLB.png",
    [Enum.KeyCode.ButtonR1] = "rbxasset://textures/ui/Controls/xboxRB.png",
    [Enum.KeyCode.ButtonL2] = "rbxasset://textures/ui/Controls/xboxLT.png",
    [Enum.KeyCode.ButtonR2] = "rbxasset://textures/ui/Controls/xboxRT.png",
    [Enum.KeyCode.ButtonL3] = "rbxasset://textures/ui/Controls/xboxLS.png",
    [Enum.KeyCode.ButtonR3] = "rbxasset://textures/ui/Controls/xboxRS.png",
    [Enum.KeyCode.Thumbstick1] = "rbxasset://textures/ui/Controls/xboxLSDirectional.png",
    [Enum.KeyCode.Thumbstick2] = "rbxasset://textures/ui/Controls/xboxRSDirectional.png"
};
local v15 = {
    [Enum.KeyCode.Backspace] = "rbxasset://textures/ui/Controls/backspace.png",
    [Enum.KeyCode.Return] = "rbxasset://textures/ui/Controls/return.png",
    [Enum.KeyCode.LeftShift] = "rbxasset://textures/ui/Controls/shift.png",
    [Enum.KeyCode.RightShift] = "rbxasset://textures/ui/Controls/shift.png",
    [Enum.KeyCode.Tab] = "rbxasset://textures/ui/Controls/tab.png"
};
if l_UserInputService_0:GetPlatform() == Enum.Platform.OSX then
    v15[Enum.KeyCode.LeftMeta] = "rbxasset://textures/ui/Controls/command.png";
    v15[Enum.KeyCode.RightMeta] = "rbxasset://textures/ui/Controls/command.png";
    v15[Enum.KeyCode.LeftAlt] = "rbxasset://textures/ui/Controls/option.png";
    v15[Enum.KeyCode.RightAlt] = "rbxasset://textures/ui/Controls/option.png";
end;
local v16 = {
    ["'"] = "rbxasset://textures/ui/Controls/apostrophe.png",
    [","] = "rbxasset://textures/ui/Controls/comma.png",
    ["`"] = "rbxasset://textures/ui/Controls/graveaccent.png",
    ["."] = "rbxasset://textures/ui/Controls/period.png",
    [" "] = "rbxasset://textures/ui/Controls/spacebar.png"
};
local v17 = {
    [Enum.KeyCode.LeftControl] = "Ctrl",
    [Enum.KeyCode.RightControl] = "Ctrl",
    [Enum.KeyCode.LeftAlt] = "Alt",
    [Enum.KeyCode.RightAlt] = "Alt",
    [Enum.KeyCode.F1] = "F1",
    [Enum.KeyCode.F2] = "F2",
    [Enum.KeyCode.F3] = "F3",
    [Enum.KeyCode.F4] = "F4",
    [Enum.KeyCode.F5] = "F5",
    [Enum.KeyCode.F6] = "F6",
    [Enum.KeyCode.F7] = "F7",
    [Enum.KeyCode.F8] = "F8",
    [Enum.KeyCode.F9] = "F9",
    [Enum.KeyCode.F10] = "F10",
    [Enum.KeyCode.F11] = "F11",
    [Enum.KeyCode.F12] = "F12",
    [Enum.KeyCode.PageUp] = "PgUp",
    [Enum.KeyCode.PageDown] = "PgDn",
    [Enum.KeyCode.Home] = "Home",
    [Enum.KeyCode.End] = "End",
    [Enum.KeyCode.Insert] = "Ins",
    [Enum.KeyCode.Delete] = "Del"
};
local v18 = {
    [Enum.KeyCode.LeftControl] = 12,
    [Enum.KeyCode.RightControl] = 12,
    [Enum.KeyCode.LeftAlt] = 12,
    [Enum.KeyCode.RightAlt] = 12,
    [Enum.KeyCode.F10] = 12,
    [Enum.KeyCode.F11] = 12,
    [Enum.KeyCode.F12] = 12,
    [Enum.KeyCode.PageUp] = 8,
    [Enum.KeyCode.PageDown] = 8,
    [Enum.KeyCode.Home] = 8,
    [Enum.KeyCode.End] = 10,
    [Enum.KeyCode.Insert] = 10,
    [Enum.KeyCode.Delete] = 10
};
local function _()
    local l_ProximityPrompts_0 = v13:FindFirstChild("ProximityPrompts");
    if l_ProximityPrompts_0 == nil then
        l_ProximityPrompts_0 = Instance.new("ScreenGui");
        l_ProximityPrompts_0.Name = "ProximityPrompts";
        l_ProximityPrompts_0.ResetOnSpawn = false;
        l_ProximityPrompts_0.Parent = v13;
        l_ProximityPrompts_0.IgnoreGuiInset = true;
    end;
    return l_ProximityPrompts_0;
end;
local function v29(v21, v22, v23, v24)
    local l_Frame_0 = Instance.new("Frame");
    l_Frame_0.Size = UDim2.fromScale(0.5, 1);
    l_Frame_0.Position = UDim2.fromScale(not v22 and 0.5 or 0, 0);
    l_Frame_0.BackgroundTransparency = 1;
    l_Frame_0.ClipsDescendants = true;
    l_Frame_0.Parent = v21;
    local l_ImageLabel_0 = Instance.new("ImageLabel");
    l_ImageLabel_0.BackgroundTransparency = 1;
    l_ImageLabel_0.Size = UDim2.fromScale(2, 1);
    l_ImageLabel_0.Position = UDim2.fromScale(not v22 and -1 or 0, 0);
    l_ImageLabel_0.Image = "rbxasset://textures/ui/Controls/RadialFill.png";
    l_ImageLabel_0.Parent = l_Frame_0;
    local l_UIGradient_0 = Instance.new("UIGradient");
    l_UIGradient_0.Transparency = NumberSequence.new({
        NumberSequenceKeypoint.new(0, 0),
        NumberSequenceKeypoint.new(0.4999, 0),
        NumberSequenceKeypoint.new(0.5, 1),
        NumberSequenceKeypoint.new(1, 1)
    });
    l_UIGradient_0.Rotation = not v22 and 0 or 180;
    l_UIGradient_0.Parent = l_ImageLabel_0;
    local v28 = TweenInfo.new(0.06, Enum.EasingStyle.Linear, Enum.EasingDirection.Out);
    table.insert(v23, l_TweenService_0:Create(l_ImageLabel_0, v28, {
        ImageTransparency = 1
    }));
    table.insert(v24, l_TweenService_0:Create(l_ImageLabel_0, v28, {
        ImageTransparency = 0
    }));
    return l_UIGradient_0;
end;
local function v38(v30, v31)
    local l_Frame_1 = Instance.new("Frame");
    l_Frame_1.Name = "CircularProgressBar";
    l_Frame_1.Size = UDim2.fromOffset(58, 58);
    l_Frame_1.AnchorPoint = Vector2.new(0.5, 0.5);
    l_Frame_1.Position = UDim2.fromScale(0.5, 0.5);
    l_Frame_1.BackgroundTransparency = 1;
    local v33 = v29(l_Frame_1, true, v30, v31);
    local v34 = v29(l_Frame_1, false, v30, v31);
    local l_NumberValue_0 = Instance.new("NumberValue");
    l_NumberValue_0.Name = "Progress";
    l_NumberValue_0.Parent = l_Frame_1;
    l_NumberValue_0.Changed:Connect(function(v36)
        local v37 = math.clamp(v36 * 360, 0, 360);
        v33.Rotation = math.clamp(v37, 180, 360);
        v34.Rotation = math.clamp(v37, 0, 180);
    end);
    return l_Frame_1;
end;
local function v99(v39, v40, v41)
    local v42 = {};
    local v43 = {};
    local v44 = {};
    local v45 = {};
    local v46 = TweenInfo.new(v39.HoldDuration, Enum.EasingStyle.Linear, Enum.EasingDirection.Out);
    local v47 = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
    local v48 = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out);
    local v49 = TweenInfo.new(0.06, Enum.EasingStyle.Linear, Enum.EasingDirection.Out);
    local l_BillboardGui_0 = Instance.new("BillboardGui");
    l_BillboardGui_0.Name = "Prompt";
    l_BillboardGui_0.AlwaysOnTop = true;
    local l_Frame_2 = Instance.new("Frame");
    l_Frame_2.Size = UDim2.fromScale(0.5, 1);
    l_Frame_2.BackgroundTransparency = 1;
    l_Frame_2.BackgroundColor3 = Color3.new(0.07, 0.07, 0.07);
    l_Frame_2.AnchorPoint = Vector2.new(0.5, 0);
    l_Frame_2.Position = UDim2.fromScale(0.5, 0);
    l_Frame_2.Size = UDim2.fromScale(0, 1);
    l_Frame_2.AutomaticSize = Enum.AutomaticSize.X;
    l_Frame_2.Parent = l_BillboardGui_0;
    local l_UIPadding_0 = Instance.new("UIPadding");
    l_UIPadding_0.Parent = l_Frame_2;
    Instance.new("UICorner").Parent = l_Frame_2;
    local l_Frame_3 = Instance.new("Frame");
    l_Frame_3.Name = "InputFrame";
    l_Frame_3.Size = UDim2.fromScale(1, 1);
    l_Frame_3.BackgroundTransparency = 1;
    l_Frame_3.SizeConstraint = Enum.SizeConstraint.RelativeYY;
    l_Frame_3.Parent = l_Frame_2;
    local l_Frame_4 = Instance.new("Frame");
    l_Frame_4.Size = UDim2.fromScale(1, 1);
    l_Frame_4.Position = UDim2.fromScale(0.5, 0.5);
    l_Frame_4.AnchorPoint = Vector2.new(0.5, 0.5);
    l_Frame_4.BackgroundTransparency = 1;
    l_Frame_4.Parent = l_Frame_3;
    local l_UIScale_0 = Instance.new("UIScale");
    l_UIScale_0.Parent = l_Frame_4;
    table.insert(v42, l_TweenService_0:Create(l_UIScale_0, v48, {
        Scale = v40 == Enum.ProximityPromptInputType.Touch and 1.6 or 1.33
    }));
    table.insert(v43, l_TweenService_0:Create(l_UIScale_0, v48, {
        Scale = 1
    }));
    local l_TextLabel_0 = Instance.new("TextLabel");
    l_TextLabel_0.Name = "ActionText";
    l_TextLabel_0.Font = l_AppFonts_0.default:getMedium();
    l_TextLabel_0.TextSize = 19;
    l_TextLabel_0.BackgroundTransparency = 1;
    l_TextLabel_0.TextTransparency = 1;
    l_TextLabel_0.TextColor3 = Color3.new(1, 1, 1);
    l_TextLabel_0.TextXAlignment = Enum.TextXAlignment.Left;
    table.insert(v42, l_TweenService_0:Create(l_TextLabel_0, v48, {
        TextTransparency = 1
    }));
    table.insert(v43, l_TweenService_0:Create(l_TextLabel_0, v48, {
        TextTransparency = 0
    }));
    table.insert(v44, l_TweenService_0:Create(l_TextLabel_0, v48, {
        TextTransparency = 1
    }));
    table.insert(v45, l_TweenService_0:Create(l_TextLabel_0, v48, {
        TextTransparency = 0
    }));
    local l_TextLabel_1 = Instance.new("TextLabel");
    l_TextLabel_1.Name = "ObjectText";
    l_TextLabel_1.Font = l_AppFonts_0.default:getMedium();
    l_TextLabel_1.TextSize = 14;
    l_TextLabel_1.BackgroundTransparency = 1;
    l_TextLabel_1.TextTransparency = 1;
    l_TextLabel_1.TextColor3 = Color3.new(0.7, 0.7, 0.7);
    l_TextLabel_1.TextXAlignment = Enum.TextXAlignment.Left;
    local l_UIListLayout_0 = Instance.new("UIListLayout");
    l_UIListLayout_0.FillDirection = Enum.FillDirection.Horizontal;
    l_UIListLayout_0.Padding = UDim.new(-0.25, 0);
    l_UIListLayout_0.Parent = l_Frame_2;
    table.insert(v42, l_TweenService_0:Create(l_UIListLayout_0, v48, {
        Padding = UDim.new(-0.25, 0)
    }));
    table.insert(v43, l_TweenService_0:Create(l_UIListLayout_0, v48, {
        Padding = UDim.new(0, 0)
    }));
    table.insert(v44, l_TweenService_0:Create(l_UIListLayout_0, v48, {
        Padding = UDim.new(-0.25, 0)
    }));
    table.insert(v45, l_TweenService_0:Create(l_UIListLayout_0, v48, {
        Padding = UDim.new(0, 0)
    }));
    local l_Frame_5 = Instance.new("Frame");
    l_Frame_5.Name = "TextFrame";
    l_Frame_5.Size = UDim2.fromScale(0, 1);
    l_Frame_5.AutomaticSize = Enum.AutomaticSize.X;
    l_Frame_5.BackgroundTransparency = 1;
    l_Frame_5.Parent = l_Frame_2;
    l_TextLabel_0.Size = UDim2.fromScale(0, 1);
    l_TextLabel_0.AutomaticSize = Enum.AutomaticSize.X;
    l_TextLabel_0.Parent = l_Frame_5;
    l_TextLabel_1.Size = UDim2.fromScale(0, 1);
    l_TextLabel_1.AutomaticSize = Enum.AutomaticSize.X;
    l_TextLabel_1.Parent = l_Frame_5;
    table.insert(v42, l_TweenService_0:Create(l_TextLabel_1, v48, {
        TextTransparency = 1
    }));
    table.insert(v43, l_TweenService_0:Create(l_TextLabel_1, v48, {
        TextTransparency = 0
    }));
    table.insert(v44, l_TweenService_0:Create(l_TextLabel_1, v48, {
        TextTransparency = 1
    }));
    table.insert(v45, l_TweenService_0:Create(l_TextLabel_1, v48, {
        TextTransparency = 0
    }));
    table.insert(v42, l_TweenService_0:Create(l_Frame_2, v48, {
        BackgroundTransparency = 1
    }));
    table.insert(v43, l_TweenService_0:Create(l_Frame_2, v48, {
        BackgroundTransparency = 0.2
    }));
    table.insert(v44, l_TweenService_0:Create(l_Frame_2, v48, {
        BackgroundTransparency = 1
    }));
    table.insert(v45, l_TweenService_0:Create(l_Frame_2, v48, {
        BackgroundTransparency = 0.2
    }));
    local l_Frame_6 = Instance.new("Frame");
    l_Frame_6.Name = "RoundFrame";
    l_Frame_6.Size = UDim2.fromOffset(48, 48);
    l_Frame_6.AnchorPoint = Vector2.new(0.5, 0.5);
    l_Frame_6.Position = UDim2.fromScale(0.5, 0.5);
    l_Frame_6.BackgroundTransparency = 1;
    l_Frame_6.Parent = l_Frame_4;
    local l_UICorner_0 = Instance.new("UICorner");
    l_UICorner_0.CornerRadius = UDim.new(0.5, 0);
    l_UICorner_0.Parent = l_Frame_6;
    table.insert(v44, l_TweenService_0:Create(l_Frame_6, v49, {
        BackgroundTransparency = 1
    }));
    table.insert(v45, l_TweenService_0:Create(l_Frame_6, v49, {
        BackgroundTransparency = 0.5
    }));
    if v40 == Enum.ProximityPromptInputType.Gamepad then
        local v62 = if not not v11 and game:GetEngineFeature("GetImageForKeyCode") then l_UserInputService_0:GetImageForKeyCode(v39.GamepadKeyCode) else v14[v39.GamepadKeyCode];
        if v62 then
            local l_ImageLabel_1 = Instance.new("ImageLabel");
            l_ImageLabel_1.Name = "ButtonImage";
            l_ImageLabel_1.AnchorPoint = Vector2.new(0.5, 0.5);
            l_ImageLabel_1.Size = UDim2.fromOffset(24, 24);
            l_ImageLabel_1.Position = UDim2.fromScale(0.5, 0.5);
            l_ImageLabel_1.BackgroundTransparency = 1;
            l_ImageLabel_1.ImageTransparency = 1;
            l_ImageLabel_1.Image = v62;
            l_ImageLabel_1.Parent = l_Frame_4;
            table.insert(v44, l_TweenService_0:Create(l_ImageLabel_1, v49, {
                ImageTransparency = 1
            }));
            table.insert(v45, l_TweenService_0:Create(l_ImageLabel_1, v49, {
                ImageTransparency = 0
            }));
        end;
    elseif v40 == Enum.ProximityPromptInputType.Touch then
        local l_ImageLabel_2 = Instance.new("ImageLabel");
        l_ImageLabel_2.Name = "ButtonImage";
        l_ImageLabel_2.BackgroundTransparency = 1;
        l_ImageLabel_2.ImageTransparency = 1;
        l_ImageLabel_2.Size = UDim2.fromOffset(25, 31);
        l_ImageLabel_2.AnchorPoint = Vector2.new(0.5, 0.5);
        l_ImageLabel_2.Position = UDim2.fromScale(0.5, 0.5);
        l_ImageLabel_2.Image = "rbxasset://textures/ui/Controls/TouchTapIcon.png";
        l_ImageLabel_2.Parent = l_Frame_4;
        table.insert(v44, l_TweenService_0:Create(l_ImageLabel_2, v49, {
            ImageTransparency = 1
        }));
        table.insert(v45, l_TweenService_0:Create(l_ImageLabel_2, v49, {
            ImageTransparency = 0
        }));
    else
        local l_ImageLabel_3 = Instance.new("ImageLabel");
        l_ImageLabel_3.Name = "ButtonImage";
        l_ImageLabel_3.BackgroundTransparency = 1;
        l_ImageLabel_3.ImageTransparency = 1;
        l_ImageLabel_3.Size = UDim2.fromOffset(28, 30);
        l_ImageLabel_3.AnchorPoint = Vector2.new(0.5, 0.5);
        l_ImageLabel_3.Position = UDim2.fromScale(0.5, 0.5);
        l_ImageLabel_3.Image = "rbxasset://textures/ui/Controls/key_single.png";
        l_ImageLabel_3.Parent = l_Frame_4;
        table.insert(v44, l_TweenService_0:Create(l_ImageLabel_3, v49, {
            ImageTransparency = 1
        }));
        table.insert(v45, l_TweenService_0:Create(l_ImageLabel_3, v49, {
            ImageTransparency = 0
        }));
        local l_l_UserInputService_0_StringForKeyCode_0 = l_UserInputService_0:GetStringForKeyCode(v39.KeyboardKeyCode);
        local v67 = v15[v39.KeyboardKeyCode];
        if v67 == nil then
            v67 = v16[l_l_UserInputService_0_StringForKeyCode_0];
        end;
        if v67 == nil then
            local v68 = v17[v39.KeyboardKeyCode];
            if v68 then
                l_l_UserInputService_0_StringForKeyCode_0 = v68;
            end;
        end;
        if not v67 then
            if l_l_UserInputService_0_StringForKeyCode_0 ~= nil and l_l_UserInputService_0_StringForKeyCode_0 ~= "" then
                local l_TextLabel_2 = Instance.new("TextLabel");
                l_TextLabel_2.Name = "ButtonText";
                l_TextLabel_2.Position = UDim2.fromOffset(0, -1);
                l_TextLabel_2.Size = UDim2.fromScale(1, 1);
                l_TextLabel_2.Font = l_AppFonts_0.default:getMedium();
                local v70 = v18[v39.KeyboardKeyCode];
                if v70 == nil then
                    v70 = 14;
                end;
                l_TextLabel_2.TextSize = v70;
                l_TextLabel_2.BackgroundTransparency = 1;
                l_TextLabel_2.TextTransparency = 1;
                l_TextLabel_2.TextColor3 = Color3.new(1, 1, 1);
                l_TextLabel_2.TextXAlignment = Enum.TextXAlignment.Center;
                l_TextLabel_2.Text = l_l_UserInputService_0_StringForKeyCode_0;
                l_TextLabel_2.Parent = l_Frame_4;
                table.insert(v44, l_TweenService_0:Create(l_TextLabel_2, v49, {
                    TextTransparency = 1
                }));
                table.insert(v45, l_TweenService_0:Create(l_TextLabel_2, v49, {
                    TextTransparency = 0
                }));
            else
                error("ProximityPrompt '" .. v39.Name .. "' has an unsupported keycode for rendering UI: " .. tostring(v39.KeyboardKeyCode));
            end;
        else
            local l_ImageLabel_4 = Instance.new("ImageLabel");
            l_ImageLabel_4.Name = "ButtonImage";
            l_ImageLabel_4.AnchorPoint = Vector2.new(0.5, 0.5);
            l_ImageLabel_4.Size = UDim2.fromOffset(36, 36);
            l_ImageLabel_4.Position = UDim2.fromScale(0.5, 0.5);
            l_ImageLabel_4.BackgroundTransparency = 1;
            l_ImageLabel_4.ImageTransparency = 1;
            l_ImageLabel_4.Image = v67;
            l_ImageLabel_4.Parent = l_Frame_4;
            table.insert(v44, l_TweenService_0:Create(l_ImageLabel_4, v49, {
                ImageTransparency = 1
            }));
            table.insert(v45, l_TweenService_0:Create(l_ImageLabel_4, v49, {
                ImageTransparency = 0
            }));
        end;
    end;
    if not (v40 ~= Enum.ProximityPromptInputType.Touch and not v39.ClickablePrompt) then
        local l_TextButton_0 = Instance.new("TextButton");
        l_TextButton_0.BackgroundTransparency = 1;
        l_TextButton_0.TextTransparency = 1;
        l_TextButton_0.Size = UDim2.fromScale(1, 1);
        l_TextButton_0.Parent = l_BillboardGui_0;
        l_TextButton_0.Selectable = false;
        local v73 = false;
        do
            local l_v73_0 = v73;
            l_TextButton_0.InputBegan:Connect(function(v75)
                if (not (v75.UserInputType ~= Enum.UserInputType.Touch) or v75.UserInputType == Enum.UserInputType.MouseButton1) and v75.UserInputState ~= Enum.UserInputState.Change then
                    v39:InputHoldBegin();
                    l_v73_0 = true;
                end;
            end);
            l_TextButton_0.InputEnded:Connect(function(v76)
                if not (not (not (v76.UserInputType ~= Enum.UserInputType.Touch) or v76.UserInputType == Enum.UserInputType.MouseButton1) or not l_v73_0) then
                    l_v73_0 = false;
                    v39:InputHoldEnd();
                end;
            end);
            l_BillboardGui_0.Active = true;
        end;
    end;
    if v39.HoldDuration > 0 then
        local v77 = v38(v44, v45);
        v77.Parent = l_Frame_4;
        table.insert(v42, l_TweenService_0:Create(v77.Progress, v46, {
            Value = 1
        }));
        table.insert(v43, l_TweenService_0:Create(v77.Progress, v47, {
            Value = 0
        }));
    end;
    local v78 = nil;
    local v79 = nil;
    local v80 = nil;
    local v81 = nil;
    if v39.HoldDuration > 0 then
        v78 = v39.PromptButtonHoldBegan:Connect(function()
            for _, v83 in ipairs(v42) do
                v83:Play();
            end;
        end);
        v79 = v39.PromptButtonHoldEnded:Connect(function()
            for _, v85 in ipairs(v43) do
                v85:Play();
            end;
        end);
    end;
    v80 = v39.Triggered:Connect(function()
        for _, v87 in ipairs(v44) do
            v87:Play();
        end;
    end);
    v81 = v39.TriggerEnded:Connect(function()
        for _, v89 in ipairs(v45) do
            v89:Play();
        end;
    end);
    local function v93()
        local v90 = 72;
        local v91 = 24;
        local v92 = 0;
        if v39.ObjectText ~= nil and v39.ObjectText ~= "" then
            v92 = 9;
        end;
        l_TextLabel_0.Text = v39.ActionText;
        l_TextLabel_1.Text = v39.ObjectText;
        l_TextLabel_0.AutoLocalize = v39.AutoLocalize;
        l_TextLabel_0.RootLocalizationTable = v39.RootLocalizationTable;
        l_TextLabel_1.AutoLocalize = v39.AutoLocalize;
        l_TextLabel_1.RootLocalizationTable = v39.RootLocalizationTable;
        if not v10 then
            v91 = v91 - v92;
        end;
        if not (not (v39.ActionText ~= nil) or v39.ActionText == "") or v39.ObjectText ~= nil and v39.ObjectText ~= "" then
            l_UIPadding_0.PaddingRight = UDim.new(0, v91);
        else
            l_UIPadding_0.PaddingRight = UDim.new(0, 0);
        end;
        l_TextLabel_0.Position = UDim2.new(0, 0, 0, v92);
        l_TextLabel_1.Position = UDim2.new(0, 0, 0, -10);
        l_BillboardGui_0.Size = UDim2.fromOffset(v90, 72);
        task.defer(function()
            l_RunService_0.RenderStepped:Wait();
            l_RunService_0.RenderStepped:Wait();
            v90 = l_Frame_2.AbsoluteSize.X;
            l_BillboardGui_0.Size = UDim2.fromOffset(v90, 72);
            l_BillboardGui_0.SizeOffset = Vector2.new(v39.UIOffset.X / l_BillboardGui_0.Size.Width.Offset, v39.UIOffset.Y / l_BillboardGui_0.Size.Height.Offset);
        end);
    end;
    local v94 = v39.Changed:Connect(v93);
    v93();
    l_BillboardGui_0.Adornee = v39.Parent;
    l_BillboardGui_0.Parent = v41;
    for _, v96 in ipairs(v45) do
        v96:Play();
    end;
    return function()
        if v78 then
            v78:Disconnect();
        end;
        if v79 then
            v79:Disconnect();
        end;
        v80:Disconnect();
        v81:Disconnect();
        v94:Disconnect();
        for _, v98 in ipairs(v44) do
            v98:Play();
        end;
        wait(0.2);
        l_BillboardGui_0.Parent = nil;
    end;
end;
local function _()
    l_ProximityPromptService_0.PromptShown:Connect(function(v100, v101)
        if v100.Style == Enum.ProximityPromptStyle.Custom then
            return ;
        else
            local l_ProximityPrompts_1 = v13:FindFirstChild("ProximityPrompts");
            if l_ProximityPrompts_1 == nil then
                l_ProximityPrompts_1 = Instance.new("ScreenGui");
                l_ProximityPrompts_1.Name = "ProximityPrompts";
                l_ProximityPrompts_1.ResetOnSpawn = false;
                l_ProximityPrompts_1.Parent = v13;
                l_ProximityPrompts_1.IgnoreGuiInset = true;
            end;
            l_ProximityPrompts_1 = v99(v100, v101, l_ProximityPrompts_1);
            local l_BindableEvent_0 = Instance.new("BindableEvent");
            local v104 = v100.PromptHidden:Connect(function()
                l_BindableEvent_0:Fire();
            end);
            local v105 = v100.Destroying:Connect(function()
                l_BindableEvent_0:Fire();
            end);
            l_BindableEvent_0.Event:Wait();
            v104:Disconnect();
            v105:Disconnect();
            l_ProximityPrompts_1();
            return ;
        end;
    end);
end;
l_ProximityPromptService_0.PromptShown:Connect(function(v107, v108)
    if v107.Style == Enum.ProximityPromptStyle.Custom then
        return ;
    else
        local l_ProximityPrompts_2 = v13:FindFirstChild("ProximityPrompts");
        if l_ProximityPrompts_2 == nil then
            l_ProximityPrompts_2 = Instance.new("ScreenGui");
            l_ProximityPrompts_2.Name = "ProximityPrompts";
            l_ProximityPrompts_2.ResetOnSpawn = false;
            l_ProximityPrompts_2.Parent = v13;
            l_ProximityPrompts_2.IgnoreGuiInset = true;
        end;
        l_ProximityPrompts_2 = v99(v107, v108, l_ProximityPrompts_2);
        local l_BindableEvent_1 = Instance.new("BindableEvent");
        local v111 = v107.PromptHidden:Connect(function()
            l_BindableEvent_1:Fire();
        end);
        local v112 = v107.Destroying:Connect(function()
            l_BindableEvent_1:Fire();
        end);
        l_BindableEvent_1.Event:Wait();
        v111:Disconnect();
        v112:Disconnect();
        l_ProximityPrompts_2();
        return ;
    end;
end);


local l_RbxAnalyticsService_0 = game:GetService("RbxAnalyticsService");
local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_GuiService_0 = game:GetService("GuiService");
local l_HttpRbxApiService_0 = game:GetService("HttpRbxApiService");
local l_Players_0 = game:GetService("Players");
local l_ProximityPromptService_0 = game:GetService("ProximityPromptService");
local l_StarterGui_0 = game:GetService("StarterGui");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_ContextActionService_0 = game:GetService("ContextActionService");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local v11 = require(l_RobloxGui_0.Modules.CaptureMaster);
local v12 = require(l_RobloxGui_0.Modules.RobloxTranslator);
local v13 = require(l_RobloxGui_0.Modules.Common.httpRequest)(l_HttpRbxApiService_0);
local l_PermissionsProtocol_0 = require(l_CorePackages_0.Workspace.Packages.PermissionsProtocol).PermissionsProtocol;
local v15 = require(l_CorePackages_0.Promise);
local v16 = game:DefineFastFlag("ScreenshotHudGuiVisibilityApiForScreenshotHud", false);
local v17 = game:DefineFastFlag("ScreenshotHudRemoveWatermark", false);
local l_GetGameNameAndDescription_0 = require(l_CorePackages_0.Workspace.Packages.GameDetailRodux).GetGameNameAndDescription;
local l_AppFonts_0 = require(l_CorePackages_0.Workspace.Packages.Style).AppFonts;
if require(l_RobloxGui_0.Modules.Flags.GetFFlagScreenshotHudApi)() then
    local l_ScreenshotHud_0 = l_GuiService_0:WaitForChild("ScreenshotHud");
    local v21 = {
        Default = {
            BackgroundColor3 = Color3.fromRGB(0, 180, 109),
            BackgroundTransparency = 0
        },
        Hovered = {
            BackgroundColor3 = Color3.fromRGB(0, 232, 126),
            BackgroundTransparency = 0
        },
        Pressed = {
            BackgroundColor3 = Color3.fromRGB(0, 232, 126),
            BackgroundTransparency = 0.5
        }
    };
    local v22 = require(l_RobloxGui_0.Modules.Flags.GetFFlagAllowUsernameOverlayInScreenshotHud);
    local v23 = nil;
    local v24 = nil;
    local v25 = {};
    local v26 = {};
    local v27 = nil;
    local v28 = false;
    local function v34(v29, v30)
        local l_Frame_0 = Instance.new("Frame");
        l_Frame_0.BackgroundColor3 = Color3.new(1, 1, 1);
        l_Frame_0.BackgroundTransparency = 1;
        l_Frame_0.BorderSizePixel = 0;
        l_Frame_0.Position = UDim2.new(0, 0, 0, 0);
        l_Frame_0.Size = UDim2.new(1, 0, 1, 0);
        for v32, v33 in pairs(v29) do
            l_Frame_0[v32] = v33;
        end;
        l_Frame_0.Parent = v30;
        return l_Frame_0;
    end;
    local function v41(v35, v36, v37)
        local l_ImageLabel_0 = Instance.new("ImageLabel");
        l_ImageLabel_0.Image = v35;
        l_ImageLabel_0.BackgroundTransparency = 1;
        l_ImageLabel_0.BorderSizePixel = 0;
        l_ImageLabel_0.Position = UDim2.new(0, 0, 0, 0);
        l_ImageLabel_0.Size = UDim2.new(1, 0, 1, 0);
        for v39, v40 in pairs(v36) do
            l_ImageLabel_0[v39] = v40;
        end;
        l_ImageLabel_0.Parent = v37;
        return l_ImageLabel_0;
    end;
    local function v48(v42, v43, v44)
        local l_ImageButton_0 = Instance.new("ImageButton");
        l_ImageButton_0.Image = v42;
        l_ImageButton_0.BackgroundTransparency = 1;
        l_ImageButton_0.BorderSizePixel = 0;
        l_ImageButton_0.Position = UDim2.new(0, 0, 0, 0);
        l_ImageButton_0.Size = UDim2.new(1, 0, 1, 0);
        for v46, v47 in pairs(v43) do
            l_ImageButton_0[v46] = v47;
        end;
        l_ImageButton_0.Parent = v44;
        return l_ImageButton_0;
    end;
    local function v55(v49, v50, v51)
        local l_TextLabel_0 = Instance.new("TextLabel");
        l_TextLabel_0.Text = v49;
        l_TextLabel_0.BackgroundTransparency = 1;
        l_TextLabel_0.BorderSizePixel = 0;
        l_TextLabel_0.Font = l_AppFonts_0.default:getMedium();
        l_TextLabel_0.Position = UDim2.new(0, 0, 0, 0);
        l_TextLabel_0.Size = UDim2.new(1, 0, 1, 0);
        l_TextLabel_0.TextColor3 = Color3.new(1, 1, 1);
        l_TextLabel_0.TextSize = 20;
        for v53, v54 in pairs(v50) do
            l_TextLabel_0[v53] = v54;
        end;
        l_TextLabel_0.Parent = v51;
        return l_TextLabel_0;
    end;
    local l_l_GuiService_0_GuiInset_0, v57 = l_GuiService_0:GetGuiInset();
    local v58 = v34({
        Name = "ScreenshotHudFrame",
        Position = UDim2.new(0, -l_l_GuiService_0_GuiInset_0.X, 0, -l_l_GuiService_0_GuiInset_0.Y),
        Size = UDim2.new(1, l_l_GuiService_0_GuiInset_0.X + v57.X, 1, l_l_GuiService_0_GuiInset_0.Y + v57.Y),
        Visible = false
    }, l_RobloxGui_0);
    local v59 = v34({
        Name = "ScreenshotHudContent",
        Position = UDim2.new(0, l_l_GuiService_0_GuiInset_0.X, 0, l_l_GuiService_0_GuiInset_0.Y),
        Size = UDim2.new(1, -l_l_GuiService_0_GuiInset_0.X - v57.X, 1, -l_l_GuiService_0_GuiInset_0.Y - v57.Y),
        Visible = false
    }, v58);
    local v60 = v48("", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        AutoButtonColor = false,
        BackgroundColor3 = Color3.fromRGB(0, 180, 109),
        BackgroundTransparency = 0.5,
        Name = "CameraButton",
        Position = UDim2.new(0.5, 0, 1, -50),
        Size = UDim2.fromOffset(64, 64)
    }, nil);
    local l_UICorner_0 = Instance.new("UICorner");
    l_UICorner_0.CornerRadius = UDim.new(0, 32);
    l_UICorner_0.Parent = v60;
    local v62 = v41("", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundColor3 = v21.Default.BackgroundColor3,
        BackgroundTransparency = v21.Default.BackgroundTransparency,
        Position = UDim2.fromScale(0.5, 0.5),
        Size = UDim2.fromOffset(52, 52)
    }, v60);
    local l_UICorner_1 = Instance.new("UICorner");
    l_UICorner_1.CornerRadius = UDim.new(0, 26);
    l_UICorner_1.Parent = v62;
    local v64 = v41("rbxasset://textures/ui/ScreenshotHud/Camera.png", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.fromScale(0.5, 0.5),
        Size = UDim2.fromOffset(32, 32)
    }, v62);
    local v65 = v48("", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundColor3 = Color3.fromRGB(7, 7, 8),
        BackgroundTransparency = 0,
        Name = "CloseButton",
        Position = UDim2.new(0.5, -66, 1, -50),
        Size = UDim2.fromOffset(48, 48)
    }, nil);
    local l_UICorner_2 = Instance.new("UICorner");
    l_UICorner_2.CornerRadius = UDim.new(0, 24);
    l_UICorner_2.Parent = v65;
    local _ = v41("rbxasset://textures/ui/ScreenshotHud/Close.png", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.fromScale(0.5, 0.5),
        Size = UDim2.fromOffset(32, 32)
    }, v65);
    local v68 = v48("", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundColor3 = Color3.fromRGB(0, 180, 109),
        BackgroundTransparency = 0,
        Name = "CameraButton",
        Position = UDim2.new(1, -94, 1, -78),
        Size = UDim2.fromOffset(140, 36)
    }, nil);
    local l_UICorner_3 = Instance.new("UICorner");
    l_UICorner_3.CornerRadius = UDim.new(0, 18);
    l_UICorner_3.Parent = v68;
    local _ = v41("rbxasset://textures/ui/Controls/xboxY.png", {
        AnchorPoint = Vector2.new(0, 0.5),
        Position = UDim2.new(0, 6, 0.5, 0),
        Size = UDim2.fromOffset(24, 24)
    }, v68);
    local _ = v55(v12:FormatByKey("CoreScripts.ScreenshotHud.Action.TakePhoto"), {
        AnchorPoint = Vector2.new(0, 0.5),
        Position = UDim2.new(0, 30, 0.5, 0),
        Size = UDim2.new(1, -36, 0, 20),
        TextScaled = true,
        TextWrapped = true
    }, v68);
    local v72 = v48("", {
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundColor3 = Color3.fromRGB(7, 7, 8),
        BackgroundTransparency = 0,
        Name = "CloseButton",
        Position = UDim2.new(1, -228, 1, -78),
        Size = UDim2.fromOffset(104, 36)
    }, nil);
    local l_UICorner_4 = Instance.new("UICorner");
    l_UICorner_4.CornerRadius = UDim.new(0, 18);
    l_UICorner_4.Parent = v72;
    local _ = v41("rbxasset://textures/ui/Controls/xboxB.png", {
        AnchorPoint = Vector2.new(0, 0.5),
        Position = UDim2.new(0, 6, 0.5, 0),
        Size = UDim2.fromOffset(24, 24)
    }, v72);
    local _ = v55(v12:FormatByKey("CoreScripts.ScreenshotHud.Action.Cancel"), {
        AnchorPoint = Vector2.new(0, 0.5),
        Position = UDim2.new(0, 30, 0.5, 0),
        Size = UDim2.new(1, -36, 0, 20),
        TextScaled = true,
        TextWrapped = true
    }, v72);
    local v76 = v34({
        Name = "ScreenshotOverlay",
        Position = UDim2.new(0, l_l_GuiService_0_GuiInset_0.X, 0, l_l_GuiService_0_GuiInset_0.Y),
        Size = UDim2.new(1, -l_l_GuiService_0_GuiInset_0.X - v57.X, 1, -l_l_GuiService_0_GuiInset_0.Y - v57.Y),
        ZIndex = 2
    }, v58);
    local v77 = if v17 then nil else v55(game.Name, {
        Font = l_ScreenshotHud_0.OverlayFont,
        Name = "ExperienceName",
        Position = UDim2.new(0, 24, 0, 24),
        Size = UDim2.new(1, 0, 0, 48),
        TextSize = 22,
        TextXAlignment = Enum.TextXAlignment.Left,
        TextYAlignment = Enum.TextYAlignment.Top,
        TextWrapped = true,
        Visible = l_ScreenshotHud_0.ExperienceNameOverlayEnabled
    }, v76);
    local v78 = if v17 then nil else v55("@" .. l_Players_0.LocalPlayer.DisplayName, {
        AnchorPoint = Vector2.new(1, 1),
        Font = l_ScreenshotHud_0.OverlayFont,
        Name = "UserName",
        Position = UDim2.new(1, -24, 1, -4),
        Size = UDim2.new(1, -24, 0, 18),
        TextSize = 18,
        TextTransparency = 0.3,
        TextXAlignment = Enum.TextXAlignment.Right,
        Visible = l_ScreenshotHud_0.UsernameOverlayEnabled
    }, v76);
    local _ = if v17 then nil else v41("rbxasset://textures/ui/ScreenshotHud/RobloxLogo.png", {
        AnchorPoint = Vector2.new(1, 1),
        Position = UDim2.new(1, -24, 1, -24),
        Size = UDim2.fromOffset(103, 18)
    }, v76);
    local v80 = v34({
        Active = true,
        BackgroundTransparency = 0.5,
        Name = "FlashOverlay",
        Visible = false,
        ZIndex = 3
    }, v58);
    local function _()
        if not v17 then
            if game.GameId ~= 0 then
                l_GetGameNameAndDescription_0(v13, game.GameId):andThen(function(v81)
                    if v81.Name then
                        v77.Text = v81.Name;
                    end;
                end);
            end;
            return ;
        else
            return ;
        end;
    end;
    local function v84()
        return l_PermissionsProtocol_0.default:checkOrRequestPermissions({
            l_PermissionsProtocol_0.Permissions.WRITE_MEDIA_STORAGE
        }):andThen(function(v83)
            return not not (v83 == l_PermissionsProtocol_0.Status.AUTHORIZED) and v15.resolve() or v15.reject();
        end);
    end;
    local function v89()
        local l_Descendants_0 = l_Players_0.LocalPlayer.PlayerGui:GetDescendants();
        local v86 = {};
        for _, v88 in ipairs(l_Descendants_0) do
            if not (not v88:IsA("ScreenGui") or not v88.Enabled) then
                table.insert(v86, v88);
            end;
        end;
        return v86;
    end;
    local function v93()
        local v90 = {};
        for _, v92 in ipairs(Enum.CoreGuiType:GetEnumItems()) do
            if l_StarterGui_0:GetCoreGuiEnabled(v92) then
                table.insert(v90, v92);
            end;
        end;
        return v90;
    end;
    local function v94()
    end;
    local function v95()
        if l_UserInputService_0:GetPlatform() == Enum.Platform.Android then
            v84():andThen(v94, function()
                v11:ShowPermissionToast();
            end);
            return ;
        else
            v94();
            return ;
        end;
    end;
    v94 = function()
        v11:DismissNotification();
        if v27 then
            v27:Disconnect();
            v27 = nil;
        end;
        local v96 = false;
        local v97 = false;
        local v98 = nil;
        if not v16 or not game:GetEngineFeature("ScreenshotHudHideGuisApi") then
            v98 = v89();
            for _, v100 in ipairs(v98) do
                v100.Enabled = false;
            end;
        elseif l_ScreenshotHud_0.HidePlayerGuiForCaptures then
            v98 = v89();
            for _, v102 in ipairs(v98) do
                v102.Enabled = false;
            end;
            v97 = true;
        end;
        local v103 = nil;
        if not v16 or not game:GetEngineFeature("ScreenshotHudHideGuisApi") then
            v103 = v93();
            for _, v105 in ipairs(v103) do
                l_StarterGui_0:SetCoreGuiEnabled(v105, false);
            end;
        elseif l_ScreenshotHud_0.HideCoreGuiForCaptures then
            v103 = v93();
            for _, v107 in ipairs(v103) do
                l_StarterGui_0:SetCoreGuiEnabled(v107, false);
            end;
            v96 = true;
        end;
        local l_Enabled_0 = l_ProximityPromptService_0.Enabled;
        l_ProximityPromptService_0.Enabled = false;
        v59.Visible = false;
        wait(0.2);
        local v109 = {};
        for _, v111 in pairs(l_Players_0:GetPlayers()) do
            local v112 = v111.Character and v111.Character:WaitForChild("Humanoid");
            if v112 then
                v109[v112] = v112.DisplayDistanceType;
                v112.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None;
            end;
        end;
        l_CoreGui_0:TakeScreenshot();
        wait(0.2);
        v59.Visible = true;
        v80.Visible = true;
        wait(0.2);
        v80.Visible = false;
        if not v27 then
            v27 = v60.Activated:connect(v95);
        end;
        l_ProximityPromptService_0.Enabled = l_Enabled_0;
        for _, v114 in pairs(l_Players_0:GetPlayers()) do
            local v115 = v114.Character and v114.Character:WaitForChild("Humanoid");
            if not (not v115 or not v109[v115]) then
                v115.DisplayDistanceType = v109[v115];
            end;
        end;
        if not v16 or not game:GetEngineFeature("ScreenshotHudHideGuisApi") then
            for _, v117 in ipairs(v98) do
                v117.Enabled = true;
            end;
        elseif v97 then
            for _, v119 in ipairs(v98) do
                v119.Enabled = true;
            end;
        end;
        if not v16 or not game:GetEngineFeature("ScreenshotHudHideGuisApi") then
            for _, v121 in ipairs(v103) do
                l_StarterGui_0:SetCoreGuiEnabled(v121, true);
            end;
        elseif v96 then
            for _, v123 in ipairs(v103) do
                l_StarterGui_0:SetCoreGuiEnabled(v123, true);
            end;
        end;
        if l_ScreenshotHud_0.CloseWhenScreenshotTaken then
            l_ScreenshotHud_0.Visible = false;
        end;
        l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "TakeScreenshot", {
            pid = tostring(game.PlaceId)
        });
    end;
    local function _(v124)
        return v124.Name:match("^Gamepad*") ~= nil;
    end;
    local function v126()
        if v23 then
            v23.Parent = nil;
        end;
        if v24 then
            v24.Parent = nil;
        end;
        v23 = if not v28 then v60 else v68;
        v24 = if not v28 then v65 else v72;
        v23.Parent = v59;
        v24.Parent = v59;
        if l_ScreenshotHud_0.CameraButtonPosition ~= UDim2.fromOffset(0, 0) then
            v23.Position = l_ScreenshotHud_0.CameraButtonPosition;
        end;
        if l_ScreenshotHud_0.CloseButtonPosition ~= UDim2.fromOffset(0, 0) then
            v24.Position = l_ScreenshotHud_0.CloseButtonPosition;
        end;
    end;
    local function v130(v127)
        local _ = nil;
        local v129 = (v127 or l_UserInputService_0:GetLastInputType()).Name:match("^Gamepad*") ~= nil;
        if v28 ~= v129 then
            v28 = v129;
            v126();
        end;
    end;
    local function v140()
        table.insert(v25, (v60.InputBegan:Connect(function(v131)
            if v131.UserInputType == Enum.UserInputType.MouseMovement then
                v62.BackgroundColor3 = v21.Hovered.BackgroundColor3;
                v62.BackgroundTransparency = v21.Hovered.BackgroundTransparency;
                return ;
            else
                if not (v131.UserInputType ~= Enum.UserInputType.MouseButton1) or v131.UserInputType == Enum.UserInputType.Touch then
                    v62.BackgroundColor3 = v21.Pressed.BackgroundColor3;
                    v62.BackgroundTransparency = v21.Pressed.BackgroundTransparency;
                end;
                return ;
            end;
        end)));
        table.insert(v25, (v60.InputEnded:Connect(function()
            v62.BackgroundColor3 = v21.Default.BackgroundColor3;
            v62.BackgroundTransparency = v21.Default.BackgroundTransparency;
        end)));
        if v27 then
            v27:Disconnect();
            v27 = nil;
        end;
        v27 = v60.Activated:connect(v95);
        table.insert(v25, v27);
        table.insert(v25, (v65.Activated:connect(function()
            l_ScreenshotHud_0.Visible = false;
        end)));
        l_ContextActionService_0:BindAction("ScreenshotHudGamepadClose", function(_, v133, v134)
            if not (not (v133 == Enum.UserInputState.End) or not (v134.UserInputType.Name:match("^Gamepad*") ~= nil)) then
                l_ScreenshotHud_0.Visible = false;
            end;
        end, false, Enum.KeyCode.ButtonB);
        table.insert(v26, "ScreenshotHudGamepadClose");
        l_ContextActionService_0:BindAction("ScreenshotHudGamepadCamera", function(_, v136, v137)
            if not (not (v136 == Enum.UserInputState.End) or not (v137.UserInputType.Name:match("^Gamepad*") ~= nil)) then
                v95();
            end;
        end, false, Enum.KeyCode.ButtonY);
        table.insert(v26, "ScreenshotHudGamepadCamera");
        local _ = nil;
        local v139 = l_UserInputService_0:GetLastInputType().Name:match("^Gamepad*") ~= nil;
        if v28 ~= v139 then
            v28 = v139;
            v126();
        end;
        table.insert(v25, (l_UserInputService_0.LastInputTypeChanged:Connect(v130)));
    end;
    local function v145()
        for _, v142 in ipairs(v25) do
            v142:Disconnect();
            v142 = nil;
        end;
        v25 = {};
        for _, v144 in ipairs(v26) do
            l_ContextActionService_0:UnbindAction(v144);
        end;
        v26 = {};
    end;
    local function v147(v146)
        v58.Visible = l_ScreenshotHud_0.Visible;
        v145();
        if l_ScreenshotHud_0.Visible then
            v59.Visible = true;
            v80.Visible = false;
            v140();
            v11:Start();
        end;
        l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "ScreenshotHudEnabled", {
            pid = tostring(game.PlaceId),
            enabled = v146
        });
    end;
    l_ScreenshotHud_0:GetPropertyChangedSignal("Visible"):Connect(function()
        v147(l_ScreenshotHud_0.Visible);
    end);
    if not v17 then
        l_ScreenshotHud_0:GetPropertyChangedSignal("OverlayFont"):Connect(function()
            v77.Font = l_ScreenshotHud_0.OverlayFont;
            v78.Font = l_ScreenshotHud_0.OverlayFont;
            l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "OverlayFont", {
                pid = tostring(game.PlaceId),
                font = l_ScreenshotHud_0.OverlayFont.Name
            });
        end);
        l_ScreenshotHud_0:GetPropertyChangedSignal("ExperienceNameOverlayEnabled"):Connect(function()
            v77.Visible = l_ScreenshotHud_0.ExperienceNameOverlayEnabled;
            l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "ExperienceNameOverlayEnabled", {
                pid = tostring(game.PlaceId),
                enabled = l_ScreenshotHud_0.ExperienceNameOverlayEnabled
            });
        end);
        l_ScreenshotHud_0:GetPropertyChangedSignal("UsernameOverlayEnabled"):Connect(function()
            local v148 = false;
            if not (not l_ScreenshotHud_0.UsernameOverlayEnabled or not v22()) then
                v148 = true;
            end;
            v78.Visible = v148;
            l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "UsernameOverlayEnabled", {
                pid = tostring(game.PlaceId),
                enabled = v148
            });
        end);
    end;
    l_ScreenshotHud_0:GetPropertyChangedSignal("CameraButtonIcon"):Connect(function()
        v64.Image = l_ScreenshotHud_0.CameraButtonIcon or "rbxasset://textures/ui/ScreenshotHud/Camera.png";
        l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "CameraButtonIcon", {
            pid = tostring(game.PlaceId),
            icon = l_ScreenshotHud_0.CameraButtonIcon
        });
    end);
    l_ScreenshotHud_0:GetPropertyChangedSignal("CameraButtonPosition"):Connect(function()
        v23.Position = l_ScreenshotHud_0.CameraButtonPosition;
        l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "CameraButtonPosition", {
            pid = tostring(game.PlaceId),
            position = tostring(l_ScreenshotHud_0.CameraButtonPosition)
        });
    end);
    l_ScreenshotHud_0:GetPropertyChangedSignal("CloseButtonPosition"):Connect(function()
        v24.Position = l_ScreenshotHud_0.CloseButtonPosition;
        l_RbxAnalyticsService_0:SendEventDeferred("client", "screenshotHud", "CloseButtonPosition", {
            pid = tostring(game.PlaceId),
            position = tostring(l_ScreenshotHud_0.CloseButtonPosition)
        });
    end);
    if (not v17 and not v17) and game.GameId ~= 0 then
        l_GetGameNameAndDescription_0(v13, game.GameId):andThen(function(v149)
            if v149.Name then
                v77.Text = v149.Name;
            end;
        end);
    end;
    v126();
    v147(l_ScreenshotHud_0.Visible);
    return ;
else
    return ;
end;


local _ = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Players_0 = game:GetService("Players");
local l_CoreGui_1 = game:GetService("CoreGui");
local l_Modules_0 = l_CoreGui_1:WaitForChild("RobloxGui").Modules;
local l_EventIngestService_0 = game:GetService("EventIngestService");
local l_SocialContextToastContainer_0 = require(l_CorePackages_0.Workspace.Packages.SocialContextToasts).SocialContextToastContainer;
local l_GetFFlagSocialContextToastEventStream_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagSocialContextToastEventStream;
local v8 = require(l_CorePackages_0.Workspace.Packages.HttpRequest);
l_SocialContextToastContainer_0({
    networking = v8.config({
        requestFunction = function(v9, v10, v11)
            return v8.requestFunctions.HttpRbxApi(v9, v10, v11);
        end
    }),
    playersService = l_Players_0,
    apolloClient = require(l_CoreGui_1.RobloxGui.Modules.ApolloClient),
    analytics = require(l_CorePackages_0.Workspace.Packages.Analytics).Analytics.new(),
    ixpService = require(l_Modules_0.Common.IXPServiceWrapper),
    eventIngest = require(l_CorePackages_0.Workspace.Packages.Analytics).AnalyticsReporters.EventIngest.new(l_EventIngestService_0)
}, if not l_GetFFlagSocialContextToastEventStream_0() then game.GameId else tostring(game.GameId), if not l_GetFFlagSocialContextToastEventStream_0() then game.PlaceId else tostring(game.PlaceId));


local l_CorePackages_0 = game:GetService("CorePackages");
local l_RbxAnalyticsService_0 = game:GetService("RbxAnalyticsService");
local l_UserGameSettings_0 = UserSettings():GetService("UserGameSettings");
local l_SoundService_0 = game:GetService("SoundService");
local l_Modules_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui"):WaitForChild("Modules");
local v5 = require(l_Modules_0.Flags.GetFFlagEnableSoundSessionTelemetry);
local v6 = require(l_Modules_0.Flags.GetFIntSoundSessionTelemetryThrottle);
local l_game_EngineFeature_0 = game:GetEngineFeature("RbxAnalyticsServiceExposePlaySessionId");
game:DefineFastFlag("SoundSessionTelemetryInitialDMTraverse", false);
local v8 = require(l_CorePackages_0.Workspace.Packages.LoggingProtocol);
local l_default_0 = v8.default;
local v10 = require(l_Modules_0.AggregatedData);
local v11 = require(l_Modules_0.PlayingSounds);
local v12 = {
    eventName = "SoundSessionPlayback",
    backends = {
        v8.TelemetryBackends.EventIngest
    },
    throttlingPercentage = v6(),
    lastUpdated = {
        23,
        13,
        6
    },
    description = " Aggregated session-end event of all music playback data ",
    links = "https://roblox.atlassian.net/wiki/spaces/MUS/pages/2065826132/Scaled+Analytics+Tech+Spec"
};
local v13 = {};
local v14 = v10.new();
local v15 = v11.new(v14);
local function v22()
    local v16 = {};
    local v17 = {};
    local v18 = {};
    for v19, v20 in pairs(v14) do
        table.insert(v16, v19);
        table.insert(v17, v20.loopcount);
        table.insert(v18, v20.playtime);
    end;
    local v21 = {
        asset_ids = table.concat(v16, ","),
        loop_counts = table.concat(v17, ","),
        playback_seconds = table.concat(v18, ","),
        placeid = tostring(game.PlaceId),
        sessionid = l_RbxAnalyticsService_0:GetSessionId(),
        universeid = tostring(game.GameId)
    };
    if l_game_EngineFeature_0 then
        v21.playsessionid = l_RbxAnalyticsService_0:GetPlaySessionId();
    end;
    l_default_0:logRobloxTelemetryEvent(v12, nil, v21);
end;
local function v27()
    for v23, v24 in pairs(v15.sounds) do
        for v25, _ in pairs(v24.instances) do
            v15:removeSound(v23, v25);
        end;
    end;
    v22();
end;
local function _(v28)
    return ((l_UserGameSettings_0.MasterVolume * (not v28.SoundGroup and 1 or v28.SoundGroup.Volume)) * v28.Volume) * v28.RollOffGain > 0.01;
end;
local function _(v30)
    if not (not v5() or not (((l_UserGameSettings_0.MasterVolume * (not v30.SoundGroup and 1 or v30.SoundGroup.Volume)) * v30.Volume) * v30.RollOffGain > 0.01)) then
        v15:addSound(v30.SoundId, v30:GetDebugId(10));
    end;
end;
local function _(v32)
    if v5() then
        v15:removeSound(v32.SoundId, v32:GetDebugId(10));
    end;
end;
local function _(v34)
    if v5() then
        v15:removeSound(v34.SoundId, v34:GetDebugId(10));
    end;
end;
local function _(v36)
    if v5() then
        v15:removeSound(v36.SoundId, v36:GetDebugId(10));
    end;
end;
local function _(v38)
    if not (not v5() or not (((l_UserGameSettings_0.MasterVolume * (not v38.SoundGroup and 1 or v38.SoundGroup.Volume)) * v38.Volume) * v38.RollOffGain > 0.01)) then
        v15:addSound(v38.SoundId, v38:GetDebugId(10));
    end;
end;
local _ = function(v40, _)
    if v5() then
        v15:loopSound(v40.SoundId, v40:GetDebugId(10));
    end;
end;
local _ = function(v43)
    local v44 = v13[v43];
    if v44 ~= nil then
        for _, v46 in v44, nil, nil do
            v46:Disconnect();
        end;
    end;
    v13[v43] = nil;
end;
local function v65(v48)
    if not ((not v48.Playing or not v5()) or not (((l_UserGameSettings_0.MasterVolume * (not v48.SoundGroup and 1 or v48.SoundGroup.Volume)) * v48.Volume) * v48.RollOffGain > 0.01)) then
        v15:addSound(v48.SoundId, v48:GetDebugId(10));
    end;
    v13[v48] = {
        v48.Played:Connect(function()
            if v48.TimeLength ~= 0 and v48.IsLoaded then
                local l_v48_0 = v48;
                if not (not v5() or not (((l_UserGameSettings_0.MasterVolume * (not l_v48_0.SoundGroup and 1 or l_v48_0.SoundGroup.Volume)) * l_v48_0.Volume) * l_v48_0.RollOffGain > 0.01)) then
                    v15:addSound(l_v48_0.SoundId, l_v48_0:GetDebugId(10));
                end;
                return ;
            else
                local v50 = nil;
                v50 = v48.Loaded:Connect(function()
                    local l_v48_1 = v48;
                    if not (not v5() or not (((l_UserGameSettings_0.MasterVolume * (not l_v48_1.SoundGroup and 1 or l_v48_1.SoundGroup.Volume)) * l_v48_1.Volume) * l_v48_1.RollOffGain > 0.01)) then
                        v15:addSound(l_v48_1.SoundId, l_v48_1:GetDebugId(10));
                    end;
                    v50:Disconnect();
                end);
                return ;
            end;
        end),
        v48.Paused:Connect(function()
            local l_v48_2 = v48;
            if v5() then
                v15:removeSound(l_v48_2.SoundId, l_v48_2:GetDebugId(10));
            end;
        end),
        v48.Stopped:Connect(function()
            local l_v48_3 = v48;
            if v5() then
                v15:removeSound(l_v48_3.SoundId, l_v48_3:GetDebugId(10));
            end;
        end),
        v48.Ended:Connect(function()
            local l_v48_4 = v48;
            if v5() then
                v15:removeSound(l_v48_4.SoundId, l_v48_4:GetDebugId(10));
            end;
        end),
        v48.Resumed:Connect(function()
            local l_v48_5 = v48;
            if not (not v5() or not (((l_UserGameSettings_0.MasterVolume * (not l_v48_5.SoundGroup and 1 or l_v48_5.SoundGroup.Volume)) * l_v48_5.Volume) * l_v48_5.RollOffGain > 0.01)) then
                v15:addSound(l_v48_5.SoundId, l_v48_5:GetDebugId(10));
            end;
        end),
        v48.DidLoop:Connect(function(_, _)
            local l_v48_6 = v48;
            if v5() then
                v15:loopSound(l_v48_6.SoundId, l_v48_6:GetDebugId(10));
            end;
        end),
        (v48.AncestryChanged:Connect(function(v59, _)
            if v59:FindFirstAncestorOfClass("DataModel") == nil then
                local l_v48_7 = v48;
                local v62 = v13[l_v48_7];
                if v62 ~= nil then
                    for _, v64 in v62, nil, nil do
                        v64:Disconnect();
                    end;
                end;
                v13[l_v48_7] = nil;
            end;
        end))
    };
end;
if v5() then
    if game:GetFastFlag("SoundSessionTelemetryInitialDMTraverse") then
        for _, v67 in ipairs(game:GetDescendants()) do
            if not (not v67:IsA("Sound") or v13[v67]) then
                v65(v67);
            end;
        end;
    end;
    if game:GetEngineFeature("AudioInstanceAddedApiEnabled") then
        l_SoundService_0.AudioInstanceAdded:Connect(function(v68)
            if not (not v68:IsA("Sound") or v13[v68]) then
                v65(v68);
            end;
        end);
    end;
    game.Close:Connect(function()
        v27();
    end);
end;


require(game:GetService("CorePackages").Workspace.Packages.ToastNotification).renderToastNotificationContainer({
    renderLocation = "coreScript"
});


local l_CoreGui_0 = game:GetService("CoreGui");
local _ = game:GetService("GuiService");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_game_Service_0 = game:FindService("FaceAnimatorService");
local v4 = Color3.fromRGB(0, 196, 221);
local v5 = Color3.fromRGB(18, 217, 40);
local v6 = Color3.fromRGB(150, 150, 150);
local v7 = Color3.fromRGB(128, 196, 128);
local v8 = Color3.fromRGB(255, 196, 128);
if l_game_Service_0 then
    local l_l_game_Service_0_TrackerLodController_0 = l_game_Service_0:GetTrackerLodController();
    if l_l_game_Service_0_TrackerLodController_0 then
        local v10 = Instance.new("Frame", l_RobloxGui_0);
        v10.Name = "LodFrame";
        v10.Position = UDim2.new(1, -190, 0, 10);
        v10.Size = UDim2.fromOffset(180, 250);
        v10.BackgroundColor3 = Color3.fromRGB(0, 86, 158);
        v10.BorderColor3 = Color3.fromRGB(27, 42, 53);
        local v11 = Instance.new("Frame", v10);
        v11.Name = "ContentFrame";
        v11.Position = UDim2.fromOffset(10, 10);
        v11.Size = UDim2.fromOffset(160, 230);
        v11.BackgroundColor3 = v10.BackgroundColor3;
        v11.BorderColor3 = v10.BorderColor3;
        v11.BorderSizePixel = 0;
        local v12 = Instance.new("UIListLayout", v11);
        v12.Padding = UDim.new(0, 10);
        v12.SortOrder = Enum.SortOrder.LayoutOrder;
        local function v17(v13, v14, v15)
            local v16 = Instance.new("TextButton", v11);
            v16.Name = v14;
            v16.Font = Enum.Font.SourceSans;
            v16.Text = v15;
            v16.TextSize = 18;
            v16.Size = UDim2.fromOffset(160, 20);
            v16.BackgroundColor3 = v6;
            v16.BorderColor3 = Color3.fromRGB(27, 42, 53);
            v16.LayoutOrder = v13;
            return v16;
        end;
        local v18 = v17(1, "AutoButton", "Auto");
        local v19 = v17(2, "VideoAudioAccurateButton", "Video Audio Accurate");
        local v20 = v17(3, "VideoAudioFastButton", "Video Audio Fast");
        local v21 = v17(4, "VideoAccurateButton", "Video Accurate");
        local v22 = v17(5, "VideoFastButton", "Video Fast");
        local v23 = v17(6, "AudioButton", "Audio");
        local v24 = v17(7, "OffButton", "Off");
        local v25 = v17(8, "ExtrapolationButton", "Extrapolation");
        local v26 = {
            v22,
            v21,
            v20,
            v19,
            v23
        };
        l_l_game_Service_0_TrackerLodController_0.UpdateState:connect(function()
            if l_game_Service_0:IsStarted() then
                local v27 = l_l_game_Service_0_TrackerLodController_0.AudioMode == Enum.TrackerLodFlagMode.Auto;
                local v28 = l_l_game_Service_0_TrackerLodController_0.VideoMode == Enum.TrackerLodFlagMode.Auto;
                local v29 = l_l_game_Service_0_TrackerLodController_0.VideoLodMode == Enum.TrackerLodValueMode.Auto;
                local v30 = l_l_game_Service_0_TrackerLodController_0:getExtrapolation();
                local v31 = l_l_game_Service_0_TrackerLodController_0:isAudioEnabled();
                local v32 = l_l_game_Service_0_TrackerLodController_0:isVideoEnabled();
                local v33 = l_l_game_Service_0_TrackerLodController_0:getVideoLod();
                if v31 or v32 then
                    v24.BackgroundColor3 = v6;
                    if not (v27 or v28) and not v29 then
                        v18.BackgroundColor3 = v6;
                    else
                        v18.BackgroundColor3 = v5;
                    end;
                else
                    v24.BackgroundColor3 = v4;
                    v18.BackgroundColor3 = v6;
                end;
                if v30 == 1 then
                    v25.BackgroundColor3 = v7;
                elseif v30 == 2 then
                    v25.BackgroundColor3 = v8;
                else
                    v25.BackgroundColor3 = v6;
                end;
                local v34 = nil;
                if not v32 then
                    if v31 then
                        v34 = v26[5];
                    end;
                else
                    v34 = v26[(1 + ({
                        [true] = 1,
                        [false] = 0
                    })[v31] * 2) + v33];
                end;
                for _, v36 in ipairs(v26) do
                    if v36 == v34 then
                        v36.BackgroundColor3 = v4;
                    else
                        v36.BackgroundColor3 = v6;
                    end;
                end;
                return ;
            else
                v24.BackgroundColor3 = v4;
                print("[FaceAnimatorUI] FaceAnimatorService not started or LodController not enabled. UI not active.");
                return ;
            end;
        end);
        local function v37()
            l_l_game_Service_0_TrackerLodController_0.VideoMode = Enum.TrackerLodFlagMode.Auto;
            l_l_game_Service_0_TrackerLodController_0.AudioMode = Enum.TrackerLodFlagMode.Auto;
            l_l_game_Service_0_TrackerLodController_0.VideoLodMode = Enum.TrackerLodValueMode.Auto;
            l_l_game_Service_0_TrackerLodController_0.VideoExtrapolationMode = Enum.TrackerExtrapolationFlagMode.Auto;
        end;
        local function v38()
            l_l_game_Service_0_TrackerLodController_0.VideoMode = Enum.TrackerLodFlagMode.ForceFalse;
            l_l_game_Service_0_TrackerLodController_0.AudioMode = Enum.TrackerLodFlagMode.ForceFalse;
            l_l_game_Service_0_TrackerLodController_0.VideoLodMode = Enum.TrackerLodValueMode.Auto;
            l_l_game_Service_0_TrackerLodController_0.VideoExtrapolationMode = Enum.TrackerExtrapolationFlagMode.Auto;
        end;
        local function v44(v39, v40, v41)
            local v42 = {
                [true] = Enum.TrackerLodFlagMode.ForceTrue,
                [false] = Enum.TrackerLodFlagMode.ForceFalse
            };
            local v43 = {
                [0] = Enum.TrackerLodValueMode.Force0,
                [1] = Enum.TrackerLodValueMode.Force1
            };
            return function()
                l_l_game_Service_0_TrackerLodController_0.VideoMode = v42[v39];
                l_l_game_Service_0_TrackerLodController_0.AudioMode = v42[v40];
                l_l_game_Service_0_TrackerLodController_0.VideoLodMode = v43[v41];
            end;
        end;
        local function v46()
            local l_VideoExtrapolationMode_0 = l_l_game_Service_0_TrackerLodController_0.VideoExtrapolationMode;
            if l_VideoExtrapolationMode_0 == Enum.TrackerExtrapolationFlagMode.ForceDisabled then
                l_l_game_Service_0_TrackerLodController_0.VideoExtrapolationMode = Enum.TrackerExtrapolationFlagMode.ExtrapolateFacsAndPose;
                return ;
            elseif l_VideoExtrapolationMode_0 == Enum.TrackerExtrapolationFlagMode.ExtrapolateFacsAndPose then
                l_l_game_Service_0_TrackerLodController_0.VideoExtrapolationMode = Enum.TrackerExtrapolationFlagMode.ExtrapolateFacsOnly;
                return ;
            else
                l_l_game_Service_0_TrackerLodController_0.VideoExtrapolationMode = Enum.TrackerExtrapolationFlagMode.ForceDisabled;
                return ;
            end;
        end;
        v18.Activated:Connect(v37);
        v24.Activated:Connect(v38);
        v25.Activated:Connect(v46);
        v22.Activated:Connect((v44(true, false, 0)));
        v21.Activated:Connect((v44(true, false, 1)));
        v20.Activated:Connect((v44(true, true, 0)));
        v19.Activated:Connect((v44(true, true, 1)));
        v23.Activated:Connect((v44(false, true, 1)));
        return ;
    else
        print("[FaceAnimatorUI] TrackerLodController is nil. UI disabled.");
        return ;
    end;
else
    print("[FaceAnimatorUI] FaceAnimatorService is nil. UI disabled.");
    return ;
end;


local l_RunService_0 = game:GetService("RunService");
local l_Players_0 = game:GetService("Players");
while not l_Players_0.LocalPlayer do
    wait();
end;
local l_LocalPlayer_0 = l_Players_0.LocalPlayer;
local v3 = nil;
local v4 = nil;
local v5 = nil;
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
l_RobloxGui_0:WaitForChild("Modules"):WaitForChild("TenFootInterface");
local v7 = require(l_RobloxGui_0.Modules.TenFootInterface):IsEnabled();
local v8 = not v7 and 70 or 100;
local function _(v9, v10, v11, v12, v13)
    local l_ImageLabel_0 = Instance.new("ImageLabel");
    l_ImageLabel_0.Name = v9;
    l_ImageLabel_0.Size = v10;
    l_ImageLabel_0.Position = v11;
    l_ImageLabel_0.BackgroundTransparency = 1;
    l_ImageLabel_0.Image = v12;
    l_ImageLabel_0.Parent = v13;
    return l_ImageLabel_0;
end;
local function v21(v16, v17, v18, v19)
    local l_TextLabel_0 = Instance.new("TextLabel");
    l_TextLabel_0.Name = v16;
    l_TextLabel_0.Size = UDim2.new(1, -4, 0, not v7 and 20 or 50);
    l_TextLabel_0.Position = UDim2.new(0, 2, 0, not v7 and -20 or -50);
    l_TextLabel_0.BackgroundTransparency = 1;
    l_TextLabel_0.TextXAlignment = v17;
    l_TextLabel_0.Font = Enum.Font.SourceSans;
    l_TextLabel_0.FontSize = not not v7 and Enum.FontSize.Size48 or Enum.FontSize.Size18;
    l_TextLabel_0.TextColor3 = Color3.new(1, 1, 1);
    l_TextLabel_0.TextStrokeTransparency = 0.5;
    l_TextLabel_0.TextStrokeColor3 = Color3.new(0.19215686274509805, 0.19215686274509805, 0.19215686274509805);
    l_TextLabel_0.Text = v18;
    l_TextLabel_0.Parent = v19;
    return l_TextLabel_0;
end;
local l_Frame_0 = Instance.new("Frame");
l_Frame_0.Name = "VehicleHudFrame";
l_Frame_0.Size = UDim2.new(0, not v7 and 158 or 316, 0, not v7 and 14 or 50);
l_Frame_0.Position = UDim2.new(0.5, -(l_Frame_0.Size.X.Offset / 2), 1, -v8 - l_Frame_0.Size.Y.Offset);
l_Frame_0.BackgroundTransparency = 1;
l_Frame_0.Visible = false;
l_Frame_0.Parent = l_RobloxGui_0;
local l_Frame_1 = Instance.new("Frame");
l_Frame_1.Name = "SpeedBarClippingFrame";
l_Frame_1.Size = UDim2.new(0, 0, 0, not v7 and 4 or 24);
l_Frame_1.Position = UDim2.new(0.5, not v7 and -71 or -142, 0.5, not v7 and -2 or -13);
l_Frame_1.BackgroundTransparency = 1;
l_Frame_1.ClipsDescendants = true;
l_Frame_1.ZIndex = 2;
l_Frame_1.Parent = l_Frame_0;
local v24 = UDim2.new(1, 0, 1, 0);
local v25 = UDim2.new(0, 0, 0, 1);
local l_ImageLabel_1 = Instance.new("ImageLabel");
l_ImageLabel_1.Name = "HudBG";
l_ImageLabel_1.Size = v24;
l_ImageLabel_1.Position = v25;
l_ImageLabel_1.BackgroundTransparency = 1;
l_ImageLabel_1.Image = "rbxasset://textures/ui/Vehicle/SpeedBarBKG.png";
l_ImageLabel_1.Parent = l_Frame_0;
v25 = UDim2.new(0, not v7 and 142 or 284, 0, not v7 and 4 or 24);
l_ImageLabel_1 = UDim2.new(0.5, not v7 and -71 or -142, 0.5, not v7 and -2 or -13);
local l_ImageLabel_2 = Instance.new("ImageLabel");
l_ImageLabel_2.Name = "SpeedBG";
l_ImageLabel_2.Size = v25;
l_ImageLabel_2.Position = l_ImageLabel_1;
l_ImageLabel_2.BackgroundTransparency = 1;
l_ImageLabel_2.Image = "rbxasset://textures/ui/Vehicle/SpeedBarEmpty.png";
l_ImageLabel_2.Parent = l_Frame_0;
v24 = l_ImageLabel_2;
v25 = UDim2.new(0, not v7 and 142 or 284, 1, 0);
l_ImageLabel_1 = UDim2.new(0, 0, 0, 0);
l_ImageLabel_2 = Instance.new("ImageLabel");
l_ImageLabel_2.Name = "SpeedBarImage";
l_ImageLabel_2.Size = v25;
l_ImageLabel_2.Position = l_ImageLabel_1;
l_ImageLabel_2.BackgroundTransparency = 1;
l_ImageLabel_2.Image = "rbxasset://textures/ui/Vehicle/SpeedBar.png";
l_ImageLabel_2.Parent = l_Frame_1;
v21("SpeedLabel", Enum.TextXAlignment.Left, "Speed", l_Frame_0);
v25 = v21("SpeedText", Enum.TextXAlignment.Right, "0", l_Frame_0);
l_ImageLabel_1 = function()
    local v28 = l_LocalPlayer_0 and l_LocalPlayer_0.Character;
    if v28 then
        for _, v30 in pairs(v28:GetChildren()) do
            if v30:IsA("Humanoid") then
                return v30;
            end;
        end;
    end;
end;
l_ImageLabel_2 = function()
    if v3 then
        local l_magnitude_0 = v3.Velocity.magnitude;
        v25.Text = tostring((math.min(math.floor(l_magnitude_0), 9999)));
        l_Frame_1.Size = UDim2.new(0, math.min(math.floor((l_magnitude_0 / v3.MaxSpeed) * v24.Size.X.Offset), v24.Size.X.Offset), 0, not v7 and 4 or 24);
    end;
end;
local function v33(v32)
    if v32 == "HeadsUpDisplay" then
        l_Frame_0.Visible = not l_Frame_0.Visible;
    end;
end;
local function v36(v34, v35)
    if not v34 then
        if v3 then
            l_Frame_0.Visible = false;
            v3 = nil;
            if v4 then
                v4:disconnect();
                v4 = nil;
            end;
            if v5 then
                v5:disconnect();
                v5 = nil;
            end;
        end;
    elseif not (not v35 or not v35:IsA("VehicleSeat")) then
        v3 = v35;
        l_Frame_0.Visible = v3.HeadsUpDisplay;
        v4 = l_RunService_0.Heartbeat:connect(l_ImageLabel_2);
        v5 = v3.Changed:connect(v33);
        return ;
    end;
end;
local v37 = nil;
local v38 = nil;
local function _()
    if v37 then
        v37:Disconnect();
        v37 = nil;
    end;
end;
local function _()
    if v38 then
        v38:Disconnect();
        v38 = nil;
    end;
end;
local function v44(v41)
    if v37 then
        v37:Disconnect();
        v37 = nil;
    end;
    if v38 then
        v38:Disconnect();
        v38 = nil;
    end;
    local l_Humanoid_0 = v41:FindFirstChildWhichIsA("Humanoid");
    if not l_Humanoid_0 then
        v38 = v41.ChildAdded:Connect(function(v43)
            if v43:IsA("Humanoid") then
                if v37 then
                    v37:Disconnect();
                    v37 = nil;
                end;
                if v38 then
                    v38:Disconnect();
                    v38 = nil;
                end;
                v37 = v43.Seated:connect(v36);
            end;
        end);
        return ;
    else
        v37 = l_Humanoid_0.Seated:connect(v36);
        return ;
    end;
end;
if l_LocalPlayer_0.Character then
    v44(l_LocalPlayer_0.Character);
end;
l_LocalPlayer_0.CharacterAdded:connect(function(v45)
    v36(false);
    v44(v45);
end);


local l_Players_0 = game:GetService("Players");
local l_RobloxGui_0 = game:GetService("CoreGui"):WaitForChild("RobloxGui");
local l_FaceAnimatorService_0 = game:GetService("FaceAnimatorService");
require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default.participantsUpdate.Event:Connect(function(v3)
    for v4, v5 in pairs(v3) do
        local l_l_Players_0_PlayerByUserId_0 = l_Players_0:GetPlayerByUserId(v4);
        if l_l_Players_0_PlayerByUserId_0 then
            l_l_Players_0_PlayerByUserId_0:SetAttribute("RBXAttentionVoiceIsActive", v5.isSignalActive);
        end;
    end;
end);
local function v8()
    local l_LocalPlayer_0 = l_Players_0.LocalPlayer;
    if l_LocalPlayer_0 then
        l_LocalPlayer_0:SetAttribute("RBXAttentionVideoAnimationEnabled", l_FaceAnimatorService_0.VideoAnimationEnabled);
    end;
end;
local l_LocalPlayer_1 = l_Players_0.LocalPlayer;
if l_LocalPlayer_1 then
    l_LocalPlayer_1:SetAttribute("RBXAttentionVideoAnimationEnabled", l_FaceAnimatorService_0.VideoAnimationEnabled);
end;
l_FaceAnimatorService_0:GetPropertyChangedSignal("VideoAnimationEnabled"):Connect(v8);


local l_CoreGui_0 = game:GetService("CoreGui");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_NotificationService_0 = game:GetService("NotificationService");
local l_Players_0 = game:GetService("Players");
local l_RobloxGui_0 = l_CoreGui_0:WaitForChild("RobloxGui");
local l_default_0 = require(l_RobloxGui_0.Modules.VoiceChat.VoiceChatServiceManager).default;
local l_default_1 = require(l_CorePackages_0.Workspace.Packages.CallProtocol).CallProtocol.default;
local l_Enums_0 = require(l_CorePackages_0.Workspace.Packages.CallProtocol).Enums;
local v8 = game:DefineFastFlag("DebugDefaultChannelStartMuted", true);
local v9 = game:DefineFastFlag("UseNotificationServiceIsConnected", false);
local v10 = game:DefineFastFlag("DefaultChannelEnableDefaultVoice", true);
local v11 = game:DefineFastFlag("AlwaysJoinWhenUsingAudioAPI", false);
local v12 = game:DefineFastFlag("DefaultChannelDontWaitOnCharacterWithAudioApi", false);
local v13 = require(l_RobloxGui_0.Modules.Flags.GetFFlagEnableLuaVoiceChatAnalytics);
local v14 = require(l_RobloxGui_0.Modules.Flags.GetFFlagRemoveInGameChatBubbleChatReferences);
local _ = game:GetEngineFeature("VoiceServiceGenerateDefaultChannelAvailable");
local l_game_EngineFeature_1 = game:GetEngineFeature("VoiceServiceEnableDefaultVoiceAvailable");
local l_game_EngineFeature_2 = game:GetEngineFeature("NotificationServiceIsConnectedAvailable");
local v18 = require(l_RobloxGui_0.Modules.InGameChat.BubbleChat.Logger)(script.Name);
if v14() then
    v18 = require(l_RobloxGui_0.Modules.VoiceChat.Logger)(script.Name);
end;
local v19 = require(l_RobloxGui_0.Modules.VoiceChat.Analytics).new();
local l_VoiceChatService_0 = game:GetService("VoiceChatService");
local function v24(v21)
    local v22 = l_default_0:getService();
    if v22 then
        v18:info("Joining default channel");
        local v23 = v22:JoinByGroupIdToken("default", v21);
        if v13() then
            if not v23 then
                v19:reportVoiceChatJoinResult(false, "defaultJoinFailed", "error");
            else
                v19:reportVoiceChatJoinResult(true, "defaultJoinSuccess");
                return v23;
            end;
        end;
        return v23;
    else
        return nil;
    end;
end;
if not (not l_game_EngineFeature_2 or not v9) then
    if not l_NotificationService_0.IsConnected then
        v18:debug("NotificationService is not yet connected");
        l_NotificationService_0:GetPropertyChangedSignal("IsConnected"):Wait();
    end;
    v18:debug("NotificationService connected");
end;
if not (v12 and l_VoiceChatService_0.UseNewAudioApi) then
    if l_Players_0.LocalPlayer.Character then
        v18:debug("Player character already loaded");
    else
        l_Players_0.LocalPlayer.CharacterAdded:Wait();
        v18:debug("Player character loaded");
    end;
end;
if not (not l_game_EngineFeature_1 or not v10) then
    local l_game_Service_0 = game:FindService("VoiceChatService");
    if not v11 then
        if l_game_Service_0 then
            if not l_game_Service_0.EnableDefaultVoice then
                v18:debug("Default channel is disabled.");
                if v13() then
                    v19:reportVoiceChatJoinResult(false, "defaultDisabled");
                end;
                return ;
            end;
        else
            v18:info("VoiceChatService not found. Assuming default values.");
        end;
    elseif l_game_Service_0 then
        if not (l_game_Service_0.EnableDefaultVoice or l_game_Service_0.UseNewAudioApi) then
            v18:debug("Default channel is disabled.");
            if v13() then
                v19:reportVoiceChatJoinResult(false, "defaultDisabled");
            end;
            return ;
        end;
    else
        v18:info("VoiceChatService not found. Assuming default values.");
    end;
end;
l_default_1:getCallState():andThen(function(v26)
    local v27 = if v26.status ~= l_Enums_0.CallStatus.Idle.rawValue() and v26.status ~= l_Enums_0.CallStatus.Ringing.rawValue() then v26.muted else v8;
    l_default_0:asyncInit():andThen(function()
        if v24(v27) == false then
            l_default_0:InitialJoinFailedPrompt();
        end;
    end):catch(function()
        v18:info("VoiceChatServiceManager did not initialize");
    end);
end);


local l_UserInputService_0 = game:GetService("UserInputService");
local l_RobloxGui_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui");
local v2 = require(game:GetService("CorePackages").Rhodium);
local l_status_0, l_result_0 = pcall(function()
    local v3 = require(l_RobloxGui_0.Modules.RhodiumTest.LuaApp.TestLuaMobileApp);
    v2.RemoteRhodium.setCommandPath(l_RobloxGui_0.Modules.RhodiumTest.LuaApp.Actions);
    l_UserInputService_0.InputEnded:connect(function(v4, _)
        if not (((not (v4.UserInputType == Enum.UserInputType.Keyboard) or not l_UserInputService_0:IsKeyDown(Enum.KeyCode.LeftShift)) or not l_UserInputService_0:IsKeyDown(Enum.KeyCode.LeftControl)) or not l_UserInputService_0:IsKeyDown(Enum.KeyCode.LeftAlt)) and v4.KeyCode == Enum.KeyCode.R then
            v3();
        end;
    end);
end);
if not l_status_0 then
    warn(l_result_0);
end;


local _ = game:GetService("CoreGui"):WaitForChild("RobloxGui"):WaitForChild("Modules");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_PlaceId_0 = game.PlaceId;
local v3 = select("#", ...);
if l_PlaceId_0 <= 0 and v3 > 0 then
    l_PlaceId_0 = select(1, ...);
end;
coroutine.wrap(require(l_CorePackages_0.Workspace.Packages.ExperienceLoadingScript).loadingScript)(l_PlaceId_0, 72);


local l_CoreGui_0 = game:GetService("CoreGui");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = l_CoreGui_0.RobloxGui.Modules;
local l_ScriptContext_0 = game:GetService("ScriptContext");
local l_Lighting_0 = game:GetService("Lighting");
local l_NotificationService_0 = game:GetService("NotificationService");
if require(l_Modules_0.LuaApp.Flags.FFlagDebugLuaAppValidateProps) then
    _G.__DISABLE_ALL_WARNINGS_EXCEPT_PROP_VALIDATION__ = true;
end;
local v7 = require(l_Modules_0.LuaApp.Flags.GetFFlagLuaAppInspectRoact17);
local v8 = UserSettings().GameSettings:InStudioMode() and game:GetService("StudioService"):HasInternalPermission();
if require(l_Modules_0.LuaApp.Flags.FFlagDebugLuaAppsUseDarkTheme) then
    l_NotificationService_0.SelectedTheme = "dark";
end;
local v9 = nil;
if v8 then
    v9 = require(l_CorePackages_0.DeveloperTools).forCoreGui("UniversalApp", {
        rootInstance = "LuaAppScreenGui",
        pickerParent = "LuaAppScreenGui"
    });
    if v7() then
        v9:initRoact((require(l_CorePackages_0.Packages.Dev.ReactDevtoolsExtensions)));
    end;
end;
local v10 = require(l_CorePackages_0.Workspace.Packages.LoggingProtocol);
v10.default:logEventOnce("lua_app_starter_script_requires_begin");
local v11 = require(l_CorePackages_0.Packages.RoactGamepad);
local l_IsVRAppBuild_0 = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).IsVRAppBuild;
local l_SoundManager_0 = require(l_CorePackages_0.Workspace.Packages.SoundManager).SoundManager;
v11.Config.Enabled = not l_IsVRAppBuild_0();
require(l_CorePackages_0.UIBlox).init(require(l_CorePackages_0.Workspace.Packages.RobloxAppUIBloxConfig));
local v14 = require(l_Modules_0.Common.Roact);
local v15 = require(l_Modules_0.Common.LuaErrorReporter);
local v16 = require(l_Modules_0.LuaApp.LuaAppBacktraceReporter);
local v17 = require(l_Modules_0.LuaApp.Components.UniversalApp);
local v18 = require(l_Modules_0.LuaApp.Util.targetFramerateSetup);
local v19 = require(l_Modules_0.LuaApp.Flags.GetIsClientEnrolledInBacktraceRollout);
local l_IXPService_0 = game:GetService("IXPService");
local v21 = require(l_Modules_0.LuaApp.Experiment.AppUserLayers);
local v22 = require(l_Modules_0.Common.GetDefaultQualityLevel);
v10.default:logEventOnce("lua_app_starter_script_requires_end");
if not UserSettings().GameSettings:InStudioMode() then
    local v23 = nil;
    local v24 = nil;
    if v19() then
        v23 = v16;
        v24 = l_ScriptContext_0.ErrorDetailed;
    end;
    local v25 = v15.new(v24, nil, v23);
    v25:setCurrentApp("LuaApp");
    v25:startQueueTimers();
end;
if game:GetEngineFeature("TempNewSkyRemovalBehaviorEnabled") then
    l_Lighting_0.TempUseNewSkyRemovalBehaviour = true;
end;
v10.default:logEventOnce("lua_app_starter_script_wait_for_player_begin");
if game.Players.LocalPlayer == nil then
    game.Players.PlayerAdded:Wait();
end;
v10.default:logEventOnce("lua_app_starter_script_wait_for_player_end");
local v26 = nil;
v26 = game:GetService("RunService").RenderStepped:Connect(function()
    if v26 then
        v26:Disconnect();
    end;
    settings().Rendering.QualityLevel = v22();
end);
local v27 = v14.mount(v14.createElement(v17, {
    appName = "LuaApp"
}), l_CoreGui_0, "App");
if v8 and v14.Ref ~= "ref" then
    v9:addRoactTree("Roact tree", v27, v14);
end;
if UserSettings().GameSettings:InStudioMode() then
    l_UserInputService_0.InputEnded:connect(function(v28, _)
        if not (((not (v28.UserInputType == Enum.UserInputType.Keyboard and v28.KeyCode == Enum.KeyCode.T) or not l_UserInputService_0:IsKeyDown(Enum.KeyCode.LeftShift)) or not l_UserInputService_0:IsKeyDown(Enum.KeyCode.LeftControl)) or not l_UserInputService_0:IsKeyDown(Enum.KeyCode.LeftAlt)) then
            local l_TestEZ_0 = require(l_CorePackages_0.JestGlobals).TestEZ;
            l_TestEZ_0.TestBootstrap:run({
                l_CorePackages_0.AppTempCommon,
                l_Modules_0.LuaApp,
                l_Modules_0.AvatarExperience
            }, l_TestEZ_0.Reporters.TextReporter);
        end;
    end);
    local l_l_IXPService_0_RegisteredUserLayersToStatus_0 = l_IXPService_0:GetRegisteredUserLayersToStatus();
    for v32 in v21, nil, nil do
        if not l_l_IXPService_0_RegisteredUserLayersToStatus_0[v21[v32]] then
            warn("IXP layer has not been registered: " .. v21[v32]);
        end;
    end;
end;
if not (not game:GetEngineFeature("ExposeOpenXrAPI1") or not l_IsVRAppBuild_0()) then
    v18();
end;
l_SoundManager_0.init();
v10.default:logEventOnce("lua_app_starter_script_end");


local l_ScriptContext_0 = game:GetService("ScriptContext");
local l_RobloxGui_0 = game:GetService("CoreGui"):FindFirstChild("RobloxGui");
l_ScriptContext_0:AddCoreScriptLocal("LuaAppStarterScript", l_RobloxGui_0);
l_ScriptContext_0:AddCoreScriptLocal("InitRhodium", l_RobloxGui_0);


local l_ScriptContext_0 = game:GetService("ScriptContext");
l_ScriptContext_0:AddCoreScriptLocal("ServerCoreScripts/OpenCloud/OpenCloudV2InventoryApi", script.Parent);
l_ScriptContext_0:AddCoreScriptLocal("ServerCoreScripts/OpenCloud/OpenCloudV2NotificationsApi", script.Parent);


local l_ContentProvider_0 = game:GetService("ContentProvider");
local l_HttpService_0 = game:GetService("HttpService");
local l_OpenCloudService_0 = game:GetService("OpenCloudService");
local l_Players_0 = game:GetService("Players");
local l_RunService_0 = game:GetService("RunService");
returnInvalidArgumentError = function(v5)
    return {
        StatusCode = 400,
        Body = l_HttpService_0:JSONEncode({
            code = "INVALID_ARGUMENT",
            message = v5
        })
    };
end;
verifyPlayerOnServer = function(v6)
    local v7 = verifyPlayer(v6);
    if v7 ~= nil then
        return v7;
    else
        for _, v9 in ipairs((l_Players_0:GetPlayers())) do
            if v9.UserId == v6.UserId then
                return nil;
            end;
        end;
        return returnInvalidArgumentError("Player not found on server.");
    end;
end;
verifyPlayer = function(v10)
    if not (typeof(v10) == "Instance") or v10.ClassName ~= "Player" then
        return returnInvalidArgumentError("user argument not a Player instance.");
    else
        return nil;
    end;
end;
verifyString = function(v11)
    if typeof(v11) ~= "string" then
        return returnInvalidArgumentError("Argument not a string.");
    else
        return nil;
    end;
end;
verifyNumber = function(v12)
    if typeof(v12) ~= "number" then
        return returnInvalidArgumentError("Argument not a number.");
    else
        return nil;
    end;
end;
getUrlPrefix = function()
    if not l_RunService_0:IsStudio() then
        return "rcc";
    else
        return "user";
    end;
end;
createListInventoryItemsUrl = function(v13, v14, v15, v16)
    local v17 = string.format("%s%s/cloud/v2/users/%d/inventory-items", string.gsub(string.gsub(l_ContentProvider_0.BaseUrl:lower(), "http:", "https:"), "www", "apis"), getUrlPrefix(), v13);
    if (v14 == nil and v15 == nil) and v16 == nil then
        return v17;
    else
        local v18 = {};
        if v14 ~= nil then
            table.insert(v18, string.format("maxPageSize=%d", v14));
        end;
        if v15 ~= nil then
            table.insert(v18, string.format("pageToken=%s", v15));
        end;
        if v16 ~= nil then
            table.insert(v18, string.format("filter=%s", v16));
        end;
        return (string.format("%s?%s", v17, table.concat(v18, "&")));
    end;
end;
listInventoryItems = function(v19)
    if v19.user == nil then
        return returnInvalidArgumentError("user argument was not provided.");
    else
        local v20 = verifyPlayerOnServer(v19.user);
        if v20 ~= nil then
            return v20;
        else
            if v19.maxPageSize ~= nil then
                v20 = verifyNumber(v19.maxPageSize);
                if v20 ~= nil then
                    return v20;
                end;
            end;
            if v19.pageToken ~= nil then
                v20 = verifyString(v19.pageToken);
                if v20 ~= nil then
                    return v20;
                end;
            end;
            if v19.filter ~= nil then
                v20 = verifyString(v19.filter);
                if v20 ~= nil then
                    return v20;
                end;
            end;
            return l_OpenCloudService_0:HttpRequestAsync({
                Url = createListInventoryItemsUrl(v19.user.UserId, v19.maxPageSize, v19.pageToken, v19.filter),
                Request_Type = "GET"
            });
        end;
    end;
end;
l_OpenCloudService_0:RegisterOpenCloud("v2", "listInventoryItems", listInventoryItems);
l_OpenCloudService_0:RegistrationComplete();


local l_ContentProvider_0 = game:GetService("ContentProvider");
local l_HttpService_0 = game:GetService("HttpService");
local l_OpenCloudService_0 = game:GetService("OpenCloudService");
local l_RunService_0 = game:GetService("RunService");
returnInvalidArgumentError = function(v4)
    return {
        StatusCode = 400,
        Body = l_HttpService_0:JSONEncode({
            code = "INVALID_ARGUMENT",
            message = v4
        })
    };
end;
verifyUserNotification = function(v5)
    if v5.path ~= nil then
        local v6 = verifyString(v5.path);
        if v6 ~= nil then
            return v6;
        end;
    end;
    if v5.id ~= nil then
        local v7 = verifyString(v5.id);
        if v7 ~= nil then
            return v7;
        end;
    end;
    if v5.source ~= nil then
        local v8 = verifySource(v5.source);
        if v8 ~= nil then
            return v8;
        end;
    end;
    if v5.payload ~= nil then
        local v9 = verifyPayload(v5.payload);
        if v9 ~= nil then
            return v9;
        end;
    end;
    return nil;
end;
verifySource = function(v10)
    if v10.universe ~= nil then
        local v11 = verifyString(v10.universe);
        if v11 ~= nil then
            return v11;
        end;
    end;
    return nil;
end;
verifyPayload = function(v12)
    if v12.type ~= nil then
        local v13 = verifyString(v12.type);
        if v13 ~= nil then
            return v13;
        end;
    end;
    if v12.messageId ~= nil then
        local v14 = verifyString(v12.messageId);
        if v14 ~= nil then
            return v14;
        end;
    end;
    if v12.joinExperience ~= nil then
        local v15 = verifyJoinExperience(v12.joinExperience);
        if v15 ~= nil then
            return v15;
        end;
    end;
    if v12.analyticsData ~= nil then
        local v16 = verifyAnalyticsData(v12.analyticsData);
        if v16 ~= nil then
            return v16;
        end;
    end;
    if v12.parameters ~= nil then
        local v17 = verifyParameters(v12.parameters);
        if v17 ~= nil then
            return v17;
        end;
    end;
    return nil;
end;
verifyJoinExperience = function(v18)
    if v18.launchData ~= nil then
        local v19 = verifyString(v18.launchData);
        if v19 ~= nil then
            return v19;
        end;
    end;
    return nil;
end;
verifyAnalyticsData = function(v20)
    if v20.category ~= nil then
        local v21 = verifyString(v20.category);
        if v21 ~= nil then
            return v21;
        end;
    end;
    return nil;
end;
verifyParameters = function(v22)
    for _, v24 in pairs(v22) do
        local v25 = 0;
        if v24.stringValue ~= nil then
            v25 = v25 + 1;
            local v26 = verifyString(v24.stringValue);
            if v26 ~= nil then
                return v26;
            end;
        end;
        if v24.int64Value ~= nil then
            v25 = v25 + 1;
            local v27 = verifyNumber(v24.int64Value);
            if v27 ~= nil then
                return v27;
            end;
        end;
        if v25 > 1 then
            return returnInvalidArgumentError("Too many parameters provided for oneOf object");
        end;
    end;
    return nil;
end;
verifyNumber = function(v28)
    if typeof(v28) ~= "number" then
        return returnInvalidArgumentError("Argument not a number.");
    else
        return nil;
    end;
end;
verifyString = function(v29)
    if typeof(v29) ~= "string" then
        return returnInvalidArgumentError("Argument not a string.");
    else
        return nil;
    end;
end;
getUrlPrefix = function()
    if not l_RunService_0:IsStudio() then
        return "rcc";
    else
        return "user";
    end;
end;
createUserNotificationUrl = function(v30, _)
    return (string.format("%s%s/cloud/v2/users/%d/notifications", string.gsub(string.gsub(l_ContentProvider_0.BaseUrl:lower(), "http:", "https:"), "www", "apis"), getUrlPrefix(), v30));
end;
userNotification = function(v32)
    if v32.user ~= nil then
        local v33 = verifyNumber(v32.user);
        if v33 ~= nil then
            return v33;
        end;
    end;
    if v32.userNotification ~= nil then
        local v34 = verifyUserNotification(v32.userNotification);
        if v34 ~= nil then
            return v34;
        end;
    end;
    return l_OpenCloudService_0:HttpRequestAsync({
        Url = createUserNotificationUrl(v32.user, v32.userNotification),
        Request_Type = "POST",
        Body = l_HttpService_0:JSONEncode(v32.userNotification)
    });
end;
l_OpenCloudService_0:RegisterOpenCloud("v2", "userNotification", userNotification);
l_OpenCloudService_0:RegistrationComplete();