<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ ..\..\FrameXML\UI.xsd">
    <!-- UI engine first: provides Nx.prt / Nx.Util_* helpers and the
         legacy Nx.Window/Button/List/Item/Title classes that every
         later legacy file (NxMap, NxQuest, NxFav, NxWarehouse) calls
         into. Relocated from NxUI.lua. -->
    <Script file="UI\UIEngine.lua" />
    <!-- Modal-dialog helpers extracted from Carbonite.lua (Nx:ShowMessage,
         Nx:ShowEditBox, etc.). Loaded after the UI engine. -->
    <Script file="UI\Dialogs.lua" />

    <!-- Options should load second so other modules can register
         their option pages during their own load. Engine (relocated
         from NxOptions.lua) sits right after the shell so the giant
         legacy tree is available when other modules try to extend it. -->
    <Script file="Options\Options.lua" />
    <Script file="Options\OptionsEngine.lua" />

    <!-- Comm next: other modules may want to send addon messages
         on enable. Engine (relocated from NxCom.lua) sits right after
         the shell so subsequent submodules see Nx.Com fully populated. -->
    <Script file="Comm\Comm.lua" />
    <Script file="Comm\CommEngine.lua" />
    <Script file="Comm\CommQueue.lua" />
    <Script file="Comm\PositionShare.lua" />
    <Script file="Comm\CommReceive.lua" />
    <Script file="Comm\ChannelManager.lua" />
    <Script file="Comm\WireFormat.lua" />

    <!-- Map needs Pin / Layer / pin classes before the Map module
         itself can refer to them. Order matters here. -->
    <Script file="Map\Pin.lua" />
    <Script file="Map\Layer.lua" />
    <Script file="Map\MapProvider.lua" />
    <Script file="Map\Pathing.lua" />
    <Script file="Map\Coords.lua" />
    <Script file="Map\MapIDs.lua" />
    <Script file="Map\Hotspots.lua" />
    <Script file="Map\Targets.lua" />
    <Script file="Map\IconTypes.lua" />
    <Script file="Map\Renderer.lua" />
    <Script file="Map\MinimapGlow.lua" />
    <Script file="Map\MiniMap.lua" />
    <Script file="Map\ViewState.lua" />
    <Script file="Map\ZoomController.lua" />
    <Script file="Map\ZoneIterator.lua" />
    <Script file="Map\Battleground.lua" />
    <Script file="Map\GroupTracking.lua" />
    <Script file="Map\ContinentLookup.lua" />
    <Script file="Map\FrameToWorld.lua" />
    <Script file="Map\MinimapButton.lua" />
    <!-- Nx.NXMiniMapBut behaviour (menu builder, mouse handlers,
         drag, profiling toggle) plus Nx.ModChatReceive stub
         extracted from Carbonite.lua. -->
    <Script file="Map\MinimapButtonEngine.lua" />
    <Script file="Map\POICache.lua" />
    <Script file="Map\MapOpen.lua" />
    <Script file="Map\TravelGraph.lua" />
    <Script file="Map\MapToolBar.lua" />
    <Script file="Map\AddonButtons.lua" />
    <Script file="Map\MapTooltip.lua" />
    <Script file="Map\ScrollScale.lua" />
    <Script file="Map\TaxiCapture.lua" />
    <Script file="Map\MountHelper.lua" />
    <Script file="Map\FlightPathFinder.lua" />
    <Script file="Map\ZoneConnections.lua" />
    <Script file="Map\Pins\QuestPin.lua" />
    <Script file="Map\Pins\GatherPin.lua" />
    <Script file="Map\Pins\PlayerPin.lua" />
    <Script file="Map\Pins\NotePin.lua" />
    <Script file="Map\Pins\TrainerPin.lua" />
    <Script file="Map\Pins\PathPin.lua" />
    <Script file="Map\Map.lua" />
    <!-- The 15600-line legacy map engine, relocated from NxMap.lua.
         Loads last in this Map block so the small shells above are
         registered before the engine's methods overwrite. -->
    <Script file="Map\MapEngine.lua" />
    <!-- Nx:PackXY / UnpackXY (event-log coord packing) extracted
         from Carbonite.lua. -->
    <Script file="Map\CoordPack.lua" />

    <!-- HUD: lifecycle/options shell first, engine attaches to it. -->
    <Script file="HUD\HUD.lua" />
    <Script file="HUD\HUDEngine.lua" />
    <!-- Travel: same split (shell, then engine relocated from NxTravel.lua). -->
    <Script file="Travel\Travel.lua" />
    <Script file="Travel\TravelEngine.lua" />

    <!-- Cross-cutting modules. -->
    <Script file="Whatsnew\Whatsnew.lua" />
    <Script file="Whatsnew\WhatsnewWindow.lua" />
    <!-- Engine extracted from Carbonite.lua: owns Nx.Whatsnew data
         table + the changelog window's frame-building methods. -->
    <Script file="Whatsnew\WhatsnewEngine.lua" />
    <Script file="CombatStats\CombatStats.lua" />
    <Script file="TitleScreen\TitleScreen.lua" />
    <!-- Splash-frame animation extracted from Carbonite.lua;
         driven by Nx.Proc tick callbacks. -->
    <Script file="TitleScreen\TitleScreenEngine.lua" />
    <Script file="UserEvents\UserEvents.lua" />
    <!-- WoW event handlers (OnPlayer_regen_*, OnUnit_spellcast_sent,
         OnZone_changed_new_area, OnPlayer_level_up,
         OnParty_members_changed, OnUpdate_battlefield_score)
         extracted from Carbonite.lua. -->
    <Script file="UserEvents\EventHandlers.lua" />
    <!-- Per-character event log (kills/deaths/gathers) extracted
         from Carbonite.lua. Nx.UEvents:Add (in NXOnUpdate) still
         calls Nx:AddXEvent for each kind. -->
    <Script file="UserEvents\EventLog.lua" />
    <!-- The Nx.UEvents class (event log + display window) extracted
         from Carbonite.lua. -->
    <Script file="UserEvents\UEventsEngine.lua" />
    <Script file="GroupMembers\GroupMembers.lua" />
    <Script file="ItemRegistry\ItemRegistry.lua" />
    <!-- Nx.Item class (Load / EnableLoadFromServer / ShowTooltip / etc.)
         extracted from Carbonite.lua. -->
    <Script file="ItemRegistry\ItemEngine.lua" />
    <Script file="AuctionAssist\AuctionAssist.lua" />
    <!-- Engine extracted from Carbonite.lua: AH browse hook plus
         the event-routed AceEvent callbacks. -->
    <Script file="AuctionAssist\AuctionAssistEngine.lua" />
    <Script file="SlashHandler\SlashHandler.lua" />
    <!-- The legacy /carb dispatcher extracted from Carbonite.lua. -->
    <Script file="SlashHandler\SlashCommandEngine.lua" />
    <Script file="EventDispatcher\EventDispatcher.lua" />
    <Script file="ChatHooks\ChatHooks.lua" />
    <Script file="MainUpdater\MainUpdater.lua" />
    <!-- Nx.Proc tick scheduler extracted from Carbonite.lua. -->
    <Script file="MainUpdater\ProcScheduler.lua" />
    <!-- Nx:NXOnUpdate (the per-frame pump) extracted from Carbonite.lua. -->
    <Script file="MainUpdater\NXOnUpdate.lua" />
    <Script file="Window\WindowLayout.lua" />
    <Script file="Window\WindowConsole.lua" />
    <Script file="Window\WindowMenu.lua" />
    <Script file="Window\WindowFade.lua" />
    <Script file="Window\WindowAttach.lua" />
    <Script file="ZoneTransition\ZoneTransition.lua" />
    <Script file="PlayerCharacter\PlayerCharacter.lua" />
    <!-- Saved-variable character record management
         (Init/Find/Copy/Delete/Calc + small data accessors)
         extracted from Carbonite.lua. -->
    <Script file="PlayerCharacter\CharacterData.lua" />
    <!-- Nx:InitGlobal (saved-variable migration + default install)
         extracted from Carbonite.lua. -->
    <Script file="PlayerCharacter\InitGlobal.lua" />
    <!-- The 468-line AceDB defaults table extracted from
         Carbonite.lua; OnInitialize references it as Nx.Defaults. -->
    <Script file="PlayerCharacter\Defaults.lua" />
    <!-- Three small Nx helpers (LootIt / Time / UnitIsPlusMob)
         extracted from Carbonite.lua. -->
    <Script file="PlayerCharacter\MiscHelpers.lua" />
    <Script file="EditModeHooks\EditModeHooks.lua" />
    <Script file="Map\GuideLocations.lua" />
    <Script file="Map\WorldMapIntegration.lua" />
    <Script file="LootHandler\LootHandler.lua" />
    <Script file="HotkeyBindings\HotkeyBindings.lua" />
    <Script file="Map\NameplateGlow.lua" />
    <Script file="Comm\CommSend.lua" />
    <Script file="TooltipScanner\TooltipScanner.lua" />
    <Script file="CharacterRoster\CharacterRoster.lua" />
    <Script file="InitFlow\InitFlow.lua" />
    <!-- Nx:InitEvents (AceEvent registrations for Nx / Com / Guide /
         AuctionAssist / Travel) extracted from Carbonite.lua. -->
    <Script file="InitFlow\EventRegistration.lua" />
    <!-- Nx:SetupEverything pipeline + ADDON_LOADED / UNIT_NAME_UPDATE
         / LocaleInit extracted from Carbonite.lua. -->
    <Script file="InitFlow\SetupPipeline.lua" />
    <!-- AceAddon lifecycle hooks (OnInitialize / OnProfileChanged /
         OnEnable / OnDisable) + NXOnLoad extracted from Carbonite.lua. -->
    <Script file="InitFlow\AceAddonLifecycle.lua" />
    <Script file="DebugFlags\DebugFlags.lua" />
    <!-- Mouseover NPC debug capture (Nx:UnitDGet / UnitDCapture / UnitDTip)
         extracted from Carbonite.lua. -->
    <Script file="DebugFlags\UnitDataCapture.lua" />
    <Script file="Comm\NetSend.lua" />
    <Script file="TaintlessHelpers\TaintlessHelpers.lua" />
    <Script file="SoundPlayer\SoundPlayer.lua" />
    <Script file="Map\IconTooltip.lua" />
    <Script file="Map\DockOpts.lua" />
    <Script file="HUD\HUDArrow.lua" />
    <Script file="Map\GuidePane.lua" />
    <Script file="CombatLockdown\CombatLockdown.lua" />
    <Script file="Comm\CommChat.lua" />
    <Script file="Map\DragonRiding.lua" />
    <Script file="ProfileSwitcher\ProfileSwitcher.lua" />
    <Script file="Comm\ChannelSpamFilter.lua" />
    <Script file="Map\HotspotsRenderer.lua" />
    <Script file="Integrations\GuildBank.lua" />
    <Script file="Window\WindowEscape.lua" />
    <Script file="Window\WindowSearch.lua" />
    <Script file="Window\WindowCombat.lua" />
    <Script file="TooltipPostHook\TooltipPostHook.lua" />
    <Script file="ScriptProcessor\ScriptProcessor.lua" />
    <Script file="DataExportImport\DataExportImport.lua" />
    <Script file="Map\MapDrag.lua" />
    <Script file="Map\MapView.lua" />
    <Script file="CaptureMode\CaptureMode.lua" />
    <Script file="Gather\GatherEvents.lua" />
    <Script file="MouseoverHandler\MouseoverHandler.lua" />
    <Script file="DurabilityWatcher\DurabilityWatcher.lua" />
    <Script file="Comm\AddonPrefix.lua" />
    <Script file="FriendsList\FriendsList.lua" />
    <Script file="MailboxNotice\MailboxNotice.lua" />
    <Script file="PlayerSpec\PlayerSpec.lua" />
    <Script file="AutoCompleteRealms\AutoCompleteRealms.lua" />
    <Script file="InstanceDetector\InstanceDetector.lua" />
    <Script file="CurrencyTracker\CurrencyTracker.lua" />
    <Script file="AchievementHelper\AchievementHelper.lua" />
    <Script file="PartyState\PartyState.lua" />

    <!-- Gather data registry. -->
    <Script file="Gather\Gather.lua" />
    <!-- Nx:GetMaxGatherSkill / ShouldShowGatherNode / GetGatherNodeName
         extracted from Carbonite.lua; data files in Data/Shared/NxMapGuide.lua
         still call these as Nx:... methods. -->
    <Script file="Gather\GatherEngine.lua" />
    <!-- The big chunk: Nx.GatherInfo data, GatherRemap, the in-memory
         cache and every Nx:Gather* recording/lookup/delete/import
         function extracted from Carbonite.lua (~1080 lines). -->
    <Script file="Gather\GatherStorage.lua" />

    <!-- Integrations with sibling addons. -->
    <!-- LDB broker + base menu template extracted from Carbonite.lua. -->
    <Script file="Integrations\LDBEngine.lua" />
    <Script file="Integrations\TomTom.lua" />
    <Script file="Integrations\TomTomWaypoints.lua" />
    <Script file="Integrations\LDB.lua" />
    <Script file="Integrations\Spy.lua" />
</Ui>
