basic/qa/basic_coverage/test_Property.GetSet.bas         |    1 
 basic/qa/basic_coverage/test_With.bas                    |   19 
 basic/source/comp/loops.cxx                              |   15 
 basic/source/comp/parser.cxx                             |    6 
 dictionaries                                             |    2 
 extras/source/autocorr/lang/en-AU/DocumentList.xml       |    1 
 extras/source/autocorr/lang/en-GB/DocumentList.xml       |    1 
 extras/source/autocorr/lang/en-US/DocumentList.xml       |    1 
 extras/source/autocorr/lang/en-ZA/DocumentList.xml       |    1 
 extras/source/autocorr/lang/ja/DocumentList.xml          |    1 
 extras/source/autocorr/lang/ko/DocumentList.xml          |    1 
 extras/source/autocorr/lang/zh-TW/DocumentList.xml       |    1 
 icon-themes/colibre_dark_svg/res/locked.svg              |    1 
 icon-themes/colibre_dark_svg/res/unlocked.svg            |   44 
 icon-themes/colibre_svg/res/locked.svg                   |    1 
 icon-themes/colibre_svg/res/unlocked.svg                 |    5 
 sc/inc/colorscale.hxx                                    |    6 
 sc/inc/fillinfo.hxx                                      |    1 
 sc/qa/unit/subsequent_filters_test4.cxx                  |   14 
 sc/qa/unit/ucalc_condformat.cxx                          |    9 
 sc/source/core/data/colorscale.cxx                       |   66 
 sc/source/ui/condformat/condformatdlgentry.cxx           |   30 
 sc/source/ui/view/dbfunc.cxx                             |    8 
 sc/source/ui/view/tabvwsha.cxx                           |    3 
 sc/uiconfig/scalc/ui/conditionaliconset.ui               |   11 
 sd/qa/unit/data/tdf162455.svg                            | 2115 +++++++++++++++
 sd/qa/unit/uiimpress.cxx                                 |   37 
 sfx2/qa/cppunit/test_misc.cxx                            |   32 
 sfx2/source/doc/docfile.cxx                              |    5 
 svx/source/svdraw/svdfmtf.cxx                            |   88 
 svx/source/svdraw/svdfmtf.hxx                            |    9 
 sw/inc/PostItMgr.hxx                                     |    2 
 sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx |   40 
 sw/qa/core/accessibilitycheck/data/DeleteHeader.odt      |binary
 sw/qa/extras/uiwriter/uiwriter6.cxx                      |  126 
 sw/source/core/access/AccessibilityCheck.cxx             |   71 
 sw/source/core/doc/docfmt.cxx                            |   33 
 sw/source/core/unocore/unosett.cxx                       |    2 
 sw/source/ui/config/optpage.cxx                          |    2 
 sw/source/uibase/app/docst.cxx                           |   16 
 sw/source/uibase/uno/unotxdoc.cxx                        |    8 
 vcl/source/components/dtranscomp.cxx                     |    1 
 vcl/unx/gtk4/a11y.cxx                                    |   12 
 43 files changed, 2589 insertions(+), 259 deletions(-)

New commits:
commit 3ed2932d1e6db06103cca2e13ca70c5465febee6
Author:     Ilmari Lauhakangas <[email protected]>
AuthorDate: Tue Sep 17 08:51:01 2024 +0300
Commit:     Ilmari Lauhakangas <[email protected]>
CommitDate: Tue Sep 17 16:46:58 2024 +0200

    tdf#162990 Colibre (and Dark) SVG: fix unlocked icon and add locked icon
    
    Change-Id: Ic2121cdddc5bafb38b5082f4ba6e6774670a1543
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173509
    Reviewed-by: Heiko Tietze <[email protected]>
    Reviewed-by: Rafael Lima <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit b72068ba689af7f292eca707df5765fda8109fb5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173494
    Reviewed-by: Ilmari Lauhakangas <[email protected]>

diff --git a/icon-themes/colibre_dark_svg/res/locked.svg 
b/icon-themes/colibre_dark_svg/res/locked.svg
new file mode 100644
index 000000000000..9bdb7c7e20cf
--- /dev/null
+++ b/icon-themes/colibre_dark_svg/res/locked.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg";><path 
d="m12.011518 
4.8005225c0-2.2187334-1.784636-4.0355225-4.0194531-4.0355225-2.2348159 
0-4.0194525 1.8167891-4.0194525 
4.0355225v1.3666105c-.9968244.1446999-1.736404.9807439-1.736404 
2.0258003v4.9841107c-.016078 1.141522.9003577 2.057956 2.0579603 
2.057956h7.4118713c1.141525 0 2.05796-.916434 
2.05796-2.074034v-4.9841108c0-1.0450555-.755657-1.8650223-1.736403-2.0257998v-1.3505329zm-3.6014292
 8.1031995c0 .225089-.1768571.418023-.4180239.418023-.2090109 
0-.4019452-.192934-.4019452-.418023v-2.106189c-.4823341-.192933-.8360458-.627033-.8360458-1.173678
 0-.6913441.5627226-1.2379883 1.237991-1.2379883s1.237992.5627223 1.237992 
1.2379883c0 .562722-.3537121.996822-.8199681 
1.173678zm-2.9743956-6.7687438v-1.3344557c0-1.4309223 1.1254465-2.5563669 
2.5402945-2.5563669 1.4309248 0 2.5563713 1.1254446 2.5563713 
2.5563669v1.3344557z" fill="#fff" stroke-width=".160778"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_dark_svg/res/unlocked.svg 
b/icon-themes/colibre_dark_svg/res/unlocked.svg
index af033231c4fa..bd5bce15201d 100644
--- a/icon-themes/colibre_dark_svg/res/unlocked.svg
+++ b/icon-themes/colibre_dark_svg/res/unlocked.svg
@@ -1,43 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   width="1200pt"
-   height="1200pt"
-   version="1.1"
-   viewBox="0 0 1200 1200"
-   id="svg1"
-   sodipodi:docname="noun-unlock-89647.svg"
-   inkscape:export-filename="unlocked.png"
-   inkscape:export-xdpi="15.36"
-   inkscape:export-ydpi="15.36"
-   inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
-   xmlns="http://www.w3.org/2000/svg";
-   xmlns:svg="http://www.w3.org/2000/svg";>
-  <defs
-     id="defs1" />
-  <sodipodi:namedview
-     id="namedview1"
-     pagecolor="#505050"
-     bordercolor="#ffffff"
-     borderopacity="1"
-     inkscape:showpageshadow="0"
-     inkscape:pageopacity="0"
-     inkscape:pagecheckerboard="1"
-     inkscape:deskcolor="#505050"
-     inkscape:document-units="pt"
-     showgrid="false"
-     inkscape:zoom="0.695625"
-     inkscape:cx="799.28122"
-     inkscape:cy="800"
-     inkscape:window-width="3440"
-     inkscape:window-height="1326"
-     inkscape:window-x="0"
-     inkscape:window-y="40"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg1" />
-  <path
-     d="m404.4 499.2-32.398-102c-15.602-45.602-13.199-92.398 9.6016-136.8 
22.801-40.801 60-73.199 106.8-87.602 44.398-15.602 93.602-10.801 135.6 13.199 
43.199 21.602 73.199 58.801 88.801 104.4 9.6016 26.398 34.801 40.801 63.602 
32.398 27.602-8.3984 44.398-37.199 
36-64.801-24-70.801-73.199-129.6-141.6-165.6-66-33.602-142.8-40.801-214.8-18-73.199
 22.801-132 73.199-168 140.4-33.602 64.801-39.602 142.8-18 214.8l24 
75.602c-58.801 20.398-102 74.398-102 139.2v349.2c0 81.602 64.801 145.2 145.2 
145.2h519.6c78 0 145.2-63.602 
145.2-145.2l-0.003906-350.39c0-79.199-67.199-145.2-145.2-145.2h-452.4zm223.2 
477.6c0 15.602-12 28.801-26.398 28.801-15.602 
0-30-12-30-28.801l-0.003906-150c-34.801-12-58.801-43.199-58.801-82.801 0-45.602 
39.602-85.199 88.801-85.199 45.602 0 84 39.602 84 85.199 0 39.602-24 
70.801-57.602 82.801z"
-     id="path1"
-     style="fill:#ffffff;fill-opacity:1" />
-</svg>
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg";><path d="m5.258804 
6.6465415-.4610917-1.3696505c-.2220492-.612341-.1878495-1.240715.136651-1.8369425.3245062-.5478736.8539257-.9829121
 1.5199882-1.1763147.6318765-.2095028 1.332153-.1450352 
1.9298725.1772354.6148125.2900704 1.0417755.7895765 1.2638245 
1.4018773.136651.3544708.4952915.5478735.9051895.4350385.392835-.1127733.631877-.4995061.512356-.8701442-.34157-.9507118-1.041775-1.7402614-2.015265-2.2236674-.9393185-.4512057-2.032344-.54787345-3.057055-.2417029-1.0417753.3061705-1.878637.982912-2.3909925
 1.8852832-.478227.8701441-.5636196 1.9175103-.2561778 2.8843223l.3415704 
1.0151795c-.8368616.273903-1.4516741.999012-1.4516741 1.8691695v4.689038c0 
1.095746.9222543 1.949737 2.0665007 1.949737h7.3949993c1.110103 0 
2.0665-.854044 
2.0665-1.949737l-.000057-4.7050175c0-1.0634795-.956382-1.949737-2.0665-1.949737h-6.438602zm3.1766045
 6.4131855c0 .209503-.1707855.386738-.375699.386738-.2220495 
0-.426963-.161135-.426963-.386738l-.0
 00057-2.014192c-.4952915-.161135-.8368615-.580073-.8368615-1.1118465 
0-.612341.5636195-1.1440475 1.2638245-1.1440475.649012 0 1.195496.5317735 
1.195496 1.1440475 0 .5317735-.34157.9507115-.819797 1.1118465z" fill="#fff" 
stroke-width=".013824"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/res/locked.svg 
b/icon-themes/colibre_svg/res/locked.svg
new file mode 100644
index 000000000000..f809b339c918
--- /dev/null
+++ b/icon-themes/colibre_svg/res/locked.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg";><path 
d="m12.011518 
4.8005222c0-2.2187333-1.784637-4.0355222-4.0194525-4.0355222-2.234816 
0-4.0194534 1.8167889-4.0194534 
4.0355222v1.3666113c-.9968244.1447-1.7364038.9807445-1.7364038 
2.0258v4.9841115c-.016078 1.141522.9003576 2.057955 2.0579601 
2.057955h7.4118716c1.141524 0 2.05796-.916433 
2.05796-2.074033v-4.9841115c0-1.0450555-.755657-1.865022-1.736404-2.0258v-1.3505333zm-3.6014295
 8.1031998c0 .225089-.176856.418023-.418023.418023-.209012 
0-.4019455-.192934-.4019455-.418023v-2.106188c-.4823345-.192934-.8360465-.627034-.8360465-1.1736785
 0-.6913445.5627235-1.237989 1.237992-1.237989.675268 0 1.2379915.5627225 
1.2379915 1.237989 0 .5627225-.353712.9968225-.8199685 
1.1736785zm-2.9743955-6.768744v-1.3344558c0-1.4309222 1.125447-2.5563666 
2.5402945-2.5563666 1.4309255 0 2.5563715 1.1254444 2.5563715 
2.5563666v1.3344558z" stroke-width=".160778"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/res/unlocked.svg 
b/icon-themes/colibre_svg/res/unlocked.svg
index fb22c1bf8e5c..8914e0138044 100644
--- a/icon-themes/colibre_svg/res/unlocked.svg
+++ b/icon-themes/colibre_svg/res/unlocked.svg
@@ -1,4 +1 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg width="1200pt" height="1200pt" version="1.1" viewBox="0 0 1200 1200" 
xmlns="http://www.w3.org/2000/svg";>
- <path d="m404.4 499.2-32.398-102c-15.602-45.602-13.199-92.398 9.6016-136.8 
22.801-40.801 60-73.199 106.8-87.602 44.398-15.602 93.602-10.801 135.6 13.199 
43.199 21.602 73.199 58.801 88.801 104.4 9.6016 26.398 34.801 40.801 63.602 
32.398 27.602-8.3984 44.398-37.199 
36-64.801-24-70.801-73.199-129.6-141.6-165.6-66-33.602-142.8-40.801-214.8-18-73.199
 22.801-132 73.199-168 140.4-33.602 64.801-39.602 142.8-18 214.8l24 
75.602c-58.801 20.398-102 74.398-102 139.2v349.2c0 81.602 64.801 145.2 145.2 
145.2h519.6c78 0 145.2-63.602 
145.2-145.2l-0.003906-350.39c0-79.199-67.199-145.2-145.2-145.2h-452.4zm223.2 
477.6c0 15.602-12 28.801-26.398 28.801-15.602 
0-30-12-30-28.801l-0.003906-150c-34.801-12-58.801-43.199-58.801-82.801 0-45.602 
39.602-85.199 88.801-85.199 45.602 0 84 39.602 84 85.199 0 39.602-24 
70.801-57.602 82.801z"/>
-</svg>
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg";><path d="m5.258804 
6.6465415-.4610917-1.3696505c-.2220492-.612341-.1878495-1.240715.1366509-1.8369425.3245063-.5478736.8539258-.9829121
 1.5199883-1.1763147.6318765-.2095028 1.3321535-.1450352 
1.9298725.1772354.614813.2900704 1.041776.7895765 1.263825 
1.4018773.136651.3544708.495291.5478735.90519.4350385.392834-.1127733.631876-.4995061.512355-.8701442-.34157-.9507118-1.041775-1.7402614-2.015265-2.2236674-.939318-.45120569-2.032344-.54787349-3.057055-.24170289-1.0417753.30617049-1.878637.98291199-2.3909925
 1.88528319-.478227.8701441-.5636196 1.9175103-.2561778 2.8843223l.3415703 
1.0151795c-.8368616.273903-1.451674.999012-1.451674 1.8691695v4.689038c0 
1.095746.9222542 1.949737 2.0665008 1.949737h7.3949992c1.110103 0 
2.0665-.854044 
2.0665-1.949737l-.000057-4.7050175c0-1.0634795-.956382-1.949737-2.0665-1.949737h-6.438602zm3.176605
 6.4131855c0 .209503-.170786.386738-.375699.386738-.22205 
0-.4269635-.161135-.4269635-.386738l-.0000
 57-2.014192c-.4952915-.161135-.8368615-.580073-.8368615-1.111847 
0-.612341.5636195-1.144047 1.263825-1.144047.649012 0 1.195496.531773 1.195496 
1.144047 0 .531774-.34157.950712-.819797 1.111847z" 
stroke-width=".013824"/></svg>
\ No newline at end of file
commit af065575843273f242209d30f3cfda33d40974f0
Author:     Mike Kaganski <[email protected]>
AuthorDate: Sun Sep 15 22:52:01 2024 +0500
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 16:16:33 2024 +0200

    tdf#162962: always create a local "Nothing" for the "WITH" variable
    
    Other "WITH" blocks create the symbol that can be found by pPool->Find,
    but can be not accessible at the call site.
    
    Change-Id: I85ecc763a1bb3fd692c2c98e674047fdbde3f8f5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173417
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    (cherry picked from commit 40d0e6f4c4ca31f6525b4c84924f2330a166182c)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173393
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/basic/qa/basic_coverage/test_With.bas 
b/basic/qa/basic_coverage/test_With.bas
index 39d480e96618..c09fc037bb06 100644
--- a/basic/qa/basic_coverage/test_With.bas
+++ b/basic/qa/basic_coverage/test_With.bas
@@ -28,8 +28,23 @@ Function get_foo As foo
     get_foo = New foo
 End Function
 
+Sub with_in_another_procedure
+    On Local Error GoTo errorHandler
+    ' tdf#162962 "End With" clears the internal variable; it used to fail,
+    ' when several module's procedures used With blocks, using Option Explicit
+    Dim foo_var As New foo
+    With foo_var
+        .n = 6
+        TestUtil.AssertEqual(.n, 6, ".n")
+    End With ' Here (or in similar places in other tests) a "Variable Not 
Defined" error was generated
+
+    Exit Sub
+errorHandler:
+    TestUtil.ReportErrorHandler("with_in_another_procedure", Err, Error$, Erl)
+End Sub
+
 Sub test_with
-    On Error GoTo errorHandler
+    On Local Error GoTo errorHandler
 
     Dim fields As String
     With get_foo()
@@ -69,6 +84,8 @@ Sub test_with
     TestUtil.AssertEqual(uno_struct.EndColumn, 4, "uno_struct.EndColumn")
     TestUtil.AssertEqual(uno_struct.EndRow, 5, "uno_struct.EndRow")
 
+    with_in_another_procedure() ' test tdf#162962
+
     Exit Sub
 errorHandler:
     TestUtil.ReportErrorHandler("test_with", Err, Error$, Erl)
diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx
index 2797eb731cc0..eb75df882d13 100644
--- a/basic/source/comp/loops.cxx
+++ b/basic/source/comp/loops.cxx
@@ -326,15 +326,16 @@ void SbiParser::With()
 
     // {_with_library.module_offset} = Nothing
     // I don't know how to refer to the global Nothing constant here; just 
create an own
-    constexpr OUString aNothingName = u"{_with_Nothing}"_ustr;
-    SbiSymDef* pNothingDef = pPool->Find(aNothingName);
-    if (!pNothingDef)
+    OUString aLocalNothingName = u"{_with_Nothing}"_ustr;
+    while (pPool->Find(aLocalNothingName) != nullptr)
     {
-        pNothingDef = new SbiSymDef(aNothingName);
-        pNothingDef->SetType(SbxOBJECT);
-        pPool->Add(pNothingDef);
-        aGen.Gen(SbiOpcode::LOCAL_, pNothingDef->GetId(), 
pNothingDef->GetType());
+        static sal_Int64 unique_suffix_2;
+        aLocalNothingName = "{_with_Nothing" + 
OUString::number(unique_suffix_2++) + "}";
     }
+    SbiSymDef* pNothingDef = new SbiSymDef(aLocalNothingName);
+    pNothingDef->SetType(SbxOBJECT);
+    pPool->Add(pNothingDef);
+    aGen.Gen(SbiOpcode::LOCAL_, pNothingDef->GetId(), pNothingDef->GetType());
     aWithParent.Gen();
     SbiExpression(this, *pNothingDef).Gen();
     aGen.Gen(SbiOpcode::PUTC_);
commit f3031e072cea303295f701855f1475222614f603
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sat Sep 14 13:44:24 2024 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 16:16:17 2024 +0200

    null deref in SwXTextDocument::initializeForTiledRendering
    
     #0  SwDocShell::GetWrtShell (this=0x0) at sw/inc/docsh.hxx:226
     #1  
SwXTextDocument::initializeForTiledRendering(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
 const&) ()
         at sw/source/uibase/uno/unotxdoc.cxx:3634
     #2  0x00007f6bb1d40734 in doc_initializeForRendering () at 
include/com/sun/star/uno/Type.h:163
     #3  0x00000000005d7988 in lok::Document::initializeForRendering (
         pArguments=0x342d0e48 
"{\".uno:Author\":{\"type\":\"string\",\"value\":\"1(访客)\"},\".uno:ChangeTheme\":{\"type\":\"string\",\"value\":\"Light\"},\".uno:InvertBackground\":{\"type\":\"string\",\"value\":\"Light\"}}",
 this=<optimized out>) at 
/home/collabora/jenkins/workspace/package_cool_24.04_rpm/rpmbuild/BUILD/coolwsd-24.04.7.2snapshot/bundled/include/LibreOfficeKit/LibreOfficeKit.hxx:245
     #4  Document::load(std::shared_ptr<ChildSession> const&, std::string 
const&) () at kit/Kit.cpp:1949
     #5  0x00000000005da3b2 in Document::onLoad(std::string const&, std::string 
const&, std::string const&) () at kit/Kit.cpp:1226
     #6  0x000000000057f7c1 in ChildSession::loadDocument(StringVector const&) 
() at kit/ChildSession.cpp:906
     #7  0x0000000000586464 in ChildSession::_handleInput(char const*, int) () 
at kit/ChildSession.cpp:298
     #8  0x0000000000613e48 in Session::handleMessage(std::vector<char, 
std::allocator<char> > const&) () at 
/opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_vector.h:987
     #9  0x00000000005c67ac in Document::forwardToChild(std::string const&, 
std::vector<char, std::allocator<char> > const&) () at kit/Kit.cpp:2052
     #10 0x00000000005c7b29 in Document::drainQueue() () at kit/Kit.cpp:2279
     #11 0x00000000005c80d8 in KitSocketPoll::drainQueue (this=0x34316d30) at 
kit/Kit.cpp:2676
    
    Change-Id: I6f18f1a542ca96fe3fda0248e15ee1254eb9ca95
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173386
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>
    (cherry picked from commit 089640feca921f7838debed120b2f7c2c9458158)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173389
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/sw/source/uibase/uno/unotxdoc.cxx 
b/sw/source/uibase/uno/unotxdoc.cxx
index 4b63f83541bc..52c82a17fb20 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -3696,12 +3696,18 @@ void SwXTextDocument::initializeForTiledRendering(const 
css::uno::Sequence<css::
 {
     SolarMutexGuard aGuard;
 
-    SwViewShell* pViewShell = m_pDocShell->GetWrtShell();
+    if (!m_pDocShell)
+    {
+        SAL_WARN("sw.uno", "no DocShell when attempting to initialize for 
tiled rendering");
+        return;
+    }
 
     SwView* pView = m_pDocShell->GetView();
     if (!pView)
         return;
 
+    SwViewShell* pViewShell = m_pDocShell->GetWrtShell();
+
     pView->SetViewLayout(1/*nColumns*/, false/*bBookMode*/, true);
 
     // Tiled rendering defaults.
commit 64171fa351e7ec2b5d4beeeb3aa4ac649c623f19
Author:     Rafael Lima <[email protected]>
AuthorDate: Sun Sep 15 21:25:50 2024 +0200
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 16:16:01 2024 +0200

    tdf#162937 Set default comment position to the right
    
    Change-Id: Ibd665ca861efcf60d382d018b71a6b470792e01b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173387
    Reviewed-by: Jim Raykowski <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 636f853bda69a889146968116b276d88f105b47f)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173491
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
index e2922a045a1c..c1b7193d22e9 100644
--- a/sw/inc/PostItMgr.hxx
+++ b/sw/inc/PostItMgr.hxx
@@ -67,7 +67,7 @@ struct SwPostItPageItem
     tools::Long lOffset;
     SwRect mPageRect;
     std::vector<SwSidebarItem*> mvSidebarItems;
-    SwPostItPageItem(): bScrollbar(false), eSidebarPosition( 
sw::sidebarwindows::SidebarPosition::LEFT ), lOffset(0)
+    SwPostItPageItem(): bScrollbar(false), eSidebarPosition( 
sw::sidebarwindows::SidebarPosition::RIGHT ), lOffset(0)
     {
     }
 };
commit 7f8fb2776dff2803f6b644f2d03614787ba9c114
Author:     Xisco Fauli <[email protected]>
AuthorDate: Tue Sep 17 16:13:41 2024 +0200
Commit:     Gerrit Code Review <[email protected]>
CommitDate: Tue Sep 17 16:13:41 2024 +0200

    Update git submodules
    
    * Update dictionaries from branch 'libreoffice-24-8'
      to 3d76edbcb038e3ca271835bbe39cbef2ae409e5b
      - Updated Slovak dictionaries to v2.4.8
    
        Downloaded from 
https://github.com/sk-spell/hunspell-sk/archive/refs/tags/v2.4.8.zip
    
        Change-Id: I369a4703c7accc635572a0f711c5c0304429e4e9
        Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172738
        Reviewed-by: Andras Timar <[email protected]>
        Tested-by: Xisco Fauli <[email protected]>
        (cherry picked from commit 75f5dff8c972fff4a32e4ea8434722c277f02a3f)
        Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/173288
        Reviewed-by: Christian Lohmaier <[email protected]>
        Tested-by: Christian Lohmaier <[email protected]>

diff --git a/dictionaries b/dictionaries
index 2b4074dd0f51..3d76edbcb038 160000
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit 2b4074dd0f51054ba31aac8dde394286e232ee94
+Subproject commit 3d76edbcb038e3ca271835bbe39cbef2ae409e5b
commit de805c6afabe9b7531efd61985a60d2cb9b0759e
Author:     Mike Kaganski <[email protected]>
AuthorDate: Mon Sep 16 10:46:29 2024 +0500
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 14:43:42 2024 +0200

    Related: i#109051 There's no "Exit Let/Get/Set"
    
    Before, these incorrect combinations were allowed, together with
    the correct "Exit Property", which had been implemented in commit
    5ed103d2dd5f8ee2f13183263c0930f84437bdc7 (mib16: contributed
    bugfixes and various new symbols in VBA compatibility
    implementation, 2010-06-15).
    
    Change-Id: Ic132c0860bb04007766977975a6ce9c8887138dd
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173427
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173519

diff --git a/basic/source/comp/parser.cxx b/basic/source/comp/parser.cxx
index 3d5a7ed67e4a..d62fc921aa90 100644
--- a/basic/source/comp/parser.cxx
+++ b/basic/source/comp/parser.cxx
@@ -196,7 +196,7 @@ bool SbiParser::HasGlobalCode()
 void SbiParser::OpenBlock( SbiToken eTok, SbiExprNode* pVar )
 {
     SbiParseStack* p = new SbiParseStack;
-    p->eExitTok = eTok;
+    p->eExitTok = (eTok == GET || eTok == LET || eTok == SET) ? PROPERTY : 
eTok; // #i109051
     p->nChain   = 0;
     p->pWithVar = pWithVar;
     p->pNext    = pStack;
@@ -232,9 +232,7 @@ void SbiParser::Exit()
     SbiToken eTok = Next();
     for( SbiParseStack* p = pStack; p; p = p->pNext )
     {
-        SbiToken eExitTok = p->eExitTok;
-        if( eTok == eExitTok ||
-            (eTok == PROPERTY && (eExitTok == GET || eExitTok == LET || 
eExitTok == SET) ) ) // #i109051
+        if (eTok == p->eExitTok)
         {
             p->nChain = aGen.Gen( SbiOpcode::JUMP_, p->nChain );
             return;
commit 5117c50b31ed1d17d1e151c833ef6959295b67dc
Author:     Balazs Varga <[email protected]>
AuthorDate: Wed Sep 11 15:56:36 2024 +0200
Commit:     Thorsten Behrens <[email protected]>
CommitDate: Tue Sep 17 12:09:12 2024 +0200

    tdf#162889 - A11Y sidebar: fix warning does not disappear when
    
    page header is deleted. Check if nodes have contentframe.
    
    Change-Id: Ie7f79cedb577b856d518d23326e9d7ceba2b825c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173215
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Gabor Kelemen <[email protected]>
    Reviewed-by: Balazs Varga <[email protected]>
    (cherry picked from commit 2a7bfe40d0d503c3d51be44e52ca28d50466ca9c)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173401
    Tested-by: Jenkins
    Reviewed-by: Thorsten Behrens <[email protected]>

diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx 
b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index 43a872832ee0..90c1992b39a3 100644
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
@@ -247,6 +247,46 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, 
testCheckTOCHyperlink)
     CPPUNIT_ASSERT_EQUAL(size_t(0), aIssues.size());
 }
 
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testDeleteHeader)
+{
+    // Delete Header from doc and check if we have less Direct format warning
+    createSwDoc("DeleteHeader.odt");
+    SwDoc* pDoc = getSwDoc();
+    CPPUNIT_ASSERT(pDoc);
+
+    sw::AccessibilityCheck aCheck(pDoc);
+    auto& aIssues = aCheck.getIssueCollection().getIssues();
+    aCheck.check();
+    CPPUNIT_ASSERT_EQUAL(size_t(8), aIssues.size());
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, 
aIssues[0]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[1]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[2]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[3]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[4]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[5]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[6]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aIssues[7]->m_eIssueID);
+
+    SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+    CPPUNIT_ASSERT(pWrtShell);
+
+    // modify header
+    pWrtShell->ChangeHeaderOrFooter(u"Default Page Style", true, false, false);
+    pWrtShell->GetWin()->GrabFocusToDocument();
+
+    // re-check A11Y issues
+    sw::AccessibilityCheck aReCheck(pDoc);
+    auto& aResultIssues = aReCheck.getIssueCollection().getIssues();
+    aReCheck.check();
+
+    // Check the result
+    aResultIssues = aReCheck.getIssueCollection().getIssues();
+    CPPUNIT_ASSERT_EQUAL(size_t(3), aResultIssues.size());
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, 
aResultIssues[0]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aResultIssues[1]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, 
aResultIssues[2]->m_eIssueID);
+}
+
 namespace
 {
 std::vector<std::shared_ptr<sfx::AccessibilityIssue>>
diff --git a/sw/qa/core/accessibilitycheck/data/DeleteHeader.odt 
b/sw/qa/core/accessibilitycheck/data/DeleteHeader.odt
new file mode 100644
index 000000000000..6503699c132b
Binary files /dev/null and 
b/sw/qa/core/accessibilitycheck/data/DeleteHeader.odt differ
diff --git a/sw/source/core/access/AccessibilityCheck.cxx 
b/sw/source/core/access/AccessibilityCheck.cxx
index ed920c521b56..04dae2c9dadf 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -15,6 +15,7 @@
 #include <ndnotxt.hxx>
 #include <ndtxt.hxx>
 #include <docsh.hxx>
+#include <wrtsh.hxx>
 #include <IDocumentDrawModelAccess.hxx>
 #include <drawdoc.hxx>
 #include <svx/svdpage.hxx>
@@ -866,52 +867,60 @@ public:
             return;
 
         SwTextNode* pTextNode = pCurrent->GetTextNode();
+        SwDoc& rDocument = pTextNode->GetDoc();
         auto nParagraphLength = pTextNode->GetText().getLength();
         if (nParagraphLength == 0)
         {
             SwTextNode* pPrevTextNode = getPrevTextNode(pCurrent);
             if (!pPrevTextNode)
                 return;
-            if (pPrevTextNode->GetText().getLength() == 0)
+
+            SwWrtShell* pWrtShell = rDocument.GetDocShell()->GetWrtShell();
+            if (pWrtShell && 
pPrevTextNode->getLayoutFrame(pWrtShell->GetLayout()))
             {
-                auto pIssue = lclAddIssue(m_rIssueCollection, 
SwResId(STR_AVOID_NEWLINES_SPACE),
-                                          
sfx::AccessibilityIssueID::TEXT_FORMATTING);
-                pIssue->setIssueObject(IssueObject::TEXT);
-                pIssue->setNode(pTextNode);
-                SwDoc& rDocument = pTextNode->GetDoc();
-                pIssue->setDoc(rDocument);
+                if (pPrevTextNode->GetText().getLength() == 0)
+                {
+                    auto pIssue = lclAddIssue(m_rIssueCollection, 
SwResId(STR_AVOID_NEWLINES_SPACE),
+                                              
sfx::AccessibilityIssueID::TEXT_FORMATTING);
+                    pIssue->setIssueObject(IssueObject::TEXT);
+                    pIssue->setNode(pTextNode);
+                    pIssue->setDoc(rDocument);
+                }
             }
         }
         else
         {
-            // Check for excess lines inside this paragraph
-            const OUString& sParagraphText = pTextNode->GetText();
-            int nLineCount = 0;
-            for (sal_Int32 i = 0; i < nParagraphLength; i++)
+            SwWrtShell* pWrtShell = rDocument.GetDocShell()->GetWrtShell();
+            if (pWrtShell && pTextNode->getLayoutFrame(pWrtShell->GetLayout()))
             {
-                auto aChar = sParagraphText[i];
-                if (aChar == '
')
+                // Check for excess lines inside this paragraph
+                const OUString& sParagraphText = pTextNode->GetText();
+                int nLineCount = 0;
+                for (sal_Int32 i = 0; i < nParagraphLength; i++)
                 {
-                    nLineCount++;
-                    // Looking for 2 newline characters and above as one can 
be part of the line
-                    // break after a sentence
-                    if (nLineCount > 2)
+                    auto aChar = sParagraphText[i];
+                    if (aChar == '
')
                     {
-                        auto pIssue
-                            = lclAddIssue(m_rIssueCollection, 
SwResId(STR_AVOID_NEWLINES_SPACE),
-                                          
sfx::AccessibilityIssueID::TEXT_FORMATTING);
-                        pIssue->setIssueObject(IssueObject::TEXT);
-                        pIssue->setNode(pTextNode);
-                        SwDoc& rDocument = pTextNode->GetDoc();
-                        pIssue->setDoc(rDocument);
-                        pIssue->setStart(i);
-                        pIssue->setEnd(i);
+                        nLineCount++;
+                        // Looking for 2 newline characters and above as one 
can be part of the line
+                        // break after a sentence
+                        if (nLineCount > 2)
+                        {
+                            auto pIssue
+                                = lclAddIssue(m_rIssueCollection, 
SwResId(STR_AVOID_NEWLINES_SPACE),
+                                              
sfx::AccessibilityIssueID::TEXT_FORMATTING);
+                            pIssue->setIssueObject(IssueObject::TEXT);
+                            pIssue->setNode(pTextNode);
+                            pIssue->setDoc(rDocument);
+                            pIssue->setStart(i);
+                            pIssue->setEnd(i);
+                        }
+                    }
+                    // Don't count carriage return as normal character
+                    else if (aChar != ' ')
+                    {
+                        nLineCount = 0;
                     }
-                }
-                // Don't count carriage return as normal character
-                else if (aChar != ' ')
-                {
-                    nLineCount = 0;
                 }
             }
         }
commit 01ddcbbff6ac3a54c9bafdbd260820b6a4f75d18
Author:     Mike Kaganski <[email protected]>
AuthorDate: Mon Sep 16 16:13:15 2024 +0500
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 11:30:29 2024 +0200

    tdf#162987: check return value of GetViewBindings
    
    Change-Id: Iaeec22ed07e18aa59f2ab87b2ea7d8a0c7ae1467
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173435
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    (cherry picked from commit 7cebd7df0cfcbf906848bfbbdee614fdbd90af8a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173487
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sc/source/ui/view/dbfunc.cxx b/sc/source/ui/view/dbfunc.cxx
index 8f1b9e8fc589..a2f6dd09dad4 100644
--- a/sc/source/ui/view/dbfunc.cxx
+++ b/sc/source/ui/view/dbfunc.cxx
@@ -404,9 +404,11 @@ void ScDBFunc::ModifiedAutoFilter(ScDocShell* pDocSh)
     ScDocShellModificator aModificator(*pDocSh);
     aModificator.SetDocumentModified();
 
-    SfxBindings* pBindings = pDocSh->GetViewBindings();
-    pBindings->Invalidate(SID_AUTO_FILTER);
-    pBindings->Invalidate(SID_AUTOFILTER_HIDE);
+    if (SfxBindings* pBindings = pDocSh->GetViewBindings())
+    {
+        pBindings->Invalidate(SID_AUTO_FILTER);
+        pBindings->Invalidate(SID_AUTOFILTER_HIDE);
+    }
 }
 
 //      just hide, no data change
commit c09470fa0ca5a1e074a18729b47c8d8b591c9c34
Author:     Mike Kaganski <[email protected]>
AuthorDate: Mon Sep 16 16:14:33 2024 +0500
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 11:08:27 2024 +0200

    Check return value of GetViewBindings
    
    ... as done in all other places where it's called
    
    Change-Id: Ic941cf433e96bb8bfa6ea81c52c044cc424100eb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173436
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    (cherry picked from commit 5eab23392c5c80ae9cf712c4e7fba21cfff02dae)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173489
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index 9a707ff4790f..982f3c9a43d4 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -841,7 +841,8 @@ void ScTabViewShell::ExecuteSave( SfxRequest& rReq )
             // This will work only if .uno:ModifiedStatus message will be 
removed from
             // the mechanism that keeps in the message queue only last message 
of
             // a particular status even if the values are different.
-            
GetViewData().GetDocShell()->GetViewBindings()->Update(SID_DOC_MODIFIED);
+            if (SfxBindings* pBindings = 
GetViewData().GetDocShell()->GetViewBindings())
+                pBindings->Update(SID_DOC_MODIFIED);
         }
     }
 
commit 68bcf324e30b9f92648ad5dd21ff8deff47b63a9
Author:     Mike Kaganski <[email protected]>
AuthorDate: Mon Sep 16 10:24:49 2024 +0500
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 10:53:19 2024 +0200

    i#109051: also handle Exit Property for Property Set
    
    An omission from commit 5ed103d2dd5f8ee2f13183263c0930f84437bdc7
    (mib16: contributed bugfixes and various new symbols in VBA
    compatibility implementation, 2010-06-15)
    
    Change-Id: I1e08406eb1dcb64eeef5d925d22475f1b9f74de0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173426
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173518

diff --git a/basic/qa/basic_coverage/test_Property.GetSet.bas 
b/basic/qa/basic_coverage/test_Property.GetSet.bas
index 701bcc7f49e0..c0f9c444ee07 100644
--- a/basic/qa/basic_coverage/test_Property.GetSet.bas
+++ b/basic/qa/basic_coverage/test_Property.GetSet.bas
@@ -35,4 +35,5 @@ Property Set objSetter(value As Object)
     .add "branches"
     .add "leaves"
   End With
+  Exit Property ' i#109051
 End Property
diff --git a/basic/source/comp/parser.cxx b/basic/source/comp/parser.cxx
index bab048d9f5d7..3d5a7ed67e4a 100644
--- a/basic/source/comp/parser.cxx
+++ b/basic/source/comp/parser.cxx
@@ -234,7 +234,7 @@ void SbiParser::Exit()
     {
         SbiToken eExitTok = p->eExitTok;
         if( eTok == eExitTok ||
-            (eTok == PROPERTY && (eExitTok == GET || eExitTok == LET) ) )   // 
#i109051
+            (eTok == PROPERTY && (eExitTok == GET || eExitTok == LET || 
eExitTok == SET) ) ) // #i109051
         {
             p->nChain = aGen.Gen( SbiOpcode::JUMP_, p->nChain );
             return;
commit e3c06470b44c6e7536083841b8881748e8f5e047
Author:     Jim Raykowski <[email protected]>
AuthorDate: Thu Sep 12 22:54:43 2024 -0800
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 09:49:25 2024 +0200

    Resolves tdf#133041 New list style is not added back after
    
    undoing and then redoing it
    
    by following the approach used by commit
    c4d82fc21c5e155472f6a30244b3fce806ada85c
    
    Change-Id: I09c877aecdcf49d4be5451e247bf1010856c2d39
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173312
    Tested-by: Jenkins
    Reviewed-by: Jim Raykowski <[email protected]>
    (cherry picked from commit fb39ae1bc7e4b1cbfc3108efca52ec310faf7363)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173391
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sw/source/uibase/app/docst.cxx b/sw/source/uibase/app/docst.cxx
index 433d91df57ce..315a0a8dbeb1 100644
--- a/sw/source/uibase/app/docst.cxx
+++ b/sw/source/uibase/app/docst.cxx
@@ -824,10 +824,10 @@ void SwDocShell::Edit(
         else
             nMask = SfxStyleSearchBits::UserDefined;
 
-        if ( nFamily == SfxStyleFamily::Para || nFamily == 
SfxStyleFamily::Char || nFamily == SfxStyleFamily::Frame )
+        if (nFamily == SfxStyleFamily::Para || nFamily == SfxStyleFamily::Char
+            || nFamily == SfxStyleFamily::Frame || nFamily == 
SfxStyleFamily::Pseudo)
         {
-            // Prevent undo append from being done during paragraph, 
character, and frame style Make
-            // Do it after ok return from style dialog when derived from style 
is known
+            // Do Make undo append after an OK return from the style dialog 
below
             ::sw::UndoGuard const undoGuard(GetDoc()->GetIDocumentUndoRedo());
             pStyle = &m_xBasePool->Make( rName, nFamily, nMask );
         }
@@ -1059,6 +1059,16 @@ void SwDocShell::Edit(
                         }
                     }
                     break;
+                    case SfxStyleFamily::Pseudo:
+                    {
+                        if (GetDoc()->GetIDocumentUndoRedo().DoesUndo())
+                        {
+                            GetDoc()->GetIDocumentUndoRedo().AppendUndo(
+                                
std::make_unique<SwUndoNumruleCreate>(xTmp->GetNumRule(),
+                                                                      
*GetDoc()));
+                        }
+                    }
+                    break;
                     default: break;
                 }
 
commit 1508a686875868b20c9ebac09ad817e40defe62e
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Sep 11 16:17:47 2024 +0200
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 09:48:19 2024 +0200

    tdf#161256 gtk4 a11y: Don't crash on missing context or invalid child index
    
    If an `XAccessible` doesn't have a context or
    `XAccessibleContext::getAccessibleIndexInParent()` returns
    an invalid index of -1, don't crash/assert, but
    let `lo_accessible_get_next_accessible_sibling` return
    `nullptr`.
    
    This works around potential bugs in underlying
    `XAccessible`/`XAccessibleContext` implementations for now.
    
    This is meant to fix the assert/crash seen in the backtraces
    attachment 196363 and attachment 196383 from tdf#161256
    which I cannot reproduce locally on Debian testing.
    
    Change-Id: Ic1779d875161469bf296c558039e19f1d426a259
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173216
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>
    (cherry picked from commit e94a35275670e0e3775c1bba305115d9941751f1)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173178
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/vcl/unx/gtk4/a11y.cxx b/vcl/unx/gtk4/a11y.cxx
index 4860c7cff33d..482e98d7375f 100644
--- a/vcl/unx/gtk4/a11y.cxx
+++ b/vcl/unx/gtk4/a11y.cxx
@@ -767,8 +767,18 @@ static GtkAccessible* 
lo_accessible_get_next_accessible_sibling(GtkAccessible* s
 
     css::uno::Reference<css::accessibility::XAccessibleContext> xContext(
         pAccessible->uno_accessible->getAccessibleContext());
+    if (!xContext.is())
+    {
+        SAL_WARN("vcl.gtk", "Accessible has no accessible context");
+        return nullptr;
+    }
+
     sal_Int64 nThisChildIndex = xContext->getAccessibleIndexInParent();
-    assert(nThisChildIndex != -1);
+    if (nThisChildIndex < 0)
+    {
+        SAL_WARN("vcl.gtk", "Invalid accessible index in parent");
+        return nullptr;
+    }
     sal_Int64 nNextChildIndex = nThisChildIndex + 1;
 
     css::uno::Reference<css::accessibility::XAccessible> xParent = 
xContext->getAccessibleParent();
commit 14abfac4efed74876ea9f2ed3d6fa4105a508c52
Author:     Miklos Vajna <[email protected]>
AuthorDate: Mon Sep 16 08:01:28 2024 +0200
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 09:47:42 2024 +0200

    tdf#161876 sfx2 store: refuse to overwrite read-only files
    
    Create a read-only file, try to save-as the current document and select
    the existing read-only file, accept to overwrite it, works fine.
    
    This is a regression from commit
    2157a3536f97ff5ae7c82611a801fef7e3708983 (sfx2 store: try rename before
    copying, 2018-01-09), previously such read-only targets were rejected.
    
    Fix the problem by explicitly checking if the target is writable: if
    not, then avoid the rename optimization, because the fallback path will
    reject the request as expected.
    
    Fix this inside an '#ifdef UNX' block, the problem is reportedly not
    there on Windows.
    
    Change-Id: Ifd8798e07a1be504c6747514a53cfc4ff2338a0c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173344
    Reviewed-by: Miklos Vajna <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 63cb8d9ddd6db64e41f66df937f42875637bede5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173395
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sfx2/qa/cppunit/test_misc.cxx b/sfx2/qa/cppunit/test_misc.cxx
index 47c663a0246b..a1df712e988c 100644
--- a/sfx2/qa/cppunit/test_misc.cxx
+++ b/sfx2/qa/cppunit/test_misc.cxx
@@ -29,6 +29,7 @@
 #include <test/unoapixml_test.hxx>
 
 #include <unotools/ucbstreamhelper.hxx>
+#include <comphelper/propertyvalue.hxx>
 #include <comphelper/propertysequence.hxx>
 #include <comphelper/processfactory.hxx>
 #include <sfx2/app.hxx>
@@ -166,6 +167,37 @@ CPPUNIT_TEST_FIXTURE(MiscTest, testHardLinks)
 #endif
 }
 
+CPPUNIT_TEST_FIXTURE(MiscTest, testtestOverwriteReadOnly)
+{
+#ifdef UNX
+    // Given a read-only, already created file:
+    OUString aTargetDir = 
m_directories.getURLFromWorkdir(u"/CppunitTest/sfx2_misc.test.user/");
+    OUString aURL(aTargetDir + "read-only.odt");
+    osl::File aFile(aURL);
+    aFile.open(osl_File_OpenFlag_Create);
+    aFile.close();
+    osl::File::setAttributes(aURL, osl_File_Attribute_OwnRead);
+    mxComponent = loadFromDesktop(aURL, 
u"com.sun.star.text.TextDocument"_ustr);
+    uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY);
+    bool bFail = false;
+
+    // When trying to overwrite that:
+    try
+    {
+        xStorable->storeToURL(aURL, { 
comphelper::makePropertyValue("Overwrite", true) });
+    }
+    catch (const io::IOException&)
+    {
+        bFail = true;
+    }
+
+    // Then make sure we fail:
+    // Without the accompanying fix in place, this test would have failed, the 
overwrite would
+    // silently ignore the read-only attribute of the file.
+    CPPUNIT_ASSERT(bFail);
+#endif
+}
+
 CPPUNIT_TEST_FIXTURE(MiscTest, testOverwrite)
 {
     // tdf#60237 - try to overwrite an existing file using the different 
settings of the Overwrite option
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 3b50588de93d..35452d7bbc5d 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -257,6 +257,11 @@ bool IsFileMovable(const INetURLObject& rURL)
     // Hardlink or symlink: osl::File::move() doesn't play with these nicely.
     if (buf.st_nlink > 1 || S_ISLNK(buf.st_mode))
         return false;
+
+    // Read-only target path: this would be silently replaced.
+    if (access(sPath.toUtf8().getStr(), W_OK) == -1)
+        return false;
+
 #elif defined _WIN32
     if 
(tools::IsMappedWebDAVPath(rURL.GetMainURL(INetURLObject::DecodeMechanism::NONE)))
         return false;
commit b4ec0fd3f858dc96a9ddf8b114e710cb531f4bcd
Author:     Caolán McNamara <[email protected]>
AuthorDate: Sun Sep 15 20:43:23 2024 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 09:46:37 2024 +0200

    cid#1607350 Data race condition
    
    Change-Id: Ibd30f03513661762613cc0b386acc48eb994bc2c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173422
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>
    (cherry picked from commit 30be1d807d4e1fbec73d92d7740490b69e0bb751)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173402
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/vcl/source/components/dtranscomp.cxx 
b/vcl/source/components/dtranscomp.cxx
index 49cb61eb37fa..5307ed136690 100644
--- a/vcl/source/components/dtranscomp.cxx
+++ b/vcl/source/components/dtranscomp.cxx
@@ -132,6 +132,7 @@ sal_Bool GenericClipboard::supportsService( const OUString& 
ServiceName )
 
 Reference< css::datatransfer::XTransferable > GenericClipboard::getContents()
 {
+    std::unique_lock aGuard(m_aMutex);
     return m_aContents;
 }
 
commit c4ac2aa428e6a39bbf85e6ddac3dab05068c48cb
Author:     Caolán McNamara <[email protected]>
AuthorDate: Tue Sep 10 09:31:43 2024 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Tue Sep 17 09:46:06 2024 +0200

    Resolves: tdf#162455 svg->curve causes text in objects to disappear
    
    Rather than assuming there is a uniform unchanging MapMode scaling,
    follow the same pattern as SVGWriter and map positions/sizes back
    relative to the original MapMode.
    
    Examples of #i119125#, tdf#162455 and tdf#160625 work
    
    Change-Id: I8229cebee6173fa4905828afb3b973c80ede3315
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173126
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>
    (cherry picked from commit 51f25098302e738a7d256620bd8e13bace8d060e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173301
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sd/qa/unit/data/tdf162455.svg b/sd/qa/unit/data/tdf162455.svg
new file mode 100644
index 000000000000..ba50863864d0
--- /dev/null
+++ b/sd/qa/unit/data/tdf162455.svg
@@ -0,0 +1,2115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Génération automatique de graphiques SVG interactifs
+(c) Insee 2012, 2016     = BH  : [email protected] 
+fonds de carte, concepts = CY  : [email protected] 
+            cartographie = ADS : [email protected]
+[4G 23/11/2016]
+       onload="evt => {console.log('onload', evt) init('{$graph_id}',evt)}"
+               -->
+
+<svg
+   id="G_G0000101001"
+   aria-label=""
+   role="img"
+   viewBox="0 0 630 550"
+   width="100%"
+   onload="console.log('dfjdsvldvlnvds')"
+   xml:space="default"
+   preserveAspectRatio="xMinYMin meet"
+   version="1.1"
+   sodipodi:docname="teste03.svg"
+   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:svg="http://www.w3.org/2000/svg";>
+  <sodipodi:namedview
+     id="namedview319"
+     pagecolor="#505050"
+     bordercolor="#eeeeee"
+     borderopacity="1"
+     inkscape:showpageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#505050"
+     showgrid="false"
+     inkscape:zoom="2.4273047"
+     inkscape:cx="363.77798"
+     inkscape:cy="309.80865"
+     inkscape:window-width="1920"
+     inkscape:window-height="2123"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="G_G0000101001_graphique" />
+  <script
+     type="text/javascript"
+     id="script2">
+{
+                               
+                                        
+var G_G0000101001_graph_l = 630 ;
+var G_G0000101001_help_nblig=3;
+var G_G0000101001_help_fontsize=12;
+var G_G0000101001_help_last=0;
+var G_G0000101001_keep_title=1;
+var G_G0000101001_prefixegeo=&quot;france_regions&quot;;
+var G_G0000101001_lib_colonne_brut=[&quot;&quot;,&quot;Emploi salarié total - 
Pays de la Loire&quot;,&quot;Emploi salarié total - France hors 
Mayotte&quot;,&quot;Emploi salarié privé - Pays de la Loire&quot;,&quot;Emploi 
salarié privé - France hors Mayotte&quot;]
+var G_G0000101001_graph_data=[ [&quot;&quot;,&quot;Emploi salarié total - Pays 
de la Loire&quot;,&quot;Emploi salarié total - France hors 
Mayotte&quot;,&quot;Emploi salarié privé - Pays de la Loire&quot;,&quot;Emploi 
salarié privé - France hors Mayotte&quot;],[&quot;4ᵉ trim. 
2017&quot;,&quot;100,0&quot;,&quot;100,0&quot;,&quot;100,0&quot;,&quot;100,0&quot;],[&quot;1ᵉ
 trim. 
2018&quot;,&quot;100,3&quot;,&quot;100,2&quot;,&quot;100,3&quot;,&quot;100,3&quot;],[&quot;2ᵉ
 trim. 
2018&quot;,&quot;100,4&quot;,&quot;100,2&quot;,&quot;100,6&quot;,&quot;100,4&quot;],[&quot;3ᵉ
 trim. 
2018&quot;,&quot;100,6&quot;,&quot;100,3&quot;,&quot;100,9&quot;,&quot;100,6&quot;],[&quot;4ᵉ
 trim. 
2018&quot;,&quot;101,0&quot;,&quot;100,6&quot;,&quot;101,3&quot;,&quot;100,9&quot;],
+[&quot;1ᵉ trim. 
2019&quot;,&quot;101,7&quot;,&quot;101,3&quot;,&quot;102,1&quot;,&quot;101,7&quot;],[&quot;2ᵉ
 trim. 
2019&quot;,&quot;101,9&quot;,&quot;101,4&quot;,&quot;102,2&quot;,&quot;101,9&quot;],[&quot;3ᵉ
 trim. 
2019&quot;,&quot;102,1&quot;,&quot;101,6&quot;,&quot;102,5&quot;,&quot;102,2&quot;],[&quot;4ᵉ
 trim. 
2019&quot;,&quot;102,7&quot;,&quot;102,0&quot;,&quot;103,2&quot;,&quot;102,6&quot;],[&quot;1ᵉ
 trim. 
2020&quot;,&quot;100,7&quot;,&quot;100,3&quot;,&quot;100,6&quot;,&quot;100,3&quot;],
+[&quot;2ᵉ trim. 
2020&quot;,&quot;100,6&quot;,&quot;99,7&quot;,&quot;100,7&quot;,&quot;99,9&quot;],[&quot;3ᵉ
 trim. 
2020&quot;,&quot;102,6&quot;,&quot;101,7&quot;,&quot;102,9&quot;,&quot;102,1&quot;],[&quot;4ᵉ
 trim. 
2020&quot;,&quot;102,9&quot;,&quot;101,8&quot;,&quot;103,3&quot;,&quot;102,1&quot;],[&quot;1ᵉ
 trim. 
2021&quot;,&quot;103,8&quot;,&quot;102,6&quot;,&quot;104,5&quot;,&quot;103,2&quot;],[&quot;2ᵉ
 trim. 
2021&quot;,&quot;104,9&quot;,&quot;103,6&quot;,&quot;105,7&quot;,&quot;104,5&quot;],
+[&quot;3ᵉ trim. 
2021&quot;,&quot;105,7&quot;,&quot;104,5&quot;,&quot;106,7&quot;,&quot;105,4&quot;],[&quot;4ᵉ
 trim. 
2021&quot;,&quot;106,5&quot;,&quot;105,0&quot;,&quot;107,6&quot;,&quot;106,2&quot;],[&quot;1ᵉ
 trim. 
2022&quot;,&quot;106,9&quot;,&quot;105,3&quot;,&quot;108,1&quot;,&quot;106,6&quot;],[&quot;2ᵉ
 trim. 
2022&quot;,&quot;107,3&quot;,&quot;105,8&quot;,&quot;108,5&quot;,&quot;107,2&quot;],[&quot;3ᵉ
 trim. 
2022&quot;,&quot;107,7&quot;,&quot;106,2&quot;,&quot;109,1&quot;,&quot;107,7&quot;],
+[&quot;4ᵉ trim. 
2022&quot;,&quot;108,2&quot;,&quot;106,5&quot;,&quot;109,6&quot;,&quot;108,2&quot;],[&quot;1ᵉ
 trim. 
2023&quot;,&quot;108,6&quot;,&quot;106,7&quot;,&quot;109,9&quot;,&quot;108,3&quot;],[&quot;2ᵉ
 trim. 
2023&quot;,&quot;108,9&quot;,&quot;106,9&quot;,&quot;110,2&quot;,&quot;108,5&quot;],[&quot;3ᵉ
 trim. 
2023&quot;,&quot;109,0&quot;,&quot;107,1&quot;,&quot;110,4&quot;,&quot;108,7&quot;],[&quot;4ᵉ
 trim. 
2023&quot;,&quot;109,2&quot;,&quot;107,1&quot;,&quot;110,4&quot;,&quot;108,6&quot;],
+[&quot;1ᵉ trim. 
2024&quot;,&quot;109,5&quot;,&quot;107,4&quot;,&quot;110,7&quot;,&quot;109,0&quot;]
+];
+}
+                       </script>
+  <defs
+     id="defs7">
+    <clipPath
+       id="G_G0000101001_clipRectGraph">
+      <rect
+         x="10"
+         y="95"
+         width="610"
+         height="445"
+         id="rect4" />
+    </clipPath>
+  </defs>
+  <style
+     type="text/css"
+     id="style9">
+       /* Styles statiques par défaut extraits d'un fichier XML */
+                                       
+svg {max-width: 656px;}
+text {stroke:none}
+.G_G0000101001_sens-line {stroke:gray;stroke-width:5;opacity:0}
+.G_G0000101001_gridline { stroke:gray; stroke-width :0.5; }
+.G_G0000101001_gridlinelog { stroke:silver; stroke-width :0.5; }
+#G_G0000101001_axes { stroke:navy; stroke-width:1 }
+#G_G0000101001_axes-titres {fill:black}
+#G_G0000101001_axex-titre2 {text-anchor:start}
+#G_G0000101001_axex-titre {text-anchor:end}
+#G_G0000101001_axey-titre-pyramide {text-anchor:middle}
+#G_G0000101001_sources {font-style:italic}
+#G_G0000101001_extra_elements {pointer-events:none}
+#G_G0000101001_help-lib1b {text-anchor:end}
+#G_G0000101001_help-lib2b {text-anchor:end}
+@media print 
{use[class*=&quot;marque&quot;],path[class*=&quot;surface&quot;],rect[class*=&quot;surface&quot;]
 {opacity:1 !important}}
+@media print {path[class*=&quot;pie-slice&quot;] 
{stroke:white;stroke-width:1.5}}
+
+       /* Styles multiples pour les lignes, surfaces, marques à partir des 
paramètres (couleurs, traits, largeurs, tailles, marques ...) 
+               générés par la transformation */
+                                       
+.G_G0000101001_courbe1 { stroke-opacity:1; fill:none; stroke:#0AA4B0; 
stroke-width:2; stroke-dasharray: ; }
+.G_G0000101001_courbe2 { stroke-opacity:1; fill:none; stroke:#0F417A; 
stroke-width:2; stroke-dasharray: ; }
+.G_G0000101001_courbe3 { stroke-opacity:1; fill:none; stroke:#0AA4B0; 
stroke-width:2; stroke-dasharray:4 2; }
+.G_G0000101001_courbe4 { stroke-opacity:1; fill:none; stroke:#0F417A; 
stroke-width:2; stroke-dasharray:4 2; }
+
+#G_G0000101001_axes-titres { fill:black; font-size:13px; }
+#G_G0000101001_axey-titre1 { fill:black; text-anchor:start; }
+#G_G0000101001_ticks { font-size:10px; }
+#G_G0000101001_ticks-axe1 { fill:black; text-anchor:end; }
+.G_G0000101001_tick-label { text-anchor:end; font-size:10px; }
+.G_G0000101001_tick-bar { text-anchor:end; font-size:10px; }
+
+#G_G0000101001_graphique { font-family:&quot;Open Sans&quot;,Verdana, 
&quot;Bitstream Vera Sans&quot;, sans-serif; stroke-linejoin:round; 
stroke-linecap:butt; }
+#G_G0000101001_cadre { stroke-width:0.7; fill:none; stroke:white; }
+#G_G0000101001_titre { font-weight:bolder; font-size:12px; fill:black; 
text-anchor:start; }
+#G_G0000101001_soustitre { font-size:12px; text-anchor:start; }
+#G_G0000101001_legende { stroke-width:1; text-anchor:start; font-size:12px; }
+#G_G0000101001_unite { font-size:13px; text-anchor:start; }
+#G_G0000101001_notes-sources { text-anchor:start; fill:black; font-size:11px; }
+#G_G0000101001_help-bubble { fill:#FFE070; stroke:gray; stroke-width:0.5; 
stroke-opacity:0.8; fill-opacity:0.8; }
+#G_G0000101001_help { pointer-events:none; font-size:12px; }
+
+#G_G0000101001_legende&gt;g&gt;g:hover {cursor:pointer; 
font-weight:bold}</style>
+  <g
+     id="G_G0000101001_graphique"
+     aria-hidden="true">
+    <text
+       id="G_G0000101001_debug"
+       x="100"
+       y="590" />
+    <rect
+       id="G_G0000101001_cadre"
+       x="1"
+       y="1"
+       width="628"
+       height="548" />
+    <g
+       id="G_G0000101001_notes-sources"
+       transform="translate(15,549)">
+      <!--Notes-->
+      <g
+         id="G_G0000101001_notes" />
+      <!--Sources-->
+      <g
+         id="G_G0000101001_sources"
+         transform="translate(0,0)" />
+    </g>
+    <!--Ticks-->
+    <g
+       id="G_G0000101001_ticks">
+      <!--Axe principal-->
+      <g
+         id="G_G0000101001_ticks-axe1">
+        <!--ticks à partir de l'axe et au-dessus-->
+        <g
+           id="G_G0000101001_tick-axe1-1"
+           transform="translate(41,394)">
+          <line
+             id="G_G0000101001_tick-axe1-1-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-1-text"
+             x="-5"
+             y="3">100</text>
+        </g>
+        <g
+           id="G_G0000101001_tick-axe1-2"
+           transform="translate(41,349)">
+          <line
+             id="G_G0000101001_tick-axe1-2-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-2-text"
+             x="-5"
+             y="3">102</text>
+        </g>
+        <g
+           id="G_G0000101001_tick-axe1-3"
+           transform="translate(41,304)">
+          <line
+             id="G_G0000101001_tick-axe1-3-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-3-text"
+             x="-5"
+             y="3">104</text>
+        </g>
+        <g
+           id="G_G0000101001_tick-axe1-4"
+           transform="translate(41,260)">
+          <line
+             id="G_G0000101001_tick-axe1-4-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-4-text"
+             x="-5"
+             y="3">106</text>
+        </g>
+        <g
+           id="G_G0000101001_tick-axe1-5"
+           transform="translate(41,215)">
+          <line
+             id="G_G0000101001_tick-axe1-5-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-5-text"
+             x="-5"
+             y="3">108</text>
+        </g>
+        <g
+           id="G_G0000101001_tick-axe1-6"
+           transform="translate(41,170)">
+          <line
+             id="G_G0000101001_tick-axe1-6-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-6-text"
+             x="-5"
+             y="3">110</text>
+        </g>
+        <g
+           id="G_G0000101001_tick-axe1-7"
+           transform="translate(41,125)">
+          <line
+             id="G_G0000101001_tick-axe1-7-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-7-text"
+             x="-5"
+             y="3">112</text>
+        </g>
+        <!--ticks en-dessous de l'axe-->
+        <g
+           id="G_G0000101001_tick-axe1-8"
+           transform="translate(41,439)">
+          <line
+             id="G_G0000101001_tick-axe1-8-line"
+             x2="559"
+             class="G_G0000101001_gridline" />
+          <text
+             id="G_G0000101001_tick-axe1-8-text"
+             x="-5"
+             y="3">98</text>
+        </g>
+      </g>
+    </g>
+    <g
+       id="G_G0000101001_axes-titres">
+      <!--Titres axe vertical-->
+      <text
+         id="G_G0000101001_axey-titre1"
+         x="12"
+         y="111">Even more tests</text>
+    </g>
+    <!--Axes-->
+    <g
+       id="G_G0000101001_axes"
+       style=";stroke:navy;  stroke-width :1; ">
+      <line
+         id="G_G0000101001_axe-x"
+         x1="46"
+         y1="394"
+         x2="605"
+         y2="394" />
+      <line
+         id="G_G0000101001_axe-y1"
+         x1="46"
+         y1="439"
+         x2="46"
+         y2="115" />
+    </g>
+    <!--Séries-->
+    <g
+       id="G_G0000101001_graph">
+      <!--Repères axe X     periodex=4-->
+      <g
+         id="G_G0000101001_courbes-ticks"
+         class="G_G0000101001_tick-label">
+        <line
+           id="G_G0000101001_courbes-tick-1"
+           x1="46"
+           x2="46"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-1-text"
+           transform="translate(46,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-1-text-1">4ᵉ trim.0000</text>
+        </g>
+        <line
+           id="G_G0000101001_courbes-tick-5"
+           x1="135"
+           x2="135"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-5-text"
+           transform="translate(135,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-5-text-1">4ᵉ trim.0000</text>
+        </g>
+        <line
+           id="G_G0000101001_courbes-tick-9"
+           x1="223"
+           x2="223"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-9-text"
+           transform="translate(223,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-9-text-1">4ᵉ trim.0000</text>
+        </g>
+        <line
+           id="G_G0000101001_courbes-tick-13"
+           x1="312"
+           x2="312"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-13-text"
+           transform="translate(312,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-13-text-1">4ᵉ trim.0000</text>
+        </g>
+        <line
+           id="G_G0000101001_courbes-tick-17"
+           x1="401"
+           x2="401"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-17-text"
+           transform="translate(401,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-17-text-1">4ᵉ trim.0000</text>
+        </g>
+        <line
+           id="G_G0000101001_courbes-tick-21"
+           x1="489"
+           x2="489"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-21-text"
+           transform="translate(489,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-21-text-1">4ᵉ trim.0000</text>
+        </g>
+        <line
+           id="G_G0000101001_courbes-tick-26"
+           x1="600"
+           x2="600"
+           y1="444"
+           y2="120"
+           class="G_G0000101001_gridline" />
+        <g
+           id="G_G0000101001_courbes-tick-26-text"
+           transform="translate(600,454) rotate(-45)">
+          <text
+             id="G_G0000101001_courbes-tick-26-text-1">1ᵉ trim.0000</text>
+        </g>
+      </g>
+      <g
+         id="G_G0000101001_courbes">
+        <!--Courbe colonne numéro 1-->
+        <path
+           id="G_G0000101001_courbe-C1"
+           d="M 46,394 L 68,387 L 90,385 L 112,381 L 135,372 L 157,356 L 
179,352 L 201,347 L 223,334 L 245,378 L 268,381 L 290,336 L 312,329 L 334,309 L 
356,284 L 378,266 L 401,248 L 423,239 L 445,230 L 467,221 L 489,210 L 511,201 L 
534,195 L 556,192 L 578,188 L 600,181 "
+           class="G_G0000101001_courbe1" />
+        <!--Courbe colonne numéro 2-->
+        <path
+           id="G_G0000101001_courbe-C2"
+           d="M 46,394 L 68,390 L 90,390 L 112,387 L 135,381 L 157,365 L 
179,363 L 201,358 L 223,349 L 245,387 L 268,401 L 290,356 L 312,354 L 334,336 L 
356,313 L 378,293 L 401,282 L 423,275 L 445,264 L 467,255 L 489,248 L 511,244 L 
534,239 L 556,235 L 578,235 L 600,228 "
+           class="G_G0000101001_courbe2" />
+        <!--Courbe colonne numéro 3-->
+        <path
+           id="G_G0000101001_courbe-C3"
+           d="M 46,394 L 68,387 L 90,381 L 112,374 L 135,365 L 157,347 L 
179,345 L 201,338 L 223,322 L 245,381 L 268,378 L 290,329 L 312,320 L 334,293 L 
356,266 L 378,244 L 401,224 L 423,212 L 445,204 L 467,190 L 489,179 L 511,172 L 
534,165 L 556,161 L 578,161 L 600,154 "
+           class="G_G0000101001_courbe3" />
+        <!--Courbe colonne numéro 4-->
+        <path
+           id="G_G0000101001_courbe-C4"
+           d="M 46,394 L 68,387 L 90,385 L 112,381 L 135,374 L 157,356 L 
179,352 L 201,345 L 223,336 L 245,387 L 268,396 L 290,347 L 312,347 L 334,322 L 
356,293 L 378,273 L 401,255 L 423,246 L 445,233 L 467,221 L 489,210 L 511,208 L 
534,204 L 556,199 L 578,201 L 600,192 "
+           class="G_G0000101001_courbe4" />
+      </g>
+      <g
+         id="G_G0000101001_courbes-lignes"
+         class="G_G0000101001_sens-line">
+        <!--Segments colonne numéro 1-->
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L2"
+           x1="46"
+           y1="394"
+           x2="68"
+           y2="387"
+           onmouseout="hide_help_line('G_G0000101001',2,1)"
+           onmousemove="show_help_line('G_G0000101001',2,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L3"
+           x1="68"
+           y1="387"
+           x2="90"
+           y2="385"
+           onmouseout="hide_help_line('G_G0000101001',3,1)"
+           onmousemove="show_help_line('G_G0000101001',3,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L4"
+           x1="90"
+           y1="385"
+           x2="112"
+           y2="381"
+           onmouseout="hide_help_line('G_G0000101001',4,1)"
+           onmousemove="show_help_line('G_G0000101001',4,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L5"
+           x1="112"
+           y1="381"
+           x2="135"
+           y2="372"
+           onmouseout="hide_help_line('G_G0000101001',5,1)"
+           onmousemove="show_help_line('G_G0000101001',5,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L6"
+           x1="135"
+           y1="372"
+           x2="157"
+           y2="356"
+           onmouseout="hide_help_line('G_G0000101001',6,1)"
+           onmousemove="show_help_line('G_G0000101001',6,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L7"
+           x1="157"
+           y1="356"
+           x2="179"
+           y2="352"
+           onmouseout="hide_help_line('G_G0000101001',7,1)"
+           onmousemove="show_help_line('G_G0000101001',7,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L8"
+           x1="179"
+           y1="352"
+           x2="201"
+           y2="347"
+           onmouseout="hide_help_line('G_G0000101001',8,1)"
+           onmousemove="show_help_line('G_G0000101001',8,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L9"
+           x1="201"
+           y1="347"
+           x2="223"
+           y2="334"
+           onmouseout="hide_help_line('G_G0000101001',9,1)"
+           onmousemove="show_help_line('G_G0000101001',9,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L10"
+           x1="223"
+           y1="334"
+           x2="245"
+           y2="378"
+           onmouseout="hide_help_line('G_G0000101001',10,1)"
+           onmousemove="show_help_line('G_G0000101001',10,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L11"
+           x1="245"
+           y1="378"
+           x2="268"
+           y2="381"
+           onmouseout="hide_help_line('G_G0000101001',11,1)"
+           onmousemove="show_help_line('G_G0000101001',11,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L12"
+           x1="268"
+           y1="381"
+           x2="290"
+           y2="336"
+           onmouseout="hide_help_line('G_G0000101001',12,1)"
+           onmousemove="show_help_line('G_G0000101001',12,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L13"
+           x1="290"
+           y1="336"
+           x2="312"
+           y2="329"
+           onmouseout="hide_help_line('G_G0000101001',13,1)"
+           onmousemove="show_help_line('G_G0000101001',13,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L14"
+           x1="312"
+           y1="329"
+           x2="334"
+           y2="309"
+           onmouseout="hide_help_line('G_G0000101001',14,1)"
+           onmousemove="show_help_line('G_G0000101001',14,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L15"
+           x1="334"
+           y1="309"
+           x2="356"
+           y2="284"
+           onmouseout="hide_help_line('G_G0000101001',15,1)"
+           onmousemove="show_help_line('G_G0000101001',15,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L16"
+           x1="356"
+           y1="284"
+           x2="378"
+           y2="266"
+           onmouseout="hide_help_line('G_G0000101001',16,1)"
+           onmousemove="show_help_line('G_G0000101001',16,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L17"
+           x1="378"
+           y1="266"
+           x2="401"
+           y2="248"
+           onmouseout="hide_help_line('G_G0000101001',17,1)"
+           onmousemove="show_help_line('G_G0000101001',17,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L18"
+           x1="401"
+           y1="248"
+           x2="423"
+           y2="239"
+           onmouseout="hide_help_line('G_G0000101001',18,1)"
+           onmousemove="show_help_line('G_G0000101001',18,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L19"
+           x1="423"
+           y1="239"
+           x2="445"
+           y2="230"
+           onmouseout="hide_help_line('G_G0000101001',19,1)"
+           onmousemove="show_help_line('G_G0000101001',19,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L20"
+           x1="445"
+           y1="230"
+           x2="467"
+           y2="221"
+           onmouseout="hide_help_line('G_G0000101001',20,1)"
+           onmousemove="show_help_line('G_G0000101001',20,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L21"
+           x1="467"
+           y1="221"
+           x2="489"
+           y2="210"
+           onmouseout="hide_help_line('G_G0000101001',21,1)"
+           onmousemove="show_help_line('G_G0000101001',21,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L22"
+           x1="489"
+           y1="210"
+           x2="511"
+           y2="201"
+           onmouseout="hide_help_line('G_G0000101001',22,1)"
+           onmousemove="show_help_line('G_G0000101001',22,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L23"
+           x1="511"
+           y1="201"
+           x2="534"
+           y2="195"
+           onmouseout="hide_help_line('G_G0000101001',23,1)"
+           onmousemove="show_help_line('G_G0000101001',23,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L24"
+           x1="534"
+           y1="195"
+           x2="556"
+           y2="192"
+           onmouseout="hide_help_line('G_G0000101001',24,1)"
+           onmousemove="show_help_line('G_G0000101001',24,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L25"
+           x1="556"
+           y1="192"
+           x2="578"
+           y2="188"
+           onmouseout="hide_help_line('G_G0000101001',25,1)"
+           onmousemove="show_help_line('G_G0000101001',25,1)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C1-L26"
+           x1="578"
+           y1="188"
+           x2="600"
+           y2="181"
+           onmouseout="hide_help_line('G_G0000101001',26,1)"
+           onmousemove="show_help_line('G_G0000101001',26,1)" />
+        <!--Segments colonne numéro 2-->
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L2"
+           x1="46"
+           y1="394"
+           x2="68"
+           y2="390"
+           onmouseout="hide_help_line('G_G0000101001',2,2)"
+           onmousemove="show_help_line('G_G0000101001',2,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L3"
+           x1="68"
+           y1="390"
+           x2="90"
+           y2="390"
+           onmouseout="hide_help_line('G_G0000101001',3,2)"
+           onmousemove="show_help_line('G_G0000101001',3,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L4"
+           x1="90"
+           y1="390"
+           x2="112"
+           y2="387"
+           onmouseout="hide_help_line('G_G0000101001',4,2)"
+           onmousemove="show_help_line('G_G0000101001',4,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L5"
+           x1="112"
+           y1="387"
+           x2="135"
+           y2="381"
+           onmouseout="hide_help_line('G_G0000101001',5,2)"
+           onmousemove="show_help_line('G_G0000101001',5,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L6"
+           x1="135"
+           y1="381"
+           x2="157"
+           y2="365"
+           onmouseout="hide_help_line('G_G0000101001',6,2)"
+           onmousemove="show_help_line('G_G0000101001',6,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L7"
+           x1="157"
+           y1="365"
+           x2="179"
+           y2="363"
+           onmouseout="hide_help_line('G_G0000101001',7,2)"
+           onmousemove="show_help_line('G_G0000101001',7,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L8"
+           x1="179"
+           y1="363"
+           x2="201"
+           y2="358"
+           onmouseout="hide_help_line('G_G0000101001',8,2)"
+           onmousemove="show_help_line('G_G0000101001',8,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L9"
+           x1="201"
+           y1="358"
+           x2="223"
+           y2="349"
+           onmouseout="hide_help_line('G_G0000101001',9,2)"
+           onmousemove="show_help_line('G_G0000101001',9,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L10"
+           x1="223"
+           y1="349"
+           x2="245"
+           y2="387"
+           onmouseout="hide_help_line('G_G0000101001',10,2)"
+           onmousemove="show_help_line('G_G0000101001',10,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L11"
+           x1="245"
+           y1="387"
+           x2="268"
+           y2="401"
+           onmouseout="hide_help_line('G_G0000101001',11,2)"
+           onmousemove="show_help_line('G_G0000101001',11,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L12"
+           x1="268"
+           y1="401"
+           x2="290"
+           y2="356"
+           onmouseout="hide_help_line('G_G0000101001',12,2)"
+           onmousemove="show_help_line('G_G0000101001',12,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L13"
+           x1="290"
+           y1="356"
+           x2="312"
+           y2="354"
+           onmouseout="hide_help_line('G_G0000101001',13,2)"
+           onmousemove="show_help_line('G_G0000101001',13,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L14"
+           x1="312"
+           y1="354"
+           x2="334"
+           y2="336"
+           onmouseout="hide_help_line('G_G0000101001',14,2)"
+           onmousemove="show_help_line('G_G0000101001',14,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L15"
+           x1="334"
+           y1="336"
+           x2="356"
+           y2="313"
+           onmouseout="hide_help_line('G_G0000101001',15,2)"
+           onmousemove="show_help_line('G_G0000101001',15,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L16"
+           x1="356"
+           y1="313"
+           x2="378"
+           y2="293"
+           onmouseout="hide_help_line('G_G0000101001',16,2)"
+           onmousemove="show_help_line('G_G0000101001',16,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L17"
+           x1="378"
+           y1="293"
+           x2="401"
+           y2="282"
+           onmouseout="hide_help_line('G_G0000101001',17,2)"
+           onmousemove="show_help_line('G_G0000101001',17,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L18"
+           x1="401"
+           y1="282"
+           x2="423"
+           y2="275"
+           onmouseout="hide_help_line('G_G0000101001',18,2)"
+           onmousemove="show_help_line('G_G0000101001',18,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L19"
+           x1="423"
+           y1="275"
+           x2="445"
+           y2="264"
+           onmouseout="hide_help_line('G_G0000101001',19,2)"
+           onmousemove="show_help_line('G_G0000101001',19,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L20"
+           x1="445"
+           y1="264"
+           x2="467"
+           y2="255"
+           onmouseout="hide_help_line('G_G0000101001',20,2)"
+           onmousemove="show_help_line('G_G0000101001',20,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L21"
+           x1="467"
+           y1="255"
+           x2="489"
+           y2="248"
+           onmouseout="hide_help_line('G_G0000101001',21,2)"
+           onmousemove="show_help_line('G_G0000101001',21,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L22"
+           x1="489"
+           y1="248"
+           x2="511"
+           y2="244"
+           onmouseout="hide_help_line('G_G0000101001',22,2)"
+           onmousemove="show_help_line('G_G0000101001',22,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L23"
+           x1="511"
+           y1="244"
+           x2="534"
+           y2="239"
+           onmouseout="hide_help_line('G_G0000101001',23,2)"
+           onmousemove="show_help_line('G_G0000101001',23,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L24"
+           x1="534"
+           y1="239"
+           x2="556"
+           y2="235"
+           onmouseout="hide_help_line('G_G0000101001',24,2)"
+           onmousemove="show_help_line('G_G0000101001',24,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L25"
+           x1="556"
+           y1="235"
+           x2="578"
+           y2="235"
+           onmouseout="hide_help_line('G_G0000101001',25,2)"
+           onmousemove="show_help_line('G_G0000101001',25,2)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C2-L26"
+           x1="578"
+           y1="235"
+           x2="600"
+           y2="228"
+           onmouseout="hide_help_line('G_G0000101001',26,2)"
+           onmousemove="show_help_line('G_G0000101001',26,2)" />
+        <!--Segments colonne numéro 3-->
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L2"
+           x1="46"
+           y1="394"
+           x2="68"
+           y2="387"
+           onmouseout="hide_help_line('G_G0000101001',2,3)"
+           onmousemove="show_help_line('G_G0000101001',2,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L3"
+           x1="68"
+           y1="387"
+           x2="90"
+           y2="381"
+           onmouseout="hide_help_line('G_G0000101001',3,3)"
+           onmousemove="show_help_line('G_G0000101001',3,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L4"
+           x1="90"
+           y1="381"
+           x2="112"
+           y2="374"
+           onmouseout="hide_help_line('G_G0000101001',4,3)"
+           onmousemove="show_help_line('G_G0000101001',4,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L5"
+           x1="112"
+           y1="374"
+           x2="135"
+           y2="365"
+           onmouseout="hide_help_line('G_G0000101001',5,3)"
+           onmousemove="show_help_line('G_G0000101001',5,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L6"
+           x1="135"
+           y1="365"
+           x2="157"
+           y2="347"
+           onmouseout="hide_help_line('G_G0000101001',6,3)"
+           onmousemove="show_help_line('G_G0000101001',6,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L7"
+           x1="157"
+           y1="347"
+           x2="179"
+           y2="345"
+           onmouseout="hide_help_line('G_G0000101001',7,3)"
+           onmousemove="show_help_line('G_G0000101001',7,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L8"
+           x1="179"
+           y1="345"
+           x2="201"
+           y2="338"
+           onmouseout="hide_help_line('G_G0000101001',8,3)"
+           onmousemove="show_help_line('G_G0000101001',8,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L9"
+           x1="201"
+           y1="338"
+           x2="223"
+           y2="322"
+           onmouseout="hide_help_line('G_G0000101001',9,3)"
+           onmousemove="show_help_line('G_G0000101001',9,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L10"
+           x1="223"
+           y1="322"
+           x2="245"
+           y2="381"
+           onmouseout="hide_help_line('G_G0000101001',10,3)"
+           onmousemove="show_help_line('G_G0000101001',10,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L11"
+           x1="245"
+           y1="381"
+           x2="268"
+           y2="378"
+           onmouseout="hide_help_line('G_G0000101001',11,3)"
+           onmousemove="show_help_line('G_G0000101001',11,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L12"
+           x1="268"
+           y1="378"
+           x2="290"
+           y2="329"
+           onmouseout="hide_help_line('G_G0000101001',12,3)"
+           onmousemove="show_help_line('G_G0000101001',12,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L13"
+           x1="290"
+           y1="329"
+           x2="312"
+           y2="320"
+           onmouseout="hide_help_line('G_G0000101001',13,3)"
+           onmousemove="show_help_line('G_G0000101001',13,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L14"
+           x1="312"
+           y1="320"
+           x2="334"
+           y2="293"
+           onmouseout="hide_help_line('G_G0000101001',14,3)"
+           onmousemove="show_help_line('G_G0000101001',14,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L15"
+           x1="334"
+           y1="293"
+           x2="356"
+           y2="266"
+           onmouseout="hide_help_line('G_G0000101001',15,3)"
+           onmousemove="show_help_line('G_G0000101001',15,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L16"
+           x1="356"
+           y1="266"
+           x2="378"
+           y2="244"
+           onmouseout="hide_help_line('G_G0000101001',16,3)"
+           onmousemove="show_help_line('G_G0000101001',16,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L17"
+           x1="378"
+           y1="244"
+           x2="401"
+           y2="224"
+           onmouseout="hide_help_line('G_G0000101001',17,3)"
+           onmousemove="show_help_line('G_G0000101001',17,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L18"
+           x1="401"
+           y1="224"
+           x2="423"
+           y2="212"
+           onmouseout="hide_help_line('G_G0000101001',18,3)"
+           onmousemove="show_help_line('G_G0000101001',18,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L19"
+           x1="423"
+           y1="212"
+           x2="445"
+           y2="204"
+           onmouseout="hide_help_line('G_G0000101001',19,3)"
+           onmousemove="show_help_line('G_G0000101001',19,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L20"
+           x1="445"
+           y1="204"
+           x2="467"
+           y2="190"
+           onmouseout="hide_help_line('G_G0000101001',20,3)"
+           onmousemove="show_help_line('G_G0000101001',20,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L21"
+           x1="467"
+           y1="190"
+           x2="489"
+           y2="179"
+           onmouseout="hide_help_line('G_G0000101001',21,3)"
+           onmousemove="show_help_line('G_G0000101001',21,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L22"
+           x1="489"
+           y1="179"
+           x2="511"
+           y2="172"
+           onmouseout="hide_help_line('G_G0000101001',22,3)"
+           onmousemove="show_help_line('G_G0000101001',22,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L23"
+           x1="511"
+           y1="172"
+           x2="534"
+           y2="165"
+           onmouseout="hide_help_line('G_G0000101001',23,3)"
+           onmousemove="show_help_line('G_G0000101001',23,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L24"
+           x1="534"
+           y1="165"
+           x2="556"
+           y2="161"
+           onmouseout="hide_help_line('G_G0000101001',24,3)"
+           onmousemove="show_help_line('G_G0000101001',24,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L25"
+           x1="556"
+           y1="161"
+           x2="578"
+           y2="161"
+           onmouseout="hide_help_line('G_G0000101001',25,3)"
+           onmousemove="show_help_line('G_G0000101001',25,3)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C3-L26"
+           x1="578"
+           y1="161"
+           x2="600"
+           y2="154"
+           onmouseout="hide_help_line('G_G0000101001',26,3)"
+           onmousemove="show_help_line('G_G0000101001',26,3)" />
+        <!--Segments colonne numéro 4-->
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L2"
+           x1="46"
+           y1="394"
+           x2="68"
+           y2="387"
+           onmouseout="hide_help_line('G_G0000101001',2,4)"
+           onmousemove="show_help_line('G_G0000101001',2,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L3"
+           x1="68"
+           y1="387"
+           x2="90"
+           y2="385"
+           onmouseout="hide_help_line('G_G0000101001',3,4)"
+           onmousemove="show_help_line('G_G0000101001',3,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L4"
+           x1="90"
+           y1="385"
+           x2="112"
+           y2="381"
+           onmouseout="hide_help_line('G_G0000101001',4,4)"
+           onmousemove="show_help_line('G_G0000101001',4,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L5"
+           x1="112"
+           y1="381"
+           x2="135"
+           y2="374"
+           onmouseout="hide_help_line('G_G0000101001',5,4)"
+           onmousemove="show_help_line('G_G0000101001',5,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L6"
+           x1="135"
+           y1="374"
+           x2="157"
+           y2="356"
+           onmouseout="hide_help_line('G_G0000101001',6,4)"
+           onmousemove="show_help_line('G_G0000101001',6,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L7"
+           x1="157"
+           y1="356"
+           x2="179"
+           y2="352"
+           onmouseout="hide_help_line('G_G0000101001',7,4)"
+           onmousemove="show_help_line('G_G0000101001',7,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L8"
+           x1="179"
+           y1="352"
+           x2="201"
+           y2="345"
+           onmouseout="hide_help_line('G_G0000101001',8,4)"
+           onmousemove="show_help_line('G_G0000101001',8,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L9"
+           x1="201"
+           y1="345"
+           x2="223"
+           y2="336"
+           onmouseout="hide_help_line('G_G0000101001',9,4)"
+           onmousemove="show_help_line('G_G0000101001',9,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L10"
+           x1="223"
+           y1="336"
+           x2="245"
+           y2="387"
+           onmouseout="hide_help_line('G_G0000101001',10,4)"
+           onmousemove="show_help_line('G_G0000101001',10,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L11"
+           x1="245"
+           y1="387"
+           x2="268"
+           y2="396"
+           onmouseout="hide_help_line('G_G0000101001',11,4)"
+           onmousemove="show_help_line('G_G0000101001',11,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L12"
+           x1="268"
+           y1="396"
+           x2="290"
+           y2="347"
+           onmouseout="hide_help_line('G_G0000101001',12,4)"
+           onmousemove="show_help_line('G_G0000101001',12,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L13"
+           x1="290"
+           y1="347"
+           x2="312"
+           y2="347"
+           onmouseout="hide_help_line('G_G0000101001',13,4)"
+           onmousemove="show_help_line('G_G0000101001',13,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L14"
+           x1="312"
+           y1="347"
+           x2="334"
+           y2="322"
+           onmouseout="hide_help_line('G_G0000101001',14,4)"
+           onmousemove="show_help_line('G_G0000101001',14,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L15"
+           x1="334"
+           y1="322"
+           x2="356"
+           y2="293"
+           onmouseout="hide_help_line('G_G0000101001',15,4)"
+           onmousemove="show_help_line('G_G0000101001',15,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L16"
+           x1="356"
+           y1="293"
+           x2="378"
+           y2="273"
+           onmouseout="hide_help_line('G_G0000101001',16,4)"
+           onmousemove="show_help_line('G_G0000101001',16,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L17"
+           x1="378"
+           y1="273"
+           x2="401"
+           y2="255"
+           onmouseout="hide_help_line('G_G0000101001',17,4)"
+           onmousemove="show_help_line('G_G0000101001',17,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L18"
+           x1="401"
+           y1="255"
+           x2="423"
+           y2="246"
+           onmouseout="hide_help_line('G_G0000101001',18,4)"
+           onmousemove="show_help_line('G_G0000101001',18,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L19"
+           x1="423"
+           y1="246"
+           x2="445"
+           y2="233"
+           onmouseout="hide_help_line('G_G0000101001',19,4)"
+           onmousemove="show_help_line('G_G0000101001',19,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L20"
+           x1="445"
+           y1="233"
+           x2="467"
+           y2="221"
+           onmouseout="hide_help_line('G_G0000101001',20,4)"
+           onmousemove="show_help_line('G_G0000101001',20,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L21"
+           x1="467"
+           y1="221"
+           x2="489"
+           y2="210"
+           onmouseout="hide_help_line('G_G0000101001',21,4)"
+           onmousemove="show_help_line('G_G0000101001',21,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L22"
+           x1="489"
+           y1="210"
+           x2="511"
+           y2="208"
+           onmouseout="hide_help_line('G_G0000101001',22,4)"
+           onmousemove="show_help_line('G_G0000101001',22,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L23"
+           x1="511"
+           y1="208"
+           x2="534"
+           y2="204"
+           onmouseout="hide_help_line('G_G0000101001',23,4)"
+           onmousemove="show_help_line('G_G0000101001',23,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L24"
+           x1="534"
+           y1="204"
+           x2="556"
+           y2="199"
+           onmouseout="hide_help_line('G_G0000101001',24,4)"
+           onmousemove="show_help_line('G_G0000101001',24,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L25"
+           x1="556"
+           y1="199"
+           x2="578"
+           y2="201"
+           onmouseout="hide_help_line('G_G0000101001',25,4)"
+           onmousemove="show_help_line('G_G0000101001',25,4)" />
+        <line
+           id="G_G0000101001_courbes-ligne-C4-L26"
+           x1="578"
+           y1="201"
+           x2="600"
+           y2="192"
+           onmouseout="hide_help_line('G_G0000101001',26,4)"
+           onmousemove="show_help_line('G_G0000101001',26,4)" />
+      </g>
+      <g
+         id="G_G0000101001_courbes-points"
+         style="stroke:none; fill:orange; fill-opacity:0; ">
+        <g
+           id="G_G0000101001_courbe-C1-points">
+          <!--Points colonne numéro 1-->
+          <circle
+             id="G_G0000101001_point-C1-L1"
+             cx="46"
+             cy="394"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',1,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,1,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L2"
+             cx="68"
+             cy="387"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',2,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,2,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L3"
+             cx="90"
+             cy="385"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',3,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,3,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L4"
+             cx="112"
+             cy="381"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',4,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,4,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L5"
+             cx="135"
+             cy="372"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',5,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,5,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L6"
+             cx="157"
+             cy="356"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',6,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,6,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L7"
+             cx="179"
+             cy="352"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',7,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,7,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L8"
+             cx="201"
+             cy="347"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',8,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,8,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L9"
+             cx="223"
+             cy="334"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',9,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,9,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L10"
+             cx="245"
+             cy="378"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',10,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,10,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L11"
+             cx="268"
+             cy="381"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',11,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,11,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L12"
+             cx="290"
+             cy="336"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',12,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,12,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L13"
+             cx="312"
+             cy="329"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',13,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,13,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L14"
+             cx="334"
+             cy="309"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',14,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,14,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L15"
+             cx="356"
+             cy="284"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',15,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,15,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L16"
+             cx="378"
+             cy="266"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',16,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,16,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L17"
+             cx="401"
+             cy="248"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',17,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,17,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L18"
+             cx="423"
+             cy="239"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',18,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,18,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L19"
+             cx="445"
+             cy="230"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',19,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,19,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L20"
+             cx="467"
+             cy="221"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',20,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,20,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L21"
+             cx="489"
+             cy="210"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',21,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,21,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L22"
+             cx="511"
+             cy="201"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',22,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,22,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L23"
+             cx="534"
+             cy="195"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',23,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,23,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L24"
+             cx="556"
+             cy="192"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',24,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,24,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L25"
+             cx="578"
+             cy="188"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',25,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,25,1)" />
+          <circle
+             id="G_G0000101001_point-C1-L26"
+             cx="600"
+             cy="181"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',26,1)"
+             onmousemove="show_help_dot('G_G0000101001',evt,26,1)" />
+        </g>
+        <g
+           id="G_G0000101001_courbe-C2-points">
+          <!--Points colonne numéro 2-->
+          <circle
+             id="G_G0000101001_point-C2-L1"
+             cx="46"
+             cy="394"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',1,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,1,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L2"
+             cx="68"
+             cy="390"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',2,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,2,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L3"
+             cx="90"
+             cy="390"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',3,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,3,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L4"
+             cx="112"
+             cy="387"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',4,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,4,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L5"
+             cx="135"
+             cy="381"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',5,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,5,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L6"
+             cx="157"
+             cy="365"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',6,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,6,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L7"
+             cx="179"
+             cy="363"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',7,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,7,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L8"
+             cx="201"
+             cy="358"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',8,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,8,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L9"
+             cx="223"
+             cy="349"
+             r="5"
+             onmouseout="hide_help_dot('G_G0000101001',9,2)"
+             onmousemove="show_help_dot('G_G0000101001',evt,9,2)" />
+          <circle
+             id="G_G0000101001_point-C2-L10"
+             cx="245"
+             cy="387"
+             r="5"
-e 
... etc. - the rest is truncated

Reply via email to