local g={}local w="   "function g.prettyPrint(v,A)A=A or 0 local C={}if typeof(v)=="\116\097\098\108\101"then table.insert(C,"\123\n")for v,Q in pairs(v)do table.insert(C,w:rep(A+1))table.insert(C,tostring(v))table.insert(C," \061 ")table.insert(C,g.prettyPrint(Q,A+1))table.insert(C,"\n")end table.insert(C,w:rep(A))table.insert(C,"\125")elseif typeof(v)=="\115\116\114\105\110\103"then table.insert(C,string.format("\037\113",v))table.insert(C," \040\115\116\114\105\110\103\041")else table.insert(C,tostring(v))table.insert(C," \040")table.insert(C,typeof(v))table.insert(C,"\041")end return table.concat(C,"")end return g
local Print = {}

local indent = "   "

function Print.prettyPrint(value, indentLevel)
    indentLevel = indentLevel or 0
    local output = {}

    if typeof(value) == "table" then
        table.insert(output, "{\n")

        for key, value in pairs(value) do
            table.insert(output, indent:rep(indentLevel + 1))
            table.insert(output, tostring(key))
            table.insert(output, " = ")

            table.insert(output, Print.prettyPrint(value, indentLevel + 1))
            table.insert(output, "\n")
        end

        table.insert(output, indent:rep(indentLevel))
        table.insert(output, "}")
    elseif typeof(value) == "string" then
        table.insert(output, string.format("%q", value))
        table.insert(output, " (string)")
    else
        table.insert(output, tostring(value))
        table.insert(output, " (")
        table.insert(output, typeof(value))
        table.insert(output, ")")
    end

    return table.concat(output, "")
end

return Print
