local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local v4 = require(l_script_FirstAncestor_0.Hooks.useScreenSize);
local v5 = require(l_script_FirstAncestor_0.constants);
return function(v6)
    local v7, v8 = v2.useBinding(Vector2.new(0, 0));
    local v9 = v4();
    local v10 = l_useDesignTokens_0();
    local l_Space_150_0 = v10.Global.Space_150;
    local v12 = false;
    if v9.X < v5.MOBILE_BREAKPOINT then
        v12 = v9.X < v9.Y;
    end;
    return v2.createElement("Frame", {
        Size = v6.size,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        LayoutOrder = v6.LayoutOrder
    }, {
        StartSlot = v2.createElement("Frame", {
            Size = v7:map(function(v13)
                if not v12 then
                    return (UDim2.new(0.5, -l_Space_150_0, 1, 0));
                else
                    return (UDim2.new(1, 0, 1, -(v13.Y + v10.Global.Space_300)));
                end;
            end),
            BackgroundTransparency = 1,
            BorderSizePixel = 0
        }, v6.startSlot),
        EndSlot = v2.createElement("Frame", {
            Size = if not v12 then UDim2.new(0.5, -l_Space_150_0, 0, 0) else UDim2.new(1, 0, 0, 0),
            Position = if not v12 then UDim2.new(0.5, l_Space_150_0, 0, 0) else UDim2.new(0, 0, 1, 0),
            AnchorPoint = if not v12 then Vector2.new(0, 0) else Vector2.new(0, 1),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            AutomaticSize = Enum.AutomaticSize.Y,
            [v2.Change.AbsoluteSize] = function(v14)
                v8(v14.AbsoluteSize);
            end
        }, v6.endSlot)
    });
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_StyledTextLabel_0 = require(l_Parent_0.UIBlox).App.Text.StyledTextLabel;
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local v4 = require(script.Parent.Box);
local function v8(v5)
    local l_Size_600_0 = v5.Global.Size_600;
    local l_Space_100_0 = v5.Global.Space_100;
    return {
        fontStyle = v5.Semantic.Typography.Body,
        colorStyle = v5.Semantic.Color.Text.Default,
        imageRightMargin = v5.Global.Space_150,
        imageBoxSize = l_Size_600_0,
        imageBoxPadding = l_Space_100_0,
        imageBoxTransparency = v5.Semantic.Color.Common.Placeholder.Transparency,
        imageBoxBackgroundColor = v5.Semantic.Color.Common.Placeholder.Color3,
        imageBoxCornerRadius = v5.Semantic.Radius.Medium,
        imageSize = l_Size_600_0 - l_Space_100_0 * 2
    };
end;
return function(v9)
    local v10 = l_useDesignTokens_0(v8);
    return v1.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, v10.imageBoxSize),
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        LayoutOrder = v9.LayoutOrder
    }, {
        ImageBox = v1.createElement(v4, {
            Size = UDim2.fromOffset(v10.imageBoxSize, v10.imageBoxSize),
            BorderSizePixel = 0,
            BackgroundTransparency = v10.imageBoxTransparency,
            BackgroundColor3 = v10.imageBoxBackgroundColor,
            padding = {
                v10.imageBoxPadding,
                v10.imageBoxPadding,
                v10.imageBoxPadding,
                v10.imageBoxPadding
            },
            cornerRadius = UDim.new(0, v10.imageBoxCornerRadius)
        }, {
            Image = v1.createElement("ImageLabel", {
                Image = v9.image,
                BorderSizePixel = 0,
                BackgroundTransparency = 1,
                Size = UDim2.fromOffset(v10.imageSize, v10.imageSize),
                [v1.Tag] = "data-testid=BulkPurchaseApp_ItemImage"
            })
        }),
        LineItem = v1.createElement("Frame", {
            Position = UDim2.fromOffset(v10.imageBoxSize + v10.imageRightMargin, 0),
            Size = UDim2.new(1, -(v10.imageBoxSize + v10.imageRightMargin), 1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0
        }, v1.createElement(l_StyledTextLabel_0, {
            fontStyle = v10.fontStyle,
            colorStyle = v10.colorStyle,
            text = v9.name,
            textTruncate = Enum.TextTruncate.AtEnd,
            textYAlignment = Enum.TextYAlignment.Top,
            size = UDim2.new(0.66, 0, 1, 0),
            lineHeight = v10.fontStyle.lineHeight
        }), v1.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(0.33, 0, 1, 0),
            Position = UDim2.new(1, 0, 0, 0)
        }, v9.endSlot))
    });
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local v3 = require(script.Parent.Item);
return function(v4)
    local v5 = {
        Layout = v1.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Bottom,
            Padding = UDim.new(0, l_useDesignTokens_0().Global.Space_150)
        })
    };
    for v6, v7 in v4.items, nil, nil do
        v5[v7.id] = v1.createElement(v3, {
            name = v7.name,
            image = v7.image,
            endSlot = v7.endSlot,
            LayoutOrder = v6
        });
    end;
    return v1.createElement("Frame", {
        LayoutOrder = v4.LayoutOrder,
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, v5);
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_StyledTextLabel_0 = require(l_Parent_0.UIBlox).App.Text.StyledTextLabel;
local v4 = require(script.Parent.LineItemLayout);
return function(v5)
    local v6 = l_useDesignTokens_0();
    local v7 = {
        LineHeight = v6.Semantic.Typography.Body.LineHeight,
        Font = v6.Semantic.Typography.Subheader.Font,
        FontSize = v6.Semantic.Typography.Body.FontSize,
        LetterSpacing = v6.Semantic.Typography.Body.LetterSpacing
    };
    local l_Emphasis_0 = v6.Semantic.Color.Text.Emphasis;
    return v1.createElement(v4, {
        startSlot = v1.createElement(l_StyledTextLabel_0, {
            fontStyle = v7,
            colorStyle = l_Emphasis_0,
            text = v5.heading
        }),
        endSlot = v1.createElement(l_StyledTextLabel_0, {
            fontStyle = v7,
            colorStyle = l_Emphasis_0,
            text = v5.itemCount
        }),
        LayoutOrder = v5.LayoutOrder
    });
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_StyledTextLabel_0 = require(l_Parent_0.UIBlox).App.Text.StyledTextLabel;
local v5 = {
    itemStatusNotForSale = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusNotForSale",
    itemStatusPriceMismatch = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusPriceMismatch",
    itemStatusSoldOut = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusSoldOut",
    itemStatusInsufficientRobux = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusInsufficientRobux",
    itemStatusQuotaExceeded = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusQuotaExceeded",
    itemStatusNotAvailableForPurchaser = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusNotAvailableForPurchaser",
    itemStatusAlreadyOwned = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusAlreadyOwned",
    itemStatusPurchaserIsSeller = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusPurchaserIsSeller",
    itemStatusQuantityLimitExceeded = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusQuantityLimitExceeded",
    itemStatusInsufficientMembership = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusInsufficientMembership",
    itemStatusSuccess = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusSuccess",
    itemStatusGeneric = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusGeneric",
    itemStatusPlaceInvalid = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemStatusPlaceInvalid"
};
local v6 = {
    [Enum.MarketplaceItemPurchaseStatus.NotForSale] = "itemStatusNotForSale",
    [Enum.MarketplaceItemPurchaseStatus.PriceMismatch] = "itemStatusPriceMismatch",
    [Enum.MarketplaceItemPurchaseStatus.SoldOut] = "itemStatusSoldOut",
    [Enum.MarketplaceItemPurchaseStatus.InsufficientRobux] = "itemStatusInsufficientRobux",
    [Enum.MarketplaceItemPurchaseStatus.QuotaExceeded] = "itemStatusQuotaExceeded",
    [Enum.MarketplaceItemPurchaseStatus.NotAvailableForPurchaser] = "itemStatusNotAvailableForPurchaser",
    [Enum.MarketplaceItemPurchaseStatus.AlreadyOwned] = "itemStatusAlreadyOwned",
    [Enum.MarketplaceItemPurchaseStatus.PurchaserIsSeller] = "itemStatusPurchaserIsSeller",
    [Enum.MarketplaceItemPurchaseStatus.QuantityLimitExceeded] = "itemStatusQuantityLimitExceeded",
    [Enum.MarketplaceItemPurchaseStatus.InsufficientMembership] = "itemStatusInsufficientMembership",
    [Enum.MarketplaceItemPurchaseStatus.Success] = "itemStatusSuccess",
    [Enum.MarketplaceItemPurchaseStatus.SystemError] = "itemStatusGeneric",
    [Enum.MarketplaceItemPurchaseStatus.PlaceInvalid] = "itemStatusPlaceInvalid"
};
local function v8(v7)
    return {
        successColor = v7.Semantic.Color.Common.Success,
        failureColor = v7.Semantic.Color.Common.Alert,
        fontStyle = v7.Semantic.Typography.CaptionBody
    };
end;
return function(v9)
    local v10 = l_useDesignTokens_0(v8);
    return v1.createElement(l_StyledTextLabel_0, {
        fontStyle = v10.fontStyle,
        colorStyle = if v9.status == Enum.MarketplaceItemPurchaseStatus.Success then v10.successColor else v10.failureColor,
        text = l_useLocalization_0(v5)[v6[v9.status]],
        textWrapped = true,
        size = UDim2.fromScale(1, 1),
        textXAlignment = Enum.TextXAlignment.Right,
        textYAlignment = Enum.TextYAlignment.Top,
        lineHeight = v10.fontStyle.LineHeight
    });
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return function(v3)
    local v4 = l_useDesignTokens_0();
    local v5, v6 = v1.useBinding(Vector2.new(0, 0));
    return v1.createElement("Frame", {
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        LayoutOrder = v3.LayoutOrder
    }, {
        Start = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = v5:map(function(v7)
                return UDim2.new(1, -(v7.X + v4.Global.Space_200), 1, 0);
            end)
        }, v3.startSlot),
        End = v1.createElement("Frame", {
            AnchorPoint = Vector2.new(1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Size = UDim2.new(0, 0, 1, 0),
            Position = UDim2.new(1, 0, 0, 0),
            AutomaticSize = Enum.AutomaticSize.X,
            [v1.Change.AbsoluteSize] = function(v8)
                v6(v8.AbsoluteSize);
            end
        }, v3.endSlot)
    });
end;


local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v2 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_NumberLocalization_0 = require(l_Parent_0.Localization).NumberLocalization;
local v5 = require(l_Parent_0.UIBlox);
local l_StyledTextLabel_0 = v5.App.Text.StyledTextLabel;
local l_ImageSetLabel_0 = v5.Core.ImageSet.ImageSetLabel;
local l_Images_0 = v5.App.ImageSet.Images;
local function v10(v9)
    return v2.createElement(l_ImageSetLabel_0, {
        Size = v9.Size,
        Image = l_Images_0["icons/common/robux_small"],
        ImageColor3 = v9.color,
        ImageTransparency = 0,
        BackgroundTransparency = 1,
        LayoutOrder = v9.LayoutOrder
    });
end;
return function(v11)
    return v2.createElement("Frame", {
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0
    }, v2.createElement("UIListLayout", {
        SortOrder = Enum.SortOrder.LayoutOrder,
        HorizontalAlignment = Enum.HorizontalAlignment.Right,
        VerticalAlignment = Enum.VerticalAlignment.Center,
        FillDirection = Enum.FillDirection.Horizontal,
        Padding = UDim.new(0, l_useDesignTokens_0().Global.Space_50)
    }), v2.createElement(v10, {
        Size = UDim2.fromOffset(v11.fontStyle.FontSize, v11.fontStyle.FontSize),
        color = v11.colorStyle.Color3,
        LayoutOrder = 1
    }), v2.createElement(l_StyledTextLabel_0, {
        fontStyle = v11.fontStyle,
        colorStyle = v11.colorStyle,
        text = l_NumberLocalization_0.localize(v11.amount, l_LocalizationService_0.RobloxLocaleId),
        textXAlignment = Enum.TextXAlignment.Right,
        layoutOrder = 2
    }));
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local v5 = require(l_Parent_0.UIBlox);
local l_Button_0 = v5.App.Button.Button;
local l_ButtonType_0 = v5.App.Button.Enum.ButtonType;
local v8 = require(script.Parent.Box);
local v9 = require(script.Parent.PriceBoxLine);
local v10 = require(l_script_FirstAncestor_0.Enums.PriceBoxLineVariantEnum);
local v11 = {
    heading = "CoreScripts.BulkPurchasePrompt.RequestPrompt.PriceBox.TotalCost",
    currentBalanceLine = "CoreScripts.BulkPurchasePrompt.RequestPrompt.PriceBox.CurrentBalance",
    projectedBalanceLine = "CoreScripts.BulkPurchasePrompt.RequestPrompt.PriceBox.NewBalance",
    missingRobuxLine = "CoreScripts.BulkPurchasePrompt.RequestPrompt.PriceBox.MissingRobux",
    confirmCTA = "CoreScripts.BulkPurchasePrompt.RequestPrompt.PriceBox.ConfirmCTA",
    buyRobuxCTA = "CoreScripts.BulkPurchasePrompt.RequestPrompt.PriceBox.BuyRobuxCTA"
};
local function v13(v12)
    return {
        background = v12.Semantic.Color.Background.Contrast.Color3,
        padding = v12.Global.Space_300,
        cornerRadius = v12.Semantic.Radius.Medium,
        buttonMarginTop = v12.Global.Space_300,
        headerMarginBottom = v12.Global.Space_200,
        lineItemSpacing = v12.Global.Space_50,
        buttonHeight = v12.Global.Size_450
    };
end;
return function(v14)
    local v15 = l_useDesignTokens_0(v13);
    local v16 = l_useLocalization_0(v11);
    return v2.createElement(v8, {
        padding = v15.padding,
        cornerRadius = UDim.new(0, v15.cornerRadius),
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundColor3 = v15.background,
        BorderSizePixel = 0
    }, {
        Layout = v2.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Bottom,
            Padding = UDim.new(0, v15.buttonMarginTop)
        }),
        LineItems = v2.createElement("Frame", {
            BorderSizePixel = 0,
            Size = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundTransparency = 1
        }, {
            Layout = v2.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Bottom,
                Padding = UDim.new(0, v15.headerMarginBottom)
            }),
            PriceBoxHeader = v2.createElement(v9, {
                text = v16.heading,
                amount = v14.totalCost,
                highlight = true,
                LayoutOrder = 1
            }),
            Something = v2.createElement("Frame", {
                BorderSizePixel = 0,
                Size = UDim2.fromScale(1, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                LayoutOrder = 2
            }, {
                Layout = v2.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Bottom,
                    Padding = UDim.new(0, v15.lineItemSpacing)
                }),
                PriceBoxCurrentBalance = v2.createElement(v9, {
                    text = v16.currentBalanceLine,
                    amount = v14.currentBalance,
                    LayoutOrder = 1
                }),
                PriceBoxProjectedBalance = v2.createElement(v9, {
                    text = if not v14.missingRobux then v16.projectedBalanceLine else v16.missingRobuxLine,
                    amount = math.abs(v14.totalCost - v14.currentBalance),
                    variant = if not v14.missingRobux then nil else v10.Danger,
                    LayoutOrder = 2
                })
            })
        }),
        PriceBoxConfirmButton = v2.createElement(l_Button_0, {
            text = if not v14.missingRobux then v16.confirmCTA else v16.buyRobuxCTA,
            onActivated = v14.onAccept,
            buttonType = l_ButtonType_0.PrimarySystem,
            size = UDim2.new(1, 0, 0, v15.buttonHeight),
            buttonRef = v14.buttonRef
        })
    });
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_StyledTextLabel_0 = require(l_Parent_0.UIBlox).App.Text.StyledTextLabel;
local v5 = require(script.Parent.LineItemLayout);
local v6 = require(script.Parent.Price);
local v7 = require(l_script_FirstAncestor_0.Enums.PriceBoxLineVariantEnum);
return function(v8)
    local v9 = l_useDesignTokens_0();
    local v10 = if v8.variant == v7.Danger then {
        LineHeight = v9.Semantic.Typography.Body.LineHeight,
        Font = v9.Semantic.Typography.Subheader.Font,
        FontSize = v9.Semantic.Typography.Body.FontSize,
        LetterSpacing = v9.Semantic.Typography.Body.LetterSpacing
    } else v9.Semantic.Typography.Body;
    local l_Default_0 = v9.Semantic.Color.Text.Default;
    if v8.variant == v7.Highlight then
        l_Default_0 = v9.Semantic.Color.Text.Emphasis;
    elseif v8.variant == v7.Danger then
        l_Default_0 = v9.Semantic.Color.Common.Alert;
    end;
    return v2.createElement(v5, {
        LayoutOrder = v8.LayoutOrder,
        startSlot = v2.createElement(l_StyledTextLabel_0, {
            fontStyle = v10,
            colorStyle = l_Default_0,
            text = v8.text
        }),
        endSlot = v2.createElement(v6, {
            colorStyle = l_Default_0,
            fontStyle = v10,
            amount = v8.amount
        })
    });
end;


local l_Parent_0 = script:FindFirstAncestor("BulkPurchaseApp").Parent;
local v1 = require(l_Parent_0.React);
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
return (v1.forwardRef(function(v3, v4)
    local v5 = l_useDesignTokens_0();
    return v1.createElement("Frame", {
        ref = v4,
        Size = UDim2.new(1, 0, 1, 0),
        BackgroundTransparency = v5.Semantic.Color.Common.Overlay.Transparency,
        BackgroundColor3 = v5.Semantic.Color.Common.Overlay.Color3,
        ClipsDescendants = false,
        Active = true
    }, v3.children);
end));


return {
    None = "None",
    Error = "Error",
    Success = "Success",
    Request = "Request",
    Started = "Started",
    PartialSuccess = "PartialSuccess"
};


return {
    NotForSale = "NotForSale",
    PriceMismatch = "PriceMismatch",
    SoldOut = "SoldOut",
    InsufficientRobux = "InsufficientRobux",
    QuotaExceeded = "QuotaExceeded",
    NotAvailableForPurchaser = "NotAvailableForPurchaser",
    AlreadyOwned = "AlreadyOwned",
    PurchaserIsSeller = "PurchaserIsSeller",
    QuantityLimitExceeded = "QuantityLimitExceeded",
    InsufficientMembership = "InsufficientMembership",
    Generic = "Generic",
    TwoStepVerificationRequired = "TwoStepVerificationRequired",
    PlaceInvalid = "PlaceInvalid"
};


local v0 = require(script.Parent.ErrorCodeEnum);
return {
    [Enum.MarketplaceItemPurchaseStatus.NotForSale] = v0.NotForSale,
    [Enum.MarketplaceItemPurchaseStatus.PriceMismatch] = v0.PriceMismatch,
    [Enum.MarketplaceItemPurchaseStatus.SoldOut] = v0.SoldOut,
    [Enum.MarketplaceItemPurchaseStatus.InsufficientRobux] = v0.InsufficientRobux,
    [Enum.MarketplaceItemPurchaseStatus.QuotaExceeded] = v0.QuotaExceeded,
    [Enum.MarketplaceItemPurchaseStatus.NotAvailableForPurchaser] = v0.NotAvailableForPurchaser,
    [Enum.MarketplaceItemPurchaseStatus.AlreadyOwned] = v0.AlreadyOwned,
    [Enum.MarketplaceItemPurchaseStatus.PurchaserIsSeller] = v0.PurchaserIsSeller,
    [Enum.MarketplaceItemPurchaseStatus.QuantityLimitExceeded] = v0.QuantityLimitExceeded,
    [Enum.MarketplaceItemPurchaseStatus.InsufficientMembership] = v0.InsufficientMembership,
    [Enum.MarketplaceItemPurchaseStatus.Success] = v0.Generic,
    [Enum.MarketplaceItemPurchaseStatus.SystemError] = v0.Generic,
    [Enum.MarketplaceItemPurchaseStatus.PlaceInvalid] = v0.PlaceInvalid
};


return {
    Desktop = "Desktop",
    Mobile = "Mobile",
    Console = "Console",
    VR = "VR",
    Unknown = "Unknown"
};


return {
    Unknown = "Unknown",
    Purchasable = "Purchasable",
    AlreadyOwned = "AlreadyOwned",
    QuantityLimitExceeded = "QuantityLimitExceeded",
    NotForSale = "NotForSale",
    SoldOut = "SoldOut"
};


local v0 = require(script.Parent.PurchasableStateEnum);
return {
    [v0.Unknown] = Enum.MarketplaceItemPurchaseStatus.SystemError,
    [v0.AlreadyOwned] = Enum.MarketplaceItemPurchaseStatus.AlreadyOwned,
    [v0.QuantityLimitExceeded] = Enum.MarketplaceItemPurchaseStatus.QuantityLimitExceeded,
    [v0.NotForSale] = Enum.MarketplaceItemPurchaseStatus.NotForSale,
    [v0.SoldOut] = Enum.MarketplaceItemPurchaseStatus.NotForSale
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_StyledTextLabel_0 = require(l_Parent_0.UIBlox).App.Text.StyledTextLabel;
local v6 = require(l_script_FirstAncestor_0.Components.AlertPrompt);
local v7 = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
local function v10(v8)
    local v9 = l_useDesignTokens_0();
    return v2.createElement(l_StyledTextLabel_0, {
        size = UDim2.fromScale(1, 0),
        automaticSize = Enum.AutomaticSize.Y,
        fontStyle = v9.Semantic.Typography.Body,
        colorStyle = v9.Semantic.Color.Text.Default,
        textXAlignment = Enum.TextXAlignment.Center,
        text = v8.text,
        layoutOrder = v8.layoutOrder
    });
end;
local v11 = {
    [v7.InsufficientRobux] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonInsufficientRobux",
    [v7.QuotaExceeded] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonQuotaExceeded",
    [v7.NotForSale] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonNotForSale",
    [v7.AlreadyOwned] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonAlreadyOwned",
    [v7.PurchaserIsSeller] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonPurchaserIsSeller",
    [v7.NotAvailableForPurchaser] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonNotAvailableForPurchaser",
    [v7.PriceMismatch] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonPriceMismatch",
    [v7.QuantityLimitExceeded] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonQuantityLimitExceeded",
    [v7.InsufficientMembership] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonInsufficientMembership",
    [v7.Generic] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonGeneric",
    [v7.SoldOut] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonSoldOut",
    [v7.TwoStepVerificationRequired] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReason2SV",
    [v7.PlaceInvalid] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.ErrorReasonNotAvailableInExperience"
};
local v12 = {
    [v7.InsufficientRobux] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainMoreRobux",
    [v7.QuotaExceeded] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainWait",
    [v7.NotForSale] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.AlreadyOwned] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.PurchaserIsSeller] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.NotAvailableForPurchaser] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.PriceMismatch] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainNow",
    [v7.QuantityLimitExceeded] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.InsufficientMembership] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.Generic] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainLater",
    [v7.SoldOut] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainNow",
    [v7.TwoStepVerificationRequired] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems",
    [v7.PlaceInvalid] = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorPrompt.TryAgainOtherItems"
};
return function(v13)
    local v14 = l_useDesignTokens_0();
    local v15 = l_useLocalization_0({
        title = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorHeading",
        errorReason = v11[v13.errorCode],
        tryAgain = v12[v13.errorCode],
        dismissCTA = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.DismissCTA"
    });
    return v2.createElement(v6, {
        title = v15.title,
        dismissCTA = v15.dismissCTA,
        onDismiss = v13.onDismiss,
        middleContent = function()
            return v2.createElement("Frame", {
                Size = UDim2.fromScale(1, 0),
                AutomaticSize = Enum.AutomaticSize.Y,
                BackgroundTransparency = 1,
                BorderSizePixel = 0
            }, {
                Layout = v2.createElement("UIListLayout", {
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    VerticalAlignment = Enum.VerticalAlignment.Top,
                    Padding = UDim.new(0, v14.Global.Space_200)
                }),
                ErrorReason = v2.createElement(v10, {
                    text = v15.errorReason,
                    layoutOrder = 1
                }),
                TryAgain = if not v15.tryAgain then nil else v2.createElement(v10, {
                    text = v15.tryAgain,
                    layoutOrder = 2
                })
            });
        end
    });
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.React);
local v1 = require(script.Parent.BulkPurchaseError);
local v2 = require(script.Parent.useBulkPurchaseErrorProps);
return function()
    return v0.createElement(v1, (v2()));
end;


local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.React);
local l_useDispatch_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useDispatch;
local l_useSelector_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useSelector;
local v6 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseEnded);
local v7 = require(l_script_FirstAncestor_0.Store.Selectors.selectPurchaseResults);
local v8 = require(l_script_FirstAncestor_0.Store.Selectors.selectErrorCode);
local _ = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
local _ = require(script.Parent.BulkPurchaseError);
return function()
    local v11 = l_useSelector_0(v7);
    local v12 = l_useSelector_0(v8);
    local v13 = l_useDispatch_0();
    return {
        onDismiss = v3.useCallback(function()
            l_MarketplaceService_0:signalPromptBulkPurchaseFinished(3, v11);
            v13(v6());
        end, {
            v11,
            v13
        }),
        errorCode = v12
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local v5 = require(l_Parent_0.UIBlox);
local l_StyledTextLabel_0 = v5.App.Text.StyledTextLabel;
local l_Button_0 = v5.App.Button.Button;
local l_ButtonType_0 = v5.App.Button.Enum.ButtonType;
local v9 = require(l_script_FirstAncestor_0.Components.FullPagePrompt);
local v10 = require(l_script_FirstAncestor_0.Components.ItemList);
local v11 = require(l_script_FirstAncestor_0.Components.FullPagePromptTwoPanelLayout);
local v12 = require(l_script_FirstAncestor_0.Components.Divider);
local v13 = require(l_script_FirstAncestor_0.Components.ItemListHeader);
local v14 = require(l_script_FirstAncestor_0.Components.FullPagePromptScrollList);
local v15 = require(l_script_FirstAncestor_0.Components.Box);
local v16 = require(l_script_FirstAncestor_0.Components.PriceBoxLine);
local v17 = require(l_script_FirstAncestor_0.Components.ItemStatus);
local v18 = {
    heading = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.Heading",
    unsuccessfulHeading = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.ErrorHeading",
    notice = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.Notice",
    itemListSuccessfulCount = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemListSuccessfulCount",
    itemListUnsuccessfulCount = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemListUnsuccessfulCount",
    itemListSuccessfulHeading = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemListSuccessfulHeading",
    itemListUnsuccessfulHeading = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.ItemListUnsuccessfulHeading",
    robuxSpent = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.PriceBox.RobuxSpent",
    currentBalance = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.PriceBox.CurrentBalance",
    dismissCTA = "CoreScripts.BulkPurchasePrompt.PartialPurchaseCompletedPrompt.PriceBox.DismissCTA"
};
local function v20(v19)
    return {
        boxBackground = v19.Semantic.Color.Background.Contrast.Color3,
        boxPadding = v19.Global.Space_300,
        boxCornerRadius = v19.Semantic.Radius.Medium,
        buttonMarginTop = v19.Global.Space_200,
        buttonHeight = v19.Global.Size_450,
        lineItemSpacing = v19.Global.Space_50,
        noticeFontStyle = v19.Semantic.Typography.Body,
        noticeColorStyle = v19.Semantic.Color.Text.Muted,
        noticeMarginBottom = v19.Global.Space_300
    };
end;
local function v25(v21)
    local v22 = {};
    for _, v24 in v21, nil, nil do
        table.insert(v22, {
            id = v24.id,
            image = v24.image,
            name = v24.name,
            endSlot = v2.createElement(v17, {
                status = v24.status
            })
        });
    end;
    return v22;
end;
return function(v26)
    local v27 = l_useDesignTokens_0(v20);
    local v28 = l_useLocalization_0(v18);
    local v29, v30 = v2.useBinding(Vector2.new(0, 0));
    local v31 = #v26.successfulItems > 0;
    return v2.createElement(v9, {
        onClose = v26.onDismiss,
        title = if not v31 then v28.unsuccessfulHeading else v28.heading
    }, v2.createElement("UIListLayout", {
        SortOrder = Enum.SortOrder.LayoutOrder,
        HorizontalAlignment = Enum.HorizontalAlignment.Left,
        VerticalAlignment = Enum.VerticalAlignment.Top,
        Padding = UDim.new(0, v27.noticeMarginBottom)
    }), v2.createElement("Frame", {
        Size = UDim2.fromScale(1, 0),
        AutomaticSize = Enum.AutomaticSize.Y,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        [v2.Change.AbsoluteSize] = function(v32)
            v30(v32.AbsoluteSize);
        end
    }, v2.createElement(l_StyledTextLabel_0, {
        fontStyle = v27.noticeFontStyle,
        colorStyle = v27.noticeColorStyle,
        text = v28.notice,
        layoutOrder = 1,
        automaticSize = Enum.AutomaticSize.XY
    })), v2.createElement(v11, {
        LayoutOrder = 2,
        size = v29:map(function(v33)
            return UDim2.new(1, 0, 1, -(v33.Y + v27.noticeMarginBottom));
        end),
        startSlot = v2.createElement(v14, {
            LayoutOrder = 1,
            size = v2.createBinding(UDim2.fromScale(1, 1))
        }, v2.createElement(v13, {
            heading = v28.itemListUnsuccessfulHeading,
            itemCount = v28.itemListUnsuccessfulCount:gsub("{.*}", (tostring(#v26.unsuccessfulItems))),
            LayoutOrder = 1
        }), v2.createElement(v10, {
            items = v25(v26.unsuccessfulItems),
            LayoutOrder = 2
        }), if not v31 then nil else v2.createElement(v12, {
            LayoutOrder = 3
        }), if not v31 then nil else v2.createElement(v13, {
            heading = v28.itemListSuccessfulHeading,
            itemCount = v28.itemListSuccessfulCount:gsub("{.*}", (tostring(#v26.successfulItems))),
            LayoutOrder = 4
        }), if not v31 then nil else v2.createElement(v10, {
            items = v25(v26.successfulItems),
            LayoutOrder = 5
        })),
        endSlot = v2.createElement("Frame", {
            Size = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundTransparency = 1
        }, v2.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            Padding = UDim.new(0, v27.buttonMarginTop)
        }), v2.createElement(v15, {
            padding = v27.boxPadding,
            cornerRadius = UDim.new(0, v27.boxCornerRadius),
            Size = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundColor3 = v27.boxBackground,
            BorderSizePixel = 0
        }, {
            Layout = v2.createElement("UIListLayout", {
                SortOrder = Enum.SortOrder.LayoutOrder,
                HorizontalAlignment = Enum.HorizontalAlignment.Center,
                VerticalAlignment = Enum.VerticalAlignment.Top,
                Padding = UDim.new(0, v27.lineItemSpacing)
            }),
            RobuxSpent = v2.createElement(v16, {
                text = v28.robuxSpent,
                amount = v26.robuxSpent,
                highlight = true,
                LayoutOrder = 1
            }),
            CurrentBalance = v2.createElement(v16, {
                text = v28.currentBalance,
                amount = v26.currentBalance,
                LayoutOrder = 2
            })
        }), v2.createElement(l_Button_0, {
            text = v28.dismissCTA,
            onActivated = v26.onDismiss,
            buttonType = l_ButtonType_0.PrimarySystem,
            size = UDim2.new(1, 0, 0, v27.buttonHeight)
        }))
    }));
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.React);
local v1 = require(script.Parent.BulkPurchasePartialSuccess);
local v2 = require(script.Parent.useBulkPurchasePartialSuccessProps);
return function()
    return v0.createElement(v1, (v2()));
end;


local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.React);
local l_useDispatch_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useDispatch;
local l_useSelector_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useSelector;
local v6 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseEnded);
local v7 = require(l_script_FirstAncestor_0.Store.Selectors.selectPurchaseResults);
local v8 = require(l_script_FirstAncestor_0.Utils.getThumbnailUrl);
local _ = require(l_script_FirstAncestor_0.Store.Types);
local _ = require(script.Parent.BulkPurchasePartialSuccess);
local function _(v11, v12)
    return {
        id = v11.id,
        image = v8(v11.id, v11.type),
        name = v11.name,
        status = v12
    };
end;
local function v22(v14)
    local v15 = {};
    local v16 = {};
    local v17 = 0;
    if not (not v14.itemData or not v14.itemStatuses) then
        for _, v19 in v14.itemData, nil, nil do
            local v20 = v14.itemStatuses[v19.id];
            local v21 = {
                id = v19.id,
                image = v8(v19.id, v19.type),
                name = v19.name,
                status = v20
            };
            if v20 == Enum.MarketplaceItemPurchaseStatus.Success then
                v17 = v17 + v19.priceRobux;
                table.insert(v15, v21);
            elseif v20 then
                table.insert(v16, v21);
            end;
        end;
    end;
    return {
        robuxSpent = v17,
        currentBalance = v14.balance or 0,
        unsuccessfulItems = v16,
        successfulItems = v15
    };
end;
return function()
    local v23 = l_useSelector_0(v7);
    local v24 = l_useSelector_0(v22);
    local v25 = l_useDispatch_0();
    return {
        onDismiss = v3.useCallback(function()
            l_MarketplaceService_0:signalPromptBulkPurchaseFinished(1, v23);
            v25(v6());
        end, {
            v23,
            v25
        }),
        successfulItems = v24.successfulItems,
        unsuccessfulItems = v24.unsuccessfulItems,
        robuxSpent = v24.robuxSpent,
        currentBalance = v24.currentBalance
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local l_useDesignTokens_0 = require(l_Parent_0.Style).useDesignTokens;
local l_StyledTextLabel_0 = require(l_Parent_0.UIBlox).App.Text.StyledTextLabel;
local v6 = require(l_Parent_0.ReactFocusNavigation);
local v7 = require(l_script_FirstAncestor_0.Components.FullPagePrompt);
local v8 = require(l_script_FirstAncestor_0.Components.ItemList);
local v9 = require(l_script_FirstAncestor_0.Components.PriceBox);
local v10 = require(l_script_FirstAncestor_0.Components.Price);
local v11 = require(l_script_FirstAncestor_0.Components.LineItemLayout);
local v12 = require(l_script_FirstAncestor_0.Components.FullPagePromptTwoPanelLayout);
local v13 = require(l_script_FirstAncestor_0.Components.Divider);
local v14 = require(l_script_FirstAncestor_0.Components.FullPagePromptScrollList);
local v15 = require(l_script_FirstAncestor_0.Components.ItemStatus);
local v16 = {
    heading = "CoreScripts.BulkPurchasePrompt.RequestPrompt.Heading",
    listHeading = "CoreScripts.BulkPurchasePrompt.RequestPrompt.ItemListPurchaseHeading",
    itemCount = "CoreScripts.BulkPurchasePrompt.RequestPrompt.ItemListPurchaseCount",
    itemOwned = "CoreScripts.BulkPurchasePrompt.RequestPrompt.ItemOwned"
};
local function v23(v17, v18, v19)
    local v20 = {};
    for _, v22 in v17, nil, nil do
        table.insert(v20, {
            id = v22.id,
            name = v22.name,
            image = v22.image,
            endSlot = v2.createElement(v10, {
                amount = v22.cost,
                fontStyle = v18,
                colorStyle = v19
            })
        });
    end;
    return v20;
end;
local function v31(v24, v25, v26, v27)
    local v28 = {};
    for _, v30 in v24, nil, nil do
        table.insert(v28, {
            id = v30.id,
            name = v30.name,
            image = v30.image,
            endSlot = v2.createElement(l_StyledTextLabel_0, {
                fontStyle = v25,
                colorStyle = v26,
                textXAlignment = Enum.TextXAlignment.Right,
                textYAlignment = Enum.TextYAlignment.Top,
                lineHeight = v25.LineHeight,
                size = UDim2.fromScale(1, 1),
                text = v27.itemOwned:gsub("{.*}", (tostring(v30.ownedCount)))
            })
        });
    end;
    return v28;
end;
local function v36(v32)
    local v33 = {};
    for _, v35 in v32, nil, nil do
        table.insert(v33, {
            id = v35.id,
            name = v35.name,
            image = v35.image,
            endSlot = v2.createElement(v15, {
                status = v35.status
            })
        });
    end;
    return v33;
end;
return function(v37)
    local v38 = l_useLocalization_0(v16);
    local v39, v40 = v6.useDefaultFocusBehavior();
    local v41 = l_useDesignTokens_0();
    local l_Body_0 = v41.Semantic.Typography.Body;
    local v43 = {
        LineHeight = v41.Semantic.Typography.Body.LineHeight,
        Font = v41.Semantic.Typography.Subheader.Font,
        FontSize = v41.Semantic.Typography.Body.FontSize,
        LetterSpacing = v41.Semantic.Typography.Body.LetterSpacing
    };
    local l_Emphasis_0 = v41.Semantic.Color.Text.Emphasis;
    local v45, v46 = v2.useBinding(Vector2.new(0, 0));
    local v47 = v23(v37.items, v43, l_Emphasis_0);
    local v48 = v31(v37.ownedItems, l_Body_0, l_Emphasis_0, v38);
    local v49 = v36(v37.unpurchasableItems);
    local v50 = {};
    table.move(v48, 1, #v48, #v50 + 1, v50);
    table.move(v49, 1, #v49, #v50 + 1, v50);
    local v51 = #v50 > 0;
    return v2.createElement(v7, {
        onClose = v37.onClose,
        title = v38.heading,
        ref = v40
    }, v2.createElement(v12, {
        size = v2.createBinding(UDim2.fromScale(1, 1)),
        startSlot = v2.createElement("Frame", {
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            Size = UDim2.fromScale(1, 1)
        }, v2.createElement("UIListLayout", {
            SortOrder = Enum.SortOrder.LayoutOrder,
            HorizontalAlignment = Enum.HorizontalAlignment.Center,
            VerticalAlignment = Enum.VerticalAlignment.Top,
            Padding = UDim.new(0, v41.Global.Space_300)
        }), v2.createElement("Frame", {
            BorderSizePixel = 0,
            BackgroundTransparency = 1,
            Size = UDim2.fromScale(1, 0),
            AutomaticSize = Enum.AutomaticSize.Y,
            LayoutOrder = 1,
            [v2.Change.AbsoluteSize] = function(v52)
                v46(v52.AbsoluteSize);
            end
        }, v2.createElement("UIPadding", {
            PaddingRight = UDim.new(0, v41.Global.Space_125)
        }), v2.createElement(v11, {
            startSlot = v2.createElement(l_StyledTextLabel_0, {
                fontStyle = v43,
                colorStyle = l_Emphasis_0,
                text = v38.listHeading
            }),
            endSlot = v2.createElement(l_StyledTextLabel_0, {
                fontStyle = v43,
                colorStyle = l_Emphasis_0,
                text = v38.itemCount:gsub("{.*}", (tostring(#v37.items)))
            }),
            LayoutOrder = 1
        })), v2.createElement(v14, {
            LayoutOrder = 2,
            size = v45:map(function(v53)
                return UDim2.new(1, 0, 1, -(v53.Y + v41.Global.Space_300));
            end)
        }, v2.createElement(v8, {
            items = v47
        }), if not v51 then nil else v2.createElement(v13), if not v51 then nil else v2.createElement(v8, {
            items = v50
        }))),
        endSlot = v2.createElement(v9, {
            currentBalance = v37.currentBalance,
            totalCost = v37.totalCost,
            missingRobux = v37.currentBalance - v37.totalCost < 0,
            onAccept = v37.onAccept,
            buttonRef = v39
        })
    }));
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.React);
local v1 = require(script.Parent.BulkPurchaseRequest);
local v2 = require(script.Parent.useBulkPurchaseRequestProps);
return function()
    return v0.createElement(v1, (v2()));
end;


local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_BrowserService_0 = game:GetService("BrowserService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_useDispatch_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useDispatch;
local l_useSelector_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useSelector;
local v6 = require(l_script_FirstAncestor_0.Store.Selectors.selectPurchaseResults);
local v7 = require(l_script_FirstAncestor_0.Store.Selectors.selectOrderRequest);
local v8 = require(l_script_FirstAncestor_0.Store.Selectors.selectItemData);
local v9 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseEnded);
local v10 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseFailed);
local v11 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseSucceeded);
local v12 = require(l_script_FirstAncestor_0.Enums.BulkPurchasePromptStateEnum);
local v13 = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
local v14 = require(l_script_FirstAncestor_0.Enums.PurchasableStateEnum);
local v15 = require(l_script_FirstAncestor_0.Enums.ItemStatusToErrorCodeMap);
local v16 = require(l_script_FirstAncestor_0.Enums.PurchasableStateToItemPurchaseStatusMap);
local v17 = require(l_script_FirstAncestor_0.Utils.getThumbnailUrl);
local _ = require(l_script_FirstAncestor_0.Store.Types);
local v19 = require(l_script_FirstAncestor_0.Enums.PaymentPlatformEnum);
local v20 = require(l_script_FirstAncestor_0.Utils.getPaymentPlatform);
local v21 = require(l_script_FirstAncestor_0.Utils.getRobuxStoreUrl);
local _ = require(script.Parent.BulkPurchaseRequest);
local v23 = {
    INSUFFICIENT_ROBUX = Enum.MarketplaceItemPurchaseStatus.InsufficientRobux,
    QUOTA_EXCEEDED = Enum.MarketplaceItemPurchaseStatus.QuotaExceeded,
    NOT_FOR_SALE = Enum.MarketplaceItemPurchaseStatus.NotForSale,
    NOT_AVAILABLE_FOR_PURCHASER = Enum.MarketplaceItemPurchaseStatus.NotAvailableForPurchaser,
    PRICE_MISMATCH = Enum.MarketplaceItemPurchaseStatus.PriceMismatch,
    SOLD_OUT = Enum.MarketplaceItemPurchaseStatus.SoldOut,
    PURCHASER_IS_SELLER = Enum.MarketplaceItemPurchaseStatus.PurchaserIsSeller,
    QUANTITY_LIMIT_EXCEEDED = Enum.MarketplaceItemPurchaseStatus.QuantityLimitExceeded,
    ALREADY_OWNED = Enum.MarketplaceItemPurchaseStatus.AlreadyOwned,
    INSUFFICIENT_MEMBERSHIP = Enum.MarketplaceItemPurchaseStatus.InsufficientMembership,
    PURCHASE_PLACE_INVALID = Enum.MarketplaceItemPurchaseStatus.PlaceInvalid
};
local function _(v24)
    local v25 = v23[v24.errorReason];
    if v24.status == "SUCCEEDED" then
        return Enum.MarketplaceItemPurchaseStatus.Success;
    elseif not v25 then
        return Enum.MarketplaceItemPurchaseStatus.SystemError;
    else
        return v25;
    end;
end;
local function _(v27)
    if not v27.fulfillmentGroups[1] then
        return {};
    else
        return v27.fulfillmentGroups[1].lineItems;
    end;
end;
local function v33(v29)
    local v30 = {};
    for _, v32 in v29, nil, nil do
        if v32.purchasableState == v14.Purchasable then
            table.insert(v30, v32);
        end;
    end;
    return v30;
end;
local function v42(v34, v35)
    local v36 = v33(v35);
    local v37 = if not v34.fulfillmentGroups[1] then {} else v34.fulfillmentGroups[1].lineItems;
    local v38 = {};
    for v39, v40 in v36, nil, nil do
        local v41 = v37[v39];
        if v41 then
            v38[v40.id] = if v41.status == "SUCCEEDED" then Enum.MarketplaceItemPurchaseStatus.Success else v23[v41.errorReason] or Enum.MarketplaceItemPurchaseStatus.SystemError;
        end;
    end;
    return v38;
end;
local _ = function(v43)
    local v44 = nil;
    for _, v46 in v43, nil, nil do
        if v44 ~= nil and v46 ~= v44 then
            return nil;
        elseif v44 == nil then
            v44 = v46;
        end;
    end;
    return v44;
end;
local function _(v48)
    return {
        id = v48.id,
        name = v48.name,
        image = v17(v48.id, v48.type),
        ownedCount = v48.ownedCount
    };
end;
local function _(v50)
    return {
        id = v50.id,
        cost = v50.priceRobux,
        name = v50.name,
        image = v17(v50.id, v50.type)
    };
end;
local function _(v52)
    return {
        id = v52.id,
        name = v52.name,
        image = v17(v52.id, v52.type),
        status = v16[v52.purchasableState] or Enum.MarketplaceItemPurchaseStatus.SystemError
    };
end;
local function v60(v54)
    local v55 = {};
    local v56 = {};
    local v57 = {};
    if v54.itemData then
        for _, v59 in v54.itemData, nil, nil do
            if v59.purchasableState == v14.Purchasable then
                table.insert(v55, {
                    id = v59.id,
                    cost = v59.priceRobux,
                    name = v59.name,
                    image = v17(v59.id, v59.type)
                });
                if v59.ownedCount and v59.ownedCount > 0 then
                    table.insert(v56, {
                        id = v59.id,
                        name = v59.name,
                        image = v17(v59.id, v59.type),
                        ownedCount = v59.ownedCount
                    });
                end;
            else
                table.insert(v57, {
                    id = v59.id,
                    name = v59.name,
                    image = v17(v59.id, v59.type),
                    status = v16[v59.purchasableState] or Enum.MarketplaceItemPurchaseStatus.SystemError
                });
            end;
        end;
    end;
    return {
        totalCost = v54.totalCost or 0,
        items = v55,
        ownedItems = v56,
        unpurchasableItems = v57,
        balance = v54.balance or 0
    };
end;
local function v62(v61)
    return v61.options;
end;
return function()
    local v63 = l_useDispatch_0();
    local v64 = l_useSelector_0(v60);
    local v65 = l_useSelector_0(v6);
    local v66 = l_useSelector_0(v7);
    local v67 = l_useSelector_0(v62);
    local v68 = l_useSelector_0(v8);
    return {
        currentBalance = v64.balance,
        items = v64.items,
        ownedItems = v64.ownedItems,
        unpurchasableItems = v64.unpurchasableItems,
        onClose = function()
            l_MarketplaceService_0:signalPromptBulkPurchaseFinished(2, v65);
            v63(v9());
        end,
        onAccept = if v64.balance < v64.totalCost then function()
            local v69 = v20();
            if not (v69 ~= v19.Desktop) or v69 == v19.Mobile then
                l_BrowserService_0:OpenBrowserWindow(v21());
                v63(v9());
                return ;
            else
                v63(v10(v13.InsufficientRobux));
                return ;
            end;
        end else function()
            local l_status_0, l_result_0 = pcall(function()
                return l_MarketplaceService_0:PerformBulkPurchase(v66, v67);
            end);
            if not l_status_0 or not l_result_0 then
                if not string.find(l_result_0, "403") then
                    v63(v10(v13.Generic));
                    return ;
                else
                    v63(v10(v13.TwoStepVerificationRequired));
                    return ;
                end;
            else
                local v72 = v42(l_result_0, v68);
                local v73 = nil;
                local v74;
                for _, v76 in v72, nil, nil do
                    if v73 ~= nil and v76 ~= v73 then
                        v74 = nil;
                        goto label0 --[[  true, false  ]];
                    elseif v73 == nil then
                        v73 = v76;
                    end;
                end;
                v74 = v73;
                ::label0::;
                if v74 then
                    if v74 == Enum.MarketplaceItemPurchaseStatus.Success then
                        v63(v11(v12.Success, v72));
                        return ;
                    else
                        v63(v10(v15[v74]));
                        return ;
                    end;
                else
                    v63(v11(v12.PartialSuccess, v72));
                    return ;
                end;
            end;
        end,
        totalCost = v64.totalCost
    };
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local l_useLocalization_0 = require(l_Parent_0.Localization).Hooks.useLocalization;
local v4 = require(l_script_FirstAncestor_0.Components.AlertPrompt);
return function(v5)
    local v6 = l_useLocalization_0({
        title = "CoreScripts.BulkPurchasePrompt.SuccessPrompt.Heading",
        bodyText = "CoreScripts.BulkPurchasePrompt.SuccessPrompt.Body",
        dismissCTA = "CoreScripts.BulkPurchasePrompt.CompletedPrompt.DismissCTA"
    });
    return v2.createElement(v4, {
        title = v6.title,
        bodyText = v6.bodyText:gsub("{.*}", (tostring(v5.itemCount))),
        dismissCTA = v6.dismissCTA,
        onDismiss = v5.onDismiss
    });
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.React);
local v1 = require(script.Parent.BulkPurchaseSuccess);
local v2 = require(script.Parent.useBulkPurchaseSuccessProps);
return function()
    return v0.createElement(v1, (v2()));
end;


local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local l_useDispatch_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useDispatch;
local l_useSelector_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useSelector;
local v5 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseEnded);
local v6 = require(l_script_FirstAncestor_0.Store.Selectors.selectPurchaseResults);
local _ = require(script.Parent.BulkPurchaseSuccess);
return function()
    local v8 = l_useDispatch_0();
    local v9 = l_useSelector_0(v6);
    local v10 = 0;
    for _, v12 in v9.Items, nil, nil do
        if v12.status == Enum.MarketplaceItemPurchaseStatus.Success then
            v10 = v10 + 1;
        end;
    end;
    return {
        onDismiss = function()
            l_MarketplaceService_0:signalPromptBulkPurchaseFinished(1, v9);
            v8(v5());
        end,
        itemCount = v10
    };
end;


local l_MarketplaceService_0 = game:GetService("MarketplaceService");
local l_Players_0 = game:GetService("Players");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v4 = require(l_Parent_0.React);
local l_useDispatch_0 = require(l_Parent_0.RoactUtils).Hooks.RoactRodux.useDispatch;
local v6 = require(l_script_FirstAncestor_0.Store.Thunks.InitiateBulkPurchaseFlow);
local v7 = require(l_script_FirstAncestor_0.Hooks.useNetwork);
local _ = require(l_script_FirstAncestor_0.Store.Types);
local v9 = require(l_script_FirstAncestor_0.Enums.PurchasableStateEnum);
local function v14(v10)
    local v11 = {};
    for _, v13 in v10, nil, nil do
        table.insert(v11, {
            id = v13.id,
            name = v13.name,
            description = v13.description,
            priceRobux = v13.priceRobux,
            type = v13.type,
            ownedCount = v13.ownedCount,
            quantityLimitPerUser = v13.quantityLimitPerUser,
            isLimited = v13.isLimited,
            purchasableState = if v13.purchaseableState == "Purchaseable" then v9.Purchasable else v13.purchaseableState
        });
    end;
    return v11;
end;
return function()
    local v15 = l_useDispatch_0();
    local v16 = v7();
    v4.useEffect(function()
        local v17 = nil;
        if not (not v15 or not v16) then
            v17 = l_MarketplaceService_0.PromptBulkPurchaseRequested:Connect(function(v18, v19, v20, v21, v22, v23)
                if v18 == l_Players_0.LocalPlayer then
                    v15(v6(v16, v14(v19), v20, v21, v22, v23));
                end;
            end);
        end;
        return function()
            if v17 then
                v17:Disconnect();
                v17 = nil;
            end;
        end;
    end, {
        v15,
        v16
    });
end;


local l_GuiService_0 = game:GetService("GuiService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.React);
local v4 = require(l_Parent_0.FocusNavigationUtils);
local l_FocusNavigableSurfaceRegistry_0 = v4.FocusNavigableSurfaceRegistry;
local l_useRegisterFocusNavigableSurface_0 = l_FocusNavigableSurfaceRegistry_0.useRegisterFocusNavigableSurface;
local l_useDeRegisterFocusNavigableSurface_0 = l_FocusNavigableSurfaceRegistry_0.useDeRegisterFocusNavigableSurface;
local l_useLastInputMethod_0 = v4.useLastInputMethod;
local l_useAutoFocus_0 = v4.useAutoFocus;
local l_useDescendantHasFocus_0 = v4.useDescendantHasFocus;
local v11 = require(l_script_FirstAncestor_0.Flags.FFlagFixBulkPurchaseFocusRelease);
return function(v12)
    local v13, v14 = v3.useState(nil);
    local v15 = l_useRegisterFocusNavigableSurface_0();
    local v16 = l_useDeRegisterFocusNavigableSurface_0();
    local v17 = l_useAutoFocus_0({
        v13
    }, 0.1);
    local v18 = l_useDescendantHasFocus_0(v13);
    local v19 = l_useLastInputMethod_0();
    local v20 = true;
    if v19 ~= "Gamepad" then
        v20 = v19 == "Keyboard";
    end;
    v3.useEffect(function()
        if not v13 then
            v16(v12.focusNavigableSurfaceIdentifier, v13);
            l_GuiService_0:RemoveSelectionGroup(v12.selectionGroupName);
            if v11 then
                l_GuiService_0.SelectedCoreObject = nil;
            end;
        else
            v15(v12.focusNavigableSurfaceIdentifier, v13);
            l_GuiService_0:AddSelectionParent(v12.selectionGroupName, v13);
        end;
        return function()
            v16(v12.focusNavigableSurfaceIdentifier, v13);
            l_GuiService_0:RemoveSelectionGroup(v12.selectionGroupName);
            if v11 then
                l_GuiService_0.SelectedCoreObject = nil;
            end;
        end;
    end, {
        v13,
        v12.focusNavigableSurfaceIdentifier,
        v12.selectionGroupName
    });
    local v21 = (v20 and v13) and not v18;
    v3.useEffect(function()
        local v22 = nil;
        if v21 then
            v22 = v17();
        end;
        return function()
            if v22 then
                v22.cancel();
            end;
        end;
    end, {
        v21,
        v17
    });
    return v14;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.React);
local v2 = require(l_script_FirstAncestor_0.Hooks.NetworkContext);
return function()
    return v1.useContext(v2);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.React);
local v2 = require(l_script_FirstAncestor_0.Hooks.ScreenSizeContext);
return function()
    return v1.useContext(v2);
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.Http);
return function(v1)
    return v1(("%s/users/authenticated/app-launch-info"):format(v0.Url.USERS_URL), "GET");
end;


return require(script:FindFirstAncestor("BulkPurchaseApp").Parent.Rodux).makeActionCreator("BulkPurchaseEnded", function()
    return {};
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.Rodux);
local _ = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
return v1.makeActionCreator("BulkPurchaseFailed", function(v3)
    return {
        errorCode = v3
    };
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.Rodux);
local _ = require(l_script_FirstAncestor_0.Store.Types);
return v1.makeActionCreator("BulkPurchaseRequested", function(v3, v4, v5, v6, v7)
    return {
        itemData = v3,
        balance = v5,
        totalCost = v6,
        orderRequest = v4,
        options = v7
    };
end);


return require(script:FindFirstAncestor("BulkPurchaseApp").Parent.Rodux).makeActionCreator("BulkPurchaseStarted", function(v0)
    return {
        balance = v0
    };
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.Rodux);
local _ = require(l_script_FirstAncestor_0.Enums.BulkPurchasePromptStateEnum);
return v1.makeActionCreator("BulkPurchaseSucceeded", function(v3, v4)
    return {
        promptState = v3,
        itemStatuses = v4
    };
end);


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.Rodux);
local v2 = require(l_script_FirstAncestor_0.Enums.BulkPurchasePromptStateEnum);
local v3 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseEnded);
local v4 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseSucceeded);
local v5 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseFailed);
local v6 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseStarted);
local v7 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseRequested);
local _ = require(l_script_FirstAncestor_0.Store.Types);
local function _()
    return {
        promptState = v2.None
    };
end;
return (v1.createReducer({
    promptState = v2.None
}, {
    [v3.name] = function(_, _)
        return {
            promptState = v2.None
        };
    end,
    [v4.name] = function(v12, v13)
        local v14 = table.clone(v12);
        v14.itemStatuses = v13.itemStatuses;
        v14.promptState = v13.promptState;
        return v14;
    end,
    [v5.name] = function(v15, v16)
        local v17 = table.clone(v15);
        v17.errorCode = v16.errorCode;
        v17.promptState = v2.Error;
        return v17;
    end,
    [v7.name] = function(v18, v19)
        local v20 = table.clone(v18);
        v20.itemData = v19.itemData;
        v20.options = v19.options;
        v20.orderRequest = v19.orderRequest;
        v20.balance = v19.balance;
        v20.totalCost = v19.totalCost;
        return v20;
    end,
    [v6.name] = function(v21, v22)
        local v23 = table.clone(v21);
        v23.promptState = v2.Request;
        v23.balance = v22.balance;
        return v23;
    end
}));


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local _ = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
local _ = require(l_script_FirstAncestor_0.Store.Types);
return function(v3)
    return v3.errorCode;
end;


local _ = require(script:FindFirstAncestor("BulkPurchaseApp").Store.Types);
return function(v1)
    return v1.itemData or {};
end;


local _ = require(script:FindFirstAncestor("BulkPurchaseApp").Store.Types);
return function(v1)
    return v1.orderRequest;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local _ = require(l_script_FirstAncestor_0.Store.Types);
local _ = require(l_script_FirstAncestor_0.Enums.BulkPurchasePromptStateEnum);
return function(v3)
    return v3.promptState;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Store.Selectors.selectRobuxSpent);
local v2 = require(l_script_FirstAncestor_0.Store.Selectors.selectResultItems);
local _ = require(l_script_FirstAncestor_0.Store.Types);
return function(v4)
    return {
        RobuxSpent = v1(v4),
        Items = v2(v4)
    };
end;


local _ = require(script:FindFirstAncestor("BulkPurchaseApp").Store.Types);
local function _(v1)
    if v1 == "AvatarBundle" then
        return Enum.MarketplaceProductType.AvatarBundle;
    else
        return Enum.MarketplaceProductType.AvatarAsset;
    end;
end;
return function(v3)
    local v4 = {};
    if v3.itemData then
        for _, v6 in v3.itemData, nil, nil do
            table.insert(v4, {
                id = v6.id,
                type = if v6.type == "AvatarBundle" then Enum.MarketplaceProductType.AvatarBundle else Enum.MarketplaceProductType.AvatarAsset,
                status = if not v3.itemStatuses then Enum.MarketplaceItemPurchaseStatus.SystemError else v3.itemStatuses[v6.id] or Enum.MarketplaceItemPurchaseStatus.SystemError
            });
        end;
    end;
    return v4;
end;


local _ = require(script:FindFirstAncestor("BulkPurchaseApp").Store.Types);
return function(v1)
    local v2 = 0;
    if not (not v1.itemData or not v1.itemStatuses) then
        for _, v4 in v1.itemData, nil, nil do
            if v1.itemStatuses[v4.id] == Enum.MarketplaceItemPurchaseStatus.Success then
                v2 = v2 + v4.priceRobux;
            end;
        end;
    end;
    return v2;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local v1 = require(l_script_FirstAncestor_0.Parent.Promise);
local v2 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseRequested);
local v3 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseFailed);
local v4 = require(l_script_FirstAncestor_0.Store.Actions.BulkPurchaseStarted);
local v5 = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
local v6 = require(l_script_FirstAncestor_0.NetworkRequests.getAccount);
local _ = require(l_script_FirstAncestor_0.Store.Types);
return function(v8, v9, v10, v11, v12, v13)
    return function(v14)
        v14:dispatch(v2(v9, v10, v11, v12, v13));
        local v15, _ = v6(v8);
        return v1.all({
            v15
        }):andThen(function(_)
            v14:dispatch(v4(v11));
        end):catch(function(_)
            v14:dispatch(v3(v5.Generic));
        end);
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local _ = require(l_script_FirstAncestor_0.Enums.ErrorCodeEnum);
local _ = require(l_script_FirstAncestor_0.Enums.PurchasableStateEnum);
local _ = require(l_script_FirstAncestor_0.Enums.BulkPurchasePromptStateEnum);
return {};


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.React);
return function(v1, v2)
    return function()
        v2((v1()));
        return v0.createElement("Frame");
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.RoactRodux);
local v3 = require(l_Parent_0.React);
local v4 = require(l_Parent_0.Rodux);
local l_DesignTokenProvider_0 = require(l_Parent_0.Style).DesignTokenProvider;
local l_AppStyleProvider_0 = require(l_Parent_0.Style).AppStyleProvider;
local l_LocalizationProvider_0 = require(l_Parent_0.Localization).LocalizationProvider;
local v8 = require(l_script_FirstAncestor_0.Hooks.NetworkContext);
local v9 = require(l_script_FirstAncestor_0.Hooks.ScreenSizeContext);
local v10 = {
    themeName = "dark",
    fontName = "gotham"
};
local function v13()
    return {
        Format = function(_, v12)
            return v12 .. "-translated";
        end,
        GetLocale = function()
            return "locale";
        end
    };
end;
local function v14()
    return v4.Store.new(v4.createReducer({}, {}));
end;
return function(v15)
    local v16 = v15.store or v14();
    local v17 = v15.network or {};
    local v18 = v15.localization or v13();
    local v19 = v15.screenSize or Vector2.new(1000, 1000);
    return function(v20)
        return v3.createElement(l_LocalizationProvider_0, {
            localization = v18
        }, {
            StyleProvider = v3.createElement(l_AppStyleProvider_0, {
                style = v10
            }, {
                NetworkProvider = v3.createElement(v8.Provider, {
                    value = v17
                }, {
                    StoreProvider = v3.createElement(v2.StoreProvider, {
                        store = v16
                    }, {
                        DesignTokenProvider = v3.createElement(l_DesignTokenProvider_0, {
                            tokenMappers = {}
                        }, v3.createElement(v9.Provider, {
                            value = v19
                        }, {
                            TestSubject = v20.children
                        }))
                    })
                })
            })
        });
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_VRService_0 = game:GetService("VRService");
local v3 = require(l_script_FirstAncestor_0.Enums.PaymentPlatformEnum);
return function()
    local l_l_UserInputService_0_Platform_0 = l_UserInputService_0:GetPlatform();
    if not (l_l_UserInputService_0_Platform_0 ~= Enum.Platform.Windows and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.OSX) or l_l_UserInputService_0_Platform_0 == Enum.Platform.Linux then
        return v3.Desktop;
    elseif not (l_l_UserInputService_0_Platform_0 ~= Enum.Platform.IOS and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.Android) or l_l_UserInputService_0_Platform_0 == Enum.Platform.UWP then
        return v3.Mobile;
    elseif not (((l_l_UserInputService_0_Platform_0 ~= Enum.Platform.XBoxOne and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.XBox360) and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.PS3) and l_l_UserInputService_0_Platform_0 ~= Enum.Platform.PS4) or l_l_UserInputService_0_Platform_0 == Enum.Platform.PS5 then
        return v3.Console;
    elseif not l_VRService_0:IsVRAppBuild() then
        return v3.Unknown;
    else
        return v3.VR;
    end;
end;


local v0 = string.gsub(game:GetService("ContentProvider").BaseUrl:lower(), "/m.", "/www.");
return function()
    return ("%sUpgrades/Robux.aspx"):format(v0);
end;


local v0 = require(script:FindFirstAncestor("BulkPurchaseApp").Parent.UserLib);
local l_getRbxthumbWithTypeSizeAndOptions_0 = v0.Utils.getRbxthumbWithTypeSizeAndOptions;
local l_Constants_0 = v0.Utils.Constants;
local function _(v3)
    if v3 == "AvatarBundle" then
        return l_Constants_0.RbxthumbTypes.BundleThumbnail;
    else
        return l_Constants_0.RbxthumbTypes.Asset;
    end;
end;
return function(v5, v6)
    return l_getRbxthumbWithTypeSizeAndOptions_0(v5, if v6 == "AvatarBundle" then l_Constants_0.RbxthumbTypes.BundleThumbnail else l_Constants_0.RbxthumbTypes.Asset, 150);
end;


return {
    MAX_WIDTH = 792,
    MAX_HEIGHT = 608,
    TEN_FOOT_MULTIPLIER = 1.5,
    MOBILE_BREAKPOINT = 792
};


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


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "BulkPurchaseApp",
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler()
    }
};


local l_CoreGui_0 = game:GetService("CoreGui");
local l_LocalizationService_0 = game:GetService("LocalizationService");
local l_script_FirstAncestor_0 = script:FindFirstAncestor("BulkPurchaseApp");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v4 = require(l_Parent_0.Rodux);
local v5 = require(l_Parent_0.ReactRoblox);
local v6 = require(l_Parent_0.RoactRodux);
local v7 = require(l_Parent_0.React);
local v8 = require(l_Parent_0.HttpRequest);
local l_DesignTokenProvider_0 = require(l_Parent_0.Style).DesignTokenProvider;
local l_AppStyleProvider_0 = require(l_Parent_0.Style).AppStyleProvider;
local l_LocalizationProvider_0 = require(l_Parent_0.Localization).LocalizationProvider;
local l_Localization_0 = require(l_Parent_0.InExperienceLocales).Localization;
local v13 = require(l_Parent_0.ReactFocusNavigation);
local l_Provider_0 = require(l_Parent_0.FocusNavigationUtils).FocusNavigableSurfaceRegistry.Provider;
local v15 = require(l_Parent_0.UIBlox);
local l_SelectionCursorProvider_0 = v15.App.SelectionImage.SelectionCursorProvider;
local l_CursorProvider_0 = v15.App.SelectionCursor.CursorProvider;
local v18 = require(l_script_FirstAncestor_0.BulkPurchaseApp);
local v19 = require(l_script_FirstAncestor_0.Store.Reducers.BulkPurchaseReducer);
local v20 = require(l_script_FirstAncestor_0.Hooks.NetworkContext);
local v21 = {
    themeName = "dark",
    fontName = "gotham"
};
local function _()
    return v13.FocusNavigationService.new(v13.EngineInterface.CoreGui);
end;
local function v26()
    return v8.config({
        requestFunction = function(v23, v24, v25)
            return (v8.requestFunctions.HttpRbxApi(v23, v24, v25));
        end,
        maxRetryCount = game:DefineFastInt("BulkPurchaseMaxHttpRequestRetries", 2),
        maxWaitTime = game:DefineFastInt("BulkPurchaseMaxHttpRequestWaitTime", 1)
    });
end;
local function _()
    return v4.Store.new(v19, nil, {
        v4.makeThunkMiddleware()
    });
end;
return function()
    local l_Folder_0 = Instance.new("Folder");
    l_Folder_0.Name = "BulkPurchaseApp";
    l_Folder_0.Parent = l_CoreGui_0;
    local v29 = v7.createElement(l_LocalizationProvider_0, {
        localization = l_Localization_0.new(l_LocalizationService_0.RobloxLocaleId)
    }, {
        v7.createElement(l_AppStyleProvider_0, {
            style = v21
        }, {
            NetworkProvider = v7.createElement(v20.Provider, {
                value = v26()
            }, {
                StoreProvider = v7.createElement(v6.StoreProvider, {
                    store = v4.Store.new(v19, nil, {
                        v4.makeThunkMiddleware()
                    })
                }, {
                    DesignTokenProvider = v7.createElement(l_DesignTokenProvider_0, {
                        tokenMappers = {}
                    }, {
                        CursorProvider = v7.createElement(l_SelectionCursorProvider_0, {}, {
                            NewCursorProvider = v7.createElement(l_CursorProvider_0, {}, {
                                FocusNavigationProvider = v7.createElement(v13.FocusNavigationContext.Provider, {
                                    value = v13.FocusNavigationService.new(v13.EngineInterface.CoreGui)
                                }, {
                                    FocusNavigationRegistryProvider = v7.createElement(l_Provider_0, nil, {
                                        BulkPurchaseApp = v7.createElement(v18)
                                    })
                                })
                            })
                        })
                    })
                })
            })
        })
    });
    local v30 = v5.createRoot(l_Folder_0);
    v30:render(v29);
    return v30;
end;


return {
    projects = {
        game.CoreGui.RobloxGui.Modules.LuaApp.Components.BuyRobux["jest.config"]
    }
};


local l_Parent_0 = script.Parent;
local v1 = require(l_Parent_0.Parent.Promise);
local v2 = require(l_Parent_0.CallProtocolConstants);
local _ = require(l_Parent_0.CallProtocolTypes);
local l_MessageBusService_0 = game:GetService("MessageBusService");
local v5 = {};
v5.__index = v5;
v5.new = function()
    return (setmetatable({}, v5));
end;
v5.initCall = function(_, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
    l_MessageBusService_0:Publish(v2.MESSAGE_INIT_CALL, {
        callerId = v7,
        calleeId = v8,
        callerCombinedName = v9,
        calleeCombinedName = v10,
        muted = v11,
        camEnabled = v12,
        callerUniqueIdentifier = v13,
        placeId = v14,
        reservedServerAccessCode = v15,
        universeId = v16
    });
end;
v5.answerCall = function(_, v18)
    l_MessageBusService_0:Publish(v2.MESSAGE_ANSWER_CALL, {
        callId = v18
    });
end;
v5.answerSuccessCall = function(_, v20)
    l_MessageBusService_0:Publish(v2.MESSAGE_ANSWER_SUCCESS_CALL, {
        callId = v20
    });
end;
v5.rejectCall = function(_, v22)
    l_MessageBusService_0:Publish(v2.MESSAGE_REJECT_CALL, {
        callId = v22
    });
end;
v5.cancelCall = function(_, v24)
    l_MessageBusService_0:Publish(v2.MESSAGE_CANCEL_CALL, {
        callId = v24
    });
end;
v5.teleportSuccessCall = function(_, v26)
    l_MessageBusService_0:Publish(v2.MESSAGE_TELEPORT_SUCCESS_CALL, {
        callId = v26
    });
end;
v5.finishCall = function(_, v28)
    l_MessageBusService_0:Publish(v2.MESSAGE_FINISH_CALL, {
        callId = v28
    });
end;
v5.getCallState = function(_)
    return (v1.new(function(v30, _)
        l_MessageBusService_0:MakeRequest(v2.NAME, v2.METHOD_GET_CALL_STATE, {}, function(v32)
            v30(v32);
        end, {});
    end));
end;
v5.updateMicAndCamState = function(_, v34, v35)
    local v36 = {};
    if v34 ~= nil then
        v36.muted = v34;
    end;
    if v35 ~= nil then
        v36.camEnabled = v35;
    end;
    l_MessageBusService_0:Publish(v2.MESSAGE_UDPATE_MIC_AND_CAM_STATE, v36);
end;
v5.listenToHandleInitCall = function(_, v38)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_INIT_CALL, v38, false, true);
end;
v5.listenToHandleConnectingCall = function(_, v40)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_CONNECTING_CALL, v40, false, true);
end;
v5.listenToHandleTeleportingCall = function(_, v42)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_TELEPORTING_CALL, v42, false, true);
end;
v5.listenToHandleActiveCall = function(_, v44)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_ACTIVE_CALL, v44, false, true);
end;
v5.listenToHandleEndCall = function(_, v46)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_END_CALL, v46, false, true);
end;
v5.listenToHandleCallMessage = function(_, v48)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_CALL_MESSAGE, v48, false, true);
end;
v5.listenToHandleMicAndCamChanged = function(_, v50)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_MIC_AND_CAM_CHANGED, v50, false, true);
end;
v5.listenToHandleTransferCallTeleportLeave = function(_, v52)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_TRANSFER_CALL_TELEPORT_LEAVE, v52, false, true);
end;
v5.listenToHandleTransferCallTeleportJoin = function(_, v54)
    return l_MessageBusService_0:Subscribe(v2.MESSAGE_HANDLE_TRANSFER_CALL_TELEPORT_JOIN, v54, false, true);
end;
v5.default = v5.new();
return v5;


local l_MessageBusService_0 = game:GetService("MessageBusService");
return {
    NAME = "Call",
    MESSAGE_INIT_CALL = l_MessageBusService_0:GetMessageId("Call", "initCall"),
    MESSAGE_ANSWER_CALL = l_MessageBusService_0:GetMessageId("Call", "answerCall"),
    MESSAGE_ANSWER_SUCCESS_CALL = l_MessageBusService_0:GetMessageId("Call", "answerSuccessCall"),
    MESSAGE_REJECT_CALL = l_MessageBusService_0:GetMessageId("Call", "rejectCall"),
    MESSAGE_CANCEL_CALL = l_MessageBusService_0:GetMessageId("Call", "cancelCall"),
    MESSAGE_TELEPORT_SUCCESS_CALL = l_MessageBusService_0:GetMessageId("Call", "teleportSuccessCall"),
    MESSAGE_FINISH_CALL = l_MessageBusService_0:GetMessageId("Call", "finishCall"),
    MESSAGE_UDPATE_MIC_AND_CAM_STATE = l_MessageBusService_0:GetMessageId("Call", "updateMicAndCamState"),
    MESSAGE_HANDLE_INIT_CALL = l_MessageBusService_0:GetMessageId("Call", "handleInitCall"),
    MESSAGE_HANDLE_CONNECTING_CALL = l_MessageBusService_0:GetMessageId("Call", "handleConnectingCall"),
    MESSAGE_HANDLE_TELEPORTING_CALL = l_MessageBusService_0:GetMessageId("Call", "handleTeleportingCall"),
    MESSAGE_HANDLE_ACTIVE_CALL = l_MessageBusService_0:GetMessageId("Call", "handleActiveCall"),
    MESSAGE_HANDLE_END_CALL = l_MessageBusService_0:GetMessageId("Call", "handleEndCall"),
    MESSAGE_HANDLE_CALL_MESSAGE = l_MessageBusService_0:GetMessageId("Call", "handleCallMessage"),
    MESSAGE_HANDLE_MIC_AND_CAM_CHANGED = l_MessageBusService_0:GetMessageId("Call", "handleMicAndCamChanged"),
    MESSAGE_HANDLE_TRANSFER_CALL_TELEPORT_LEAVE = l_MessageBusService_0:GetMessageId("Call", "handleTransferCallTeleportLeave"),
    MESSAGE_HANDLE_TRANSFER_CALL_TELEPORT_JOIN = l_MessageBusService_0:GetMessageId("Call", "handleTransferCallTeleportJoin"),
    METHOD_GET_CALL_STATE = "getCallState"
};


local l_Parent_0 = script.Parent;
local _ = require(l_Parent_0.Parent.LuauPolyfill);
local _ = require(l_Parent_0.Enums.CallStatus);
local _ = require(l_Parent_0.Enums.MessageType);
return nil;


return require(game:GetService("CorePackages").enumerate)(script.Name, {
    Idle = "Idle",
    Ringing = "Ringing",
    Accepting = "Accepting",
    Initializing = "Initializing",
    Connecting = "Connecting",
    Active = "Active"
});


return require(game:GetService("CorePackages").enumerate)(script.Name, {
    CallError = "CallError"
});


return {
    CallStatus = require(script.CallStatus),
    MessageType = require(script.MessageType)
};


local _ = require(script.CallProtocolTypes);
return {
    CallProtocol = require(script.CallProtocol),
    Enums = require(script.Enums)
};


local l_CorePackages_0 = game:GetService("CorePackages");
local v1 = require(l_CorePackages_0.Promise);
local _ = require(l_CorePackages_0.Packages.LuauPolyfill);
local l_default_0 = require(l_CorePackages_0.Workspace.Packages.PermissionsProtocol).PermissionsProtocol.default;
local v4 = nil;
return function()
    local v5 = if v4 ~= nil then v4:getStatus() else nil;
    if v4 and v5 ~= v1.Status.Cancelled then
        return v4;
    else
        v4 = l_default_0:hasPermissions({
            l_default_0.Permissions.CAMERA_ACCESS
        }):andThen(function(v6)
            if v6.status == l_default_0.Status.AUTHORIZED then
                return v1.resolve(true);
            else
                return l_default_0:requestPermissions({
                    l_default_0.Permissions.CAMERA_ACCESS
                }):andThen(function(v7)
                    return v1.resolve(v7.status == l_default_0.Status.AUTHORIZED);
                end, function(v8)
                    return v1.reject(v8);
                end);
            end;
        end);
        return v4;
    end;
end;


return {
    getCameraOptIn = require(script.getCameraOptIn),
    getCameraDevicePermission = require(script.getCameraDevicePermission)
};


return require(script:FindFirstAncestor("CentralOverlay").Parent.Rodux).makeActionCreator(script.Name, function(v0, v1, v2)
    return {
        overlayType = v0,
        arguments = v1,
        configs = v2
    };
end);


local v0 = require(script:FindFirstAncestor("CentralOverlay").Actions.SetCentralOverlay);
return function(v1, v2)
    v1 = v1 or {
        OverlayType = nil,
        Arguments = {},
        Configs = {}
    };
    if v2.type == v0.name then
        v1 = {
            OverlayType = v2.overlayType,
            Arguments = not not v2.arguments and v2.arguments or {},
            Configs = not not v2.configs and v2.configs or {}
        };
    end;
    return v1;
end;


local v0 = require(script:FindFirstAncestor("CentralOverlay").Actions.SetCentralOverlay);
return function()
    return function(v1)
        if not v1:getState().CentralOverlay.Configs.DisableBackButtonClose then
            v1:dispatch(v0());
            return ;
        else
            return ;
        end;
    end;
end;


return {
    ["jest.config"] = script["jest.config"],
    Actions = {
        SetCentralOverlay = require(script.Actions.SetCentralOverlay)
    },
    Reducers = {
        CentralOverlayReducer = require(script.Reducers.CentralOverlayReducer)
    },
    Thunks = {
        CloseCentralOverlay = require(script.Thunks.CloseCentralOverlay)
    }
};


local v0 = require(script.Parent.Parent.Dev.JestConfigs);
return {
    displayName = "CentralOverlay",
    setupFilesAfterEnv = {
        v0.setupFiles.LogHandler,
        v0.setupFiles.UIBloxInitializer,
        v0.setupFiles.createPromiseRejectionHandler()
    }
};


return {
    interactionEventName = "challengeDialogInteractionEvent",
    context = {
        dialogOpened = "dialogOpened",
        dialogActionSelected = "dialogActionSelected",
        dialogAbandoned = "dialogAbandoned"
    }
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ChallengeDialog");
local v1 = require(l_script_FirstAncestor_0.Parent.Analytics).AnalyticsReporters.EventIngest.new((game:GetService("EventIngestService")));
local v2 = require(l_script_FirstAncestor_0.Analytics.EventConstants);
local l_interactionEventName_0 = v2.interactionEventName;
return {
    sendDialogOpenedEvent = function(v4, v5, v6)
        v1:sendEventDeferred(v2.context.dialogOpened, l_interactionEventName_0, {
            dialog_opened_type = v4,
            dialog_opened_type_internal_id = v5,
            dialog_opened_is_expired = v6
        });
    end,
    sendDialogActionSelectedEvent = function(v7, v8, v9)
        v1:sendEventDeferred(v2.context.dialogActionSelected, l_interactionEventName_0, {
            dialog_action_selected_type = v7,
            dialog_action_selected_type_internal_id = v8,
            dialog_action_selected_action = v9
        });
    end,
    sendDialogAbandonedEvent = function(v10, v11)
        v1:sendEventDeferred(v2.context.dialogAbandoned, l_interactionEventName_0, {
            dialog_abandoned_type = v10,
            dialog_abandoned_type_internal_id = v11
        });
    end
};


local v0 = require(script:FindFirstAncestor("ChallengeDialog").Parent.Analytics).Analytics.new((game:GetService("RbxAnalyticsService")));
local v1 = game:DefineFastString("LoginInfoOverflowedCounter", "LoginInfoOverflowed");
return {
    loginInfoOverflowed = function()
        v0.Diag:reportCounter(v1, 1);
    end
};


return {
    DEFAULT_PADDING = 24,
    MAX_WIDTH = 540,
    X_BUTTON_SIZE = 36
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ChallengeDialog");
local l_UserInputService_0 = game:GetService("UserInputService");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v3 = require(l_Parent_0.React);
local v4 = require(l_Parent_0.UIBlox);
local v5 = require(l_Parent_0.RoactUtils);
local l_screenSizeSelector_0 = require(l_script_FirstAncestor_0.Common.Utils).screenSizeSelector;
local l_getMiddleContentWidth_0 = require(l_script_FirstAncestor_0.Common.Utils).getMiddleContentWidth;
local l_getAdjustedTitleToScreenString_0 = require(l_script_FirstAncestor_0.Common.Utils).getAdjustedTitleToScreenString;
local l_DEFAULT_PADDING_0 = require(l_script_FirstAncestor_0.Common.Constants).DEFAULT_PADDING;
local l_useSelector_0 = v5.Hooks.RoactRodux.useSelector;
local l_withStyle_0 = v4.Core.Style.withStyle;
local l_FullPageModal_0 = v4.App.Dialog.Modal.FullPageModal;
return function(v13)
    local v14 = l_useSelector_0(l_screenSizeSelector_0);
    local v15 = l_getMiddleContentWidth_0(v14.X);
    local l_Y_0 = l_UserInputService_0.StatusBarSize.Y;
    local l_buttonConfig_0 = v13.buttonConfig;
    local l_makeBodyFragment_0 = v13.makeBodyFragment;
    local l_footerContent_0 = v13.footerContent;
    local v20 = not v13.hideCloseButton;
    local l_title_0 = v13.title;
    return l_withStyle_0(function(v22)
        return v3.createElement(l_FullPageModal_0, {
            title = l_getAdjustedTitleToScreenString_0(l_title_0, v15, v22),
            screenSize = v14,
            buttonStackProps = l_buttonConfig_0,
            onCloseClicked = v20 and v13.closeModal,
            distanceFromTop = l_Y_0,
            footerContent = l_footerContent_0
        }, {
            Middle = v3.createElement("Frame", {
                BackgroundTransparency = 1,
                Size = UDim2.fromScale(1, 1)
            }, {
                ContentPadding = v3.createElement("UIPadding", {
                    PaddingBottom = l_buttonConfig_0 and UDim.new(0, l_DEFAULT_PADDING_0),
                    PaddingTop = UDim.new(0, l_DEFAULT_PADDING_0)
                }),
                ListLayout = v3.createElement("UIListLayout", {
                    HorizontalAlignment = Enum.HorizontalAlignment.Center,
                    Padding = UDim.new(0, l_DEFAULT_PADDING_0),
                    SortOrder = Enum.SortOrder.LayoutOrder
                }),
                BodyFragment = l_makeBodyFragment_0(v15)
            })
        });
    end);
end;


local l_Parent_0 = script:FindFirstAncestor("ChallengeDialog").Parent;
local v1 = require(l_Parent_0.React);
local v2 = require(l_Parent_0.UIBlox);
local l_Images_0 = v2.App.ImageSet.Images;
local l_IconSize_0 = v2.App.ImageSet.Enum.IconSize;
local l_getIconSizeUDim2_0 = v2.App.ImageSet.getIconSizeUDim2;
local l_ImageSetLabel_0 = v2.Core.ImageSet.ImageSetLabel;
local v7 = l_Images_0["icons/graphic/lock_xxlarge"];
local v8 = l_getIconSizeUDim2_0(l_IconSize_0.XLarge);
return function(v9)
    return v1.createElement(l_ImageSetLabel_0, {
        AnchorPoint = Vector2.new(0.5, 0.5),
        BackgroundTransparency = 1,
        Image = v7,
        LayoutOrder = v9.layoutOrder or nil,
        Position = UDim2.new(0.5, 0, 0.5, 0),
        Size = v8
    });
end;


local l_Parent_0 = script:FindFirstAncestor("ChallengeDialog").Parent;
local v1 = require(l_Parent_0.React);
local v2 = require(l_Parent_0.UIBlox);
local l_FitTextLabel_0 = require(l_Parent_0.LuaSocialLibrariesDeps).RoactFitComponents.FitTextLabel;
local l_withStyle_0 = v2.Style.withStyle;
return function(v5)
    local l_contentWidth_0 = v5.contentWidth;
    local l_layoutOrder_0 = v5.layoutOrder;
    local l_errorText_0 = v5.errorText;
    return l_withStyle_0(function(v9)
        return v1.createElement(l_FitTextLabel_0, {
            BackgroundTransparency = 1,
            width = l_FitTextLabel_0.Width.FitToText,
            maximumWidth = l_contentWidth_0,
            Font = v9.Font.Footer.Font,
            LayoutOrder = l_layoutOrder_0 or nil,
            Text = l_errorText_0,
            TextColor3 = v9.Theme.Alert.Color,
            TextSize = v9.Font.BaseSize * v9.Font.Footer.RelativeSize,
            TextTransparency = v9.Theme.TextDefault.Transparency,
            TextWrapped = true,
            TextXAlignment = Enum.TextXAlignment.Center,
            AnchorPoint = Vector2.new(0, 0)
        });
    end);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ChallengeDialog");
local v1 = require(l_script_FirstAncestor_0.Parent.RoactUtils);
local l_screenSizeSelector_0 = require(l_script_FirstAncestor_0.Common.Utils).screenSizeSelector;
local l_getMiddleContentWidth_0 = require(l_script_FirstAncestor_0.Common.Utils).getMiddleContentWidth;
local l_useSelector_0 = v1.Hooks.RoactRodux.useSelector;
return function(v5)
    local v6 = l_getMiddleContentWidth_0(l_useSelector_0(l_screenSizeSelector_0).X);
    return function()
        return v5(v6);
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ChallengeDialog");
local l_Parent_0 = l_script_FirstAncestor_0.Parent;
local v2 = require(l_Parent_0.React);
local v3 = require(l_Parent_0.UIBlox);
local v4 = require(l_Parent_0.LuaSocialLibrariesDeps);
local v5 = require(l_script_FirstAncestor_0.Common.ModalTextSizes);
local l_FitTextLabel_0 = v4.RoactFitComponents.FitTextLabel;
local l_withStyle_0 = v3.Style.withStyle;
return function(v8)
    local l_contentWidth_0 = v8.contentWidth;
    local l_layoutOrder_0 = v8.layoutOrder;
    local l_richText_0 = v8.richText;
    local l_text_0 = v8.text;
    return l_withStyle_0(function(v13)
        local l_Font_0 = v13.Font.Body.Font;
        if v8.useBold == true then
            l_Font_0 = v13.Font.Header1.Font;
        end;
        local l_Color_0 = v13.Theme.TextDefault.Color;
        if v8.useEmphasis == true then
            l_Color_0 = v13.Theme.TextEmphasis.Color;
        end;
        local l_RelativeSize_0 = v13.Font.Body.RelativeSize;
        if v8.size == v5.Header1 then
            l_RelativeSize_0 = v13.Font.Header1.RelativeSize;
        elseif v8.size == v5.Footer then
            l_RelativeSize_0 = v13.Font.Footer.RelativeSize;
        end;
        local l_Center_0 = Enum.TextXAlignment.Center;
        if v8.alignLeft == true then
            l_Center_0 = Enum.TextXAlignment.Left;
        end;
        local v18 = nil;
        if not (l_contentWidth_0 ~= 0) or l_contentWidth_0 == nil then
            v18 = Enum.AutomaticSize.X;
        end;
        return v2.createElement(l_FitTextLabel_0, {
            BackgroundTransparency = 1,
            width = l_FitTextLabel_0.Width.FitToText,
            maximumWidth = l_contentWidth_0,
            Font = l_Font_0,
            LayoutOrder = l_layoutOrder_0 or nil,
            RichText = l_richText_0,
            AutomaticSize = v18,
            Text = l_text_0,
            TextColor3 = l_Color_0,
            TextSize = l_RelativeSize_0 * v13.Font.BaseSize,
            TextTransparency = v13.Theme.TextDefault.Transparency,
            TextWrapped = true,
            TextXAlignment = l_Center_0,
            AnchorPoint = Vector2.new(0, 0),
            onActivated = v8.onActivated
        });
    end);
end;


local l_Parent_0 = script:FindFirstAncestor("ChallengeDialog").Parent;
local v1 = require(l_Parent_0.Roact);
local v2 = require(l_Parent_0.RoactRodux);
local v3 = require(l_Parent_0.Rodux);
local v4 = v3.Store.new(function()
    return {};
end, {}, {
    v3.thunkMiddleware
});
return {
    createTreeWithProviders = function(v5, v6, v7)
        local v8 = v1.mount((v1.createFragment({
            storeProvider = v1.createElement(v2.StoreProvider, {
                store = if v7 ~= nil then v7 else v4
            }, {
                myElement = v1.createElement(v5, v6)
            })
        })));
        return v8, function()
            v1.unmount(v8);
        end;
    end
};