local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.Common.Constants);
local v2 = require(l_script_FirstAncestor_0.Components.SquadLobbyActionBar);
local v3 = require(l_script_FirstAncestor_0.Components.SquadLobbyTopBar);
local v4 = require(l_script_FirstAncestor_0.Components.SquadLobbyUsers);
local v5 = require(l_script_FirstAncestor_0.Components.SquadUserGrid);
local v6 = require(l_script_FirstAncestor_0.dependencies);
local l_NetworkingPresence_0 = v6.NetworkingPresence;
local l_NetworkingSquads_0 = v6.NetworkingSquads;
local l_React_0 = v6.React;
local l_Roact_0 = v6.Roact;
local l_UIBlox_0 = v6.UIBlox;
local l_dependencyArray_0 = v6.Hooks.dependencyArray;
local l_useDispatch_0 = v6.Hooks.useDispatch;
local l_useEffectOnce_0 = v6.Hooks.useEffectOnce;
local l_useNavigation_0 = v6.useNavigation;
local l_useSelector_0 = v6.Hooks.useSelector;
local l_RetrievalStatus_0 = l_UIBlox_0.App.Loading.Enum.RetrievalStatus;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local l_SharedFlags_0 = v6.SharedFlags;
local l_GetFFlagEnableCrossExpVoice_0 = l_SharedFlags_0.GetFFlagEnableCrossExpVoice;
local l_GetFFlagLuaAppEnableSquadNewDesign_0 = l_SharedFlags_0.GetFFlagLuaAppEnableSquadNewDesign;
local l_useCrossExperienceVoice_0 = v6.CrossExperienceVoice.Hooks.useCrossExperienceVoice;
return function()
    local v23 = l_useDispatch_0();
    local v24 = l_useStyle_0();
    local v25, v26 = l_React_0.useState(Vector2.zero);
    local v28 = l_React_0.useCallback(function(v27)
        v26(v27.AbsoluteSize);
    end, {
        v26
    });
    local v30 = l_useSelector_0((l_React_0.useCallback(function(v29)
        if (not v29.Squad or not v29.Squad.Squad) or not v29.Squad.Squad.currentSquad then
            return "";
        else
            return v29.Squad.Squad.currentSquad.squadId;
        end;
    end, {})));
    local v32 = l_useSelector_0((l_React_0.useCallback(function(v31)
        if (not v31.Squad or not v31.Squad.Squad) or not v31.Squad.Squad.currentSquad then
            return {};
        else
            return v31.Squad.Squad.currentSquad.members;
        end;
    end, {})));
    local v33 = l_useNavigation_0().getParam("conversationId");
    l_useEffectOnce_0(function()
        if v30 == "" then
            v23(l_NetworkingSquads_0.CreateOrJoinSquad.API({
                channelId = v33
            }));
        end;
    end, v33);
    l_useEffectOnce_0(function()
        local v34 = {};
        for v35, v36 in pairs(v32) do
            v34[v35] = v36.userId;
        end;
        v23(l_NetworkingPresence_0.GetPresencesFromUserIds.API(v34));
    end, #v32 > 0);
    if l_GetFFlagEnableCrossExpVoice_0() then
        l_useCrossExperienceVoice_0();
    end;
    return l_Roact_0.createFragment({
        SquadLobbyTopBar = l_React_0.useMemo(function()
            return l_React_0.createElement(v3, {
                numUsers = #v32
            });
        end, {
            v32
        }),
        SquadLobbyUsersScrollingFrame = l_React_0.useMemo(function()
            local v37 = v1.SQUAD_LOBBY_ACTION_BAR_HEIGHT + 48;
            return l_React_0.createElement("ScrollingFrame", {
                Position = UDim2.fromOffset(0, v1.SQUAD_LOBBY_TITLE_BAR_HEIGHT),
                Size = UDim2.new(1, 0, 1, -v1.SQUAD_LOBBY_TITLE_BAR_HEIGHT),
                AutomaticCanvasSize = Enum.AutomaticSize.Y,
                BackgroundColor3 = v24.Theme.BackgroundDefault.Color,
                BackgroundTransparency = v24.Theme.BackgroundDefault.Transparency,
                BorderSizePixel = 0,
                CanvasSize = UDim2.new(),
                ScrollingDirection = Enum.ScrollingDirection.Y,
                ScrollBarImageColor3 = v24.Theme.UIEmphasis.Color,
                ScrollBarImageTransparency = v24.Theme.UIEmphasis.Transparency,
                ScrollBarThickness = 4,
                ZIndex = 0,
                [l_React_0.Change.AbsoluteSize] = if not l_GetFFlagLuaAppEnableSquadNewDesign_0() then nil else v28
            }, {
                SquadLobbyUsers = if l_GetFFlagLuaAppEnableSquadNewDesign_0() then nil else l_React_0.createElement(v4, {
                    paddingBottom = UDim.new(0, v37),
                    users = v32
                }),
                SquadUserGrid = if not l_GetFFlagLuaAppEnableSquadNewDesign_0() then nil else l_React_0.createElement(v5, {
                    containerSize = v25 - Vector2.new(0, v37),
                    paddingBottom = UDim.new(0, v37),
                    users = v32
                })
            });
        end, l_dependencyArray_0(v25, v32, v28)),
        SquadLobbyActionBar = l_React_0.useMemo(function()
            return l_React_0.createElement(v2, {
                actionBarLoadingStatus = l_RetrievalStatus_0.Done.rawValue(),
                anchorPoint = Vector2.new(0.5, 1),
                position = UDim2.new(0.5, 0, 1, -24),
                squadId = v30
            });
        end, {
            v30
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.Common.Constants);
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_AppPage_0 = v2.RobloxAppEnums.AppPage;
local l_NetworkingSquads_0 = v2.NetworkingSquads;
local l_CentralOverlayType_0 = v2.RobloxAppEnums.CentralOverlayType;
local l_React_0 = v2.React;
local l_SetCentralOverlay_0 = v2.CentralOverlay.Actions.SetCentralOverlay;
local l_UIBlox_0 = v2.UIBlox;
local l_dependencyArray_0 = v2.Hooks.dependencyArray;
local l_useDispatch_0 = v2.Hooks.useDispatch;
local l_useNavigation_0 = v2.useNavigation;
local l_LoadingStateContainer_0 = l_UIBlox_0.App.Container.LoadingStateContainer;
local l_RetrievalStatus_0 = l_UIBlox_0.App.Loading.Enum.RetrievalStatus;
local l_ShimmerPanel_0 = l_UIBlox_0.App.Loading.ShimmerPanel;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local function v16()
    return l_React_0.createElement(l_ShimmerPanel_0, {
        Size = UDim2.fromOffset(40, 40),
        cornerRadius = UDim.new(1, 0)
    });
end;
local function _()
    return l_React_0.createElement("UICorner", {
        CornerRadius = UDim.new(1, 0)
    });
end;
local function v20(v18, v19)
    return l_React_0.createElement("ImageButton", {
        Size = UDim2.fromOffset(40, 40),
        BackgroundColor3 = v18.Theme.Alert.Color,
        BackgroundTransparency = v18.Theme.Alert.Transparency,
        LayoutOrder = 3,
        [l_React_0.Event.Activated] = v19
    }, {
        EndCallButtonUICorner = l_React_0.createElement("UICorner", {
            CornerRadius = UDim.new(1, 0)
        }),
        EndCallButtonIcon = l_React_0.createElement("ImageLabel", {
            AnchorPoint = Vector2.new(0.5, 0.5),
            Position = UDim2.fromScale(0.5, 0.5),
            Size = UDim2.fromOffset(24, 24),
            BackgroundTransparency = 1,
            Image = "rbxasset://textures/ui/LuaApp/graphic/phone-hang-up.png"
        })
    });
end;
local function v28(v21, v22, v23)
    local v24 = {
        ActionBarFrameUICorner = l_React_0.createElement("UICorner", {
            CornerRadius = UDim.new(1, 0)
        }),
        ActionBarFrameListLayout = l_React_0.createElement("UIListLayout", {
            Padding = UDim.new(0, 24),
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            FillDirection = Enum.FillDirection.Horizontal,
            SortOrder = Enum.SortOrder.LayoutOrder
        })
    };
    local v25 = 0;
    for v26, v27 in v23, nil, nil do
        v25 = v25 + 1;
        v24[v26] = v27;
    end;
    return l_React_0.createElement("Frame", {
        AnchorPoint = v22.anchorPoint,
        Position = v22.position,
        Size = UDim2.fromOffset((40 * v25 + 24 * (v25 - 1)) + 24, v1.SQUAD_LOBBY_ACTION_BAR_HEIGHT),
        BackgroundColor3 = v21.Theme.UIMuted.Color,
        BackgroundTransparency = v21.Theme.UIMuted.Transparency
    }, v24);
end;
local function v32(v29, v30, v31)
    return v28(v29, v30, {
        LoadingChatButton = v16(),
        LoadingPickExperienceButton = v16(),
        LoadingEndCallButton = v20(v29, v31)
    });
end;
local function v38(v33, v34, v35, v36, v37)
    return v28(v33, v34, {
        ChatButton = l_React_0.createElement("ImageButton", {
            Size = UDim2.fromOffset(40, 40),
            BackgroundColor3 = v33.Theme.UIEmphasis.Color,
            BackgroundTransparency = v33.Theme.UIEmphasis.Transparency,
            LayoutOrder = 1,
            [l_React_0.Event.Activated] = v35
        }, {
            ChatButtonUICorner = l_React_0.createElement("UICorner", {
                CornerRadius = UDim.new(1, 0)
            }),
            ChatButtonIcon = l_React_0.createElement("ImageLabel", {
                Position = UDim2.fromScale(0.5, 0.5),
                Size = UDim2.fromOffset(24, 24),
                AnchorPoint = Vector2.new(0.5, 0.5),
                BackgroundTransparency = 1,
                Image = "rbxasset://textures/ui/LuaApp/graphic/chat-center.png"
            })
        }),
        PickExperienceButton = l_React_0.createElement("ImageButton", {
            Size = UDim2.fromOffset(40, 40),
            BackgroundColor3 = v33.Theme.UIEmphasis.Color,
            BackgroundTransparency = v33.Theme.UIEmphasis.Transparency,
            LayoutOrder = 2,
            [l_React_0.Event.Activated] = v36
        }, {
            PickExperienceButtonUICorner = l_React_0.createElement("UICorner", {
                CornerRadius = UDim.new(1, 0)
            }),
            PickExperienceButtonIcon = l_React_0.createElement("ImageLabel", {
                Position = UDim2.fromScale(0.5, 0.5),
                Size = UDim2.fromOffset(24, 24),
                AnchorPoint = Vector2.new(0.5, 0.5),
                BackgroundTransparency = 1,
                Image = "rbxasset://textures/ui/LuaApp/graphic/rocket_icon.png"
            })
        }),
        EndCallButton = v20(v33, v37)
    });
end;
return function(v39)
    local v40 = l_useDispatch_0();
    local v41 = l_useNavigation_0();
    local v42 = l_useStyle_0();
    local v43 = l_React_0.useCallback(function()
        v41.navigate(l_AppPage_0.Games);
    end, {
        v41
    });
    local v44 = l_React_0.useCallback(function()
        v41.pop();
    end, {
        v41
    });
    local v45 = l_React_0.useCallback(function()
        v40(l_SetCentralOverlay_0(l_CentralOverlayType_0.SquadLeavePrompt, {
            isJoiningSquad = false,
            onLeave = function()
                v41.pop();
                v40(l_NetworkingSquads_0.LeaveSquad.API({
                    squadId = v39.squadId
                }));
            end
        }));
    end, l_dependencyArray_0(v40, v41, v39.squadId));
    return l_React_0.createElement(l_LoadingStateContainer_0, {
        dataStatus = l_RetrievalStatus_0.fromRawValue(v39.actionBarLoadingStatus),
        renderOnLoaded = function()
            return v38(v42, v39, v44, v43, v45);
        end,
        renderOnLoading = function()
            return v32(v42, v39, v45);
        end,
        renderOnFailed = function()
            return v32(v42, v39, v45);
        end
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local v2 = require(l_script_FirstAncestor_0.Common.Constants);
local v3 = require(l_script_FirstAncestor_0.EnumScreens);
local l_Roact_0 = v1.Roact;
local l_React_0 = v1.React;
local l_UIBlox_0 = v1.UIBlox;
local l_dependencyArray_0 = v1.Hooks.dependencyArray;
local l_useNavigation_0 = v1.useNavigation;
local l_HeaderBar_0 = l_UIBlox_0.App.Bar.HeaderBar;
local l_IconButton_0 = l_UIBlox_0.App.Button.IconButton;
local l_IconSize_0 = l_UIBlox_0.App.ImageSet.Enum.IconSize;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_getIconSize_0 = l_UIBlox_0.App.ImageSet.getIconSize;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local v16 = l_Images_0["icons/actions/friends/friendAdd"];
local v17 = l_Images_0["icons/actions/truncationExpand"];
local v18 = l_Images_0["icons/menu/more_off"];
local v19 = l_Images_0["icons/menu/player_small"];
local function v20()
end;
return function(v21)
    local v22 = l_useNavigation_0();
    local v23 = v22.getParam("conversationId");
    local v24 = l_useStyle_0();
    local l_Font_0 = v24.Font;
    local v26 = l_React_0.useRef(false);
    l_React_0.useEffect(function()
        v26.current = true;
        return function()
            v26.current = false;
        end;
    end, {});
    local v27 = l_React_0.useCallback(function()
        if v26 then
            v22.pop();
        end;
    end, {
        v22
    });
    local v28 = l_React_0.useCallback(function()
        if v26 then
            v22.navigate(v3.SquadInviteFriends, {
                conversationId = v23
            });
        end;
    end, {
        v22
    });
    local v29 = l_getIconSize_0(l_IconSize_0.Small);
    return l_React_0.createElement(l_HeaderBar_0, {
        barHeight = v2.SQUAD_LOBBY_TITLE_BAR_HEIGHT,
        renderLeft = l_React_0.useCallback(function()
            return l_Roact_0.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.X,
                Size = UDim2.fromScale(0, 1),
                BackgroundTransparency = 1
            }, {
                UIListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    Padding = UDim.new(0, 4),
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                CloseButton = l_Roact_0.createElement(l_IconButton_0, {
                    size = UDim2.fromOffset(0, 0),
                    icon = v17,
                    iconSize = l_IconSize_0.Medium,
                    layoutOrder = 0,
                    onActivated = v27
                }),
                PlayerIconContainer = l_Roact_0.createElement("Frame", {
                    Size = UDim2.fromOffset(v29 + 4, v29),
                    BackgroundTransparency = 1,
                    LayoutOrder = 1
                }, {
                    UIPadding = l_Roact_0.createElement("UIPadding", {
                        PaddingLeft = UDim.new(0, 4)
                    }),
                    PlayerIcon = l_Roact_0.createElement(l_ImageSetLabel_0, {
                        Position = UDim2.fromOffset(0, 0),
                        Size = UDim2.fromOffset(v29, v29),
                        BackgroundTransparency = 1,
                        Image = v19,
                        ImageColor3 = v24.Theme.TextDefault.Color,
                        ImageTransparency = v24.Theme.TextDefault.Transparency
                    })
                }),
                UserCount = l_Roact_0.createElement("TextLabel", {
                    AutomaticSize = Enum.AutomaticSize.XY,
                    BackgroundTransparency = 1,
                    Font = v24.Font.Header2.Font,
                    LayoutOrder = 2,
                    Text = tostring(v21.numUsers),
                    TextColor3 = v24.Theme.TextDefault.Color,
                    TextSize = l_Font_0.Header2.RelativeSize * l_Font_0.BaseSize
                })
            });
        end, l_dependencyArray_0(v27, v21.numUsers)),
        renderRight = l_React_0.useCallback(function()
            return l_Roact_0.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.X,
                Size = UDim2.fromScale(0, 1),
                BackgroundTransparency = 1
            }, {
                UIListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    Padding = UDim.new(0, 16),
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                InviteButton = l_Roact_0.createElement(l_IconButton_0, {
                    size = UDim2.fromOffset(0, 0),
                    icon = v16,
                    iconSize = l_IconSize_0.Medium,
                    isDisabled = v2.SQUAD_MAX_CAPACITY <= v21.numUsers,
                    layoutOrder = 0,
                    onActivated = v28
                }),
                MenuButton = l_Roact_0.createElement(l_IconButton_0, {
                    size = UDim2.fromOffset(0, 0),
                    icon = v18,
                    iconSize = l_IconSize_0.Medium,
                    layoutOrder = 1,
                    onActivated = v20
                })
            });
        end, l_dependencyArray_0(v28, v21.numUsers))
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_React_0 = v1.React;
local l_Roact_0 = v1.Roact;
local l_UIBlox_0 = v1.UIBlox;
local l_UserProfiles_0 = v1.UserProfiles;
local l_useLocalization_0 = v1.Hooks.useLocalization;
local l_useSelector_0 = v1.Hooks.useSelector;
local l_PresenceType_0 = v1.RoduxPresence.Enums.PresenceType;
local l_IconSize_0 = l_UIBlox_0.App.ImageSet.Enum.IconSize;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ShimmerPanel_0 = l_UIBlox_0.App.Loading.ShimmerPanel;
local l_getIconSize_0 = l_UIBlox_0.App.ImageSet.getIconSize;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local v15 = require(l_script_FirstAncestor_0.Common.Constants);
local _ = require(l_script_FirstAncestor_0.Common.ModelTypes);
local v17 = require(l_script_FirstAncestor_0.Common.getColorFromUserId);
local l_getStandardSizeAvatarHeadShotRbxthumb_0 = v1.getStandardSizeAvatarHeadShotRbxthumb;
local v19 = UDim.new(1, 0);
local v20 = Color3.fromRGB(60, 100, 250);
return function(v21)
    local v22 = l_useStyle_0();
    local v23 = l_useLocalization_0({
        onlineText = "Feature.Squads.Label.Online"
    });
    local v24 = l_UserProfiles_0.Hooks.useUserProfilesFetch({
        userIds = {
            (tostring(v21.user.userId))
        },
        query = l_UserProfiles_0.Queries.userProfilesCombinedNameAndUsernameByUserIds
    });
    local v25 = "";
    if v24.data then
        v25 = l_UserProfiles_0.Selectors.getCombinedNameFromId(v24.data, v21.user.userId);
    end;
    local v27 = l_useSelector_0((l_React_0.useCallback(function(v26)
        return v26.Squad.Presence.byUserId[tostring(v21.user.userId)];
    end, {})));
    local v28 = l_getIconSize_0(l_IconSize_0.Small);
    if not v21.isLoading and v21.user then
        local v29 = l_getStandardSizeAvatarHeadShotRbxthumb_0((tostring(v21.user.userId)));
        local v30 = v27 and v27.userPresenceType == l_PresenceType_0.InGame;
        local v31 = v27 and v27.userPresenceType == l_PresenceType_0.Online;
        local v32 = not v30 and 0 or v15.SQUAD_LOBBY_IN_GAME_BORDER_SIZE;
        local v33 = "Offline";
        if v27 then
            if v27.userPresenceType == l_PresenceType_0.Online then
                v33 = v23.onlineText;
            elseif v27.userPresenceType == l_PresenceType_0.InGame then
                v33 = v27.lastLocation;
            end;
        end;
        return l_Roact_0.createElement("Frame", {
            Size = UDim2.fromOffset(v15.SQUAD_LOBBY_USER_CARD_SIZE.X, v15.SQUAD_LOBBY_USER_CARD_SIZE.Y),
            BackgroundTransparency = 1,
            LayoutOrder = v21.layoutOrder
        }, {
            AvatarContainer = l_Roact_0.createElement("Frame", {
                Size = UDim2.fromOffset(v15.SQUAD_LOBBY_AVATAR_SIZE, v15.SQUAD_LOBBY_AVATAR_SIZE),
                BackgroundTransparency = 1
            }, {
                Avatar = l_Roact_0.createElement("Frame", {
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Position = UDim2.fromScale(0.5, 0.5),
                    Size = UDim2.new(1, -v32 * 2, 1, -v32 * 2),
                    BackgroundTransparency = 1
                }, {
                    UICorner = l_React_0.createElement("UICorner", {
                        CornerRadius = v19
                    }),
                    UIPadding = if not v30 then nil else l_Roact_0.createElement("UIPadding", {
                        PaddingBottom = UDim.new(0, 3),
                        PaddingLeft = UDim.new(0, 3),
                        PaddingRight = UDim.new(0, 3),
                        PaddingTop = UDim.new(0, 3)
                    }),
                    UIStroke = if not v30 then nil else l_React_0.createElement("UIStroke", {
                        Color = v20,
                        Thickness = v32
                    }),
                    AvatarImage = l_Roact_0.createElement(l_ImageSetLabel_0, {
                        Size = UDim2.new(1, 0, 1, 0),
                        BackgroundColor3 = v17(v21.user.userId),
                        Image = v29
                    }, {
                        UICorner = l_React_0.createElement("UICorner", {
                            CornerRadius = v19
                        })
                    })
                }),
                GreenDot = if not v31 then nil else l_Roact_0.createElement("Frame", {
                    Position = UDim2.new(1, -21, 1, -21),
                    Size = UDim2.fromOffset(14, 14),
                    BackgroundColor3 = Color3.fromRGB(0, 180, 109),
                    BorderSizePixel = 0,
                    ZIndex = 2
                }, {
                    UICorner = l_React_0.createElement("UICorner", {
                        CornerRadius = v19
                    }),
                    UIStroke = l_React_0.createElement("UIStroke", {
                        Color = Color3.fromRGB(17, 19, 22),
                        Thickness = 3
                    })
                }),
                PlayCircleContainer = if not v30 then nil else l_Roact_0.createElement("Frame", {
                    Position = UDim2.new(1, -26, 1, -26),
                    Size = UDim2.fromOffset(24, 24),
                    BackgroundColor3 = v20,
                    BorderSizePixel = 0,
                    ZIndex = 2
                }, {
                    UICorner = l_React_0.createElement("UICorner", {
                        CornerRadius = v19
                    }),
                    UIStroke = l_React_0.createElement("UIStroke", {
                        Color = Color3.fromRGB(17, 19, 22),
                        Thickness = 3
                    }),
                    PlayCircle = l_Roact_0.createElement(l_ImageSetLabel_0, {
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Position = UDim2.fromScale(0.5, 0.5),
                        Size = UDim2.fromOffset(v28, v28),
                        BackgroundTransparency = 1,
                        Image = l_Images_0["icons/common/play"]
                    })
                })
            }),
            TextContainer = l_Roact_0.createElement("Frame", {
                AnchorPoint = Vector2.new(0, 1),
                AutomaticSize = Enum.AutomaticSize.Y,
                Position = UDim2.fromScale(0, 1),
                Size = UDim2.fromScale(1, 0),
                BackgroundTransparency = 1
            }, {
                TextContainerUIListLayout = l_Roact_0.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Center
                }),
                NameContainer = l_Roact_0.createElement("Frame", {
                    AutomaticSize = Enum.AutomaticSize.Y,
                    Size = UDim2.fromScale(1, 0),
                    BackgroundTransparency = 1,
                    LayoutOrder = 1
                }, {
                    NameContainerUIListLayout = l_Roact_0.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Horizontal,
                        HorizontalAlignment = Enum.HorizontalAlignment.Center,
                        Padding = UDim.new(0, 2),
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        VerticalAlignment = Enum.VerticalAlignment.Center
                    }),
                    BlockedIcon = if not v21.isBlocked then nil else l_Roact_0.createElement(l_ImageSetLabel_0, {
                        Size = UDim2.fromOffset(v28, v28),
                        BackgroundTransparency = 1,
                        Image = l_Images_0[v15.BLOCKED_ICON_IMAGE],
                        LayoutOrder = 1
                    }),
                    Name = l_Roact_0.createElement("TextLabel", {
                        AutomaticSize = Enum.AutomaticSize.XY,
                        BackgroundTransparency = 1,
                        Font = v22.Font.CaptionHeader.Font,
                        LayoutOrder = 2,
                        Text = v25,
                        TextColor3 = v22.Theme.TextEmphasis.Color,
                        TextSize = 16.8,
                        TextTruncate = Enum.TextTruncate.AtEnd
                    }, {
                        NameUIPadding = l_Roact_0.createElement("UIPadding", {
                            PaddingTop = UDim.new(0, 2),
                            PaddingBottom = UDim.new(0, 2)
                        }),
                        NameUISizeConstraint = l_Roact_0.createElement("UISizeConstraint", {
                            MaxSize = Vector2.new(v15.SQUAD_LOBBY_AVATAR_SIZE - (not v21.isBlocked and 0 or v28 + 2), math.huge)
                        })
                    })
                }),
                Status = l_Roact_0.createElement("TextLabel", {
                    AutomaticSize = Enum.AutomaticSize.Y,
                    Size = UDim2.fromScale(1, 0),
                    BackgroundTransparency = 1,
                    Font = v22.Font.CaptionBody.Font,
                    LayoutOrder = 2,
                    Text = v33,
                    TextColor3 = v22.Theme.TextDefault.Color,
                    TextSize = 16.8,
                    TextTruncate = Enum.TextTruncate.AtEnd
                }, {
                    StatusUIPadding = l_Roact_0.createElement("UIPadding", {
                        PaddingTop = UDim.new(0, 2),
                        PaddingBottom = UDim.new(0, 2)
                    })
                })
            })
        });
    else
        return l_Roact_0.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1,
            LayoutOrder = v21.layoutOrder
        }, {
            Layout = l_Roact_0.createElement("UIListLayout", {
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                FillDirection = Enum.FillDirection.Vertical,
                Padding = UDim.new(0, 4),
                SortOrder = Enum.SortOrder.LayoutOrder,
                VerticalAlignment = Enum.VerticalAlignment.Center
            }),
            AvatarContainer = l_Roact_0.createElement(l_ShimmerPanel_0, {
                LayoutOrder = 1,
                Size = UDim2.fromOffset(v15.SQUAD_LOBBY_AVATAR_SIZE, v15.SQUAD_LOBBY_AVATAR_SIZE),
                cornerRadius = v19
            }),
            Name = l_Roact_0.createElement(l_ShimmerPanel_0, {
                Size = UDim2.fromOffset(66, 16.8),
                LayoutOrder = 2,
                cornerRadius = v19
            }),
            Status = l_Roact_0.createElement(l_ShimmerPanel_0, {
                Size = UDim2.fromOffset(66, 16.8),
                LayoutOrder = 3,
                cornerRadius = v19
            })
        });
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_React_0 = v1.React;
local l_Roact_0 = v1.Roact;
local l_llama_0 = v1.llama;
local l_dependencyArray_0 = v1.Hooks.dependencyArray;
local v6 = require(l_script_FirstAncestor_0.Common.Constants);
local _ = require(l_script_FirstAncestor_0.Common.ModelTypes);
local v8 = require(l_script_FirstAncestor_0.Components.SquadLobbyUserCard.SquadLobbyUserCard);
return function(v9)
    local v10, v11 = l_React_0.useState(0);
    return l_Roact_0.createElement("Frame", {
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = 1,
        [l_React_0.Change.AbsoluteSize] = l_React_0.useCallback(function(v12)
            v11(v12.AbsoluteSize.X);
        end, l_dependencyArray_0(v11))
    }, (l_React_0.useMemo(function()
        local l_users_0 = v9.users;
        local v14 = {};
        if v10 == 0 then
            return nil;
        else
            local v15 = math.floor(((v10 - 48) + 24) / (v6.SQUAD_LOBBY_USER_CARD_SIZE.X + 24));
            local v16 = ((v10 - 48) - v15 * v6.SQUAD_LOBBY_USER_CARD_SIZE.X) / (v15 - 1);
            for v17, v18 in ipairs(l_users_0) do
                v14["UserCard" .. v17] = l_Roact_0.createElement(v8, {
                    user = v18,
                    layoutOrder = v17
                });
            end;
            return l_llama_0.Dictionary.join(v14, {
                UIGridLayout = l_Roact_0.createElement("UIGridLayout", {
                    CellPadding = UDim2.new(0, v16, 0, 24),
                    CellSize = UDim2.fromOffset(v6.SQUAD_LOBBY_USER_CARD_SIZE.X, v6.SQUAD_LOBBY_USER_CARD_SIZE.Y),
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    VerticalAlignment = Enum.VerticalAlignment.Top
                }),
                UIPadding = l_Roact_0.createElement("UIPadding", {
                    PaddingBottom = v9.paddingBottom
                })
            });
        end;
    end, l_dependencyArray_0(v9.paddingBottom, v9.users, v10))));
end;


local l_TextService_0 = game:GetService("TextService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_React_0 = v2.React;
local l_UIBlox_0 = v2.UIBlox;
local l_UserProfiles_0 = v2.UserProfiles;
local l_dependencyArray_0 = v2.Hooks.dependencyArray;
local l_getStandardSizeAvatarHeadShotRbxthumb_0 = v2.getStandardSizeAvatarHeadShotRbxthumb;
local l_IconSize_0 = l_UIBlox_0.App.ImageSet.Enum.IconSize;
local l_Images_0 = l_UIBlox_0.App.ImageSet.Images;
local l_ImageSetLabel_0 = l_UIBlox_0.Core.ImageSet.ImageSetLabel;
local l_getIconSize_0 = l_UIBlox_0.App.ImageSet.getIconSize;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local _ = require(l_script_FirstAncestor_0.Common.ModelTypes);
local v14 = require(l_script_FirstAncestor_0.Common.getColorFromUserId);
return function(v15)
    local v16 = l_useStyle_0();
    local v17 = l_UserProfiles_0.Hooks.useUserProfilesFetch({
        userIds = {
            (tostring(v15.user.userId))
        },
        query = l_UserProfiles_0.Queries.userProfilesCombinedNameByUserIds
    });
    local v18 = "";
    if v17.data then
        v18 = l_UserProfiles_0.Selectors.getCombinedNameFromId(v17.data, v15.user.userId);
    end;
    local v19 = l_getIconSize_0(l_IconSize_0.Small);
    local v20 = l_getStandardSizeAvatarHeadShotRbxthumb_0((tostring(v15.user.userId)));
    local l_Font_0 = v16.Font.CaptionHeader.Font;
    local v22 = v16.Font.BaseSize * v16.Font.CaptionHeader.RelativeSize;
    local v23 = l_React_0.useMemo(function()
        return l_TextService_0:GetTextSize(v18, v22, l_Font_0, Vector2.new(((v15.containerWidth - 24) - 16) - (not v15.isBlocked and 0 or v19 + 8), math.huge));
    end, l_dependencyArray_0(v18, l_Font_0, v15.containerWidth, v15.isBlocked, v19, v22));
    return l_React_0.createElement("Frame", {
        Size = UDim2.fromScale(1, 1),
        BackgroundColor3 = v14(v15.user.userId),
        LayoutOrder = v15.layoutOrder
    }, {
        UICorner = l_React_0.createElement("UICorner", {
            CornerRadius = UDim.new(0, 8)
        }),
        Background = l_React_0.createElement("Frame", {
            Size = UDim2.fromScale(1, 1),
            BackgroundColor3 = v16.Theme.Overlay.Color,
            BackgroundTransparency = v16.Theme.Overlay.Transparency
        }, {
            UICorner = l_React_0.createElement("UICorner", {
                CornerRadius = UDim.new(0, 8)
            }),
            UIPadding = l_React_0.createElement("UIPadding", {
                PaddingBottom = UDim.new(0, 12),
                PaddingLeft = UDim.new(0, 12),
                PaddingRight = UDim.new(0, 12),
                PaddingTop = UDim.new(0, 12)
            }),
            AvatarImage = l_React_0.createElement(l_ImageSetLabel_0, {
                AnchorPoint = Vector2.new(0.5, 0.5),
                Position = UDim2.fromScale(0.5, 0.5),
                Size = UDim2.fromOffset(96, 96),
                BackgroundColor3 = v14(v15.user.userId),
                Image = v20
            }, {
                UICorner = l_React_0.createElement("UICorner", {
                    CornerRadius = UDim.new(1, 0)
                })
            }),
            Name = l_React_0.useMemo(function()
                if v18 ~= "" then
                    return (l_React_0.createElement("Frame", {
                        AnchorPoint = Vector2.new(0, 1),
                        AutomaticSize = Enum.AutomaticSize.XY,
                        Position = UDim2.fromScale(0, 1),
                        BackgroundColor3 = v16.Theme.Overlay.Color,
                        BackgroundTransparency = v16.Theme.Overlay.Transparency
                    }, {
                        UICorner = l_React_0.createElement("UICorner", {
                            CornerRadius = UDim.new(0, 8)
                        }),
                        UIListLayout = l_React_0.createElement("UIListLayout", {
                            FillDirection = Enum.FillDirection.Horizontal,
                            Padding = UDim.new(0, 8),
                            SortOrder = Enum.SortOrder.LayoutOrder,
                            VerticalAlignment = Enum.VerticalAlignment.Center
                        }),
                        UIPadding = l_React_0.createElement("UIPadding", {
                            PaddingBottom = UDim.new(0, 8),
                            PaddingLeft = UDim.new(0, 8),
                            PaddingRight = UDim.new(0, 8),
                            PaddingTop = UDim.new(0, 8)
                        }),
                        UISizeConstraint = l_React_0.createElement("UISizeConstraint", {
                            MinSize = Vector2.new(0, v19)
                        }),
                        NameTextLabel = l_React_0.createElement("TextLabel", {
                            AutomaticSize = Enum.AutomaticSize.Y,
                            Size = UDim2.fromOffset(math.ceil(v23.X), 0),
                            BackgroundTransparency = 1,
                            Font = l_Font_0,
                            LayoutOrder = 1,
                            Text = v18,
                            TextColor3 = v16.Theme.TextEmphasis.Color,
                            TextSize = v22,
                            TextTransparency = v16.Theme.TextEmphasis.Transparency,
                            TextTruncate = Enum.TextTruncate.AtEnd,
                            TextXAlignment = Enum.TextXAlignment.Left,
                            TextYAlignment = Enum.TextYAlignment.Center,
                            TextWrapped = false
                        }),
                        BlockedIcon = if not v15.isBlocked then nil else l_React_0.createElement(l_ImageSetLabel_0, {
                            Size = UDim2.fromOffset(v19, v19),
                            BackgroundTransparency = 1,
                            Image = l_Images_0["icons/actions/block"],
                            LayoutOrder = 2
                        })
                    }));
                else
                    return nil;
                end;
            end, l_dependencyArray_0(v18, l_Font_0, v15.isBlocked, v19, v23, v22))
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.dependencies);
local l_React_0 = v1.React;
local l_Roact_0 = v1.Roact;
local l_dependencyArray_0 = v1.Hooks.dependencyArray;
local _ = require(l_script_FirstAncestor_0.Common.ModelTypes);
local v6 = require(l_script_FirstAncestor_0.Components.SquadUserCard);
return function(v7)
    local v11 = l_React_0.useMemo(function()
        local v8 = math.clamp(math.ceil(#v7.users / 2), 2, 3);
        local v9 = (v7.containerSize.Y - 12 * (v8 - 1)) / v8;
        local v10 = v7.containerSize.X - 32;
        return Vector2.new(if #v7.users < 3 then v10 else (v10 - 12) / 2, v9);
    end, l_dependencyArray_0(v7.containerSize, #v7.users));
    local v15 = l_React_0.useMemo(function()
        local v12 = {};
        for v13, v14 in ipairs(v7.users) do
            v12["UserCard" .. v13] = l_Roact_0.createElement(v6, {
                containerWidth = v11.X,
                isBlocked = false,
                layoutOrder = v14.rank,
                user = v14
            });
        end;
        return v12;
    end, l_dependencyArray_0(v11, v7.users));
    v15.UIGridLayout = l_React_0.createElement("UIGridLayout", {
        CellPadding = UDim2.fromOffset(12, 12),
        CellSize = UDim2.fromOffset(v11.X, v11.Y),
        FillDirection = Enum.FillDirection.Horizontal,
        HorizontalAlignment = Enum.HorizontalAlignment.Center,
        SortOrder = Enum.SortOrder.LayoutOrder,
        VerticalAlignment = Enum.VerticalAlignment.Top
    });
    v15.UIPadding = l_React_0.createElement("UIPadding", {
        PaddingBottom = v7.paddingBottom,
        PaddingLeft = UDim.new(0, 16),
        PaddingRight = UDim.new(0, 16)
    });
    return l_Roact_0.createFragment(v15);
end;


return {
    FacePile = require(script.FacePile),
    JoinExperienceModal = require(script.JoinExperienceModal),
    ProgressBar = require(script.ProgressBar),
    SquadJoinButton = require(script.SquadJoinButton),
    SquadLeavePrompt = require(script.SquadLeavePrompt),
    SquadLobby = require(script.SquadLobby)
};


return {
    SquadLobby = "SquadLobby",
    SquadInviteFriends = "SquadInviteFriends"
};


return {
    CONTAINER_HEIGHT = 52,
    CONTAINER_LAYOUT_PADDING = 8,
    CONTAINER_BORDER_SIZE = 1,
    CONTAINER_BORDER_RADIUS = 8,
    CONTAINER_DEFAULT_BORDER_COLOR = Color3.fromHex("#404040"),
    CONTAINER_HIGHLIGHT_BORDER_COLOR = Color3.fromHex("#6D34E3"),
    FACEPILE_AVATAR_SIZE = 36,
    FACEPILE_BORDER_WIDTH = 2,
    FACEPILE_OVERLAP = 8,
    FACEPILE_WIDTH = 92,
    TITLE_TEXT_SIZE = 10,
    DESCRIPTION_TEXT_SIZE = 14,
    STATUSTEXT_LAYOUT_PADDING = 4
};


return (require(script:FindFirstAncestor("Squads").dependencies).enumerate("SquadState", {
    Idle = "Idle",
    GameInvite = "GameInvite",
    GamePending = "GamePending",
    UserJoin = "UserJoin"
}));


return {
    Enums = require(script.Enums),
    Constants = require(script.Constants)
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.FloatingActionButton.Components.FabStatusText);
local v2 = require(l_script_FirstAncestor_0.FloatingActionButton.Common.Enums);
local v3 = require(l_script_FirstAncestor_0.FloatingActionButton.Common.Constants);
local v4 = require(l_script_FirstAncestor_0.dependencies);
local l_React_0 = v4.React;
local l_UIBlox_0 = v4.UIBlox;
local l_dependencyArray_0 = v4.Hooks.dependencyArray;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
local v9 = require(l_script_FirstAncestor_0.Components.FacePile);
return function(v10)
    local l_Theme_0 = l_useStyle_0().Theme;
    local v13 = l_React_0.useCallback(function()
        local _ = {};
        if not (v10.squadState == v2.SquadState.UserJoin.rawValue()) or not v10.newJoinedUser then
            return v10.users;
        else
            return {
                v10.newJoinedUser.id
            };
        end;
    end, l_dependencyArray_0(v10.squadState, v10.users, v10.newJoinedUser));
    local v14, v15 = l_React_0.useState(v13());
    l_React_0.useEffect(function()
        v15(v13());
    end, l_dependencyArray_0(v13));
    return l_React_0.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, v3.CONTAINER_HEIGHT),
        BackgroundTransparency = 0,
        BackgroundColor3 = l_Theme_0.BackgroundUIDefault.Color,
        Position = UDim2.fromScale(0.5, 0.5),
        AnchorPoint = Vector2.new(0.5, 0.5)
    }, {
        FabStatusText = l_React_0.createElement(v1, {
            size = UDim2.new(1, -v3.FACEPILE_WIDTH, 1, 0),
            squadState = v10.squadState,
            experienceName = v10.experienceName,
            inviter = v10.inviter,
            joinedUser = v10.newJoinedUser
        }),
        FacePile = l_React_0.createElement(v9, {
            users = v14,
            avatarSize = v3.FACEPILE_AVATAR_SIZE,
            overlapOffset = v3.FACEPILE_OVERLAP,
            borderWidth = v3.FACEPILE_BORDER_WIDTH,
            borderColor = l_Theme_0.BackgroundUIDefault.Color,
            facePileWidth = UDim.new(0, v3.FACEPILE_WIDTH),
            horizontalAlignment = Enum.HorizontalAlignment.Right
        }),
        Layout = l_React_0.createElement("UIListLayout", {
            HorizontalAlignment = Enum.HorizontalAlignment.Right,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            FillDirection = Enum.FillDirection.Horizontal
        }),
        Border = l_React_0.createElement("UIStroke", {
            Color = if v10.squadState == v2.SquadState.Idle.rawValue() then v3.CONTAINER_DEFAULT_BORDER_COLOR else v3.CONTAINER_HIGHLIGHT_BORDER_COLOR,
            Thickness = v3.CONTAINER_BORDER_SIZE
        }),
        UICorner = l_React_0.createElement("UICorner", {
            CornerRadius = UDim.new(0, v3.CONTAINER_BORDER_RADIUS)
        }),
        Padding = l_React_0.createElement("UIPadding", {
            PaddingTop = UDim.new(0, v3.CONTAINER_LAYOUT_PADDING),
            PaddingRight = UDim.new(0, v3.CONTAINER_LAYOUT_PADDING),
            PaddingBottom = UDim.new(0, v3.CONTAINER_LAYOUT_PADDING),
            PaddingLeft = UDim.new(0, v3.CONTAINER_LAYOUT_PADDING)
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.FloatingActionButton.Common.Enums);
local v2 = require(l_script_FirstAncestor_0.FloatingActionButton.Common.Constants);
local v3 = require(l_script_FirstAncestor_0.dependencies);
local l_React_0 = v3.React;
local l_UIBlox_0 = v3.UIBlox;
local l_dependencyArray_0 = v3.Hooks.dependencyArray;
local l_useLocalization_0 = v3.Hooks.useLocalization;
local l_useStyle_0 = l_UIBlox_0.Core.Style.useStyle;
return function(v9)
    local v10 = l_useStyle_0();
    local l_Theme_0 = v10.Theme;
    local l_Font_0 = v10.Font;
    local v13 = l_useLocalization_0({
        letsPlayTitle = "Feature.Squads.Label.LetsPlay",
        gameInviteTitle = {
            "Feature.Squads.Label.LetsPlayWithUser";
            username = not v9.inviter and "" or v9.inviter.name
        },
        gamePendingTitle = "Feature.Squads.Label.PreparingExperience",
        pickAnExperienceDesc = "Feature.Squads.Action.PickAnExperience",
        joinedTheSquadDesc = "Feature.Squads.Label.JoinedTheSquad"
    });
    local v16 = l_React_0.useCallback(function()
        local l_squadState_0 = v9.squadState;
        local v15 = "";
        if l_squadState_0 == v1.SquadState.Idle.rawValue() then
            return v13.letsPlayTitle;
        elseif not (l_squadState_0 == v1.SquadState.GameInvite.rawValue()) or not v9.inviter then
            if l_squadState_0 == v1.SquadState.GamePending.rawValue() then
                return v13.gamePendingTitle;
            else
                if not (not (l_squadState_0 == v1.SquadState.UserJoin.rawValue()) or not v9.joinedUser) then
                    v15 = v9.joinedUser.name;
                end;
                return v15;
            end;
        else
            return v13.gameInviteTitle;
        end;
    end, l_dependencyArray_0(v13, v9.squadState, v9.inviter, v9.joinedUser));
    local v19 = l_React_0.useCallback(function()
        local l_squadState_1 = v9.squadState;
        local v18 = "";
        if l_squadState_1 == v1.SquadState.Idle.rawValue() then
            return v13.pickAnExperienceDesc;
        elseif not (l_squadState_1 == v1.SquadState.GameInvite.rawValue()) or not v9.experienceName then
            if not (l_squadState_1 == v1.SquadState.GamePending.rawValue()) or not v9.experienceName then
                if not (not (l_squadState_1 == v1.SquadState.UserJoin.rawValue()) or not v9.joinedUser) then
                    v18 = v13.joinedTheSquadDesc;
                end;
                return v18;
            else
                return v9.experienceName;
            end;
        else
            return v9.experienceName;
        end;
    end, l_dependencyArray_0(v13, v9.squadState, v9.experienceName));
    local v20, v21 = l_React_0.useState(v16());
    local v22, v23 = l_React_0.useState(v19());
    l_React_0.useEffect(function()
        v21(v16());
        v23(v19());
    end, l_dependencyArray_0(v16, v19));
    return l_React_0.createElement("Frame", {
        Size = v9.size,
        BackgroundTransparency = 1,
        SizeConstraint = Enum.SizeConstraint.RelativeXY
    }, {
        Title = l_React_0.createElement("TextLabel", {
            Text = v20,
            Font = l_Font_0.CaptionHeader.Font,
            TextColor3 = l_Theme_0.TextMuted.Color,
            TextTransparency = l_Theme_0.TextMuted.Transparency,
            TextSize = v2.TITLE_TEXT_SIZE,
            TextXAlignment = Enum.TextXAlignment.Left,
            Size = UDim2.new(1, 0, 0, v2.TITLE_TEXT_SIZE),
            LayoutOrder = 1,
            BackgroundTransparency = 1
        }),
        Description = l_React_0.createElement("TextLabel", {
            Text = v22,
            Font = l_Font_0.Header1.Font,
            TextColor3 = l_Theme_0.TextEmphasis.Color,
            TextTransparency = l_Theme_0.TextEmphasis.Transparency,
            TextSize = v2.DESCRIPTION_TEXT_SIZE,
            TextXAlignment = Enum.TextXAlignment.Left,
            Size = UDim2.new(1, 0, 0, v2.DESCRIPTION_TEXT_SIZE),
            LayoutOrder = 2,
            BackgroundTransparency = 1
        }),
        Layout = l_React_0.createElement("UIListLayout", {
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder,
            Padding = UDim.new(0, v2.STATUSTEXT_LAYOUT_PADDING)
        })
    });
end;


local l_UserGameSettings_0 = UserSettings():GetService("UserGameSettings");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v2 = require(l_script_FirstAncestor_0.Components.SquadLobby);
local v3 = require(l_script_FirstAncestor_0.Components.SquadInviteFriends);
local v4 = require(l_script_FirstAncestor_0.dependencies);
local v5 = require(l_script_FirstAncestor_0.EnumScreens);
local l_AppBlox_0 = v4.AppBlox;
local l_React_0 = v4.React;
local l_RoactNavigation_0 = v4.RoactNavigation;
local l_UIBlox_0 = v4.UIBlox;
local l_FullscreenPageWithSafeArea_0 = l_AppBlox_0.FullscreenPageWithSafeArea;
local l_withStyle_0 = l_UIBlox_0.Style.withStyle;
local v12 = l_RoactNavigation_0.createRobloxStackNavigator({
    {
        [v5.SquadLobby] = v2
    },
    {
        [v5.SquadInviteFriends] = v3
    }
}, {
    defaultNavigationOptions = {
        absorbInput = true,
        overlayEnabled = true,
        renderUnderlyingPage = true
    },
    mode = l_RoactNavigation_0.StackPresentationStyle.Modal,
    transitionConfig = function()
        if not l_UserGameSettings_0.ReducedMotion then
            return l_RoactNavigation_0.StackViewTransitionConfigs.SlideFromRight;
        else
            return l_RoactNavigation_0.StackViewTransitionConfigs.FadeInPlace;
        end;
    end
});
local v13 = l_React_0.PureComponent:extend("SquadMainStackNavigatorWrapped");
v13.render = function(v14)
    return l_withStyle_0(function(v15)
        return l_React_0.createElement(l_FullscreenPageWithSafeArea_0, {
            BackgroundTransparency = v15.Theme.BackgroundDefault.Transparency,
            BackgroundColor3 = v15.Theme.BackgroundDefault.Color,
            includeStatusBar = true
        }, {
            Navigator = l_React_0.createElement(v12, {
                navigation = v14.props.navigation
            })
        });
    end);
end;
v13.router = v12.router;
return v13;


return {
    SquadMainStackNavigator = require(script.SquadMainStackNavigator)
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local v1 = require(l_script_FirstAncestor_0.dependencies);
require(l_script_FirstAncestor_0.devDependencies).JestGlobals.beforeAll(function(_)
    v1.RoduxNetworking.setNetworkImpl(function(v3)
        error(string.format("Should have replaced network implementation for url: %s", (tostring(v3))));
    end);
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.UIBlox);
v2.init(require(l_Parent_0.Dev.RobloxAppUIBloxConfig));
local l_mockLocale_0 = require(l_Parent_0.Dev.SocialTestHelpers).StoryHelpers.mockLocale;
local v4 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v4.Roact;
local l_llama_0 = v4.llama;
local l_AppStyleProvider_0 = v2.App.Style.AppStyleProvider;
l_Roact_0.setGlobalConfig({
    propValidation = true,
    elementTracing = true
});
local v8 = {
    Default = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Light = {
        themeName = "Light",
        fontName = "Gotham"
    },
    Dark = {
        themeName = "Dark",
        fontName = "Gotham"
    }
};
local v9 = {
    language = "en-us"
};
return {
    name = "Squads",
    storyRoot = l_script_FirstAncestor_0,
    roact = l_Roact_0,
    mapDefinition = function(v10)
        return l_llama_0.Dictionary.join(v10, {
            controls = l_llama_0.Dictionary.join(v9, v10.controls or {})
        });
    end,
    mapStory = function(v11)
        return function(v12)
            return l_Roact_0.createElement(l_AppStyleProvider_0, {
                style = not not v12 and v8[v12.theme] or v8.Default
            }, {
                Child = l_mockLocale_0(v11, v12)
            });
        end;
    end
};


local l_Parent_0 = script:FindFirstAncestor("Squads").Parent;
local v1 = require(l_Parent_0.LuaSocialLibrariesDeps);
local v2 = require(l_Parent_0.Dev.JestGlobals);
local l_expect_0 = v2.expect;
l_expect_0.extend(v1.CollisionMatchers.Jest);
return {
    DeferredLuaHelpers = require(l_Parent_0.Dev.TestUtils).DeferredLuaHelpers,
    JestGlobals = v2,
    Mock = v1.Mock,
    ReactRoblox = require(l_Parent_0.Dev.ReactRoblox),
    Rhodium = require(l_Parent_0.Dev.Rhodium),
    RhodiumHelpers = function()
        return require(l_Parent_0.Dev.RhodiumHelpers);
    end,
    UnitTestHelpers = require(l_Parent_0.Dev.SocialTestHelpers).TestHelpers,
    createTreeWithProviders = require(l_Parent_0.Dev.SocialTestHelpers).TestHelpers.createTreeWithProviders,
    findImageSet = require(l_Parent_0.Dev.SocialTestHelpers).TestHelpers.findImageSet,
    jest = v2.jest,
    jestExpect = l_expect_0
};


return {
    EnumScreens = require(script.EnumScreens),
    Navigators = require(script.Navigators),
    NetworkingSquads = require(script.dependencies).NetworkingSquads,
    RoduxKey = require(script.Common.Constants).RODUX_KEY,
    SquadEventReceiver = require(script.SquadEventReceiver),
    SquadJoinButton = require(script.Components).SquadJoinButton,
    SquadLeavePrompt = require(script.Components).SquadLeavePrompt,
    installReducer = require(script.installReducer),
    renderCoreScriptSquad = require(script.renderCoreScriptSquad),
    ["jest.config"] = script["jest.config"]
};


local v0 = require(script:FindFirstAncestor("Squads").dependencies);
local l_Rodux_0 = v0.Rodux;
local l_RoduxGames_0 = v0.RoduxGames;
local l_RoduxNetworking_0 = v0.RoduxNetworking;
local l_RoduxSquads_0 = v0.RoduxSquads;
local l_RoduxPresence_0 = v0.RoduxPresence;
return function()
    return l_Rodux_0.combineReducers({
        Games = l_RoduxGames_0.installReducer(),
        NetworkStatus = l_RoduxNetworking_0.installReducer(),
        Presence = l_RoduxPresence_0.installReducer(),
        Squad = l_RoduxSquads_0.installReducer()
    });
end;


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "SocialWidgets-Squads",
    testMatch = {
        "**/*.test"
    },
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler()
    }
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("Squads");
local l_CoreGui_0 = game:GetService("CoreGui");
local v2 = require(l_script_FirstAncestor_0.dependencies);
local l_Roact_0 = v2.Roact;
local l_Rodux_0 = v2.Rodux;
local l_React_0 = v2.React;
local l_RoactRodux_0 = v2.RoactRodux;
local v7 = require(l_script_FirstAncestor_0.Common.Constants);
local v8 = require(l_script_FirstAncestor_0.SquadEventReceiver);
local v9 = require(l_script_FirstAncestor_0.installReducer);
local v10 = {};
v10.__index = v10;
v10.new = function()
    local v11 = setmetatable({}, v10);
    v11.store = l_Rodux_0.Store.new(l_Rodux_0.combineReducers({
        [v7.RODUX_KEY] = v9()
    }), nil, {
        l_Rodux_0.thunkMiddleware
    });
    v11.root = l_React_0.createElement("Folder", {}, {
        StoreProvider = l_React_0.createElement(l_RoactRodux_0.StoreProvider, {
            store = v11.store
        }, {
            SquadEventReceiver = l_React_0.createElement(v8)
        })
    });
    v11.element = l_Roact_0.mount(v11.root, l_CoreGui_0, "Squad");
    return v11;
end;
return v10;


return {
    Default = "Default",
    Initializing = "Initializing",
    ErrorRetrieving = "ErrorRetrieving",
    MetaActions = "MetaActions",
    AbuseReport = "AbuseReport"
};


return {
    Default = "Default",
    Loading = "Loading",
    NoMoreNotifications = "NoMoreNotifications"
};


local l_CoreGui_0 = game:GetService("CoreGui");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_CurrentCamera_0 = workspace.CurrentCamera;
local v4 = require(l_script_FirstAncestor_0.constants);
local v5 = require(l_Parent_0.React);
local v6 = require(l_Parent_0.ReactRoblox);
local v7 = require(l_Parent_0.UIBlox);
local l_useStyle_0 = v7.Core.Style.useStyle;
local l_DarkTheme_0 = v7.App.Style.Themes.DarkTheme;
local l_components_0 = l_script_FirstAncestor_0.components;
local v11 = require(l_components_0.StreamNotificationsHeader);
local v12 = require(l_components_0.StreamNotificationsContent);
local l_EventStream_0 = require(l_script_FirstAncestor_0.analytics.analyticsService).EventStream;
local l_NotificationHelper_0 = require(l_Parent_0.NotificationsCommon).NotificationHelper;
local v15 = require(l_script_FirstAncestor_0.analytics.analyticsConstants);
return function(v16)
    local v17 = l_useStyle_0();
    local v18, v19 = v5.useState(l_CurrentCamera_0.ViewportSize.X < v4.Modal.WidthLimit);
    v5.useEffect(function()
        local v20 = l_CurrentCamera_0:GetPropertyChangedSignal("ViewportSize"):Connect(function()
            if l_CurrentCamera_0.ViewportSize.X < v4.Modal.WidthLimit then
                v19(true);
                return ;
            else
                v19(false);
                return ;
            end;
        end);
        return function()
            v20:Disconnect();
        end;
    end, {});
    local v21, v22 = v5.useState(true);
    local v24 = v5.useCallback(function(v23)
        v22(v23);
    end);
    local v25, v26 = v5.useState(true);
    return v6.createPortal({
        ScreenGui = v5.createElement("ScreenGui", {
            Enabled = v25,
            ZIndexBehavior = Enum.ZIndexBehavior.Sibling,
            DisplayOrder = 10,
            IgnoreGuiInset = true
        }, {
            TextButtonOverlayBackground = v5.createElement("TextButton", {
                Size = UDim2.new(1, 0, 1, 0),
                Position = UDim2.new(0.5, 0, 0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0.5),
                BackgroundTransparency = not v21 and 1 or v17.Theme.BackgroundOnPress.Transparency,
                BackgroundColor3 = v17.Theme.BackgroundOnPress.Color,
                AutoButtonColor = false,
                BorderSizePixel = 0,
                Text = "",
                [v5.Event.Activated] = function()
                    v16.displayStream(false);
                    l_NotificationHelper_0.fireEvent(l_EventStream_0, v15.Context.click, v15.EventNames.closeContent, {
                        closeMethod = v15.CloseMethod.backgroundOverlay
                    });
                end
            }, {
                StreamNotificationsFrame = v5.createElement("TextButton", {
                    Size = if not v18 then UDim2.new(0, v4.Modal.Width, 0, v4.Modal.Height) else UDim2.new(1, 0, 1, 0),
                    Position = UDim2.new(0.5, 0, 0.5, 0),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    BackgroundColor3 = if v17.theme == l_DarkTheme_0 then v17.Theme.Overlay.Color else v17.Theme.BackgroundMuted.Color,
                    AutoButtonColor = false,
                    BorderSizePixel = 0,
                    Text = ""
                }, {
                    UICorner = v5.createElement("UICorner", {
                        CornerRadius = if v18 then UDim.new(0, 0) else UDim.new(0, v4.Modal.CornerRadius)
                    }),
                    Header = v5.createElement(v11, {
                        isSmallScreen = v18,
                        displayStream = v16.displayStream
                    }),
                    StreamNotificationsContent = v5.createElement(v12, {
                        showOverlay = v24,
                        isSmallScreen = v18,
                        displayStream = v16.displayStream,
                        setDisplayScreenGuiEnabled = v26
                    })
                })
            })
        })
    }, l_CoreGui_0);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_script_FirstAncestor_0.StreamNotifications);
local v4 = require(l_Parent_0.UIBlox);
local l_Badge_0 = v4.App.Indicator.Badge;
local l_IconButton_0 = v4.App.Button.IconButton;
local l_IconSize_0 = v4.App.Constant.IconSize;
local l_Images_0 = v4.App.ImageSet.Images;
local l_BadgeVariant_0 = v4.App.Indicator.Enum.BadgeVariant;
local l_EventStream_0 = require(l_script_FirstAncestor_0.analytics.analyticsService).EventStream;
local l_NotificationHelper_0 = require(l_Parent_0.NotificationsCommon).NotificationHelper;
local l_ixpHelper_0 = require(l_Parent_0.NotificationsCommon).ixpHelper;
local v13 = require(l_script_FirstAncestor_0.constants);
local v14 = require(l_script_FirstAncestor_0.analytics.analyticsConstants);
local l_GetFStringNotificationsStreamNotificationUXLayer_0 = require(l_Parent_0.SharedFlags).GetFStringNotificationsStreamNotificationUXLayer;
local v16 = l_Images_0["icons/common/notificationOn"];
return function(v17)
    local v18, v19 = v2.useState(false);
    local v20 = not not v17.notificationCount and tonumber(v17.notificationCount) or 0;
    local l_layoutOrder_0 = v17.layoutOrder;
    local v22 = 44;
    if v17.compactWidth then
        v22 = 34;
    end;
    v2.useEffect(function()
        if v20 > 0 then
            l_NotificationHelper_0.fireEvent(l_EventStream_0, v14.Context.seen, v14.EventNames.openCTAShown, {
                count = v20,
                sendrVersion = v13.SENDRVersion
            });
        end;
    end, {
        v20
    });
    return v2.createElement(l_IconButton_0, {
        size = UDim2.new(0, v22, 1, 0),
        icon = v16,
        iconSize = l_IconSize_0.Medium,
        layoutOrder = l_layoutOrder_0 or 3,
        onActivated = function()
            v19(true);
            l_ixpHelper_0.logUserLayerExposure(l_GetFStringNotificationsStreamNotificationUXLayer_0());
            l_NotificationHelper_0.fireEvent(l_EventStream_0, v14.Context.click, v14.EventNames.openContent, {
                countOfUnreadNotification = v20,
                sendrVersion = v13.SENDRVersion
            });
        end
    }, {
        notificationBadge = if v20 > 0 then v2.createElement(l_Badge_0, {
            position = UDim2.new(0.5, 0, 0.5, 0),
            anchorPoint = Vector2.new(0, 1),
            value = v20,
            badgeVariant = l_BadgeVariant_0.Alert
        }) else nil
    }, {
        (v2.useMemo(function()
            if not v18 then
                return nil;
            else
                return v2.createElement(v3, {
                    displayStream = v19
                });
            end;
        end, {
            v18
        }))
    });
end;


return {
    EventNames = {
        openContent = "nsOpenContent",
        closeContent = "nsCloseContent",
        openCTAShown = "nsOpenCTAShown",
        notificationRetrieved = "nsNotificationRetrieved",
        notificationViewed = "nsNotificationViewed",
        bundleOpened = "nsNotificationBundleOpened",
        bundleClosed = "nsNotificationBundleClosed",
        openMetaActions = "nsOpenMetaActions",
        closeMetaActions = "nsCloseMetaActions"
    },
    CloseMethod = {
        closeIcon = "closeIcon",
        backgroundOverlay = "backgroundOverlay"
    },
    Context = {
        seen = "seen",
        click = "click",
        fetched = "fetched"
    }
};


return {
    EventStream = {
        sendEventDeferred = require(script:FindFirstAncestor("StreamNotifications").analytics.sendEventDeferred)((game:GetService("EventIngestService")))
    }
};


local l_getPlatformTarget_0 = require(script:FindFirstAncestor("StreamNotifications").Parent.Analytics).getPlatformTarget;
return function(v1)
    return function(v2, v3, v4)
        v1:SendEventDeferred(l_getPlatformTarget_0(), v2, v3, v4);
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.constants);
local v3 = require(l_Parent_0.React);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_useStyle_0 = require(l_Parent_0.UIBlox).Core.Style.useStyle;
return function()
    local v6 = l_useStyle_0();
    local l_Font_0 = v6.Font;
    local l_Font_1 = l_Font_0.Header1.Font;
    local l_BaseSize_0 = l_Font_0.BaseSize;
    local v10 = l_useLocalization_0({
        emptyText = v2.Text.EmptyKey
    });
    return v3.createElement("Frame", {
        AutomaticSize = Enum.AutomaticSize.XY,
        Position = UDim2.new(0.5, 0, 0.5, 0),
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundTransparency = 1
    }, {
        UIListLayout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, v2.DefaultPadding)
        });
        v3.createElement("TextLabel", {
            Text = v10 and v10.emptyText,
            LayoutOrder = 2,
            Font = l_Font_1,
            TextSize = l_BaseSize_0,
            BackgroundTransparency = 1,
            TextColor3 = v6.Theme.TextDefault.Color,
            Size = UDim2.new(1, 0, 0, v2.EmptyNotifications.LabelHeight)
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.constants);
local v3 = require(l_Parent_0.React);
local v4 = require(l_Parent_0.NotificationsCommon);
local l_NotificationCardProvider_0 = v4.NotificationCardProvider;
local l_NotificationCard_0 = v4.NotificationCard;
local l_NotificationHelper_0 = v4.NotificationHelper;
local l_constants_0 = v4.constants;
local l_marshalStreamNotificationData_0 = l_NotificationHelper_0.marshalStreamNotificationData;
local v10 = require(l_script_FirstAncestor_0.EnumStreamNotificationsDisplayState);
local v11 = require(l_Parent_0.UIBlox);
local l_useStyle_0 = v11.Core.Style.useStyle;
local l_IconButton_0 = v11.App.Button.IconButton;
local l_IconSize_0 = v11.App.ImageSet.Enum.IconSize;
local l_BaseMenu_0 = v11.App.Menu.BaseMenu;
local l_ImageSetLabel_0 = v11.Core.ImageSet.ImageSetLabel;
return function(v17)
    local v18 = l_useStyle_0();
    local l_activeNotification_0 = v17.activeNotification;
    local l_displayState_0 = v17.displayState;
    local l_isSmallScreen_0 = v17.isSmallScreen;
    local l_handleActions_0 = v17.handleActions;
    local l_closeNotificationDisplay_0 = v17.closeNotificationDisplay;
    if l_displayState_0 ~= v10.MetaActions then
        return nil;
    else
        local v24 = l_marshalStreamNotificationData_0(l_activeNotification_0);
        local v25 = {};
        if v24 then
            for _, v27 in ipairs(v24.state.visualItems.metaAction) do
                table.insert(v25, {
                    icon = v2.MetaActions.ActionIcons[v27.actionIcon] or v2.MetaActions.ActionIcons.default,
                    text = v27.label.text,
                    onActivated = function()
                        if l_handleActions_0 then
                            l_handleActions_0(v27, l_activeNotification_0);
                        end;
                    end
                });
            end;
        end;
        return {
            UICorner = v3.createElement("UICorner", {
                CornerRadius = if l_isSmallScreen_0 then UDim.new(0, 0) else UDim.new(0, v2.Modal.CornerRadius)
            }),
            MetaActions = v3.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.Y,
                Size = UDim2.fromScale(1, 0),
                Position = UDim2.new(0.5, 0, 0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0.5),
                BackgroundTransparency = 1
            }, {
                UIPadding = v3.createElement("UIPadding", {
                    PaddingTop = UDim.new(0, v2.Modal.Padding),
                    PaddingLeft = UDim.new(0, v2.Modal.Padding),
                    PaddingRight = UDim.new(0, v2.Modal.Padding),
                    PaddingBottom = UDim.new(0, v2.Modal.Padding)
                }),
                v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, v2.DefaultPadding)
                }),
                CardAndClose = v3.createElement("Frame", {
                    AutomaticSize = Enum.AutomaticSize.Y,
                    Size = UDim2.fromScale(1, 0),
                    BackgroundTransparency = 1,
                    LayoutOrder = 1
                }, {
                    ActiveCard = v3.createElement(l_NotificationCardProvider_0, {
                        notificationPayload = l_activeNotification_0,
                        state = v24 and v24.state,
                        isCompact = false,
                        readOnly = false,
                        openMetaActions = nil,
                        handleActions = l_handleActions_0
                    }, {
                        NotificationCard = v3.createElement(l_NotificationCard_0, {
                            isHover = false,
                            layoutOrder = 1
                        })
                    }),
                    CloseButtonFrame = v3.createElement("Frame", {
                        Size = UDim2.fromOffset(v2.MetaActions.CloseButtonFrameSize, v2.MetaActions.CloseButtonFrameSize),
                        BackgroundTransparency = 1,
                        BorderSizePixel = 0,
                        AnchorPoint = Vector2.new(1, 0),
                        Position = UDim2.new(1, -l_constants_0.Padding.DefaultCardPadding, 0, l_constants_0.Padding.DefaultCardPadding)
                    }, {
                        CloseIcon = v3.createElement(l_ImageSetLabel_0, {
                            LayoutOrder = 2,
                            AnchorPoint = Vector2.new(0.5, 0.5),
                            Position = UDim2.fromScale(0.5, 0.5),
                            Size = UDim2.fromOffset(v2.MetaActions.CloseIconSize, v2.MetaActions.CloseIconSize),
                            BackgroundTransparency = 1,
                            BorderSizePixel = 0,
                            Image = v2.Modal.CloseIcon,
                            ImageColor3 = v18.Theme.UIEmphasis.Color
                        }),
                        CloseButton = v3.createElement(l_IconButton_0, {
                            iconSize = l_IconSize_0.Small,
                            size = UDim2.fromOffset(v2.MetaActions.CloseButtonSize, v2.MetaActions.CloseButtonSize),
                            layoutOrder = 1,
                            anchorPoint = Vector2.new(0.5, 0.5),
                            position = UDim2.new(0.5, 0, 0.5, 0),
                            onActivated = l_closeNotificationDisplay_0
                        })
                    })
                }),
                Menu = v3.createElement(l_BaseMenu_0, {
                    buttonProps = v25,
                    width = UDim.new(1, 0),
                    layoutOrder = 2
                })
            })
        };
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_script_FirstAncestor_0.constants);
local v4 = require(l_Parent_0.ReactOtter);
local v5 = require(l_Parent_0.UIBlox);
local l_useStyle_0 = v5.Core.Style.useStyle;
local l_DarkTheme_0 = v5.App.Style.Themes.DarkTheme;
local v8 = require(l_Parent_0.NotificationsCommon);
local l_NotificationCard_0 = v8.NotificationCard;
local l_NotificationHelper_0 = v8.NotificationHelper;
local l_NotificationCardProvider_0 = v8.NotificationCardProvider;
local l_marshalStreamNotificationData_0 = l_NotificationHelper_0.marshalStreamNotificationData;
local v13 = {
    stiffness = 207,
    damping = 24,
    mass = 1
};
return function(v14)
    local v15 = l_useStyle_0();
    local v16 = l_marshalStreamNotificationData_0(v14.notification);
    local v17, v18 = v2.useState(0);
    local v19, v20 = v4.useAnimatedBinding({
        dismissHeight = 1,
        transparency = 1,
        collapsedHeight = not v14.collapsed and 1 or 0,
        collapsedWidth = not v14.collapsed and 0 or 1
    }, function()
        if v14.notification.dismiss then
            v14.finishDismissNotification(v14.notification.id);
        end;
    end);
    v2.useEffect(function()
        v20({
            dismissHeight = v4.spring(not v14.notification.dismiss and 1 or 0, v13),
            transparency = v4.spring(not v14.notification.dismiss and 1 or 0, v13),
            collapsedHeight = v4.spring(not v14.collapsed and 1 or 0, v13),
            collapsedWidth = v4.spring(not v14.collapsed and 0 or 1, v13)
        });
    end, {
        v14.notification.dismiss,
        v14.collapsed
    });
    local function v22(v21)
        if v14.onHeightChange then
            v14.onHeightChange(v14.layoutOrder, v21.AbsoluteSize.Y);
        end;
    end;
    local function v24(v23)
        if v14.notification.dismiss ~= true then
            v18(v23.AbsoluteSize.Y + v3.DefaultPadding);
        end;
    end;
    local v25 = 0;
    if v14.layoutOrder == 2 then
        v25 = v3.DefaultPadding * 2;
    elseif v14.layoutOrder == 3 then
        v25 = v3.DefaultPadding * 4;
    elseif v14.layoutOrder >= 4 then
        v25 = v3.DefaultPadding * 6;
    end;
    return v2.createElement("Frame", {
        Size = v19:map(function(v26)
            if not (v14.layoutOrder == 1) or not v14.collapsed then
                return UDim2.new(1, -(v3.DefaultPadding * 2 + v25 * v26.collapsedWidth), 0, (v26.collapsedHeight * v26.dismissHeight) * v17);
            else
                return UDim2.new(1, -(v3.DefaultPadding * 2 + v25 * v26.collapsedWidth), 0, (v26.collapsedHeight * v26.dismissHeight) * v17 + v3.DefaultPadding);
            end;
        end),
        BackgroundTransparency = 1,
        ClipsDescendants = v14.layoutOrder ~= 1 and (v14.collapsed and true or false),
        LayoutOrder = v14.layoutOrder or 1,
        ZIndex = not v14.layoutOrder and 1 or -v14.layoutOrder
    }, {
        DismissFrame = v2.createElement("Frame", {
            Size = v19:map(function(v27)
                return UDim2.new(1, 0, 0, v27.dismissHeight * v17);
            end),
            BackgroundTransparency = 1,
            ClipsDescendants = true,
            LayoutOrder = v14.layoutOrder,
            [v2.Change.AbsoluteSize] = v22
        }, {
            FadeFrame = v2.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.Y,
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundColor3 = if v15.theme == l_DarkTheme_0 then v15.Theme.Overlay.Color else v15.Theme.BackgroundMuted.Color,
                BackgroundTransparency = v19:map(function(v28)
                    return v28.transparency;
                end),
                ZIndex = 2,
                Position = UDim2.fromScale(0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0)
            }, {}),
            InnerFrame = v2.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.Y,
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                ZIndex = 1,
                Position = UDim2.fromScale(0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0),
                [v2.Change.AbsoluteSize] = v24
            }, {
                v2.createElement(l_NotificationCardProvider_0, {
                    notificationPayload = v14.notification,
                    state = v16.state,
                    isCompact = false,
                    readOnly = not not v14.collapsed or false,
                    handleActions = v14.handleActions,
                    openMetaActions = v14.openMetaActions
                }, {
                    NotificationCard = v2.createElement(l_NotificationCard_0, {
                        isHover = false,
                        layoutOrder = v14.layoutOrder
                    })
                })
            })
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_components_0 = l_script_FirstAncestor_0.components;
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.React);
local v4 = require(l_script_FirstAncestor_0.constants);
local v5 = require(l_Parent_0.ReactOtter);
local v6 = require(l_Parent_0.NotificationsCommon);
local v7 = require(l_components_0.StreamNotificationAnimationWrapper);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_NotificationHelper_0 = v6.NotificationHelper;
local v10 = require(l_Parent_0.UIBlox);
local l_useStyle_0 = v10.Core.Style.useStyle;
local l_Images_0 = v10.App.ImageSet.Images;
local l_ImageSetLabel_0 = v10.Core.ImageSet.ImageSetLabel;
local v14 = l_Images_0["icons/actions/truncationExpand"];
local v15 = l_Images_0["icons/actions/truncationCollapse"];
local v16 = UDim.new(0, 12);
local v17 = UDim.new(0, 24);
local v18 = v4.DefaultPadding * 4;
local v19 = UDim2.fromOffset(24, 24);
local l_EventStream_0 = require(l_script_FirstAncestor_0.analytics.analyticsService).EventStream;
local v21 = require(l_script_FirstAncestor_0.analytics.analyticsConstants);
local v22 = {
    stiffness = 207,
    damping = 24,
    mass = 1
};
return function(v23)
    local v24 = l_useStyle_0();
    local l_Font_0 = v24.Font;
    local l_Font_1 = l_Font_0.Header1.Font;
    local v27 = l_Font_0.BaseSize * l_Font_0.CaptionHeader.RelativeSize;
    local v28, v29 = v3.useState(true);
    local v30, v31 = v3.useState(74);
    local v32, v33 = v3.useState(true);
    local v34, v35 = v5.useAnimatedBinding({
        shadowHeight = 0,
        shadowWidth = 1
    });
    local v36 = l_useLocalization_0({
        moreText = v4.Text.ShowMoreKey,
        lessText = v4.Text.ShowLessKey
    });
    local v39 = v3.useCallback(function(v37, v38)
        if not (not (v37 == 1) or not v28) then
            v31(v38);
        end;
    end);
    local function v44(v40)
        local v41 = {};
        for _, v43 in v40, nil, nil do
            if v43.id then
                table.insert(v41, v43.id);
            end;
        end;
        return v41;
    end;
    local function v48()
        v29(function(v45)
            l_NotificationHelper_0.fireEvent(l_EventStream_0, v21.Context.click, if not v45 then v21.EventNames.bundleClosed else v21.EventNames.bundleOpened, {
                bundleKey = v23.notifications[1].content.bundleKey or nil,
                totalNotifications = #v23.notifications or nil,
                notificationIds = v44(v23.notifications) or nil
            });
            if v45 then
                for v46, v47 in v23.notifications, nil, nil do
                    l_NotificationHelper_0.fireEvent(l_EventStream_0, v21.Context.seen, v21.EventNames.notificationViewed, {
                        notificationId = v47.id or nil,
                        notificationType = v47.content.notificationType or nil,
                        bundlePosition = v46,
                        bundleKey = v47.content.bundleKey or nil,
                        clientEventsPayload = v47.content.clientEventsPayload or nil
                    });
                end;
            end;
            return not v45;
        end);
    end;
    v3.useEffect(function()
        v35({
            shadowHeight = v5.spring(not v28 and 1 or 0, v22),
            shadowWidth = v5.spring(not v28 and 0 or 1, v22)
        });
    end, {
        v28
    });
    v3.useEffect(function()
        v33(#v23.notifications > 1);
    end, {
        v23.notifications
    });
    return (v3.useMemo(function()
        local v49 = {};
        for v50, v51 in ipairs(v23.notifications) do
            local v52 = false;
            if not (not v28 or not v32) then
                v52 = true;
            end;
            v49[v51.id] = v3.createElement(v7, {
                layoutOrder = v50,
                notification = v51,
                finishDismissNotification = v23.finishDismissNotification,
                handleActions = v23.handleActions,
                openMetaActions = v23.openMetaActions,
                onHeightChange = v39,
                collapsed = v52
            });
        end;
        v49.UIPadding = v3.createElement("UIPadding", {
            PaddingTop = if not v28 and v32 then UDim.new(0, 40) else UDim.new(0, 0)
        });
        v49.UIListLayout = v3.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Center
        });
        v49.Shadow1 = if not not v28 and v32 then v3.createElement("Frame", {
            Size = v34:map(function(v53)
                return UDim2.new(1, 0, 0, v53.shadowHeight * v30 + v4.DefaultPadding);
            end),
            LayoutOrder = #v23.notifications + 1,
            ZIndex = -(#v23.notifications + 1),
            BackgroundTransparency = 1,
            BorderSizePixel = 0
        }, {
            v3.createElement("Frame", {
                Size = v34:map(function(v54)
                    return UDim2.new(1, -((v4.DefaultPadding * 4) * v54.shadowWidth), 0, v30 - v4.DefaultPadding);
                end),
                BackgroundColor3 = v24.Theme.BackgroundDefault.Color,
                BackgroundTransparency = 0,
                BorderSizePixel = 0,
                Position = UDim2.new(0.5, 0, 0, 0),
                AnchorPoint = Vector2.new(0.5, 0)
            }, {
                UICorner = v3.createElement("UICorner", {
                    CornerRadius = v16
                })
            })
        }) else nil;
        v49.Shadow2 = if not not v28 and v32 then v3.createElement("Frame", {
            Size = v34:map(function(v55)
                return UDim2.new(1, 0, 0, v55.shadowHeight * v30 + v4.DefaultPadding * 2);
            end),
            LayoutOrder = #v23.notifications + 2,
            BackgroundTransparency = 1,
            ZIndex = -(#v23.notifications + 2),
            BorderSizePixel = 0
        }, {
            v3.createElement("Frame", {
                Size = v34:map(function(v56)
                    return UDim2.new(1, -((v4.DefaultPadding * 6) * v56.shadowWidth), 0, v30 - v4.DefaultPadding);
                end),
                BackgroundColor3 = v24.Theme.BackgroundContrast.Color,
                BackgroundTransparency = 0,
                BorderSizePixel = 0,
                Position = UDim2.new(0.5, 0, 0, 0),
                AnchorPoint = Vector2.new(0.5, 0)
            }, {
                UICorner = v3.createElement("UICorner", {
                    CornerRadius = v16
                })
            })
        }) else nil;
        return v3.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            LayoutOrder = v23.layoutOrder
        }, {
            UIPadding = v3.createElement("UIPadding", {
                PaddingBottom = if not not v28 and v32 then UDim.new(0, v4.DefaultPadding) else UDim.new(0, 0)
            }),
            ShowLessButton = if not v28 and v32 then v3.createElement("TextButton", {
                Size = UDim2.new(0, 160, 0, 40),
                Text = "",
                Font = l_Font_1,
                TextSize = v27,
                [v3.Event.Activated] = v48,
                BackgroundTransparency = 1,
                BackgroundColor3 = v24.Theme.BackgroundMuted.Color,
                AutoButtonColor = false,
                LayoutOrder = 1,
                ZIndex = 4,
                Position = UDim2.new(1, 0, 0, 0),
                AnchorPoint = Vector2.new(1, 0),
                BorderSizePixel = 0
            }, {
                v3.createElement("Frame", {
                    Size = UDim2.new(1, -v4.DefaultPadding, 1, -v4.DefaultPadding),
                    BackgroundTransparency = 0,
                    BackgroundColor3 = v24.Theme.BackgroundContrast.Color,
                    Position = UDim2.new(1, -v4.DefaultPadding, 0, 0),
                    AnchorPoint = Vector2.new(1, 0),
                    ZIndex = 10,
                    BorderSizePixel = 0
                }, {
                    UICorner = v3.createElement("UICorner", {
                        CornerRadius = v17
                    }),
                    ShowLessTextAndIconFrame = v3.createElement("Frame", {
                        AutomaticSize = Enum.AutomaticSize.XY,
                        Position = UDim2.new(0.5, 0, 0.5, 0),
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        BorderSizePixel = 0,
                        BackgroundTransparency = 1
                    }, {
                        UIListLayout = v3.createElement("UIListLayout", {
                            FillDirection = Enum.FillDirection.Horizontal,
                            SortOrder = Enum.SortOrder.LayoutOrder,
                            HorizontalAlignment = Enum.HorizontalAlignment.Center
                        }),
                        ShowLessText = v3.createElement("TextLabel", {
                            Text = v36 and v36.lessText,
                            LayoutOrder = 1,
                            Font = l_Font_1,
                            TextSize = v27,
                            BackgroundTransparency = 1,
                            TextColor3 = v24.Theme.TextMuted.Color,
                            Size = UDim2.new(0, 0, 1, 0),
                            AutomaticSize = Enum.AutomaticSize.X
                        }, {
                            v3.createElement("UIPadding", {
                                PaddingRight = UDim.new(0, v4.DefaultPadding)
                            })
                        }),
                        CollapseIcon = v3.createElement(l_ImageSetLabel_0, {
                            LayoutOrder = 2,
                            AnchorPoint = Vector2.new(0.5, 0.5),
                            Position = UDim2.fromScale(0.5, 0.5),
                            Size = v19,
                            BackgroundTransparency = 1,
                            BorderSizePixel = 0,
                            Image = v15,
                            ImageColor3 = v24.Theme.UIEmphasis.Color
                        })
                    })
                })
            }) else nil,
            InvisibleExpandButton = v3.createElement("TextButton", {
                Size = UDim2.new(1, 0, 0, if not not v28 and v32 then v30 + v4.DefaultPadding * 2 else 0),
                BackgroundTransparency = 1,
                Text = "",
                [v3.Event.Activated] = v48,
                ZIndex = 5,
                BorderSizePixel = 0,
                AutoButtonColor = false
            }),
            NumberMoreButton = if (v30 ~= 0 and v28) and #v23.notifications > 1 then v3.createElement("Frame", {
                Size = UDim2.new(0, 125, 0, v18),
                AutomaticSize = Enum.AutomaticSize.X,
                Position = UDim2.new(0.5, 0, 1, 0),
                AnchorPoint = Vector2.new(0.5, 1),
                ZIndex = 10,
                BackgroundColor3 = v24.Theme.BackgroundContrast.Color,
                BackgroundTransparency = 0
            }, {
                UICorner = v3.createElement("UICorner", {
                    CornerRadius = v17
                }),
                NumberedMoreTextAndIconFrame = v3.createElement("Frame", {
                    AutomaticSize = Enum.AutomaticSize.XY,
                    Position = UDim2.new(0.5, 0, 0.5, 0),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    BorderSizePixel = 0,
                    BackgroundTransparency = 1
                }, {
                    UIListLayout = v3.createElement("UIListLayout", {
                        FillDirection = Enum.FillDirection.Horizontal,
                        SortOrder = Enum.SortOrder.LayoutOrder,
                        HorizontalAlignment = Enum.HorizontalAlignment.Center
                    }),
                    NumberMoreText = v3.createElement("TextLabel", {
                        Text = (v36 and v36.moreText) and string.gsub(v36.moreText, "{notificationCount}", (tostring(#v23.notifications - 1))),
                        LayoutOrder = 1,
                        Font = l_Font_1,
                        TextSize = v27,
                        BackgroundTransparency = 1,
                        TextColor3 = v24.Theme.TextMuted.Color,
                        Size = UDim2.new(0, 0, 1, 0),
                        AutomaticSize = Enum.AutomaticSize.X
                    }, {
                        v3.createElement("UIPadding", {
                            PaddingRight = UDim.new(0, v4.DefaultPadding)
                        })
                    }),
                    ExpandIcon = v3.createElement(l_ImageSetLabel_0, {
                        LayoutOrder = 2,
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Position = UDim2.fromScale(0.5, 0.5),
                        Size = v19,
                        BackgroundTransparency = 1,
                        BorderSizePixel = 0,
                        Image = v14,
                        ImageColor3 = v24.Theme.UIEmphasis.Color
                    })
                })
            }) else nil,
            ListOfNotifications = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                ZIndex = 3,
                BorderSizePixel = 0
            }, v49)
        });
    end, {
        v23.notifications,
        v28,
        v30,
        v32
    }));
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("StreamNotifications");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_script_FirstAncestor_0.constants);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local v4 = require(l_Parent_0.React);
local v5 = require(l_Parent_0.UIBlox);
local l_useStyle_0 = v5.Core.Style.useStyle;
local l_IconButton_0 = v5.App.Button.IconButton;
local l_IconSize_0 = v5.App.ImageSet.Enum.IconSize;
local l_UserInputService_0 = game:GetService("UserInputService");
local l_EventStream_0 = require(l_script_FirstAncestor_0.analytics.analyticsService).EventStream;
local l_NotificationHelper_0 = require(l_Parent_0.NotificationsCommon).NotificationHelper;
local v12 = require(l_script_FirstAncestor_0.analytics.analyticsConstants);
return function(v13)
    local v14 = l_useStyle_0();
    local l_Font_0 = v14.Font;
    local l_Font_1 = l_Font_0.Header1.Font;
    local v17 = l_Font_0.BaseSize * l_Font_0.Header1.RelativeSize;
    local v18 = if not not l_UserInputService_0.StatusBarSize and v13.isSmallScreen then l_UserInputService_0.StatusBarSize.Y else 0;
    local v19 = l_useLocalization_0({
        headerText = v2.Text.HeaderKey
    });
    return v4.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, v2.Modal.HeaderHeight + v18),
        BackgroundTransparency = 1
    }, {
        HeaderFrame = v4.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, v2.Modal.HeaderHeight),
            BackgroundTransparency = 1,
            Position = UDim2.new(0, 0, 1, 0),
            AnchorPoint = Vector2.new(0, 1)
        }, {
            CloseModal = v4.createElement(l_IconButton_0, {
                anchorPoint = Vector2.new(0, 0),
                iconSize = l_IconSize_0.Medium,
                icon = if not v13.isSmallScreen then v2.Modal.CloseIcon else v2.Modal.BackIcon,
                layoutOrder = 1,
                size = UDim2.new(0, v2.Modal.HeaderHeight - v2.Modal.Padding * 2, 0, v2.Modal.HeaderHeight - v2.Modal.Padding * 2),
                position = UDim2.fromOffset(v2.Modal.Padding, v2.Modal.Padding),
                onActivated = function()
                    v13.displayStream(false);
                    l_NotificationHelper_0.fireEvent(l_EventStream_0, v12.Context.click, v12.EventNames.closeContent, {
                        closeMethod = v12.CloseMethod.closeIcon
                    });
                end
            }),
            HeaderText = v4.createElement("TextLabel", {
                Text = v19 and v19.headerText,
                Font = l_Font_1,
                TextSize = v17,
                TextColor3 = v14.Theme.TextEmphasis.Color,
                AnchorPoint = Vector2.new(0.5, 0.5),
                Position = UDim2.new(0.5, 0, 0.5, 0),
                Size = UDim2.new(1, 0, 0, v2.Modal.HeaderHeight),
                BackgroundTransparency = 1
            })
        })
    });
end;


local l_Images_0 = require(script:FindFirstAncestor("StreamNotifications").Parent.UIBlox).App.ImageSet.Images;
return {
    DefaultPadding = 8,
    DefaultMaxRows = 20,
    Modal = {
        Width = 540,
        Height = 600,
        Padding = 8,
        CornerRadius = 12,
        WidthLimit = 640,
        CloseIcon = l_Images_0["icons/navigation/close"],
        BackIcon = l_Images_0["icons/navigation/pushBack"],
        SettingsIcon = l_Images_0["icons/common/settings"],
        HeaderHeight = 56
    },
    InitializingNotifications = {
        Size = 48
    },
    LoadingMoreNotifications = {
        Size = 24,
        TriggerDistance = 400
    },
    EmptyNotifications = {
        Size = 96,
        Graphic = l_Images_0["icons/graphic/success_xlarge"],
        LabelHeight = 24
    },
    MetaActions = {
        CloseButtonFrameSize = 36,
        CloseButtonSize = 30,
        CloseIcon = l_Images_0["icons/navigation/close"],
        CloseIconSize = 24,
        ActionIcons = {
            turnOnNotifications = l_Images_0["icons/common/notificationOn"],
            turnOffNotifications = l_Images_0["icons/common/notificationOff"],
            report = l_Images_0["icons/actions/feedback"],
            default = l_Images_0["icons/placeholder/placeholderOff"]
        }
    },
    Text = {
        HeaderKey = "Notifications.NotificationStream.Label.Notifications",
        EmptyKey = "Notifications.NotificationStream.Label.AllCaughtUp",
        ShowMoreKey = "Notifications.NotificationStream.Bundle.ShowMoreV2",
        ShowLessKey = "Notifications.NotificationStream.Bundle.ShowLess"
    },
    DeliveryChannel = "Stream",
    StreamSessionStructuralIdentifier = {
        Level1 = "level1",
        StreamNotification = "streamNotification",
        DeleteOnGameLeave = "_deleteOnGameLeave"
    },
    SENDRVersion = 0
};


return {
    ["jest.config"] = script["jest.config"],
    StreamNotifications = require(script.StreamNotifications),
    StreamNotificationsBellIcon = require(script.StreamNotificationsBellIcon)
};


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "StreamNotifications",
    testMatch = {
        "**/*.test"
    },
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler()
    }
};


return function(v0, v1)
    v0:sendEventDeferred("StreamNotification", "StreamNotificationClientEvent", v1);
end;


local function v4(v0, v1)
    if not ((v0.eventDate ~= "" and v0.eventDate ~= nil) and v1.eventDate ~= "") or v1.eventDate == nil then
        return true;
    else
        local v2 = DateTime.fromIsoDate(v0.eventDate) or nil;
        local v3 = DateTime.fromIsoDate(v1.eventDate) or nil;
        if not (v2 ~= nil) or v3 == nil then
            return true;
        else
            return v3.UnixTimestampMillis < v2.UnixTimestampMillis;
        end;
    end;
end;
return function(v5)
    local l_status_0, l_result_0 = pcall(function()
        local v6 = table.clone(v5);
        table.sort(v6, v4);
        return v6;
    end);
    if not l_status_0 then
        return v5;
    else
        return l_result_0;
    end;
end;


local l_UIBlox_0 = require(script:FindFirstAncestor("Style").Parent.SharedFlags).UIBlox;
local v1 = {};
v1.__index = v1;
v1.new = function(v2)
    local v3 = {
        _enableNewFont = v2
    };
    setmetatable(v3, v1);
    return v3;
end;
v1.getDefault = function(v4)
    if not v4._enableNewFont then
        return Enum.Font.Gotham;
    else
        return Enum.Font.BuilderSans;
    end;
end;
v1.getMedium = function(v5)
    if not v5._enableNewFont then
        return Enum.Font.GothamMedium;
    else
        return Enum.Font.BuilderSansMedium;
    end;
end;
v1.getBlack = function(v6)
    if not v6._enableNewFont then
        return Enum.Font.GothamBlack;
    else
        return Enum.Font.BuilderSansExtraBold;
    end;
end;
v1.getBold = function(v7)
    if not v7._enableNewFont then
        return Enum.Font.GothamBold;
    else
        return Enum.Font.BuilderSansBold;
    end;
end;
v1.getSemibold = function(v8)
    if not v8._enableNewFont then
        return Enum.Font.GothamMedium;
    else
        return Enum.Font.BuilderSansMedium;
    end;
end;
v1.default = v1.new(l_UIBlox_0.GetUIBloxEnableFontNameMapping());
return v1;


return {
    Black = Color3.fromRGB(0, 0, 0),
    White = Color3.fromRGB(255, 255, 255),
    Green = Color3.fromRGB(0, 176, 111),
    Red = Color3.fromRGB(247, 75, 82),
    Blue = Color3.fromRGB(82, 173, 244),
    LightGrey = Color3.fromRGB(212, 212, 212),
    Gray1 = Color3.fromHex("191919"),
    Gray2 = Color3.fromHex("757575"),
    Gray3 = Color3.fromHex("B8B8B8"),
    Gray4 = Color3.fromHex("E3E3E3"),
    Gray5 = Color3.fromHex("F2F2F2"),
    Gray6 = Color3.fromHex("F5F5F5"),
    Carbon = Color3.fromRGB(25, 27, 29),
    Flint = Color3.fromRGB(57, 59, 61),
    Graphite = Color3.fromRGB(101, 102, 104),
    Obsidian = Color3.fromRGB(17, 18, 20),
    Pumice = Color3.fromRGB(189, 190, 190),
    Slate = Color3.fromRGB(35, 37, 39),
    Alabaster = Color3.fromRGB(242, 244, 245),
    Ash = Color3.fromRGB(222, 225, 227),
    Chalk = Color3.fromRGB(199, 203, 206),
    Smoke = Color3.fromRGB(96, 97, 98),
    XboxBlue = Color3.fromRGB(17, 139, 211)
};


local l_Parent_0 = script:FindFirstAncestor("Style").Parent;
local v1 = require(l_Parent_0.ArgCheck);
local v2 = require(l_Parent_0.Cryo);
local v3 = require(l_Parent_0.React);
local v4 = require(l_Parent_0.RobloxAppHooks);
local _ = require(l_Parent_0.RobloxAppEnums);
local l_useUiModeInfo_0 = v4.useUiModeInfo;
local l_Context_0 = require(l_Parent_0.UIBlox).Style.Context;
local v8 = require(script.Parent.DesignTokenContext);
return function(v9)
    local v10 = v3.useContext(l_Context_0);
    local v11 = v9.uiModeInfo or l_useUiModeInfo_0();
    local l_tokenMappers_0 = v9.tokenMappers;
    local v13 = v2.Dictionary.keys(l_tokenMappers_0);
    local l_Tokens_0 = v10.style.Tokens;
    v1.assert(l_Tokens_0, "Design Tokens not found, ensure AppStyleProvider has been configured correctly.");
    if not l_Tokens_0.LuaApps then
        l_Tokens_0 = v2.Dictionary.join(l_Tokens_0, {
            LuaApps = {}
        });
    end;
    l_Tokens_0 = v2.List.foldLeft(v13, function(v15, v16)
        local v17 = table.clone(v15.LuaApps);
        v17[v16] = l_tokenMappers_0[v16](v11, l_Tokens_0);
        return v2.Dictionary.join(v15, {
            LuaApps = v17
        });
    end, l_Tokens_0);
    return v3.createElement(v8.Provider, {
        value = l_Tokens_0
    }, v9.children);
end;


local v0 = require(script.DesignTokenContext);
local v1 = require(script.DesignTokenProvider);
local v2 = require(script.useDesignTokens);
local v3 = require(script.mapTypographyVariantToFontEnum);
local _ = require(script.types);
return {
    DesignTokenContext = v0,
    DesignTokenProvider = v1,
    useDesignTokens = v2,
    mapTypographyVariantToFontEnum = v3
};


local v0 = {
    Black = Enum.Font.GothamBlack,
    Bold = Enum.Font.GothamBold,
    Medium = Enum.Font.GothamMedium,
    Book = Enum.Font.Gotham
};
return function(v1)
    if not v1.Font then
        if not v1.FontWeight then
            return v0.Book;
        else
            return v0[v1.FontWeight] or v0.Book;
        end;
    else
        return v1.Font;
    end;
end;


local l_Parent_0 = script:FindFirstAncestor("Style").Parent;
local v1 = require(l_Parent_0.ArgCheck);
local v2 = require(l_Parent_0.Dash);
local v3 = require(l_Parent_0.React);
local v4 = require(script.Parent.DesignTokenContext);
return function(v5)
    local v6 = v3.useContext(v4);
    local v7 = v5 or v2.identity;
    v1.assert(v6, "Design Tokens not found, ensure AppStyleProvider has been configured correctly.");
    return v7(v6);
end;