local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Rodux);
local v2 = require(l_Parent_0.Packages.Cryo);
local l_Actions_0 = l_Parent_0.Src.Actions;
local l_Models_0 = l_Parent_0.Src.Models;
local l_deepCopy_0 = require(l_Parent_0.Packages.Framework).Util.deepCopy;
local v6 = require(l_Actions_0.Watch.SetVariablesScopeFilteredOut);
local v7 = require(l_Actions_0.Watch.SetVariablesTextFilteredOut);
local v8 = require(l_Actions_0.Watch.SetVariableExpanded);
local v9 = require(l_Actions_0.Watch.AddRootVariables);
local v10 = require(l_Actions_0.Watch.AddChildVariables);
local v11 = require(l_Actions_0.Watch.RemoveDummyVariableFromParent);
local v12 = require(l_Actions_0.Watch.AddChildExpression);
local v13 = require(l_Actions_0.Watch.AddExpression);
local v14 = require(l_Actions_0.Watch.ChangeExpression);
local v15 = require(l_Actions_0.Watch.ExpressionEvaluated);
local v16 = require(l_Actions_0.Watch.ExpressionsEvaluated);
local v17 = require(l_Actions_0.Watch.RemoveExpression);
local v18 = require(l_Actions_0.Watch.SetExpansionTree);
local v19 = require(l_Actions_0.Watch.SetWatchSortState);
local v20 = require(l_Actions_0.Watch.SetExpressionExpanded);
local v21 = require(l_Actions_0.Watch.ClearAllExpressions);
local v22 = require(l_Actions_0.Common.SimPaused);
local v23 = require(l_Actions_0.Common.Resumed);
local v24 = require(l_Actions_0.Common.ClearConnectionData);
local v25 = require(l_Actions_0.Watch.ScopeFilterChange);
local v26 = require(l_Actions_0.Watch.VariablesFilterChange);
local v27 = require(l_Actions_0.Watch.MyWatchesFilterChange);
local v28 = require(l_Actions_0.Watch.SetTab);
local v29 = require(l_Actions_0.Watch.FilterTextChanged);
local _ = require(l_Models_0.DebuggerStateToken);
local _ = require(l_Models_0.Watch.VariableRow);
local _ = require(l_Models_0.Watch.WatchRow);
local v33 = require(l_Models_0.Watch.ScopeEnum);
local v34 = require(l_Models_0.Watch.TableTab);
local v35 = require(l_Models_0.Watch.VariablesColumnEnum);
local v36 = require(l_Models_0.Watch.MyWatchesColumnEnum);
local v37 = require(l_Parent_0.Src.Util.Constants);
local function v40(v38, v39)
    assert(v38[v39.debuggerStateToken] ~= nil);
    if v38[v39.debuggerStateToken][v39.threadId] == nil then
        v38[v39.debuggerStateToken][v39.threadId] = {};
    end;
    if v38[v39.debuggerStateToken][v39.threadId][v39.frameNumber] == nil then
        v38[v39.debuggerStateToken][v39.threadId][v39.frameNumber] = {};
    end;
    if v38[v39.debuggerStateToken][v39.threadId][v39.frameNumber].Variables == nil then
        v38[v39.debuggerStateToken][v39.threadId][v39.frameNumber].Variables = {};
    end;
    if v38[v39.debuggerStateToken][v39.threadId][v39.frameNumber].Watches == nil then
        v38[v39.debuggerStateToken][v39.threadId][v39.frameNumber].Watches = {};
    end;
end;
local function _(v41, v42)
    if v41[v42.debuggerStateToken] == nil then
        assert(false);
        return false;
    elseif v41[v42.debuggerStateToken][v42.threadId] == nil then
        assert(false);
        return false;
    elseif v41[v42.debuggerStateToken][v42.threadId][v42.frameNumber] == nil then
        assert(false);
        return false;
    else
        return true;
    end;
end;
local function v48(v44, v45)
    local l_stepStateBundle_0 = v45.stepStateBundle;
    local v47;
    if v44[l_stepStateBundle_0.debuggerStateToken] == nil then
        assert(false);
        v47 = false;
    elseif v44[l_stepStateBundle_0.debuggerStateToken][l_stepStateBundle_0.threadId] == nil then
        assert(false);
        v47 = false;
    elseif v44[l_stepStateBundle_0.debuggerStateToken][l_stepStateBundle_0.threadId][l_stepStateBundle_0.frameNumber] == nil then
        assert(false);
        v47 = false;
    else
        v47 = true;
    end;
    if v47 == false then
        return false;
    else
        v47 = v44[l_stepStateBundle_0.debuggerStateToken][l_stepStateBundle_0.threadId][l_stepStateBundle_0.frameNumber];
        if v47.Variables == nil then
            assert(false);
            return false;
        elseif v45.path ~= nil and v47.Variables[v45.path] == nil then
            assert(false);
            return false;
        elseif v45.parentPath ~= nil and v47.Variables[v45.parentPath] == nil then
            assert(false);
            return false;
        else
            return true;
        end;
    end;
end;
local function v53(v49, v50, v51)
    local v52;
    if v49[v50.debuggerStateToken] == nil then
        assert(false);
        v52 = false;
    elseif v49[v50.debuggerStateToken][v50.threadId] == nil then
        assert(false);
        v52 = false;
    elseif v49[v50.debuggerStateToken][v50.threadId][v50.frameNumber] == nil then
        assert(false);
        v52 = false;
    else
        v52 = true;
    end;
    if v52 == false then
        return false;
    else
        v52 = v49[v50.debuggerStateToken][v50.threadId][v50.frameNumber];
        if v52.Watches == nil then
            assert(false);
            return false;
        elseif v51.path ~= nil and v52.Watches[v51.path] == nil then
            assert(false);
            return false;
        elseif v51.parentPath ~= nil and v52.Watches[v51.parentPath] == nil then
            assert(false);
            return false;
        else
            return true;
        end;
    end;
end;
local function _(v54, v55)
    for v56, v57 in pairs(v54) do
        if v57 == v55 then
            return v56;
        end;
    end;
    return nil;
end;
return v1.createReducer({
    stateTokenToRoots = {},
    stateTokenToFlattenedTree = {},
    currentTab = v34.Variables,
    listOfEnabledScopes = {
        v33.Local,
        v33.Upvalue,
        v33.Global
    },
    listOfVariablesColumns = {
        v35.Scope,
        v35.Value,
        v35.DataType
    },
    listOfMyWatchesColumns = {
        v36.Value,
        v36.DataType
    },
    listOfExpressions = {},
    pathToExpansionState = {},
    expressionToExpansionState = {},
    filterText = "",
    variablesSortDirection = nil,
    variablesColumnIndex = nil,
    watchesSortDirection = nil,
    watchesColumnIndex = nil
}, {
    [v22.name] = function(v59, v60)
        local v61;
        if v59.stateTokenToRoots[v60.debuggerStateToken] ~= nil then
            v61 = false;
            if not (v59.stateTokenToRoots[v60.debuggerStateToken][v60.threadId] == nil) then
                goto label0;
            end;
        end;
        v61 = true;
        if v59.stateTokenToFlattenedTree[v60.debuggerStateToken] ~= nil then
            v61 = v59.stateTokenToFlattenedTree[v60.debuggerStateToken][v60.threadId] == nil;
        end;
        ::label0::;
        assert(v61);
        return v2.Dictionary.join(v59, {
            stateTokenToRoots = v2.Dictionary.join(v59.stateTokenToRoots, {
                [v60.debuggerStateToken] = v2.Dictionary.join(v59.stateTokenToRoots[v60.debuggerStateToken] or {}, {
                    [v60.threadId] = {}
                })
            }),
            stateTokenToFlattenedTree = v2.Dictionary.join(v59.stateTokenToFlattenedTree, {
                [v60.debuggerStateToken] = v2.Dictionary.join(v59.stateTokenToFlattenedTree[v60.debuggerStateToken] or {}, {
                    [v60.threadId] = {}
                })
            })
        });
    end,
    [v23.name] = function(v62, v63)
        assert(v62.stateTokenToRoots[v63.debuggerStateToken] ~= nil);
        if v62.stateTokenToRoots[v63.debuggerStateToken][v63.threadId] == nil then
            return v62;
        else
            local v64 = false;
            if v62.stateTokenToFlattenedTree[v63.debuggerStateToken] ~= nil then
                v64 = v62.stateTokenToFlattenedTree[v63.debuggerStateToken][v63.threadId] ~= nil;
            end;
            assert(v64);
            local v65 = l_deepCopy_0(v62.stateTokenToRoots[v63.debuggerStateToken]);
            v65[v63.threadId] = nil;
            v64 = l_deepCopy_0(v62.stateTokenToFlattenedTree[v63.debuggerStateToken]);
            v64[v63.threadId] = nil;
            return v2.Dictionary.join(v62, {
                stateTokenToRoots = v2.Dictionary.join(v62.stateTokenToRoots, {
                    [v63.debuggerStateToken] = v65
                }),
                stateTokenToFlattenedTree = v2.Dictionary.join(v62.stateTokenToFlattenedTree, {
                    [v63.debuggerStateToken] = v64
                })
            });
        end;
    end,
    [v24.name] = function(v66, v67)
        local v68 = false;
        if v66.stateTokenToRoots[v67.debuggerStateToken] ~= nil then
            v68 = v66.stateTokenToFlattenedTree[v67.debuggerStateToken] ~= nil;
        end;
        local v69 = true;
        for _, _ in pairs(v66.stateTokenToRoots) do
            v69 = false;
        end;
        assert(v68 or v69);
        return v2.Dictionary.join(v66, {
            stateTokenToRoots = v2.Dictionary.join(v66.stateTokenToRoots, {
                [v67.debuggerStateToken] = v2.None
            }),
            stateTokenToFlattenedTree = v2.Dictionary.join(v66.stateTokenToFlattenedTree, {
                [v67.debuggerStateToken] = v2.None
            })
        });
    end,
    [v9.name] = function(v72, v73)
        local v74 = l_deepCopy_0(v72.stateTokenToRoots);
        v40(v74, v73.stepStateBundle);
        local l_stepStateBundle_1 = v73.stepStateBundle;
        local l_Variables_0 = v74[l_stepStateBundle_1.debuggerStateToken][l_stepStateBundle_1.threadId][l_stepStateBundle_1.frameNumber].Variables;
        for _, v78 in ipairs(v73.tokenizedList) do
            table.insert(l_Variables_0, v78);
        end;
        local v79 = l_deepCopy_0(v72.stateTokenToFlattenedTree);
        v40(v79, v73.stepStateBundle);
        local l_Variables_1 = v79[l_stepStateBundle_1.debuggerStateToken][l_stepStateBundle_1.threadId][l_stepStateBundle_1.frameNumber].Variables;
        for v81, v82 in pairs(v73.newVarsMapping) do
            l_Variables_1[v81] = v82;
        end;
        return v2.Dictionary.join(v72, {
            stateTokenToRoots = v74,
            stateTokenToFlattenedTree = v79
        });
    end,
    [v10.name] = function(v83, v84)
        local v85 = l_deepCopy_0(v83.stateTokenToFlattenedTree);
        if v48(v85, v84) == false then
            return v83;
        else
            local l_stepStateBundle_2 = v84.stepStateBundle;
            local l_Variables_2 = v85[l_stepStateBundle_2.debuggerStateToken][l_stepStateBundle_2.threadId][l_stepStateBundle_2.frameNumber].Variables;
            for v88, v89 in pairs(v84.newVarsMapping) do
                l_Variables_2[v88] = v89;
            end;
            local l_childPaths_0 = l_Variables_2[v84.parentPath].childPaths;
            for _, v92 in ipairs(v84.childKeys) do
                table.insert(l_childPaths_0, v92);
            end;
            return v2.Dictionary.join(v83, {
                stateTokenToFlattenedTree = v85
            });
        end;
    end,
    [v11.name] = function(v93, v94)
        local v95 = l_deepCopy_0(v93.stateTokenToFlattenedTree);
        local l_stepStateBundle_3 = v94.stepStateBundle;
        local v97 = nil;
        if not v94.isVariablesTab then
            if v53(v95, v94.stepStateBundle, v94) == false then
                return v93;
            else
                v97 = v95[l_stepStateBundle_3.debuggerStateToken][l_stepStateBundle_3.threadId][l_stepStateBundle_3.frameNumber].Watches;
            end;
        elseif v48(v95, v94) == false then
            return v93;
        else
            v97 = v95[l_stepStateBundle_3.debuggerStateToken][l_stepStateBundle_3.threadId][l_stepStateBundle_3.frameNumber].Variables;
        end;
        v97[v94.parentPath].childPaths = {};
        v97[v94.parentPath .. v37.SeparationToken .. v37.DummyRowName] = nil;
        return v2.Dictionary.join(v93, {
            stateTokenToFlattenedTree = v95
        });
    end,
    [v8.name] = function(v98, v99)
        return v2.Dictionary.join(v98, {
            pathToExpansionState = v2.Dictionary.join(v98.pathToExpansionState, {
                [v99.path] = v99.expanded
            })
        });
    end,
    [v20.name] = function(v100, v101)
        return v2.Dictionary.join(v100, {
            expressionToExpansionState = v2.Dictionary.join(v100.expressionToExpansionState, {
                [v101.path] = v101.expanded
            })
        });
    end,
    [v6.name] = function(v102, v103)
        local v104 = l_deepCopy_0(v102.stateTokenToFlattenedTree);
        if v48(v104, v103) == false then
            return v102;
        else
            local l_stepStateBundle_4 = v103.stepStateBundle;
            local l_Variables_3 = v104[l_stepStateBundle_4.debuggerStateToken][l_stepStateBundle_4.threadId][l_stepStateBundle_4.frameNumber].Variables;
            for v107, v108 in pairs(v103.textFilterMap) do
                l_Variables_3[v107].scopeFilteredOut = v108;
            end;
            return v2.Dictionary.join(v102, {
                stateTokenToFlattenedTree = v104
            });
        end;
    end,
    [v7.name] = function(v109, v110)
        local v111 = l_deepCopy_0(v109.stateTokenToFlattenedTree);
        if v48(v111, v110) == false then
            return v109;
        else
            local l_stepStateBundle_5 = v110.stepStateBundle;
            local v113 = if not v110.isVariablesTab then v111[l_stepStateBundle_5.debuggerStateToken][l_stepStateBundle_5.threadId][l_stepStateBundle_5.frameNumber].Watches else v111[l_stepStateBundle_5.debuggerStateToken][l_stepStateBundle_5.threadId][l_stepStateBundle_5.frameNumber].Variables;
            for v114, v115 in pairs(v110.textFilterMap) do
                v113[v114].textFilteredOut = v115;
            end;
            return v2.Dictionary.join(v109, {
                stateTokenToFlattenedTree = v111
            });
        end;
    end,
    [v28.name] = function(v116, v117)
        return v2.Dictionary.join(v116, {
            currentTab = v117.currentTab
        });
    end,
    [v25.name] = function(v118, v119)
        return v2.Dictionary.join(v118, {
            listOfEnabledScopes = v119.listOfEnabledScopes
        });
    end,
    [v26.name] = function(v120, v121)
        return v2.Dictionary.join(v120, {
            listOfVariablesColumns = v121.listOfVariablesColumns
        });
    end,
    [v27.name] = function(v122, v123)
        return v2.Dictionary.join(v122, {
            listOfMyWatchesColumns = v123.listOfMyWatchesColumns
        });
    end,
    [v12.name] = function(v124, v125)
        local v126 = l_deepCopy_0(v124.stateTokenToFlattenedTree);
        if v53(v126, v125.stepStateBundle, v125) == false then
            return v124;
        else
            local l_Watches_0 = v126[v125.stepStateBundle.debuggerStateToken][v125.stepStateBundle.threadId][v125.stepStateBundle.frameNumber].Watches;
            for v128, v129 in pairs(v125.newVarsMapping) do
                l_Watches_0[v128] = v129;
            end;
            local l_childPaths_1 = l_Watches_0[v125.parentPath].childPaths;
            for _, v132 in ipairs(v125.childKeys) do
                table.insert(l_childPaths_1, v132);
            end;
            return v2.Dictionary.join(v124, {
                stateTokenToFlattenedTree = v126
            });
        end;
    end,
    [v13.name] = function(v133, v134)
        local l_listOfExpressions_0 = v133.listOfExpressions;
        local l_expression_0 = v134.expression;
        local v137;
        for v138, v139 in pairs(l_listOfExpressions_0) do
            if v139 == l_expression_0 then
                v137 = v138;
                goto label1 --[[  true, false  ]];
            end;
        end;
        v137 = nil;
        ::label1::;
        if v137 ~= nil then
            return v133;
        else
            return v2.Dictionary.join(v133, {
                listOfExpressions = v2.List.join(v133.listOfExpressions, {
                    v134.expression
                })
            });
        end;
    end,
    [v14.name] = function(v140, v141)
        local l_listOfExpressions_1 = v140.listOfExpressions;
        local l_newExpression_0 = v141.newExpression;
        local v144;
        for v145, v146 in pairs(l_listOfExpressions_1) do
            if v146 == l_newExpression_0 then
                v144 = v145;
                goto label2 --[[  true, false  ]];
            end;
        end;
        v144 = nil;
        ::label2::;
        if v144 ~= nil then
            return v140;
        else
            l_listOfExpressions_1 = v140.listOfExpressions;
            l_newExpression_0 = v141.oldExpression;
            for v147, v148 in pairs(l_listOfExpressions_1) do
                if v148 == l_newExpression_0 then
                    v144 = v147;
                    goto label3 --[[  true, false  ]];
                end;
            end;
            v144 = nil;
            ::label3::;
            if v144 == nil then
                return v140;
            else
                v144 = l_deepCopy_0(v140.listOfExpressions);
                l_newExpression_0 = v141.oldExpression;
                for v149, v150 in pairs(v144) do
                    if v150 == l_newExpression_0 then
                        l_listOfExpressions_1 = v149;
                        goto label4 --[[  true, false  ]];
                    end;
                end;
                l_listOfExpressions_1 = nil;
                ::label4::;
                v144[l_listOfExpressions_1] = v141.newExpression;
                return v2.Dictionary.join(v140, {
                    listOfExpressions = v144
                });
            end;
        end;
    end,
    [v15.name] = function(v151, v152)
        local v153 = l_deepCopy_0(v151.stateTokenToRoots);
        v40(v153, v152.stepStateBundle);
        table.insert(v153[v152.stepStateBundle.debuggerStateToken][v152.stepStateBundle.threadId][v152.stepStateBundle.frameNumber].Watches, v152.watchRow.pathColumn);
        local v154 = l_deepCopy_0(v151.stateTokenToFlattenedTree);
        v40(v154, v152.stepStateBundle);
        v154[v152.stepStateBundle.debuggerStateToken][v152.stepStateBundle.threadId][v152.stepStateBundle.frameNumber].Watches[v152.watchRow.pathColumn] = v152.watchRow;
        return v2.Dictionary.join(v151, {
            stateTokenToRoots = v153,
            stateTokenToFlattenedTree = v154
        });
    end,
    [v16.name] = function(v155, v156)
        local v157 = l_deepCopy_0(v155.stateTokenToRoots);
        v40(v157, v156.stepStateBundle);
        local l_Watches_1 = v157[v156.stepStateBundle.debuggerStateToken][v156.stepStateBundle.threadId][v156.stepStateBundle.frameNumber].Watches;
        for _, v160 in v156.watchRows, nil, nil do
            table.insert(l_Watches_1, v160.pathColumn);
        end;
        local v161 = l_deepCopy_0(v155.stateTokenToFlattenedTree);
        v40(v161, v156.stepStateBundle);
        local l_Watches_2 = v161[v156.stepStateBundle.debuggerStateToken][v156.stepStateBundle.threadId][v156.stepStateBundle.frameNumber].Watches;
        for _, v164 in v156.watchRows, nil, nil do
            l_Watches_2[v164.pathColumn] = v164;
        end;
        return v2.Dictionary.join(v155, {
            stateTokenToRoots = v157,
            stateTokenToFlattenedTree = v161
        });
    end,
    [v17.name] = function(v165, v166)
        return v2.Dictionary.join(v165, {
            listOfExpressions = v2.List.removeValue(v165.listOfExpressions, v166.expression)
        });
    end,
    [v21.name] = function(v167, _)
        return v2.Dictionary.join(v167, {
            listOfExpressions = {}
        });
    end,
    [v18.name] = function(v169, v170)
        if not v170.isVariablesTab then
            return v2.Dictionary.join(v169, {
                expressionToExpansionState = v2.Dictionary.join(v169.expressionToExpansionState, v170.expansionMapping)
            });
        else
            return v2.Dictionary.join(v169, {
                pathToExpansionState = v2.Dictionary.join(v169.pathToExpansionState, v170.expansionMapping)
            });
        end;
    end,
    [v29.name] = function(v171, v172)
        return v2.Dictionary.join(v171, {
            filterText = v172.filterText
        });
    end,
    [v19.name] = function(v173, v174)
        if v173.currentTab == v34.Variables then
            return v2.Dictionary.join(v173, {
                variablesSortDirection = v174.sortDirection,
                variablesColumnIndex = v174.columnIndex
            });
        else
            return v2.Dictionary.join(v173, {
                watchesSortDirection = v174.sortDirection,
                watchesColumnIndex = v174.columnIndex
            });
        end;
    end
});


return {
    RemoveMetaBreakpoint = "Debugger.MetaBreakpoint.User.Remove",
    RemoveAllMetaBreakpoints = "Debugger.MetaBreakpoint.User.RemoveAll",
    EnableMetaBreakpoint = "Debugger.MetaBreakpoint.User.Enable",
    DisableMetaBreakpoint = "Debugger.MetaBreakpoint.User.Disable",
    EnableBreakpoint = "Debugger.Breakpoint.User.Enable",
    DisableBreakpoint = "Debugger.Breakpoint.User.Disable",
    EnableAllMetaBreakpoints = "Debugger.MetaBreakpoint.User.EnableAll",
    DisableAllMetaBreakpoints = "Debugger.MetaBreakpoint.User.DisableAll",
    MetaBreakpointConditionChanged = "Debugger.MetaBreakpoint.User.Edit.Condition",
    MetaBreakpointLogMessageChanged = "Debugger.MetaBreakpoint.User.Edit.LogMessage",
    MetaBreakpointContinueExecutionChanged = "Debugger.MetaBreakpoint.User.Edit.ContinueExecution",
    MetaBreakpointRemoveOnHitChanged = "Debugger.MetaBreakpoint.User.Edit.RemoveOnHit",
    CallstackStepInto = "Debugger.Callstack.User.StepInto",
    CallstackStepOver = "Debugger.Callstack.User.StepOver",
    CallstackStepOut = "Debugger.Callstack.User.StepOut",
    CallstackChangeFrame = "Debugger.Callstack.User.ChangeFrame",
    WatchAdded = "Debugger.Watch.User.Add",
    WatchScopeEdited = "Debugger.LuaUI.Watch.User.Edit.Scope",
    BreakpointsColumnsEdited = "Debugger.LuaUI.Breakpoints.User.Edit.Columns",
    CallstackColumnsEdited = "Debugger.LuaUI.Callstack.User.Edit.Columns",
    VariablesColumnsEdited = "Debugger.LuaUI.Watch.User.Edit.VariablesColumns",
    MyWatchesColumnsEdited = "Debugger.LuaUI.Watch.User.Edit.MyWatchesColumns"
};


local v0 = require(script.Parent.Parent.Parent.Src.Resources.AnalyticsEventNames);
local v1 = tonumber(settings():GetFVariable("DebuggerEventsThrottleHundredthPercent"));
return function(v2)
    local function _(v3)
        v3.studioSid = v2:GetSessionId();
        v3.placeid = game.PlaceId;
        v2:ReportInfluxSeries("DebuggerUserEvent", v3, v1);
        v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v3);
    end;
    local function v8(v5, v6)
        local v7 = {
            eventName = v5,
            actionSource = v6,
            studioSid = v2:GetSessionId(),
            placeid = game.PlaceId
        };
        v2:ReportInfluxSeries("DebuggerUserEvent", v7, v1);
        v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v7);
    end;
    return {
        [v0.RemoveMetaBreakpoint] = v8,
        [v0.RemoveAllMetaBreakpoints] = v8,
        [v0.EnableMetaBreakpoint] = v8,
        [v0.DisableMetaBreakpoint] = v8,
        [v0.EnableBreakpoint] = v8,
        [v0.DisableBreakpoint] = v8,
        [v0.EnableAllMetaBreakpoints] = v8,
        [v0.DisableAllMetaBreakpoints] = v8,
        [v0.MetaBreakpointConditionChanged] = v8,
        [v0.MetaBreakpointLogMessageChanged] = v8,
        [v0.MetaBreakpointContinueExecutionChanged] = v8,
        [v0.MetaBreakpointRemoveOnHitChanged] = v8,
        [v0.CallstackStepInto] = v8,
        [v0.CallstackStepOver] = v8,
        [v0.CallstackStepOut] = v8,
        [v0.CallstackChangeFrame] = v8,
        [v0.WatchAdded] = v8,
        [v0.WatchScopeEdited] = function(v9, v10)
            local v11 = {
                eventName = v9,
                enabledScopes = v10,
                studioSid = v2:GetSessionId(),
                placeid = game.PlaceId
            };
            v2:ReportInfluxSeries("DebuggerUserEvent", v11, v1);
            v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v11);
        end,
        [v0.BreakpointsColumnsEdited] = function(v12, v13)
            local v14 = {
                eventName = v12,
                enabledColumns = v13,
                studioSid = v2:GetSessionId(),
                placeid = game.PlaceId
            };
            v2:ReportInfluxSeries("DebuggerUserEvent", v14, v1);
            v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v14);
        end,
        [v0.CallstackColumnsEdited] = function(v15, v16)
            local v17 = {
                eventName = v15,
                enabledColumns = v16,
                studioSid = v2:GetSessionId(),
                placeid = game.PlaceId
            };
            v2:ReportInfluxSeries("DebuggerUserEvent", v17, v1);
            v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v17);
        end,
        [v0.VariablesColumnsEdited] = function(v18, v19)
            local v20 = {
                eventName = v18,
                enabledColumns = v19,
                studioSid = v2:GetSessionId(),
                placeid = game.PlaceId
            };
            v2:ReportInfluxSeries("DebuggerUserEvent", v20, v1);
            v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v20);
        end,
        [v0.MyWatchesColumnsEdited] = function(v21, v22)
            local v23 = {
                eventName = v21,
                enabledColumns = v22,
                studioSid = v2:GetSessionId(),
                placeid = game.PlaceId
            };
            v2:ReportInfluxSeries("DebuggerUserEvent", v23, v1);
            v2:SendEventDeferred("studio", "Debugger", "DebuggerUserEvent", v23);
        end
    };
end;


local l_Parent_0 = script.Parent.Parent.Parent;
return (require(l_Parent_0.Packages.Framework).ContextServices.Analytics.new((require(l_Parent_0.Src.Resources.AnalyticsHandlers))));


local l_Style_0 = require(script.Parent.Parent.Parent.Packages.Framework).Style;
local l_StudioTheme_0 = l_Style_0.Themes.StudioTheme;
local v2 = {
    MainBackground = l_Style_0.StyleKey.MainBackground,
    Separator = {
        Weight = 1,
        StretchMargin = 15,
        Color = Color3.fromRGB(150, 150, 150)
    },
    BorderColor = Color3.fromRGB(229, 229, 229)
};
return function(v3)
    local _ = nil;
    return (if not v3 then l_StudioTheme_0.new() else l_StudioTheme_0.mock()):extend(v2);
end;


return function(v0, v1)
    return function(v2, _)
        if v0 == nil then
            assert(false);
            return ;
        else
            for v4, _ in pairs(v2:getState().Breakpoint.MetaBreakpoints) do
                v0:GetBreakpointById(v4):SetEnabled(v1);
            end;
            return ;
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local l_Models_0 = l_Parent_0.Src.Models;
local v2 = require(l_Models_0.Watch.ScopeEnum);
local _ = require(l_Models_0.StepStateBundle);
local v4 = require(l_Parent_0.Src.Models.Watch.VariableRow);
local l_Actions_0 = l_Parent_0.Src.Actions;
local v6 = require(l_Actions_0.Watch.AddRootVariables);
local _ = require(l_Actions_0.Watch.AddChildVariables);
local _ = require(l_Parent_0.Src.Util.Constants);
local v9 = require(l_Parent_0.Src.Thunks.Common.AddChildRowsToVars);
local _ = function(v10, v11)
    local l_filterText_0 = v11:getState().Watch.filterText;
    local l_listOfEnabledScopes_0 = v11:getState().Watch.listOfEnabledScopes;
    local l_Children_0 = v10.Locals:GetChildren();
    local l_Children_1 = v10.Globals:GetChildren();
    local l_Children_2 = v10.Upvalues:GetChildren();
    local v17 = {};
    for _, v19 in ipairs(l_Children_0) do
        table.insert(v17, v4.fromInstance(v19, nil, v2.Local, l_filterText_0, l_listOfEnabledScopes_0));
    end;
    for _, v21 in ipairs(l_Children_1) do
        table.insert(v17, v4.fromInstance(v21, nil, v2.Global, l_filterText_0, l_listOfEnabledScopes_0));
    end;
    for _, v23 in ipairs(l_Children_2) do
        table.insert(v17, v4.fromInstance(v23, nil, v2.Upvalue, l_filterText_0, l_listOfEnabledScopes_0));
    end;
    return v17;
end;
local function v42(v25, v26, v27, v28)
    local l_filterText_1 = v27:getState().Watch.filterText;
    local l_listOfEnabledScopes_1 = v27:getState().Watch.listOfEnabledScopes;
    local l_Children_3 = v26.Locals:GetChildren();
    local l_Children_4 = v26.Globals:GetChildren();
    local l_Children_5 = v26.Upvalues:GetChildren();
    local v34 = {};
    local v35 = {};
    for _, v37 in ipairs(l_Children_3) do
        table.insert(v34, v4.fromInstance(v37, nil, v2.Local, l_filterText_1, l_listOfEnabledScopes_1));
        table.insert(v35, v37);
    end;
    for _, v39 in ipairs(l_Children_4) do
        table.insert(v34, v4.fromInstance(v39, nil, v2.Global, l_filterText_1, l_listOfEnabledScopes_1));
        table.insert(v35, v39);
    end;
    for _, v41 in ipairs(l_Children_5) do
        table.insert(v34, v4.fromInstance(v41, nil, v2.Upvalue, l_filterText_1, l_listOfEnabledScopes_1));
        table.insert(v35, v41);
    end;
    v27:dispatch(v6(v28, v34));
    v27:dispatch(v9("", v35, v28, true, v25));
end;
local function _(v43, v44, v45, v46, v47, v48)
    v44[v43] = true;
    if not ((not v44[v2.Local] or not v44[v2.Global]) or not v44[v2.Upvalue]) then
        v42(v45, v46, v47, v48);
    end;
end;
local function v76(v50, v51, v52, v53)
    local v54 = {};
    v50:Populate(v51.Locals, function()
        local l_debuggerStateToken_0 = v53.debuggerStateToken;
        if l_debuggerStateToken_0 ~= v52:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_0.debuggerConnectionId] then
            return ;
        else
            local l_Local_0 = v2.Local;
            local l_v54_0 = v54;
            local l_v50_0 = v50;
            local l_v51_0 = v51;
            local l_v52_0 = v52;
            local l_v53_0 = v53;
            l_v54_0[l_Local_0] = true;
            if not ((not l_v54_0[v2.Local] or not l_v54_0[v2.Global]) or not l_v54_0[v2.Upvalue]) then
                v42(l_v50_0, l_v51_0, l_v52_0, l_v53_0);
            end;
            return ;
        end;
    end);
    v50:Populate(v51.Globals, function()
        local l_debuggerStateToken_1 = v53.debuggerStateToken;
        if l_debuggerStateToken_1 ~= v52:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_1.debuggerConnectionId] then
            return ;
        else
            local l_Global_0 = v2.Global;
            local l_v54_1 = v54;
            local l_v50_1 = v50;
            local l_v51_1 = v51;
            local l_v52_1 = v52;
            local l_v53_1 = v53;
            l_v54_1[l_Global_0] = true;
            if not ((not l_v54_1[v2.Local] or not l_v54_1[v2.Global]) or not l_v54_1[v2.Upvalue]) then
                v42(l_v50_1, l_v51_1, l_v52_1, l_v53_1);
            end;
            return ;
        end;
    end);
    v50:Populate(v51.Upvalues, function()
        local l_debuggerStateToken_2 = v53.debuggerStateToken;
        if l_debuggerStateToken_2 ~= v52:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_2.debuggerConnectionId] then
            return ;
        else
            local l_Upvalue_0 = v2.Upvalue;
            local l_v54_2 = v54;
            local l_v50_2 = v50;
            local l_v51_2 = v51;
            local l_v52_2 = v52;
            local l_v53_2 = v53;
            l_v54_2[l_Upvalue_0] = true;
            if not ((not l_v54_2[v2.Local] or not l_v54_2[v2.Global]) or not l_v54_2[v2.Upvalue]) then
                v42(l_v50_2, l_v51_2, l_v52_2, l_v53_2);
            end;
            return ;
        end;
    end);
end;
return function(v77, v78, v79)
    return function(v80, _)
        if not v78.Populated then
            v77:Populate(v78, function()
                local l_debuggerStateToken_3 = v79.debuggerStateToken;
                if l_debuggerStateToken_3 ~= v80:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_3.debuggerConnectionId] then
                    return ;
                else
                    v76(v77, v78, v80, v79);
                    return ;
                end;
            end);
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Models.Callstack.CallstackRow);
local l_Actions_0 = l_Parent_0.Src.Actions;
local v3 = require(l_Actions_0.Callstack.AddCallstack);
local v4 = require(l_Actions_0.Common.SetFilenameForGuid);
return function(v5, v6, v7, v8, v9)
    return function(v10, _)
        v6:Populate(v5, function()
            if v7 ~= v10:getState().Common.debuggerConnectionIdToDST[v7.debuggerConnectionId] then
                return ;
            else
                local l_v5_Children_0 = v5:GetChildren();
                local v13 = {};
                for v14, v15 in ipairs(l_v5_Children_0) do
                    local v16 = {};
                    if v14 == 1 then
                        v16 = {
                            Value = "",
                            LeftIcon = v1.ICON_FRAME_TOP
                        };
                    end;
                    local v17 = {
                        arrowColumn = v16,
                        frameColumn = v14,
                        functionColumn = v15.FrameName,
                        lineColumn = v15.Line < 0 and "" or v15.Line,
                        sourceColumn = v15.Script
                    };
                    v10:dispatch(v4(v15.Script, ""));
                    v8:StartWatchingScriptLine(v15.Script, v10:getState().Common.currentDebuggerConnectionId, v15.Line);
                    table.insert(v13, v1.fromData(v17));
                end;
                if #v13 > 0 then
                    v10:dispatch(v3(v5.ThreadId, v13, v7));
                end;
                if v9 then
                    v9();
                end;
                return ;
            end;
        end);
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Resources.AnalyticsEventNames);
local v2 = require(l_Parent_0.Src.Actions.Common.SetPausedState);
local v3 = require(l_Parent_0.Src.Util.Constants);
return function(v4, v5, v6, v7)
    return function(v8, v9)
        local l_ConnectionById_0 = game:GetService("DebuggerConnectionManager"):GetConnectionById(v6);
        if not (v7 ~= nil) or l_ConnectionById_0 == nil then
            return ;
        else
            local l_l_ConnectionById_0_ThreadById_0 = l_ConnectionById_0:GetThreadById(v7);
            if l_l_ConnectionById_0_ThreadById_0 then
                if v4 == v3.StepActionIds.stepOverActionV2 then
                    l_ConnectionById_0:Step(l_l_ConnectionById_0_ThreadById_0, function()
                    end);
                    v9.analytics:report(v1.CallstackStepOver, v5);
                elseif v4 == v3.StepActionIds.stepIntoActionV2 then
                    l_ConnectionById_0:StepIn(l_l_ConnectionById_0_ThreadById_0, function()
                    end);
                    v9.analytics:report(v1.CallstackStepInto, v5);
                elseif v4 == v3.StepActionIds.stepOutActionV2 then
                    l_ConnectionById_0:StepOut(l_l_ConnectionById_0_ThreadById_0, function()
                    end);
                    v9.analytics:report(v1.CallstackStepOut, v5);
                else
                    assert(false);
                    return ;
                end;
                v8:dispatch(v2(false));
                return ;
            else
                return ;
            end;
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Util.Constants);
local l_Models_0 = l_Parent_0.Src.Models;
local _ = require(l_Models_0.StepStateBundle);
local v4 = require(l_Models_0.Watch.VariableRow);
local v5 = require(l_Models_0.Watch.WatchRow);
local l_Actions_0 = l_Parent_0.Src.Actions;
local v7 = require(l_Actions_0.Watch.AddChildVariables);
local v8 = require(l_Actions_0.Watch.AddChildExpression);
local v9 = require(l_Actions_0.Watch.RemoveDummyVariableFromParent);
local v10 = nil;
local function v28(v11, v12, v13, v14, v15, v16)
    local v17 = v16:getState();
    local l_filterText_0 = v17.Watch.filterText;
    local l_listOfEnabledScopes_0 = v17.Watch.listOfEnabledScopes;
    local v20 = v17.Watch.stateTokenToFlattenedTree[v13.debuggerStateToken][v13.threadId][v13.frameNumber];
    local v21 = if not v14 then v20.Watches[v12] else v20.Variables[v12];
    if not if not v14 then v17.Watch.expressionToExpansionState[v12] else v17.Watch.pathToExpansionState[v12] then
        if not v14 then
            v16:dispatch(v8(v13, v12, {
                v5.dummyRow(v21)
            }));
            return ;
        else
            v16:dispatch(v7(v13, v12, {
                v4.dummyRow(v21, l_filterText_0, l_listOfEnabledScopes_0)
            }));
            return ;
        end;
    elseif not v11.Populated then
        v15:Populate(v11, function()
            local l_debuggerStateToken_0 = v13.debuggerStateToken;
            if l_debuggerStateToken_0 ~= v16:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_0.debuggerConnectionId] then
                return ;
            else
                v16:dispatch(v9(v13, v12, v14));
                local l_v11_Children_0 = v11:GetChildren();
                if #l_v11_Children_0 == 0 then
                    return ;
                else
                    local v24 = {};
                    for _, v26 in ipairs(l_v11_Children_0) do
                        local _ = nil;
                        table.insert(v24, if not v14 then v5.fromChildInstance(v26, v12) else v4.fromInstance(v26, v21, nil, l_filterText_0, l_listOfEnabledScopes_0));
                    end;
                    if not v14 then
                        v16:dispatch(v8(v13, v12, v24));
                    else
                        v16:dispatch(v7(v13, v12, v24));
                    end;
                    v10(v12, l_v11_Children_0, v13, v14, v15, v16);
                    return ;
                end;
            end;
        end);
        return ;
    else
        return ;
    end;
end;
v10 = function(v29, v30, v31, v32, v33, v34)
    for _, v36 in ipairs(v30) do
        if v36.VariableId ~= 0 then
            v28(v36, if v29 == "" then v36.Name else v29 .. v1.SeparationToken .. v36.Name, v31, v32, v33, v34);
        end;
    end;
end;
return function(v37, v38, v39, v40, v41)
    return function(v42, _)
        v10(v37, v38, v39, v40, v41, v42);
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local l_Models_0 = l_Parent_0.Src.Models;
local v2 = require(l_Models_0.StepStateBundle);
local _ = require(l_Models_0.DebuggerStateToken);
local v4 = require(l_Parent_0.Src.Thunks.Watch.ExecuteExpressionThunk);
return function(v5, v6, v7, v8)
    return function(v9, _)
        assert(v6);
        local l_v6_ThreadById_0 = v6:GetThreadById(v8);
        assert(l_v6_ThreadById_0);
        for v12 = 1, l_v6_ThreadById_0.FrameCount do
            v9:dispatch(v4(v5, v2.ctor(v7, v8, v12), v6));
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Actions.Watch.ExpressionEvaluated);
local _ = require(l_Parent_0.Src.Actions.Watch.AddChildExpression);
local l_Models_0 = l_Parent_0.Src.Models;
local _ = require(l_Models_0.StepStateBundle);
local v5 = require(l_Models_0.Watch.WatchRow);
local _ = require(l_Parent_0.Src.Util.Constants);
local v7 = require(l_Parent_0.Src.Util.WatchHelperFunctions);
local v8 = require(l_Parent_0.Src.Thunks.Common.AddChildRowsToVars);
return function(v9, v10, v11)
    return function(v12, _)
        v7.evaluateWatchWithCallback(v9, v10, v11, v12, function(v14)
            if v14 ~= nil then
                v12:dispatch(v1(v10, (v5.fromInstance(v14, v9))));
                v12:dispatch(v8("", {
                    v14
                }, v10, false, v11));
            end;
        end);
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Models.StepStateBundle);
local l_Actions_0 = l_Parent_0.Src.Actions;
local v3 = require(l_Actions_0.Watch.SetVariablesScopeFilteredOut);
local v4 = require(l_Actions_0.Watch.ScopeFilterChange);
local v5 = require(l_Parent_0.Src.Util.WatchHelperFunctions);
return function(v6)
    return function(v7, _)
        v7:dispatch(v4(v6));
        local v9 = v7:getState();
        local l_Common_0 = v9.Common;
        local l_Watch_0 = v9.Watch;
        local v12 = l_Common_0.debuggerConnectionIdToDST[l_Common_0.currentDebuggerConnectionId];
        local v13 = l_Common_0.debuggerConnectionIdToCurrentThreadId[l_Common_0.currentDebuggerConnectionId];
        if v13 == nil then
            return ;
        else
            local v14 = l_Common_0.currentFrameMap[l_Common_0.currentDebuggerConnectionId][v13];
            local v15 = v1.ctor(v12, v13, v14);
            local l_stateTokenToRoots_0 = l_Watch_0.stateTokenToRoots;
            local l_stateTokenToFlattenedTree_0 = l_Watch_0.stateTokenToFlattenedTree;
            local v18 = (l_stateTokenToRoots_0[v12] and l_stateTokenToRoots_0[v12][v13]) and l_stateTokenToRoots_0[v12][v13][v14];
            if v18 == nil then
                return ;
            else
                local v19 = (l_stateTokenToFlattenedTree_0[v12] and l_stateTokenToFlattenedTree_0[v12][v13]) and l_stateTokenToFlattenedTree_0[v12][v13][v14];
                if v19 == nil then
                    warn("unexpected nil in filter thunk");
                    return ;
                else
                    local l_Variables_0 = v18.Variables;
                    local l_Variables_1 = v19.Variables;
                    local v22 = {};
                    for _, v24 in pairs(l_Variables_0) do
                        v22[v24] = v5.isScopeFiltered(v6, l_Variables_1[v24]);
                    end;
                    v7:dispatch(v3(v15, v22));
                    return ;
                end;
            end;
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local l_Models_0 = l_Parent_0.Src.Models;
local v2 = require(l_Models_0.StepStateBundle);
local v3 = require(l_Models_0.Watch.TableTab);
local l_Actions_0 = l_Parent_0.Src.Actions;
local v5 = require(l_Actions_0.Watch.SetVariablesTextFilteredOut);
local v6 = require(l_Actions_0.Watch.SetExpansionTree);
local v7 = require(l_Actions_0.Watch.FilterTextChanged);
local v8 = require(l_Parent_0.Src.Util.WatchHelperFunctions);
local function v9(v10, v11, v12, v13)
    local v14 = v12[v11];
    assert(v14 ~= nil, ("FilterWatchDataThunk depthFirstTextFilter got a nil node for path %s"):format((tostring(v11))));
    local v15 = false;
    for _, v17 in ipairs(v14.childPaths) do
        v15 = v15 or v9(v10, v17, v12, v13);
    end;
    local v18 = v15 or v8.textMatchRow(v10, v14);
    v13[v11] = v18;
    return v18;
end;
return function(v19)
    return function(v20, _)
        v20:dispatch(v7(v19));
        local v22 = v20:getState();
        local l_Common_0 = v22.Common;
        local l_Watch_0 = v22.Watch;
        local v25 = l_Common_0.debuggerConnectionIdToDST[l_Common_0.currentDebuggerConnectionId];
        local v26 = l_Common_0.debuggerConnectionIdToCurrentThreadId[l_Common_0.currentDebuggerConnectionId];
        if v26 == nil then
            return ;
        else
            local v27 = l_Common_0.currentFrameMap[l_Common_0.currentDebuggerConnectionId][v26];
            local v28 = v2.ctor(v25, v26, v27);
            local v29 = l_Watch_0.currentTab == v3.Variables;
            local l_stateTokenToRoots_0 = l_Watch_0.stateTokenToRoots;
            local l_stateTokenToFlattenedTree_0 = l_Watch_0.stateTokenToFlattenedTree;
            local v32 = (l_stateTokenToRoots_0[v25] and l_stateTokenToRoots_0[v25][v26]) and l_stateTokenToRoots_0[v25][v26][v27];
            if v32 == nil then
                warn("unexpected nil in filter thunk");
                return ;
            else
                local v33 = (l_stateTokenToFlattenedTree_0[v25] and l_stateTokenToFlattenedTree_0[v25][v26]) and l_stateTokenToFlattenedTree_0[v25][v26][v27];
                if v33 == nil then
                    warn("unexpected nil in filter thunk");
                    return ;
                else
                    local v34 = not not v29 and v32.Variables or v32.Watches;
                    local v35 = not not v29 and v33.Variables or v33.Watches;
                    local v36 = {};
                    local v37 = {};
                    for _, v39 in pairs(v34) do
                        v37[v39] = not v9(v19, v39, v35, v36);
                    end;
                    v20:dispatch(v5(v28, v37, v29));
                    v20:dispatch(v6(v29, v36));
                    return ;
                end;
            end;
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent.Parent;
local _ = require(l_Parent_0.Packages.Framework).Util.deepCopy;
local l_Models_0 = l_Parent_0.Src.Models;
local v3 = require(l_Models_0.StepStateBundle);
local v4 = require(l_Models_0.Watch.WatchRow);
local l_Thunks_0 = l_Parent_0.Src.Thunks;
local _ = require(l_Thunks_0.Watch.ExecuteExpressionThunk);
local v7 = require(l_Thunks_0.Callstack.LoadStackFrameVariables);
local v8 = require(l_Thunks_0.Common.AddChildRowsToVars);
local v9 = require(l_Parent_0.Src.Actions.Callstack.SetCurrentThread);
local v10 = require(l_Parent_0.Src.Actions.Watch.ExpressionsEvaluated);
local v11 = require(l_Parent_0.Src.Util.WatchHelperFunctions);
return function(v12, v13, v14, v15)
    return function(v16, _)
        if v13 then
            v13:UpdateSelectedFrame(v12, v14);
            v15:SetCurrentThreadId(v12);
            v16:dispatch(v9(v12));
            local v18 = v16:getState().Common.debuggerConnectionIdToDST[v13.Id];
            local l_Children_0 = v13:GetThreadById(v12):GetChildren();
            local v20 = v3.ctor(v18, v12, v14 + 1);
            v16:dispatch(v7(v13, l_Children_0[v14 + 1], v20));
            local l_listOfExpressions_0 = v16:getState().Watch.listOfExpressions;
            local v22 = {};
            local v23 = {};
            local v24 = #l_listOfExpressions_0;
            for _, v26 in ipairs(l_listOfExpressions_0) do
                v11.evaluateWatchWithCallback(v26, v20, v13, v16, function(v27)
                    if v27 ~= nil then
                        table.insert(v22, v27);
                        table.insert(v23, v4.fromInstance(v27, v26));
                    end;
                    v24 = v24 - 1;
                    if v24 == 0 then
                        v16:dispatch(v10(v20, v23));
                        v16:dispatch(v8("", v22, v20, false, v13));
                    end;
                end);
            end;
            return ;
        else
            return ;
        end;
    end;
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Resources.AnalyticsEventNames);
local v2 = require(l_Parent_0.Src.Util.Constants);
return {
    setBreakpointRowEnabled = function(v3, v4, v5, v6, v7)
        local v8 = not v4.item.isEnabled;
        if v4.item.context == nil then
            v3:SetEnabled(v8);
            if not v8 then
                v5:report(v1.DisableMetaBreakpoint, v6);
                return ;
            else
                v5:report(v1.EnableMetaBreakpoint, v6);
                return ;
            end;
        else
            local v9 = v2.GetIntForGST(v4.item.context);
            if v9 == nil then
                return ;
            else
                local l_DebuggerUIService_0 = game:GetService("DebuggerUIService");
                local v11 = false;
                if v7 and v7 ~= v2.kInvalidDebuggerConnectionId then
                    v11 = not l_DebuggerUIService_0:IsConnectionForPlayDataModel(v7);
                end;
                if not v11 or not v8 then
                    v3:SetChildBreakpointEnabledByScriptAndContext(v4.item.scriptGUID, v9, v8);
                else
                    v3:SetEnabled(v8);
                end;
                if not v8 then
                    v5:report(v1.DisableBreakpoint, v6);
                    return ;
                else
                    v5:report(v1.EnableBreakpoint, v6);
                    return ;
                end;
            end;
        end;
    end
};


return {
    fetchOldColumnSizes = function(v0, v1, v2, v3)
        local v4 = {};
        for v5 = 1, #v2 do
            v4[v2[v5]] = v3[v5];
        end;
        for v6 = #v2 + 1, v0 do
            v4[v1[v6 - #v2]] = v3[v6];
        end;
        return v4;
    end,
    fetchDeletedColumnsSize = function(v7, v8, v9, v10, v11)
        local v12 = 0;
        for v13 = v7 + 1, v8 do
            if v11[v9[v13 - v7]] == nil then
                v12 = v12 + v10[v9[v13 - v7]].Scale;
            end;
        end;
        return v12;
    end,
    updatedSizesAfterRemovingColumns = function(v14, v15, v16, v17, v18)
        local v19 = {};
        local v20 = 1 - v15;
        for v21 = 1, v14 do
            table.insert(v19, (UDim.new(v16[if not v17[v21] then v18[v21 - #v17] else v17[v21]].Scale / v20, 0)));
        end;
        return v19;
    end,
    updatedSizesAfterAddingColumns = function(v22, v23, v24, v25, v26)
        local v27 = {};
        local v28 = v22 - v23;
        local v29 = UDim.new(1 / v22, 0);
        for v30 = 1, v22 do
            local v31 = if not v26[v30] then v25[v30 - #v26] else v26[v30];
            if v24[v31] == nil then
                table.insert(v27, v29);
            else
                table.insert(v27, (UDim.new(v24[v31].Scale * (1 - v28 * v29.Scale), 0)));
            end;
        end;
        return v27;
    end,
    fetchScaleFromColumnSizes = function(v32)
        local v33 = {};
        for _, v35 in ipairs(v32) do
            table.insert(v33, v35.Scale);
        end;
        return v33;
    end,
    fetchSizesFromColumnScales = function(v36)
        local v37 = {};
        for _, v39 in ipairs(v36) do
            table.insert(v37, UDim.new(v39, 0));
        end;
        return v37;
    end
};


local l_Actions_0 = script.Parent.Parent.Parent.Actions;
local v1 = require(l_Actions_0.Common.SetFilenameForGuid);
local v2 = require(l_Actions_0.Common.SetScriptSourceLine);
local v3 = {};
v3.__index = v3;
local function v12(v4, v5)
    local v6 = v5 or game:GetService("CrossDMScriptChangeListener");
    v4._guidNameChangedConnection = v6.GuidNameChanged:Connect(function(v7, v8)
        v4.store:dispatch(v1(v7, v8));
    end);
    v4._guidLineChangedConnection = v6.GuidLineContentsChanged:Connect(function(v9, v10, v11)
        v4.store:dispatch(v2(v9, v10, v11));
    end);
end;
v3.destroy = function(v13)
    if v13._guidNameChangedConnection then
        v13._guidNameChangedConnection:Disconnect();
        v13._guidNameChangedConnection = nil;
    end;
    if v13._guidLineChangedConnection then
        v13._guidLineChangedConnection:Disconnect();
        v13._guidLineChangedConnection = nil;
    end;
end;
v3.new = function(v14, v15)
    local v16 = {
        store = v14
    };
    v12(v16, v15);
    setmetatable(v16, v3);
    return v16;
end;
return v3;


local l_Parent_0 = script.Parent.Parent.Parent;
local l_Actions_0 = l_Parent_0.Actions;
local v2 = require(l_Actions_0.Callstack.AddThreadId);
local v3 = require(l_Actions_0.Common.Resumed);
local v4 = require(l_Actions_0.Common.SimPaused);
local v5 = require(l_Actions_0.Callstack.SetCurrentThread);
local v6 = require(l_Actions_0.Common.SetCurrentBreakpointId);
local v7 = require(l_Actions_0.Common.SetFocusedDebuggerConnection);
local v8 = require(l_Actions_0.Common.ClearConnectionData);
local v9 = require(l_Parent_0.Thunks.Watch.LoadAllVariablesForThreadAndFrame);
local v10 = require(l_Parent_0.Thunks.Callstack.PopulateCallstackThreadThunk);
local v11 = require(l_Parent_0.Models.DebuggerStateToken);
local v12 = require(l_Parent_0.Util.Constants);
local v13 = {};
v13.__index = v13;
v13.bufferedPauseEvents = {};
v13.onExecutionPaused = function(v14, v15, v16, v17, v18, v19)
    v14.bufferedPauseEvents[v17] = v16;
    wait(0.1);
    if v14.bufferedPauseEvents[v17] ~= v16 then
        return ;
    elseif v14.debuggerConnections[v15.Id] == nil then
        return ;
    else
        v14.store:dispatch(v7(v15.Id));
        local l_Common_0 = v14.store:getState().Common;
        local v21 = v11.fromData({
            debuggerConnectionId = v15.Id
        });
        if tostring(v17) == v12.DebuggerPauseReason.Breakpoint and v16.Breakpoint ~= nil then
            v14.store:dispatch(v6(v16.Breakpoint.MetaBreakpointId));
        end;
        local function _()
            return v21 == v14.store:getState().Common.debuggerConnectionIdToDST[v21.debuggerConnectionId];
        end;
        local v23 = tostring(v17) == v12.DebuggerPauseReason.Exception;
        v14.store:dispatch(v4(v21, v16.ThreadId, v23));
        v15:GetThreads(function(v24)
            if v21 == v14.store:getState().Common.debuggerConnectionIdToDST[v21.debuggerConnectionId] then
                local function _(v25)
                    if v21 == v14.store:getState().Common.debuggerConnectionIdToDST[v21.debuggerConnectionId] then
                        (function()
                            v14.store:dispatch(v9(v25.ThreadId, v15, 0, v18));
                            v14.store:dispatch(v5(v25.ThreadId));
                            local l_v25_Frame_0 = v25:GetFrame(0);
                            v18:SetScriptLineMarker(l_v25_Frame_0.Script, l_Common_0.currentDebuggerConnectionId, l_v25_Frame_0.Line, true);
                            v18:OpenScriptAtLine(l_v25_Frame_0.Script, l_Common_0.currentDebuggerConnectionId, l_v25_Frame_0.Line, false);
                            if v23 then
                                v18:OpenExceptionMessagePopup(v16.ExceptionText, l_v25_Frame_0.Line);
                            end;
                        end)();
                        return ;
                    else
                        return ;
                    end;
                end;
                local l_v24_Arg_0 = v24:GetArg();
                local v29 = if #l_v24_Arg_0 > 0 then l_v24_Arg_0[1] else nil;
                for _, v31 in pairs(l_v24_Arg_0) do
                    v14.store:dispatch(v2(v31.ThreadId, v31.ThreadName, v21));
                    if v31.ThreadId == v16.ThreadId then
                        v29 = v31;
                    end;
                end;
                if #l_v24_Arg_0 > 0 then
                    v14.store:dispatch(v10(v29, v15, v21, v19, function()
                        local l_v29_0 = v29;
                        if v21 == v14.store:getState().Common.debuggerConnectionIdToDST[v21.debuggerConnectionId] then
                            (function()
                                v14.store:dispatch(v9(l_v29_0.ThreadId, v15, 0, v18));
                                v14.store:dispatch(v5(l_v29_0.ThreadId));
                                local l_l_v29_0_Frame_0 = l_v29_0:GetFrame(0);
                                v18:SetScriptLineMarker(l_l_v29_0_Frame_0.Script, l_Common_0.currentDebuggerConnectionId, l_l_v29_0_Frame_0.Line, true);
                                v18:OpenScriptAtLine(l_l_v29_0_Frame_0.Script, l_Common_0.currentDebuggerConnectionId, l_l_v29_0_Frame_0.Line, false);
                                if v23 then
                                    v18:OpenExceptionMessagePopup(v16.ExceptionText, l_l_v29_0_Frame_0.Line);
                                end;
                            end)();
                            return ;
                        else
                            return ;
                        end;
                    end));
                end;
                return ;
            else
                return ;
            end;
        end);
        return ;
    end;
end;
v13.onExecutionResumed = function(v34, v35, v36, v37)
    local v38 = v34.store:getState().Common.debuggerConnectionIdToDST[v35.Id];
    if v38 then
        v37:RemoveScriptLineMarkers(v35.Id, true);
        v34.store:dispatch(v3(v38, v36.ThreadId));
    end;
end;
v13.connectEvents = function(v39, v40, v41, v42, v43)
    v39.store:dispatch(v7(v41.Id));
    v39.connectionEventConnections[v40] = {
        paused = v41.Paused:Connect(function(v44, v45)
            v39:onExecutionPaused(v41, v44, v45, v42, v43);
        end),
        resumed = v41.Resumed:Connect(function(v46)
            v39:onExecutionResumed(v41, v46, v42);
        end)
    };
end;
v13.onConnectionStarted = function(v47, v48, v49, v50)
    assert(v48 and v48.Id ~= 0);
    v47.debuggerConnections[v48.Id] = v48;
    v47:connectEvents(v48.Id, v48, v49, v50);
end;
v13.onConnectionEnded = function(v51, v52, _, v54)
    assert(v52 and v52.Id ~= 0);
    if v54 ~= nil then
        v54:RemoveScriptLineMarkers(v52.Id, true);
    end;
    local v55 = v51.store:getState().Common.debuggerConnectionIdToDST[v52.Id];
    if v55 then
        v51.store:dispatch(v8(v55));
    end;
    if v51.connectionEventConnections[v52.Id] then
        for _, v57 in pairs(v51.connectionEventConnections[v52.Id]) do
            v57:Disconnect();
        end;
    end;
    v51.connectionEventConnections[v52.Id] = nil;
    v51.debuggerConnections[v52.Id] = nil;
end;
v13.onFocusChanged = function(v58, v59)
    v58.store:dispatch(v7(if v59 ~= nil then v59.Id else v12.kInvalidDebuggerConnectionId));
end;
local function v71(v60, v61, v62, v63)
    local v64 = v61 or game:GetService("DebuggerConnectionManager");
    local v65 = v62 or game:GetService("DebuggerUIService");
    local v66 = v63 or game:GetService("CrossDMScriptChangeListener");
    v60._connectionStartedConnection = v64.ConnectionStarted:Connect(function(v67)
        v60:onConnectionStarted(v67, v65, v66);
    end);
    v60._connectionEndedConnection = v64.ConnectionEnded:Connect(function(v68, v69)
        v60:onConnectionEnded(v68, v69, v65);
    end);
    v60._focusChangedConnection = v64.FocusChanged:Connect(function(v70)
        v60:onFocusChanged(v70);
    end);
end;
v13.new = function(v72, v73, v74, v75)
    local v76 = {
        store = v72,
        debuggerConnections = {},
        connectionEventConnections = {}
    };
    v71(v76, v73, v74, v75);
    setmetatable(v76, v13);
    return v76;
end;
v13.destroy = function(v77)
    v77.store:dispatch(v7(v12.kInvalidDebuggerConnectionId));
    if v77._connectionStartedConnection then
        v77._connectionStartedConnection:Disconnect();
        v77._connectionStartedConnection = nil;
    end;
    if v77._connectionEndedConnection then
        v77._connectionEndedConnection:Disconnect();
        v77._connectionEndedConnection = nil;
    end;
    if v77._focusChangedConnection then
        v77._focusChangedConnection:Disconnect();
        v77._focusChangedConnection = nil;
    end;
    for _, v79 in pairs(v77.debuggerConnections) do
        v77:onConnectionEnded(v79, 0);
    end;
end;
return v13;


local l_Workspace_0 = game:GetService("Workspace");
local function _(v1, v2)
    v2 = v2 or false;
    return function()
        local l_DebuggerFlags_0 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_0 and l_DebuggerFlags_0:FindFirstChild(v1) then
            return l_DebuggerFlags_0[v1].Value;
        else
            return v2;
        end;
    end;
end;
local v5 = {};
local v6 = nil or false;
local v7 = "RunningUnderCLI";
local l_v7_0 = v7 --[[ copy: 5 -> 6 ]];
local v9;
do
    local l_v6_0 = v6;
    v9 = function()
        local l_DebuggerFlags_1 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_1 and l_DebuggerFlags_1:FindFirstChild(l_v7_0) then
            return l_DebuggerFlags_1[l_v7_0].Value;
        else
            return l_v6_0;
        end;
    end;
end;
v5.RunningUnderCLI = v9;
v6 = false or false;
v7 = "RunTests";
local l_v7_1 = v7 --[[ copy: 5 -> 7 ]];
do
    local l_v6_1 = v6;
    v9 = function()
        local l_DebuggerFlags_2 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_2 and l_DebuggerFlags_2:FindFirstChild(l_v7_1) then
            return l_DebuggerFlags_2[l_v7_1].Value;
        else
            return l_v6_1;
        end;
    end;
end;
v5.RunTests = v9;
v6 = nil or false;
v7 = "LogTestsQuiet";
local l_v7_2 = v7 --[[ copy: 5 -> 8 ]];
do
    local l_v6_2 = v6;
    v9 = function()
        local l_DebuggerFlags_3 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_3 and l_DebuggerFlags_3:FindFirstChild(l_v7_2) then
            return l_DebuggerFlags_3[l_v7_2].Value;
        else
            return l_v6_2;
        end;
    end;
end;
v5.LogTestsQuiet = v9;
v6 = nil or false;
v7 = "LogAnalytics";
local l_v7_3 = v7 --[[ copy: 5 -> 9 ]];
do
    local l_v6_3 = v6;
    v9 = function()
        local l_DebuggerFlags_4 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_4 and l_DebuggerFlags_4:FindFirstChild(l_v7_3) then
            return l_DebuggerFlags_4[l_v7_3].Value;
        else
            return l_v6_3;
        end;
    end;
end;
v5.LogAnalytics = v9;
v6 = nil or false;
v7 = "RunDeveloperFrameworkTests";
local l_v7_4 = v7 --[[ copy: 5 -> 10 ]];
do
    local l_v6_4 = v6;
    v9 = function()
        local l_DebuggerFlags_5 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_5 and l_DebuggerFlags_5:FindFirstChild(l_v7_4) then
            return l_DebuggerFlags_5[l_v7_4].Value;
        else
            return l_v6_4;
        end;
    end;
end;
v5.RunDeveloperFrameworkTests = v9;
v6 = false or false;
v7 = "EnableRoactConfigs";
do
    local l_v6_5 = v6;
    v9 = function()
        local l_DebuggerFlags_6 = l_Workspace_0:FindFirstChild("DebuggerFlags");
        if l_DebuggerFlags_6 and l_DebuggerFlags_6:FindFirstChild(v7) then
            return l_DebuggerFlags_6[v7].Value;
        else
            return l_v6_5;
        end;
    end;
end;
v5.EnableRoactConfigs = v9;
return v5;


local v0 = require(script.Parent.Parent.Parent.Actions.Watch.ClearAllExpressions);
local v1 = {};
v1.__index = v1;
v1.OnExpressionsCleared = function(v2)
    v2.store:dispatch(v0());
end;
local function _(v3, v4)
    v3._expressionsClearedConnection = (v4 or game:GetService("DebuggerUIService")).ExpressionsCleared:Connect(function()
        v3:OnExpressionsCleared();
    end);
end;
v1.destroy = function(v6)
    if v6._expressionsClearedConnection then
        v6._expressionsClearedConnection:Disconnect();
        v6._expressionsClearedConnection = nil;
    end;
end;
v1.new = function(v7, v8)
    local v9 = {
        store = v7
    };
    v9._expressionsClearedConnection = (v8 or game:GetService("DebuggerUIService")).ExpressionsCleared:Connect(function()
        v9:OnExpressionsCleared();
    end);
    setmetatable(v9, v1);
    return v9;
end;
return v1;


local l_deepCopy_0 = require(script.Parent.Parent.Parent.Packages.Framework).Util.deepCopy;
local v1 = require(script.Parent.Constants);
local function _(v2, v3, v4, v5)
    return {
        Id = v3,
        Text = v2:getText("Common", v3),
        Data = v4,
        OnItemClicked = v5
    };
end;
local function _(v7, v8)
    return {
        id = v8,
        text = v7:getText("Common", v8),
        allowBinding = false
    };
end;
local function v14(v10)
    local v11 = {};
    for _, v13 in pairs(v1.StepActionIds) do
        v11[v13] = {
            id = v13,
            text = v10:getText("Common", v13),
            allowBinding = false
        };
    end;
    v11[v1.StepActionIds.stepOverActionV2].defaultShortcut = "F10";
    v11[v1.StepActionIds.stepIntoActionV2].defaultShortcut = "F11";
    v11[v1.StepActionIds.stepOutActionV2].defaultShortcut = "Shift+F11";
    v11[v1.StepActionIds.simulationResumeActionV2].defaultShortcut = "F5";
    return v11;
end;
return {
    getCallstackActions = function(v15, v16)
        local v17 = {};
        for _, v19 in pairs(v1.CallstackActionIds) do
            v17[v19] = {
                Id = v19,
                Text = v15:getText("Common", v19),
                Data = nil,
                OnItemClicked = v16
            };
        end;
        return v17;
    end,
    getWatchActions = function(v20, v21, v22)
        local v23 = {};
        for _, v25 in pairs(v1.WatchActionIds) do
            v23[v25] = {
                Id = v25,
                Text = v20:getText("Common", v25),
                Data = v21,
                OnItemClicked = v22
            };
        end;
        return v23;
    end,
    getBreakpointActions = function(v26, v27, v28, v29, v30)
        local v31 = {};
        local l_BreakpointActions_0 = v1.BreakpointActions;
        if v28 then
            l_BreakpointActions_0 = v1.LogpointActions;
        end;
        for _, v34 in pairs(l_BreakpointActions_0) do
            v31[v34] = {
                Id = v34,
                Text = v26:getText("Common", v34),
                Data = v29,
                OnItemClicked = v30
            };
        end;
        for _, v36 in pairs(v1.CommonActions) do
            v31[v36] = {
                Id = v36,
                Text = v26:getText("Common", v36),
                Data = v29,
                OnItemClicked = v30
            };
        end;
        if not v27 then
            if not v28 then
                v31[v1.BreakpointActions.DisableBreakpoint] = nil;
                return v31;
            else
                v31[v1.LogpointActions.DisableLogpoint] = nil;
                return v31;
            end;
        elseif not v28 then
            v31[v1.BreakpointActions.EnableBreakpoint] = nil;
            return v31;
        else
            v31[v1.LogpointActions.EnableLogpoint] = nil;
            return v31;
        end;
    end,
    getActionsWithShortcuts = function(v37)
        local v38 = {};
        for v39, v40 in pairs((v14(v37))) do
            v38[v39] = v40;
        end;
        return v38;
    end,
    getBreakpointActionsOrder = function(v41, v42)
        local v43 = if not v42 then l_deepCopy_0(v1.BreakpointActionsOrder) else l_deepCopy_0(v1.LogpointActionsOrder);
        if not v41 then
            table.remove(v43, v1.DisableKey);
            return v43;
        else
            table.remove(v43, v1.EnableKey);
            return v43;
        end;
    end
};


local l_Parent_0 = script.Parent.Parent.Parent;
local l_Actions_0 = l_Parent_0.Actions;
local v2 = require(l_Parent_0.Models.MetaBreakpoint);
local v3 = require(l_Actions_0.BreakpointsWindow.AddBreakpoint);
local v4 = require(l_Actions_0.BreakpointsWindow.ModifyBreakpoint);
local v5 = require(l_Actions_0.BreakpointsWindow.DeleteBreakpoint);
local v6 = require(l_Actions_0.Common.SetFilenameForGuid);
local v7 = {};
v7.__index = v7;
v7.onMetaBreakpointAdded = function(v8, v9)
    v8.store:dispatch(v3(v8.store:getState().Common.currentDebuggerConnectionId, (v2.fromMetaBreakpoint(v9))));
    v8.store:dispatch(v6(v9.Script, ""));
    v8:updateScriptWatcher(v9);
end;
v7.updateScriptWatcher = function(v10, v11)
    for _, v13 in pairs((v11:GetContextBreakpoints())) do
        local l_connectionId_0 = v13.connectionId;
        for _, v16 in ipairs(v13.breakpoints) do
            v10._crossDmScriptChangeListenerService:StartWatchingScriptLine(v16.Script, l_connectionId_0, v16.Line);
        end;
    end;
end;
v7.onMetaBreakpointChanged = function(v17, v18)
    local v19 = v2.fromMetaBreakpoint(v18);
    v17:updateScriptWatcher(v18);
    v17.store:dispatch(v4(v19));
end;
v7.onMetaBreakpointRemoved = function(v20, v21)
    v20.store:dispatch(v5(v21.Id));
end;
local function v31(v22, v23, v24)
    local v25 = v23 or game:GetService("MetaBreakpointManager");
    v22._crossDmScriptChangeListenerService = v24 or game:GetService("CrossDMScriptChangeListener");
    v22._metaBreakpointAddedConnection = v25.MetaBreakpointAdded:Connect(function(v26)
        v22:onMetaBreakpointAdded(v26);
    end);
    v22._metaBreakpointChangedConnection = v25.MetaBreakpointChanged:Connect(function(v27)
        v22:onMetaBreakpointChanged(v27);
    end);
    v22._metaBreakpointSetChangedConnection = v25.MetaBreakpointSetChanged:Connect(function(v28, _)
        v22:onMetaBreakpointChanged(v28);
    end);
    v22._metaBreakpointRemovedConnection = v25.MetaBreakpointRemoved:Connect(function(v30)
        v22:onMetaBreakpointRemoved(v30);
    end);
end;
v7.destroy = function(v32)
    if v32._metaBreakpointAddedConnection then
        v32._metaBreakpointAddedConnection:Disconnect();
        v32._metaBreakpointAddedConnection = nil;
    end;
    if v32._metaBreakpointRemovedConnection then
        v32._metaBreakpointRemovedConnection:Disconnect();
        v32._metaBreakpointRemovedConnection = nil;
    end;
    if v32._metaBreakpointChangedConnection then
        v32._metaBreakpointChangedConnection:Disconnect();
        v32._metaBreakpointChangedConnection = nil;
    end;
    if v32._metaBreakpointSetChangedConnection then
        v32._metaBreakpointSetChangedConnection:Disconnect();
        v32._metaBreakpointSetChangedConnection = nil;
    end;
end;
v7.new = function(v33, v34, v35)
    local v36 = {
        store = v33
    };
    v31(v36, v34, v35);
    setmetatable(v36, v7);
    return v36;
end;
return v7;


local l_Parent_0 = script.Parent.Parent;
local l_Models_0 = l_Parent_0.Models;
local v2 = require(l_Models_0.Watch.WatchRow);
local v3 = require(l_Models_0.Watch.VariableRow);
local v4 = require(l_Models_0.Watch.ScopeEnum);
local v5 = require(l_Models_0.StepStateBundle);
local v6 = require(l_Models_0.MetaBreakpoint);
local l_Mocks_0 = l_Parent_0.Mocks;
local v8 = require(l_Mocks_0.ThreadState);
local v9 = require(l_Mocks_0.StackFrame);
local v10 = require(l_Mocks_0.ScriptRef);
local v11 = require(l_Mocks_0.PausedState);
local v12 = require(l_Mocks_0.DebuggerVariable);
local v13 = require(l_Mocks_0.MockDebuggerConnection);
local v14 = require(l_Mocks_0.MockDebuggerConnectionManager);
local v15 = require(l_Mocks_0.MockDebuggerUIService);
local v16 = require(l_Mocks_0.MockCrossDMScriptChangeListenerService);
local l_Actions_0 = l_Parent_0.Actions;
local v18 = require(l_Actions_0.Watch.AddExpression);
local v19 = require(l_Actions_0.Watch.ExpressionEvaluated);
local v20 = require(l_Actions_0.BreakpointsWindow.AddBreakpoint);
local v21 = require(l_Actions_0.Watch.AddChildVariables);
local v22 = require(l_Parent_0.Util.DebugConnectionListener.DebugConnectionListener);
local v23 = require(l_Parent_0.Util.Constants);
return function(v24)
    local v25 = v2.fromData({
        expression = "Expression 1",
        path = "3",
        scope = v4.Local,
        value = "somePreview",
        dataType = "string",
        childPaths = {}
    });
    local v26 = v12.new(1, "Alex", "somePreview", "map");
    local v27 = {
        name = "Heesoo",
        path = "Alex_Heesoo",
        scope = v4.Local,
        value = "somePreview",
        dataType = "map"
    };
    local v28 = {
        name = "Austin",
        path = "Alex_Austin",
        scope = v4.Local,
        value = "somePreview",
        dataType = "string"
    };
    local v29 = {
        name = "Raul",
        path = "Alex_Heesoo_Raul",
        scope = v4.Local,
        value = "somePreview",
        dataType = "string"
    };
    local v30 = {
        name = "Karan",
        path = "Alex_Austin_Karan",
        scope = v4.Local,
        value = "somePreview",
        dataType = "string"
    };
    local v31 = v12.new(2, "UnitedStates", "somePreview2", "map");
    local v32 = {
        name = "Wisconsin",
        path = "UnitedStates_Wisconsin",
        scope = v4.Local,
        value = "somePreview2",
        dataType = "map"
    };
    local v33 = {
        name = "GreenBay",
        path = "UnitedStates_Wisconsin_GreenBay",
        scope = v4.Local,
        value = "somePreview2",
        dataType = "string"
    };
    local v34 = v3.fromData(v27);
    local v35 = v3.fromData(v28);
    local v36 = v3.fromData(v29);
    local v37 = v3.fromData(v30);
    local v38 = v3.fromData(v32);
    local v39 = v3.fromData(v33);
    local v40 = v10.new();
    local v41 = v10.new();
    local v42 = v9.new(10, v40, "TestFrame1", "C");
    local v43 = v9.new(20, v41, "TestFrame2", "C");
    local v44 = {
        [0] = v42,
        [1] = v43
    };
    local v45 = {
        [0] = v43,
        [1] = v42
    };
    local v46 = v8.new(1, v40, true);
    local v47 = v8.new(2, v41, true);
    local v48 = nil;
    v48 = v11.new(v23.DebuggerPauseReason.Requested, 1, true);
    local v49 = v13.new(1);
    local v50 = v14.new();
    local _ = v22.new(v24, v50, v15.new(), v16.new());
    v49.MockSetThreadStateById(1, v46);
    v49.MockSetThreadStateById(2, v47);
    v49.MockSetCallstackByThreadId(1, v44);
    v49.MockSetCallstackByThreadId(2, v45);
    local v52 = v12.GetDefaultFrameVariables();
    v52.Locals:MockSetChildren({
        v26,
        v31
    });
    v49.MockSetDebuggerVariablesByCallstackFrame(v42, v52);
    local v53 = v12.GetDefaultFrameVariables();
    v53.Locals:MockSetChildren({
        v31,
        v26
    });
    v49.MockSetDebuggerVariablesByCallstackFrame(v43, v53);
    v50.ConnectionStarted:Fire(v49);
    v49.Paused:Fire(v48, v48.Reason);
    local l_Common_0 = v24:getState().Common;
    local v55 = v5.ctor(l_Common_0.debuggerConnectionIdToDST[l_Common_0.currentDebuggerConnectionId], 1, 1);
    v24:dispatch(v18("Expression 1"));
    v24:dispatch(v19(v55, v25));
    local v56 = 0;
    for _, v58 in ipairs({
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        14
    }) do
        v24:dispatch(v20(123, v6.mockMetaBreakpoint({
            isEnabled = v56 >= 6
        }, v58)));
        v56 = v56 + 1;
    end;
    v24:dispatch(v21(v55, "Alex", {
        v34,
        v35
    }));
    v24:dispatch(v21(v55, "Alex_Heesoo", {
        v36
    }));
    v24:dispatch(v21(v55, "Alex_Austin", {
        v37
    }));
    v24:dispatch(v21(v55, "UnitedStates", {
        v38
    }));
    v24:dispatch(v21(v55, "UnitedStates_Wisconsin", {
        v39
    }));
    return v24;
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Src.Util.Constants);
local _ = require(l_Parent_0.Src.Models.StepStateBundle);
return {
    textMatchRow = function(v3, v4)
        local v5 = v3:lower();
        if v4.nameColumn ~= nil and string.find(v4.nameColumn:lower(), v5) ~= nil then
            return true;
        elseif v4.expressionColumn ~= nil and string.find(v4.expressionColumn:lower(), v5) ~= nil then
            return true;
        elseif string.find(v4.scopeColumn:lower(), v5) ~= nil then
            return true;
        elseif string.find(v4.valueColumn:lower(), v5) ~= nil then
            return true;
        elseif string.find(v4.dataTypeColumn:lower(), v5) ~= nil then
            return true;
        else
            return false;
        end;
    end,
    isScopeFiltered = function(v6, v7)
        assert(v7 ~= nil, ("isScopeFiltered got a nil node for path %s"):format((tostring(v7))));
        for _, v9 in ipairs(v6) do
            if string.find(v7.scopeColumn, v9) then
                return false;
            end;
        end;
        return true;
    end,
    evaluateWatchWithCallback = function(v10, v11, v12, v13, v14)
        local l_debuggerStateToken_0 = v11.debuggerStateToken;
        if l_debuggerStateToken_0 ~= v13:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_0.debuggerConnectionId] then
            v14(nil);
        end;
        if v12 == nil then
            assert(false);
        end;
        local l_v12_ThreadById_0 = v12:GetThreadById(v11.threadId);
        if l_v12_ThreadById_0 == nil then
            assert(false);
        end;
        local l_l_v12_ThreadById_0_Frame_0 = l_v12_ThreadById_0:GetFrame(v11.frameNumber - 1);
        if l_l_v12_ThreadById_0_Frame_0 == nil then
            assert(false);
        end;
        v12:EvaluateWatch(v10, l_l_v12_ThreadById_0_Frame_0, function(v18)
            local l_debuggerStateToken_1 = v11.debuggerStateToken;
            if l_debuggerStateToken_1 ~= v13:getState().Common.debuggerConnectionIdToDST[l_debuggerStateToken_1.debuggerConnectionId] then
                v14(nil);
            end;
            if tostring(v18.Status) ~= v1.DebuggerStatus.Success then
                v14(nil);
            end;
            v14(v18:GetArg());
        end);
    end,
    sortTableByColumnAndOrder = function(v20, v21, v22, v23, v24, v25)
        local v26 = v22 or Enum.SortDirection.Descending;
        local v27 = nil;
        local v28 = false;
        if v21 == nil then
            v28 = v22 == nil;
        end;
        v27 = if (not not v28 and v25) and #v25 > 0 then v25[1] else not not v23[v21] and v23[v21] or v23[not not v23[v21] and v21 or 1];
        local function v36(v29, v30, v31)
            local l_v29_0 = v29;
            local l_v30_0 = v30;
            if type(l_v29_0) == "boolean" then
                l_v29_0 = not l_v29_0 and 0 or 1;
                l_v30_0 = not l_v30_0 and 0 or 1;
            elseif type(l_v29_0) == "string" then
                local v34 = string.lower(l_v29_0);
                local v35 = string.lower(l_v30_0);
                if v34 ~= v35 then
                    l_v29_0 = v34;
                    l_v30_0 = v35;
                end;
            end;
            if v31 == Enum.SortDirection.Ascending then
                return l_v30_0 < l_v29_0;
            else
                return l_v29_0 < l_v30_0;
            end;
        end;
        local function v42(v37, v38)
            if v37[v27] == v38[v27] then
                local v39 = if not v25 then v23 else v25;
                for _, v41 in ipairs(v39) do
                    if v37[v41] ~= v38[v41] then
                        return (v36(v37[v41], v38[v41], Enum.SortDirection.Descending));
                    end;
                end;
                return false;
            else
                return (v36(v37[v27], v38[v27], v26));
            end;
        end;
        local v43 = nil;
        if v24 and #v20 > 0 then
            v43 = table.remove(v20);
        end;
        table.sort(v20, v42);
        if not (not v24 or not v43) then
            table.insert(v20, v43);
        end;
    end
};


return function(v0)
    local v1 = "";
    for _, v3 in ipairs(v0) do
        if v1 ~= "" then
            v1 = v1 .. ",";
        end;
        v1 = v1 .. v3;
    end;
    return v1;
end;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Rodux);
local v2 = require(l_Parent_0.Packages.Framework);
local l_TestHelpers_0 = v2.TestHelpers;
local l_ContextServices_0 = v2.ContextServices;
local v5 = require(l_Parent_0.Src.Reducers.MainReducer);
local v6 = require(l_Parent_0.Src.Middleware.MainMiddleware);
local v7 = {
    l_ContextServices_0.Analytics.mock(),
    l_ContextServices_0.Localization.mock(),
    require(l_Parent_0.Src.Resources.MakeTheme)(true)
};
return function(v8, v9)
    assert(type(v8) == "table", "Expected initialStore to be a table");
    assert(type(v9) == "table", "Expected children to be a table");
    local v10 = v1.Store.new(v5, v8, v6);
    table.insert(v7, l_ContextServices_0.Store.new(v10));
    return {
        getStore = function()
            return v10;
        end,
        getChildrenWithMockContext = function()
            return l_TestHelpers_0.provideMockContext(v7, v9);
        end
    };
end;


if plugin then
    local l_Parent_0 = script.Parent.Parent;
    local l_Common_0 = script.Parent.Parent.Common;
    require(l_Common_0.defineLuaFlags);
    if not require(l_Common_0.Parent.Src.Util.DebugFlags).RunningUnderCLI() then
        if game:FindService("DebuggerUIService") then
            require(l_Common_0.commonInit)();
            local v2 = game:GetService("StudioService"):HasInternalPermission();
            local v3 = require(l_Parent_0.Packages.Roact);
            local v4 = require(l_Parent_0.Packages.Framework);
            local v5 = require(l_Parent_0.Src.MainPlugin);
            local v6 = nil;
            local v7 = nil;
            local function v8()
                plugin.Name = l_Parent_0.Name;
                v6 = v3.mount((v3.createElement(v5, {
                    Plugin = plugin
                })));
                if v2 then
                    if v7 then
                        v7:destroy();
                        v7 = nil;
                    end;
                    v7 = v4.DeveloperTools.forStandalonePlugin(l_Parent_0.Name, plugin, {});
                end;
                if v7 then
                    v7:addRoactTree("Roact tree", v6);
                end;
            end;
            plugin.Unloading:Connect(function()
                if v7 then
                    v7:destroy();
                    v7 = nil;
                end;
                if v6 then
                    v3.unmount(v6);
                    v6 = nil;
                end;
            end);
            v8();
            return ;
        else
            return ;
        end;
    else
        return ;
    end;
else
    return ;
end;


if plugin then
    local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
    local v1 = require(l_script_FirstAncestor_0.Packages.TestLoader);
    v1.launch("ModerationDialog", l_script_FirstAncestor_0.Src);
    if not v1.isCli() then
        if require(l_script_FirstAncestor_0.Bin.Common.defineLuaFlags).getFFlagEnableModerationDialog() then
            local v2 = require(l_script_FirstAncestor_0.Bin.Common.pluginType);
            if v2.get() ~= v2.Asset then
                return ;
            else
                require(l_script_FirstAncestor_0.Bin.Common.setup)(plugin, (require(l_script_FirstAncestor_0.Bin.Common.setupMain)));
                return ;
            end;
        else
            return ;
        end;
    else
        return ;
    end;
else
    return ;
end;


game:DefineFastFlag("EnableModerationDialog", false);
return {
    getFFlagEnableModerationDialog = function()
        return game:GetFastFlag("EnableModerationDialog");
    end
};


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
local v1 = require(l_script_FirstAncestor_0.Packages.PluginLoader.PluginLoaderBuilder);
local l_SourceStrings_0 = l_script_FirstAncestor_0.Src.Resources.Localization.SourceStrings;
local l_LocalizedStrings_0 = l_script_FirstAncestor_0.Src.Resources.Localization.LocalizedStrings;
local v4 = require(l_script_FirstAncestor_0.Bin.Common.pluginType);
return function(v5, v6)
    v5.Name = l_script_FirstAncestor_0.Name;
    local v13 = {
        getName = function(v7, v8, v9)
            return v7(v8, v9, "Plugin", "Button");
        end,
        getDescription = function(v10, v11, v12)
            return v10(v11, v12, "Plugin", "Description");
        end,
        icon = "rbxlocaltheme://GameSettings",
        enabled = false
    };
    local v17 = {
        plugin = v5,
        pluginName = "ModerationDialog",
        translationResourceTable = l_LocalizedStrings_0,
        fallbackResourceTable = l_SourceStrings_0,
        getToolbarName = function(v14, v15, v16)
            return v14(v15, v16, "Plugin", "Toolbar");
        end,
        buttonInfo = v13
    };
    local l_RunService_0 = game:GetService("RunService");
    local v19 = v4.get() == v4.Standalone;
    local v20 = l_RunService_0:IsEdit();
    if not v19 and not v20 then
        v1.build(v17);
        return ;
    else
        v13.enabled = true;
        v17.dockWidgetInfo = {
            id = "ModerationDialog",
            dockWidgetPluginGuiInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Bottom, false, false, 640, 480, 250, 200),
            getDockTitle = function(v21, v22, v23)
                return v21(v22, v23, "Plugin", "Name");
            end,
            zIndexBehavior = Enum.ZIndexBehavior.Sibling
        };
        local v24 = v1.build(v17);
        if v24.pluginLoader:waitForUserInteraction() then
            v6(v5, v24);
            return ;
        else
            return ;
        end;
    end;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
return function(v1, v2)
    local v3 = require(l_script_FirstAncestor_0.Packages.React);
    local v4 = require(l_script_FirstAncestor_0.Packages.ReactRoblox);
    local v5 = v3.createElement(require(l_script_FirstAncestor_0.Src.MainPlugin), {
        Plugin = v1,
        PluginLoaderContext = v2
    });
    local v6 = v4.createRoot((Instance.new("Frame")));
    assert(v6);
    v6:render(v5);
    v1.Unloading:Connect(function()
        if v6 then
            v6:render(nil);
            v6 = nil;
        end;
    end);
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
if require(l_script_FirstAncestor_0.Bin.Common.defineLuaFlags).getFFlagEnableModerationDialog() then
    if not require(l_script_FirstAncestor_0.Packages.TestLoader).isCli() then
        local v1 = require(l_script_FirstAncestor_0.Bin.Common.pluginType);
        if v1.get() ~= v1.Standalone then
            return ;
        else
            require(l_script_FirstAncestor_0.Bin.Common.setup)(plugin, (require(l_script_FirstAncestor_0.Bin.Common.setupMain)));
            return ;
        end;
    else
        error("roblox-cli should not be loading standalone plugins");
        return ;
    end;
else
    return ;
end;


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
local v1 = require(l_script_FirstAncestor_0.Packages.React);
local v2 = require(l_script_FirstAncestor_0.Packages.Framework);
local l_Localization_0 = v2.ContextServices.Localization;
local l_joinTags_0 = v2.Styling.joinTags;
local l_LayoutOrderIterator_0 = v2.Util.LayoutOrderIterator;
return function(v6)
    local v7 = l_Localization_0:use();
    local v8 = l_LayoutOrderIterator_0.new();
    return v1.createElement("Frame", {
        LayoutOrder = v6.LayoutOrder,
        [v1.Tag] = "Component-Checkbox X-FitY"
    }, {
        CheckboxImage = v1.createElement("ImageButton", {
            LayoutOrder = v8:getNextOrder(),
            [v1.Tag] = l_joinTags_0("X-Fit", not v6.Checked and "Unchecked" or "Checked"),
            [v1.Event.Activated] = v6.OnChecked
        }),
        IAgree = v1.createElement("TextButton", {
            Text = v7:getText("Agreement", "IAgree"),
            LayoutOrder = v8:getNextOrder(),
            [v1.Tag] = "X-FitY",
            [v1.Event.Activated] = v6.OnChecked
        })
    });
end;


local l_createStyleRule_0 = require(script:FindFirstAncestor("ModerationDialog").Packages.Framework).Styling.createStyleRule;
return l_createStyleRule_0(".Component-Checkbox", {}, {
    l_createStyleRule_0("::UIListLayout", {
        FillDirection = Enum.FillDirection.Horizontal,
        Padding = UDim.new(0, 12),
        SortOrder = Enum.SortOrder.LayoutOrder
    }),
    l_createStyleRule_0(">> ImageButton", {
        Size = UDim2.new(0, 16, 0, 16),
        BackgroundTransparency = 1
    }),
    l_createStyleRule_0(">> .Unchecked", {
        Image = "$CheckboxUncheckedImage",
        HoverImage = "$CheckboxHoveredImage"
    }),
    l_createStyleRule_0(">> .Checked", {
        Image = "$CheckboxCheckedImage"
    }),
    l_createStyleRule_0(">> TextButton", {
        Font = Enum.Font.SourceSans,
        TextColor3 = "$TextPrimary",
        TextSize = 16,
        TextWrapped = true,
        TextXAlignment = Enum.TextXAlignment.Left,
        BackgroundTransparency = 1
    })
});


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
local v1 = require(l_script_FirstAncestor_0.Packages.React);
local v2 = require(l_script_FirstAncestor_0.Packages.Framework);
local l_Localization_0 = v2.ContextServices.Localization;
local l_useDialog_0 = v2.UI.Hooks.useDialog;
local l_LayoutOrderIterator_0 = v2.Util.LayoutOrderIterator;
local l_Components_0 = l_script_FirstAncestor_0.Src.Components;
local v7 = require(l_Components_0.Checkbox);
local v8 = require(l_Components_0.Reason);
local v9 = require(l_Components_0.ReviewedNote);
local v10 = require(l_script_FirstAncestor_0.Src.Util.AbuseTypeToString);
local v11 = game:DefineFastString("ModerationDialogToULink", "https://en.help.roblox.com/hc/articles/115004647846-Roblox-Terms-of-Use");
local function v17(v12, v13, v14)
    local v15 = l_Localization_0:use();
    local v16 = l_LayoutOrderIterator_0.new();
    return {
        DialogContainer = v1.createElement("Frame", {
            LayoutOrder = v16:getNextOrder(),
            [v1.Tag] = "X-Fill X-Column Component-DialogContainer"
        }, {
            ReviewedNote = v1.createElement(v9, {
                ReviewDateTime = v12.ReviewDateTime,
                ModeratorNote = v12.ModeratorNote,
                LayoutOrder = v16:getNextOrder()
            }),
            Separator1 = v1.createElement("Frame", {
                LayoutOrder = v16:getNextOrder(),
                [v1.Tag] = "Separator"
            }),
            Reason = v1.createElement(v8, {
                Reason = v10(v15, v12.Reason.abuseType),
                OffensiveItem = v12.Reason.utteranceText,
                LayoutOrder = v16:getNextOrder()
            }),
            Separator2 = v1.createElement("Frame", {
                LayoutOrder = v16:getNextOrder(),
                [v1.Tag] = "Separator"
            }),
            GuidelinesAndToU = v1.createElement("TextLabel", {
                Text = v15:getText("Agreement", "GuidelinesAndToU"),
                LayoutOrder = v16:getNextOrder(),
                [v1.Tag] = "X-FitY"
            }),
            AgreeCheckBox = v1.createElement(v7, {
                LayoutOrder = v16:getNextOrder(),
                Text = v15:getText("Agreement", "IAgree"),
                Checked = v13,
                OnChecked = function()
                    v14(not v13);
                end,
                [v1.Tag] = "X-FitY"
            })
        })
    };
end;
return function(v18)
    local v19 = l_Localization_0:use();
    local v20, v21 = v1.useState(false);
    v1.useEffect(l_useDialog_0({
        Intent = "Warning",
        Heading = v19:getText("WarningHeader", "WarningHeader"),
        Body = v19:getText("WarningHeader", "WarningBody"),
        Contents = v17(v18, v20, v21),
        ActionPrimary = v1.useMemo(function()
            return table.freeze({
                Label = v19:getText("Buttons", "Reactivate"),
                Enabled = v20,
                OnActivated = function()
                    print("reactivate");
                end
            });
        end, {
            v20,
            v19.locale
        }),
        ActionSecondary = v1.useMemo(function()
            return table.freeze({
                Label = v19:getText("Buttons", "LogOut"),
                OnActivated = function()
                    print("logout");
                end
            });
        end, {
            v19.locale
        }),
        ActionTertiary = v1.useMemo(function()
            return table.freeze({
                Label = v19:getText("Buttons", "TermsOfUse"),
                OnActivated = function()
                    game:GetService("StudioService"):OpenInBrowser_DONOTUSE(v11);
                end
            });
        end, {
            v19.locale
        }),
        Modal = false,
        Width = 475
    }), {});
    return nil;
end;


local l_createStyleRule_0 = require(script:FindFirstAncestor("ModerationDialog").Packages.Framework).Styling.createStyleRule;
return l_createStyleRule_0(".Component-DialogContainer", {
    BackgroundColor3 = "$ForegroundMain",
    BorderSizePixel = 0
}, {
    l_createStyleRule_0("> UIListLayout", {
        Padding = UDim.new(0, 16)
    }),
    l_createStyleRule_0(">> Frame", {
        BackgroundTransparency = 1
    }),
    l_createStyleRule_0(">> .Separator", {
        Size = UDim2.new(1, 0, 0, 1),
        BackgroundColor3 = "$Divider",
        AnchorPoint = Vector2.new(0.5, 0.5),
        BorderSizePixel = 0,
        BackgroundTransparency = 0
    })
});


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
local v1 = require(l_script_FirstAncestor_0.Packages.React);
local v2 = require(l_script_FirstAncestor_0.Packages.Framework);
local l_Localization_0 = v2.ContextServices.Localization;
local l_LayoutOrderIterator_0 = v2.Util.LayoutOrderIterator;
return function(v5)
    local v6 = l_Localization_0:use();
    local v7 = l_LayoutOrderIterator_0.new();
    return v1.createElement("Frame", {
        LayoutOrder = v5.LayoutOrder,
        [v1.Tag] = "Component-Reason X-FitY"
    }, {
        Reason = v1.createElement("TextLabel", {
            Text = v6:getText("Reason", "Reason1", {
                reason = v5.Reason
            }),
            LayoutOrder = v7:getNextOrder(),
            [v1.Tag] = "X-FitY"
        }),
        OffensiveItem = v1.createElement("TextLabel", {
            Text = v6:getText("Reason", "OffensiveItem1", {
                offensiveItem = v5.OffensiveItem
            }),
            LayoutOrder = v7:getNextOrder(),
            [v1.Tag] = "X-FitY"
        })
    });
end;


local l_createStyleRule_0 = require(script:FindFirstAncestor("ModerationDialog").Packages.Framework).Styling.createStyleRule;
return l_createStyleRule_0(".Component-Reason", {}, {
    l_createStyleRule_0("::UIListLayout", {
        FillDirection = Enum.FillDirection.Vertical,
        Padding = UDim.new(0, 7),
        SortOrder = Enum.SortOrder.LayoutOrder
    })
});


local l_script_FirstAncestor_0 = script:FindFirstAncestor("ModerationDialog");
local v1 = require(l_script_FirstAncestor_0.Packages.React);
local v2 = require(l_script_FirstAncestor_0.Packages.Framework);
local l_Localization_0 = v2.ContextServices.Localization;
local _ = v2.Util;
local l_LayoutOrderIterator_0 = v2.Util.LayoutOrderIterator;
return function(v6)
    local v7 = l_Localization_0:use();
    local v8 = v7:getLocale();
    local v9 = l_LayoutOrderIterator_0.new();
    local v10 = DateTime.fromIsoDate(v6.ReviewDateTime);
    local v11 = v10 and v10:FormatLocalTime("lll", v8);
    return v1.createElement("Frame", {
        [v1.Tag] = "Component-ReviewedNote X-FitY",
        LayoutOrder = v6.LayoutOrder
    }, {
        ReviewedDateTime = v11 and v1.createElement("TextLabel", {
            Text = v7:getText("ReviewedNote", "ReviewedDateTime1", {
                dateTime = v11
            }),
            LayoutOrder = v9:getNextOrder(),
            [v1.Tag] = "X-FitY"
        }),
        ModeratorNote = v1.createElement("TextLabel", {
            Text = v7:getText("ReviewedNote", "ModeratorNote1", {
                note = v6.ModeratorNote
            }),
            LayoutOrder = v9:getNextOrder(),
            [v1.Tag] = "X-FitY"
        })
    });
end;


local l_createStyleRule_0 = require(script:FindFirstAncestor("ModerationDialog").Packages.Framework).Styling.createStyleRule;
return l_createStyleRule_0(".Component-ReviewedNote", {
    BackgroundTransparency = 1,
    BorderSizePixel = 0
}, {
    l_createStyleRule_0("::UIListLayout", {
        FillDirection = Enum.FillDirection.Vertical,
        Padding = UDim.new(0, 4),
        SortOrder = Enum.SortOrder.LayoutOrder
    })
});