basic/source/runtime/methods.cxx                               |    2 
 chart2/source/controller/dialogs/ChartTypeDialogController.cxx |   15 
 cui/source/options/appearance.cxx                              |    3 
 cui/uiconfig/ui/lineendstabpage.ui                             |    5 
 cui/uiconfig/ui/linestyletabpage.ui                            |    5 
 cui/uiconfig/ui/swpossizepage.ui                               |    5 
 download.lst                                                   |    8 
 editeng/source/editeng/impedit3.cxx                            |    2 
 external/meson/UnpackedTarball_meson.mk                        |   17 
 framework/source/loadenv/loadenv.cxx                           |   26 
 icon-themes/breeze/links.txt                                   |    1 
 icon-themes/breeze_dark/links.txt                              |    1 
 icon-themes/colibre/links.txt                                  |    1 
 icon-themes/colibre_dark/links.txt                             |    1 
 icon-themes/elementary/links.txt                               |    1 
 icon-themes/sifr/links.txt                                     |    1 
 icon-themes/sifr_dark/links.txt                                |    1 
 icon-themes/sukapura/links.txt                                 |    1 
 icon-themes/sukapura_dark/links.txt                            |    1 
 include/svtools/colorcfg.hxx                                   |    1 
 officecfg/registry/schema/org/openoffice/Office/Common.xcs     |   24 
 oox/source/export/chartexport.cxx                              |   18 
 oox/source/export/drawingml.cxx                                |    4 
 readlicense_oo/license/CREDITS.fodt                            | 4467 
+++++-----
 sc/qa/unit/ucalc_formula2.cxx                                  |   60 
 sc/source/core/data/queryiter.cxx                              |   17 
 sc/source/core/tool/interpr1.cxx                               |    7 
 sc/source/ui/drawfunc/fuins1.cxx                               |   12 
 sc/source/ui/drawfunc/fuins2.cxx                               |   36 
 sc/source/ui/view/formatsh.cxx                                 |   30 
 sc/source/ui/view/gridwin.cxx                                  |    6 
 scp2/source/ooo/vc_redist.scp                                  |    3 
 sd/qa/uitest/impress_tests/masterElements.py                   |    2 
 sd/qa/uitest/impress_tests2/tdf146019.py                       |    4 
 sd/source/ui/func/fuinsert.cxx                                 |   13 
 sd/source/ui/sidebar/LayoutMenu.cxx                            |    2 
 sd/source/ui/view/ViewShellBase.cxx                            |   10 
 sd/source/ui/view/drviews7.cxx                                 |    2 
 svgio/qa/cppunit/SvgImportTest.cxx                             |   11 
 svgio/qa/cppunit/data/FontFamilyIncludingApostrophes.svg       |    4 
 svgio/source/svgreader/svgcharacternode.cxx                    |    8 
 svtools/source/config/colorcfg.cxx                             |    5 
 svx/sdi/svx.sdi                                                |    7 
 sw/qa/core/text/data/redline-image-anchored.docx               |binary
 sw/qa/core/text/data/redline-image-inline.docx                 |binary
 sw/qa/core/text/itrpaint.cxx                                   |  194 
 sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithDrawing.docx    |binary
 sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithInline.docx     |binary
 sw/qa/extras/ooxmlexport/data/tdf170389_manyTabstops.odt       |binary
 sw/qa/extras/ooxmlexport/data/tdf170438_dropdown.odt           |binary
 sw/qa/extras/ooxmlexport/ooxmlexport17.cxx                     |    5 
 sw/qa/extras/ooxmlexport/ooxmlexport25.cxx                     |   53 
 sw/qa/extras/ooxmlexport/ooxmlexport26.cxx                     |   15 
 sw/qa/extras/uiwriter/data/tdf168157.docx                      |binary
 sw/qa/extras/uiwriter/uiwriter8.cxx                            |   27 
 sw/source/core/doc/DocumentContentOperationsManager.cxx        |    3 
 sw/source/core/docnode/node.cxx                                |    8 
 sw/source/core/graphic/ndgrf.cxx                               |   37 
 sw/source/core/inc/drawfont.hxx                                |    6 
 sw/source/core/inc/flyfrm.hxx                                  |    5 
 sw/source/core/layout/fly.cxx                                  |   47 
 sw/source/core/layout/paintfrm.cxx                             |   32 
 sw/source/core/text/inftxt.cxx                                 |    8 
 sw/source/core/text/inftxt.hxx                                 |    4 
 sw/source/core/text/itrpaint.cxx                               |  122 
 sw/source/core/text/porfly.cxx                                 |   10 
 sw/source/core/text/porlay.cxx                                 |   20 
 sw/source/core/txtnode/fntcache.cxx                            |   25 
 sw/source/filter/ww8/docxattributeoutput.cxx                   |   30 
 sw/source/filter/ww8/docxexport.cxx                            |    4 
 sw/source/filter/ww8/docxsdrexport.cxx                         |    7 
 sw/source/filter/xml/xmlexp.cxx                                |   11 
 sw/source/uibase/dochdl/swdtflvr.cxx                           |   22 
 sw/source/uibase/wrtsh/wrtsh1.cxx                              |   22 
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx           |    7 
 sw/uiconfig/swriter/ui/tokenwidget.ui                          |   10 
 vcl/inc/qt5/QtFrame.hxx                                        |    2 
 vcl/osx/salnativewidgets.cxx                                   |  137 
 vcl/qt5/QtFrame.cxx                                            |  250 
 vcl/source/filter/graphicfilter.cxx                            |   11 
 vcl/unx/gtk3/gtkinst.cxx                                       |    1 
 vcl/win/window/salframe.cxx                                    |    1 
 82 files changed, 3436 insertions(+), 2550 deletions(-)

New commits:
commit 5eebd88db0d98ca0c2989ba89b8fd3ec265d5ad3
Author:     Xisco Fauli <[email protected]>
AuthorDate: Thu Jan 22 19:40:31 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    tdf#168372: remove surrounding apostrophes in font-family
    
    Change-Id: I94ef4ae8aa5aa7aa27602e959f80eb17c83679ce
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197864
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit 99d19aebd33d7834017ec09b83e081623e714112)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197934
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/svgio/qa/cppunit/SvgImportTest.cxx 
b/svgio/qa/cppunit/SvgImportTest.cxx
index 20db3664d879..ca45500951a8 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -446,6 +446,17 @@ CPPUNIT_TEST_FIXTURE(Test, testFontsizePercentage)
     assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", 
"familyname", u"Times New Roman");
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testFontFamilyIncludingApostrophes)
+{
+    //Check when font-size uses percentage and defined globally
+    xmlDocUniquePtr pDocument = 
dumpAndParseSvg(u"/svgio/qa/cppunit/data/FontFamilyIncludingApostrophes.svg");
+
+    assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", 
"fontcolor", u"#000000");
+    assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", 
"text", u"Text");
+    assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", 
"height", u"16");
+    assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", 
"familyname", u"Liberation Sans");
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testFontsizeRelative)
 {
     //Check when font-size uses relative units (em,ex) and it's based on its 
parent's font-size
diff --git a/svgio/qa/cppunit/data/FontFamilyIncludingApostrophes.svg 
b/svgio/qa/cppunit/data/FontFamilyIncludingApostrophes.svg
new file mode 100644
index 000000000000..db13d7e3db07
--- /dev/null
+++ b/svgio/qa/cppunit/data/FontFamilyIncludingApostrophes.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg viewBox="0 0 200 30" xmlns="http://www.w3.org/2000/svg";>
+  <text y="20" font-family="'Liberation Sans', Arial">Text</text>
+</svg>
diff --git a/svgio/source/svgreader/svgcharacternode.cxx 
b/svgio/source/svgreader/svgcharacternode.cxx
index eb5d16f0573c..1ea05de21219 100644
--- a/svgio/source/svgreader/svgcharacternode.cxx
+++ b/svgio/source/svgreader/svgcharacternode.cxx
@@ -105,7 +105,13 @@ namespace svgio::svgreader
             const SvgStringVector& rFontFamilyVector = 
rSvgStyleAttributes.getFontFamily();
             OUString aFontFamily(u"Times New Roman"_ustr);
             if(!rFontFamilyVector.empty())
-                aFontFamily=rFontFamilyVector[0];
+            {
+                aFontFamily = rFontFamilyVector[0];
+
+                // tdf#168372: remove surrounding apostrophes
+                if (aFontFamily.getLength() > 1 && aFontFamily.startsWith("'") 
&& aFontFamily.endsWith("'"))
+                    aFontFamily = aFontFamily.copy(1, aFontFamily.getLength() 
- 2);
+            }
 
             // #i122324# if the FontFamily name ends on ' embedded' it is 
probably a re-import
             // of a SVG export with font embedding. Remove this to make font 
matching work. This
commit 12d64b35022ed1371217eb5a70d86bd7de840d10
Author:     Heiko Tietze <[email protected]>
AuthorDate: Wed Jan 28 06:54:32 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    Resolves tdf#170143 - Set ButtonTextColor on theme change
    
    Reverts c7a29af1d77c4e1483154b262c7c621067cd2685
    
    Change-Id: I50215c3e161d3e22ed34c7407c22cdae50fff045
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198250
    Reviewed-by: Heiko Tietze <[email protected]>
    Tested-by: Jenkins
    Tested-by: Heiko Tietze <[email protected]>
    (cherry picked from commit 5c723785d4cf512bba0591a5328f2a9784b82bc2)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198287
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index ebbd3c468fed..099a836719cd 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -2624,6 +2624,7 @@ static void lcl_LoadColorsFromTheme(StyleSettings& 
rStyleSet)
     rStyleSet.SetMenuBarTextColor(rThemeColors.GetMenuBarTextColor());
     rStyleSet.SetMenuTextColor(rThemeColors.GetMenuTextColor());
 
+    rStyleSet.SetButtonTextColor(rThemeColors.GetButtonTextColor());
     
rStyleSet.SetDefaultActionButtonTextColor(rThemeColors.GetButtonTextColor());
     rStyleSet.SetActionButtonTextColor(rThemeColors.GetButtonTextColor());
     rStyleSet.SetShadowColor(rThemeColors.GetShadeColor());
commit fd09fee0432cb585ede3525b875dd1f08810ca66
Author:     Miklos Vajna <[email protected]>
AuthorDate: Tue Jan 27 08:48:48 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    cool#13988 sw redline render mode: add colored border for anchored images
    
    So far the non-standard redline render mode for images focused on
    graying out images when they are meant to be "omitted".
    
    In the meantime, text got red/green colors since commit
    9bc163b5637572684ac6cc5985d276c4bc01679f (cool#13574 sw redline render
    mode: somewhat color ins/del as green/red, 2026-01-20), for the case
    when the inserted/deleted text is not omitted.
    
    Do the same for images: if an anchored image is not omitted, then
    provide a red/green border for deleted/inserted images.
    
    This is for anchored images, inline images need more work. Two
    alternatives would have been to draw this border at the end of
    SwFlyFrame::PaintSwFrame() (like the standard redline mode does its
    cross for deletes, but doesn't work due to clipping problems) or as part
    of SwLayoutFrame::PaintSubsidiaryLines() (like the gray "boundary"
    indicator does, also has clipping problems). Doing it in
    SwFrame::PaintSwFrameShadowAndBorder() is free from these clipping
    problems.
    
    Change-Id: I7489e5be5c7081a8e6dc243cb30d8fd2dc4f1917
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198254
    Reviewed-by: Miklos Vajna <[email protected]>
    Tested-by: Jenkins
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198284

diff --git a/sw/qa/core/text/itrpaint.cxx b/sw/qa/core/text/itrpaint.cxx
index 479ba5a628bf..14c1af1a02b4 100644
--- a/sw/qa/core/text/itrpaint.cxx
+++ b/sw/qa/core/text/itrpaint.cxx
@@ -150,17 +150,41 @@ CPPUNIT_TEST_FIXTURE(Test, 
testRedlineRenderModeOmitInsertDelete)
     CPPUNIT_ASSERT_EQUAL(120, GetColorHue(aColor3));
 }
 
-bool IsGrayScale(const Bitmap& rBitmap)
+struct ImageInfo
 {
-    BitmapScopedReadAccess pReadAccess(rBitmap);
-    Size aSize = rBitmap.GetSizePixel();
+    Bitmap m_aBitmap;
+    tools::Rectangle m_aRectangle;
+};
+
+bool IsGrayScale(const ImageInfo& rInfo)
+{
+    Bitmap aBitmap = rInfo.m_aBitmap;
+    BitmapScopedReadAccess pReadAccess(aBitmap);
+    Size aSize = rInfo.m_aBitmap.GetSizePixel();
     Color aColor = pReadAccess->GetColor(aSize.getHeight() / 2, 
aSize.getWidth() / 2);
     return aColor.GetRed() == aColor.GetGreen() && aColor.GetRed() == 
aColor.GetBlue();
 }
 
-std::vector<Bitmap> GetMetaFileImages(const GDIMetaFile& rMetaFile)
+bool RectangleContainsPolygons(const tools::Rectangle& rRectangle,
+                               const std::vector<tools::Polygon>& rPolygons)
+{
+    static constexpr SwTwips nPixel = 15;
+    tools::Rectangle aRectangle(rRectangle.Left() - nPixel, rRectangle.Top() - 
nPixel,
+                                rRectangle.Right() + nPixel, 
rRectangle.Bottom() + nPixel);
+    for (const auto& rPolygon : rPolygons)
+    {
+        if (!aRectangle.Contains(rPolygon.GetBoundRect()))
+        {
+            return false;
+        }
+    }
+
+    return true;
+}
+
+std::vector<ImageInfo> GetMetaFileImages(const GDIMetaFile& rMetaFile)
 {
-    std::vector<Bitmap> aImages;
+    std::vector<ImageInfo> aImages;
     for (size_t nAction = 0; nAction < rMetaFile.GetActionSize(); ++nAction)
     {
         MetaAction* pAction = rMetaFile.GetAction(nAction);
@@ -170,11 +194,31 @@ std::vector<Bitmap> GetMetaFileImages(const GDIMetaFile& 
rMetaFile)
         }
 
         auto pAct = static_cast<MetaBmpExScaleAction*>(pAction);
-        aImages.push_back(pAct->GetBitmap());
+        ImageInfo aInfo;
+        aInfo.m_aBitmap = pAct->GetBitmap();
+        aInfo.m_aRectangle = { pAct->GetPoint(), pAct->GetSize() };
+        aImages.push_back(aInfo);
     }
     return aImages;
 }
 
+std::vector<tools::Polygon> GetMetaFilePolylines(const GDIMetaFile& rMetaFile)
+{
+    std::vector<tools::Polygon> aPolygons;
+    for (size_t nAction = 0; nAction < rMetaFile.GetActionSize(); ++nAction)
+    {
+        MetaAction* pAction = rMetaFile.GetAction(nAction);
+        if (pAction->GetType() != MetaActionType::POLYLINE)
+        {
+            continue;
+        }
+
+        auto pAct = static_cast<MetaPolyLineAction*>(pAction);
+        aPolygons.push_back(pAct->GetPolygon());
+    }
+    return aPolygons;
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testAnchoredImageRedlineRenderModeOmitInsertDelete)
 {
     // Given a document with a normal, a deleted and an inserted image:
@@ -185,11 +229,14 @@ CPPUNIT_TEST_FIXTURE(Test, 
testAnchoredImageRedlineRenderModeOmitInsertDelete)
     std::shared_ptr<GDIMetaFile> xMetaFile = pDocShell->GetPreviewMetaFile();
 
     // Then make sure none of the images are grayscale:
-    std::vector<Bitmap> aImages = GetMetaFileImages(*xMetaFile);
+    std::vector<ImageInfo> aImages = GetMetaFileImages(*xMetaFile);
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
     CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
     CPPUNIT_ASSERT(!IsGrayScale(aImages[1]));
     CPPUNIT_ASSERT(!IsGrayScale(aImages[2]));
+    std::vector<tools::Polygon> aPolygons = GetMetaFilePolylines(*xMetaFile);
+    // No frames around images.
+    CPPUNIT_ASSERT(aPolygons.empty());
 
     // Omit insert: default, default, grayscale.
     SwWrtShell* pWrtShell = pDocShell->GetWrtShell();
@@ -206,6 +253,10 @@ CPPUNIT_TEST_FIXTURE(Test, 
testAnchoredImageRedlineRenderModeOmitInsertDelete)
     // Without the accompanying fix in place, this test would have failed, the 
image's center pixel
     // wasn't gray.
     CPPUNIT_ASSERT(IsGrayScale(aImages[2]));
+    aPolygons = GetMetaFilePolylines(*xMetaFile);
+    // Frame around the deleted image. This failed, there was no frame around 
the deleted image.
+    CPPUNIT_ASSERT(!aPolygons.empty());
+    CPPUNIT_ASSERT(RectangleContainsPolygons(aImages[1].m_aRectangle, 
aPolygons));
 
     // Omit deletes: default, grayscale, default.
     aOpt.SetRedlineRenderMode(SwRedlineRenderMode::OmitDeletes);
@@ -218,6 +269,10 @@ CPPUNIT_TEST_FIXTURE(Test, 
testAnchoredImageRedlineRenderModeOmitInsertDelete)
     CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
     CPPUNIT_ASSERT(IsGrayScale(aImages[1]));
     CPPUNIT_ASSERT(!IsGrayScale(aImages[2]));
+    aPolygons = GetMetaFilePolylines(*xMetaFile);
+    // Frame around the inserted image.
+    CPPUNIT_ASSERT(!aPolygons.empty());
+    CPPUNIT_ASSERT(RectangleContainsPolygons(aImages[2].m_aRectangle, 
aPolygons));
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testInlineImageRedlineRenderModeOmitInsertDelete)
@@ -230,7 +285,7 @@ CPPUNIT_TEST_FIXTURE(Test, 
testInlineImageRedlineRenderModeOmitInsertDelete)
     std::shared_ptr<GDIMetaFile> xMetaFile = pDocShell->GetPreviewMetaFile();
 
     // Then make sure none of the images are grayscale:
-    std::vector<Bitmap> aImages = GetMetaFileImages(*xMetaFile);
+    std::vector<ImageInfo> aImages = GetMetaFileImages(*xMetaFile);
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
     CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
     CPPUNIT_ASSERT(!IsGrayScale(aImages[1]));
diff --git a/sw/source/core/inc/flyfrm.hxx b/sw/source/core/inc/flyfrm.hxx
index 6b0982abf314..d5f8124af10b 100644
--- a/sw/source/core/inc/flyfrm.hxx
+++ b/sw/source/core/inc/flyfrm.hxx
@@ -313,6 +313,8 @@ public:
 
     bool IsSplitButNotYetMovedFollow() const;
 
+    bool GetRedlineRenderModeFrame(SvxBoxItem& rBoxItem) const;
+
 private:
     void UpdateUnfloatButton(SwWrtShell* pWrtSh, bool bShow) const;
     void PaintDecorators() const;
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 5d9f140adc7f..8e02d478681a 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -2332,6 +2332,48 @@ bool SwFlyFrame::IsSplitButNotYetMovedFollow() const
     return false;
 }
 
+bool SwFlyFrame::GetRedlineRenderModeFrame(SvxBoxItem& rBoxItem) const
+{
+    // If we're in non-standard redline mode, then color deletes and inserts 
depending on the
+    // redline render mode. Similar to what SwFntObj::DrawText() does for 
redlined text.
+    const SwViewShell* pViewShell = getRootFrame()->GetCurrShell();
+    if (!pViewShell)
+    {
+        return false;
+    }
+
+    const SwViewOption* pViewOptions = pViewShell->GetViewOptions();
+    if (!pViewOptions)
+    {
+        return false;
+    }
+
+    SwRedlineRenderMode eRedlineRenderMode = 
pViewOptions->GetRedlineRenderMode();
+    std::optional<Color> oColor;
+    if (eRedlineRenderMode == SwRedlineRenderMode::OmitInserts && IsDeleted())
+    {
+        oColor.emplace(COL_RED);
+    }
+    else if (eRedlineRenderMode == SwRedlineRenderMode::OmitDeletes && 
IsInserted())
+    {
+        oColor.emplace(COL_GREEN);
+    }
+    if (!oColor)
+    {
+        return false;
+    }
+
+    editeng::SvxBorderLine aBorderLine;
+    aBorderLine.SetWidth(1);
+    aBorderLine.SetBorderLineStyle(SvxBorderLineStyle::SOLID);
+    aBorderLine.SetColor(*oColor);
+    rBoxItem.SetLine(&aBorderLine, SvxBoxItemLine::LEFT);
+    rBoxItem.SetLine(&aBorderLine, SvxBoxItemLine::RIGHT);
+    rBoxItem.SetLine(&aBorderLine, SvxBoxItemLine::TOP);
+    rBoxItem.SetLine(&aBorderLine, SvxBoxItemLine::BOTTOM);
+    return true;
+}
+
 SwTwips SwFlyFrame::Grow_(SwTwips nDist, SwResizeLimitReason& reason, bool 
bTst)
 {
     if (!Lower())
diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index 3abe024fa602..73bec434fb24 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -4320,8 +4320,11 @@ void SwFlyFrame::PaintSwFrame(vcl::RenderContext& 
rRenderContext, SwRect const&
             }
         }
         // paint of margin needed.
+        const SwViewOption* pViewOptions = pShell ? pShell->GetViewOptions() : 
nullptr;
+        SwRedlineRenderMode eRedlineRenderMode = pViewOptions ? 
pViewOptions->GetRedlineRenderMode()
+            : SwRedlineRenderMode::Standard;
         const bool bPaintMarginOnly( !bPaintCompleteBack &&
-                                     getFramePrintArea().SSize() != 
getFrameArea().SSize() );
+                                     (getFramePrintArea().SSize() != 
getFrameArea().SSize() || eRedlineRenderMode != SwRedlineRenderMode::Standard));
 
         // #i47804# - paint background of parent fly frame
         // for transparent graphics in layer Hell, if parent fly frame isn't
@@ -5512,7 +5515,8 @@ void SwFrame::PaintSwFrameShadowAndBorder(
     if (GetType() & 
(SwFrameType::NoTxt|SwFrameType::Row|SwFrameType::Body|SwFrameType::Footnote|SwFrameType::Column|SwFrameType::Root))
         return;
 
-    if (IsCellFrame() && !gProp.pSGlobalShell->GetViewOptions()->IsTable())
+    const SwViewOption& rViewOptions = *gProp.pSGlobalShell->GetViewOptions();
+    if (IsCellFrame() && !rViewOptions.IsTable())
         return;
 
     // #i29550#
@@ -5531,7 +5535,8 @@ void SwFrame::PaintSwFrameShadowAndBorder(
         return;
     }
 
-    const bool bLine = rAttrs.IsLine();
+    SwRedlineRenderMode eRedlineRenderMode = 
rViewOptions.GetRedlineRenderMode();
+    const bool bLine = (rAttrs.IsLine() || (IsFlyFrame() && eRedlineRenderMode 
!= SwRedlineRenderMode::Standard));
     const bool bShadow = rAttrs.GetShadow().GetLocation() != 
SvxShadowLocation::NONE;
 
     // - flag to control,
@@ -5610,6 +5615,21 @@ void SwFrame::PaintSwFrameShadowAndBorder(
         const SvxBorderLine* pTopBorder(rBox.GetTop());
         const SvxBorderLine* pBottomBorder(rBox.GetBottom());
 
+        auto pFlyFrame = IsFlyFrame() ? static_cast<const SwFlyFrame*>(this) : 
nullptr;
+        SvxBoxItem aBoxItem(RES_BOX);
+        if (pFlyFrame)
+        {
+            // This is a fly frame, see if it wants to paint a custom border 
based on the redline
+            // mode and status.
+            if (pFlyFrame->GetRedlineRenderModeFrame(aBoxItem))
+            {
+                pLeftBorder = aBoxItem.GetLeft();
+                pRightBorder = aBoxItem.GetRight();
+                pTopBorder = aBoxItem.GetTop();
+                pBottomBorder = aBoxItem.GetBottom();
+            }
+        }
+
         // if R2L, exchange Right/Left
         const bool bR2L(IsCellFrame() && IsRightToLeft());
 
commit af0a56e86148c0512f44584a201fa094c3e4c43d
Author:     Miklos Vajna <[email protected]>
AuthorDate: Thu Jan 22 08:37:58 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    cool#13988 sw redline render mode: handle inline images
    
    Load the bugdoc, dispatch .uno:RedlineRenderMode, anchored images in
    deletions are grey, but this doesn't work with inline images.
    
    There is some infrastructure for this added in commit
    d845b91bcc6eb885c55494d4d4fab4ec09577e1d (tdf#78864 sw track changes:
    cross out deleted images, 2021-04-30), but that crosses out images
    instead of shading.
    
    Fix this by checking for the usual SwRedlineRenderMode flags in
    sw::FlyContentPortion::Paint() to avoid the unwanted cross. Also extend
    SwLineLayout::CalcLine() to set the inserted/deleted flags on the fly
    frame for redlines, so SwGrfNode::GetGraphicAttr() can do its shading as
    usual.
    
    And add a GetMetaFileImages() in the test suite to reduce some
    duplication.
    
    Change-Id: I97f2311ad7e9a6ffc70d76c1811faa2c13e509fe
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197799
    Reviewed-by: Miklos Vajna <[email protected]>
    Tested-by: Jenkins
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198283

diff --git a/sw/qa/core/text/data/redline-image-inline.docx 
b/sw/qa/core/text/data/redline-image-inline.docx
new file mode 100644
index 000000000000..beaa9bbad87f
Binary files /dev/null and b/sw/qa/core/text/data/redline-image-inline.docx 
differ
diff --git a/sw/qa/core/text/itrpaint.cxx b/sw/qa/core/text/itrpaint.cxx
index cf0f37b19f57..479ba5a628bf 100644
--- a/sw/qa/core/text/itrpaint.cxx
+++ b/sw/qa/core/text/itrpaint.cxx
@@ -158,20 +158,12 @@ bool IsGrayScale(const Bitmap& rBitmap)
     return aColor.GetRed() == aColor.GetGreen() && aColor.GetRed() == 
aColor.GetBlue();
 }
 
-CPPUNIT_TEST_FIXTURE(Test, testAnchoredImageRedlineRenderModeOmitInsertDelete)
+std::vector<Bitmap> GetMetaFileImages(const GDIMetaFile& rMetaFile)
 {
-    // Given a document with a normal, a deleted and an inserted image:
-    createSwDoc("redline-image-anchored.docx");
-
-    // When using the standard redline render mode:
-    SwDocShell* pDocShell = getSwDocShell();
-    std::shared_ptr<GDIMetaFile> xMetaFile = pDocShell->GetPreviewMetaFile();
-
-    // Then make sure none of the images are grayscale:
     std::vector<Bitmap> aImages;
-    for (size_t nAction = 0; nAction < xMetaFile->GetActionSize(); ++nAction)
+    for (size_t nAction = 0; nAction < rMetaFile.GetActionSize(); ++nAction)
     {
-        MetaAction* pAction = xMetaFile->GetAction(nAction);
+        MetaAction* pAction = rMetaFile.GetAction(nAction);
         if (pAction->GetType() != MetaActionType::BMPEXSCALE)
         {
             continue;
@@ -180,6 +172,20 @@ CPPUNIT_TEST_FIXTURE(Test, 
testAnchoredImageRedlineRenderModeOmitInsertDelete)
         auto pAct = static_cast<MetaBmpExScaleAction*>(pAction);
         aImages.push_back(pAct->GetBitmap());
     }
+    return aImages;
+}
+
+CPPUNIT_TEST_FIXTURE(Test, testAnchoredImageRedlineRenderModeOmitInsertDelete)
+{
+    // Given a document with a normal, a deleted and an inserted image:
+    createSwDoc("redline-image-anchored.docx");
+
+    // When using the standard redline render mode:
+    SwDocShell* pDocShell = getSwDocShell();
+    std::shared_ptr<GDIMetaFile> xMetaFile = pDocShell->GetPreviewMetaFile();
+
+    // Then make sure none of the images are grayscale:
+    std::vector<Bitmap> aImages = GetMetaFileImages(*xMetaFile);
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
     CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
     CPPUNIT_ASSERT(!IsGrayScale(aImages[1]));
@@ -193,18 +199,7 @@ CPPUNIT_TEST_FIXTURE(Test, 
testAnchoredImageRedlineRenderModeOmitInsertDelete)
 
     xMetaFile = pDocShell->GetPreviewMetaFile();
 
-    aImages.clear();
-    for (size_t nAction = 0; nAction < xMetaFile->GetActionSize(); ++nAction)
-    {
-        MetaAction* pAction = xMetaFile->GetAction(nAction);
-        if (pAction->GetType() != MetaActionType::BMPEXSCALE)
-        {
-            continue;
-        }
-
-        auto pAct = static_cast<MetaBmpExScaleAction*>(pAction);
-        aImages.push_back(pAct->GetBitmap());
-    }
+    aImages = GetMetaFileImages(*xMetaFile);
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
     CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
     CPPUNIT_ASSERT(!IsGrayScale(aImages[1]));
@@ -218,18 +213,52 @@ CPPUNIT_TEST_FIXTURE(Test, 
testAnchoredImageRedlineRenderModeOmitInsertDelete)
 
     xMetaFile = pDocShell->GetPreviewMetaFile();
 
-    aImages.clear();
-    for (size_t nAction = 0; nAction < xMetaFile->GetActionSize(); ++nAction)
-    {
-        MetaAction* pAction = xMetaFile->GetAction(nAction);
-        if (pAction->GetType() != MetaActionType::BMPEXSCALE)
-        {
-            continue;
-        }
+    aImages = GetMetaFileImages(*xMetaFile);
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
+    CPPUNIT_ASSERT(IsGrayScale(aImages[1]));
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[2]));
+}
 
-        auto pAct = static_cast<MetaBmpExScaleAction*>(pAction);
-        aImages.push_back(pAct->GetBitmap());
-    }
+CPPUNIT_TEST_FIXTURE(Test, testInlineImageRedlineRenderModeOmitInsertDelete)
+{
+    // Given a document with a normal, a deleted and an inserted image:
+    createSwDoc("redline-image-inline.docx");
+
+    // When using the standard redline render mode:
+    SwDocShell* pDocShell = getSwDocShell();
+    std::shared_ptr<GDIMetaFile> xMetaFile = pDocShell->GetPreviewMetaFile();
+
+    // Then make sure none of the images are grayscale:
+    std::vector<Bitmap> aImages = GetMetaFileImages(*xMetaFile);
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[1]));
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[2]));
+
+    // Omit insert: default, default, grayscale.
+    SwWrtShell* pWrtShell = pDocShell->GetWrtShell();
+    SwViewOption aOpt(*pWrtShell->GetViewOptions());
+    aOpt.SetRedlineRenderMode(SwRedlineRenderMode::OmitInserts);
+    pWrtShell->ApplyViewOptions(aOpt);
+
+    xMetaFile = pDocShell->GetPreviewMetaFile();
+
+    aImages = GetMetaFileImages(*xMetaFile);
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
+    CPPUNIT_ASSERT(!IsGrayScale(aImages[1]));
+    // Without the accompanying fix in place, this test would have failed, the 
image's center pixel
+    // wasn't gray.
+    CPPUNIT_ASSERT(IsGrayScale(aImages[2]));
+
+    // Omit deletes: default, grayscale, default.
+    aOpt.SetRedlineRenderMode(SwRedlineRenderMode::OmitDeletes);
+    pWrtShell->ApplyViewOptions(aOpt);
+
+    xMetaFile = pDocShell->GetPreviewMetaFile();
+
+    aImages = GetMetaFileImages(*xMetaFile);
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aImages.size());
     CPPUNIT_ASSERT(!IsGrayScale(aImages[0]));
     CPPUNIT_ASSERT(IsGrayScale(aImages[1]));
diff --git a/sw/source/core/text/porfly.cxx b/sw/source/core/text/porfly.cxx
index b0202f7fecca..da4fcbfdcd4e 100644
--- a/sw/source/core/text/porfly.cxx
+++ b/sw/source/core/text/porfly.cxx
@@ -40,6 +40,7 @@
 #include <sortedobjs.hxx>
 #include <officecfg/Office/Common.hxx>
 #include <PostItMgr.hxx>
+#include <viewopt.hxx>
 
 /**
  * class SwFlyPortion => we expect a frame-locale SwRect!
@@ -223,9 +224,10 @@ void sw::FlyContentPortion::Paint(const SwTextPaintInfo& 
rInf) const
     if(rInf.GetTextFrame()->IsVertical())
         rInf.GetTextFrame()->SwitchHorizontalToVertical(aRepaintRect);
 
+    SwViewShell* pViewShell = m_pFly->getRootFrame()->GetCurrShell();
     if(!((m_pFly->IsCompletePaint() ||
             m_pFly->getFrameArea().Overlaps(aRepaintRect)) &&
-            SwFlyFrame::IsPaint(m_pFly->GetVirtDrawObj(), 
*m_pFly->getRootFrame()->GetCurrShell())))
+            SwFlyFrame::IsPaint(m_pFly->GetVirtDrawObj(), *pViewShell)))
         return;
 
     SwRect aRect(m_pFly->getFrameArea());
@@ -239,7 +241,11 @@ void sw::FlyContentPortion::Paint(const SwTextPaintInfo& 
rInf) const
 
         // track changes: cross out the image, if it is deleted
         const SwFrame *pFrame = m_pFly->Lower();
-        if ( GetAuthor() != std::string::npos && IsDeleted() && pFrame )
+        const SwViewOption* pViewOptions = pViewShell->GetViewOptions();
+        SwRedlineRenderMode eRedlineRenderMode
+            = pViewOptions ? pViewOptions->GetRedlineRenderMode() : 
SwRedlineRenderMode::Standard;
+        if (GetAuthor() != std::string::npos && IsDeleted() && pFrame
+            && eRedlineRenderMode == SwRedlineRenderMode::Standard)
         {
             SwRect aPaintRect( pFrame->GetPaintArea() );
 
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index de25fc8ccc99..78f15f923aa2 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -672,6 +672,7 @@ void SwLineLayout::CalcLine( SwTextFormatter &rLine, 
SwTextFormatInfo &rInf )
         if( pPos->IsFlyCntPortion() )
         {
             bool bDeleted = false;
+            bool bInserted = false;
             size_t nAuthor = std::string::npos;
             if ( bHasRedline )
             {
@@ -683,10 +684,21 @@ void SwLineLayout::CalcLine( SwTextFormatter &rLine, 
SwTextFormatInfo &rInf )
                 bool bHasFlyRedline = 
rLine.GetRedln()->CheckLine(flyStart.first->GetIndex(),
                     flyStart.second, flyStart.first->GetIndex(), 
flyStart.second, sRedlineText,
                     bHasRedlineEnd, eRedlineEnd, /*pAuthorAtPos=*/&nAuthor);
-                bDeleted = bHasFlyRedline && eRedlineEnd == 
RedlineType::Delete;
+                if (bHasFlyRedline)
+                {
+                    bDeleted = eRedlineEnd == RedlineType::Delete;
+                    bInserted = eRedlineEnd == RedlineType::Insert;
+                }
             }
             static_cast<SwFlyCntPortion*>(pPos)->SetDeleted(bDeleted);
             static_cast<SwFlyCntPortion*>(pPos)->SetAuthor(nAuthor);
+
+            if (auto pFlyPortion = dynamic_cast<sw::FlyContentPortion*>(pPos))
+            {
+                SwFlyFrame* pFlyFrame = pFlyPortion->GetFlyFrame();
+                pFlyFrame->SetDeleted(bDeleted);
+                pFlyFrame->SetInserted(bInserted);
+            }
         }
         // anchored to characters
         else if ( pPos->IsFlyPortion() )
commit 447888a0c0f093a15865eadf90d6889a56de9538
Author:     Xisco Fauli <[email protected]>
AuthorDate: Thu Jan 22 16:45:09 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    sw: fix warning C6011: Dereferencing NULL pointer 'pShell'
    
    
E:/jenkins/workspace/lo_tb_master_win_analyze/sw/source/core/layout/paintfrm.cxx(4506):
 error C2220: the following warning is treated as an error
    E:\jenkins\workspace\lo_tb_master_win_analyze\sw\source    
    After
    commit 58d677055d9f6da976bf4fe34c1d89dd6871050d
    Author: Miklos Vajna <[email protected]>
    Date:   Mon Jan 19 13:34:32 2026 +0100
    
        cool#13988 sw redline render mode: handle anchored images
    
    Change-Id: I68cc27e1d2b9ef1fd9851f6079c7b52a488070a3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197853
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit d32d9234466c296b8df5542ba10a5d92d75372b6)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197912

diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index 6b0fe4c6b9cb..3abe024fa602 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -4487,7 +4487,7 @@ void SwFlyFrame::PaintSwFrame(vcl::RenderContext& 
rRenderContext, SwRect const&
     PaintDecorators();
 
     // crossing out for tracked deletion
-    const SwViewOption* pViewOptions = pShell->GetViewOptions();
+    const SwViewOption* pViewOptions = pShell ? pShell->GetViewOptions() : 
nullptr;
     SwRedlineRenderMode eRedlineRenderMode
         = pViewOptions ? pViewOptions->GetRedlineRenderMode() : 
SwRedlineRenderMode::Standard;
     if (GetAuthor() != std::string::npos && IsDeleted()
commit d9c738557a4d12c8ba1981c595e99e8cb1cdb3a4
Author:     Regina Henschel <[email protected]>
AuthorDate: Sun Jan 25 09:17:49 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    tdf#159544 use top of parameter stack for COUNTIFS
    
    The evaluation of the fooIFS functions attempts to reduce the range to be
    examined so that empty cells at the end of a range are not examined. To
    do this, it uses the range at the bottom of the parameter stack. That
    works well, for example, with SUMIFS and AVERAGEIFS, because this range
    does not have an associated criterion, but instead contains the data to
    be summed up.
    
    In the case of COUNTIFS, however, all ranges have an associated criterion
    and such might query for empty cells. At the point in the process when
    the reduction takes place, the criteria are not yet known. Therefore,
    when the criteria are later resolved, the reduction is reversed in case
    the criterion queries for empty cells.
    
    The evaluation of ranges and criteria starts at the top of the parameter
    stack and goes then backwards. That means that the reduction was based
    on the range at the bottom of the stack, but the reversal of the
    reduction was based on the criterion at the top of the stack.
    
    The solution is to use the range of the parameter at the top of the
    stack to calculate the range reduction in the case of the COUNTIFS
    function.
    
    Change-Id: Ia451312b83ab73f52020edd204fb2e37997714e5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198058
    Tested-by: Jenkins
    Reviewed-by: Regina Henschel <[email protected]>
    (cherry picked from commit 709bb398d0ed123e9bf52b98b46f27418bbddef5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198127
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sc/qa/unit/ucalc_formula2.cxx b/sc/qa/unit/ucalc_formula2.cxx
index 146b2b1835b4..0ec654aa9ac2 100644
--- a/sc/qa/unit/ucalc_formula2.cxx
+++ b/sc/qa/unit/ucalc_formula2.cxx
@@ -4729,6 +4729,36 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, 
testHoriQueryEmptyCell)
     m_pDoc->DeleteTab(0);
 }
 
+CPPUNIT_TEST_FIXTURE(TestFormula2, testVertQueryEmptyCell)
+{
+    //Test for fix for tdf#159544
+    m_pDoc->InsertTab(0, u"Test"_ustr);
+
+    // Data in A1:B10, with empty A3, A5, A6, A7, A9, A10
+    m_pDoc->SetString(0, 0, 0, u"a"_ustr); // A1 col, row, tab
+    m_pDoc->SetString(0, 1, 0, u"b"_ustr); // A2
+    m_pDoc->SetString(0, 3, 0, u"d"_ustr); // A4
+    m_pDoc->SetString(0, 7, 0, u"h"_ustr); // A8
+    for (SCROW nRow = 0; nRow <= 9; ++nRow)
+    {
+        m_pDoc->SetValue(1, nRow, 0, nRow + 1);
+    }
+
+    m_pDoc->SetFormula(ScAddress(3, 0, 0), 
"=COUNTIFS(A1:A10;\"=\";B1:B10;\">0\")",
+                       formula::FormulaGrammar::GRAM_NATIVE_UI);
+    // As >0 is true for all cells in B1:B10, match is determined by empty 
cells in col A1:A10.
+    // Without fix the range was reduced, so that B9 and B10 were not count 
and result was 4.
+    CPPUNIT_ASSERT_EQUAL(6.0, m_pDoc->GetValue(ScAddress(3, 0, 0)));
+
+    // Make sure the result is identical for exchanged queries. This tests 
that the range
+    // reduction has actually been reversed.
+    m_pDoc->SetFormula(ScAddress(3, 1, 0), 
"=COUNTIFS($B1:$B10;\">0\";A1:A10;\"=\")",
+                       formula::FormulaGrammar::GRAM_NATIVE_UI);
+    CPPUNIT_ASSERT_EQUAL(6.0, m_pDoc->GetValue(ScAddress(3, 1, 0)));
+
+    m_pDoc->DeleteTab(0);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index d63b69b62a20..88a0899c3315 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -6080,7 +6080,9 @@ void ScInterpreter::IterateParametersIfs( 
double(*ResultFunc)( const sc::ParamIf
     }
 
     // Probe the main range token, and try if we can shrink the range without 
altering results.
-    const formula::FormulaToken* pMainRangeToken = pStack[ sp-nParamCount ];
+    const bool bIsCountIfs = (nParamCount % 2) == 0;
+    const formula::FormulaToken* pMainRangeToken
+        = bIsCountIfs ? pStack[sp - 1] : pStack[sp - nParamCount];
     if (pMainRangeToken->GetType() == svDoubleRef && 
bHasDoubleRefCriteriaRanges)
     {
         const ScComplexRefData* pRefData = pMainRangeToken->GetDoubleRef();
@@ -6305,8 +6307,7 @@ void ScInterpreter::IterateParametersIfs( 
double(*ResultFunc)( const sc::ParamIf
 
             // Undo bRangeReduce if asked to match empty cells for COUNTIFS 
(which should be rare).
             assert(rEntry.GetQueryItems().size() == 1);
-            const bool isCountIfs = (nParamCount % 2) == 0;
-            if(isCountIfs && (rEntry.IsQueryByEmpty() || rItem.mbMatchEmpty) 
&& bRangeReduce)
+            if(bIsCountIfs && (rEntry.IsQueryByEmpty() || rItem.mbMatchEmpty) 
&& bRangeReduce)
             {
                 bRangeReduce = false;
                 // All criteria ranges are svDoubleRef's, so only vConditions 
needs adjusting.
commit b8f973a9ddfab8c6c7d0293fa004b2b6cb83b624
Author:     Xisco Fauli <[email protected]>
AuthorDate: Fri Jan 23 11:28:06 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    crashreporting: check xTextDoc in ExportContent_()
    
    Seen in 
https://crashreport.libreoffice.org/stats/crash_details/b4091e21-8d8c-48e8-818b-f05ac0aff040
    
    Change-Id: If5aaf56724331ec92c85dac2f8b5ce4ba55e4143
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197935
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 6920e84063ba52955d0edb2169aa4c728881397e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198008
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/sw/source/filter/xml/xmlexp.cxx b/sw/source/filter/xml/xmlexp.cxx
index ca6996f9168d..a523c49a79d2 100644
--- a/sw/source/filter/xml/xmlexp.cxx
+++ b/sw/source/filter/xml/xmlexp.cxx
@@ -539,11 +539,14 @@ void SwXMLExport::ExportContent_()
 
     GetTextParagraphExport()->exportTrackedChanges( false );
     GetTextParagraphExport()->exportTextDeclarations();
-    Reference < XTextDocument > xTextDoc( GetModel(), UNO_QUERY );
-    Reference < XText > xText = xTextDoc->getText();
-
     GetTextParagraphExport()->exportFramesBoundToPage( m_bShowProgress );
-    GetTextParagraphExport()->exportText( xText, m_bShowProgress );
+
+    Reference < XTextDocument > xTextDoc( GetModel(), UNO_QUERY );
+    if (xTextDoc.is())
+    {
+        Reference < XText > xText = xTextDoc->getText();
+        GetTextParagraphExport()->exportText( xText, m_bShowProgress );
+    }
 }
 
 SwDoc* SwXMLExport::getDoc()
commit 3660e35eafa193f23c00560871fd8716bccbc7f2
Author:     Patrick Luby <[email protected]>
AuthorDate: Wed Dec 24 19:15:29 2025 -0500
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    Use macOS Tahoe's native control bounds for macOS 26.2
    
    In macOS 26.0 and 26.1, macOS would only use Tahoe's native control
    bounds if LibreOffice was built with Xcode 26. However, macOS 26.2
    now uses Tahoe's native bounds even if LibreOffice was built with
    an earlier version of Xcode.
    
    So move all the compiler and macOS version checks that were added in
    commit 764799befcb927f68f78e904213e3db7195554cb as well as the new
    macOS 16.2 check into a new useTahoeNativeBounds() function.
    
    Also, merge commit 2cddb7f648f80c28e080bebacc31a98333f77f2c since
    builds on pre-Tahoe macOS versions still render the pre-Tahoe
    style so further adjustments are needed when running on macOS
    Tahoe.
    
    Change-Id: Ib3d3c57223b6599b1954459aafcf304e07bf2d32
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196204
    Reviewed-by: Patrick Luby <[email protected]>
    Tested-by: Jenkins
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196857
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/vcl/osx/salnativewidgets.cxx b/vcl/osx/salnativewidgets.cxx
index e75462a17910..c8f73c723d50 100644
--- a/vcl/osx/salnativewidgets.cxx
+++ b/vcl/osx/salnativewidgets.cxx
@@ -454,13 +454,35 @@ static void drawEditableBackground(CGContextRef context, 
const NSRect& rc)
     CGContextRestoreGState(context);
 }
 
-static constexpr int spinButtonWidth()
+static bool useTahoeNativeBounds()
 {
+    if (@available(macOS 26.2, *))
+        return true;
 #if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-    if (@available(macOS 26, *))
+    else if (@available(macOS 26, *))
+        return true;
+#endif
+
+    return false;
+}
+
+static bool adjustPreTahoeBuildForTahoeNativeBounds()
+{
+#if __MAC_OS_X_VERSION_MAX_ALLOWED < 260000
+    if (@available(macOS 26.2, *))
+        return true;
+#endif
+
+    return false;
+}
+
+static int spinButtonWidth()
+{
+    // Builds on pre-Tahoe macOS versions still render the pre-Tahoe style
+    // so further adjustments are needed when running on macOS Tahoe.
+    if (useTahoeNativeBounds() && !adjustPreTahoeBuildForTahoeNativeBounds())
         return 23;
     else
-#endif
         return 16;
 }
 
@@ -633,8 +655,7 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                     rc.origin.x -= nMargin;
                     rc.size.width += nMargin * 2;
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                    if (@available(macOS 26, *))
+                    if (useTahoeNativeBounds())
                     {
                         rc.origin.x += FOCUS_RING_WIDTH * 2;
                         rc.size.width -= FOCUS_RING_WIDTH * 4;
@@ -643,9 +664,29 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                             rc.origin.y += 1;
                             rc.size.height -= FOCUS_RING_WIDTH;
                         }
+
+                        // Builds on pre-Tahoe macOS versions still render
+                        // the pre-Tahoe style so further adjustments are
+                        // needed when running on macOS Tahoe.
+                        if (adjustPreTahoeBuildForTahoeNativeBounds())
+                        {
+                            if (eBezelStyle == NSBezelStyleFlexiblePush)
+                            {
+                                rc.origin.x -= FOCUS_RING_WIDTH;
+                                rc.size.width += FOCUS_RING_WIDTH * 2;
+                                rc.origin.y -= (FOCUS_RING_WIDTH / 2) - 1;
+                                rc.size.height += FOCUS_RING_WIDTH;
+                            }
+                            else
+                            {
+                                rc.origin.x -= FOCUS_RING_WIDTH * 2;
+                                rc.size.width += FOCUS_RING_WIDTH * 4;
+                                rc.origin.y -= FOCUS_RING_WIDTH * 2;
+                                rc.size.height += FOCUS_RING_WIDTH * 4;
+                            }
+                        }
                     }
                     else
-#endif
                     {
                         if (eBezelStyle == NSBezelStyleFlexiblePush)
                         {
@@ -947,24 +988,20 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                 [pCtrl setSegmentCount: nCells];
                 if (bSolo)
                 {
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                    if (@available(macOS 26, *))
+                    if (useTahoeNativeBounds())
                         [pCtrl setWidth: rc.size.width forSegment: 0];
                     else
-#endif
                         [pCtrl setWidth: rc.size.width + FOCUS_RING_WIDTH 
forSegment: 0];
                 }
                 else
                 {
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                    if (@available(macOS 26, *))
+                    if (useTahoeNativeBounds())
                     {
                         [pCtrl setWidth: rc.size.width - FOCUS_RING_WIDTH/2 
forSegment: 0];
                         [pCtrl setWidth: rc.size.width - FOCUS_RING_WIDTH/4 
forSegment: 1];
                         [pCtrl setWidth: rc.size.width - FOCUS_RING_WIDTH/2 
forSegment: 2];
                     }
                     else
-#endif
                     {
 
                         [pCtrl setWidth: rc.size.width + FOCUS_RING_WIDTH/2 
forSegment: 0];
@@ -1043,18 +1080,29 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                 {
                     if (bSolo)
                     {
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                        if (@available(macOS 26, *))
+                        if (useTahoeNativeBounds())
                         {
                             rc.origin.y += FOCUS_RING_WIDTH / 4;
                             rc.size.height -= FOCUS_RING_WIDTH / 2;
+
+                            // Builds on pre-Tahoe macOS versions still render
+                            // the pre-Tahoe style so further adjustments are
+                            // needed when running on macOS Tahoe.
+                            if (adjustPreTahoeBuildForTahoeNativeBounds())
+                            {
+                                rc.size.width -= 1;
+                                rc.origin.y += 1;
+                                rc.size.height -= FOCUS_RING_WIDTH / 2;
+                            }
+                        }
+                        else
+                        {
+                            rc.size.width -= 1;
                         }
-#endif
                     }
                     else
                     {
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                        if (@available(macOS 26, *))
+                        if (useTahoeNativeBounds())
                         {
                             if (nPaintIndex == 0)
                                 rc.origin.x += FOCUS_RING_WIDTH / 2;
@@ -1066,19 +1114,40 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                             else
                                 rc.size.width -= FOCUS_RING_WIDTH * 3 / 4;
                             rc.size.height -= FOCUS_RING_WIDTH;
+
+                            // Builds on pre-Tahoe macOS versions still render
+                            // the pre-Tahoe style so further adjustments are
+                            // needed when running on macOS Tahoe.
+                            if (adjustPreTahoeBuildForTahoeNativeBounds())
+                            {
+                                if (nPaintIndex == 0)
+                                {
+                                    rc.origin.x -= FOCUS_RING_WIDTH / 2;
+                                    rc.size.width += FOCUS_RING_WIDTH / 2;
+                                }
+                                else if (nPaintIndex == 1)
+                                {
+                                    rc.origin.x -= FOCUS_RING_WIDTH / 2 + 1;
+                                    rc.size.width += FOCUS_RING_WIDTH;
+                                }
+                                else if (nPaintIndex == 2)
+                                {
+                                    rc.origin.x -= FOCUS_RING_WIDTH / 2;
+                                    rc.size.width += FOCUS_RING_WIDTH;
+                                }
+                            }
                         }
                         else
-#endif
                         {
-                            if (nPaintIndex == 0)
+                            if (nPaintIndex == 1)
                             {
-                                rc.origin.x += FOCUS_RING_WIDTH / 2;
-                                rc.size.width -= FOCUS_RING_WIDTH / 2;
+                                rc.origin.x -= 1;
+                                rc.size.width += 1;
                             }
                             else if (nPaintIndex == 2)
                             {
-                                rc.size.width -= FOCUS_RING_WIDTH / 2;
-                                rc.size.width -= FOCUS_RING_WIDTH / 2;
+                                rc.origin.x -= 1;
+                                rc.size.width += 1;
                             }
                         }
                     }
@@ -1137,11 +1206,9 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
 
                 {
                     rc.origin.x += 2;
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                    if (@available(macOS 26, *))
+                    if (useTahoeNativeBounds())
                         rc.size.width -= 4;
                     else
-#endif
                         rc.size.width -= 1;
                 }
 
@@ -1173,14 +1240,12 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                     else
                         [pBtn setKeyEquivalent: @""];
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                    if (@available(macOS 26, *))
+                    if (useTahoeNativeBounds())
                     {
                         rc.origin.x += 2;
                         rc.size.width -= 4;
                     }
                     else
-#endif
                     {
                         rc.size.width += 1;
                     }
@@ -1250,11 +1315,7 @@ bool 
AquaGraphicsBackendBase::performDrawNativeControl(ControlType nType,
                     ControlState nLowerState = pSpinButtonVal->mnLowerState;
 
                     rc.origin.x += rc.size.width + FOCUS_RING_WIDTH + 1;
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                    if (@available(macOS 26, *))
-                        ;
-                    else
-#endif
+                    if (!useTahoeNativeBounds())
                         rc.origin.y -= 1;
                     rc.size.width = SPIN_BUTTON_WIDTH;
                     rc.size.height = SPIN_UPPER_BUTTON_HEIGHT + 
SPIN_LOWER_BUTTON_HEIGHT;
@@ -1406,11 +1467,9 @@ bool AquaSalGraphics::getNativeControlRegion(ControlType 
nType,
         case ControlType::TabItem:
             {
                 w = aCtrlBoundRect.GetWidth() + 2 * TAB_TEXT_MARGIN;
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                if (@available(macOS 26, *))
+                if (useTahoeNativeBounds())
                     h = TAB_HEIGHT + 2 + FOCUS_RING_WIDTH;
                 else
-#endif
                     h = TAB_HEIGHT + 2;
                 rNativeContentRegion = tools::Rectangle(Point(x, y), Size(w, 
h));
                 rNativeBoundingRegion = tools::Rectangle(Point(x, y), Size(w, 
h));
@@ -1506,11 +1565,9 @@ bool AquaSalGraphics::getNativeControlRegion(ControlType 
nType,
             if (nPart == ControlPart::Entire)
             {
                 w = aCtrlBoundRect.GetWidth();
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-                if (@available(macOS 26, *))
+                if (useTahoeNativeBounds())
                     h = EDITBOX_HEIGHT + 2 * FOCUS_RING_WIDTH + 1;
                 else
-#endif
                     h = EDITBOX_HEIGHT + 2 * FOCUS_RING_WIDTH;
                 x += SPINBOX_OFFSET;
                 rNativeBoundingRegion = tools::Rectangle(Point(x, y), Size(w, 
h));
commit 5e2e6a7acd0496bccdfd40641890a99c2ffaf710
Author:     Justin Luth <[email protected]>
AuthorDate: Mon Jan 26 10:21:04 2026 -0500
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:35 2026 +0100

    tdf#165359 writerfilter: import graphic into richText, not plainText
    
    MS Word complains that documents are corrupt
    if a <w:text/> w:sdt (plainText content control)
    contains a picture.
    
    make CppunitTest_sw_ooxmlexport25 \
        CPPUNIT_TEST_NAME=testTdf165359_SdtWithInline
    make CppunitTest_sw_ooxmlexport25 \
        CPPUNIT_TEST_NAME=testTdf165359_SdtWithDrawing
    
    Change-Id: Ic1533a71fbaaaa4e28e7e00976f5c8f747cf2d6b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198049
    Tested-by: Jenkins
    Reviewed-by: Justin Luth <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198198

diff --git a/sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithDrawing.docx 
b/sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithDrawing.docx
new file mode 100644
index 000000000000..31a37c5e8f2f
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithDrawing.docx differ
diff --git a/sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithInline.docx 
b/sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithInline.docx
new file mode 100644
index 000000000000..87d4ddac6770
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf165359_SdtWithInline.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport25.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport25.cxx
index 248fe96c3c02..319ced5eba2c 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport25.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport25.cxx
@@ -159,6 +159,28 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf170438_dropdown)
     assertXPath(pXmlDoc, "//w:listItem[1]", "value", u""); // value may be 
empty
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf165359_SdtWithInline)
+{
+    createSwDoc("tdf165359_SdtWithInline.docx");
+
+    save(TestFilter::DOCX);
+
+    xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr);
+    // MS Word reports document as corrupt if a picture is inside of a 
plainText content control
+    assertXPath(pXmlDoc, "//w:sdtPr/w:text", 0);
+}
+
+CPPUNIT_TEST_FIXTURE(Test, testTdf165359_SdtWithDrawing)
+{
+    createSwDoc("tdf165359_SdtWithDrawing.docx");
+
+    save(TestFilter::DOCX);
+
+    xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr);
+    // MS Word reports document as corrupt if a picture is inside of a 
plainText content control
+    assertXPath(pXmlDoc, "//w:sdtPr/w:text", 0);
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testTdf170389_manyTabstops)
 {
     createSwDoc("tdf170389_manyTabstops.odt");
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index 8d461f0a4c12..0499b42776f1 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
@@ -9667,6 +9667,13 @@ void  DomainMapper_Impl::ImportGraphic(const 
writerfilter::Reference<Properties>
         }
     }
 
+    if (m_pSdtHelper->getControlType() == SdtControlType::plainText
+        && (m_StreamStateStack.top().bSdt || GetSdtStarts().size()))
+    {
+        // plainText controls cannot contain pictures or shapes
+        m_pSdtHelper->setControlType(SdtControlType::richText);
+    }
+
 
     // Update the shape properties if it is embedded object.
     if (m_StreamStateStack.top().xEmbedded.is())
commit e19d7e73f438f9fd7c54cbbb7fb3ae6510c75931
Author:     Christian Lohmaier <[email protected]>
AuthorDate: Tue Jan 27 16:23:27 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Jan 30 13:16:34 2026 +0100

    update credits
    
    Change-Id: I4fa0398e403d983e21e82390a19aa9b9992a9da7
    (cherry picked from commit 9807b7af87cb6ef4b78ebec7bb6cf17b9515521e)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index becaa5583ea3..637e79a74f67 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <office:document xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.4" office:mimetype="application/vnd.oasis.opendocument.text">
- <office:meta><dc:title>Credits » 
LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits
 for the LibreOffice 
development/coding.</dc:description><meta:generator>LibreOffice/25.8.4.1$Linux_X86_64
 
LibreOffice_project/6ab4ab096601e7cd763971a4dad5a6c7322a1a59</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic
 meta:table-count="5" meta:image-count="1" meta:object-count="0" 
meta:page-count="2" meta:paragraph-count="5204" meta:word-count="19716" 
meta:character-count="142927" 
meta:non-whitespace-character-count="125441"/><meta:user-defined 
meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta>
+ <office:meta><dc:title>Credits » 
LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits
 for the LibreOffice 
development/coding.</dc:description><meta:generator>LibreOffice/25.8.4.2$Linux_X86_64
 
LibreOffice_project/290daaa01b999472f0c7a3890eb6a550fd74c6df</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic
 meta:table-count="5" meta:image-count="1" meta:object-count="0" 
meta:page-count="2" meta:paragraph-count="5232" meta:word-count="19822" 
meta:character-count="143726" 
meta:non-whitespace-character-count="126148"/><meta:user-defined 
meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta>
  <office:settings>
   <config:config-item-set config:name="ooo:view-settings">
-   <config:config-item config:name="ViewAreaTop" 
config:type="long">3069</config:config-item>
+   <config:config-item config:name="ViewAreaTop" 
config:type="long">3036</config:config-item>
    <config:config-item config:name="ViewAreaLeft" 
config:type="long">501</config:config-item>
-   <config:config-item config:name="ViewAreaWidth" 
config:type="long">27219</config:config-item>
-   <config:config-item config:name="ViewAreaHeight" 
config:type="long">25243</config:config-item>
+   <config:config-item config:name="ViewAreaWidth" 
config:type="long">27236</config:config-item>
+   <config:config-item config:name="ViewAreaHeight" 
config:type="long">25261</config:config-item>
    <config:config-item config:name="ShowRedlineChanges" 
config:type="boolean">true</config:config-item>
    <config:config-item config:name="InBrowseMode" 
config:type="boolean">true</config:config-item>
    <config:config-item-map-indexed config:name="Views">
@@ -16,9 +16,9 @@
      <config:config-item config:name="ViewLeft" 
config:type="long">3323</config:config-item>
      <config:config-item config:name="ViewTop" 
config:type="long">3434</config:config-item>
      <config:config-item config:name="VisibleLeft" 
config:type="long">501</config:config-item>
-     <config:config-item config:name="VisibleTop" 
config:type="long">3069</config:config-item>
-     <config:config-item config:name="VisibleRight" 
config:type="long">27718</config:config-item>
-     <config:config-item config:name="VisibleBottom" 
config:type="long">28310</config:config-item>
+     <config:config-item config:name="VisibleTop" 
config:type="long">3036</config:config-item>
+     <config:config-item config:name="VisibleRight" 
config:type="long">27735</config:config-item>
+     <config:config-item config:name="VisibleBottom" 
config:type="long">28295</config:config-item>
      <config:config-item config:name="ZoomType" 
config:type="short">0</config:config-item>
      <config:config-item config:name="ViewLayoutColumns" 
config:type="short">0</config:config-item>
      <config:config-item config:name="ViewLayoutBookMode" 
config:type="boolean">false</config:config-item>
@@ -157,7 +157,7 @@
    <config:config-item config:name="UseOldPrinterMetrics" 
config:type="boolean">false</config:config-item>
    <config:config-item config:name="RedlineProtectionKey" 
config:type="base64Binary"/>
    <config:config-item config:name="TabsRelativeToIndent" 
config:type="boolean">true</config:config-item>
-   <config:config-item config:name="Rsid" 
config:type="int">14993693</config:config-item>
+   <config:config-item config:name="Rsid" 
config:type="int">15048688</config:config-item>
    <config:config-item config:name="UpdateFromTemplate" 
config:type="boolean">true</config:config-item>
    <config:config-item config:name="ProtectForm" 
config:type="boolean">false</config:config-item>
    <config:config-item config:name="MsWordCompMinLineHeightByFly" 
config:type="boolean">false</config:config-item>
@@ -380,24 +380,24 @@
  </office:styles>
  <office:automatic-styles>
   <style:style style:name="Tabelle1" style:family="table">
-   <style:table-properties style:width="26.587cm" table:align="left"/>
+   <style:table-properties style:width="26.042cm" table:align="left"/>
   </style:style>
   <style:style style:name="Tabelle1.A" style:family="table-column">
-   <style:table-column-properties style:column-width="6.761cm"/>
+   <style:table-column-properties style:column-width="6.212cm"/>
   </style:style>
   <style:style style:name="Tabelle1.B" style:family="table-column">
-   <style:table-column-properties style:column-width="6.144cm"/>
+   <style:table-column-properties style:column-width="6.735cm"/>
   </style:style>
   <style:style style:name="Tabelle1.C" style:family="table-column">
-   <style:table-column-properties style:column-width="6.872cm"/>
+   <style:table-column-properties style:column-width="6.144cm"/>
   </style:style>
   <style:style style:name="Tabelle1.D" style:family="table-column">
-   <style:table-column-properties style:column-width="6.81cm"/>
+   <style:table-column-properties style:column-width="6.951cm"/>
   </style:style>
   <style:style style:name="Tabelle1.A1" style:family="table-cell">
    <style:table-cell-properties style:vertical-align="middle" 
fo:padding="0.049cm" fo:border="none"/>
   </style:style>
-  <style:style style:name="Tabelle1.B505" style:family="table-cell">
+  <style:style style:name="Tabelle1.D508" style:family="table-cell">
    <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
   </style:style>
   <style:style style:name="Tabelle2" style:family="table">
@@ -461,26 +461,23 @@
    <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
   </style:style>
   <style:style style:name="Tabelle5" style:family="table">
-   <style:table-properties style:width="26.936cm" table:align="left"/>
+   <style:table-properties style:width="26.954cm" table:align="left"/>
   </style:style>
   <style:style style:name="Tabelle5.A" style:family="table-column">
-   <style:table-column-properties style:column-width="5.694cm"/>
+   <style:table-column-properties style:column-width="8.216cm"/>
   </style:style>
   <style:style style:name="Tabelle5.B" style:family="table-column">
-   <style:table-column-properties style:column-width="5.872cm"/>
+   <style:table-column-properties style:column-width="5.336cm"/>
   </style:style>
   <style:style style:name="Tabelle5.C" style:family="table-column">
-   <style:table-column-properties style:column-width="9.604cm"/>
+   <style:table-column-properties style:column-width="5.819cm"/>
   </style:style>
   <style:style style:name="Tabelle5.D" style:family="table-column">
-   <style:table-column-properties style:column-width="5.766cm"/>
+   <style:table-column-properties style:column-width="7.583cm"/>
   </style:style>
   <style:style style:name="Tabelle5.A1" style:family="table-cell">
    <style:table-cell-properties style:vertical-align="middle" 
fo:padding="0.049cm" fo:border="none"/>
   </style:style>
-  <style:style style:name="Tabelle5.C750" style:family="table-cell">
-   <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/>
-  </style:style>
   <style:style style:name="P1" style:family="paragraph" 
style:parent-style-name="Heading_20_1" style:master-page-name="HTML">
    <style:paragraph-properties style:page-number="auto"/>
    <style:text-properties officeooo:paragraph-rsid="00af6e70"/>
@@ -863,7 +860,7 @@
    </draw:frame>
    <text:section text:style-name="Sect1" text:name="BgContainer">
     <text:p text:style-name="P1"><text:span 
text:style-name="T1">Credits</text:span></text:p>
-    <text:p text:style-name="Text_20_body">2147 individuals contributed to 
OpenOffice.org (and whose contributions were imported into LibreOffice) or 
LibreOffice until 2025-12-10 17:19:54.</text:p>
+    <text:p text:style-name="Text_20_body">2161 individuals contributed to 
OpenOffice.org (and whose contributions were imported into LibreOffice) or 
LibreOffice until 2026-01-27 16:02:47.</text:p>
     <text:p text:style-name="Text_20_body"><text:span 
text:style-name="T2">*</text:span> marks developers whose first contributions 
happened after 2010-09-28.</text:p>
     <text:h text:style-name="P2" text:outline-level="2">Developers committing 
code since 2010-09-28</text:h>
     <table:table table:name="Tabelle1" table:style-name="Tabelle1">
@@ -876,7 +873,7 @@
        <text:p text:style-name="Table_20_Contents">Ruediger 
Timm<text:line-break/>Commits: 82464<text:line-break/>Joined: 
2000-10-10</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Caolán 
McNamara<text:line-break/>Commits: 37295<text:line-break/>Joined: 
2000-10-10</text:p>
+       <text:p text:style-name="Table_20_Contents">Caolán 
McNamara<text:line-break/>Commits: 37393<text:line-break/>Joined: 
2000-10-10</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Kurt 
Zenker<text:line-break/>Commits: 31752<text:line-break/>Joined: 
2000-09-25</text:p>
@@ -896,18 +893,18 @@
        <text:p text:style-name="Table_20_Contents">Stephan 
Bergmann<text:line-break/>Commits: 21530<text:line-break/>Joined: 
2000-10-04</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Noel Grandin<text:line-break/>Commits: 
20595<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-12-12</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Noel Grandin<text:line-break/>Commits: 
20685<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-12-12</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Miklos 
Vajna<text:line-break/>Commits: 10392<text:line-break/>Joined: 
2010-07-29</text:p>
+       <text:p text:style-name="Table_20_Contents">Miklos 
Vajna<text:line-break/>Commits: 10426<text:line-break/>Joined: 
2010-07-29</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Ivo 
Hinkelmann<text:line-break/>Commits: 9480<text:line-break/>Joined: 
2002-09-09</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Tor 
Lillqvist<text:line-break/>Commits: 9165<text:line-break/>Joined: 
2010-03-23</text:p>
+       <text:p text:style-name="Table_20_Contents">Tor 
Lillqvist<text:line-break/>Commits: 9231<text:line-break/>Joined: 
2010-03-23</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Michael 
Stahl<text:line-break/>Commits: 8681<text:line-break/>Joined: 
2008-06-16</text:p>
@@ -915,7 +912,7 @@
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Kohei 
Yoshida<text:line-break/>Commits: 5584<text:line-break/>Joined: 
2009-06-19</text:p>
+       <text:p text:style-name="Table_20_Contents">Kohei 
Yoshida<text:line-break/>Commits: 5586<text:line-break/>Joined: 
2009-06-19</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Eike 
Rathke<text:line-break/>Commits: 5398<text:line-break/>Joined: 
2000-10-11</text:p>
@@ -929,24 +926,24 @@
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Mike Kaganski<text:line-break/>Commits: 
4670<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-04-26</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Mike Kaganski<text:line-break/>Commits: 
4745<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-04-26</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andrea Gelmini<text:line-break/>Commits: 
4497<text:line-break/>Joined: <text:span 
text:style-name="T3">2014-10-30</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andrea Gelmini<text:line-break/>Commits: 
4526<text:line-break/>Joined: <text:span 
text:style-name="T3">2014-10-30</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Michael Weghorn<text:line-break/>Commits: 
4038<text:line-break/>Joined: <text:span 
text:style-name="T3">2014-09-10</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Michael Weghorn<text:line-break/>Commits: 
4398<text:line-break/>Joined: <text:span 
text:style-name="T3">2014-09-10</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Julien Nabet<text:line-break/>Commits: 
4023<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-11-04</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Xisco Fauli<text:line-break/>Commits: 
4045<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-02-06</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Xisco Fauli<text:line-break/>Commits: 
3953<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-02-06</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Julien Nabet<text:line-break/>Commits: 
4026<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-11-04</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 
3778<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-06-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 
3795<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-06-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">David 
Tardon<text:line-break/>Commits: 3648<text:line-break/>Joined: 
2009-11-12</text:p>
@@ -966,7 +963,7 @@
        <text:p text:style-name="Table_20_Contents">Oliver 
Specht<text:line-break/>Commits: 2698<text:line-break/>Joined: 
2000-09-21</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Jan 
Holesovsky<text:line-break/>Commits: 2679<text:line-break/>Joined: 
2009-06-23</text:p>
+       <text:p text:style-name="Table_20_Contents">Jan 
Holesovsky<text:line-break/>Commits: 2684<text:line-break/>Joined: 
2009-06-23</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -977,7 +974,7 @@
        <text:p text:style-name="Table_20_Contents">Michael 
Meeks<text:line-break/>Commits: 2543<text:line-break/>Joined: 
2004-08-05</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Olivier Hallot<text:line-break/>Commits: 
2516<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Olivier Hallot<text:line-break/>Commits: 
2540<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-25</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Bjoern 
Michaelsen<text:line-break/>Commits: 2510<text:line-break/>Joined: 
2009-10-14</text:p>
@@ -991,10 +988,10 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Thomas Arnhold<text:line-break/>Commits: 
2176<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-01-16</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Philipp Lohmann 
[pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andras Timar<text:line-break/>Commits: 
2095<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-02</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andras Timar<text:line-break/>Commits: 
2083<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-02</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Philipp Lohmann 
[pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1008,7 +1005,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Matúš Kukan<text:line-break/>Commits: 
1712<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-04-06</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Christopher 
Sherlock<text:line-break/>Commits: 1621<text:line-break/>Joined: <text:span 
text:style-name="T3">2013-02-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Christopher 
Sherlock<text:line-break/>Commits: 1630<text:line-break/>Joined: <text:span 
text:style-name="T3">2013-02-25</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1016,10 +1013,10 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Takeshi Abe<text:line-break/>Commits: 
1486<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-11-08</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Matteo Casalin<text:line-break/>Commits: 
1476<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-11-13</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Christian 
Lohmaier<text:line-break/>Commits: 1483<text:line-break/>Joined: 
2008-06-01</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Christian 
Lohmaier<text:line-break/>Commits: 1475<text:line-break/>Joined: 
2008-06-01</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Matteo Casalin<text:line-break/>Commits: 
1476<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-11-13</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Thorsten 
Behrens<text:line-break/>Commits: 1442<text:line-break/>Joined: 
2001-04-25</text:p>
@@ -1027,10 +1024,10 @@
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Samuel Mehrbrodt<text:line-break/>Commits: 
1350<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-06-08</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Szymon Kłos<text:line-break/>Commits: 
1356<text:line-break/>Joined: <text:span 
text:style-name="T3">2014-03-22</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Szymon Kłos<text:line-break/>Commits: 
1344<text:line-break/>Joined: <text:span 
text:style-name="T3">2014-03-22</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Samuel Mehrbrodt<text:line-break/>Commits: 
1350<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-06-08</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Fridrich 
Štrba<text:line-break/>Commits: 1340<text:line-break/>Joined: 
2007-02-22</text:p>
@@ -1050,7 +1047,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>andreas kainz<text:line-break/>Commits: 
1228<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-03-18</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Tamás Zolnai<text:line-break/>Commits: 
1216<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-08-06</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Tamás Zolnai<text:line-break/>Commits: 
1227<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-08-06</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1064,7 +1061,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 
1051<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-01-15</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>László Németh<text:line-break/>Commits: 
1021<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-09-29</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>László Németh<text:line-break/>Commits: 
1030<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-09-29</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1117,13 +1114,16 @@
        <text:p text:style-name="Table_20_Contents">Carsten 
Driesner<text:line-break/>Commits: 748<text:line-break/>Joined: 
2000-10-06</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Joachim 
Lingner<text:line-break/>Commits: 745<text:line-break/>Joined: 
2000-10-05</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Justin Luth<text:line-break/>Commits: 
747<text:line-break/>Joined: <text:span 
text:style-name="T3">2018-04-21</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Katarina Behrens<text:line-break/>Commits: 
745<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-13</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Joachim 
Lingner<text:line-break/>Commits: 745<text:line-break/>Joined: 
2000-10-05</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
+      <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Katarina Behrens<text:line-break/>Commits: 
745<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-13</text:span></text:p>
+      </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andrzej Hunt<text:line-break/>Commits: 
743<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-03-27</text:span></text:p>
       </table:table-cell>
@@ -1133,27 +1133,24 @@
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Release 
Engineering<text:line-break/>Commits: 728<text:line-break/>Joined: 
2008-10-02</text:p>
       </table:table-cell>
-      <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Zdeněk Crhonek<text:line-break/>Commits: 
714<text:line-break/>Joined: <text:span 
text:style-name="T3">2016-05-19</text:span></text:p>
-      </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Justin Luth<text:line-break/>Commits: 
713<text:line-break/>Joined: <text:span 
text:style-name="T3">2018-04-21</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Zdeněk Crhonek<text:line-break/>Commits: 
714<text:line-break/>Joined: <text:span 
text:style-name="T3">2016-05-19</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Jim Raykowski<text:line-break/>Commits: 
700<text:line-break/>Joined: <text:span 
text:style-name="T3">2017-04-16</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Jim Raykowski<text:line-break/>Commits: 
714<text:line-break/>Joined: <text:span 
text:style-name="T3">2017-04-16</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Joerg Skottke 
[jsk]<text:line-break/>Commits: 678<text:line-break/>Joined: 2008-06-17</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Rizal Muttaqin<text:line-break/>Commits: 
672<text:line-break/>Joined: <text:span 
text:style-name="T3">2018-05-21</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Heiko Tietze<text:line-break/>Commits: 
672<text:line-break/>Joined: <text:span 
text:style-name="T3">2016-10-06</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Heiko Tietze<text:line-break/>Commits: 
659<text:line-break/>Joined: <text:span 
text:style-name="T3">2016-10-06</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Rizal Muttaqin<text:line-break/>Commits: 
672<text:line-break/>Joined: <text:span 
text:style-name="T3">2018-05-21</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Joseph Powers<text:line-break/>Commits: 
658<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-15</text:span></text:p>
@@ -1176,7 +1173,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Seth Chaiklin<text:line-break/>Commits: 
618<text:line-break/>Joined: <text:span 
text:style-name="T3">2019-11-13</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Rene 
Engelhard<text:line-break/>Commits: 609<text:line-break/>Joined: 
2005-03-14</text:p>
+       <text:p text:style-name="Table_20_Contents">Rene 
Engelhard<text:line-break/>Commits: 610<text:line-break/>Joined: 
2005-03-14</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
@@ -1212,24 +1209,24 @@
        <text:p text:style-name="Table_20_Contents">Andreas 
Bregas<text:line-break/>Commits: 470<text:line-break/>Joined: 
2000-09-25</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Jean-Pierre Ledure<text:line-break/>Commits: 
455<text:line-break/>Joined: <text:span 
text:style-name="T3">2013-10-12</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Jean-Pierre Ledure<text:line-break/>Commits: 
466<text:line-break/>Joined: <text:span 
text:style-name="T3">2013-10-12</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Henry Castro<text:line-break/>Commits: 
415<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-01-09</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Henry Castro<text:line-break/>Commits: 
417<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-01-09</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Ashod Nakashian<text:line-break/>Commits: 
405<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-01-07</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Justin Luth<text:line-break/>Commits: 
409<text:line-break/>Joined: <text:span 
text:style-name="T3">2020-02-03</text:span></text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Marco Cecchetti<text:line-break/>Commits: 
399<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-04-14</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Ashod Nakashian<text:line-break/>Commits: 
405<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-01-07</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Rafael Lima<text:line-break/>Commits: 
399<text:line-break/>Joined: <text:span 
text:style-name="T3">2020-11-13</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Marco Cecchetti<text:line-break/>Commits: 
399<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-04-14</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Justin Luth<text:line-break/>Commits: 
395<text:line-break/>Joined: <text:span 
text:style-name="T3">2020-02-03</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Rafael Lima<text:line-break/>Commits: 
399<text:line-break/>Joined: <text:span 
text:style-name="T3">2020-11-13</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Bogdan Buzea<text:line-break/>Commits: 
393<text:line-break/>Joined: <text:span 
text:style-name="T3">2022-11-01</text:span></text:p>
@@ -1243,7 +1240,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Laurent BP<text:line-break/>Commits: 
389<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-08-31</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Arnaud VERSINI<text:line-break/>Commits: 
385<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-05</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Arnaud Versini<text:line-break/>Commits: 
386<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-10-05</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Ivan Timofeev<text:line-break/>Commits: 
380<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-09-16</text:span></text:p>
@@ -1268,21 +1265,21 @@
        <text:p text:style-name="Table_20_Contents">Matthias Huetsch 
[mhu]<text:line-break/>Commits: 360<text:line-break/>Joined: 2000-09-28</text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andreas Heinisch<text:line-break/>Commits: 
338<text:line-break/>Joined: <text:span 
text:style-name="T3">2019-05-13</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Andreas Heinisch<text:line-break/>Commits: 
343<text:line-break/>Joined: <text:span 
text:style-name="T3">2019-05-13</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents">Patrick 
Luby<text:line-break/>Commits: 335<text:line-break/>Joined: 2000-09-21</text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Stanislav Horacek<text:line-break/>Commits: 
338<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-12-09</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>David Ostrovsky<text:line-break/>Commits: 
334<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-04-01</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents">Patrick 
Luby<text:line-break/>Commits: 335<text:line-break/>Joined: 2000-09-21</text:p>
       </table:table-cell>
      </table:table-row>
      <table:table-row>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Stanislav Horacek<text:line-break/>Commits: 
333<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-12-09</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>David Ostrovsky<text:line-break/>Commits: 
334<text:line-break/>Joined: <text:span 
text:style-name="T3">2012-04-01</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Regina Henschel<text:line-break/>Commits: 
310<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-11-04</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Regina Henschel<text:line-break/>Commits: 
316<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-11-04</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents">Radek 
Doulik<text:line-break/>Commits: 305<text:line-break/>Joined: 
2010-05-03</text:p>
@@ -1296,7 +1293,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Chr. Rossmanith<text:line-break/>Commits: 
300<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-01-03</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Ilmari Lauhakangas<text:line-break/>Commits: 
294<text:line-break/>Joined: <text:span 
text:style-name="T3">2017-04-15</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Ilmari Lauhakangas<text:line-break/>Commits: 
296<text:line-break/>Joined: <text:span 
text:style-name="T3">2017-04-15</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Balazs Varga<text:line-break/>Commits: 
286<text:line-break/>Joined: <text:span 
text:style-name="T3">2022-06-29</text:span></text:p>
@@ -1338,7 +1335,7 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Winfried Donkers<text:line-break/>Commits: 
217<text:line-break/>Joined: <text:span 
text:style-name="T3">2011-11-11</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Dennis Francis<text:line-break/>Commits: 
212<text:line-break/>Joined: <text:span 
text:style-name="T3">2018-11-15</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Dennis Francis<text:line-break/>Commits: 
213<text:line-break/>Joined: <text:span 
text:style-name="T3">2018-11-15</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Tamas Bunth<text:line-break/>Commits: 
203<text:line-break/>Joined: <text:span 
text:style-name="T3">2016-03-08</text:span></text:p>
@@ -1352,10 +1349,10 @@
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Arkadiy Illarionov<text:line-break/>Commits: 
201<text:line-break/>Joined: <text:span 
text:style-name="T3">2017-01-15</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Jacobo Aragunde 
Pérez<text:line-break/>Commits: 192<text:line-break/>Joined: <text:span 
text:style-name="T3">2013-09-25</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Gülşah Köse<text:line-break/>Commits: 
194<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-03-14</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
-       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Gülşah Köse<text:line-break/>Commits: 
192<text:line-break/>Joined: <text:span 
text:style-name="T3">2015-03-14</text:span></text:p>
+       <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Jacobo Aragunde 
Pérez<text:line-break/>Commits: 192<text:line-break/>Joined: <text:span 
text:style-name="T3">2013-09-25</text:span></text:p>
       </table:table-cell>
       <table:table-cell table:style-name="Tabelle1.A1" 
office:value-type="string">
        <text:p text:style-name="Table_20_Contents"><text:span 
text:style-name="T2">*</text:span>Robert Nagy<text:line-break/>Commits: 
191<text:line-break/>Joined: <text:span 
text:style-name="T3">2010-11-04</text:span></text:p>
@@ -1369,41 +1366,44 @@
-e 
... etc. - the rest is truncated

Reply via email to