local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Url_0 = require(l_CorePackages_0.Workspace.Packages.Http).Url;
local l_Functional_0 = require(l_CorePackages_0.Workspace.Packages.AppCommonLib).Functional;
local v4 = require(l_CorePackages_0.UIBlox);
local v5 = require(l_Modules_0.Common.Roact);
local v6 = require(l_Modules_0.Common.RoactRodux);
local v7 = require(l_Modules_0.LuaApp.Constants);
local v8 = require(l_Modules_0.Common.memoize);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local l_RoactAppPolicy_0 = require(l_CorePackages_0.Workspace.Packages.UniversalAppPolicy).RoactAppPolicy;
local l_AppGuiService_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppGuiService;
local v12 = require(l_Modules_0.LuaApp.Enum.RetrievalStatus);
local v13 = require(l_Modules_0.LuaApp.Thunks.OpenCentralOverlayForLeaveRobloxAlert);
local v14 = require(l_Modules_0.LuaApp.Thunks.OpenYouTubeVideo);
local v15 = require(l_Modules_0.LuaApp.Analytics.Events.openYouTubeVideo);
local l_AccordionView_0 = v4.AccordionView;
local v17 = require(l_Modules_0.LuaApp.Components.Games.GameMediaItem);
local v18 = require(l_Modules_0.LuaApp.Components.LoadableImage);
local v19 = require(l_Modules_0.LuaApp.Components.GenericIconButton);
local v20 = require(l_Modules_0.LuaApp.Services.AppEventIngestService);
local v21 = require(l_Modules_0.LuaApp.withTheme_DEPRECATED);
local v22 = require(l_Modules_0.LuaApp.Thunks.Games.ApiFetchGameMedia);
local l_FFlagLogYouTubeInteractionInApp_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).FFlagLogYouTubeInteractionInApp;
local v24 = {
    view = "view",
    play = "play"
};
local function v29(v25, v26)
    local l_assetTypeId_0 = v25.assetTypeId;
    local v28 = nil;
    if l_assetTypeId_0 == v7.GameMediaImageType.YouTubeVideo then
        if v26 then
            v28 = string.format("https://img.youtube.com/vi/%s/hqdefault.jpg", v25.videoHash);
        else
            return nil;
        end;
    else
        v28 = "http://www.roblox.com/asset/?id=" .. tostring(v25.imageId);
    end;
    return {
        mediaType = v25.assetTypeId,
        imageId = v28,
        videoTitle = v25.videoTitle,
        videoHash = v25.videoHash
    };
end;
local function _(v30)
    return {
        mediaType = v7.GameMediaImageType.Image,
        imageId = l_Url_0:getPlaceDefaultThumbnailUrl(v30, 768, 432)
    };
end;
local v42 = v8(function(v32, v33, v34, v35, v36)
    if v32 then
        local v37 = {
            unpack(v32, 1, v33)
        };
        local v38 = {};
        for _, v40 in ipairs(v37) do
            local v41 = v29(v40, v36);
            if v41 then
                table.insert(v38, v41);
            end;
        end;
        return v38;
    elseif v35 == v12.Done then
        return {
            [1] = {
                mediaType = v7.GameMediaImageType.Image,
                imageId = l_Url_0:getPlaceDefaultThumbnailUrl(v34, 768, 432)
            }
        };
    else
        return {};
    end;
end);
local v43 = v5.PureComponent:extend("GameMediaAccordionView");
v43.init = function(v44)
    v44.isMounted = false;
    v44.state = {
        firstImageLoaded = v18.isLoaded(v44.props.firstImageId)
    };
    v44.performOpenYouTubeVideo = function(v45, v46)
        local l_guiService_0 = v44.props.guiService;
        local l_openYouTubeVideo_0 = v44.props.openYouTubeVideo;
        local l_eventIngest_0 = v44.props.eventIngest;
        local l_universeId_0 = v44.props.universeId;
        local l_videoHash_0 = v45.videoHash;
        local l_videoTitle_0 = v45.videoTitle;
        if not (not (l_videoHash_0 and #l_videoHash_0 > 0) or not l_videoTitle_0) and #l_videoTitle_0 > 0 then
            if not l_FFlagLogYouTubeInteractionInApp_0 then
                l_openYouTubeVideo_0(l_guiService_0, l_videoHash_0, l_videoTitle_0, v46, l_eventIngest_0);
            else
                l_openYouTubeVideo_0(l_guiService_0, l_videoHash_0, l_videoTitle_0, v46, l_eventIngest_0, l_universeId_0, v24.play);
                return ;
            end;
        end;
    end;
    if l_FFlagLogYouTubeInteractionInApp_0 then
        v44.logMediaItemsContainVideo = function(v53)
            local l_eventIngest_1 = v44.props.eventIngest;
            local l_universeId_1 = v44.props.universeId;
            local v57 = l_Functional_0.Filter(v44.props.gameMediaEntries or {}, function(v56)
                return v56.mediaType == v7.GameMediaImageType.YouTubeVideo;
            end)[1];
            if v57 then
                v15(l_eventIngest_1, v53, v57.videoTitle, v57.videoHash, l_universeId_1, v24.view);
            end;
        end;
    end;
    v44.openItem = function(v58)
        if v58.mediaType == v7.GameMediaImageType.YouTubeVideo then
            local l_openLeaveRobloxAlertUIBlox_0 = v44.props.openLeaveRobloxAlertUIBlox;
            local l_showYouTubeAgeAlert_0 = v44.props.showYouTubeAgeAlert;
            local function v61()
                v44.performOpenYouTubeVideo(v58, "gameDetailsAccordianImage");
            end;
            if not l_showYouTubeAgeAlert_0 then
                v44.performOpenYouTubeVideo(v58, "gameDetailsAccordianImage");
            else
                l_openLeaveRobloxAlertUIBlox_0(v61);
                return ;
            end;
        end;
    end;
    v44.onImageLoaded = function(v62)
        if not (not (v62 == 1 and v44.state.firstImageLoaded == false) or not v44.isMounted) then
            v44:setState({
                firstImageLoaded = true
            });
        end;
    end;
    if l_FFlagLogYouTubeInteractionInApp_0 and v44.props.gameMediaFetchingStatus == v12.Done then
        v44.logMediaItemsContainVideo("gameDetailsAccordianImage");
    end;
end;
v43.renderItem = function(v63, v64, v65, v66)
    local l_GameMediaAccordion_0 = v63.props.appTheme.GameMediaAccordion;
    return v5.createElement(v17, {
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundColor3 = l_GameMediaAccordion_0.Item.BackgroundColor,
        BackgroundTransparency = l_GameMediaAccordion_0.Item.BackgroundTransparency,
        Image = v64.imageId,
        ImageTransparency = v65,
        isVideo = v64.mediaType == v7.GameMediaImageType.YouTubeVideo,
        videoIconColor = l_GameMediaAccordion_0.VideoIconColor,
        animationSettings = v66,
        onImageLoaded = function()
            v63.onImageLoaded((l_Functional_0.Find(v63.props.gameMediaEntries, v64)));
        end,
        onActivated = function()
            v63.openItem(v64);
        end
    });
end;
v43.render = function(v68)
    local l_GameMediaAccordion_1 = v68.props.appTheme.GameMediaAccordion;
    local l_gameMediaEntries_0 = v68.props.gameMediaEntries;
    local l_LayoutOrder_0 = v68.props.LayoutOrder;
    local l_width_0 = v68.props.width;
    local v73 = not not v68.state.firstImageLoaded and l_GameMediaAccordion_1.FakeItem.Loaded or l_GameMediaAccordion_1.FakeItem.Loading;
    local l_withNewThemeProvider_0 = v68.props.withNewThemeProvider;
    if #l_gameMediaEntries_0 > 0 then
        return v5.createElement(l_AccordionView_0, {
            items = l_gameMediaEntries_0,
            itemWidth = l_width_0,
            itemHeight = l_width_0 * 0.5611940298507463,
            renderItem = function(...)
                return v68:renderItem(...);
            end,
            placeholderColor = v73.Color,
            placeholderBaseTransparency = v73.BaseTransparency,
            collapseButtonSize = 44,
            renderCollapseButton = function(v75)
                return v5.createElement(v19, {
                    Size = UDim2.new(1, 0, 1, 0),
                    iconSize = UDim2.new(0, 36, 0, 36),
                    iconImage = "LuaApp/icons/GameDetails/collapse",
                    onActivated = v75,
                    withNewThemeProvider = l_withNewThemeProvider_0
                });
            end,
            LayoutOrder = l_LayoutOrder_0,
            maxItemsInCompactView = 3
        });
    else
        return nil;
    end;
end;
v43.didUpdate = function(v76, v77, _)
    if v77.firstImageId ~= v76.props.firstImageId then
        local v79 = v18.isLoaded(v76.props.firstImageId);
        if v79 ~= v76.state.firstImageLoaded then
            v76:setState({
                firstImageLoaded = v79
            });
        end;
    end;
    if (l_FFlagLogYouTubeInteractionInApp_0 and v77.gameMediaFetchingStatus ~= v12.Done) and v76.props.gameMediaFetchingStatus == v12.Done then
        v76.logMediaItemsContainVideo("gameDetailsAccordianImage");
    end;
end;
v43.didMount = function(v80)
    v80.isMounted = true;
end;
v43.willUnmount = function(v81)
    v81.isMounted = false;
end;
return (l_RoactAppPolicy_0.connect(function(v82, _)
    return {
        showYouTubeAgeAlert = v82.getShowYouTubeAgeAlert(),
        showVideoThumbnails = v82.getShowVideoThumbnails()
    };
end)((l_RoactServices_0.connect({
    guiService = l_AppGuiService_0,
    eventIngest = v20
})((v6.connect(function(v84, v85)
    local l_showVideoThumbnails_0 = v85.showVideoThumbnails;
    local v87 = nil;
    local v88 = v22.GetFetchingStatus(v84, v85.universeId);
    v87 = v42(v84.GameMedia[v85.universeId], 10, v85.placeId, v88, l_showVideoThumbnails_0);
    local l_None_0 = v5.None;
    if v87 ~= nil and v87[1] ~= nil then
        l_None_0 = v87[1].imageId;
    end;
    return {
        gameMediaEntries = v87,
        gameMediaFetchingStatus = if not l_FFlagLogYouTubeInteractionInApp_0 then nil else v88,
        firstImageId = l_None_0
    };
end, function(v90)
    return {
        openLeaveRobloxAlertUIBlox = function(v91)
            v90(v13(v91));
        end,
        openYouTubeVideo = function(v92, v93, v94, v95, v96, v97, v98)
            if not l_FFlagLogYouTubeInteractionInApp_0 then
                return v90(v14(v92, v93, v94, v95, v96));
            else
                return v90(v14(v92, v93, v94, v95, v96, v97, v98));
            end;
        end
    };
end)((v21(v43))))))));


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_Modules_0.Common.Roact);
local v3 = require(l_CorePackages_0.UIBlox);
local l_SpringAnimatedItem_0 = v3.Utility.SpringAnimatedItem;
local l_ImageSetLabel_0 = v3.Core.ImageSet.ImageSetLabel;
local v6 = require(l_Modules_0.LuaApp.Components.LoadableImage);
local l_GetImageData_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppAssets).GetImageData;
local v8 = v2.PureComponent:extend("GameMediaItem");
v8.init = function(v9)
    v9.state = {
        loaded = v6.isLoaded(v9.props.Image)
    };
    v9.isMounted = false;
    v9.onImageLoaded = function()
        if not (not (v9.state.loaded == false) or not v9.isMounted) then
            v9:setState({
                loaded = true
            });
            if v9.props.onImageLoaded then
                v9.props.onImageLoaded();
            end;
        end;
    end;
end;
v8.didMount = function(v10)
    v10.isMounted = true;
end;
v8.willUnmount = function(v11)
    v11.isMounted = false;
end;
v8.render = function(v12)
    local l_Size_0 = v12.props.Size;
    local l_Position_0 = v12.props.Position;
    local l_LayoutOrder_0 = v12.props.LayoutOrder;
    local l_BackgroundColor3_0 = v12.props.BackgroundColor3;
    local l_BackgroundTransparency_0 = v12.props.BackgroundTransparency;
    local l_Image_0 = v12.props.Image;
    local l_ImageTransparency_0 = v12.props.ImageTransparency;
    local l_isVideo_0 = v12.props.isVideo;
    local l_videoIconColor_0 = v12.props.videoIconColor;
    local l_animationSettings_0 = v12.props.animationSettings;
    local l_onActivated_0 = v12.props.onActivated;
    local l_loaded_0 = v12.state.loaded;
    local v25 = l_ImageTransparency_0 ~= 1;
    local v26 = v25 and not l_loaded_0;
    local v27 = l_isVideo_0 and v25;
    local v28 = not not l_isVideo_0 and Enum.ScaleType.Crop or Enum.ScaleType.Stretch;
    local l_createElement_0 = v2.createElement;
    local v30 = "Frame";
    local v31 = {
        Size = l_Size_0,
        Position = l_Position_0,
        LayoutOrder = l_LayoutOrder_0,
        BackgroundColor3 = l_BackgroundColor3_0,
        BackgroundTransparency = l_BackgroundTransparency_0,
        BorderSizePixel = 0
    };
    local v33 = {
        MediaImage = not not v26 and v2.createElement(v6, {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Image = l_Image_0,
            ImageTransparency = l_ImageTransparency_0,
            ScaleType = v28,
            ZIndex = 1,
            useShimmerAnimationWhileLoading = true,
            onLoaded = v12.onImageLoaded
        }) or v2.createElement(l_SpringAnimatedItem_0.AnimatedImageLabel, {
            regularProps = {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Image = l_Image_0,
                ScaleType = v28,
                ZIndex = 1
            },
            animatedValues = {
                transparency = l_ImageTransparency_0
            },
            mapValuesToProps = function(v32)
                return {
                    ImageTransparency = v32.transparency
                };
            end,
            springOptions = l_animationSettings_0
        }),
        VideoIconBackground = v27 and v2.createElement("ImageLabel", {
            Size = UDim2.new(1, 0, 1, 0),
            Image = "rbxasset://textures/ui/LuaApp/graphic/playBtnBackground.png",
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            ZIndex = 2
        }, {
            VideoIcon = v2.createElement(l_ImageSetLabel_0, {
                AnchorPoint = Vector2.new(1, 1),
                Size = UDim2.new(0, 60, 0, 45),
                Position = UDim2.new(1, -10, 1, -10),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Image = l_GetImageData_0("LuaApp/buttons/buttonPill") or "LuaApp/buttons/buttonPill",
                ImageColor3 = l_videoIconColor_0,
                ImageTransparency = 0.5
            }, {
                Icon = v2.createElement(l_ImageSetLabel_0, {
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Size = UDim2.new(0, 26, 0, 26),
                    Position = UDim2.new(0.5, 0, 0.5, 0),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    Image = l_GetImageData_0("LuaApp/icons/GameDetails/play") or "LuaApp/icons/GameDetails/play",
                    ImageColor3 = l_videoIconColor_0,
                    ScaleType = Enum.ScaleType.Fit
                })
            })
        })
    };
    local v34 = false;
    if l_onActivated_0 ~= nil then
        v34 = v2.createElement("TextButton", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Text = "",
            ZIndex = 3,
            [v2.Event.Activated] = l_onActivated_0
        });
    end;
    v33.ItemActivationButton = v34;
    return l_createElement_0(v30, v31, v33);
end;
return v8;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Roact);
local v2 = require(l_Modules_0.Common.RoactRodux);
local v3 = require(l_Modules_0.Common.memoize);
local v4 = require(l_Modules_0.LuaApp.Components.DropDownList);
local v5 = require(l_Modules_0.Personalization.OmniFeed.OmniFeedTypes);
local v6 = v1.PureComponent:extend("GamesDropDownList");
v6.init = function(v7)
    v7.state = {};
    v7.dropDownSelectedCallback = function(v8, v9)
        if v7.props.onSelected then
            local l_items_0 = v7.props.items;
            local l_dropdownPositionToStoreIndex_0 = v7.props.dropdownPositionToStoreIndex;
            assert(l_dropdownPositionToStoreIndex_0);
            if v9 <= #l_items_0 then
                local v12 = l_dropdownPositionToStoreIndex_0[v9];
                if v12 then
                    return v7.props.onSelected(v8, v12, v9);
                end;
            end;
        end;
    end;
end;
v6.render = function(v13)
    return v1.createElement(v4, {
        position = v13.props.position,
        size = v13.props.size,
        items = v13.props.items,
        itemSelected = v13.props.itemSelected,
        onSelected = v13.dropDownSelectedCallback
    });
end;
local v29 = v3(function(v14, v15, v16, v17)
    local v18 = {};
    local v19 = {};
    local function _(v20, v21)
        table.insert(v18, v20);
        v19[#v18] = v21;
    end;
    for _, v24 in pairs(v17) do
        if not v24.isOmni then
            for v25, v26 in ipairs(v15[v24.sortType].sorts) do
                table.insert(v18, v14[v26]);
                v19[#v18] = v25;
            end;
        elseif v16[v24.sortType] then
            for v27, v28 in ipairs(v16[v24.sortType]) do
                if v28.treatmentType == v5.Carousel then
                    table.insert(v18, v28);
                    v19[#v18] = v27;
                end;
            end;
        end;
    end;
    return v18, v19;
end);
return v2.connect(function(v30, v31)
    local v32 = nil;
    if not v31.isOmni then
        v32 = v30.GameSorts[v31.selectedSortName];
    else
        local l_sortType_0 = v31.sortCategories.OMNI_HOME.sortType;
        if v30.OmniRecommendationsSorts[l_sortType_0] then
            v32 = v30.OmniRecommendationsSorts[l_sortType_0][v31.selectedSortIndex];
        end;
    end;
    local v34, v35 = v29(v30.GameSorts, v30.GameSortGroups, v30.OmniRecommendationsSorts, v31.sortCategories);
    return {
        items = v34 or {},
        itemSelected = v32 or {},
        dropdownPositionToStoreIndex = v35
    };
end)(v6);


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local v2 = require(l_CorePackages_0.Roact);
local v3 = require(l_CorePackages_0.RoactRodux);
local v4 = require(l_CorePackages_0.Packages.t);
local v5 = require(l_CorePackages_0.UIBlox);
local v6 = require(l_CorePackages_0.Cryo);
local v7 = require(l_Modules_0.LuaApp.Services.RoactAnalytics);
local v8 = require(l_Modules_0.LuaApp.AppPage);
local v9 = require(l_Modules_0.LuaApp.Constants);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local l_RoactAppPolicy_0 = require(l_CorePackages_0.Workspace.Packages.UniversalAppPolicy).RoactAppPolicy;
local v12 = require(l_Modules_0.LuaApp.Services.AppEventIngestService);
local v13 = require(l_Modules_0.LuaApp.Components.Games.GameGrid);
local v14 = require(l_Modules_0.LuaApp.Components.SectionHeader);
local l_GridMetrics_0 = v5.App.Grid.GridMetrics;
local l_withGridConfig_DEPRECATED_0 = v5.Core.Layout.Grid.withGridConfig_DEPRECATED;
local l_LayoutConfig_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppEnums).LayoutConfig;
local v18 = require(l_Modules_0.LuaApp.Components.Games.GameGridTable);
local v19 = require(l_Modules_0.Personalization.Games.GameSortImpressionsDetector);
local v20 = require(l_Modules_0.Personalization.Games.SendGameImpressions);
local l_gamePlayIntent_0 = require(l_CorePackages_0.Workspace.Packages.ExperienceAnalytics).Events.gamePlayIntent;
local l_useUiModeInfo_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppHooks).useUiModeInfo;
local l_useDesignTokens_0 = require(l_CorePackages_0.Workspace.Packages.Style).useDesignTokens;
local l_UiMode_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppEnums).UiMode;
local l_FFlagLuaAppPlayButtonStyle_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).FFlagLuaAppPlayButtonStyle;
local l_getFFlagLuaAppSingleHoveredGridTile_0 = require(l_CorePackages_0.Workspace.Packages.GameTile).Flags.getFFlagLuaAppSingleHoveredGridTile;
local v27 = game:DefineFastFlag("FixSortlessGridAlignHugeScreen", false);
local v28 = game:DefineFastFlag("LuaAppHomeGameGridReportExperienceLaunched", false);
local v29 = require(l_Modules_0.Personalization.Flags.GetFFlagLuaAppAddSortPosHomeGridClickEvent);
local v30 = require(l_Modules_0.Personalization.Flags.FFlagLuaAppConsoleSupportRFY);
local v31 = v2.PureComponent:extend("HomeGameGrid");
v31.validateProps = v4.strictInterface({
    friendFooterEnabled = v4.optional(v4.boolean),
    externalPadding = v4.number,
    numberOfRows = v4.optional(v4.number),
    gameGridTitle = v4.optional(v4.string),
    analytics = v4.table,
    sortIndex = v4.number,
    itemRowData = v4.optional(v4.table),
    topicId = v4.string,
    scrollViewPositionChangedSignal = v4.table,
    onItemsPerRowChanged = v4.optional(v4.callback),
    gameGridContents = v4.table,
    dataUpdatedTimestamp = v4.optional(v4.number),
    useGridTiles = v4.optional(v4.boolean),
    playerCountStyle = v4.optional(v4.string),
    isSponsoredFooterAllowed = v4.optional(v4.boolean),
    componentType = v4.optional(v4.string),
    gameTileLayoutType = if not l_getFFlagLuaAppSingleHoveredGridTile_0() then nil else v4.optional(v4.string),
    playButtonStyle = if not l_FFlagLuaAppPlayButtonStyle_0 then nil else v4.optional(v4.string),
    screenSize = v4.Vector2,
    useGridPageLayout = v4.optional(v4.boolean),
    eventIngest = v4.table,
    appAnalytics = v4.table,
    horizontalMargin = if not v30 then nil else v4.optional(v4.number),
    headerFont = if not v30 then nil else v4.optional(v4.enum(Enum.Font)),
    headerTextSize = if not v30 then nil else v4.optional(v4.number)
});
v31.defaultProps = {
    numberOfRowsToShow = nil,
    friendFooterEnabled = false
};
v31.init = function(v32)
    v32.containerRef = v2.createRef();
    v32.state = {
        contentSize = Vector2.new(0, 0)
    };
    v32.isMounted = false;
    v32.onAbsoluteContentSizeChanged = function(v33)
        local l_AbsoluteContentSize_0 = v33.AbsoluteContentSize;
        if v32.state.contentSize == l_AbsoluteContentSize_0 then
            return ;
        else
            if l_AbsoluteContentSize_0.X > 0 and l_AbsoluteContentSize_0.Y > 0 then
                v32:setState({
                    contentSize = l_AbsoluteContentSize_0
                });
            end;
            return ;
        end;
    end;
    v32.reportGameDetailOpened = function(v35)
        local l_gameGridContents_0 = v32.props.gameGridContents;
        local l_analytics_0 = v32.props.analytics;
        if l_gameGridContents_0 and v32.isMounted then
            local v38 = l_gameGridContents_0[v35];
            l_analytics_0.reportOpenGameDetailWithId(v38.placeId, v32.props.topicId, nil, if not v29() then nil else v32.props.sortIndex, v35, nil, v38.isSponsored, v38.universeId, v8.Home);
            return ;
        else
            return ;
        end;
    end;
    v32.sendGameImpressions = function(v39, v40)
        v20.sendFromTopicContents(v32.props.eventIngest, v32.props.appAnalytics, v39, v32.props.gameGridContents, v8.Home, v32.props.topicId, v32.props.sortIndex, v32.props.itemRowData, nil, nil, v40, v32.props.useGridTiles, v32.props.componentType);
    end;
    v32.onItemsPerRowChanged = function(v41)
        v32.itemsPerRow = v41;
        if v32.props.onItemsPerRowChanged then
            v32.props.onItemsPerRowChanged(v41);
        end;
    end;
    v32.renderSectionHeader = function(v42)
        if not v32.props.useGridPageLayout then
            return v2.createElement(v14, {
                text = v42,
                layoutOrder = 1,
                Font = if not v30 then nil else v32.props.headerFont,
                TextSize = if not v30 then nil else v32.props.headerTextSize
            });
        else
            return l_withGridConfig_DEPRECATED_0({
                margin = 0,
                width = -1
            }, if not v32.props.useGridTiles then l_LayoutConfig_0.Kind.Experiences.WithFooter else l_LayoutConfig_0.Kind.Experiences.GridTile)(function(v43)
                if v43.margin > 0 then
                    return v2.createElement("Frame", {
                        Size = UDim2.fromScale(1, 0),
                        AutomaticSize = Enum.AutomaticSize.Y,
                        BackgroundTransparency = 1,
                        LayoutOrder = 1
                    }, {
                        HeaderMaxWidth = if not not v27 and v43.width > 0 then v2.createElement("UISizeConstraint", {
                            MaxSize = Vector2.new(v43.width, v9.SECTION_HEADER_HEIGHT)
                        }) else nil,
                        Padding = v2.createElement("UIPadding", {
                            PaddingLeft = UDim.new(0, v43.margin),
                            PaddingRight = UDim.new(0, v43.margin)
                        }),
                        Header = v2.createElement(v14, {
                            text = v42,
                            Font = if not v30 then nil else v32.props.headerFont,
                            TextSize = if not v30 then nil else v32.props.headerTextSize
                        })
                    });
                else
                    return v2.createElement(v14, {
                        text = v42,
                        layoutOrder = 1,
                        Font = if not v30 then nil else v32.props.headerFont,
                        TextSize = if not v30 then nil else v32.props.headerTextSize
                    });
                end;
            end);
        end;
    end;
    v32.renderImpressionDetector = function(v44)
        if not v32.props.useGridPageLayout then
            return v2.createElement(v19, {
                parentRef = v32.containerRef,
                pageContext = v8.Home,
                impressionsTag = v44,
                scrollViewPositionChangedSignal = v32.props.scrollViewPositionChangedSignal,
                sendGameImpressions = function(v45)
                    v32.sendGameImpressions(v45, v32.itemsPerRow);
                end,
                dataUpdatedTimestamp = v32.props.dataUpdatedTimestamp or nil
            });
        else
            return l_withGridConfig_DEPRECATED_0({
                columns = 1
            }, if not v32.props.useGridTiles then l_LayoutConfig_0.Kind.Experiences.WithFooter else l_LayoutConfig_0.Kind.Experiences.GridTile)(function(v46)
                return v2.createElement(v19, {
                    parentRef = v32.containerRef,
                    pageContext = v8.Home,
                    impressionsTag = v44,
                    scrollViewPositionChangedSignal = v32.props.scrollViewPositionChangedSignal,
                    sendGameImpressions = function(v47)
                        v32.sendGameImpressions(v47, v46.columns or 1);
                    end,
                    dataUpdatedTimestamp = v32.props.dataUpdatedTimestamp or nil
                });
            end);
        end;
    end;
    if v28 then
        v32.reportExperienceLaunched = function(v48, v49)
            l_gamePlayIntent_0(v32.props.eventIngest, v9.AnalyticsContext.ExperienceTile, {
                placeId = v48.placeId,
                rootPlaceId = tonumber(v48.placeId),
                sortIndex = tostring(v32.props.sortIndex),
                sortEntryIndex = tostring(v48.index),
                referralSource = v49
            });
        end;
    end;
end;
v31.didMount = function(v50)
    v50.isMounted = true;
end;
v31.willUnmount = function(v51)
    v51.isMounted = false;
end;
v31.render = function(v52)
    local l_gameGridContents_1 = v52.props.gameGridContents;
    local v54 = v52.props.gameGridTitle or "";
    local l_screenSize_0 = v52.props.screenSize;
    local l_layoutOrder_0 = v52.props.layoutOrder;
    local l_numberOfRowsToShow_0 = v52.props.numberOfRowsToShow;
    local l_friendFooterEnabled_0 = v52.props.friendFooterEnabled;
    local l_externalPadding_0 = v52.props.externalPadding;
    local l_contentSize_0 = v52.state.contentSize;
    local l_getSmallMetrics_0 = l_GridMetrics_0.getSmallMetrics;
    local v62 = "HomeGameGrid_" .. tostring(v52.props.topicId) .. "_" .. tostring(v52.props.sortIndex);
    local v63 = Vector2.new(l_contentSize_0.X, l_screenSize_0.Y);
    local v64 = nil;
    local v65 = nil;
    if v30 then
        v64 = not v52.props.useGridPageLayout or v52.props.horizontalMargin ~= nil;
        v65 = v52.props.horizontalMargin or v52.props.externalPadding;
    end;
    return v2.createElement("Frame", {
        Size = if not v27 then nil else UDim2.fromScale(1, 0),
        AutomaticSize = if not v27 then Enum.AutomaticSize.XY else Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        LayoutOrder = l_layoutOrder_0,
        [v2.Ref] = v52.containerRef
    }, {
        Layout = v2.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            HorizontalAlignment = if not v27 then Enum.HorizontalAlignment.Left else Enum.HorizontalAlignment.Center,
            SortOrder = Enum.SortOrder.LayoutOrder,
            Padding = v54 ~= "" and UDim.new(0, 12) or nil,
            [v2.Change.AbsoluteContentSize] = v52.onAbsoluteContentSizeChanged
        }),
        Padding = if not v30 then if v52.props.useGridPageLayout then nil else v2.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, l_externalPadding_0),
            PaddingRight = UDim.new(0, l_externalPadding_0)
        }) else v64 and v2.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, v65),
            PaddingRight = UDim.new(0, v65)
        }) or nil,
        SectionHeader = v52.renderSectionHeader(v54),
        GameGrid = v2.createElement(if not v52.props.useGridPageLayout then v13 else v18, {
            LayoutOrder = 2,
            entries = l_gameGridContents_1,
            reportGameDetailOpened = v52.reportGameDetailOpened,
            numberOfRowsToShow = l_numberOfRowsToShow_0,
            windowSize = v63,
            screenSize = l_screenSize_0,
            useGridTiles = v52.props.useGridTiles,
            playerCountStyle = v52.props.playerCountStyle,
            isSponsoredFooterAllowed = v52.props.isSponsoredFooterAllowed,
            friendFooterEnabled = l_friendFooterEnabled_0,
            getItemMetrics = l_getSmallMetrics_0,
            horizontalAlignment = Enum.HorizontalAlignment.Left,
            showFriendActivity = true,
            onItemsPerRowChanged = v52.onItemsPerRowChanged,
            impressionsTag = v62,
            launchExperienceEventContext = v9.AnalyticsContext.ExperienceTile,
            topicId = v52.props.topicId,
            reportExperienceLaunched = if not v28 then nil else v52.reportExperienceLaunched,
            gameTileLayoutType = if not l_getFFlagLuaAppSingleHoveredGridTile_0() then nil else v52.props.gameTileLayoutType,
            playButtonStyle = if not l_FFlagLuaAppPlayButtonStyle_0 then nil else v52.props.playButtonStyle
        }),
        GameSortImpressionsDetector = v52.renderImpressionDetector(v62)
    });
end;
v31 = v3.connect(function(v66, _)
    return {
        screenSize = v66.ScreenSize
    };
end)(v31);
if v30 then
    local l_v31_0 = v31;
    v31 = function(v69)
        local v70 = l_useUiModeInfo_0();
        local v71 = l_useDesignTokens_0();
        local l_Header_0 = v71.Semantic.Typography.Header;
        if v70.uiMode == l_UiMode_0.TenFoot then
            return v2.createElement(l_v31_0, (v6.Dictionary.join(v69, {
                horizontalMargin = v71.Global.Space_800,
                headerFont = l_Header_0.Font,
                headerTextSize = l_Header_0.FontSize,
                useGridPageLayout = false
            })));
        else
            return v2.createElement(l_v31_0, v69);
        end;
    end;
end;
return l_RoactServices_0.connect({
    eventIngest = v12,
    appAnalytics = v7
})((l_RoactAppPolicy_0.connect(function(v73, _)
    return {
        useGridPageLayout = v73.useGridPageLayout()
    };
end)(v31)));


local l_RunService_0 = game:GetService("RunService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v3 = require(l_Modules_0.Personalization.OmniFeed.OmniFeedConstants);
local v4 = require(l_Modules_0.Common.Roact);
local v5 = require(l_Modules_0.Common.RoactRodux);
local v6 = require(l_Modules_0.LuaApp.Thunks.Omni.ApiFetchOmniRecommendations);
local v7 = require(l_Modules_0.LuaApp.Enum.RetrievalStatus);
local v8 = require(l_Modules_0.Common.RoactUtilities.ExternalEventConnection);
local v9 = require(l_Modules_0.LuaApp.Services.RoactNetworking);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local l_AppOmniRecommendationsRequest_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppOmniRecommendationsRequest;
local l_IsPrefetchOneCopyEnabled_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).IsPrefetchOneCopyEnabled;
local v13 = v4.PureComponent:extend("OmniRecommendationsRefreshComponent");
v13.init = function(v14)
    v14.steppedCallback = function()
        if v14.props.retrievalStatus[v14.props.pageType] ~= v7.Done then
            return ;
        else
            local v15 = tick();
            if v14.props.refreshTime then
                local v16 = v14.props.refreshTime[v14.props.pageType];
                if not (v16 ~= nil) or v15 < v16 then
                    return ;
                else
                    v14.props.refresh(v14.props.networking, v14.props.omniRecommendationsRequest, v14.props.pageType, v3.OmniRecommendationsRequestIntent.AutoRefresh);
                    return ;
                end;
            else
                return ;
            end;
        end;
    end;
end;
v13.render = function(v17)
    return v4.createElement(v8, {
        event = l_RunService_0.stepped,
        callback = v17.steppedCallback
    });
end;
return l_RoactServices_0.connect({
    networking = v9,
    omniRecommendationsRequest = if not l_IsPrefetchOneCopyEnabled_0() then nil else l_AppOmniRecommendationsRequest_0
})((v5.connect(function(v18, _)
    return {
        refreshTime = v18.OmniRecommendationsRefreshTime,
        retrievalStatus = v18.RequestsStatus.OmniRecommendationsRetrievalStatus
    };
end, function(v20)
    return {
        refresh = function(v21, v22, v23, v24)
            return v20(v6(v21, v22, v23, nil, nil, v24));
        end
    };
end)(v13)));


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v1 = require(l_Modules_0.Common.Roact);
local v2 = require(l_Modules_0.LuaApp.Enum.PlayButtonStates);
local v3 = require(l_Modules_0.LuaApp.FitChildren);
local v4 = require(l_Modules_0.LuaApp.Components.FitTextLabel);
local v5 = require(l_Modules_0.LuaApp.withTheme_DEPRECATED);
local l_CorePackages_0 = game:GetService("CorePackages");
local v7 = require(l_CorePackages_0.UIBlox);
local l_ImageSetButton_0 = v7.Core.ImageSet.ImageSetButton;
local l_ImageSetLabel_0 = v7.Core.ImageSet.ImageSetLabel;
local l_ShimmerPanel_0 = v7.App.Loading.ShimmerPanel;
local l_withStyle_0 = v7.Core.Style.withStyle;
local l_GetFFlagLuaAppUseUIBloxColorPalettes_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagLuaAppUseUIBloxColorPalettes;
local l_GetUIBloxUseNewThemeColorPalettes_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).UIBlox.GetUIBloxUseNewThemeColorPalettes;
local l_Images_0 = v7.App.ImageSet.Images;
local v15 = l_Images_0["component_assets/circle_17"];
local v16 = l_Images_0["icons/common/play"];
local v17 = l_Images_0["icons/status/private"];
local v18 = l_Images_0["icons/status/unavailable"];
local v19 = l_Images_0["icons/common/robux"];
local function _(v20)
    return 0.5 * v20 + 0.5;
end;
local v22 = v1.PureComponent:extend("PlayButton");
v22.defaultProps = {
    smallPlayButton = false
};
v22.init = function(v23)
    v23.state = {
        isButtonPressed = false
    };
    v23.onInputBegan = function()
        v23:setState({
            isButtonPressed = true
        });
    end;
    v23.onInputEnded = function()
        v23:setState({
            isButtonPressed = false
        });
    end;
end;
v22.renderWithStyle = function(v24, v25)
    local l_appTheme_0 = v24.props.appTheme;
    local l_Size_0 = v24.props.Size;
    local l_Position_0 = v24.props.Position;
    local l_LayoutOrder_0 = v24.props.LayoutOrder;
    local l_Font_0 = v24.props.Font;
    local l_price_0 = v24.props.price;
    local l_smallPlayButton_0 = v24.props.smallPlayButton;
    local l_playButtonState_0 = v24.props.playButtonState;
    local l_onActivated_0 = v24.props.onActivated;
    local l_isButtonPressed_0 = v24.state.isButtonPressed;
    local v36 = nil;
    local v37 = not v25 and 0 or v25.ContextualPrimaryDefault.Transparency;
    if l_playButtonState_0 == v2.Loading then
        if not v25 then
            v37 = l_appTheme_0.ContextPrimaryButton.LoadingTransparency;
        end;
        v36 = v1.createElement(l_ShimmerPanel_0, {
            Size = UDim2.new(1, 0, 2, 0),
            Position = UDim2.new(0, 0, 0, 0),
            shimmerSpeed = 1.5
        });
    elseif l_playButtonState_0 == v2.Playable then
        if l_isButtonPressed_0 then
            v37 = if not v25 then l_appTheme_0.ContextPrimaryButton.OnPressTransparency else 0.5 * v37 + 0.5;
        end;
        v36 = v1.createElement(l_ImageSetLabel_0, {
            Size = UDim2.new(0, 36, 0, 36),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1,
            Image = v16,
            ImageColor3 = if not v25 then nil else v25.ContextualPrimaryContent.Color,
            ImageTransparency = v37
        });
    elseif l_playButtonState_0 == v2.PaidAccess then
        if l_isButtonPressed_0 then
            v37 = if not v25 then l_appTheme_0.ContextPrimaryButton.OnPressTransparency else 0.5 * v37 + 0.5;
        end;
        v36 = if not l_smallPlayButton_0 then v1.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1
        }, {
            Layout = v1.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 5)
            }),
            RobuxIcon = v1.createElement(l_ImageSetLabel_0, {
                Size = UDim2.new(0, 26, 0, 26),
                BackgroundTransparency = 1,
                Image = v19,
                ImageColor3 = if not v25 then nil else v25.ContextualPrimaryContent.Color,
                ImageTransparency = v37,
                LayoutOrder = 1
            }),
            RobuxText = v1.createElement(v4, {
                Size = UDim2.new(0, 0, 0, 22),
                BackgroundTransparency = 1,
                Text = l_price_0,
                Font = l_Font_0,
                TextSize = 22,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextWrapped = false,
                TextColor3 = if not v25 then l_appTheme_0.ContextPrimaryButton.Text.Color else v25.ContextualPrimaryContent.Color,
                TextTransparency = v37,
                LayoutOrder = 2,
                fitAxis = v3.FitAxis.Width
            })
        }) else v1.createElement(l_ImageSetLabel_0, {
            Size = UDim2.new(0, 36, 0, 36),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1,
            Image = v16,
            ImageColor3 = if not v25 then nil else v25.ContextualPrimaryContent.Color,
            ImageTransparency = v37
        });
    elseif l_playButtonState_0 == v2.Private then
        v37 = if not v25 then l_appTheme_0.ContextPrimaryButton.DisabledTransparency else v25.ContextualPrimaryContent.Transparency;
        v36 = v1.createElement(l_ImageSetLabel_0, {
            Size = UDim2.new(0, 36, 0, 36),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1,
            Image = v17,
            ImageColor3 = if not v25 then nil else v25.ContextualPrimaryContent.Color,
            ImageTransparency = v37
        });
    elseif l_playButtonState_0 == v2.UnplayableOther then
        v37 = if not v25 then l_appTheme_0.ContextPrimaryButton.DisabledTransparency else v25.ContextualPrimaryContent.Transparency;
        v36 = v1.createElement(l_ImageSetLabel_0, {
            Size = UDim2.new(0, 36, 0, 36),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            BackgroundTransparency = 1,
            Image = v18,
            ImageColor3 = if not v25 then nil else v25.ContextualPrimaryContent.Color,
            ImageTransparency = v37
        });
    else
        error("invalid play button state");
    end;
    return v1.createElement(l_ImageSetButton_0, {
        Size = l_Size_0,
        Position = l_Position_0,
        LayoutOrder = l_LayoutOrder_0,
        AutoButtonColor = false,
        BackgroundTransparency = 1,
        Image = v15,
        ImageColor3 = if not v25 then l_appTheme_0.ContextPrimaryButton.Color else v25.ContextualPrimaryDefault.Color,
        ImageTransparency = v37,
        ScaleType = Enum.ScaleType.Slice,
        SliceCenter = Rect.new(8, 8, 9, 9),
        ClipsDescendants = true,
        [v1.Event.InputBegan] = v24.onInputBegan,
        [v1.Event.InputEnded] = v24.onInputEnded,
        [v1.Event.Activated] = l_onActivated_0
    }, {
        PlayButton = v36
    });
end;
v22.render = function(v38)
    if not l_GetFFlagLuaAppUseUIBloxColorPalettes_0() or not l_GetUIBloxUseNewThemeColorPalettes_0() then
        return v38:renderWithStyle(nil);
    else
        return l_withStyle_0(function(v39)
            return v38:renderWithStyle(v39.Theme);
        end);
    end;
end;
return (v5(v22));


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_RunService_0 = game:GetService("RunService");
local l_ImageSetLabel_0 = require(l_CorePackages_0.UIBlox).Core.ImageSet.ImageSetLabel;
local v4 = require(l_Modules_0.Common.Roact);
local v5 = require(l_Modules_0.Common.RoactUtilities.ExternalEventConnection);
local v6 = require(l_Modules_0.LuaApp.Constants);
local v7 = require(l_Modules_0.LuaApp.RoactMotion);
local l_GetImageData_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppAssets).GetImageData;
local v9 = {
    BUTTON_FILL = 1,
    BURST = 2,
    DONE = 3
};
local v10 = v4.PureComponent:extend("QuickLaunchAnimation");
v10.defaultProps = {
    Size = UDim2.new(1, 0, 1, 0),
    ZIndex = 1
};
v10.init = function(v11)
    v11.state = {
        animationPhase = v9.BUTTON_FILL,
        animationTick = tick()
    };
    v11.quickLaunchRef = v4.createRef();
    v11.onRewindDoneCallback = v11.props.onRewindDoneCallback;
    v11.renderSteppedCallback = function(_)
        if not (not v11.quickLaunchRef.current or v11.props.rewindAnimation) then
            local v13 = tick();
            local v14 = v13 - v11.state.animationTick;
            if v11.state.animationPhase == v9.BUTTON_FILL then
                if v14 >= 0.255 then
                    v11:setState({
                        animationPhase = v9.BURST,
                        animationTick = v13
                    });
                    return ;
                end;
            elseif v11.state.animationPhase == v9.BURST and v14 >= 0.18 then
                v11:setState({
                    animationPhase = v9.DONE,
                    animationTick = v13
                });
                v11.props.onAnimationDoneCallback();
            end;
        end;
    end;
end;
v10.render = function(v15)
    local l_Size_0 = v15.props.Size;
    local l_ZIndex_0 = v15.props.ZIndex;
    local l_gameCardHeight_0 = v15.props.gameCardHeight;
    local l_rewindAnimation_0 = v15.props.rewindAnimation;
    return v4.createElement("Frame", {
        Size = l_Size_0,
        BackgroundTransparency = 1,
        ZIndex = l_ZIndex_0,
        ClipsDescendants = true,
        [v4.Ref] = v15.quickLaunchRef
    }, {
        QuickGameLaunchBg = v4.createElement(v7.SimpleMotion, {
            defaultStyle = {
                frameSize = 0
            },
            style = {
                frameSize = not not l_rewindAnimation_0 and v7.spring(0, 600, 50, 0.05) or v7.spring(1.25, 200, 50, 0.01)
            },
            onRested = l_rewindAnimation_0 and v15.onRewindDoneCallback,
            render = function(v20)
                local l_createElement_0 = v4.createElement;
                local v22 = "Frame";
                local v23 = {
                    AnchorPoint = Vector2.new(0, 1),
                    Position = UDim2.new(0, 0, 1, 0),
                    Size = UDim2.new(1, 0, v20.frameSize, 0),
                    BackgroundTransparency = 0,
                    BorderSizePixel = 0,
                    BackgroundColor3 = v6.Color.GREEN_PRIMARY,
                    ClipsDescendants = true
                };
                local v24 = {
                    PlayCircle = v4.createElement(l_ImageSetLabel_0, {
                        AnchorPoint = Vector2.new(0.5, 0.5),
                        Position = UDim2.new(0.5, 0, 1, -l_gameCardHeight_0 / 2),
                        Size = UDim2.new(0, 70, 0, 70),
                        BackgroundTransparency = 1,
                        BorderSizePixel = 0,
                        Image = l_GetImageData_0("LuaApp/graphic/gr-play-circle") or "LuaApp/graphic/gr-play-circle"
                    })
                };
                local v25 = false;
                if v9.BURST <= v15.state.animationPhase then
                    v25 = v4.createElement(v7.SimpleMotion, {
                        defaultStyle = {
                            scale = 0
                        },
                        style = {
                            scale = v7.spring(1.55, 640, 40, 0.2)
                        },
                        render = function(v26)
                            return v4.createElement("ImageLabel", {
                                AnchorPoint = Vector2.new(0.5, 0.5),
                                Position = UDim2.new(0.5, 0, 1, -l_gameCardHeight_0 / 2),
                                Size = UDim2.new(0, l_gameCardHeight_0 * v26.scale, 0, l_gameCardHeight_0 * v26.scale),
                                BackgroundTransparency = 1,
                                BorderSizePixel = 0,
                                Image = "rbxasset://textures/ui/LuaApp/graphic/gr-bloom-circle.png",
                                ImageColor3 = v6.Color.WHITE,
                                SizeConstraint = Enum.SizeConstraint.RelativeYY
                            });
                        end
                    });
                end;
                v24.BloomCircle = v25;
                return l_createElement_0(v22, v23, v24);
            end
        }),
        renderStepped = not l_rewindAnimation_0 and v4.createElement(v5, {
            event = l_RunService_0.renderStepped,
            callback = v15.renderSteppedCallback
        })
    });
end;
return v10;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Packages.React);
local l_useLocalization_0 = require(l_CorePackages_0.Workspace.Packages.Localization).Hooks.useLocalization;
local l_InfoPeekView_0 = require(l_CorePackages_0.Workspace.Packages.AppBlox).InfoPeekView;
return function()
    local v4 = l_useLocalization_0({
        SponsoredTitle = "CoreScripts.Ads.Label.SponsoredAds",
        SponsoredDisclosure = "CoreScripts.Ads.Label.SponsoredAdsDisclosureStatic"
    });
    return v1.createElement(l_InfoPeekView_0, {
        title = v4.SponsoredTitle,
        body = v4.SponsoredDisclosure
    });
end;


local l_RunService_0 = game:GetService("RunService");
local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v3 = require(l_Modules_0.Common.Roact);
local v4 = require(l_Modules_0.Common.RoactRodux);
local v5 = require(l_Modules_0.LuaApp.Thunks.Games.ApiFetchSortTokens);
local v6 = require(l_Modules_0.LuaApp.Enum.RetrievalStatus);
local v7 = require(l_Modules_0.Common.RoactUtilities.ExternalEventConnection);
local v8 = require(l_Modules_0.LuaApp.Services.RoactNetworking);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local v10 = v3.PureComponent:extend("TokenRefreshComponent");
v10.init = function(v11)
    v11.steppedCallback = function()
        local l_sortToRefresh_0 = v11.props.sortToRefresh;
        local v13 = v11.props.nextTokenRefreshTime[l_sortToRefresh_0];
        if v11.props.GameSortTokenFetchingStatus[l_sortToRefresh_0] ~= v6.Done then
            return ;
        else
            if v13 < tick() then
                v11.props.refresh(v11.props.networking, l_sortToRefresh_0):catch(function()
                end);
            end;
            return ;
        end;
    end;
end;
v10.render = function(v14)
    return v3.createElement(v7, {
        event = l_RunService_0.stepped,
        callback = v14.steppedCallback
    });
end;
return l_RoactServices_0.connect({
    networking = v8
})((v4.connect(function(v15, _)
    return {
        nextTokenRefreshTime = v15.NextTokenRefreshTime,
        GameSortTokenFetchingStatus = v15.RequestsStatus.GameSortTokenFetchingStatus
    };
end, function(v17)
    return {
        refresh = function(v18, v19)
            return v17(v5(v18, v19, nil));
        end
    };
end)(v10)));


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local l_getFFlagUpdateFriendCarousel10ft_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).getFFlagUpdateFriendCarousel10ft;
local v3 = v1.PureComponent:extend("AppCarousel");
v3.render = function(v4)
    local l_carouselHeight_0 = v4.props.carouselHeight;
    return v1.createElement("ScrollingFrame", {
        Size = UDim2.new(1, 0, 0, l_carouselHeight_0),
        ScrollBarThickness = 0,
        BackgroundTransparency = 1,
        ClipsDescendants = false,
        CanvasSize = UDim2.new(0, v4.props.canvasWidth, 0, l_carouselHeight_0),
        CanvasPosition = v4.props.canvasPosition,
        ScrollingEnabled = not v4.props.scrollingAnimationActive,
        ScrollingDirection = Enum.ScrollingDirection.X,
        ElasticBehavior = Enum.ElasticBehavior.Always,
        Selectable = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else false,
        [v1.Change.CanvasPosition] = v4.props.onChangeCanvasPosition,
        [v1.Ref] = v4.props.onRefCallback
    }, v4.props.items);
end;
return v3;


local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local l_CorePackages_0 = game:GetService("CorePackages");
local l_RunService_0 = game:GetService("RunService");
local v3 = require(l_CorePackages_0.Packages.Cryo);
local v4 = require(l_CorePackages_0.Packages.Roact);
local v5 = require(l_CorePackages_0.Packages.t);
local v6 = require(l_Modules_0.LuaApp.getCameraSettingsToFitModel);
local v7 = require(l_Modules_0.LuaApp.Components.Generic.ViewportFrame);
local l_RoactServices_0 = require(l_CorePackages_0.Workspace.Packages.RoactServices).RoactServices;
local l_AppContentProvider_0 = require(l_CorePackages_0.Workspace.Packages.RoactServiceTags).AppContentProvider;
local v10 = Vector3.new(0, -300, 0);
local function _()
    local l_v10_0 = v10;
    v10 = v10 + Vector3.new(30, 0, 0);
    return l_v10_0;
end;
local function _(v13)
    return "http://www.roblox.com/asset/?id=" .. v13;
end;
local v15 = v5.interface({
    modelRef = v5.optional(v5.strictInterface({
        value = v5.instanceIsA("Model")
    })),
    animationIds = v5.optional(v5.array(v5.string)),
    pauseAnimations = v5.optional(v5.boolean),
    cameraCFrameOffset = v5.optional(v5.CFrame),
    topOffsetScale = v5.optional(v5.number),
    bottomOffsetScale = v5.optional(v5.number),
    cameraUpdatedCallback = v5.optional(v5.callback),
    Size = v5.optional(v5.UDim2),
    Position = v5.optional(v5.UDim2),
    contentProvider = v5.any
});
local v16 = v4.PureComponent:extend("AvatarViewportFrame");
v16.defaultProps = {
    cameraCFrameOffset = CFrame.new(),
    topOffsetScale = 0.01,
    bottomOffsetScale = 0.01
};
v16.init = function(v17)
    v17.state = {
        cameraDistance = nil,
        cameraFocusPoint = nil,
        cameraLookVector = nil,
        cameraUpVector = nil
    };
    v17.isMounted = false;
    v17.animationTracks = nil;
    v17.animationSpeeds = nil;
    v17.modelCFrameOrientation = CFrame.new();
    local l_v10_1 = v10;
    v10 = v10 + Vector3.new(30, 0, 0);
    v17.modelPosition = l_v10_1;
    v17.gameModelFolder = nil;
    v17.gameModel = nil;
    v17.partsToCopy = {};
    v17.renderSteppedConnection = nil;
    v17.collectPartsRecursive = function(v19, v20)
        if not (v19 ~= nil) or v20 == nil then
            return ;
        else
            local l_v19_Children_0 = v19:GetChildren();
            local l_v20_Children_0 = v20:GetChildren();
            for v23 = 1, #l_v19_Children_0 do
                local v24 = l_v19_Children_0[v23];
                local v25 = l_v20_Children_0[v23];
                if not (not v24:isA("BasePart") or not v25:isA("BasePart")) then
                    table.insert(v17.partsToCopy, {
                        srcPart = v24,
                        targetPart = v25
                    });
                    v24.Transparency = 1;
                end;
                v17.collectPartsRecursive(v24, v25);
            end;
            return ;
        end;
    end;
end;
v16.updateCamera = function(v26)
    local l_modelRef_0 = v26.props.modelRef;
    local l_cameraCFrameOffset_0 = v26.props.cameraCFrameOffset;
    local l_topOffsetScale_0 = v26.props.topOffsetScale;
    local l_bottomOffsetScale_0 = v26.props.bottomOffsetScale;
    if l_modelRef_0 ~= nil then
        local v31 = v26.gameModel or l_modelRef_0.value;
        spawn(function()
            v26.props.contentProvider:PreloadAsync(v26.animationTracks or {});
            v26.props.contentProvider:PreloadAsync({
                v31
            });
            if v31 ~= (v26.gameModel or v26.props.modelRef.value) then
                return ;
            else
                local _, v33 = v31:GetBoundingBox();
                local v34 = CFrame.fromMatrix(Vector3.new(), -v26.modelCFrameOrientation.rightVector, v26.modelCFrameOrientation.UpVector) * l_cameraCFrameOffset_0;
                local l_lookVector_0 = v34.lookVector;
                local l_upVector_0 = v34.upVector;
                local v37 = v6({
                    model = v31,
                    cameraFieldOfView = 70,
                    upVector = l_upVector_0,
                    lookVector = l_lookVector_0,
                    bottomOffset = l_bottomOffsetScale_0 * v33.Y,
                    topOffset = l_topOffsetScale_0 * v33.Y
                });
                if v26.isMounted then
                    v26:setState({
                        cameraDistance = v37.distance,
                        cameraFocusPoint = v37.focusPoint,
                        cameraLookVector = l_lookVector_0,
                        cameraUpVector = l_upVector_0
                    });
                end;
                if v26.props.cameraUpdatedCallback then
                    v26.props.cameraUpdatedCallback();
                end;
                return ;
            end;
        end);
    end;
end;
v16.updateAnimation = function(v38)
    if v38.animationTracks ~= nil then
        v38:RemoveAllAnimations();
    end;
    if v38.gameModel ~= nil then
        v38.gameModel:Destroy();
        v38.gameModel = nil;
    end;
    local l_modelRef_1 = v38.props.modelRef;
    local l_animationIds_0 = v38.props.animationIds;
    if not (l_modelRef_1 ~= nil and l_animationIds_0 ~= nil) or #l_animationIds_0 == 0 then
        return ;
    else
        v38.gameModel = l_modelRef_1.value:Clone();
        if v38.gameModelFolder == nil then
            v38.gameModelFolder = Instance.new("Folder");
            v38.gameModelFolder.Name = "LuaApp-AvatarViewportFrameModel-" .. tostring(v38);
            v38.gameModelFolder.Parent = game.Workspace;
        end;
        v38.gameModel.Parent = v38.gameModelFolder;
        v38.gameModel:SetPrimaryPartCFrame(CFrame.new(v38.modelPosition));
        l_modelRef_1.value:SetPrimaryPartCFrame(CFrame.new(v38.modelPosition));
        v38.partsToCopy = {};
        v38.collectPartsRecursive(v38.gameModel, l_modelRef_1.value);
        local l_gameModel_0 = v38.gameModel;
        v38.animationTracks = {};
        for _, v43 in ipairs(l_animationIds_0) do
            local l_Animation_0 = Instance.new("Animation");
            l_Animation_0.AnimationId = "http://www.roblox.com/asset/?id=" .. v43;
            l_Animation_0.Parent = l_gameModel_0;
            local v45 = l_gameModel_0.Humanoid:LoadAnimation(l_Animation_0);
            v45:Play();
            table.insert(v38.animationTracks, v45);
        end;
        if v38.renderSteppedConnection == nil then
            v38.renderSteppedConnection = l_RunService_0.renderStepped:Connect(function()
                if not (v38.gameModel ~= nil and v38.props.modelRef ~= nil) or v38.props.pauseAnimations == true then
                    return ;
                else
                    for _, v47 in ipairs(v38.partsToCopy) do
                        v47.targetPart.CFrame = v47.srcPart.CFrame;
                    end;
                    return ;
                end;
            end);
        end;
        return ;
    end;
end;
v16.PauseAnimations = function(v48)
    if v48.animationTracks ~= nil then
        v48.animationSpeeds = {};
        for v49, v50 in ipairs(v48.animationTracks) do
            v48.animationSpeeds[v49] = v50.Speed;
            v50:AdjustSpeed(0);
        end;
    end;
end;
v16.UnPauseAnimations = function(v51)
    if v51.animationTracks ~= nil and v51.animationSpeeds ~= nil then
        for v52, v53 in ipairs(v51.animationTracks) do
            v53:AdjustSpeed(v51.animationSpeeds[v52]);
        end;
        v51.animationSpeeds = nil;
    end;
end;
v16.RemoveAllAnimations = function(v54)
    if v54.animationTracks ~= nil then
        for _, v56 in ipairs(v54.animationTracks) do
            v56:Stop();
        end;
        v54.animationTracks = nil;
        v54.animationSpeeds = nil;
    end;
end;
v16.updateModelPosition = function(v57)
    local l_modelRef_2 = v57.props.modelRef;
    if l_modelRef_2 then
        l_modelRef_2.value:SetPrimaryPartCFrame(v57.modelCFrameOrientation + v57.modelPosition);
    end;
end;
v16.didMount = function(v59)
    v59.isMounted = true;
    v59:updateModelPosition();
    v59:updateAnimation();
    v59:updateCamera();
end;
v16.didUpdate = function(v60, v61)
    if not (v61.modelRef == v60.props.modelRef) or v61.animationIds ~= v60.props.animationIds then
        v60:updateModelPosition();
        v60:updateAnimation();
        v60:updateCamera();
    end;
    if v61.pauseAnimations ~= v60.props.pauseAnimations then
        if v60.props.pauseAnimations == true then
            v60:PauseAnimations();
            return ;
        else
            v60:UnPauseAnimations();
        end;
    end;
end;
v16.render = function(v62)
    assert(v15(v62.props));
    return v4.createElement(v7, {
        regularProps = v3.Dictionary.join(v62.props, {
            modelRef = v3.None,
            animationIds = v3.None,
            pauseAnimations = v3.None,
            cameraCFrameOffset = v3.None,
            topOffsetScale = v3.None,
            bottomOffsetScale = v3.None,
            cameraUpdatedCallback = v3.None,
            contentProvider = v3.None
        }),
        modelRef = v62.props.modelRef,
        cameraDistance = v62.state.cameraDistance,
        cameraFocusPoint = v62.state.cameraFocusPoint,
        cameraLookVector = v62.state.cameraLookVector,
        cameraUpVector = v62.state.cameraUpVector
    });
end;
v16.willUnmount = function(v63)
    v63.isMounted = false;
    if v63.gameModel ~= nil then
        v63.gameModel:Destroy();
        v63.gameModel = nil;
    end;
    if v63.gameModelFolder ~= nil then
        v63.gameModelFolder:Destroy();
        v63.gameModelFolder = nil;
    end;
    if v63.renderSteppedConnection ~= nil then
        v63.renderSteppedConnection:Disconnect();
        v63.renderSteppedConnection = nil;
    end;
end;
return (l_RoactServices_0.connect({
    contentProvider = l_AppContentProvider_0
})(v16));


local l_CorePackages_0 = game:GetService("CorePackages");
local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_Modules_0.LuaApp.FitChildren);
local v5 = require(l_Modules_0.LuaApp.ArgCheck);
local l_TimeUnit_0 = require(l_CorePackages_0.Workspace.Packages.Time).TimeUnit;
local l_DateTime_0 = require(l_CorePackages_0.Workspace.Packages.Time).DateTime;
local l_withStyle_0 = require(l_CorePackages_0.UIBlox).Style.withStyle;
local v9 = require(l_Modules_0.LuaApp.withLocalization);
local v10 = require(l_Modules_0.LuaApp.Components.Authentication.ScrollingPicker);
local v11 = require(l_Modules_0.LuaApp.Util.DateHelper);
local v12 = {
    Default = "Default",
    Emphasized = "Emphasized",
    Muted = "Muted"
};
local v13 = {};
for v14 = 1, 31 do
    table.insert(v13, v14);
end;
local l_ReasonDateInvalid_0 = v11.ReasonDateInvalid;
local l_MonthsLocalizationKeys_0 = v11.MonthsLocalizationKeys;
local l_DateTypeOrder_0 = v11.DateTypeOrder;
local v18 = v3.PureComponent:extend("BirthdayPicker");
v18.defaultProps = {
    minAgeAllowed = 0,
    maxAgeAllowed = 99
};
v18.init = function(v19)
    v19.isMounted = false;
    local l_Values_0 = l_DateTime_0.now():GetValues();
    v19.currentDate = {
        [l_TimeUnit_0.Months] = v5.isNonNegativeNumber(l_Values_0.Month, "current month in BirthdayPicker"),
        [l_TimeUnit_0.Days] = v5.isNonNegativeNumber(l_Values_0.Day, "current day in BirthdayPicker"),
        [l_TimeUnit_0.Years] = v5.isNonNegativeNumber(l_Values_0.Year, "current year in BirthdayPicker")
    };
    local v21 = v19.currentDate[l_TimeUnit_0.Years];
    local l_minAgeAllowed_0 = v19.props.minAgeAllowed;
    local v23 = v21 - v19.props.maxAgeAllowed;
    local v24 = v21 - l_minAgeAllowed_0;
    v19.dummyYears = {};
    for v25 = v23, v24 do
        table.insert(v19.dummyYears, v25);
    end;
    local l_initialMonth_0 = v19.props.initialMonth;
    local l_initialDay_0 = v19.props.initialDay;
    local l_initialYear_0 = v19.props.initialYear;
    local v29 = nil;
    if l_initialYear_0 then
        v29 = (math.clamp(l_initialYear_0, v23, v24) - v23) + 1;
    end;
    v19.state = {
        selectedMonthIndex = l_initialMonth_0 or 1,
        selectedDayIndex = l_initialDay_0 or 1,
        selectedYearIndex = v29 or #v19.dummyYears + -1,
        continueButtonEnabled = true
    };
    v19.renderEntryTextfunction = function(v30, v31)
        return l_withStyle_0(function(v32)
            local l_Font_0 = v32.Font.Body.Font;
            local v34 = v32.Font.BaseSize * v32.Font.Body.RelativeSize;
            local l_Color_0 = v32.Theme.TextDefault.Color;
            local l_Transparency_0 = v32.Theme.TextDefault.Transparency;
            if v31 == v12.Muted then
                l_Color_0 = v32.Theme.TextMuted.Color;
                l_Transparency_0 = v32.Theme.TextMuted.Transparency;
            elseif v31 == v12.Emphasized then
                l_Font_0 = v32.Font.Header1.Font;
                v34 = v32.Font.BaseSize * v32.Font.Header1.RelativeSize;
                l_Color_0 = v32.Theme.TextEmphasis.Color;
                l_Transparency_0 = v32.Theme.TextEmphasis.Transparency;
            end;
            return v3.createElement("TextLabel", {
                Size = UDim2.new(1, 0, 1, 0),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Text = tostring(v30),
                Font = l_Font_0,
                TextSize = v34,
                TextColor3 = l_Color_0,
                TextTransparency = l_Transparency_0
            });
        end);
    end;
    v19.onSelectedIndexChangedForMonth = function(v37)
        if v19.state.selectedMonthIndex ~= v37 then
            spawn(function()
                if v19.isMounted then
                    v19:setState({
                        selectedMonthIndex = v37
                    });
                end;
            end);
        end;
    end;
    v19.onSelectedIndexChangedForDay = function(v38)
        if v19.state.selectedDayIndex ~= v38 then
            spawn(function()
                if v19.isMounted then
                    v19:setState({
                        selectedDayIndex = v38
                    });
                end;
            end);
        end;
    end;
    v19.onSelectedIndexChangedForYear = function(v39)
        if v19.state.selectedYearIndex ~= v39 then
            spawn(function()
                if v19.isMounted then
                    v19:setState({
                        selectedYearIndex = v39
                    });
                end;
            end);
        end;
    end;
end;
v18.didMount = function(v40)
    local l_updateBirthday_0 = v40.props.updateBirthday;
    local l_selectedMonthIndex_0 = v40.state.selectedMonthIndex;
    local l_selectedDayIndex_0 = v40.state.selectedDayIndex;
    local v44 = v40.dummyYears[v40.state.selectedYearIndex];
    if l_updateBirthday_0 then
        l_updateBirthday_0(l_selectedMonthIndex_0, l_selectedDayIndex_0, v44);
    end;
    v40.isMounted = true;
end;
v18.willUnmount = function(v45)
    v45.isMounted = false;
end;
v18.updatePickerState = function(v46)
    local l_selectedMonthIndex_1 = v46.state.selectedMonthIndex;
    local l_selectedDayIndex_1 = v46.state.selectedDayIndex;
    local v49 = v46.dummyYears[v46.state.selectedYearIndex];
    local v50 = false;
    local v51, v52 = v11:isValidDate(l_selectedMonthIndex_1, l_selectedDayIndex_1, v49);
    if not v51 and v52 == l_ReasonDateInvalid_0.IsInvalidDayOfMonth then
        v50 = true;
        l_selectedDayIndex_1 = v11:getLastDayOfTheMonthInYear(l_selectedMonthIndex_1, v49);
    end;
    spawn(function()
        if v46.isMounted then
            v46:setState({
                selectedDayIndex = not not v50 and l_selectedDayIndex_1 or nil,
                continueButtonEnabled = v51
            });
        end;
    end);
end;
v18.didUpdate = function(v53)
    local l_updateBirthday_1 = v53.props.updateBirthday;
    local l_selectedMonthIndex_2 = v53.state.selectedMonthIndex;
    local l_selectedDayIndex_2 = v53.state.selectedDayIndex;
    local v57 = v53.dummyYears[v53.state.selectedYearIndex];
    if v11:isValidDate(l_selectedMonthIndex_2, l_selectedDayIndex_2, v57) ~= v53.state.continueButtonEnabled then
        v53:updatePickerState();
    end;
    if l_updateBirthday_1 then
        l_updateBirthday_1(l_selectedMonthIndex_2, l_selectedDayIndex_2, v57);
    end;
end;
v18.render = function(v58)
    local l_RobloxLocaleId_0 = l_LocalizationService_0.RobloxLocaleId;
    local v60 = l_DateTypeOrder_0[l_RobloxLocaleId_0];
    local l_layoutOrder_0 = v58.props.layoutOrder;
    local l_selectedMonthIndex_3 = v58.state.selectedMonthIndex;
    local l_selectedDayIndex_3 = v58.state.selectedDayIndex;
    local l_selectedYearIndex_0 = v58.state.selectedYearIndex;
    return l_withStyle_0(function(_)
        return v9({
            continueText = "Authentication.SignUp.Label.Continue"
        })(function(_)
            return v3.createElement(v4.FitFrame, {
                LayoutOrder = l_layoutOrder_0,
                Size = UDim2.new(1, 0, 0, 0),
                fitAxis = v4.FitAxis.Height,
                BorderSizePixel = 0,
                BackgroundTransparency = 1
            }, {
                ListLayout = v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Vertical,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 14)
                }),
                DatePickerWrap = v3.createElement(v4.FitFrame, {
                    LayoutOrder = 1,
                    Size = UDim2.new(1, 0, 0, 0),
                    fitAxis = v4.FitAxis.Height,
                    BorderSizePixel = 0,
                    BackgroundTransparency = 1
                }, {
                    CenterFrame = v3.createElement("ImageLabel", {
                        Size = UDim2.new(1, 0, 0, 50),
                        Image = "rbxasset://textures/ui/LuaApp/graphic/Auth/DatePickerDivider.png",
                        BackgroundTransparency = 1,
                        ScaleType = Enum.ScaleType.Slice,
                        SliceCenter = Rect.new(2, 2, 4, 4),
                        Position = UDim2.new(0, 0, 0.5, 0),
                        AnchorPoint = Vector2.new(0, 0.5),
                        ZIndex = 2
                    }),
                    DatePicker = v3.createElement(v4.FitFrame, {
                        Size = UDim2.new(1, 0, 0, 0),
                        fitAxis = v4.FitAxis.Height,
                        BorderSizePixel = 0,
                        BackgroundTransparency = 1
                    }, {
                        ListLayout = v3.createElement("UIListLayout", {
                            FillDirection = Enum.FillDirection.Vertical,
                            SortOrder = Enum.SortOrder.LayoutOrder
                        }),
                        WheelContainer = v3.createElement(v4.FitFrame, {
                            LayoutOrder = 2,
                            Size = UDim2.new(1, 0, 0, 0),
                            fitAxis = v4.FitAxis.Height,
                            BorderSizePixel = 0,
                            BackgroundTransparency = 1,
                            ClipsDescendants = true
                        }, {
                            ListLayout = v3.createElement("UIListLayout", {
                                FillDirection = Enum.FillDirection.Horizontal,
                                SortOrder = Enum.SortOrder.LayoutOrder
                            }),
                            Padding = v3.createElement("UIPadding", {
                                PaddingLeft = UDim.new(0, 5),
                                PaddingRight = UDim.new(0, 5),
                                PaddingTop = UDim.new(0, 5),
                                PaddingBottom = UDim.new(0, 5)
                            }),
                            MonthWheel = v3.createElement(v10, {
                                layoutOrder = v60[l_TimeUnit_0.Months],
                                size = UDim2.new(0.45, 0, 0, 200),
                                renderEntry = function(v67)
                                    return l_withStyle_0(function(_)
                                        return v9({
                                            monthText = v67
                                        })(function(v69)
                                            local l_selectedMonthIndex_4 = v58.state.selectedMonthIndex;
                                            local l_Default_0 = v12.Default;
                                            if v67 == l_MonthsLocalizationKeys_0[l_selectedMonthIndex_4] then
                                                l_Default_0 = v12.Emphasized;
                                            end;
                                            return v58.renderEntryTextfunction(v69.monthText, l_Default_0);
                                        end);
                                    end);
                                end,
                                entries = l_MonthsLocalizationKeys_0,
                                entrySizeOnScrollingAxis = 50,
                                onSelectedIndexChanged = v58.onSelectedIndexChangedForMonth,
                                parentSpecifiedTarget = l_selectedMonthIndex_3
                            }),
                            DayWheel = v3.createElement(v10, {
                                layoutOrder = v60[l_TimeUnit_0.Days],
                                size = UDim2.new(0.2, 0, 0, 200),
                                renderEntry = function(v72)
                                    return v9({
                                        dayAffix = v11.DayAffixLocalizationKey
                                    })(function(v73)
                                        local l_selectedMonthIndex_5 = v58.state.selectedMonthIndex;
                                        local v75 = v58.dummyYears[v58.state.selectedYearIndex];
                                        local l_selectedDayIndex_4 = v58.state.selectedDayIndex;
                                        local l_v11_FormattedDayString_0 = v11:GetFormattedDayString(v72, v73.dayAffix, l_RobloxLocaleId_0);
                                        local l_Default_1 = v12.Default;
                                        if not v11:isInvalidDayOfTheMonth(l_selectedMonthIndex_5, v72, v75) then
                                            if v72 == l_selectedDayIndex_4 then
                                                l_Default_1 = v12.Emphasized;
                                            end;
                                        else
                                            l_Default_1 = v12.Muted;
                                        end;
                                        return v58.renderEntryTextfunction(l_v11_FormattedDayString_0, l_Default_1);
                                    end);
                                end,
                                entries = v13,
                                entrySizeOnScrollingAxis = 50,
                                onSelectedIndexChanged = v58.onSelectedIndexChangedForDay,
                                parentSpecifiedTarget = l_selectedDayIndex_3
                            }),
                            YearWheel = v3.createElement(v10, {
                                layoutOrder = v60[l_TimeUnit_0.Years],
                                size = UDim2.new(0.35, 0, 0, 200),
                                renderEntry = function(v79)
                                    return v9({
                                        yearAffix = v11.YearAffixLocalizationKey
                                    })(function(v80)
                                        local v81 = v58.dummyYears[v58.state.selectedYearIndex];
                                        local l_v11_FormattedYearString_0 = v11:GetFormattedYearString(v79, v80.yearAffix, l_RobloxLocaleId_0);
                                        local l_Default_2 = v12.Default;
                                        if v79 == v81 then
                                            l_Default_2 = v12.Emphasized;
                                        end;
                                        return v58.renderEntryTextfunction(l_v11_FormattedYearString_0, l_Default_2);
                                    end);
                                end,
                                entries = v58.dummyYears,
                                entrySizeOnScrollingAxis = 50,
                                onSelectedIndexChanged = v58.onSelectedIndexChangedForYear,
                                parentSpecifiedTarget = l_selectedYearIndex_0
                            })
                        })
                    })
                })
            });
        end);
    end);
end;
return v18;


local l_CorePackages_0 = game:GetService("CorePackages");
local l_Modules_0 = game:GetService("CoreGui").RobloxGui.Modules;
local v2 = require(l_CorePackages_0.Cryo);
local v3 = require(l_CorePackages_0.Roact);
local v4 = require(l_CorePackages_0.UIBlox);
local l_withStyle_0 = v4.Style.withStyle;
local l_useStyle_0 = v4.Core.Style.useStyle;
local l_ImageSetLabel_0 = v4.Core.ImageSet.ImageSetLabel;
local v8 = require(l_Modules_0.LuaApp.FitChildren);
local v9 = require(l_Modules_0.LuaApp.Components.Generic.ScrollingAppCarousel);
local l_LoadingStateContainer_0 = v4.App.Container.LoadingStateContainer;
local l_RetrievalStatus_0 = v4.App.Loading.Enum.RetrievalStatus;
local l_CursorKind_0 = v4.App.SelectionImage.CursorKind;
local l_withSelectionCursorProvider_0 = v4.App.SelectionImage.withSelectionCursorProvider;
local l_useDesignTokens_0 = require(l_CorePackages_0.Workspace.Packages.Style).useDesignTokens;
local l_useUiModeInfo_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppHooks).useUiModeInfo;
local l_UiMode_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppEnums).UiMode;
local l_GetImageData_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppAssets).GetImageData;
local l_TooltipOrientation_0 = v4.App.Dialog.Enum.TooltipOrientation;
local l_DeviceType_0 = require(l_CorePackages_0.Workspace.Packages.RobloxAppEnums).DeviceType;
local l_useSelector_0 = require(l_CorePackages_0.Workspace.Packages.RoactUtils).Hooks.RoactRodux.useSelector;
local l_IconWithTooltip_0 = require(l_CorePackages_0.Workspace.Packages.AppBlox).IconWithTooltip;
local v22 = require(l_Modules_0.LuaApp.Flags.GetFFlagLuaAppGameCarouselUseAutoSizing);
local l_getFFlagUpdateFriendCarousel10ft_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).getFFlagUpdateFriendCarousel10ft;
local l_GetFFlagLuaAppSortSubtitlesEnabled_0 = require(l_CorePackages_0.Workspace.Packages.SharedFlags).GetFFlagLuaAppSortSubtitlesEnabled;
local v25 = require(l_Modules_0.Personalization.Flags.FFlagLuaAppCountdownSubtitle);
local v26 = v3.PureComponent:extend("CarouselWidget");
v26.getDerivedStateFromProps = function(v27, v28)
    if v27.fetchingStatus == nil then
        return ;
    else
        local v29 = l_RetrievalStatus_0.fromRawValue(v27.fetchingStatus);
        local l_wasLoaded_0 = v28.wasLoaded;
        if v29 == l_RetrievalStatus_0.Done then
            l_wasLoaded_0 = true;
        elseif not (v29 ~= l_RetrievalStatus_0.Failed) or v29 == l_RetrievalStatus_0.NotStarted then
            l_wasLoaded_0 = false;
        elseif not (not (v29 == l_RetrievalStatus_0.Fetching) or not l_wasLoaded_0) then
            v29 = l_RetrievalStatus_0.Done;
        end;
        return {
            wasLoaded = l_wasLoaded_0,
            dataStatus = v29
        };
    end;
end;
v26.init = function(v31)
    v31.state = {
        wasLoaded = false,
        dataStatus = l_RetrievalStatus_0.NotStarted
    };
end;
v26.didMount = function(v32)
    v32:setState({
        wasLoaded = false,
        dataStatus = l_RetrievalStatus_0.fromRawValue(v32.props.fetchingStatus)
    });
end;
v26.render = function(v33)
    local l_layoutOrder_0 = v33.props.layoutOrder;
    local l_onSeeAll_0 = v33.props.onSeeAll;
    local l_title_0 = v33.props.title;
    local l_items_0 = v33.props.items;
    local l_fetchingStatus_0 = v33.props.fetchingStatus;
    local l_onRetry_0 = v33.props.onRetry;
    local l_carouselHeight_0 = v33.props.carouselHeight;
    local l_canvasWidth_0 = v33.props.canvasWidth;
    local l_onChangeCanvasPosition_0 = v33.props.onChangeCanvasPosition;
    local l_onRefCallback_0 = v33.props.onRefCallback;
    local l_index_0 = v33.props.index;
    local l_itemCount_0 = v33.props.itemCount;
    local l_itemWidth_0 = v33.props.itemWidth;
    local l_itemPadding_0 = v33.props.itemPadding;
    local l_carouselMargin_0 = v33.props.carouselMargin;
    local l_showSeeAll_0 = v33.props.showSeeAll;
    local l_designTokens_0 = v33.props.designTokens;
    local l_showTooltip_0 = v33.props.showTooltip;
    local l_onActivateTooltip_0 = v33.props.onActivateTooltip;
    local l_tooltipHoverText_0 = v33.props.tooltipHoverText;
    local l_deviceType_0 = v33.props.deviceType;
    local l_screenSize_0 = v33.props.screenSize;
    local function v70(v56, v57)
        local l_Theme_0 = v56.Theme;
        local l_Font_0 = v56.Font;
        local v60 = l_Font_0.BaseSize * l_Font_0.Header1.RelativeSize;
        local v61 = v3.createElement(v9, {
            items = l_items_0,
            index = l_index_0,
            itemCount = l_itemCount_0,
            itemWidth = l_itemWidth_0,
            itemPadding = l_itemPadding_0,
            carouselMargin = l_carouselMargin_0,
            carouselHeight = l_carouselHeight_0,
            canvasWidth = l_canvasWidth_0,
            onChangeCanvasPosition = l_onChangeCanvasPosition_0,
            onRefCallback = l_onRefCallback_0
        });
        local v62 = v3.createElement("TextLabel", {
            Size = UDim2.new(0, 0, 0, 0),
            BackgroundTransparency = 1,
            Font = if not l_getFFlagUpdateFriendCarousel10ft_0() then l_Font_0.Header1.Font else l_designTokens_0.headerFont,
            Text = l_title_0,
            TextSize = if not l_getFFlagUpdateFriendCarousel10ft_0() then v60 else l_designTokens_0.headerTextSize,
            TextColor3 = l_Theme_0.TextEmphasis.Color,
            TextTransparency = l_Theme_0.TextEmphasis.Transparency,
            TextXAlignment = Enum.TextXAlignment.Left,
            LayoutOrder = 1,
            AutomaticSize = Enum.AutomaticSize.XY
        });
        local v63 = {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Horizontal,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 8)
            }),
            Title = v62,
            SeeAllArrow = if not l_GetFFlagLuaAppSortSubtitlesEnabled_0() then v3.createElement(l_ImageSetLabel_0, {
                Size = UDim2.new(0, 16, 0, 16),
                BackgroundTransparency = 1,
                Image = l_GetImageData_0("LuaApp/icons/navigation/pushRight_small") or "LuaApp/icons/navigation/pushRight_small",
                ImageColor3 = l_Theme_0.TextEmphasis.Color,
                ImageTransparency = l_Theme_0.TextEmphasis.Transparency,
                LayoutOrder = 2
            }) else l_showSeeAll_0 and v3.createElement(l_ImageSetLabel_0, {
                Size = UDim2.new(0, 16, 0, 16),
                BackgroundTransparency = 1,
                Image = l_GetImageData_0("LuaApp/icons/navigation/pushRight_small") or "LuaApp/icons/navigation/pushRight_small",
                ImageColor3 = l_Theme_0.TextEmphasis.Color,
                ImageTransparency = l_Theme_0.TextEmphasis.Transparency,
                LayoutOrder = 2
            }) or nil
        };
        local v64 = (l_GetFFlagLuaAppSortSubtitlesEnabled_0() and v33.props.subtitle) and v33.props.subtitle ~= "";
        local v65 = if not not l_GetFFlagLuaAppSortSubtitlesEnabled_0() and l_getFFlagUpdateFriendCarousel10ft_0() then l_designTokens_0.subtitleTextSize else v56.Font.BaseSize * v56.Font.CaptionLarge.RelativeSize;
        local v66 = nil;
        if not (not v64 or not v25) then
            if type(v33.props.subtitle) == "string" then
                v66 = v3.createElement("TextLabel", {
                    Text = v33.props.subtitle,
                    Size = UDim2.new(1, 0, 0, v65),
                    BackgroundTransparency = 1,
                    LayoutOrder = 2,
                    Font = l_Font_0.Body.Font,
                    TextColor3 = l_Theme_0.TextDefault.Color,
                    TextSize = v65,
                    TextXAlignment = Enum.TextXAlignment.Left
                });
            elseif type(v33.props.subtitle) == "table" then
                v66 = v33.props.subtitle;
            end;
        end;
        local v67 = if not v64 then v63 else {
            Layout = v3.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 8)
            }),
            TitleWrapper = v3.createElement("Frame", {
                Size = UDim2.new(),
                AutomaticSize = Enum.AutomaticSize.XY,
                LayoutOrder = 1,
                BackgroundTransparency = 1
            }, v63),
            Subtitle = if not v25 then v3.createElement("TextLabel", {
                Text = v33.props.subtitle,
                Size = UDim2.new(1, 0, 0, v65),
                BackgroundTransparency = 1,
                LayoutOrder = 2,
                Font = l_Font_0.Body.Font,
                TextColor3 = l_Theme_0.TextDefault.Color,
                TextSize = v65,
                TextXAlignment = Enum.TextXAlignment.Left
            }) else v66
        };
        local v68 = nil;
        v68 = if not l_showSeeAll_0 then if l_GetFFlagLuaAppSortSubtitlesEnabled_0() then if v22() then v3.createElement("Frame", {
            AutomaticSize = Enum.AutomaticSize.XY,
            BackgroundTransparency = 1,
            LayoutOrder = 1
        }, v67) else v3.createElement(v8.FitFrame, {
            BackgroundTransparency = 1,
            LayoutOrder = 1
        }, v67) else v62 else if v22() then v3.createElement("ImageButton", {
            AutomaticSize = Enum.AutomaticSize.XY,
            AutoButtonColor = false,
            BackgroundTransparency = 1,
            LayoutOrder = 1,
            SelectionImageObject = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else v57(l_CursorKind_0.InputButton),
            [v3.Event.Activated] = l_onSeeAll_0
        }, v67) else v3.createElement(v8.FitTextButton, {
            Text = "",
            AutoButtonColor = false,
            BackgroundTransparency = 1,
            LayoutOrder = 1,
            SelectionImageObject = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else v57(l_CursorKind_0.InputButton),
            [v3.Event.Activated] = l_onSeeAll_0
        }, v67);
        local v69 = {
            Layout = v3.createElement("UIListLayout", {
                FillDirection = Enum.FillDirection.Vertical,
                HorizontalAlignment = Enum.HorizontalAlignment.Left,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 12)
            }),
            Header = if not l_showTooltip_0 then v68 else v3.createElement("Frame", {
                Size = UDim2.new(0, l_screenSize_0.X - 48, 0, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                LayoutOrder = 1
            }, {
                Layout = if l_deviceType_0 == l_DeviceType_0.Desktop then v3.createElement("UIListLayout", {
                    FillDirection = Enum.FillDirection.Horizontal,
                    HorizontalAlignment = Enum.HorizontalAlignment.Left,
                    VerticalAlignment = Enum.VerticalAlignment.Center,
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Padding = UDim.new(0, 4)
                }) else nil,
                HeaderText = v68,
                CarouselTooltip = v3.createElement(l_IconWithTooltip_0, {
                    tooltipOrientation = l_TooltipOrientation_0.Bottom,
                    onActivateTooltip = l_onActivateTooltip_0,
                    anchorPoint = Vector2.new(1, 0),
                    position = if l_deviceType_0 == l_DeviceType_0.Desktop then nil else UDim2.new(1, 0, 0, 0),
                    layoutOrder = 2,
                    hoverText = l_tooltipHoverText_0,
                    triggerPointName = "CarouselTooltip"
                })
            }),
            CarouselFrame = v3.createElement("Frame", {
                Size = UDim2.new(1, 0, 0, l_carouselHeight_0),
                BackgroundTransparency = 1,
                LayoutOrder = 2
            }, {
                CarouselContent = not not l_fetchingStatus_0 and v3.createElement(l_LoadingStateContainer_0, {
                    dataStatus = v33.state.dataStatus,
                    onRetry = l_onRetry_0,
                    renderOnLoading = function()
                        return nil;
                    end,
                    renderOnLoaded = function()
                        return v61;
                    end
                }) or v61
            })
        };
        if not v22() then
            return v3.createElement(v8.FitFrame, {
                fitAxis = v8.FitAxis.Height,
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                LayoutOrder = l_layoutOrder_0
            }, v69);
        else
            return v3.createElement("Frame", {
                AutomaticSize = Enum.AutomaticSize.Y,
                Size = UDim2.new(1, 0, 0, 0),
                BackgroundTransparency = 1,
                LayoutOrder = l_layoutOrder_0
            }, v69);
        end;
    end;
    if not l_getFFlagUpdateFriendCarousel10ft_0() then
        return l_withStyle_0(v70);
    else
        return l_withStyle_0(function(v71)
            return l_withSelectionCursorProvider_0(function(v72)
                return v70(v71, v72);
            end);
        end);
    end;
end;
return function(v73)
    local v74 = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else l_useUiModeInfo_0();
    local v75 = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else l_useStyle_0();
    return v3.createElement(v26, (v2.Dictionary.join(v73, {
        designTokens = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else l_useDesignTokens_0(function(v76)
            if v74.uiMode == l_UiMode_0.TenFoot then
                return {
                    headerFont = v76.Semantic.Typography.Header.Font,
                    headerTextSize = v76.Semantic.Typography.Header.FontSize,
                    subtitleTextSize = if not l_GetFFlagLuaAppSortSubtitlesEnabled_0() then nil else v76.Semantic.Typography.Subheader.FontSize
                };
            else
                return {
                    headerFont = v75.Font.Header1.Font,
                    headerTextSize = v75.Font.BaseSize * v75.Font.Header1.RelativeSize,
                    subtitleTextSize = if not l_GetFFlagLuaAppSortSubtitlesEnabled_0() then nil else v75.Font.BaseSize * v75.Font.CaptionLarge.RelativeSize
                };
            end;
        end),
        showSeeAll = if not l_getFFlagUpdateFriendCarousel10ft_0() then nil else v73.showSeeAll and v74.uiMode ~= l_UiMode_0.TenFoot,
        screenSize = l_useSelector_0(function(v77)
            return v77.ScreenSize;
        end)
    })));
end;


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Roact);
local v2 = require(l_CorePackages_0.UIBlox);
local v3 = require(l_CorePackages_0.Packages.t);
local l_DropdownMenu_0 = v2.App.Menu.DropdownMenu;
local v5 = v1.PureComponent:extend("DropdownSelector");
v5.defaultProps = {
    contentMaxWidth = math.huge,
    selectorHeight = 48,
    selectorSpacer = 24,
    paddingHorizontal = 0,
    paddingVertical = 0,
    errorText = "",
    renderErrorItem = function()
    end
};
v5.validateProps = v3.strictInterface({
    itemList = v3.array(v3.strictInterface({
        key = v3.string,
        value = v3.any
    })),
    screenSize = v3.Vector2,
    renderSelectedItem = v3.callback,
    contentMaxWidth = v3.optional(v3.number),
    selectorHeight = v3.optional(v3.number),
    selectorSpacer = v3.optional(v3.number),
    paddingHorizontal = v3.optional(v3.number),
    paddingVertical = v3.optional(v3.number),
    isDisabled = v3.optional(v3.boolean),
    errorState = v3.optional(v3.boolean),
    errorText = v3.optional(v3.string),
    renderErrorItem = v3.optional(v3.callback)
});
v5.init = function(v6)
    v6.onSelectionChange = function(v7)
        v6:setState({
            selectedKey = v7
        });
    end;
    v6:setState({
        selectedKey = nil
    });
end;
v5.getDerivedStateFromProps = function(v8, v9)
    local l_itemList_0 = v8.itemList;
    local l_selectedKey_0 = v9.selectedKey;
    for _, v13 in ipairs(l_itemList_0) do
        if l_selectedKey_0 == v13.key then
            return nil;
        end;
    end;
    return {
        selectedKey = #l_itemList_0 > 0 and l_itemList_0[1].key or nil
    };
end;
v5.render = function(v14)
    local l_itemList_1 = v14.props.itemList;
    local l_screenSize_0 = v14.props.screenSize;
    local l_contentMaxWidth_0 = v14.props.contentMaxWidth;
    local l_selectorHeight_0 = v14.props.selectorHeight;
    local l_selectorSpacer_0 = v14.props.selectorSpacer;
    local l_paddingHorizontal_0 = v14.props.paddingHorizontal;
    local l_paddingVertical_0 = v14.props.paddingVertical;
    local l_isDisabled_0 = v14.props.isDisabled;
    local l_errorState_0 = v14.props.errorState;
    local l_errorText_0 = v14.props.errorText;
    local l_renderErrorItem_0 = v14.props.renderErrorItem;
    local l_renderSelectedItem_0 = v14.props.renderSelectedItem;
    local l_selectedKey_1 = v14.state.selectedKey;
    local v28 = nil;
    local v29 = {};
    for _, v31 in ipairs(l_itemList_1) do
        table.insert(v29, {
            text = v31.key
        });
        if l_selectedKey_1 == v31.key then
            v28 = v31.value;
        end;
    end;
    local v32 = l_errorState_0 or #l_itemList_1 == 0;
    local v33 = l_contentMaxWidth_0 + 2 * l_paddingHorizontal_0;
    local v34 = (l_selectorHeight_0 + l_selectorSpacer_0) + l_paddingVertical_0;
    return v1.createFragment({
        SelectorFrame = v1.createElement("Frame", {
            Size = UDim2.fromScale(1, 1),
            Position = UDim2.fromScale(0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0),
            BackgroundTransparency = 1
        }, {
            Selector = v1.createElement(l_DropdownMenu_0, {
                placeholder = not not v32 and l_errorText_0 or l_selectedKey_1,
                onChange = v14.onSelectionChange,
                height = UDim.new(0, l_selectorHeight_0),
                screenSize = l_screenSize_0,
                errorState = l_errorState_0,
                isDisabled = l_isDisabled_0,
                cellDatas = v29
            }),
            SelectorPadding = v1.createElement("UIPadding", {
                PaddingTop = UDim.new(0, l_paddingVertical_0),
                PaddingLeft = UDim.new(0, l_paddingHorizontal_0),
                PaddingRight = UDim.new(0, l_paddingHorizontal_0)
            }),
            SelectorMaxWidth = v1.createElement("UISizeConstraint", {
                MaxSize = Vector2.new(v33, math.huge)
            })
        }),
        SelectionFrame = v1.createElement("Frame", {
            ZIndex = -1,
            Position = UDim2.new(0, 0, 0, v34),
            Size = UDim2.new(1, 0, 1, -v34),
            BackgroundTransparency = 1
        }, not not v32 and {
            Error = l_renderErrorItem_0()
        } or {
            [l_selectedKey_1] = l_renderSelectedItem_0(v28)
        })
    });
end;
return v5;