diff --git a/doc/supporters.txt b/doc/supporters.txt
index 50eb4e44023d3c266df2f072055f0bd157366b8d..99e8695cbe9301a4bde22536a5d02e7c1e53dab4 100644
--- a/doc/supporters.txt
+++ b/doc/supporters.txt
@@ -1,25 +1,39 @@
 These are the generous donors to the Alchemy project and other opensource developers that help develop this metaverse. 
 Sorry if I've missed anyone just ping me on discord!
 
+A Raven
 Adrint
+Amerille Starling
 Anarcho Rodentia Autonomous Zone
 Axirala
 Bellimora Bunny
 Farlado UwU
-Idoru Kiyori
+gwigz
+Heather Laughton
+Idoru Venus
 Johnny Ming
 JP Beach
 Katie Suki
+Lance McKenath
+Lemon
+Logue Takacs
+Makay Scribe
 Michelle Dakota
+Moolly Parton
 MutexCat
+Nia
+Nikolina Evergarden
+PygBag
 Rhea Mercury
+Sandy Burgess
+Sonador Blackwood
 Sonny
+Spiffy Voxel
+Strobus Spore
 Todd Lygon
 Tyler C
-Nia
-Lemon
-Logue Takacs
-Strobus Spore
+WurdNerd
+ZoZo Raven
 
 Kitty Barnett
 Amethyst
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 15f7f95cd0c29ac6fc2f116830135a316c305f7c..21b0e19ebb1f50b646783b19435bb822ee78e1fe 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -360,6 +360,7 @@ set(viewer_SOURCE_FILES
     llfloatertopobjects.cpp
     llfloatertos.cpp
     llfloatertoybox.cpp
+    llfloatertransactionlog.cpp
     llfloatertranslationsettings.cpp
     llfloateruipreview.cpp
     llfloaterurlentry.cpp
@@ -1092,6 +1093,7 @@ set(viewer_HEADER_FILES
     llfloatertopobjects.h
     llfloatertos.h
     llfloatertoybox.h
+    llfloatertransactionlog.h
     llfloatertranslationsettings.h
     llfloateruipreview.h
     llfloaterurlentry.h
diff --git a/indra/newview/aldiscordmanager.cpp b/indra/newview/aldiscordmanager.cpp
index 3d953df857c8fad310504777520fcce96aeb6c7c..1cb2b871c1ae6ac3a271ad9aef42b355f76a0294 100644
--- a/indra/newview/aldiscordmanager.cpp
+++ b/indra/newview/aldiscordmanager.cpp
@@ -185,9 +185,9 @@ void ALDiscordManager::updateActivity()
     activity.SetType(discord::ActivityType::Playing);
 
     static LLCachedControl<bool> discord_shared_region(gSavedPerAccountSettings, "ALDiscordShareLocationRegion", true);
-    static LLCachedControl<U32> discord_shared_region_maturity(gSavedPerAccountSettings, "ALDiscordShareRegionMaxMaturity", true);
+    static LLCachedControl<U32> discord_shared_region_maturity(gSavedPerAccountSettings, "ALDiscordShareRegionMaxMaturity", 13);
     std::string region_name;
-    if (RlvActions::canShowLocation() && discord_shared_region && region->getSimAccess() >= discord_shared_region_maturity)
+    if (RlvActions::canShowLocation() && discord_shared_region && region->getSimAccess() <= discord_shared_region_maturity)
     {
         const LLVector3& pos = gAgent.getPositionAgent();
         region_name = fmt::format(FMT_COMPILE("{} ({:.0f}, {:.0f}, {:.0f})"), region->getName(), pos.mV[VX], pos.mV[VY], pos.mV[VZ]);
diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml
index 0fbf3b24a641cbcdab7bf9816bbc942aa4ddaf83..92cf017d4d7edec26c50046bb138f9ffd113362b 100644
--- a/indra/newview/app_settings/settings_alchemy.xml
+++ b/indra/newview/app_settings/settings_alchemy.xml
@@ -2490,5 +2490,19 @@
             <key>Value</key>
             <string>All</string>
         </map>
+        <key>ShowAdvancedHoverTips</key>
+        <map>
+            <key>Comment</key>
+            <string>
+                Toggles more hover tips details.
+            </string>
+            <key>Persist</key>
+            <integer>1</integer>
+            <key>Type</key>
+            <string>Boolean</string>
+            <key>Value</key>
+            <integer>0</integer>
+        </map>
     </map>
-</llsd>
\ No newline at end of file
+</llsd>
+
diff --git a/indra/newview/llfloatertransactionlog.cpp b/indra/newview/llfloatertransactionlog.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..161f6bc4f6a32c3853b88c781429f7c93c05b444
--- /dev/null
+++ b/indra/newview/llfloatertransactionlog.cpp
@@ -0,0 +1,128 @@
+/*
+ * @file llfloatertransactionlog.h
+ * @brief Transaction log floater
+ *
+ * (C) 2014 Cinder Roxley @ Second Life <cinder@sdf.org>
+ * (C) 2024 Improvements by Fallen Kiyori Shadow
+ *
+ * Permission is hereby granted, free of charge, to any person or organization
+ * obtaining a copy of the software and accompanying documentation covered by
+ * this license (the "Software") to use, reproduce, display, distribute,
+ * execute, and transmit the Software, and to prepare derivative works of the
+ * Software, and to permit third-parties to whom the Software is furnished to
+ * do so, all subject to the following:
+ *
+ * The copyright notices in the Software and this entire statement, including
+ * the above license grant, this restriction and the following disclaimer,
+ * must be included in all copies of the Software, in whole or in part, and
+ * all derivative works of the Software, unless such copies or derivative
+ * works are solely in the form of machine-executable object code generated by
+ * a source language processor.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include "llviewerprecompiledheaders.h"
+#include "llfloatertransactionlog.h"
+
+#include "llavataractions.h"
+#include "llavatarnamecache.h"
+#include "llscrolllistctrl.h"
+#include "llscrolllistitem.h"
+#include "lltextbase.h"
+
+LLFloaterTransactionLog::LLFloaterTransactionLog(const LLSD& key) :
+    LLFloater(key),
+    mList(nullptr),
+    mTotalReceivedText(nullptr),
+    mTotalSpentText(nullptr),
+    mReceivedTotal(0),
+    mSpentTotal(0),
+    mAvatarNameCacheConnection()
+{
+    mCommitCallbackRegistrar.add("TL.Reset", boost::bind(&LLFloaterTransactionLog::reset, this));
+}
+
+LLFloaterTransactionLog::~LLFloaterTransactionLog()
+{
+    if (mAvatarNameCacheConnection.connected())
+        mAvatarNameCacheConnection.disconnect();
+}
+
+BOOL LLFloaterTransactionLog::postBuild()
+{
+    mList = getChild<LLScrollListCtrl>("transaction_list");
+    mList->setDoubleClickCallback(boost::bind(&LLFloaterTransactionLog::onDoubleClick, this));
+    mTotalReceivedText = getChild<LLTextBase>("total_received");
+    mTotalSpentText    = getChild<LLTextBase>("total_spent");
+    return TRUE;
+}
+
+void LLFloaterTransactionLog::addTransaction(const LLDate& date, const LLUUID& sender, S32 amount, bool incoming)
+{
+    // drop it
+    if (!getVisible())
+        return;
+
+    if (incoming)
+    {
+        mReceivedTotal += amount;
+    }
+    else
+    {
+        mSpentTotal += amount;
+    }
+
+    updateLabels();
+
+    LLSD row;
+    row["value"]               = sender;
+    row["column"][0]["column"] = "time";
+    row["column"][0]["value"]  = date.toHTTPDateString(LLStringExplicit("%H:%M:%S"));
+    row["column"][2]["column"] = "amount";
+    row["column"][2]["value"]  = llformat("L$%d", (incoming ? amount : -amount));
+    row["column"][2]["halign"] = LLFontGL::RIGHT;
+
+    mAvatarNameCacheConnection =
+        LLAvatarNameCache::get(sender, boost::bind(&LLFloaterTransactionLog::onAvatarNameCache, this, _1, _2, row));
+}
+
+void LLFloaterTransactionLog::onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name, LLSD& row)
+{
+    row["column"][1]["column"] = "name";
+    row["column"][1]["value"]  = av_name.getDisplayName();
+    mList->addElement(row);
+}
+
+void LLFloaterTransactionLog::onDoubleClick()
+{
+    const LLUUID& id = mList->getFirstSelected()->getValue().asUUID();
+    LLAvatarActions::showProfile(id);
+}
+
+void LLFloaterTransactionLog::reset()
+{
+    mList->deleteAllItems();
+    mReceivedTotal = 0;
+    mSpentTotal    = 0;
+
+    updateLabels();
+}
+
+void LLFloaterTransactionLog::updateLabels()
+{
+    LLStringUtil::format_map_t receivedArgs;
+    LLStringUtil::format_map_t spentArgs;
+
+    receivedArgs["TOTAL"] = std::to_string(mReceivedTotal);
+    spentArgs["TOTAL"]    = std::to_string(mSpentTotal);
+
+    mTotalReceivedText->setValue(getString("total_received_fmt", receivedArgs));
+    mTotalSpentText->setValue(getString("total_spent_fmt", spentArgs));
+}
diff --git a/indra/newview/llfloatertransactionlog.h b/indra/newview/llfloatertransactionlog.h
new file mode 100644
index 0000000000000000000000000000000000000000..a28ae9314354ec596aaa27d7582c327432fd1c00
--- /dev/null
+++ b/indra/newview/llfloatertransactionlog.h
@@ -0,0 +1,63 @@
+/*
+ * @file llfloatertransactionlog.h
+ * @brief Transaction log floater
+ *
+ * (C) 2014 Cinder Roxley @ Second Life <cinder@sdf.org>
+ * (C) 2024 Improvements by Fallen Kiyori Shadow
+ *
+ * Permission is hereby granted, free of charge, to any person or organization
+ * obtaining a copy of the software and accompanying documentation covered by
+ * this license (the "Software") to use, reproduce, display, distribute,
+ * execute, and transmit the Software, and to prepare derivative works of the
+ * Software, and to permit third-parties to whom the Software is furnished to
+ * do so, all subject to the following:
+ *
+ * The copyright notices in the Software and this entire statement, including
+ * the above license grant, this restriction and the following disclaimer,
+ * must be included in all copies of the Software, in whole or in part, and
+ * all derivative works of the Software, unless such copies or derivative
+ * works are solely in the form of machine-executable object code generated by
+ * a source language processor.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef LL_FLOATERTRANSACTIONLOG_H
+#define LL_FLOATERTRANSACTIONLOG_H
+
+#include "llfloater.h"
+
+class LLAvatarName;
+class LLScrollListCtrl;
+class LLTextBase;
+
+class LLFloaterTransactionLog : public LLFloater
+{
+  public:
+    LLFloaterTransactionLog(const LLSD& key);
+    BOOL postBuild();
+    void addTransaction(const LLDate& date, const LLUUID& sender, S32 amount, bool incoming);
+
+  private:
+    ~LLFloaterTransactionLog();
+    void reset();
+    void onDoubleClick();
+    void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name, LLSD& row);
+    void updateLabels();
+
+    LLScrollListCtrl* mList;
+    LLTextBase*       mTotalReceivedText;
+    LLTextBase*       mTotalSpentText;
+    S32               mReceivedTotal;
+    S32               mSpentTotal;
+
+    boost::signals2::connection mAvatarNameCacheConnection;
+};
+
+#endif  // LL_FLOATERTRANSACTIONLOG_H
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index f69e2c8165577f9c3b4d12e2bf07c6007e55d5b5..1b5d491174a0bf0de3b6c3ecfad4cf454fc36717 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -76,6 +76,8 @@
 #include "rlvhandler.h"
 // [/RLVa:KB]
 #include "alcinematicmode.h"
+#include "llviewerregion.h"
+#include "llmeshrepository.h"
 
 extern BOOL gDebugClicks;
 
@@ -1311,7 +1313,50 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l
                 }
             }
 
+            if (gSavedSettings.getBool("ShowAdvancedHoverTips"))
+            {
+                LLStringUtil::format_map_t args;
+                // Get Position
+                LLViewerRegion* region = gAgent.getRegion();
+                if (region)
+                {
+                    LLVector3 objectPosition = region->getPosRegionFromGlobal(hover_object->getPositionGlobal());
+                    if (!RlvActions::isRlvEnabled() || RlvActions::canShowLocation())
+                    {
+                        //Check if we are in the same region, otherwise it shows large negitive position numbers.
+                        if (hover_object->getRegion() && gAgent.getRegion() && hover_object->getRegion()->getRegionID() == gAgent.getRegion()->getRegionID())
+                        {
+                            args["OBJECT_POSITION"] =
+                                llformat("<%.02f, %.02f, %.02f>", objectPosition.mV[VX], objectPosition.mV[VY], objectPosition.mV[VZ]);
+                            tooltip_msg.append("\n" + LLTrans::getString("TooltipPosition", args));
+                        }                        
+                    }
+
+                    // Get Distance
+                    F32 distance            = (objectPosition - region->getPosRegionFromGlobal(gAgent.getPositionGlobal())).magVec();
+                    args["OBJECT_DISTANCE"] = llformat("%.02f", distance);
+                    tooltip_msg.append("\n" + LLTrans::getString("TooltipDistance", args));
+                }
+
+                // Get Prim Count
+                args["PRIM_COUNT"] = llformat("%d", LLSelectMgr::getInstance()->getHoverObjects()->getObjectCount());
+                tooltip_msg.append("\n" + LLTrans::getString("TooltipPrimCount", args));
 
+                // Get Prim Land Impact
+                if (gMeshRepo.meshRezEnabled())
+                {
+                    S32 cost = LLSelectMgr::getInstance()->getHoverObjects()->getSelectedLinksetCost();
+                    if (cost > 0)
+                    {
+                        args["PRIM_COST"] = llformat("%d", cost);
+                        tooltip_msg.append("\n" + LLTrans::getString("TooltipPrimCost", args));
+                    }
+                    else
+                    {
+                        tooltip_msg.append("\n" + LLTrans::getString("TooltipPrimCostLoading"));
+                    }
+                }
+            }
             // Avoid showing tip over media that's displaying unless it's for sale
             // also check the primary node since sometimes it can have an action even though
             // the root node doesn't
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index cb90770a5f80b189d76ac7be68cafff5f5821c34..a3d70aa4ffe01495ecf1c8a30b82e3cf2c9b46c0 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -172,6 +172,7 @@
 #include "llfloatertopobjects.h"
 #include "llfloatertos.h"
 #include "llfloatertoybox.h"
+#include "llfloatertransactionlog.h"
 #include "llfloatertranslationsettings.h"
 #include "llfloateruipreview.h"
 #include "llfloatervoiceeffect.h"
@@ -514,6 +515,7 @@ void LLViewerFloaterReg::registerFloaters()
     LLFloaterReg::add("test_widgets", "floater_test_widgets.xml", &LLFloaterReg::build<LLFloater>);
     LLFloaterReg::add("top_objects", "floater_top_objects.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTopObjects>);
     LLFloaterReg::add("toybox", "floater_toybox.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterToybox>);
+    LLFloaterReg::add("transaction_log", "floater_transaction_log.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTransactionLog>);
 
     LLFloaterReg::add("reporter", "floater_report_abuse.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterReporter>);
     LLFloaterReg::add("reset_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterResetQueue>);
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 18f31b09062cebd62b15fe48d0fa4f85d5f160c1..1d0be72db65a3e948baf4c4cc97e2a14bce50777 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -67,6 +67,7 @@
 #include "llfloaterpreference.h"
 #include "llfloatersidepanelcontainer.h"
 #include "llfloatersnapshot.h"
+#include "llfloatertransactionlog.h"
 #include "llhudeffecttrail.h"
 #include "llhudmanager.h"
 #include "llimprocessing.h"
@@ -5304,6 +5305,13 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg)
         notification = "PaymentReceived";
     }
 
+    LLFloaterTransactionLog* floater = LLFloaterReg::findTypedInstance<LLFloaterTransactionLog>("transaction_log");
+    // only log the successful transactions --FLN
+    if (success && floater)
+    {
+        floater->addTransaction(LLDate::now(), source_id, amount, !you_paid_someone);
+    }
+
     // Despite using SLURLs, wait until the name is available before
     // showing the notification, otherwise the UI layout is strange and
     // the user sees a "Loading..." message
diff --git a/indra/newview/skins/default/xui/de/panel_status_bar.xml b/indra/newview/skins/default/xui/de/panel_status_bar.xml
index 0829814220e6ca59d11f5ed1d99e9b2e9e61e5cc..8714f5253877d34caf3d470dd0321e84a327b20b 100644
--- a/indra/newview/skins/default/xui/de/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/de/panel_status_bar.xml
@@ -18,7 +18,7 @@
 	<panel name="menu_search_panel">
 		<search_editor label="Suchmenüs" name="search_menu_edit" tool_tip="Geben Sie hier den gewünschten Suchbegriff ein. Die Ergebnisse werden für teilweise Volltext-Treffer innerhalb des Menüs angezeigt."/>
 	</panel>
-	<panel left="-436" name="balance_bg" width="205">
+	<panel left="-436" name="balance_bg">
 		<text name="balance" tool_tip="Klicken, um L$-Guthaben zu aktualisieren" value="L$ ??"/>
 		<button label="L$ kaufen" name="buyL" tool_tip="Hier klicken, um mehr L$ zu kaufen"/>
 		<button label="Einkaufen" name="goShop" tool_tip="Second Life-Marktplatz öffnen" width="85"/>
diff --git a/indra/newview/skins/default/xui/en/floater_transaction_log.xml b/indra/newview/skins/default/xui/en/floater_transaction_log.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e5a0ea3c868e49369b4589db977fd5511b6f5c05
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_transaction_log.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ can_close="true"
+ can_drag_on_left="false"
+ can_minimize="true"
+ can_resize="true"
+ height="500"
+ width="350"
+ min_width="450"
+ min_height="200"
+ name="floater_transaction_log"
+ title="Transaction Log"
+ single_instance="true"
+ save_rect="true">
+ <floater.string
+   name="total_received_fmt">
+    Received: L$ [TOTAL]
+  </floater.string>
+ <floater.string
+   name="total_spent_fmt">
+    Spent: L$ -[TOTAL]
+  </floater.string>
+  <scroll_list
+   draw_heading="true"
+   follows="left|top|bottom|right"
+   name="transaction_list"
+   background_visible="true"
+   fg_unselected_color="ScrollSelectedFGColor"
+   fg_selected_color="ScrollSelectedFGColor"
+   column_padding="0"
+   top="0"
+   left="4"
+   right="-4"
+   bottom="-50">
+    <column name="time" width="50" label="Time" />
+    <column name="name" dynamicwidth="true" label="Name" />
+    <column name="amount" width="70" label="Amount" />
+  </scroll_list>
+    <text
+   type="string"
+   length="1"
+   follows="left|bottom"
+   font="SansSerif"
+   height="20"
+   layout="topleft"
+   name="total_received"
+   left="15" 
+   value="Received: L$ 0"/>
+    <text
+   type="string"
+   length="1"
+   follows="left|bottom"
+   font="SansSerif"
+   height="20"
+   layout="topleft"
+   name="total_spent"
+   left="15" 
+   value="Spent: L$ -0"/>
+  <button
+    label="Reset"
+    top_pad="-35"
+    name="btn_reset"
+    font="SansSerif"
+    mouse_opaque="true"
+    height="20"
+    width="75"
+    left_pad="-80"
+    follows="right|bottom">
+     <button.commit_callback
+     function="TL.Reset" />
+   </button>
+</floater>
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 4ca62fc7928472fe04cd4cf123ed7ac420550e9f..66920d6c4d00ec534c56e0058eab9fcd6d6561b8 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -123,6 +123,16 @@
             <menu_item_call.on_click
             function="Avatar.OpenMarketplace"  />
         </menu_item_call>
+        <menu_item_check
+         label="Transaction Log..."
+         name="transaction_log">
+            <menu_item_check.on_check
+             function="Floater.Visible"
+             parameter="transaction_log" />
+            <menu_item_check.on_click
+             function="Floater.Toggle"
+             parameter="transaction_log" />
+        </menu_item_check>
         <menu_item_call
             label="Marketplace listings..."
             name="MarketplaceListings">
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
index c1f736dc7aadb629bd02d13e00f934b1c5aef361..3373a5c80af858adfb8ff499bd402c35b668fb9b 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
@@ -123,7 +123,30 @@
      follows="left|top"
      left="50"
      name="Discord_Integration_Show_Region"
-     width="350" />
+        width="350" />
+    <combo_box
+     control_name="ALDiscordShareRegionMaxMaturity"
+     follows="left|top"
+     height="23"
+     layout="topleft"
+     left_delta="200"
+     name="maturity_desired_combobox"
+     width="200">
+        <combo_box.item
+         label="General, Moderate, Adult"
+         name="Desired_Adult"
+         value="42" />
+        <combo_box.item
+         label="General and Moderate"
+         name="Desired_Mature"
+         value="21" />
+        <combo_box.item
+         label="General"
+         name="Desired_PG"
+         value="13" />
+        <combo_box.commit_callback
+		 function="Pref.MaturitySettings"/>
+        </combo_box>
    <text
       type="string"
       length="1"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 78d3e4d4a8d6ef32b567bf56dc3de8bd687d8a3f..48ae4619ee3fbb0781ea8779919e28a708d52f76 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -4560,4 +4560,19 @@ and report the problem.
      name="Permanent">
 		Permanent
 	</string>
+    <string name="TooltipPrimCount">
+        Prims: [PRIM_COUNT]
+    </string>
+    <string name="TooltipPrimCost">
+        Land Impact: [PRIM_COST]
+    </string>
+    <string name="TooltipPrimCostLoading">
+        Loading Land Impact...
+    </string>
+    <string name="TooltipPosition">
+        Position: [OBJECT_POSITION]
+    </string>
+    <string name="TooltipDistance">
+        Distance: [OBJECT_DISTANCE]
+    </string>
 </strings>
diff --git a/indra/newview/skins/default/xui/es/panel_status_bar.xml b/indra/newview/skins/default/xui/es/panel_status_bar.xml
index bdedd04cc894a17b536ed676e67e1d93cbf1655d..444c3f44aac316e92fa8fdc7b57723b7f184c345 100644
--- a/indra/newview/skins/default/xui/es/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/es/panel_status_bar.xml
@@ -18,7 +18,7 @@
 	<panel name="menu_search_panel">
 		<search_editor label="Menús de Búsqueda" name="search_menu_edit" tool_tip="Ingresa el término de búsqueda que te interesa aquí. Los resultados aparecerán para coincidencias parciales de texto completo en el menú."/>
 	</panel>
-	<panel left="-431" name="balance_bg" width="200">
+	<panel left="-431" name="balance_bg">
 		<text name="balance" tool_tip="Haz clic para actualizar tu saldo en L$" value="L$??"/>
 		<button label="Comprar L$" name="buyL" tool_tip="Pulsa para comprar más L$"/>
 		<button label="Comprar" name="goShop" tool_tip="Abrir el mercado de Second Life" width="80"/>
diff --git a/indra/newview/skins/default/xui/it/panel_status_bar.xml b/indra/newview/skins/default/xui/it/panel_status_bar.xml
index 160fd4e1809bdb8b20aabfc9139743fabe97bdf2..fe20f45e4fd77832767f95fbc13c269d4c7dfc01 100644
--- a/indra/newview/skins/default/xui/it/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/it/panel_status_bar.xml
@@ -18,7 +18,7 @@
 	<panel name="menu_search_panel">
 		<search_editor label="Ricerca Menu" name="search_menu_edit" tool_tip="Digita qui il termine della tua ricerca. I risultati verranno mostrati secondo la concordanza parziale o totale con il menú."/>
 	</panel>
-	<panel left="-426" name="balance_bg" width="195">
+	<panel left="-426" name="balance_bg">
 		<text name="balance" tool_tip="Clicca per aggiornare il tuo saldo in L$" value="L$ ??"/>
 		<button label="Acquista L$" name="buyL" tool_tip="Clicca per acquistare più L$"/>
 		<button label="Acquisti" name="goShop" tool_tip="Apri Mercato Second Life" width="75"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_status_bar.xml b/indra/newview/skins/default/xui/pt/panel_status_bar.xml
index 9e15f9a02c85d8e8662ecb21f8125efb199b98c8..be6aeecf62f8d8c7c12ebd9b75b8c43cc73863b6 100644
--- a/indra/newview/skins/default/xui/pt/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/pt/panel_status_bar.xml
@@ -18,7 +18,7 @@
 	<panel name="menu_search_panel">
 		<search_editor label="Buscar Menus" name="search_menu_edit" tool_tip="Digite o termo de busca que você se interessar aqui. Os resultados serão exibidos para correspondências parciais de texto completo no menu."/>
 	</panel>
-	<panel left="-431" name="balance_bg" width="200">
+	<panel left="-431" name="balance_bg">
 		<text name="balance" tool_tip="Atualizar saldo de L$" value="L$??"/>
 		<button label="Comprar L$" name="buyL" tool_tip="Comprar mais L$"/>
 		<button label="Comprar" name="goShop" tool_tip="Abrir Mercado do Second Life" width="80"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_status_bar.xml b/indra/newview/skins/default/xui/ru/panel_status_bar.xml
index 124b8f2cff212a02fef792a88983b9b480dd4ae7..5e051ecc9d5201a4ea528d35df4ab0d5c0c7a3ac 100644
--- a/indra/newview/skins/default/xui/ru/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/ru/panel_status_bar.xml
@@ -18,7 +18,7 @@
 	<panel name="menu_search_panel">
 		<search_editor label="Меню поиска" name="search_menu_edit" tool_tip="Введите интересующий вас термин для поиска здесь. Результаты будут отображены для частичного совпадения полного текста в меню."/>
 	</panel>
-	<panel left="-471" name="balance_bg" width="240">
+	<panel left="-471" name="balance_bg">
 		<text name="balance" tool_tip="Щелкните для обновления вашего баланса L$" value="L$??"/>
 		<button label="Купить L$" name="buyL" tool_tip="Щелкните для покупки L$"/>
 		<button label="Торговый центр" name="goShop" tool_tip="Открыть торговый центр Second Life" width="121"/>
diff --git a/indra/newview/skins/default/xui/tr/panel_status_bar.xml b/indra/newview/skins/default/xui/tr/panel_status_bar.xml
index 616960ffb445ca52d7fb671e1649182cdef04d2d..8d1ec74487ef5c136c346410d0219f480d9091e4 100644
--- a/indra/newview/skins/default/xui/tr/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/tr/panel_status_bar.xml
@@ -18,7 +18,7 @@
 	<panel name="menu_search_panel">
 		<search_editor label="Menülerde Ara" name="search_menu_edit" tool_tip="Merak ettiğiniz arama terimini buraya yazın. Sonuçlar, menü içindeki kısmi tam metin eşleşmeleri şeklinde görüntülenir."/>
 	</panel>
-	<panel left="-446" name="balance_bg" width="215">
+	<panel left="-446" name="balance_bg">
 		<text name="balance" tool_tip="L$ bakiyenizi yenilemek için buraya tıklayın" value="L$??"/>
 		<button label="L$ Satın Al" name="buyL" tool_tip="Daha fazla L$ satın almak için tıklayın"/>
 		<button label="Alışveriş yap" name="goShop" tool_tip="Second Life Pazaryeri Aç" width="95"/>