local L=game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")local p=game:GetService("\077\097\114\107\101\116\112\108\097\099\101\083\101\114\118\105\099\101")local A=L:WaitForChild("\099\111\109\109\111\110")local C=require(A.util:WaitForChild("\098\121"))local K=(require(A.util:WaitForChild("\099\111\109\112\105\108\101\083\117\098\109\111\100\117\108\101\115\084\111\065\114\114\097\121")))(script,true)for L,A in pairs(K)do local C=p:GetProductInfo(A.productId,Enum.InfoType.Product)A.price=C.PriceInRobux end local function f(L,p)return L.order<p.order end table.sort(K,f)return{all=K;byId=C("\105\100",K);byProductId=C("\112\114\111\100\117\099\116\073\100",K)}
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MarketplaceService = game:GetService("MarketplaceService")
local common = ReplicatedStorage:WaitForChild("common")

local by = require(common.util:WaitForChild("by"))
local products = require(common.util:WaitForChild("compileSubmodulesToArray"))(script, true)

for _,devproduct in pairs(products) do
    local productInfo = MarketplaceService:GetProductInfo(devproduct.productId, Enum.InfoType.Product)

	devproduct.price = productInfo.PriceInRobux
end

local function hasLowerOrder(asset1,asset2)
    return asset1.order < asset2.order
end

table.sort(products,hasLowerOrder)

return {
    all = products,
    byId = by("id", products),
    byProductId = by("productId", products)
}