summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--brand/cib/Image.svg78
-rw-r--r--brand/cib/banner.svg86
-rw-r--r--brand/cib/flat_logo.svg504
-rw-r--r--brand/cib/intro-highres.pngbin18421 -> 16688 bytes
-rw-r--r--brand/cib/intro-highres.svg266
-rw-r--r--brand/cib/intro.pngbin13854 -> 10892 bytes
-rw-r--r--brand/cib/intro.svg249
-rw-r--r--brand/cib/logo.pngbin4714 -> 731 bytes
-rw-r--r--brand/cib/logo.svg105
-rw-r--r--configure.ac2
-rw-r--r--connectivity/source/parse/sqlbison.y6
-rw-r--r--desktop/source/app/cmdlineargs.cxx10
-rw-r--r--download.lst14
-rw-r--r--external/libnumbertext/EmptyString.patch113
-rw-r--r--external/libnumbertext/UnpackedTarball_libnumbertext.mk6
-rw-r--r--external/libxml2/ExternalPackage_libxml2.mk2
-rw-r--r--external/libxml2/UnpackedTarball_libxml2.mk3
-rw-r--r--external/libxml2/libxml2-android.patch6
-rw-r--r--external/libxml2/libxml2-config.patch.143
-rw-r--r--external/libxml2/xml2-config.in28
-rw-r--r--external/poppler/StaticLibrary_poppler.mk10
-rw-r--r--external/poppler/UnpackedTarball_poppler.mk7
-rw-r--r--external/poppler/disable-freetype.patch.141
-rw-r--r--external/poppler/gcc7-EntityInfo.patch.148
-rw-r--r--external/poppler/poppler-c++11.patch.113
-rw-r--r--external/poppler/poppler-config.patch.127
-rw-r--r--external/poppler/poppler-vs2015-buildfix.patch.11707
-rw-r--r--external/python3/python-3.5.4-ssl.patch.111
-rw-r--r--external/zlib/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d.patch29
-rw-r--r--external/zlib/UnpackedTarball_zlib.mk7
-rw-r--r--external/zlib/eff308af425b67093bab25f80f1ae950166bece1.patch32
-rw-r--r--filter/source/xsltfilter/LibXSLTTransformer.hxx2
-rw-r--r--formula/source/core/api/token.cxx8
-rwxr-xr-xicon-themes/breeze/sfx2/res/logo.pngbin4714 -> 5381 bytes
-rw-r--r--icon-themes/cib/sfx2/res/logo.pngbin4714 -> 731 bytes
-rw-r--r--icon-themes/colibre/sfx2/res/logo.pngbin4714 -> 5381 bytes
-rwxr-xr-xicon-themes/elementary/sfx2/res/logo.pngbin4714 -> 5381 bytes
-rw-r--r--icon-themes/karasa_jaga/sfx2/res/logo.pngbin4714 -> 5381 bytes
-rwxr-xr-xicon-themes/sifr/sfx2/res/logo.pngbin4714 -> 5381 bytes
-rw-r--r--icon-themes/tango/sfx2/res/logo.pngbin4714 -> 5381 bytes
-rw-r--r--instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmpbin115906 -> 119082 bytes
-rw-r--r--instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmpbin202314 -> 206778 bytes
-rw-r--r--instsetoo_native/inc_ooohelppack/windows/msi_templates/Property.idt6
-rw-r--r--instsetoo_native/util/openoffice.lst.in72
-rw-r--r--oox/source/ole/vbacontrol.cxx6
-rw-r--r--sc/inc/document.hxx5
-rw-r--r--sc/qa/extras/scpdfexport.cxx16
-rw-r--r--sc/qa/extras/testdocuments/forcepoint97.xlsxbin0 -> 21127 bytes
-rw-r--r--sc/qa/unit/data/xlsx/forcepoint107.xlsxbin0 -> 398436 bytes
-rw-r--r--sc/qa/unit/filters-test.cxx9
-rw-r--r--sc/source/core/data/colorscale.cxx6
-rw-r--r--sc/source/core/data/documen2.cxx1
-rw-r--r--sc/source/core/data/documentimport.cxx8
-rw-r--r--sc/source/core/data/dpobject.cxx11
-rw-r--r--sc/source/core/data/dptabres.cxx12
-rw-r--r--sc/source/core/data/formulacell.cxx6
-rw-r--r--sc/source/core/tool/interpr7.cxx3
-rw-r--r--sc/source/filter/xml/XMLCalculationSettingsContext.cxx14
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx26
-rw-r--r--sc/source/ui/unoobj/chart2uno.cxx3
-rw-r--r--sc/source/ui/view/output2.cxx7
-rw-r--r--scp2/source/ooo/common_brand.scp2
-rw-r--r--sdext/Executable_xpdfimport.mk4
-rw-r--r--sdext/source/pdfimport/wrapper/wrapper.cxx52
-rw-r--r--sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx56
-rw-r--r--sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx10
-rw-r--r--sfx2/source/appl/appserv.cxx5
-rw-r--r--sfx2/source/appl/macroloader.cxx9
-rw-r--r--sfx2/source/doc/iframe.cxx20
-rw-r--r--sfx2/source/inc/macroloader.hxx2
-rw-r--r--sw/qa/core/data/rtf/pass/forcepoint110.rtfbin0 -> 7776 bytes
-rw-r--r--sw/qa/extras/odfimport/data/forcepoint108.fodt67
-rw-r--r--sw/qa/extras/odfimport/odfimport.cxx20
-rw-r--r--sw/source/core/unocore/unoframe.cxx9
-rw-r--r--sw/source/filter/html/htmlplug.cxx7
-rw-r--r--sw/source/filter/xml/XMLRedlineImportHelper.cxx82
-rw-r--r--sw/source/filter/xml/xmltexti.cxx9
-rwxr-xr-xsysui/desktop/share/create_tree.sh8
-rw-r--r--sysui/productlist.mk6
-rw-r--r--test/source/xmltesttools.cxx2
-rw-r--r--unoxml/source/xpath/xpathobject.cxx2
-rw-r--r--vcl/source/outdev/text.cxx2
-rw-r--r--wizards/source/access2base/DoCmd.xba2
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx2
-rw-r--r--xmloff/source/draw/ximpshap.cxx4
85 files changed, 2811 insertions, 1145 deletions
diff --git a/brand/cib/Image.svg b/brand/cib/Image.svg
index 369941585b61..b956bf05571f 100644
--- a/brand/cib/Image.svg
+++ b/brand/cib/Image.svg
@@ -2,30 +2,30 @@
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 162 312"
xml:space="preserve"
id="svg3336"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+ inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="Image.svg"
width="162"
height="312"
inkscape:export-filename="C:\cygwin\home\Marina\lode\dev\FLOSS-194\instsetoo_native\inc_common\windows\msi_templates\Binary\ImageBanner.bmp.png"
inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"><metadata
+ inkscape:export-ydpi="96"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata3474"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs3472"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4978"><rect
@@ -61,22 +61,24 @@
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
- inkscape:window-width="2880"
- inkscape:window-height="1721"
+ inkscape:window-width="1920"
+ inkscape:window-height="1011"
id="namedview3470"
showgrid="false"
inkscape:zoom="2.02"
- inkscape:cx="263.66575"
- inkscape:cy="147.35983"
- inkscape:window-x="2869"
- inkscape:window-y="-11"
+ inkscape:cx="180.44554"
+ inkscape:cy="147.52475"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="doXigate_Arbeitsunterlagen"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
- inkscape:showpageshadow="false" />
+ inkscape:showpageshadow="false"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1" />
<style
type="text/css"
id="style3338">
@@ -292,15 +294,31 @@
class="cls-1"
x="-12.205721"
y="-40.636944"
- style="fill:#961e29;stroke-width:2.30338931" /><g
- id="g1001"><path
- d="m 23.59,4.5 a 0.7,0.7 0 0 0 -0.643,0.409 0.68,0.68 0 0 0 0.149,0.74 l 5.814,5.833 a 0.7,0.7 0 0 0 0.74,0.151 0.688,0.688 0 0 0 0.425,-0.617 V 5.172 A 0.7,0.7 0 0 0 29.393,4.5 Z"
- class="cls-2"
- id="path6084"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /><path
- d="M 7.6,4.5 A 0.689,0.689 0 0 0 6.921,5.19 V 31.81 A 0.688,0.688 0 0 0 7.6,32.5 l 15.3,-0.008 c 2.249,0.008 7.18,-4.832 7.18,-7.278 V 14.668 a 0.691,0.691 0 0 0 -0.2,-0.49 L 20.452,4.711 A 0.689,0.689 0 0 0 19.963,4.5 Z m 0.689,1.379 h 11.385 l 9.026,9.067 c 0,0 0,9.218 0,9.809 0,1.835 -4.229,6.366 -6.45,6.366 H 8.293 Z"
- class="cls-2"
- id="path6088"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /></g></g></svg> \ No newline at end of file
+ style="fill:#ffffff;stroke-width:2.30338931;fill-opacity:1" /><g
+ id="g25"
+ transform="matrix(1.3734481,0,0,1.3734481,2.7428059,-8.3812465)"><path
+ d="m 21.65,17.96 c -0.31,-0.32 -0.83,-0.32 -1.14,0 L 12.1,26.37 8.57,22.85 6.65,24.77 12.1,30.22 23.01,19.31 21.66,17.95 Z"
+ style="fill:#e11e19"
+ id="path15" /><path
+ d="m 15.74,28.28 -2.33,1.97 h 1.45 c 2.67,0 4.84,-2.17 4.84,-4.84 v -0.44 l -2.22,1.9 c -0.37,0.67 -0.99,1.18 -1.74,1.41 z"
+ style="fill:#e11e19"
+ id="path17" /><polygon
+ points="4.92,28.42 4.92,10.25 17.86,10.25 17.86,18.13 19.69,16.56 19.69,8.41 3.08,8.41 3.08,30.26 9.62,30.26 8.07,28.42 "
+ style="fill:#e11e19"
+ id="polygon19" /><rect
+ x="7.2600002"
+ y="11.82"
+ width="7.8899999"
+ height="2.24"
+ rx="1.05"
+ ry="1.05"
+ style="fill:#e11e19"
+ id="rect21" /><rect
+ x="7.3699999"
+ y="17.120001"
+ width="7.8899999"
+ height="2.1300001"
+ rx="1"
+ ry="1"
+ style="fill:#e11e19"
+ id="rect23" /></g></g></svg>
diff --git a/brand/cib/banner.svg b/brand/cib/banner.svg
index 9b03d38ea183..6024e93533ee 100644
--- a/brand/cib/banner.svg
+++ b/brand/cib/banner.svg
@@ -2,30 +2,30 @@
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 499 58"
xml:space="preserve"
id="svg3336"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+ inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="banner.svg"
width="499"
height="58"
inkscape:export-filename="C:\cygwin\home\Marina\lode\dev\FLOSS-194\brand\cib\intro-highres.png"
inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"><metadata
+ inkscape:export-ydpi="96"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata3474"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs3472"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4978"><rect
@@ -62,21 +62,23 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
- inkscape:window-height="1000"
+ inkscape:window-height="1011"
id="namedview3470"
showgrid="false"
- inkscape:zoom="2.16"
- inkscape:cx="263.66575"
- inkscape:cy="108.40609"
- inkscape:window-x="-11"
- inkscape:window-y="-11"
+ inkscape:zoom="5.2987922"
+ inkscape:cx="408.20623"
+ inkscape:cy="66.052788"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg3336"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
- inkscape:showpageshadow="false" />
+ inkscape:showpageshadow="false"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1" />
<style
type="text/css"
id="style3338">
@@ -283,24 +285,30 @@
</g>
<g
- data-name="doXigate Arbeitsunterlagen"
- id="doXigate_Arbeitsunterlagen"
- transform="matrix(1.5675676,0,0,1.5675676,441,-6e-7)"><rect
- id="rect997"
- height="37"
- width="37"
- class="cls-1"
- x="0"
- y="0"
- style="fill:#961e29" /><g
- id="g1001"><path
- d="m 23.59,4.5 a 0.7,0.7 0 0 0 -0.643,0.409 0.68,0.68 0 0 0 0.149,0.74 l 5.814,5.833 a 0.7,0.7 0 0 0 0.74,0.151 0.688,0.688 0 0 0 0.425,-0.617 V 5.172 A 0.7,0.7 0 0 0 29.393,4.5 Z"
- class="cls-2"
- id="path6084"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /><path
- d="M 7.6,4.5 A 0.689,0.689 0 0 0 6.921,5.19 V 31.81 A 0.688,0.688 0 0 0 7.6,32.5 l 15.3,-0.008 c 2.249,0.008 7.18,-4.832 7.18,-7.278 V 14.668 a 0.691,0.691 0 0 0 -0.2,-0.49 L 20.452,4.711 A 0.689,0.689 0 0 0 19.963,4.5 Z m 0.689,1.379 h 11.385 l 9.026,9.067 c 0,0 0,9.218 0,9.809 0,1.835 -4.229,6.366 -6.45,6.366 H 8.293 Z"
- class="cls-2"
- id="path6088"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /></g></g></svg> \ No newline at end of file
+ id="g25"
+ transform="matrix(2.5725516,0,0,2.5725516,438.56872,-20.558642)"><path
+ d="m 21.65,17.96 c -0.31,-0.32 -0.83,-0.32 -1.14,0 L 12.1,26.37 8.57,22.85 6.65,24.77 12.1,30.22 23.01,19.31 21.66,17.95 Z"
+ style="fill:#e11e19"
+ id="path15" /><path
+ d="m 15.74,28.28 -2.33,1.97 h 1.45 c 2.67,0 4.84,-2.17 4.84,-4.84 v -0.44 l -2.22,1.9 c -0.37,0.67 -0.99,1.18 -1.74,1.41 z"
+ style="fill:#e11e19"
+ id="path17" /><polygon
+ points="8.07,28.42 4.92,28.42 4.92,10.25 17.86,10.25 17.86,18.13 19.69,16.56 19.69,8.41 3.08,8.41 3.08,30.26 9.62,30.26 "
+ style="fill:#e11e19"
+ id="polygon19" /><rect
+ x="7.2600002"
+ y="11.82"
+ width="7.8899999"
+ height="2.24"
+ rx="1.05"
+ ry="1.05"
+ style="fill:#e11e19"
+ id="rect21" /><rect
+ x="7.3699999"
+ y="17.120001"
+ width="7.8899999"
+ height="2.1300001"
+ rx="1"
+ ry="1"
+ style="fill:#e11e19"
+ id="rect23" /></g></svg>
diff --git a/brand/cib/flat_logo.svg b/brand/cib/flat_logo.svg
index b9f52ca5d5d1..2ee6c3366d9e 100644
--- a/brand/cib/flat_logo.svg
+++ b/brand/cib/flat_logo.svg
@@ -1,417 +1,87 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- x="0px"
- y="0px"
- viewBox="0 0 491.5 85.5"
- xml:space="preserve"
- id="svg3336"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
- sodipodi:docname="flat_logo.svg"
- width="491.5"
- height="85.5"><metadata
- id="metadata3474"><rdf:RDF><cc:Work
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
- id="defs3472"><clipPath
- clipPathUnits="userSpaceOnUse"
- id="clipPath4978"><rect
- style="fill:#5fa243;fill-opacity:1"
- id="rect4980"
- width="113.625"
- height="79.875"
- x="72.875"
- y="50.125" /></clipPath><style
- id="style1078">
- .cls-1 {
- fill: #961e29;
- }
-
- .cls-2 {
- fill: #fff;
- }
- </style><style
- id="style943">
- .cls-1 {
- fill: #961e29;
- }
-
- .cls-2 {
- fill: #fff;
- }
- </style></defs><sodipodi:namedview
- pagecolor="#eff1f4"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="2880"
- inkscape:window-height="1721"
- id="namedview3470"
- showgrid="false"
- inkscape:zoom="2.8284271"
- inkscape:cx="226.99865"
- inkscape:cy="120.32247"
- inkscape:window-x="2869"
- inkscape:window-y="-11"
- inkscape:window-maximized="1"
- inkscape:current-layer="svg3336"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- inkscape:showpageshadow="false" />
-<style
- type="text/css"
- id="style3338">
- .st0{display:none;}
- .st1{display:inline;}
- .st2{fill:#5FA243;}
- .st3{fill:#FFFFFF;}
- .st4{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
- .st5{fill:#C12521;}
- .st6{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
- .st7{display:inline;fill:#5FA243;}
- .st8{display:inline;fill:#C12521;}
- .st9{display:inline;fill:#FFFFFF;}
- .st10{clip-path:url(#SVGID_4_);fill:#FFFFFF;}
- .st11{font-family:'CIBUnit';}
- .st12{font-size:17px;}
-</style>
-<g
- id="alte_version"
- class="st0"
- style="display:none"
- transform="translate(-52.877201,-98.441053)">
- <g
- class="st1"
- id="g3341"
- style="display:inline">
- <polygon
- class="st2"
- points="262,-250 262,-64 0,-64 0,-249.9 "
- id="polygon3343"
- style="fill:#5fa243" />
- </g>
- <g
- id="Libre_2_"
- class="st1"
- style="display:inline">
- <polyline
- class="st3"
- points="73.7,-207.5 73.7,-182.8 89.6,-182.8 89.6,-186.5 78.6,-186.5 78.6,-207.5 73.7,-207.5 "
- id="polyline3346"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 92.6,-182.8 h 4.9 v -17.8 h -4.9 v 17.8 m 2.4,-19.3 c 1.5,0 2.8,-1.2 2.8,-2.8 0,-1.5 -1.3,-2.8 -2.8,-2.8 -1.6,0 -2.8,1.3 -2.8,2.8 0,1.6 1.3,2.8 2.8,2.8"
- id="path3348"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 105.9,-198.5 v 0 L 105.8,-209 H 101 v 26.2 h 4.8 l 0.1,-2.1 h 0.1 c 1.5,1.7 3,2.4 5.6,2.4 4.7,0 7.8,-4.3 7.8,-9.6 0,-5.1 -2.8,-8.9 -7.6,-8.9 -2.7,0.1 -4.2,0.9 -5.9,2.5 m 0,6.4 c 0,-3.1 1.4,-5.1 4,-5.1 2.9,0 4.4,2.1 4.4,5.5 0,3.4 -1.4,5.5 -4.3,5.5 -2.5,0 -4.1,-2 -4.1,-5.1 v -0.8"
- id="path3350"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 132.4,-200.9 c -2.3,0.1 -4.5,1.6 -5.6,3.5 h -0.1 l -0.1,-3.2 h -4.8 v 17.8 h 4.9 v -6.7 c 0,-3.6 0.7,-4.8 1.8,-5.7 1,-0.7 2.1,-1 3.7,-1.1 l 0.2,-4.6"
- id="path3352"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 150.3,-192.7 c 0,-4.4 -2.7,-8.2 -7.3,-8.2 -5.6,0 -9.2,3.9 -9.2,9.7 0,5.7 3.7,8.8 9.2,8.8 2.6,0 4.4,-0.4 6.1,-1.2 l -0.5,-3.6 c -1.6,0.7 -3.2,1.1 -5,1.1 -2.9,0 -4.8,-1.3 -5,-4.1 h 11.5 c 0.1,-0.7 0.2,-1.7 0.2,-2.5 m -7.9,-4.5 c 2.1,0 3.1,1.7 3.2,3.5 h -6.9 c 0.4,-2 1.8,-3.5 3.7,-3.5"
- id="path3354"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 165,-207.8 c -6.5,0 -11.9,4.8 -11.9,12.7 0,7.9 5.4,12.7 11.9,12.7 6.5,0 11.9,-4.8 11.9,-12.7 0.1,-8 -5.3,-12.7 -11.9,-12.7 m 0,2.4 c 4.9,0 8.6,3.6 8.6,10.2 0,6.6 -3.7,10.2 -8.6,10.2 -4.9,0 -8.6,-3.6 -8.6,-10.2 0.1,-6.5 3.8,-10.2 8.6,-10.2"
- id="path3356"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 181.6,-201.5 v 1.1 h -2.9 v 2.3 h 2.9 v 15.3 h 3 v -15.3 h 4.5 v -2.3 h -4.5 v -1.6 c 0,-3.2 1.3,-5 3.8,-5 1.1,0 1.9,0.2 2.5,0.4 l 0.3,-2.3 c -0.7,-0.3 -1.9,-0.5 -2.9,-0.5 -4.2,0 -6.7,2.8 -6.7,7.9"
- id="path3358"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 191.7,-201.5 v 1.1 h -2.9 v 2.3 h 2.9 v 15.3 h 3 v -15.3 h 4.5 v -2.3 h -4.5 v -1.6 c 0,-3.2 1.3,-5 3.8,-5 1.1,0 1.9,0.2 2.5,0.4 l 0.3,-2.3 c -0.7,-0.3 -1.9,-0.5 -2.9,-0.5 -4.2,0 -6.7,2.8 -6.7,7.9"
- id="path3360"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 202.8,-182.8 h 3 v -17.6 h -3 v 17.6 m 1.5,-20.2 c 1.1,0 1.9,-0.8 1.9,-1.9 0,-1.1 -0.8,-1.9 -1.9,-1.9 -1.1,0 -1.9,0.8 -1.9,1.9 0.1,1.1 0.9,1.9 1.9,1.9"
- id="path3362"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 212.2,-191.7 c 0,-4.4 2.7,-6.8 6.1,-6.8 1.8,0 3.4,0.4 4.7,1.1 l 0.3,-2.3 c -1.1,-0.5 -2.8,-1.1 -4.8,-1.1 -5.4,0 -9.5,3.3 -9.5,9.5 0,5.8 3.7,8.9 8.6,8.9 2.2,0 3.7,-0.3 5.5,-1 l -0.3,-2.3 c -1.5,0.7 -3.2,1 -4.7,1 -3.5,0 -5.9,-2.3 -5.9,-7"
- id="path3364"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st3"
- d="m 240.5,-190.9 c 0.1,-0.7 0.1,-1.2 0.1,-1.8 0,-4.5 -2.4,-8.1 -6.9,-8.1 -4.9,0 -8.5,4.1 -8.5,9.5 0,6 3.6,8.9 8.5,8.9 2.2,0 3.8,-0.3 5.5,-1 l -0.3,-2.3 c -1.3,0.7 -3.3,1 -4.8,1 -3.5,0 -5.8,-2.2 -5.9,-6.2 h 12.3 m -7,-7.5 c 2.7,0 4.1,2.2 4.1,5.1 h -9.2 c 0.5,-3.1 2.2,-5.1 5.1,-5.1"
- id="path3366"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st4"
- d="m 47.3,-224.2 c -0.4,0 -0.8,0.2 -1,0.6 -0.2,0.4 -0.1,0.8 0.2,1.1 l 8.7,8.8 c 0.3,0.3 0.7,0.4 1.1,0.2 0.4,-0.2 0.6,-0.5 0.6,-0.9 v -8.8 c 0,-0.5 -0.5,-1 -1,-1 z m 0,0"
- id="path3368"
- inkscape:connector-curvature="0"
- style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd" />
- <path
- class="st4"
- d="m 23.4,-224.2 c -0.5,0 -1,0.5 -1,1 v 39.9 c 0,0.5 0.5,1 1,1 H 56 c 0.5,0 1,-0.5 1,-1 V -209 c 0,-0.3 -0.1,-0.5 -0.3,-0.7 l -14.1,-14.2 c -0.2,-0.2 -0.5,-0.3 -0.7,-0.3 z m 1,2.1 h 17.1 l 13.5,13.6 v 24.3 H 24.4 Z m 0,0"
- id="path3370"
- inkscape:connector-curvature="0"
- style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd" />
- </g>
- <g
- class="st1"
- id="g3372"
- style="display:inline">
- <path
- class="st5"
- d="M 0,-103.5 0.1,-64 H 262 v -112 c -82,46.9 -180.2,-13.4 -262,72.5 z"
- id="path3374"
- inkscape:connector-curvature="0"
- style="fill:#c12521" />
- </g>
- <g
- class="st1"
- id="g3376"
- style="display:inline">
- <path
- class="st3"
- d="m 313.7,-253 c 0,0 -0.3,1.4 -1,4.1 -0.6,2.7 -1.7,6.6 -3.2,11.5 -1.6,4.9 -3.6,10.8 -6.6,17.4 -3,6.6 -6.9,13.8 -12.1,21 -0.7,0.9 -1.3,1.8 -2,2.7 -0.7,0.9 -1.5,1.8 -2.2,2.7 -0.4,0.4 -0.7,0.9 -1.1,1.4 -0.4,0.4 -0.8,0.9 -1.2,1.3 -0.8,0.9 -1.6,1.8 -2.4,2.6 -0.8,0.9 -1.7,1.7 -2.6,2.6 -0.4,0.4 -0.9,0.9 -1.3,1.3 -0.4,0.4 -0.9,0.8 -1.4,1.2 -0.9,0.8 -1.9,1.6 -2.9,2.5 -1,0.8 -2,1.5 -3,2.3 -4.1,3 -8.6,5.9 -13.4,8.3 -4.8,2.4 -9.9,4.6 -15.2,6.3 -10.6,3.5 -22,5.7 -33.5,7 -11.6,1.4 -23.3,1.8 -35.1,2.1 -11.7,0.2 -23.4,0.5 -35,0.7 -11.5,0.3 -22.8,0.9 -33.7,2.1 -10.9,1.1 -21.3,3 -31,5.4 -9.7,2.5 -18.6,5.6 -26.6,9.2 -8,3.6 -14.9,7.6 -20.8,11.6 -1.5,0.9 -2.9,2 -4.2,3 -0.7,0.5 -1.3,1 -2,1.4 -0.6,0.5 -1.2,1 -1.8,1.5 -1.2,0.9 -2.4,1.8 -3.5,2.7 -1.1,0.9 -2.1,1.8 -3.1,2.6 -2,1.6 -3.6,3.2 -5.1,4.6 -1.5,1.3 -2.7,2.5 -3.6,3.5 -2,1.9 -3,3 -3,3 0,0 1,-1.1 2.8,-3.2 0.9,-1 2,-2.3 3.4,-3.7 1.4,-1.4 3,-3.1 4.9,-4.8 3.7,-3.6 8.5,-7.6 14.4,-11.7 5.8,-4.2 12.8,-8.4 20.8,-12.1 8,-3.8 17,-7.1 26.8,-9.8 9.8,-2.6 20.3,-4.6 31.3,-6 11,-1.4 22.3,-2.1 33.9,-2.6 11.6,-0.5 23.3,-0.7 35,-1.1 11.7,-0.4 23.4,-1 34.7,-2.3 11.4,-1.3 22.4,-3.5 32.7,-6.8 10.2,-3.5 19.6,-8.2 27.6,-14 1,-0.7 2,-1.5 2.9,-2.2 0.9,-0.8 1.9,-1.6 2.8,-2.3 0.9,-0.8 1.8,-1.6 2.7,-2.4 0.9,-0.8 1.7,-1.6 2.6,-2.4 0.8,-0.8 1.6,-1.7 2.4,-2.5 0.4,-0.4 0.8,-0.8 1.2,-1.2 0.4,-0.4 0.7,-0.9 1.1,-1.3 0.7,-0.9 1.5,-1.7 2.2,-2.5 0.7,-0.8 1.4,-1.7 2,-2.6 5.3,-6.8 9.4,-13.8 12.6,-20 3.3,-6.3 5.6,-12 7.5,-16.8 0.9,-2.4 1.7,-4.5 2.4,-6.4 0.4,-0.9 0.6,-1.8 0.9,-2.6 0.3,-0.8 0.5,-1.5 0.7,-2.2 0.8,-2.7 1.3,-4.1 1.3,-4.1 z"
- id="path3378"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- </g>
- <g
- class="st1"
- id="g3380"
- style="display:inline">
- <path
- class="st3"
- d="m 185.1,-89.2 c 0,1.9 -2.3,4 -4.2,4 -1.2,0 -3.4,0 -3.4,0 v -33.6 h 7.6 z"
- id="path3382"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <g
- id="g3384">
- <defs
- id="defs3386">
- <rect
- id="SVGID_1_"
- x="147.60001"
- y="-126.7"
- width="92.699997"
- height="42" />
- </defs>
- <clipPath
- id="SVGID_2_">
- <use
- xlink:href="#SVGID_1_"
- style="overflow:visible"
- id="use3390"
- x="0"
- y="0"
- width="100%"
- height="100%" />
- </clipPath>
- <path
- class="st6"
- d="m 207.1,-108.8 c 0,-1.3 -0.3,-2.3 -0.9,-2.8 -0.6,-0.5 -1.7,-0.8 -3.1,-0.8 H 197 v 7.3 h 6.3 c 1.3,0 2.3,-0.3 2.9,-0.9 0.6,-0.5 0.9,-1.5 0.9,-2.8 z m 0.8,13.3 c 0,-1.4 -0.3,-2.4 -1,-3.1 -0.7,-0.6 -1.8,-0.9 -3.5,-0.9 h -6.5 v 8.1 h 6.7 c 0,0 2.6,-0.3 3.3,-0.9 0.7,-0.5 1,-1.6 1,-3.2 z m -14.3,-23.3 c 0.8,0 9.7,0 9.7,0 3.7,0 6.4,0.8 8.2,2.3 1.8,1.5 2.7,3.6 2.7,6.3 0,1.9 -0.4,3.4 -1.2,4.6 -0.8,1.2 -1.9,2.1 -3.2,2.6 v 0.1 c 3.8,1 5.7,3.7 5.7,7.9 0,1.5 -0.2,2.9 -0.7,4.1 -0.5,1.2 -1.2,2.2 -2.1,3.1 -1,0.9 -2.2,1.5 -3.7,1.9 -1.5,0.4 -3.3,0.7 -5.4,0.7 h -13.8 c 0,0 0,-29.6 0,-29.6 -0.1,-1.5 2.2,-4 3.8,-4 z"
- id="path3392"
- clip-path="url(#SVGID_2_)"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- class="st6"
- d="m 167.1,-112.3 c -9.3,-1.4 -11.6,1.8 -11.6,10.3 0,8.2 2.3,11.3 12.4,10.3 3.2,-0.3 3.9,0.7 4.5,5.6 -1.1,0.6 -5.9,1.4 -9.3,1.3 -5.1,-0.2 -9.3,-1.4 -11.7,-4.3 -2.5,-2.8 -3.7,-7.2 -3.7,-13.2 0,-12 5.4,-17 15.9,-17 5.1,0 8.6,1.5 8.6,1.5 -1,5.6 -1.9,6 -5.1,5.5 z"
- id="path3394"
- clip-path="url(#SVGID_2_)"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- </g>
- <path
- class="st3"
- d="m 234.5,-99.5 c 2.5,0 6.2,-4 6.2,-6.1 0,0 0,-21 0,-21 h -19.3 v 27.2 h 13.1 z"
- id="path3396"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- </g>
- <text
- transform="translate(20.9652,-84.5756)"
- class="st9 st11 st12"
- id="text3398"
- style="font-size:17px;line-height:0%;font-family:CIBUnit;display:inline;fill:#ffffff">powered by</text>
-
-
-
-
-
-
-</g>
-
-<g
- data-name="doXigate Arbeitsunterlagen"
- id="doXigate_Arbeitsunterlagen"
- transform="matrix(2.1647413,0,0,2.1647413,66.690227,2.702286)"><g
- id="g995"><path
- id="path949"
- d="M 53.008,20.047 H 43 V 3.242 h 3.785 v 13.735 h 6.223 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path951"
- d="m 56.781,6.148 a 2.163,2.163 0 0 1 -1.535,-0.556 1.8,1.8 0 0 1 -0.6,-1.365 1.733,1.733 0 0 1 0.6,-1.36 2.508,2.508 0 0 1 3.076,0 1.737,1.737 0 0 1 0.592,1.36 1.783,1.783 0 0 1 -0.592,1.382 2.2,2.2 0 0 1 -1.541,0.539 z m 1.828,13.9 h -3.7 v -12 h 3.7 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path953"
- d="M 65.477,18.652 H 65.43 v 1.395 h -3.7 V 2.281 h 3.7 v 7.571 h 0.047 a 4.392,4.392 0 0 1 3.9,-2.1 4.28,4.28 0 0 1 3.574,1.594 6.87,6.87 0 0 1 1.254,4.359 7.437,7.437 0 0 1 -1.465,4.816 4.771,4.771 0 0 1 -3.914,1.817 3.78,3.78 0 0 1 -3.349,-1.686 z M 65.371,13.59 v 1.23 a 2.81,2.81 0 0 0 0.668,1.922 2.173,2.173 0 0 0 1.711,0.762 2.269,2.269 0 0 0 1.963,-0.979 4.722,4.722 0 0 0 0.7,-2.771 3.763,3.763 0 0 0 -0.638,-2.326 2.156,2.156 0 0 0 -1.823,-0.838 2.352,2.352 0 0 0 -1.845,0.832 3.157,3.157 0 0 0 -0.736,2.168 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path955"
- d="m 84.438,11.387 a 3.217,3.217 0 0 0 -1.559,-0.364 2.245,2.245 0 0 0 -1.887,0.885 3.861,3.861 0 0 0 -0.679,2.408 v 5.731 h -3.7 v -12 h 3.7 v 2.226 h 0.046 a 3.2,3.2 0 0 1 3.164,-2.437 2.384,2.384 0 0 1 0.915,0.141 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path957"
- d="M 96.848,15.1 H 89.02 q 0.188,2.613 3.293,2.613 a 6.428,6.428 0 0 0 3.48,-0.938 v 2.672 a 9.139,9.139 0 0 1 -4.324,0.891 6.087,6.087 0 0 1 -4.512,-1.611 6.092,6.092 0 0 1 -1.6,-4.495 6.422,6.422 0 0 1 1.729,-4.732 5.778,5.778 0 0 1 4.266,-1.746 5.24,5.24 0 0 1 4.06,1.559 6,6 0 0 1 1.436,4.23 z m -3.434,-2.274 q 0,-2.578 -2.086,-2.578 A 1.992,1.992 0 0 0 89.787,10.986 3.361,3.361 0 0 0 89,12.828 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path959"
- d="m 106.516,20.34 a 7.819,7.819 0 0 1 -5.883,-2.35 8.433,8.433 0 0 1 -2.274,-6.123 9.04,9.04 0 0 1 2.309,-6.445 7.991,7.991 0 0 1 6.117,-2.461 7.63,7.63 0 0 1 5.815,2.355 8.688,8.688 0 0 1 2.22,6.211 8.894,8.894 0 0 1 -2.3,6.387 7.907,7.907 0 0 1 -6.004,2.426 z M 106.68,6.219 a 3.81,3.81 0 0 0 -3.164,1.494 6.224,6.224 0 0 0 -1.172,3.955 6.111,6.111 0 0 0 1.172,3.949 4.044,4.044 0 0 0 6.175,0.041 6.045,6.045 0 0 0 1.149,-3.92 6.555,6.555 0 0 0 -1.113,-4.066 3.63,3.63 0 0 0 -3.047,-1.453 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path961"
- d="m 125.078,5.117 a 3.746,3.746 0 0 0 -1.371,-0.281 q -1.78,0 -1.781,1.934 v 1.277 h 2.742 v 2.73 h -2.742 v 9.27 h -3.692 v -9.27 h -2.015 v -2.73 h 2.015 V 6.559 a 4.322,4.322 0 0 1 1.336,-3.3 5.1,5.1 0 0 1 3.63,-1.259 6.389,6.389 0 0 1 1.875,0.234 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path963"
- d="m 134.277,5.117 a 3.746,3.746 0 0 0 -1.371,-0.281 q -1.781,0 -1.781,1.934 v 1.277 h 2.742 v 2.73 h -2.742 v 9.27 h -3.691 v -9.27 h -2.016 v -2.73 h 2.016 V 6.559 a 4.319,4.319 0 0 1 1.336,-3.3 5.092,5.092 0 0 1 3.63,-1.259 6.389,6.389 0 0 1 1.875,0.234 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path965"
- d="m 137.523,6.148 a 2.163,2.163 0 0 1 -1.535,-0.556 1.794,1.794 0 0 1 -0.6,-1.365 1.732,1.732 0 0 1 0.6,-1.36 2.509,2.509 0 0 1 3.077,0 1.74,1.74 0 0 1 0.591,1.36 1.786,1.786 0 0 1 -0.591,1.382 2.2,2.2 0 0 1 -1.542,0.539 z m 1.829,13.9 h -3.7 v -12 h 3.7 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path967"
- d="m 151.563,19.613 a 7.316,7.316 0 0 1 -3.622,0.727 6.124,6.124 0 0 1 -4.476,-1.676 5.785,5.785 0 0 1 -1.711,-4.324 6.373,6.373 0 0 1 1.834,-4.822 6.775,6.775 0 0 1 4.9,-1.764 6.3,6.3 0 0 1 3.071,0.562 v 3.141 a 4.224,4.224 0 0 0 -2.59,-0.867 3.41,3.41 0 0 0 -2.526,0.932 3.475,3.475 0 0 0 -0.931,2.572 3.424,3.424 0 0 0 0.89,2.5 3.275,3.275 0 0 0 2.449,0.908 4.891,4.891 0 0 0 2.708,-0.867 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path969"
- d="m 164.77,15.1 h -7.829 q 0.188,2.613 3.293,2.613 a 6.429,6.429 0 0 0 3.481,-0.938 v 2.672 a 9.142,9.142 0 0 1 -4.324,0.891 6.087,6.087 0 0 1 -4.512,-1.611 6.092,6.092 0 0 1 -1.606,-4.495 6.422,6.422 0 0 1 1.735,-4.732 5.777,5.777 0 0 1 4.265,-1.746 5.242,5.242 0 0 1 4.061,1.559 6,6 0 0 1 1.436,4.23 z m -3.434,-2.274 q 0,-2.578 -2.086,-2.578 a 1.992,1.992 0 0 0 -1.541,0.738 3.354,3.354 0 0 0 -0.791,1.84 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path971"
- d="m 44.62,32.412 v 3.555 H 43 v -9.8 h 2.974 a 3.938,3.938 0 0 1 2.618,0.786 2.743,2.743 0 0 1 0.93,2.215 3.061,3.061 0 0 1 -0.971,2.338 3.689,3.689 0 0 1 -2.625,0.909 z m 0,-4.908 v 3.582 h 1.053 a 2.333,2.333 0 0 0 1.593,-0.485 1.737,1.737 0 0 0 0.547,-1.368 q 0,-1.73 -2.01,-1.729 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path973"
- d="M 56.272,36.131 A 4.41,4.41 0 0 1 52.878,34.757 5.046,5.046 0 0 1 51.6,31.182 5.348,5.348 0 0 1 52.9,27.408 4.568,4.568 0 0 1 56.43,26 a 4.31,4.31 0 0 1 3.325,1.367 5.06,5.06 0 0 1 1.262,3.575 5.364,5.364 0 0 1 -1.292,3.794 4.481,4.481 0 0 1 -3.453,1.395 z m 0.076,-8.7 a 2.727,2.727 0 0 0 -2.191,1.005 3.973,3.973 0 0 0 -0.844,2.645 4.013,4.013 0 0 0 0.82,2.632 2.647,2.647 0 0 0 2.146,1 2.77,2.77 0 0 0 2.222,-0.95 3.967,3.967 0 0 0 0.814,-2.659 4.146,4.146 0 0 0 -0.791,-2.714 2.667,2.667 0 0 0 -2.176,-0.961 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path975"
- d="m 76.025,26.164 -2.686,9.8 H 71.5 L 69.634,29.11 A 4.77,4.77 0 0 1 69.49,28.153 h -0.027 a 4.639,4.639 0 0 1 -0.164,0.944 l -1.873,6.87 h -1.88 l -2.741,-9.8 h 1.784 l 1.777,7.178 a 5.2,5.2 0 0 1 0.137,0.943 h 0.034 a 5.373,5.373 0 0 1 0.192,-0.943 l 2.009,-7.178 h 1.675 l 1.859,7.233 a 5.635,5.635 0 0 1 0.144,0.875 h 0.027 a 5.445,5.445 0 0 1 0.158,-0.9 l 1.743,-7.2 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path977"
- d="m 83.94,35.967 h -5.5 v -9.8 h 5.285 v 1.381 h -3.661 v 2.772 h 3.37 v 1.374 h -3.37 v 2.9 h 3.876 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path979"
- d="m 94.307,35.967 h -1.9 l -1.565,-2.625 a 5.813,5.813 0 0 0 -0.414,-0.619 2.488,2.488 0 0 0 -0.41,-0.42 1.349,1.349 0 0 0 -0.454,-0.239 1.9,1.9 0 0 0 -0.554,-0.076 h -0.656 v 3.979 h -1.622 v -9.8 h 3.227 a 4.678,4.678 0 0 1 1.271,0.164 2.962,2.962 0 0 1 1.012,0.5 2.3,2.3 0 0 1 0.673,0.826 2.608,2.608 0 0 1 0.243,1.16 2.883,2.883 0 0 1 -0.153,0.954 2.492,2.492 0 0 1 -0.438,0.771 2.661,2.661 0 0 1 -0.683,0.578 3.4,3.4 0 0 1 -0.9,0.369 v 0.028 a 2.489,2.489 0 0 1 0.465,0.332 c 0.132,0.12 0.258,0.244 0.376,0.372 a 4.53,4.53 0 0 1 0.352,0.434 c 0.117,0.162 0.245,0.35 0.387,0.564 z m -5.954,-8.484 v 3.186 h 1.353 a 2,2 0 0 0 0.693,-0.116 1.587,1.587 0 0 0 0.551,-0.335 1.52,1.52 0 0 0 0.363,-0.533 1.843,1.843 0 0 0 0.129,-0.7 A 1.4,1.4 0 0 0 91,27.88 1.856,1.856 0 0 0 89.722,27.48 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path981"
- d="m 102,35.967 h -5.5 v -9.8 h 5.284 v 1.381 h -3.659 v 2.772 h 3.37 v 1.374 h -3.37 v 2.9 H 102 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path983"
- d="m 104.794,35.967 v -9.8 h 2.83 q 5.421,0 5.421,4.778 a 4.711,4.711 0 0 1 -1.5,3.648 5.741,5.741 0 0 1 -4.033,1.377 z m 1.62,-8.422 v 7.048 h 1.3 a 3.636,3.636 0 0 0 2.67,-0.944 3.583,3.583 0 0 0 0.953,-2.666 q 0,-3.438 -3.562,-3.438 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path985"
- d="m 120.785,35.967 v -9.8 h 3.115 a 3.665,3.665 0 0 1 2.251,0.622 1.932,1.932 0 0 1 0.832,1.62 2.32,2.32 0 0 1 -0.472,1.45 2.548,2.548 0 0 1 -1.306,0.875 v 0.027 a 2.552,2.552 0 0 1 1.616,0.748 2.275,2.275 0 0 1 0.606,1.644 2.47,2.47 0 0 1 -0.991,2.038 3.93,3.93 0 0 1 -2.5,0.779 z m 1.62,-8.5 v 2.789 h 1.053 a 2.028,2.028 0 0 0 1.33,-0.4 1.392,1.392 0 0 0 0.482,-1.131 q 0,-1.259 -1.682,-1.258 z m 0,4.1 v 3.1 h 1.388 a 2.119,2.119 0 0 0 1.4,-0.42 1.441,1.441 0 0 0 0.5,-1.159 q 0,-1.525 -2.112,-1.524 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path987"
- d="m 136.717,26.164 -3.217,6.241 v 3.562 h -1.627 V 32.44 l -3.131,-6.276 h 1.858 l 1.927,4.2 q 0.034,0.075 0.2,0.568 h 0.021 a 3.839,3.839 0 0 1 0.226,-0.568 l 2.016,-4.2 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path989"
- d="m 150.752,35.557 a 5.938,5.938 0 0 1 -2.755,0.574 4.5,4.5 0 0 1 -3.418,-1.347 4.909,4.909 0 0 1 -1.285,-3.534 5.15,5.15 0 0 1 1.445,-3.8 4.951,4.951 0 0 1 3.655,-1.45 6,6 0 0 1 2.358,0.4 v 1.614 a 4.208,4.208 0 0 0 -2.187,-0.588 3.442,3.442 0 0 0 -2.582,1.018 3.744,3.744 0 0 0 -0.983,2.724 3.567,3.567 0 0 0 0.923,2.58 3.209,3.209 0 0 0 2.427,0.961 4.348,4.348 0 0 0 2.406,-0.656 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path991"
- d="m 155.329,35.967 h -1.675 v -9.8 h 1.675 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path993"
- d="m 158.793,35.967 v -9.8 h 3.11 a 3.667,3.667 0 0 1 2.252,0.622 1.931,1.931 0 0 1 0.831,1.62 2.32,2.32 0 0 1 -0.471,1.45 2.548,2.548 0 0 1 -1.306,0.875 v 0.027 a 2.552,2.552 0 0 1 1.616,0.748 2.279,2.279 0 0 1 0.606,1.644 2.47,2.47 0 0 1 -0.991,2.038 3.932,3.932 0 0 1 -2.5,0.779 z m 1.62,-8.5 v 2.789 h 1.053 a 2.028,2.028 0 0 0 1.33,-0.4 1.392,1.392 0 0 0 0.481,-1.131 q 0,-1.259 -1.681,-1.258 z m 0,4.1 v 3.1 h 1.387 a 2.119,2.119 0 0 0 1.405,-0.42 1.441,1.441 0 0 0 0.5,-1.159 q 0,-1.525 -2.112,-1.524 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /></g><rect
- id="rect997"
- height="37"
- width="37"
- class="cls-1"
- x="0"
- y="0"
- style="fill:#961e29" /><g
- id="g1001"><path
- d="m 23.59,4.5 a 0.7,0.7 0 0 0 -0.643,0.409 0.68,0.68 0 0 0 0.149,0.74 l 5.814,5.833 a 0.7,0.7 0 0 0 0.74,0.151 0.688,0.688 0 0 0 0.425,-0.617 V 5.172 A 0.7,0.7 0 0 0 29.393,4.5 Z"
- class="cls-2"
- id="path6084"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /><path
- d="M 7.6,4.5 A 0.689,0.689 0 0 0 6.921,5.19 V 31.81 A 0.688,0.688 0 0 0 7.6,32.5 l 15.3,-0.008 c 2.249,0.008 7.18,-4.832 7.18,-7.278 V 14.668 a 0.691,0.691 0 0 0 -0.2,-0.49 L 20.452,4.711 A 0.689,0.689 0 0 0 19.963,4.5 Z m 0.689,1.379 h 11.385 l 9.026,9.067 c 0,0 0,9.218 0,9.809 0,1.835 -4.229,6.366 -6.45,6.366 H 8.293 Z"
- class="cls-2"
- id="path6088"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /></g></g></svg> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.2" width="46.5mm" height="10.3mm" viewBox="0 0 4650 1030" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" xmlns:ooo="http://xml.openoffice.org/svg/export" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:presentation="http://sun.com/xmlns/staroffice/presentation" xmlns:smil="http://www.w3.org/2001/SMIL20/" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xml:space="preserve">
+ <defs class="ClipPathGroup">
+ <clipPath id="presentation_clip_path" clipPathUnits="userSpaceOnUse">
+ <rect x="0" y="0" width="4650" height="1030"/>
+ </clipPath>
+ <clipPath id="presentation_clip_path_shrink" clipPathUnits="userSpaceOnUse">
+ <rect x="4" y="1" width="4641" height="1028"/>
+ </clipPath>
+ </defs>
+ <defs class="TextShapeIndex">
+ <g ooo:slide="id1" ooo:id-list="id3"/>
+ </defs>
+ <defs class="EmbeddedBulletChars">
+ <g id="bullet-char-template-57356" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 580,1141 L 1163,571 580,0 -4,571 580,1141 Z"/>
+ </g>
+ <g id="bullet-char-template-57354" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 8,1128 L 1137,1128 1137,0 8,0 8,1128 Z"/>
+ </g>
+ <g id="bullet-char-template-10146" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 174,0 L 602,739 174,1481 1456,739 174,0 Z M 1358,739 L 309,1346 659,739 1358,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10132" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 2015,739 L 1276,0 717,0 1260,543 174,543 174,936 1260,936 717,1481 1274,1481 2015,739 Z"/>
+ </g>
+ <g id="bullet-char-template-10007" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 0,-2 C -7,14 -16,27 -25,37 L 356,567 C 262,823 215,952 215,954 215,979 228,992 255,992 264,992 276,990 289,987 310,991 331,999 354,1012 L 381,999 492,748 772,1049 836,1024 860,1049 C 881,1039 901,1025 922,1006 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 C 774,196 753,168 711,139 L 727,119 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 C 142,-110 111,-127 72,-127 30,-127 9,-110 8,-76 1,-67 -2,-52 -2,-32 -2,-23 -1,-13 0,-2 Z"/>
+ </g>
+ <g id="bullet-char-template-10004" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 41,549 55,616 82,672 116,743 169,778 240,778 293,778 328,747 346,684 L 369,508 C 377,444 397,411 428,410 L 1163,1116 C 1174,1127 1196,1133 1229,1133 1271,1133 1292,1118 1292,1087 L 1292,965 C 1292,929 1282,901 1262,881 L 442,47 C 390,-6 338,-33 285,-33 Z"/>
+ </g>
+ <g id="bullet-char-template-9679" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 223,773 276,916 383,1023 489,1130 632,1184 813,1184 992,1184 1136,1130 1245,1023 1353,916 1407,772 1407,592 1407,412 1353,268 1245,161 1136,54 992,0 813,0 Z"/>
+ </g>
+ <g id="bullet-char-template-8226" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 346,457 C 273,457 209,483 155,535 101,586 74,649 74,723 74,796 101,859 155,911 209,963 273,989 346,989 419,989 480,963 531,910 582,859 608,796 608,723 608,648 583,586 532,535 482,483 420,457 346,457 Z"/>
+ </g>
+ <g id="bullet-char-template-8211" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M -4,459 L 1135,459 1135,606 -4,606 -4,459 Z"/>
+ </g>
+ <g id="bullet-char-template-61548" transform="scale(0.00048828125,-0.00048828125)">
+ <path d="M 173,740 C 173,903 231,1043 346,1159 462,1274 601,1332 765,1332 928,1332 1067,1274 1183,1159 1299,1043 1357,903 1357,740 1357,577 1299,437 1183,322 1067,206 928,148 765,148 601,148 462,206 346,322 231,437 173,577 173,740 Z"/>
+ </g>
+ </defs>
+ <g>
+ <g id="id2" class="Master_Slide">
+ <g id="bg-id2" class="Background"/>
+ <g id="bo-id2" class="BackgroundObjects"/>
+ </g>
+ </g>
+ <g class="SlideGroup">
+ <g>
+ <g id="container-id1">
+ <g id="id1" class="Slide" clip-path="url(#presentation_clip_path)">
+ <g class="Page">
+ <defs class="SlideBackground">
+ <g id="bg-id1" class="Background">
+ <path fill="rgb(255,255,255)" stroke="none" d="M 2325,1029 L 0,1029 0,0 4649,0 4649,1029 2325,1029 Z"/>
+ </g>
+ </defs>
+ <g class="Graphic">
+ <g id="id3">
+ <rect class="BoundingBox" stroke="none" fill="none" x="0" y="0" width="4654" height="1032"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 1275,778 C 1236,798 1187,809 1129,809 1053,809 993,785 947,736 902,687 879,624 879,545 879,460 904,391 956,339 1007,287 1071,260 1150,260 1200,260 1242,268 1275,282 L 1275,349 C 1237,328 1195,317 1149,317 1088,317 1039,337 1001,378 963,419 944,473 944,541 944,609 962,657 997,696 1033,734 1079,753 1136,753 1190,753 1236,741 1275,718 L 1275,778 1275,778 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 1464,800 L 1402,800 1402,269 1464,269 1464,800 1464,800 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 1623,800 L 1623,269 1774,269 C 1820,269 1856,280 1883,303 1910,325 1924,355 1924,391 1924,421 1916,447 1899,469 1883,491 1861,507 1832,517 L 1832,518 C 1868,522 1896,536 1918,559 1939,581 1950,611 1950,648 1950,693 1934,730 1901,758 1869,786 1827,800 1778,800 L 1623,800 1623,800 Z M 1685,325 L 1685,497 1749,497 C 1783,497 1810,489 1829,472 1849,456 1859,432 1859,403 1859,351 1825,325 1757,325 L 1685,325 1685,325 Z M 1685,553 L 1685,744 1770,744 C 1806,744 1834,735 1854,718 1875,701 1885,677 1885,647 1885,584 1842,553 1757,553 L 1685,553 1685,553 Z"/>
+ <path fill="rgb(225,30,25)" stroke="none" d="M 586,488 C 578,480 564,480 556,488 L 333,710 240,617 189,668 333,812 622,524 586,488 586,488 Z"/>
+ <path fill="rgb(225,30,25)" stroke="none" d="M 368,813 L 406,813 C 477,813 534,756 534,685 L 534,673 476,724 C 466,741 449,755 430,761 L 368,813 Z"/>
+ <path fill="rgb(225,30,25)" stroke="none" d="M 143,765 L 143,284 486,284 486,493 534,451 534,236 95,236 95,813 268,813 227,765 143,765 143,765 Z"/>
+ <path fill="rgb(225,30,25)" stroke="none" d="M 310,385 L 386,385 C 402,385 414,372 414,357 L 414,353 C 414,338 402,326 386,326 L 233,326 C 218,326 205,338 205,353 L 205,357 C 205,372 218,385 233,385 L 310,385 Z"/>
+ <path fill="rgb(225,30,25)" stroke="none" d="M 313,522 L 390,522 C 405,522 417,510 417,496 L 417,492 C 417,478 405,466 390,466 L 235,466 C 220,466 208,478 208,492 L 208,496 C 208,510 220,522 235,522 L 313,522 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 2464,811 C 2389,811 2328,786 2283,736 2238,687 2215,622 2215,543 2215,457 2238,389 2284,338 2331,288 2393,262 2473,262 2546,262 2605,287 2650,336 2695,386 2717,450 2717,530 2717,616 2694,685 2649,735 2603,785 2541,811 2464,811 L 2464,811 Z M 2468,318 C 2413,318 2367,338 2332,379 2298,419 2280,472 2280,537 2280,602 2297,655 2331,695 2365,735 2409,754 2464,754 2522,754 2568,735 2602,697 2635,659 2652,606 2652,538 2652,470 2636,414 2603,375 2571,337 2526,318 2468,318 L 2468,318 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 2979,284 C 2937,284 2915,311 2915,364 L 2915,423 3004,423 3004,475 2915,475 2915,802 2855,802 2855,475 2790,475 2790,423 2855,423 2855,361 C 2855,322 2867,290 2890,267 2913,244 2941,233 2976,233 2994,233 3009,235 3020,239 L 3020,294 C 3008,287 2994,284 2979,284 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 3236,284 C 3193,284 3172,311 3172,364 L 3172,423 3261,423 3261,475 3172,475 3172,802 3112,802 3112,475 3047,475 3047,423 3112,423 3112,361 C 3112,322 3123,290 3146,267 3169,244 3198,233 3232,233 3251,233 3265,235 3276,239 L 3276,294 C 3264,287 3251,284 3236,284 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 3376,326 C 3365,326 3356,323 3349,315 3341,308 3337,299 3337,287 3337,276 3341,266 3349,259 3356,251 3365,248 3376,248 3387,248 3397,251 3405,259 3412,266 3416,276 3416,287 3416,299 3412,307 3405,315 3397,323 3387,326 3376,326 L 3376,326 Z M 3406,802 L 3345,802 3345,423 3406,423 3406,802 3406,802 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 3806,784 C 3777,802 3742,811 3703,811 3649,811 3605,793 3572,758 3538,722 3522,677 3522,621 3522,559 3540,508 3576,471 3611,433 3659,414 3719,414 3752,414 3782,420 3807,432 L 3807,494 C 3779,475 3749,465 3717,465 3678,465 3646,479 3621,507 3596,534 3584,571 3584,616 3584,661 3595,696 3619,721 3642,747 3673,760 3713,760 3746,760 3777,749 3806,727 L 3806,784 3806,784 Z"/>
+ <path fill="rgb(33,41,52)" stroke="none" d="M 4222,627 L 3954,627 C 3955,670 3967,702 3988,725 4010,748 4040,760 4078,760 4121,760 4160,745 4196,717 L 4196,774 C 4162,799 4118,811 4063,811 4009,811 3968,793 3937,759 3907,725 3891,676 3891,614 3891,555 3908,507 3941,470 3975,432 4016,414 4066,414 4116,414 4154,430 4181,462 4208,494 4222,538 4222,595 L 4222,627 4222,627 Z M 4160,576 C 4160,541 4151,513 4134,494 4118,475 4095,465 4065,465 4035,465 4012,475 3992,495 3972,516 3960,543 3955,576 L 4160,576 4160,576 Z"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg> \ No newline at end of file
diff --git a/brand/cib/intro-highres.png b/brand/cib/intro-highres.png
index 04471d8170a9..6ca5d13994b0 100644
--- a/brand/cib/intro-highres.png
+++ b/brand/cib/intro-highres.png
Binary files differ
diff --git a/brand/cib/intro-highres.svg b/brand/cib/intro-highres.svg
index 67e0159ce769..df139dbe0a69 100644
--- a/brand/cib/intro-highres.svg
+++ b/brand/cib/intro-highres.svg
@@ -2,30 +2,30 @@
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 773 394"
xml:space="preserve"
id="svg3336"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+ inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="intro-highres.svg"
width="773"
height="394"
inkscape:export-filename="C:\cygwin\home\Marina\lode\dev\FLOSS-194\brand\cib\intro.png"
inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"><metadata
+ inkscape:export-ydpi="96"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata3474"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs3472"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4978"><rect
@@ -52,7 +52,14 @@
.cls-2 {
fill: #fff;
}
- </style></defs><sodipodi:namedview
+ </style><clipPath
+ id="b"><rect
+ x="0.13"
+ y="-0.15000001"
+ width="174"
+ height="38"
+ style="fill:none"
+ id="rect2" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
@@ -62,21 +69,23 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
- inkscape:window-height="1000"
+ inkscape:window-height="1011"
id="namedview3470"
showgrid="false"
- inkscape:zoom="1"
- inkscape:cx="264.75405"
- inkscape:cy="108.40609"
- inkscape:window-x="-11"
- inkscape:window-y="-11"
+ inkscape:zoom="0.94451843"
+ inkscape:cx="92.639801"
+ inkscape:cy="265.74389"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg3336"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
- inkscape:showpageshadow="false" />
+ inkscape:showpageshadow="false"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1" />
<style
type="text/css"
id="style3338">
@@ -98,14 +107,14 @@
id="alte_version"
class="st0"
style="display:none"
- transform="translate(-52.877201,210.05895)">
+ transform="translate(-52.890201,77.058947)">
<g
class="st1"
id="g3341"
style="display:inline">
<polygon
class="st2"
- points="262,-250 262,-64 0,-64 0,-249.9 "
+ points="0,-64 0,-249.9 262,-250 262,-64 "
id="polygon3343"
style="fill:#5fa243" />
</g>
@@ -281,153 +290,78 @@
</g>
-<g
- data-name="doXigate Arbeitsunterlagen"
- id="doXigate_Arbeitsunterlagen"
- transform="matrix(2.7510816,0,0,2.7510816,158.94022,146.10499)"><g
- id="g995"><path
- id="path949"
- d="M 53.008,20.047 H 43 V 3.242 h 3.785 v 13.735 h 6.223 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path951"
- d="m 56.781,6.148 a 2.163,2.163 0 0 1 -1.535,-0.556 1.8,1.8 0 0 1 -0.6,-1.365 1.733,1.733 0 0 1 0.6,-1.36 2.508,2.508 0 0 1 3.076,0 1.737,1.737 0 0 1 0.592,1.36 1.783,1.783 0 0 1 -0.592,1.382 2.2,2.2 0 0 1 -1.541,0.539 z m 1.828,13.9 h -3.7 v -12 h 3.7 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path953"
- d="M 65.477,18.652 H 65.43 v 1.395 h -3.7 V 2.281 h 3.7 v 7.571 h 0.047 a 4.392,4.392 0 0 1 3.9,-2.1 4.28,4.28 0 0 1 3.574,1.594 6.87,6.87 0 0 1 1.254,4.359 7.437,7.437 0 0 1 -1.465,4.816 4.771,4.771 0 0 1 -3.914,1.817 3.78,3.78 0 0 1 -3.349,-1.686 z M 65.371,13.59 v 1.23 a 2.81,2.81 0 0 0 0.668,1.922 2.173,2.173 0 0 0 1.711,0.762 2.269,2.269 0 0 0 1.963,-0.979 4.722,4.722 0 0 0 0.7,-2.771 3.763,3.763 0 0 0 -0.638,-2.326 2.156,2.156 0 0 0 -1.823,-0.838 2.352,2.352 0 0 0 -1.845,0.832 3.157,3.157 0 0 0 -0.736,2.168 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path955"
- d="m 84.438,11.387 a 3.217,3.217 0 0 0 -1.559,-0.364 2.245,2.245 0 0 0 -1.887,0.885 3.861,3.861 0 0 0 -0.679,2.408 v 5.731 h -3.7 v -12 h 3.7 v 2.226 h 0.046 a 3.2,3.2 0 0 1 3.164,-2.437 2.384,2.384 0 0 1 0.915,0.141 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path957"
- d="M 96.848,15.1 H 89.02 q 0.188,2.613 3.293,2.613 a 6.428,6.428 0 0 0 3.48,-0.938 v 2.672 a 9.139,9.139 0 0 1 -4.324,0.891 6.087,6.087 0 0 1 -4.512,-1.611 6.092,6.092 0 0 1 -1.6,-4.495 6.422,6.422 0 0 1 1.729,-4.732 5.778,5.778 0 0 1 4.266,-1.746 5.24,5.24 0 0 1 4.06,1.559 6,6 0 0 1 1.436,4.23 z m -3.434,-2.274 q 0,-2.578 -2.086,-2.578 A 1.992,1.992 0 0 0 89.787,10.986 3.361,3.361 0 0 0 89,12.828 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path959"
- d="m 106.516,20.34 a 7.819,7.819 0 0 1 -5.883,-2.35 8.433,8.433 0 0 1 -2.274,-6.123 9.04,9.04 0 0 1 2.309,-6.445 7.991,7.991 0 0 1 6.117,-2.461 7.63,7.63 0 0 1 5.815,2.355 8.688,8.688 0 0 1 2.22,6.211 8.894,8.894 0 0 1 -2.3,6.387 7.907,7.907 0 0 1 -6.004,2.426 z M 106.68,6.219 a 3.81,3.81 0 0 0 -3.164,1.494 6.224,6.224 0 0 0 -1.172,3.955 6.111,6.111 0 0 0 1.172,3.949 4.044,4.044 0 0 0 6.175,0.041 6.045,6.045 0 0 0 1.149,-3.92 6.555,6.555 0 0 0 -1.113,-4.066 3.63,3.63 0 0 0 -3.047,-1.453 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path961"
- d="m 125.078,5.117 a 3.746,3.746 0 0 0 -1.371,-0.281 q -1.78,0 -1.781,1.934 v 1.277 h 2.742 v 2.73 h -2.742 v 9.27 h -3.692 v -9.27 h -2.015 v -2.73 h 2.015 V 6.559 a 4.322,4.322 0 0 1 1.336,-3.3 5.1,5.1 0 0 1 3.63,-1.259 6.389,6.389 0 0 1 1.875,0.234 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path963"
- d="m 134.277,5.117 a 3.746,3.746 0 0 0 -1.371,-0.281 q -1.781,0 -1.781,1.934 v 1.277 h 2.742 v 2.73 h -2.742 v 9.27 h -3.691 v -9.27 h -2.016 v -2.73 h 2.016 V 6.559 a 4.319,4.319 0 0 1 1.336,-3.3 5.092,5.092 0 0 1 3.63,-1.259 6.389,6.389 0 0 1 1.875,0.234 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path965"
- d="m 137.523,6.148 a 2.163,2.163 0 0 1 -1.535,-0.556 1.794,1.794 0 0 1 -0.6,-1.365 1.732,1.732 0 0 1 0.6,-1.36 2.509,2.509 0 0 1 3.077,0 1.74,1.74 0 0 1 0.591,1.36 1.786,1.786 0 0 1 -0.591,1.382 2.2,2.2 0 0 1 -1.542,0.539 z m 1.829,13.9 h -3.7 v -12 h 3.7 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path967"
- d="m 151.563,19.613 a 7.316,7.316 0 0 1 -3.622,0.727 6.124,6.124 0 0 1 -4.476,-1.676 5.785,5.785 0 0 1 -1.711,-4.324 6.373,6.373 0 0 1 1.834,-4.822 6.775,6.775 0 0 1 4.9,-1.764 6.3,6.3 0 0 1 3.071,0.562 v 3.141 a 4.224,4.224 0 0 0 -2.59,-0.867 3.41,3.41 0 0 0 -2.526,0.932 3.475,3.475 0 0 0 -0.931,2.572 3.424,3.424 0 0 0 0.89,2.5 3.275,3.275 0 0 0 2.449,0.908 4.891,4.891 0 0 0 2.708,-0.867 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path969"
- d="m 164.77,15.1 h -7.829 q 0.188,2.613 3.293,2.613 a 6.429,6.429 0 0 0 3.481,-0.938 v 2.672 a 9.142,9.142 0 0 1 -4.324,0.891 6.087,6.087 0 0 1 -4.512,-1.611 6.092,6.092 0 0 1 -1.606,-4.495 6.422,6.422 0 0 1 1.735,-4.732 5.777,5.777 0 0 1 4.265,-1.746 5.242,5.242 0 0 1 4.061,1.559 6,6 0 0 1 1.436,4.23 z m -3.434,-2.274 q 0,-2.578 -2.086,-2.578 a 1.992,1.992 0 0 0 -1.541,0.738 3.354,3.354 0 0 0 -0.791,1.84 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path971"
- d="m 44.62,32.412 v 3.555 H 43 v -9.8 h 2.974 a 3.938,3.938 0 0 1 2.618,0.786 2.743,2.743 0 0 1 0.93,2.215 3.061,3.061 0 0 1 -0.971,2.338 3.689,3.689 0 0 1 -2.625,0.909 z m 0,-4.908 v 3.582 h 1.053 a 2.333,2.333 0 0 0 1.593,-0.485 1.737,1.737 0 0 0 0.547,-1.368 q 0,-1.73 -2.01,-1.729 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path973"
- d="M 56.272,36.131 A 4.41,4.41 0 0 1 52.878,34.757 5.046,5.046 0 0 1 51.6,31.182 5.348,5.348 0 0 1 52.9,27.408 4.568,4.568 0 0 1 56.43,26 a 4.31,4.31 0 0 1 3.325,1.367 5.06,5.06 0 0 1 1.262,3.575 5.364,5.364 0 0 1 -1.292,3.794 4.481,4.481 0 0 1 -3.453,1.395 z m 0.076,-8.7 a 2.727,2.727 0 0 0 -2.191,1.005 3.973,3.973 0 0 0 -0.844,2.645 4.013,4.013 0 0 0 0.82,2.632 2.647,2.647 0 0 0 2.146,1 2.77,2.77 0 0 0 2.222,-0.95 3.967,3.967 0 0 0 0.814,-2.659 4.146,4.146 0 0 0 -0.791,-2.714 2.667,2.667 0 0 0 -2.176,-0.961 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path975"
- d="m 76.025,26.164 -2.686,9.8 H 71.5 L 69.634,29.11 A 4.77,4.77 0 0 1 69.49,28.153 h -0.027 a 4.639,4.639 0 0 1 -0.164,0.944 l -1.873,6.87 h -1.88 l -2.741,-9.8 h 1.784 l 1.777,7.178 a 5.2,5.2 0 0 1 0.137,0.943 h 0.034 a 5.373,5.373 0 0 1 0.192,-0.943 l 2.009,-7.178 h 1.675 l 1.859,7.233 a 5.635,5.635 0 0 1 0.144,0.875 h 0.027 a 5.445,5.445 0 0 1 0.158,-0.9 l 1.743,-7.2 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path977"
- d="m 83.94,35.967 h -5.5 v -9.8 h 5.285 v 1.381 h -3.661 v 2.772 h 3.37 v 1.374 h -3.37 v 2.9 h 3.876 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path979"
- d="m 94.307,35.967 h -1.9 l -1.565,-2.625 a 5.813,5.813 0 0 0 -0.414,-0.619 2.488,2.488 0 0 0 -0.41,-0.42 1.349,1.349 0 0 0 -0.454,-0.239 1.9,1.9 0 0 0 -0.554,-0.076 h -0.656 v 3.979 h -1.622 v -9.8 h 3.227 a 4.678,4.678 0 0 1 1.271,0.164 2.962,2.962 0 0 1 1.012,0.5 2.3,2.3 0 0 1 0.673,0.826 2.608,2.608 0 0 1 0.243,1.16 2.883,2.883 0 0 1 -0.153,0.954 2.492,2.492 0 0 1 -0.438,0.771 2.661,2.661 0 0 1 -0.683,0.578 3.4,3.4 0 0 1 -0.9,0.369 v 0.028 a 2.489,2.489 0 0 1 0.465,0.332 c 0.132,0.12 0.258,0.244 0.376,0.372 a 4.53,4.53 0 0 1 0.352,0.434 c 0.117,0.162 0.245,0.35 0.387,0.564 z m -5.954,-8.484 v 3.186 h 1.353 a 2,2 0 0 0 0.693,-0.116 1.587,1.587 0 0 0 0.551,-0.335 1.52,1.52 0 0 0 0.363,-0.533 1.843,1.843 0 0 0 0.129,-0.7 A 1.4,1.4 0 0 0 91,27.88 1.856,1.856 0 0 0 89.722,27.48 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path981"
- d="m 102,35.967 h -5.5 v -9.8 h 5.284 v 1.381 h -3.659 v 2.772 h 3.37 v 1.374 h -3.37 v 2.9 H 102 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path983"
- d="m 104.794,35.967 v -9.8 h 2.83 q 5.421,0 5.421,4.778 a 4.711,4.711 0 0 1 -1.5,3.648 5.741,5.741 0 0 1 -4.033,1.377 z m 1.62,-8.422 v 7.048 h 1.3 a 3.636,3.636 0 0 0 2.67,-0.944 3.583,3.583 0 0 0 0.953,-2.666 q 0,-3.438 -3.562,-3.438 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path985"
- d="m 120.785,35.967 v -9.8 h 3.115 a 3.665,3.665 0 0 1 2.251,0.622 1.932,1.932 0 0 1 0.832,1.62 2.32,2.32 0 0 1 -0.472,1.45 2.548,2.548 0 0 1 -1.306,0.875 v 0.027 a 2.552,2.552 0 0 1 1.616,0.748 2.275,2.275 0 0 1 0.606,1.644 2.47,2.47 0 0 1 -0.991,2.038 3.93,3.93 0 0 1 -2.5,0.779 z m 1.62,-8.5 v 2.789 h 1.053 a 2.028,2.028 0 0 0 1.33,-0.4 1.392,1.392 0 0 0 0.482,-1.131 q 0,-1.259 -1.682,-1.258 z m 0,4.1 v 3.1 h 1.388 a 2.119,2.119 0 0 0 1.4,-0.42 1.441,1.441 0 0 0 0.5,-1.159 q 0,-1.525 -2.112,-1.524 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path987"
- d="m 136.717,26.164 -3.217,6.241 v 3.562 h -1.627 V 32.44 l -3.131,-6.276 h 1.858 l 1.927,4.2 q 0.034,0.075 0.2,0.568 h 0.021 a 3.839,3.839 0 0 1 0.226,-0.568 l 2.016,-4.2 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path989"
- d="m 150.752,35.557 a 5.938,5.938 0 0 1 -2.755,0.574 4.5,4.5 0 0 1 -3.418,-1.347 4.909,4.909 0 0 1 -1.285,-3.534 5.15,5.15 0 0 1 1.445,-3.8 4.951,4.951 0 0 1 3.655,-1.45 6,6 0 0 1 2.358,0.4 v 1.614 a 4.208,4.208 0 0 0 -2.187,-0.588 3.442,3.442 0 0 0 -2.582,1.018 3.744,3.744 0 0 0 -0.983,2.724 3.567,3.567 0 0 0 0.923,2.58 3.209,3.209 0 0 0 2.427,0.961 4.348,4.348 0 0 0 2.406,-0.656 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path991"
- d="m 155.329,35.967 h -1.675 v -9.8 h 1.675 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path993"
- d="m 158.793,35.967 v -9.8 h 3.11 a 3.667,3.667 0 0 1 2.252,0.622 1.931,1.931 0 0 1 0.831,1.62 2.32,2.32 0 0 1 -0.471,1.45 2.548,2.548 0 0 1 -1.306,0.875 v 0.027 a 2.552,2.552 0 0 1 1.616,0.748 2.279,2.279 0 0 1 0.606,1.644 2.47,2.47 0 0 1 -0.991,2.038 3.932,3.932 0 0 1 -2.5,0.779 z m 1.62,-8.5 v 2.789 h 1.053 a 2.028,2.028 0 0 0 1.33,-0.4 1.392,1.392 0 0 0 0.481,-1.131 q 0,-1.259 -1.681,-1.258 z m 0,4.1 v 3.1 h 1.387 a 2.119,2.119 0 0 0 1.405,-0.42 1.441,1.441 0 0 0 0.5,-1.159 q 0,-1.525 -2.112,-1.524 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /></g><rect
- id="rect997"
- height="37"
- width="37"
- class="cls-1"
- x="0"
- y="0"
- style="fill:#961e29" /><g
- id="g1001"><path
- d="m 23.59,4.5 a 0.7,0.7 0 0 0 -0.643,0.409 0.68,0.68 0 0 0 0.149,0.74 l 5.814,5.833 a 0.7,0.7 0 0 0 0.74,0.151 0.688,0.688 0 0 0 0.425,-0.617 V 5.172 A 0.7,0.7 0 0 0 29.393,4.5 Z"
- class="cls-2"
- id="path6084"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /><path
- d="M 7.6,4.5 A 0.689,0.689 0 0 0 6.921,5.19 V 31.81 A 0.688,0.688 0 0 0 7.6,32.5 l 15.3,-0.008 c 2.249,0.008 7.18,-4.832 7.18,-7.278 V 14.668 a 0.691,0.691 0 0 0 -0.2,-0.49 L 20.452,4.711 A 0.689,0.689 0 0 0 19.963,4.5 Z m 0.689,1.379 h 11.385 l 9.026,9.067 c 0,0 0,9.218 0,9.809 0,1.835 -4.229,6.366 -6.45,6.366 H 8.293 Z"
- class="cls-2"
- id="path6088"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /></g></g><rect
- style="fill:#961e29;fill-opacity:1;stroke:none;stroke-width:1.03947806;stroke-opacity:1"
+<rect
+ style="fill:#e11e19;fill-opacity:1;stroke:none;stroke-width:1.10605;stroke-opacity:1"
id="rect880"
width="773"
- height="60"
- x="0.013000467"
+ height="67.931038"
+ x="0"
y="0" /><rect
- style="fill:#961e29;fill-opacity:1;stroke:none;stroke-width:1.03947806;stroke-opacity:1"
+ style="fill:#e11e19;fill-opacity:1;stroke:none;stroke-width:1.10605;stroke-opacity:1"
id="rect880-0"
width="773"
- height="60"
- x="0.013000488"
- y="334" /></svg> \ No newline at end of file
+ height="67.931038"
+ x="3.259629e-08"
+ y="326.06897" /><g
+ clip-path="url(#b)"
+ id="g43"
+ transform="matrix(3.8917487,0,0,3.8834687,68.064995,121.97128)"
+ inkscape:export-filename="intro-highres.png"
+ inkscape:export-xdpi="144.92"
+ inkscape:export-ydpi="144.92"><g
+ id="g41"><g
+ id="g13"><path
+ d="m 47.7,28.92 c -1.48,0.78 -3.33,1.18 -5.54,1.18 -2.86,0 -5.14,-0.92 -6.86,-2.76 -1.72,-1.84 -2.58,-4.25 -2.58,-7.24 0,-3.21 0.97,-5.8 2.9,-7.78 1.93,-1.98 4.38,-2.97 7.35,-2.97 1.9,0 3.48,0.28 4.73,0.83 v 2.51 c -1.44,-0.8 -3.02,-1.2 -4.76,-1.2 -2.3,0 -4.17,0.77 -5.61,2.31 -1.44,1.54 -2.15,3.6 -2.15,6.17 0,2.57 0.67,4.39 2.01,5.84 1.34,1.45 3.1,2.18 5.27,2.18 2.02,0 3.76,-0.45 5.24,-1.34 v 2.28 z"
+ style="fill:#212934"
+ id="path7" /><path
+ d="M 54.86,29.76 H 52.51 V 9.69 h 2.35 z"
+ style="fill:#212934"
+ id="path9" /><path
+ d="M 60.85,29.76 V 9.69 h 5.71 c 1.74,0 3.11,0.42 4.13,1.27 1.02,0.85 1.53,1.96 1.53,3.32 0,1.14 -0.31,2.13 -0.92,2.97 -0.62,0.84 -1.46,1.44 -2.55,1.79 v 0.06 c 1.35,0.16 2.44,0.67 3.25,1.53 0.81,0.86 1.22,1.99 1.22,3.37 0,1.72 -0.62,3.11 -1.85,4.17 -1.23,1.06 -2.79,1.6 -4.66,1.6 H 60.86 Z M 63.2,11.81 v 6.48 h 2.41 c 1.29,0 2.3,-0.31 3.04,-0.93 0.74,-0.62 1.11,-1.5 1.11,-2.62 0,-1.95 -1.28,-2.93 -3.85,-2.93 h -2.7 z m 0,8.6 v 7.22 h 3.19 c 1.38,0 2.45,-0.33 3.21,-0.98 0.76,-0.65 1.14,-1.55 1.14,-2.69 0,-2.37 -1.61,-3.56 -4.84,-3.56 h -2.7 z"
+ style="fill:#212934"
+ id="path11" /></g><g
+ id="g25"><path
+ d="m 21.65,17.96 c -0.31,-0.32 -0.83,-0.32 -1.14,0 L 12.1,26.37 8.57,22.85 6.65,24.77 12.1,30.22 23.01,19.31 21.66,17.95 Z"
+ style="fill:#e11e19"
+ id="path15" /><path
+ d="m 15.74,28.28 -2.33,1.97 h 1.45 c 2.67,0 4.84,-2.17 4.84,-4.84 v -0.44 l -2.22,1.9 c -0.37,0.67 -0.99,1.18 -1.74,1.41 z"
+ style="fill:#e11e19"
+ id="path17" /><polygon
+ points="19.69,8.41 3.08,8.41 3.08,30.26 9.62,30.26 8.07,28.42 4.92,28.42 4.92,10.25 17.86,10.25 17.86,18.13 19.69,16.56 "
+ style="fill:#e11e19"
+ id="polygon19" /><rect
+ x="7.2600002"
+ y="11.82"
+ width="7.8899999"
+ height="2.24"
+ rx="1.05"
+ ry="1.05"
+ style="fill:#e11e19"
+ id="rect21" /><rect
+ x="7.3699999"
+ y="17.120001"
+ width="7.8899999"
+ height="2.1300001"
+ rx="1"
+ ry="1"
+ style="fill:#e11e19"
+ id="rect23" /></g><g
+ id="g39"><path
+ d="m 92.64,30.16 c -2.85,0 -5.13,-0.94 -6.84,-2.81 -1.71,-1.87 -2.57,-4.32 -2.57,-7.32 0,-3.23 0.87,-5.81 2.62,-7.73 1.75,-1.92 4.12,-2.88 7.13,-2.88 2.77,0 5,0.93 6.7,2.8 1.69,1.87 2.54,4.31 2.54,7.32 0,3.28 -0.87,5.87 -2.6,7.77 -1.74,1.9 -4.06,2.86 -6.97,2.86 z m 0.17,-18.62 c -2.11,0 -3.82,0.76 -5.14,2.28 -1.32,1.52 -1.97,3.52 -1.97,5.99 0,2.47 0.64,4.46 1.92,5.97 1.28,1.51 2.96,2.26 5.02,2.26 2.2,0 3.94,-0.72 5.21,-2.16 1.27,-1.44 1.9,-3.45 1.9,-6.03 0,-2.58 -0.62,-4.7 -1.85,-6.15 -1.23,-1.45 -2.93,-2.17 -5.1,-2.17 z"
+ style="fill:#212934"
+ id="path27" /><path
+ d="m 113.65,10.62 c -0.45,-0.25 -0.96,-0.38 -1.53,-0.38 -1.61,0 -2.41,1.01 -2.41,3.04 v 2.21 h 3.36 v 1.96 h -3.36 v 12.38 h -2.28 V 17.45 h -2.45 v -1.96 h 2.45 v -2.32 c 0,-1.5 0.43,-2.69 1.3,-3.56 0.87,-0.87 1.95,-1.31 3.25,-1.31 0.7,0 1.25,0.08 1.67,0.25 z"
+ style="fill:#212934"
+ id="path29" /><path
+ d="m 123.35,10.62 c -0.45,-0.25 -0.96,-0.38 -1.53,-0.38 -1.61,0 -2.41,1.01 -2.41,3.04 v 2.21 h 3.36 v 1.96 h -3.36 v 12.38 h -2.28 V 17.45 h -2.45 v -1.96 h 2.45 v -2.32 c 0,-1.5 0.43,-2.69 1.3,-3.56 0.87,-0.87 1.95,-1.31 3.25,-1.31 0.7,0 1.25,0.08 1.67,0.25 z"
+ style="fill:#212934"
+ id="path31" /><path
+ d="m 127.13,11.85 c -0.41,0 -0.76,-0.14 -1.05,-0.42 -0.29,-0.28 -0.43,-0.63 -0.43,-1.06 0,-0.43 0.14,-0.79 0.43,-1.07 0.29,-0.29 0.64,-0.43 1.05,-0.43 0.41,0 0.78,0.14 1.07,0.43 0.29,0.28 0.44,0.64 0.44,1.07 0,0.43 -0.15,0.76 -0.44,1.05 -0.29,0.29 -0.65,0.43 -1.07,0.43 z m 1.12,17.98 h -2.3 V 15.49 h 2.3 z"
+ style="fill:#212934"
+ id="path33" /><path
+ d="m 143.38,29.17 c -1.1,0.66 -2.41,0.99 -3.92,0.99 -2.04,0 -3.69,-0.67 -4.95,-2 -1.25,-1.33 -1.88,-3.05 -1.88,-5.17 0,-2.36 0.68,-4.26 2.03,-5.69 1.35,-1.43 3.16,-2.15 5.42,-2.15 1.26,0 2.37,0.23 3.33,0.7 v 2.35 c -1.06,-0.75 -2.2,-1.12 -3.42,-1.12 -1.47,0 -2.67,0.53 -3.61,1.58 -0.94,1.05 -1.41,2.43 -1.41,4.14 0,1.71 0.44,3.01 1.32,3.98 0.88,0.97 2.07,1.46 3.55,1.46 1.25,0 2.43,-0.42 3.53,-1.25 v 2.18 z"
+ style="fill:#212934"
+ id="path35" /><path
+ d="m 159.09,23.23 h -10.12 c 0.04,1.6 0.47,2.83 1.29,3.7 0.82,0.87 1.95,1.3 3.39,1.3 1.62,0 3.1,-0.53 4.45,-1.6 v 2.16 c -1.26,0.92 -2.93,1.37 -5,1.37 -2.07,0 -3.62,-0.65 -4.77,-1.95 -1.15,-1.3 -1.74,-3.13 -1.74,-5.5 0,-2.23 0.63,-4.05 1.9,-5.45 1.26,-1.41 2.83,-2.11 4.71,-2.11 1.88,0 3.33,0.61 4.35,1.82 1.03,1.21 1.54,2.9 1.54,5.05 v 1.2 z m -2.35,-1.95 c 0,-1.33 -0.33,-2.36 -0.96,-3.09 -0.63,-0.73 -1.5,-1.11 -2.62,-1.11 -1.12,0 -2,0.39 -2.76,1.16 -0.76,0.78 -1.22,1.79 -1.4,3.04 z"
+ style="fill:#212934"
+ id="path37" /></g></g></g></svg>
diff --git a/brand/cib/intro.png b/brand/cib/intro.png
index 2300158f88cb..bb3f4705d57d 100644
--- a/brand/cib/intro.png
+++ b/brand/cib/intro.png
Binary files differ
diff --git a/brand/cib/intro.svg b/brand/cib/intro.svg
index 3bf766aff886..f1f389390589 100644
--- a/brand/cib/intro.svg
+++ b/brand/cib/intro.svg
@@ -2,30 +2,30 @@
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 511 261"
xml:space="preserve"
id="svg3336"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+ inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="intro.svg"
width="511"
height="261"
inkscape:export-filename="C:\cygwin\home\Marina\lode\dev\FLOSS-194\brand\cib\intro.png"
inkscape:export-xdpi="96"
- inkscape:export-ydpi="96"><metadata
+ inkscape:export-ydpi="96"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
id="metadata3474"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs3472"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath4978"><rect
@@ -52,7 +52,14 @@
.cls-2 {
fill: #fff;
}
- </style></defs><sodipodi:namedview
+ </style><clipPath
+ id="b"><rect
+ x="0.13"
+ y="-0.15000001"
+ width="174"
+ height="38"
+ style="fill:none"
+ id="rect2" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
@@ -62,21 +69,23 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
- inkscape:window-height="1000"
+ inkscape:window-height="1011"
id="namedview3470"
showgrid="false"
inkscape:zoom="2.02"
- inkscape:cx="264.75405"
- inkscape:cy="108.40609"
- inkscape:window-x="-11"
- inkscape:window-y="-11"
+ inkscape:cx="181.43564"
+ inkscape:cy="108.91089"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg3336"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
- inkscape:showpageshadow="false" />
+ inkscape:showpageshadow="false"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1" />
<style
type="text/css"
id="style3338">
@@ -281,153 +290,75 @@
</g>
-<g
- data-name="doXigate Arbeitsunterlagen"
- id="doXigate_Arbeitsunterlagen"
- transform="matrix(2.1647413,0,0,2.1647413,76.440227,90.452286)"><g
- id="g995"><path
- id="path949"
- d="M 53.008,20.047 H 43 V 3.242 h 3.785 v 13.735 h 6.223 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path951"
- d="m 56.781,6.148 a 2.163,2.163 0 0 1 -1.535,-0.556 1.8,1.8 0 0 1 -0.6,-1.365 1.733,1.733 0 0 1 0.6,-1.36 2.508,2.508 0 0 1 3.076,0 1.737,1.737 0 0 1 0.592,1.36 1.783,1.783 0 0 1 -0.592,1.382 2.2,2.2 0 0 1 -1.541,0.539 z m 1.828,13.9 h -3.7 v -12 h 3.7 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path953"
- d="M 65.477,18.652 H 65.43 v 1.395 h -3.7 V 2.281 h 3.7 v 7.571 h 0.047 a 4.392,4.392 0 0 1 3.9,-2.1 4.28,4.28 0 0 1 3.574,1.594 6.87,6.87 0 0 1 1.254,4.359 7.437,7.437 0 0 1 -1.465,4.816 4.771,4.771 0 0 1 -3.914,1.817 3.78,3.78 0 0 1 -3.349,-1.686 z M 65.371,13.59 v 1.23 a 2.81,2.81 0 0 0 0.668,1.922 2.173,2.173 0 0 0 1.711,0.762 2.269,2.269 0 0 0 1.963,-0.979 4.722,4.722 0 0 0 0.7,-2.771 3.763,3.763 0 0 0 -0.638,-2.326 2.156,2.156 0 0 0 -1.823,-0.838 2.352,2.352 0 0 0 -1.845,0.832 3.157,3.157 0 0 0 -0.736,2.168 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path955"
- d="m 84.438,11.387 a 3.217,3.217 0 0 0 -1.559,-0.364 2.245,2.245 0 0 0 -1.887,0.885 3.861,3.861 0 0 0 -0.679,2.408 v 5.731 h -3.7 v -12 h 3.7 v 2.226 h 0.046 a 3.2,3.2 0 0 1 3.164,-2.437 2.384,2.384 0 0 1 0.915,0.141 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path957"
- d="M 96.848,15.1 H 89.02 q 0.188,2.613 3.293,2.613 a 6.428,6.428 0 0 0 3.48,-0.938 v 2.672 a 9.139,9.139 0 0 1 -4.324,0.891 6.087,6.087 0 0 1 -4.512,-1.611 6.092,6.092 0 0 1 -1.6,-4.495 6.422,6.422 0 0 1 1.729,-4.732 5.778,5.778 0 0 1 4.266,-1.746 5.24,5.24 0 0 1 4.06,1.559 6,6 0 0 1 1.436,4.23 z m -3.434,-2.274 q 0,-2.578 -2.086,-2.578 A 1.992,1.992 0 0 0 89.787,10.986 3.361,3.361 0 0 0 89,12.828 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path959"
- d="m 106.516,20.34 a 7.819,7.819 0 0 1 -5.883,-2.35 8.433,8.433 0 0 1 -2.274,-6.123 9.04,9.04 0 0 1 2.309,-6.445 7.991,7.991 0 0 1 6.117,-2.461 7.63,7.63 0 0 1 5.815,2.355 8.688,8.688 0 0 1 2.22,6.211 8.894,8.894 0 0 1 -2.3,6.387 7.907,7.907 0 0 1 -6.004,2.426 z M 106.68,6.219 a 3.81,3.81 0 0 0 -3.164,1.494 6.224,6.224 0 0 0 -1.172,3.955 6.111,6.111 0 0 0 1.172,3.949 4.044,4.044 0 0 0 6.175,0.041 6.045,6.045 0 0 0 1.149,-3.92 6.555,6.555 0 0 0 -1.113,-4.066 3.63,3.63 0 0 0 -3.047,-1.453 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path961"
- d="m 125.078,5.117 a 3.746,3.746 0 0 0 -1.371,-0.281 q -1.78,0 -1.781,1.934 v 1.277 h 2.742 v 2.73 h -2.742 v 9.27 h -3.692 v -9.27 h -2.015 v -2.73 h 2.015 V 6.559 a 4.322,4.322 0 0 1 1.336,-3.3 5.1,5.1 0 0 1 3.63,-1.259 6.389,6.389 0 0 1 1.875,0.234 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path963"
- d="m 134.277,5.117 a 3.746,3.746 0 0 0 -1.371,-0.281 q -1.781,0 -1.781,1.934 v 1.277 h 2.742 v 2.73 h -2.742 v 9.27 h -3.691 v -9.27 h -2.016 v -2.73 h 2.016 V 6.559 a 4.319,4.319 0 0 1 1.336,-3.3 5.092,5.092 0 0 1 3.63,-1.259 6.389,6.389 0 0 1 1.875,0.234 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path965"
- d="m 137.523,6.148 a 2.163,2.163 0 0 1 -1.535,-0.556 1.794,1.794 0 0 1 -0.6,-1.365 1.732,1.732 0 0 1 0.6,-1.36 2.509,2.509 0 0 1 3.077,0 1.74,1.74 0 0 1 0.591,1.36 1.786,1.786 0 0 1 -0.591,1.382 2.2,2.2 0 0 1 -1.542,0.539 z m 1.829,13.9 h -3.7 v -12 h 3.7 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path967"
- d="m 151.563,19.613 a 7.316,7.316 0 0 1 -3.622,0.727 6.124,6.124 0 0 1 -4.476,-1.676 5.785,5.785 0 0 1 -1.711,-4.324 6.373,6.373 0 0 1 1.834,-4.822 6.775,6.775 0 0 1 4.9,-1.764 6.3,6.3 0 0 1 3.071,0.562 v 3.141 a 4.224,4.224 0 0 0 -2.59,-0.867 3.41,3.41 0 0 0 -2.526,0.932 3.475,3.475 0 0 0 -0.931,2.572 3.424,3.424 0 0 0 0.89,2.5 3.275,3.275 0 0 0 2.449,0.908 4.891,4.891 0 0 0 2.708,-0.867 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path969"
- d="m 164.77,15.1 h -7.829 q 0.188,2.613 3.293,2.613 a 6.429,6.429 0 0 0 3.481,-0.938 v 2.672 a 9.142,9.142 0 0 1 -4.324,0.891 6.087,6.087 0 0 1 -4.512,-1.611 6.092,6.092 0 0 1 -1.606,-4.495 6.422,6.422 0 0 1 1.735,-4.732 5.777,5.777 0 0 1 4.265,-1.746 5.242,5.242 0 0 1 4.061,1.559 6,6 0 0 1 1.436,4.23 z m -3.434,-2.274 q 0,-2.578 -2.086,-2.578 a 1.992,1.992 0 0 0 -1.541,0.738 3.354,3.354 0 0 0 -0.791,1.84 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path971"
- d="m 44.62,32.412 v 3.555 H 43 v -9.8 h 2.974 a 3.938,3.938 0 0 1 2.618,0.786 2.743,2.743 0 0 1 0.93,2.215 3.061,3.061 0 0 1 -0.971,2.338 3.689,3.689 0 0 1 -2.625,0.909 z m 0,-4.908 v 3.582 h 1.053 a 2.333,2.333 0 0 0 1.593,-0.485 1.737,1.737 0 0 0 0.547,-1.368 q 0,-1.73 -2.01,-1.729 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path973"
- d="M 56.272,36.131 A 4.41,4.41 0 0 1 52.878,34.757 5.046,5.046 0 0 1 51.6,31.182 5.348,5.348 0 0 1 52.9,27.408 4.568,4.568 0 0 1 56.43,26 a 4.31,4.31 0 0 1 3.325,1.367 5.06,5.06 0 0 1 1.262,3.575 5.364,5.364 0 0 1 -1.292,3.794 4.481,4.481 0 0 1 -3.453,1.395 z m 0.076,-8.7 a 2.727,2.727 0 0 0 -2.191,1.005 3.973,3.973 0 0 0 -0.844,2.645 4.013,4.013 0 0 0 0.82,2.632 2.647,2.647 0 0 0 2.146,1 2.77,2.77 0 0 0 2.222,-0.95 3.967,3.967 0 0 0 0.814,-2.659 4.146,4.146 0 0 0 -0.791,-2.714 2.667,2.667 0 0 0 -2.176,-0.961 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path975"
- d="m 76.025,26.164 -2.686,9.8 H 71.5 L 69.634,29.11 A 4.77,4.77 0 0 1 69.49,28.153 h -0.027 a 4.639,4.639 0 0 1 -0.164,0.944 l -1.873,6.87 h -1.88 l -2.741,-9.8 h 1.784 l 1.777,7.178 a 5.2,5.2 0 0 1 0.137,0.943 h 0.034 a 5.373,5.373 0 0 1 0.192,-0.943 l 2.009,-7.178 h 1.675 l 1.859,7.233 a 5.635,5.635 0 0 1 0.144,0.875 h 0.027 a 5.445,5.445 0 0 1 0.158,-0.9 l 1.743,-7.2 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path977"
- d="m 83.94,35.967 h -5.5 v -9.8 h 5.285 v 1.381 h -3.661 v 2.772 h 3.37 v 1.374 h -3.37 v 2.9 h 3.876 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path979"
- d="m 94.307,35.967 h -1.9 l -1.565,-2.625 a 5.813,5.813 0 0 0 -0.414,-0.619 2.488,2.488 0 0 0 -0.41,-0.42 1.349,1.349 0 0 0 -0.454,-0.239 1.9,1.9 0 0 0 -0.554,-0.076 h -0.656 v 3.979 h -1.622 v -9.8 h 3.227 a 4.678,4.678 0 0 1 1.271,0.164 2.962,2.962 0 0 1 1.012,0.5 2.3,2.3 0 0 1 0.673,0.826 2.608,2.608 0 0 1 0.243,1.16 2.883,2.883 0 0 1 -0.153,0.954 2.492,2.492 0 0 1 -0.438,0.771 2.661,2.661 0 0 1 -0.683,0.578 3.4,3.4 0 0 1 -0.9,0.369 v 0.028 a 2.489,2.489 0 0 1 0.465,0.332 c 0.132,0.12 0.258,0.244 0.376,0.372 a 4.53,4.53 0 0 1 0.352,0.434 c 0.117,0.162 0.245,0.35 0.387,0.564 z m -5.954,-8.484 v 3.186 h 1.353 a 2,2 0 0 0 0.693,-0.116 1.587,1.587 0 0 0 0.551,-0.335 1.52,1.52 0 0 0 0.363,-0.533 1.843,1.843 0 0 0 0.129,-0.7 A 1.4,1.4 0 0 0 91,27.88 1.856,1.856 0 0 0 89.722,27.48 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path981"
- d="m 102,35.967 h -5.5 v -9.8 h 5.284 v 1.381 h -3.659 v 2.772 h 3.37 v 1.374 h -3.37 v 2.9 H 102 Z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path983"
- d="m 104.794,35.967 v -9.8 h 2.83 q 5.421,0 5.421,4.778 a 4.711,4.711 0 0 1 -1.5,3.648 5.741,5.741 0 0 1 -4.033,1.377 z m 1.62,-8.422 v 7.048 h 1.3 a 3.636,3.636 0 0 0 2.67,-0.944 3.583,3.583 0 0 0 0.953,-2.666 q 0,-3.438 -3.562,-3.438 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path985"
- d="m 120.785,35.967 v -9.8 h 3.115 a 3.665,3.665 0 0 1 2.251,0.622 1.932,1.932 0 0 1 0.832,1.62 2.32,2.32 0 0 1 -0.472,1.45 2.548,2.548 0 0 1 -1.306,0.875 v 0.027 a 2.552,2.552 0 0 1 1.616,0.748 2.275,2.275 0 0 1 0.606,1.644 2.47,2.47 0 0 1 -0.991,2.038 3.93,3.93 0 0 1 -2.5,0.779 z m 1.62,-8.5 v 2.789 h 1.053 a 2.028,2.028 0 0 0 1.33,-0.4 1.392,1.392 0 0 0 0.482,-1.131 q 0,-1.259 -1.682,-1.258 z m 0,4.1 v 3.1 h 1.388 a 2.119,2.119 0 0 0 1.4,-0.42 1.441,1.441 0 0 0 0.5,-1.159 q 0,-1.525 -2.112,-1.524 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path987"
- d="m 136.717,26.164 -3.217,6.241 v 3.562 h -1.627 V 32.44 l -3.131,-6.276 h 1.858 l 1.927,4.2 q 0.034,0.075 0.2,0.568 h 0.021 a 3.839,3.839 0 0 1 0.226,-0.568 l 2.016,-4.2 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path989"
- d="m 150.752,35.557 a 5.938,5.938 0 0 1 -2.755,0.574 4.5,4.5 0 0 1 -3.418,-1.347 4.909,4.909 0 0 1 -1.285,-3.534 5.15,5.15 0 0 1 1.445,-3.8 4.951,4.951 0 0 1 3.655,-1.45 6,6 0 0 1 2.358,0.4 v 1.614 a 4.208,4.208 0 0 0 -2.187,-0.588 3.442,3.442 0 0 0 -2.582,1.018 3.744,3.744 0 0 0 -0.983,2.724 3.567,3.567 0 0 0 0.923,2.58 3.209,3.209 0 0 0 2.427,0.961 4.348,4.348 0 0 0 2.406,-0.656 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path991"
- d="m 155.329,35.967 h -1.675 v -9.8 h 1.675 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /><path
- id="path993"
- d="m 158.793,35.967 v -9.8 h 3.11 a 3.667,3.667 0 0 1 2.252,0.622 1.931,1.931 0 0 1 0.831,1.62 2.32,2.32 0 0 1 -0.471,1.45 2.548,2.548 0 0 1 -1.306,0.875 v 0.027 a 2.552,2.552 0 0 1 1.616,0.748 2.279,2.279 0 0 1 0.606,1.644 2.47,2.47 0 0 1 -0.991,2.038 3.932,3.932 0 0 1 -2.5,0.779 z m 1.62,-8.5 v 2.789 h 1.053 a 2.028,2.028 0 0 0 1.33,-0.4 1.392,1.392 0 0 0 0.481,-1.131 q 0,-1.259 -1.681,-1.258 z m 0,4.1 v 3.1 h 1.387 a 2.119,2.119 0 0 0 1.405,-0.42 1.441,1.441 0 0 0 0.5,-1.159 q 0,-1.525 -2.112,-1.524 z"
- class="cls-1"
- inkscape:connector-curvature="0"
- style="fill:#961e29" /></g><rect
- id="rect997"
- height="37"
- width="37"
- class="cls-1"
- x="0"
- y="0"
- style="fill:#961e29" /><g
- id="g1001"><path
- d="m 23.59,4.5 a 0.7,0.7 0 0 0 -0.643,0.409 0.68,0.68 0 0 0 0.149,0.74 l 5.814,5.833 a 0.7,0.7 0 0 0 0.74,0.151 0.688,0.688 0 0 0 0.425,-0.617 V 5.172 A 0.7,0.7 0 0 0 29.393,4.5 Z"
- class="cls-2"
- id="path6084"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /><path
- d="M 7.6,4.5 A 0.689,0.689 0 0 0 6.921,5.19 V 31.81 A 0.688,0.688 0 0 0 7.6,32.5 l 15.3,-0.008 c 2.249,0.008 7.18,-4.832 7.18,-7.278 V 14.668 a 0.691,0.691 0 0 0 -0.2,-0.49 L 20.452,4.711 A 0.689,0.689 0 0 0 19.963,4.5 Z m 0.689,1.379 h 11.385 l 9.026,9.067 c 0,0 0,9.218 0,9.809 0,1.835 -4.229,6.366 -6.45,6.366 H 8.293 Z"
- class="cls-2"
- id="path6088"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" /></g></g><rect
- style="fill:#961e29;fill-opacity:1;stroke:none;stroke-width:0.73190653;stroke-opacity:1"
+<rect
+ style="fill:#e11e19;fill-opacity:1;stroke:none;stroke-width:0.73190653;stroke-opacity:1"
id="rect880"
width="510.974"
height="45"
x="0.013000467"
y="0" /><rect
- style="fill:#961e29;fill-opacity:1;stroke:none;stroke-width:0.73190647;stroke-opacity:1"
+ style="fill:#e11e19;fill-opacity:1;stroke:none;stroke-width:0.73190647;stroke-opacity:1"
id="rect880-0"
width="510.974"
height="45"
x="0.013000488"
- y="216" /></svg> \ No newline at end of file
+ y="216" /><g
+ clip-path="url(#b)"
+ id="g43"
+ transform="matrix(2.5725516,0,0,2.5725516,42.906241,80.798237)"><g
+ id="g41"><g
+ id="g13"><path
+ d="m 47.7,28.92 c -1.48,0.78 -3.33,1.18 -5.54,1.18 -2.86,0 -5.14,-0.92 -6.86,-2.76 -1.72,-1.84 -2.58,-4.25 -2.58,-7.24 0,-3.21 0.97,-5.8 2.9,-7.78 1.93,-1.98 4.38,-2.97 7.35,-2.97 1.9,0 3.48,0.28 4.73,0.83 v 2.51 c -1.44,-0.8 -3.02,-1.2 -4.76,-1.2 -2.3,0 -4.17,0.77 -5.61,2.31 -1.44,1.54 -2.15,3.6 -2.15,6.17 0,2.57 0.67,4.39 2.01,5.84 1.34,1.45 3.1,2.18 5.27,2.18 2.02,0 3.76,-0.45 5.24,-1.34 v 2.28 z"
+ style="fill:#212934"
+ id="path7" /><path
+ d="M 54.86,29.76 H 52.51 V 9.69 h 2.35 z"
+ style="fill:#212934"
+ id="path9" /><path
+ d="M 60.85,29.76 V 9.69 h 5.71 c 1.74,0 3.11,0.42 4.13,1.27 1.02,0.85 1.53,1.96 1.53,3.32 0,1.14 -0.31,2.13 -0.92,2.97 -0.62,0.84 -1.46,1.44 -2.55,1.79 v 0.06 c 1.35,0.16 2.44,0.67 3.25,1.53 0.81,0.86 1.22,1.99 1.22,3.37 0,1.72 -0.62,3.11 -1.85,4.17 -1.23,1.06 -2.79,1.6 -4.66,1.6 H 60.86 Z M 63.2,11.81 v 6.48 h 2.41 c 1.29,0 2.3,-0.31 3.04,-0.93 0.74,-0.62 1.11,-1.5 1.11,-2.62 0,-1.95 -1.28,-2.93 -3.85,-2.93 h -2.7 z m 0,8.6 v 7.22 h 3.19 c 1.38,0 2.45,-0.33 3.21,-0.98 0.76,-0.65 1.14,-1.55 1.14,-2.69 0,-2.37 -1.61,-3.56 -4.84,-3.56 h -2.7 z"
+ style="fill:#212934"
+ id="path11" /></g><g
+ id="g25"><path
+ d="m 21.65,17.96 c -0.31,-0.32 -0.83,-0.32 -1.14,0 L 12.1,26.37 8.57,22.85 6.65,24.77 12.1,30.22 23.01,19.31 21.66,17.95 Z"
+ style="fill:#e11e19"
+ id="path15" /><path
+ d="m 15.74,28.28 -2.33,1.97 h 1.45 c 2.67,0 4.84,-2.17 4.84,-4.84 v -0.44 l -2.22,1.9 c -0.37,0.67 -0.99,1.18 -1.74,1.41 z"
+ style="fill:#e11e19"
+ id="path17" /><polygon
+ points="9.62,30.26 8.07,28.42 4.92,28.42 4.92,10.25 17.86,10.25 17.86,18.13 19.69,16.56 19.69,8.41 3.08,8.41 3.08,30.26 "
+ style="fill:#e11e19"
+ id="polygon19" /><rect
+ x="7.2600002"
+ y="11.82"
+ width="7.8899999"
+ height="2.24"
+ rx="1.05"
+ ry="1.05"
+ style="fill:#e11e19"
+ id="rect21" /><rect
+ x="7.3699999"
+ y="17.120001"
+ width="7.8899999"
+ height="2.1300001"
+ rx="1"
+ ry="1"
+ style="fill:#e11e19"
+ id="rect23" /></g><g
+ id="g39"><path
+ d="m 92.64,30.16 c -2.85,0 -5.13,-0.94 -6.84,-2.81 -1.71,-1.87 -2.57,-4.32 -2.57,-7.32 0,-3.23 0.87,-5.81 2.62,-7.73 1.75,-1.92 4.12,-2.88 7.13,-2.88 2.77,0 5,0.93 6.7,2.8 1.69,1.87 2.54,4.31 2.54,7.32 0,3.28 -0.87,5.87 -2.6,7.77 -1.74,1.9 -4.06,2.86 -6.97,2.86 z m 0.17,-18.62 c -2.11,0 -3.82,0.76 -5.14,2.28 -1.32,1.52 -1.97,3.52 -1.97,5.99 0,2.47 0.64,4.46 1.92,5.97 1.28,1.51 2.96,2.26 5.02,2.26 2.2,0 3.94,-0.72 5.21,-2.16 1.27,-1.44 1.9,-3.45 1.9,-6.03 0,-2.58 -0.62,-4.7 -1.85,-6.15 -1.23,-1.45 -2.93,-2.17 -5.1,-2.17 z"
+ style="fill:#212934"
+ id="path27" /><path
+ d="m 113.65,10.62 c -0.45,-0.25 -0.96,-0.38 -1.53,-0.38 -1.61,0 -2.41,1.01 -2.41,3.04 v 2.21 h 3.36 v 1.96 h -3.36 v 12.38 h -2.28 V 17.45 h -2.45 v -1.96 h 2.45 v -2.32 c 0,-1.5 0.43,-2.69 1.3,-3.56 0.87,-0.87 1.95,-1.31 3.25,-1.31 0.7,0 1.25,0.08 1.67,0.25 z"
+ style="fill:#212934"
+ id="path29" /><path
+ d="m 123.35,10.62 c -0.45,-0.25 -0.96,-0.38 -1.53,-0.38 -1.61,0 -2.41,1.01 -2.41,3.04 v 2.21 h 3.36 v 1.96 h -3.36 v 12.38 h -2.28 V 17.45 h -2.45 v -1.96 h 2.45 v -2.32 c 0,-1.5 0.43,-2.69 1.3,-3.56 0.87,-0.87 1.95,-1.31 3.25,-1.31 0.7,0 1.25,0.08 1.67,0.25 z"
+ style="fill:#212934"
+ id="path31" /><path
+ d="m 127.13,11.85 c -0.41,0 -0.76,-0.14 -1.05,-0.42 -0.29,-0.28 -0.43,-0.63 -0.43,-1.06 0,-0.43 0.14,-0.79 0.43,-1.07 0.29,-0.29 0.64,-0.43 1.05,-0.43 0.41,0 0.78,0.14 1.07,0.43 0.29,0.28 0.44,0.64 0.44,1.07 0,0.43 -0.15,0.76 -0.44,1.05 -0.29,0.29 -0.65,0.43 -1.07,0.43 z m 1.12,17.98 h -2.3 V 15.49 h 2.3 z"
+ style="fill:#212934"
+ id="path33" /><path
+ d="m 143.38,29.17 c -1.1,0.66 -2.41,0.99 -3.92,0.99 -2.04,0 -3.69,-0.67 -4.95,-2 -1.25,-1.33 -1.88,-3.05 -1.88,-5.17 0,-2.36 0.68,-4.26 2.03,-5.69 1.35,-1.43 3.16,-2.15 5.42,-2.15 1.26,0 2.37,0.23 3.33,0.7 v 2.35 c -1.06,-0.75 -2.2,-1.12 -3.42,-1.12 -1.47,0 -2.67,0.53 -3.61,1.58 -0.94,1.05 -1.41,2.43 -1.41,4.14 0,1.71 0.44,3.01 1.32,3.98 0.88,0.97 2.07,1.46 3.55,1.46 1.25,0 2.43,-0.42 3.53,-1.25 v 2.18 z"
+ style="fill:#212934"
+ id="path35" /><path
+ d="m 159.09,23.23 h -10.12 c 0.04,1.6 0.47,2.83 1.29,3.7 0.82,0.87 1.95,1.3 3.39,1.3 1.62,0 3.1,-0.53 4.45,-1.6 v 2.16 c -1.26,0.92 -2.93,1.37 -5,1.37 -2.07,0 -3.62,-0.65 -4.77,-1.95 -1.15,-1.3 -1.74,-3.13 -1.74,-5.5 0,-2.23 0.63,-4.05 1.9,-5.45 1.26,-1.41 2.83,-2.11 4.71,-2.11 1.88,0 3.33,0.61 4.35,1.82 1.03,1.21 1.54,2.9 1.54,5.05 v 1.2 z m -2.35,-1.95 c 0,-1.33 -0.33,-2.36 -0.96,-3.09 -0.63,-0.73 -1.5,-1.11 -2.62,-1.11 -1.12,0 -2,0.39 -2.76,1.16 -0.76,0.78 -1.22,1.79 -1.4,3.04 z"
+ style="fill:#212934"
+ id="path37" /></g></g></g></svg>
diff --git a/brand/cib/logo.png b/brand/cib/logo.png
index ace737a89fd9..4ae4a19b1ccb 100644
--- a/brand/cib/logo.png
+++ b/brand/cib/logo.png
Binary files differ
diff --git a/brand/cib/logo.svg b/brand/cib/logo.svg
index 4e0efdbc9249..7cfdad3fd177 100644
--- a/brand/cib/logo.svg
+++ b/brand/cib/logo.svg
@@ -1,104 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- height="300"
- preserveAspectRatio="xMidYMid"
- viewBox="0 0 7937.5004 7937.5005"
- width="300"
- version="1.1"
- id="svg1868"
- sodipodi:docname="logo.svg"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
- style="fill-rule:evenodd;stroke-width:28.22200012;stroke-linejoin:round"
- inkscape:export-filename="C:\cygwin\home\Marina\lode\dev\FLOSS-194\icon-themes\cib\sfx2\res\logo.png"
- inkscape:export-xdpi="96"
- inkscape:export-ydpi="96">
- <metadata
- id="metadata1874">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs1872">
- <style
- id="style838">
- .cls-1 {
- fill: #961e29;
- }
-
- .cls-2 {
- fill: #fff;
- }
- </style>
- </defs>
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="2520"
- inkscape:window-height="1031"
- id="namedview1870"
- showgrid="false"
- inkscape:zoom="1.6857142"
- inkscape:cx="59.607026"
- inkscape:cy="150.4356"
- inkscape:window-x="2869"
- inkscape:window-y="50"
- inkscape:window-maximized="1"
- inkscape:current-layer="g6082"
- units="px" />
- <g
- data-name="Ebene 4"
- id="Ebene_4"
- transform="matrix(99.215593,0,0,99.215593,82.797858,562.35777)">
- <g
- id="g6082">
- <g
- data-name="Ebene 4"
- id="Ebene_4-3"
- transform="matrix(1.0090412,0,0,1.0090412,1.832226,-3.0012875)">
- <rect
- id="rect844"
- height="74"
- width="74"
- class="cls-1"
- x="0"
- y="0"
- style="fill:#961e29" />
- <g
- id="g848">
- <path
- d="m 47.181,9 a 1.4,1.4 0 0 0 -1.288,0.817 1.365,1.365 0 0 0 0.3,1.481 L 57.82,22.964 a 1.407,1.407 0 0 0 1.48,0.3 1.376,1.376 0 0 0 0.85,-1.234 V 10.345 A 1.4,1.4 0 0 0 58.787,9 Z"
- class="cls-2"
- id="path6084"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- <path
- d="M 15.207,9 A 1.377,1.377 0 0 0 13.85,10.38 V 63.621 A 1.377,1.377 0 0 0 15.207,65 L 45.791,64.984 C 50.291,65 60.15,55.319 60.15,50.428 c 0,-8.285 0,-21.092 0,-21.092 a 1.382,1.382 0 0 0 -0.4,-0.98 L 40.9,9.423 A 1.374,1.374 0 0 0 39.926,9 Z m 1.38,2.759 h 22.76 l 18.044,18.133 c 0,0 -0.011,18.437 -0.011,19.619 0,3.668 -8.458,12.73 -12.9,12.73 H 16.587 Z"
- class="cls-2"
- id="path6088"
- inkscape:connector-curvature="0"
- style="fill:#ffffff" />
- </g>
- </g>
- </g>
- </g>
-</svg>
+<?xml version="1.0" encoding="UTF-8"?><svg id="Logos_Material" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs><style>.cls-1{fill:#e11e19;}.cls-2{clip-path:url(#clippath);}.cls-3{fill:none;}</style><clipPath id="clippath"><rect class="cls-3" x="206.65" y="209.85" width="174" height="38"/></clipPath></defs><g class="cls-2"><g><path class="cls-1" d="M27.39,14.82c-.36-.36-.94-.36-1.3,0l-9.55,9.55-4.01-3.99-2.18,2.18,6.19,6.19,12.38-12.38-1.53-1.54Z"/><path class="cls-1" d="M20.68,26.54l-2.65,2.24h1.64c3.03,0,5.5-2.47,5.5-5.5v-.5l-2.52,2.16c-.42,.76-1.13,1.34-1.97,1.6Z"/><polygon class="cls-1" points="8.4 26.69 8.4 6.07 23.08 6.07 23.08 15.02 25.17 13.23 25.17 3.98 6.32 3.98 6.32 28.77 13.74 28.77 11.98 26.69 8.4 26.69"/><rect class="cls-1" x="11.05" y="7.86" width="8.95" height="2.54" rx="1.19" ry="1.19"/><rect class="cls-1" x="11.19" y="13.87" width="8.95" height="2.42" rx="1.14" ry="1.14"/></g></g><g><path class="cls-1" d="M26.82,14.24c-.36-.36-.94-.36-1.3,0l-9.55,9.55-4.01-3.99-2.18,2.18,6.19,6.19,12.38-12.38-1.53-1.54Z"/><path class="cls-1" d="M20.11,25.96l-2.65,2.24h1.64c3.03,0,5.5-2.47,5.5-5.5v-.5l-2.52,2.16c-.42,.76-1.13,1.34-1.97,1.6Z"/><polygon class="cls-1" points="7.83 26.11 7.83 5.49 22.51 5.49 22.51 14.44 24.6 12.65 24.6 3.4 5.75 3.4 5.75 28.2 13.17 28.2 11.41 26.11 7.83 26.11"/><rect class="cls-1" x="10.48" y="7.28" width="8.95" height="2.54" rx="1.19" ry="1.19"/><rect class="cls-1" x="10.62" y="13.29" width="8.95" height="2.42" rx="1.14" ry="1.14"/></g></svg> \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 84c66a9de130..248d11ed6b68 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
# several non-alphanumeric characters, those are split off and used only for the
# ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea.
-AC_INIT([LibreOffice powered by CIB],[6.1.7.35],[],[],[https://libreoffice.cib.eu/])
+AC_INIT([CIB Office],[6.1.7.37],[],[],[https://www.cib.de/office/])
AC_PREREQ([2.59])
diff --git a/connectivity/source/parse/sqlbison.y b/connectivity/source/parse/sqlbison.y
index dbf203f814a1..3aad860d2655 100644
--- a/connectivity/source/parse/sqlbison.y
+++ b/connectivity/source/parse/sqlbison.y
@@ -73,9 +73,15 @@ inline connectivity::OSQLInternalNode* newNode(const OUString& _newValue,
// yyi is the internal number of the rule that is currently being reduced
// This can be mapped to external rule number via the yyrmap.
+#if defined YYBISON && YYBISON >= 30800
+#define SQL_NEW_RULE newNode("", SQLNodeType::Rule, yyr1[yyrule])
+#define SQL_NEW_LISTRULE newNode("", SQLNodeType::ListRule, yyr1[yyrule])
+#define SQL_NEW_COMMALISTRULE newNode("", SQLNodeType::CommaListRule, yyr1[yyrule])
+#else
#define SQL_NEW_RULE newNode("", SQLNodeType::Rule, yyr1[yyn])
#define SQL_NEW_LISTRULE newNode("", SQLNodeType::ListRule, yyr1[yyn])
#define SQL_NEW_COMMALISTRULE newNode("", SQLNodeType::CommaListRule, yyr1[yyn])
+#endif
extern connectivity::OSQLParser* xxx_pGLOBAL_SQLPARSER;
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 8fe83f523c48..c00a3d6e42ad 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -29,6 +29,7 @@
#include <tools/stream.hxx>
#include <vcl/svapp.hxx>
#include <rtl/uri.hxx>
+#include <tools/urlobj.hxx>
#include <rtl/ustring.hxx>
#include <rtl/process.h>
#include <comphelper/lok.hxx>
@@ -167,7 +168,14 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, CommandLineEvent cur
}
if (nURIlen < 0)
nURIlen = rest2.getLength();
- arg = rest2.copy(0, nURIlen);
+ auto const uri = rest2.copy(0, nURIlen);
+ if (INetURLObject(uri).GetProtocol() == INetProtocol::Macro) {
+ // Let the "Open" machinery process the full command URI (leading to failure, by intention,
+ // as the "Open" machinery does not know about those command URI schemes):
+ curEvt = CommandLineEvent::Open;
+ } else {
+ arg = uri;
+ }
return curEvt;
}
diff --git a/download.lst b/download.lst
index 2e4d44ecf924..216284fe873a 100644
--- a/download.lst
+++ b/download.lst
@@ -40,8 +40,8 @@ export EPUBGEN_TARBALL := libepubgen-0.1.1.tar.xz
export ETONYEK_SHA256SUM := e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a
export ETONYEK_VERSION_MICRO := 9
export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
-export EXPAT_SHA256SUM := de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b
-export EXPAT_TARBALL := expat-2.4.6.tar.xz
+export EXPAT_SHA256SUM := 6e8c0728fe5c7cd3f93a6acce43046c5e4736c7b4b68e032e9350daa0efc0354
+export EXPAT_TARBALL := expat-2.4.9.tar.xz
export FIREBIRD_SHA256SUM := 6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860
export FIREBIRD_TARBALL := Firebird-3.0.0.32483-0.tar.bz2
export FONTCONFIG_SHA256SUM := cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017
@@ -152,9 +152,9 @@ export LIBTOMMATH_SHA256SUM := 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304
export LIBTOMMATH_TARBALL := ltm-1.0.zip
export XMLSEC_SHA256SUM := 967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2
export XMLSEC_TARBALL := xmlsec1-1.2.25.tar.gz
-export LIBXML_SHA256SUM := 60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
-export LIBXML_VERSION_MICRO := 14
-export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.xz
+export LIBXML_SHA256SUM := d240abe6da9c65cb1900dd9bf3a3501ccf88b3c2a1cb98317d03f272dda5b265
+export LIBXML_VERSION_MICRO := 2
+export LIBXML_TARBALL := libxml2-2.10.$(LIBXML_VERSION_MICRO).tar.xz
export LIBXSLT_SHA256SUM := 8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79
export LIBXSLT_VERSION_MICRO := 35
export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz
@@ -204,8 +204,8 @@ export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3
export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca
export LIBPNG_TARBALL := libpng-1.6.37.tar.xz
-export POPPLER_SHA256SUM := 31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584
-export POPPLER_TARBALL := poppler-21.11.0.tar.xz
+export POPPLER_SHA256SUM := d7a8f748211359cadb774ba3e18ecda6464b34027045c0648eb30d5852a41e2e
+export POPPLER_TARBALL := poppler-22.09.0.tar.xz
export POSTGRESQL_SHA256SUM := 9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3
export POSTGRESQL_TARBALL := postgresql-13.5.tar.bz2
export PYTHON_SHA256SUM := c24a37c63a67f53bdd09c5f287b5cff8e8b98f857bf348c577d454d3f74db049
diff --git a/external/libnumbertext/EmptyString.patch1 b/external/libnumbertext/EmptyString.patch1
new file mode 100644
index 000000000000..d6570117da09
--- /dev/null
+++ b/external/libnumbertext/EmptyString.patch1
@@ -0,0 +1,13 @@
+--- a/src/Soros.cxx 2022-06-27 09:36:46.486075920 +0100
++++ b/src/Soros.cxx 2022-06-27 09:37:52.594072196 +0100
+@@ -98,8 +98,8 @@
+ s = regex_replace(s, quoteEnd, L"");
+ s = translate(s, c.substr(1), m.substr(1), L"");
+ replace(s, slash, L"\\\\"); // -> \\, ", ;, #
+- begins.push_back(s[0] == L'^');
+- ends.push_back(s[s.length()-1] == L'$');
++ begins.push_back(!s.empty() && s[0] == L'^');
++ ends.push_back(!s.empty() && s[s.length()-1] == L'$');
+ s = L"^" + regex_replace(s, wregex(L"^\\^"), L"");
+ s = regex_replace(s, wregex(L"\\$$"), L"") + L"$";
+ try
diff --git a/external/libnumbertext/UnpackedTarball_libnumbertext.mk b/external/libnumbertext/UnpackedTarball_libnumbertext.mk
index ac2a14133205..00f43151326c 100644
--- a/external/libnumbertext/UnpackedTarball_libnumbertext.mk
+++ b/external/libnumbertext/UnpackedTarball_libnumbertext.mk
@@ -13,4 +13,10 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libnumbertext,$(LIBNUMBERTEXT_TARBA
$(eval $(call gb_UnpackedTarball_update_autoconf_configs,libnumbertext))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libnumbertext,1))
+
+$(eval $(call gb_UnpackedTarball_add_patches,libnumbertext, \
+ external/libnumbertext/EmptyString.patch1 \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/external/libxml2/ExternalPackage_libxml2.mk b/external/libxml2/ExternalPackage_libxml2.mk
index d38eb68df0cb..6338fb20b9df 100644
--- a/external/libxml2/ExternalPackage_libxml2.mk
+++ b/external/libxml2/ExternalPackage_libxml2.mk
@@ -21,7 +21,7 @@ else # COM=MSC
$(eval $(call gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.dll,win32/bin.msvc/libxml2.dll))
endif
else # OS!=WNT
-$(eval $(call gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.so.2,.libs/libxml2.so.2.9.$(LIBXML_VERSION_MICRO)))
+$(eval $(call gb_ExternalPackage_add_file,libxml2,$(LIBO_URE_LIB_FOLDER)/libxml2.so.2,.libs/libxml2.so.2.10.$(LIBXML_VERSION_MICRO)))
endif
endif # DISABLE_DYNLOADING
diff --git a/external/libxml2/UnpackedTarball_libxml2.mk b/external/libxml2/UnpackedTarball_libxml2.mk
index 00398f16af56..4ec3fa074dea 100644
--- a/external/libxml2/UnpackedTarball_libxml2.mk
+++ b/external/libxml2/UnpackedTarball_libxml2.mk
@@ -14,11 +14,12 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libxml2,$(LIBXML_TARBALL),,libxml2)
$(eval $(call gb_UnpackedTarball_update_autoconf_configs,libxml2))
$(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
- external/libxml2/libxml2-config.patch.1 \
external/libxml2/libxml2-global-symbols.patch \
external/libxml2/libxml2-vc10.patch \
$(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \
external/libxml2/libxml2-icu.patch.0 \
))
+$(eval $(call gb_UnpackedTarball_add_file,libxml2,xml2-config.in,external/libxml2/xml2-config.in))
+
# vim: set noet sw=4 ts=4:
diff --git a/external/libxml2/libxml2-android.patch b/external/libxml2/libxml2-android.patch
index 42af83274026..acf9b17e02db 100644
--- a/external/libxml2/libxml2-android.patch
+++ b/external/libxml2/libxml2-android.patch
@@ -2,9 +2,9 @@
+++ misc/build/libxml2-2.7.6/Makefile.in
@@ -1635,7 +1635,7 @@
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
- check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-recursive
--all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(MANS) $(DATA) \
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+ check: check-recursive
+-all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(DATA) \
+all-am: Makefile $(LTLIBRARIES) \
config.h
install-binPROGRAMS: install-libLTLIBRARIES
diff --git a/external/libxml2/libxml2-config.patch.1 b/external/libxml2/libxml2-config.patch.1
deleted file mode 100644
index 5a2ef1485e92..000000000000
--- a/external/libxml2/libxml2-config.patch.1
+++ /dev/null
@@ -1,43 +0,0 @@
-Hack the xml2-config to return paths into WORKDIR.
-
---- a/xml2-config.in 2009-12-17 11:45:20.000000000 +0000
-+++ b/xml2-config.in 2009-12-17 11:45:36.000000000 +0000
-@@ -1,9 +1,14 @@
- #! /bin/sh
-
--prefix=@prefix@
--exec_prefix=@exec_prefix@
--includedir=@includedir@
--libdir=@libdir@
-+#prefix=@prefix@
-+#exec_prefix=@exec_prefix@
-+#includedir=@includedir@
-+#libdir=@libdir@
-+
-+prefix=${WORKDIR}/UnpackedTarball/libxml2
-+exec_prefix=${WORKDIR}/UnpackedTarball/libxml2
-+includedir=${WORKDIR}/UnpackedTarball/libxml2/include
-+libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs
- cflags=
- libs=
-
-@@ -67,7 +72,8 @@
- ;;
-
- --cflags)
-- cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@"
-+ #cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@"
-+ cflags="-I${includedir}"
- ;;
-
- --libtool-libs)
-@@ -91,7 +96,8 @@
- libs="@XML_LIBDIR@ $libs"
- fi
-
-- libs="$libs @WIN32_EXTRA_LIBADD@"
-+ #libs="$libs @WIN32_EXTRA_LIBADD@"
-+ libs="-L${libdir} -lxml2 -lm"
- ;;
-
- *)
diff --git a/external/libxml2/xml2-config.in b/external/libxml2/xml2-config.in
new file mode 100644
index 000000000000..164508e47e67
--- /dev/null
+++ b/external/libxml2/xml2-config.in
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case "$1" in
+ --version)
+ echo @VERSION@
+ exit 0
+ ;;
+ --cflags)
+ cflags="$LIBXML_CFLAGS"
+ ;;
+ --libs)
+ libs="$LIBXML_LIBS"
+ ;;
+ esac
+ shift
+done
+
+if test -n "$cflags$libs"; then
+ echo $cflags $libs
+fi
+
+exit 0
diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk
index aab71eac9a6a..cc43e873c4f2 100644
--- a/external/poppler/StaticLibrary_poppler.mk
+++ b/external/poppler/StaticLibrary_poppler.mk
@@ -11,7 +11,10 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,poppler))
$(eval $(call gb_StaticLibrary_use_unpacked,poppler,poppler))
-$(eval $(call gb_StaticLibrary_use_external,poppler,libjpeg))
+$(eval $(call gb_StaticLibrary_use_externals,poppler,\
+ libjpeg \
+ boost_headers \
+))
$(eval $(call gb_StaticLibrary_set_warnings_not_errors,poppler))
@@ -100,6 +103,8 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
UnpackedTarball/poppler/poppler/Decrypt \
UnpackedTarball/poppler/poppler/Dict \
UnpackedTarball/poppler/poppler/Error \
+ UnpackedTarball/poppler/poppler/FDPDFDocBuilder \
+ UnpackedTarball/poppler/poppler/FILECacheLoader \
UnpackedTarball/poppler/poppler/FileSpec \
UnpackedTarball/poppler/poppler/FontEncodingTables \
UnpackedTarball/poppler/poppler/Form \
@@ -110,6 +115,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
UnpackedTarball/poppler/poppler/GfxState \
UnpackedTarball/poppler/poppler/GlobalParams \
UnpackedTarball/poppler/poppler/Hints \
+ UnpackedTarball/poppler/poppler/ImageEmbeddingUtils \
UnpackedTarball/poppler/poppler/JArithmeticDecoder \
UnpackedTarball/poppler/poppler/JBIG2Stream \
UnpackedTarball/poppler/poppler/JSInfo \
@@ -146,8 +152,6 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
UnpackedTarball/poppler/poppler/TextOutputDev \
UnpackedTarball/poppler/poppler/PageLabelInfo \
UnpackedTarball/poppler/poppler/SecurityHandler \
- UnpackedTarball/poppler/poppler/StdinCachedFile \
- UnpackedTarball/poppler/poppler/StdinPDFDocBuilder \
UnpackedTarball/poppler/poppler/Sound \
UnpackedTarball/poppler/poppler/ViewerPreferences \
UnpackedTarball/poppler/poppler/Movie \
diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk
index 0f29d38e097c..cc3e30651871 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -16,6 +16,13 @@ $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
external/poppler/poppler-c++11.patch.1 \
external/poppler/0001-Partially-revert-814fbda28cc8a37fed3134c2db8da28f86f.patch.1 \
external/poppler/0001-Revert-Make-the-mul-tables-be-calculated-at-compile-.patch.1 \
+ external/poppler/disable-freetype.patch.1 \
+ external/poppler/gcc7-EntityInfo.patch.1 \
+))
+
+# patch is required for MSVC but changes the API used by sdext so apply always
+$(eval $(call gb_UnpackedTarball_add_patches,poppler,\
+ external/poppler/poppler-vs2015-buildfix.patch.1 \
))
# std::make_unique is only available in C++14
diff --git a/external/poppler/disable-freetype.patch.1 b/external/poppler/disable-freetype.patch.1
new file mode 100644
index 000000000000..d59006eba979
--- /dev/null
+++ b/external/poppler/disable-freetype.patch.1
@@ -0,0 +1,41 @@
+disable freetype dependent code
+
+--- poppler/poppler/Form.cc.orig 2022-09-14 15:46:48.588316681 +0200
++++ poppler/poppler/Form.cc 2022-09-14 15:48:01.468274551 +0200
+@@ -46,7 +46,7 @@
+ #include <cstdlib>
+ #include <cstring>
+ #include <cctype>
+-#include "goo/ft_utils.h"
++//#include "goo/ft_utils.h"
+ #include "goo/gmem.h"
+ #include "goo/gfile.h"
+ #include "goo/GooString.h"
+@@ -77,8 +77,8 @@
+ #include "fofi/FoFiTrueType.h"
+ #include "fofi/FoFiIdentifier.h"
+
+-#include <ft2build.h>
+-#include FT_FREETYPE_H
++//#include <ft2build.h>
++//#include FT_FREETYPE_H
+
+ // return a newly allocated char* containing an UTF16BE string of size length
+ char *pdfDocEncodingToUTF16(const std::string &orig, int *length)
+@@ -2730,6 +2730,8 @@
+
+ Form::AddFontResult Form::addFontToDefaultResources(const std::string &filepath, int faceIndex, const std::string &fontFamily, const std::string &fontStyle)
+ {
++ return {};
++#if 0
+ if (!GooString::endsWith(filepath, ".ttf") && !GooString::endsWith(filepath, ".ttc") && !GooString::endsWith(filepath, ".otf")) {
+ error(errIO, -1, "We only support embedding ttf/ttc/otf fonts for now. The font file for {0:s} {1:s} was {2:s}", fontFamily.c_str(), fontStyle.c_str(), filepath.c_str());
+ return {};
+@@ -2939,6 +2941,7 @@
+ }
+
+ return { dictFontName, fontDictRef };
++#endif
+ }
+
+ std::string Form::getFallbackFontForChar(Unicode uChar, const GfxFont &fontToEmulate) const
diff --git a/external/poppler/gcc7-EntityInfo.patch.1 b/external/poppler/gcc7-EntityInfo.patch.1
new file mode 100644
index 000000000000..b450bff93af9
--- /dev/null
+++ b/external/poppler/gcc7-EntityInfo.patch.1
@@ -0,0 +1,48 @@
+gcc 7.3.1 says:
+
+workdir/UnpackedTarball/poppler/poppler/CertificateInfo.cc:42:34: error: function ‘X509CertificateInfo::EntityInfo& X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’
+
+--- poppler/poppler/CertificateInfo.h.orig 2022-09-14 19:32:12.426351385 +0200
++++ poppler/poppler/CertificateInfo.h 2022-09-14 19:32:18.947347812 +0200
+@@ -70,7 +70,7 @@
+ ~EntityInfo();
+
+ EntityInfo(EntityInfo &&) noexcept;
+- EntityInfo &operator=(EntityInfo &&) noexcept;
++ EntityInfo &operator=(EntityInfo &&) /*noexcept*/;
+
+ EntityInfo(const EntityInfo &) = delete;
+ EntityInfo &operator=(const EntityInfo &) = delete;
+--- poppler/poppler/CertificateInfo.cc.orig 2022-09-14 19:31:10.225385467 +0200
++++ poppler/poppler/CertificateInfo.cc 2022-09-14 19:31:12.572384182 +0200
+@@ -39,7 +39,7 @@
+
+ X509CertificateInfo::EntityInfo::EntityInfo(X509CertificateInfo::EntityInfo &&other) noexcept = default;
+
+-X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) noexcept = default;
++X509CertificateInfo::EntityInfo &X509CertificateInfo::EntityInfo::operator=(X509CertificateInfo::EntityInfo &&other) /*noexcept*/ = default;
+
+ X509CertificateInfo::X509CertificateInfo() : ku_extensions(KU_NONE), cert_version(-1), is_self_signed(false) { }
+
+--- poppler/poppler/GfxFont.cc.orig 2022-09-14 20:24:32.569607333 +0200
++++ poppler/poppler/GfxFont.cc 2022-09-14 20:24:52.323596186 +0200
+@@ -180,7 +180,7 @@
+
+ GfxFontLoc::GfxFontLoc(GfxFontLoc &&other) noexcept = default;
+
+-GfxFontLoc &GfxFontLoc::operator=(GfxFontLoc &&other) noexcept = default;
++GfxFontLoc &GfxFontLoc::operator=(GfxFontLoc &&other) /*noexcept*/ = default;
+
+ void GfxFontLoc::setPath(GooString *pathA)
+ {
+--- poppler/poppler/GfxFont.h.orig 2022-09-14 20:24:30.784608340 +0200
++++ poppler/poppler/GfxFont.h 2022-09-14 20:25:08.850586861 +0200
+@@ -124,7 +124,7 @@
+ GfxFontLoc(const GfxFontLoc &) = delete;
+ GfxFontLoc(GfxFontLoc &&) noexcept;
+ GfxFontLoc &operator=(const GfxFontLoc &) = delete;
+- GfxFontLoc &operator=(GfxFontLoc &&other) noexcept;
++ GfxFontLoc &operator=(GfxFontLoc &&other) /*noexcept*/;
+
+ // Set the 'path' string from a GooString on the heap.
+ // Ownership of the object is taken.
diff --git a/external/poppler/poppler-c++11.patch.1 b/external/poppler/poppler-c++11.patch.1
index 9e607b381de0..05b47bc91299 100644
--- a/external/poppler/poppler-c++11.patch.1
+++ b/external/poppler/poppler-c++11.patch.1
@@ -18,7 +18,7 @@ remove usage of newfangled C++ that baseline toolchains don't support
- const std::string modeStr = mode + "e"s;
+ const std::string modeStr = mode + std::string("e");
FILE *file = fopen(path, modeStr.c_str());
- if (file != nullptr)
+ if (file != nullptr) {
return file;
--- poppler/goo/gmem.h.orig 2019-01-16 11:25:28.161920038 +0100
+++ poppler/goo/gmem.h 2019-01-16 11:25:53.756882295 +0100
@@ -29,3 +29,14 @@ remove usage of newfangled C++ that baseline toolchains don't support
+#include <o3tl/make_unique.hxx>
+
#endif // GMEM_H
+--- poppler/goo/gfile.cc.orig2 2022-09-15 12:33:24.163562177 +0200
++++ poppler/goo/gfile.cc 2022-09-15 12:33:49.501547336 +0200
+@@ -50,6 +50,8 @@
+ #include "gfile.h"
+ #include "gdir.h"
+
++#include <o3tl/make_unique.hxx>
++
+ // Some systems don't define this, so just make it something reasonably
+ // large.
+ #ifndef PATH_MAX
diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1
index 2a24d4510197..455a88e2afc4 100644
--- a/external/poppler/poppler-config.patch.1
+++ b/external/poppler/poppler-config.patch.1
@@ -16,7 +16,7 @@ new file mode 100644
index 0fbd336a..451213f8 100644
--- /dev/null
+++ b/config.h
-@@ -0,0 +1,223 @@
+@@ -0,0 +1,220 @@
+/* config.h. Generated from config.h.cmake by cmake. */
+
+/* Build against libcurl. */
@@ -105,9 +105,6 @@ index 0fbd336a..451213f8 100644
+#define HAVE_TIMEGM 1
+#endif
+
-+/* Define if you have the iconv() function and it works. */
-+/* #undef HAVE_ICONV */
-+
+/* Define to 1 if you have the `z' library (-lz). */
+/* #undef HAVE_LIBZ */
+
@@ -176,7 +173,7 @@ index 0fbd336a..451213f8 100644
+#define PACKAGE_NAME "poppler"
+
+/* Define to the full name and version of this package. */
-+#define PACKAGE_STRING "poppler 21.11.0"
++#define PACKAGE_STRING "poppler 22.09.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "poppler"
@@ -185,7 +182,7 @@ index 0fbd336a..451213f8 100644
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
-+#define PACKAGE_VERSION "21.11.0"
++#define PACKAGE_VERSION "22.09.0"
+
+/* Poppler data dir */
+#define POPPLER_DATADIR "/usr/local/share/poppler"
@@ -203,7 +200,7 @@ index 0fbd336a..451213f8 100644
+/* #undef USE_FLOAT */
+
+/* Version number of package */
-+#define VERSION "21.11.0"
++#define VERSION "22.09.0"
+
+#if defined(__APPLE__)
+#elif defined (_WIN32)
@@ -229,7 +226,7 @@ index 0fbd336a..451213f8 100644
+#define popen _popen
+#define pclose _pclose
+#define strncasecmp _strnicmp
-+// error C4005: "strcasecmp": macro redefinition #define strcasecmp _stricmp
++#define strcasecmp _stricmp
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
@@ -250,7 +247,7 @@ index 0fbd336a..451213f8 100644
+//
+// poppler-config.h
+//
-+// Copyright 1996-2011 Glyph & Cog, LLC
++// Copyright 1996-2011, 2022 Glyph & Cog, LLC
+//
+//========================================================================
+
@@ -284,7 +281,7 @@ index 0fbd336a..451213f8 100644
+
+/* Defines the poppler version. */
+#ifndef POPPLER_VERSION
-+#define POPPLER_VERSION "21.11.0"
++#define POPPLER_VERSION "22.09.0"
+#endif
+
+/* Use single precision arithmetic in the Splash backend */
@@ -376,8 +373,8 @@ index 0fbd336a..451213f8 100644
+//------------------------------------------------------------------------
+
+// copyright notice
-+#define popplerCopyright "Copyright 2005-2021 The Poppler Developers - http://poppler.freedesktop.org"
-+#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
++#define popplerCopyright "Copyright 2005-2022 The Poppler Developers - http://poppler.freedesktop.org"
++#define xpdfCopyright "Copyright 1996-2011, 2022 Glyph & Cog, LLC"
+
+//------------------------------------------------------------------------
+// Win32 stuff
@@ -436,9 +433,9 @@ index 0fbd336a..451213f8 100644
+
+#include "poppler-global.h"
+
-+#define POPPLER_VERSION "21.11.0"
-+#define POPPLER_VERSION_MAJOR 21
-+#define POPPLER_VERSION_MINOR 11
++#define POPPLER_VERSION "22.09.0"
++#define POPPLER_VERSION_MAJOR 22
++#define POPPLER_VERSION_MINOR 9
+#define POPPLER_VERSION_MICRO 0
+
+namespace poppler
diff --git a/external/poppler/poppler-vs2015-buildfix.patch.1 b/external/poppler/poppler-vs2015-buildfix.patch.1
new file mode 100644
index 000000000000..573eae32f7b1
--- /dev/null
+++ b/external/poppler/poppler-vs2015-buildfix.patch.1
@@ -0,0 +1,1707 @@
+Remove a few c++11-isms to fix build on VS201
+
+diff -ur workdir/UnpackedTrball/poppler/glib/poppler-document.cc poppler/glib/poppler-document.cc
+--- poppler/glib/poppler-document.cc 2022-09-16 21:58:38.029530600 +0300
++++ poppler/glib/poppler-document.cc 2022-09-16 16:27:33.387683800 +0300
+@@ -159,7 +159,7 @@
+ return document;
+ }
+
+-static std::optional<GooString> poppler_password_to_latin1(const gchar *password)
++static boost::optional<GooString> poppler_password_to_latin1(const gchar *password)
+ {
+ gchar *password_latin;
+
+@@ -168,7 +168,7 @@
+ }
+
+ password_latin = g_convert(password, -1, "ISO-8859-1", "UTF-8", nullptr, nullptr, nullptr);
+- std::optional<GooString> password_g = GooString(password_latin);
++ boost::optional<GooString> password_g = GooString(password_latin);
+ g_free(password_latin);
+
+ return password_g;
+@@ -198,7 +198,7 @@
+ return nullptr;
+ }
+
+- const std::optional<GooString> password_g = poppler_password_to_latin1(password);
++ const boost::optional<GooString> password_g = poppler_password_to_latin1(password);
+
+ #ifdef G_OS_WIN32
+ wchar_t *filenameW;
+@@ -262,7 +262,7 @@
+ // create stream
+ str = new MemStream(data, 0, length, Object(objNull));
+
+- const std::optional<GooString> password_g = poppler_password_to_latin1(password);
++ const boost::optional<GooString> password_g = poppler_password_to_latin1(password);
+ newDoc = new PDFDoc(str, password_g, password_g);
+ if (!newDoc->isOk() && newDoc->getErrorCode() == errEncrypted && password) {
+ /* Try again with original password (which comes from GTK in UTF8) Issue #824 */
+@@ -327,7 +327,7 @@
+ // create stream
+ str = new BytesStream(bytes, Object(objNull));
+
+- const std::optional<GooString> password_g = poppler_password_to_latin1(password);
++ const boost::optional<GooString> password_g = poppler_password_to_latin1(password);
+ newDoc = new PDFDoc(str, password_g, password_g);
+ if (!newDoc->isOk() && newDoc->getErrorCode() == errEncrypted && password) {
+ /* Try again with original password (which comes from GTK in UTF8) Issue #824 */
+@@ -391,7 +391,7 @@
+ str = new CachedFileStream(cachedFile, 0, false, cachedFile->getLength(), Object(objNull));
+ }
+
+- const std::optional<GooString> password_g = poppler_password_to_latin1(password);
++ const boost::optional<GooString> password_g = poppler_password_to_latin1(password);
+ newDoc = new PDFDoc(str, password_g, password_g);
+ if (!newDoc->isOk() && newDoc->getErrorCode() == errEncrypted && password) {
+ /* Try again with original password (which comes from GTK in UTF8) Issue #824 */
+@@ -515,7 +515,7 @@
+ stream = new OwningFileStream(GooFile::open(fd), Object(objNull));
+ }
+
+- const std::optional<GooString> password_g = poppler_password_to_latin1(password);
++ const boost::optional<GooString> password_g = poppler_password_to_latin1(password);
+ newDoc = new PDFDoc(stream, password_g, password_g);
+ if (!newDoc->isOk() && newDoc->getErrorCode() == errEncrypted && password) {
+ /* Try again with original password (which comes from GTK in UTF8) Issue #824 */
+@@ -2839,7 +2839,7 @@
+
+ info = iter->items[iter->index];
+
+- const std::optional<std::string> &name = info->getName();
++ const boost::optional<std::string> &name = info->getName();
+ if (name) {
+ return name->c_str();
+ } else {
+@@ -2893,7 +2893,7 @@
+
+ info = iter->items[iter->index];
+
+- const std::optional<std::string> &name = info->getSubstituteName();
++ const boost::optional<std::string> &name = info->getSubstituteName();
+ if (name) {
+ return name->c_str();
+ } else {
+@@ -2916,7 +2916,7 @@
+
+ info = iter->items[iter->index];
+
+- const std::optional<std::string> &file = info->getFile();
++ const boost::optional<std::string> &file = info->getFile();
+ if (file) {
+ return file->c_str();
+ } else {
+diff -ur poppler/goo/GooString.h poppler/goo/GooString.h
+--- poppler/goo/GooString.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/goo/GooString.h 2022-09-16 16:27:39.202358800 +0300
+@@ -246,8 +246,8 @@
+ // Return true if string ends with suffix
+ POPPLER_PRIVATE_EXPORT bool endsWith(const char *suffix) const;
+
+- static bool startsWith(std::string_view str, std::string_view prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
+- static bool endsWith(std::string_view str, std::string_view suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
++ static bool startsWith(const std::string &str, const std::string &prefix) { return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix); }
++ static bool endsWith(const std::string &str, const std::string &suffix) { return str.size() >= suffix.size() && 0 == str.compare(str.size() - suffix.size(), suffix.size(), suffix); }
+
+ bool hasUnicodeMarker() const { return hasUnicodeMarker(*this); }
+ static bool hasUnicodeMarker(const std::string &s) { return s.size() >= 2 && s[0] == '\xfe' && s[1] == '\xff'; }
+diff -ur poppler/poppler/Annot.cc poppler/poppler/Annot.cc
+--- poppler/poppler/Annot.cc 2022-09-16 21:58:39.610103800 +0300
++++ poppler/poppler/Annot.cc 2022-09-16 16:32:09.879243000 +0300
+@@ -1258,7 +1258,7 @@
+ // Annot
+ //------------------------------------------------------------------------
+
+-#define annotLocker() const std::scoped_lock locker(mutex)
++#define annotLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ Annot::Annot(PDFDoc *docA, PDFRectangle *rectA)
+ {
+@@ -3020,7 +3020,7 @@
+ public:
+ HorizontalTextLayouter() = default;
+
+- HorizontalTextLayouter(const GooString *text, const Form *form, const GfxFont *font, std::optional<double> availableWidth, const bool noReencode)
++ HorizontalTextLayouter(const GooString *text, const Form *form, const GfxFont *font, boost::optional<double> availableWidth, const bool noReencode)
+ {
+ int i = 0;
+ double blockWidth;
+diff -ur poppler/poppler/Array.cc poppler/poppler/Array.cc
+--- poppler/poppler/Array.cc 2022-09-16 21:58:39.678843800 +0300
++++ poppler/poppler/Array.cc 2022-09-16 16:32:14.266553700 +0300
+@@ -36,7 +36,7 @@
+ // Array
+ //------------------------------------------------------------------------
+
+-#define arrayLocker() const std::scoped_lock locker(mutex)
++#define arrayLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ Array::Array(XRef *xrefA)
+ {
+diff -ur poppler/poppler/CairoFontEngine.cc poppler/poppler/CairoFontEngine.cc
+--- poppler/poppler/CairoFontEngine.cc 2022-09-16 21:58:39.910021100 +0300
++++ poppler/poppler/CairoFontEngine.cc 2022-09-16 16:32:26.488191000 +0300
+@@ -163,7 +163,7 @@
+ CairoFreeTypeFont::~CairoFreeTypeFont() { }
+
+ // Create a cairo_font_face_t for the given font filename OR font data.
+-static std::optional<FreeTypeFontFace> createFreeTypeFontFace(FT_Library lib, const std::string &filename, std::vector<unsigned char> &&font_data)
++static boost::optional<FreeTypeFontFace> createFreeTypeFontFace(FT_Library lib, const std::string &filename, std::vector<unsigned char> &&font_data)
+ {
+ FreeTypeFontResource *resource = new FreeTypeFontResource;
+ FreeTypeFontFace font_face;
+@@ -196,7 +196,7 @@
+
+ // Create a cairo_font_face_t for the given font filename OR font data. First checks if external font
+ // is in the cache.
+-std::optional<FreeTypeFontFace> CairoFreeTypeFont::getFreeTypeFontFace(CairoFontEngine *fontEngine, FT_Library lib, const std::string &filename, std::vector<unsigned char> &&font_data)
++boost::optional<FreeTypeFontFace> CairoFreeTypeFont::getFreeTypeFontFace(CairoFontEngine *fontEngine, FT_Library lib, const std::string &filename, std::vector<unsigned char> &&font_data)
+ {
+ if (font_data.empty()) {
+ return fontEngine->getExternalFontFace(lib, filename);
+@@ -210,11 +210,11 @@
+ std::string fileName;
+ std::vector<unsigned char> font_data;
+ int i, n;
+- std::optional<GfxFontLoc> fontLoc;
++ boost::optional<GfxFontLoc> fontLoc;
+ char **enc;
+ const char *name;
+ FoFiType1C *ff1c;
+- std::optional<FreeTypeFontFace> font_face;
++ boost::optional<FreeTypeFontFace> font_face;
+ std::vector<int> codeToGID;
+ bool substitute = false;
+
+@@ -604,7 +604,7 @@
+
+ std::shared_ptr<CairoFont> CairoFontEngine::getFont(const std::shared_ptr<GfxFont> &gfxFont, PDFDoc *doc, bool printing, XRef *xref)
+ {
+- std::scoped_lock lock(mutex);
++ std::unique_lock<std::recursive_mutex> locker(mutex);
+ Ref ref = *gfxFont->getID();
+ std::shared_ptr<CairoFont> font;
+
+@@ -638,9 +638,9 @@
+ return font;
+ }
+
+-std::optional<FreeTypeFontFace> CairoFontEngine::getExternalFontFace(FT_Library ftlib, const std::string &filename)
++boost::optional<FreeTypeFontFace> CairoFontEngine::getExternalFontFace(FT_Library ftlib, const std::string &filename)
+ {
+- std::scoped_lock lock(fontFileCacheMutex);
++ std::unique_lock<std::recursive_mutex> locker(mutex);
+
+ auto it = fontFileCache.find(filename);
+ if (it != fontFileCache.end()) {
+@@ -649,7 +649,7 @@
+ return font;
+ }
+
+- std::optional<FreeTypeFontFace> font_face = createFreeTypeFontFace(ftlib, filename, {});
++ boost::optional<FreeTypeFontFace> font_face = createFreeTypeFontFace(ftlib, filename, {});
+ if (font_face) {
+ cairo_font_face_reference(font_face->cairo_font_face);
+ fontFileCache[filename] = *font_face;
+diff -ur poppler/poppler/CairoFontEngine.h poppler/poppler/CairoFontEngine.h
+--- poppler/poppler/CairoFontEngine.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/CairoFontEngine.h 2022-09-16 16:27:41.762004500 +0300
+@@ -86,7 +86,7 @@
+ private:
+ CairoFreeTypeFont(Ref ref, cairo_font_face_t *cairo_font_face, std::vector<int> &&codeToGID, bool substitute);
+
+- static std::optional<FreeTypeFontFace> getFreeTypeFontFace(CairoFontEngine *fontEngine, FT_Library lib, const std::string &filename, std::vector<unsigned char> &&data);
++ static boost::optional<FreeTypeFontFace> getFreeTypeFontFace(CairoFontEngine *fontEngine, FT_Library lib, const std::string &filename, std::vector<unsigned char> &&data);
+ };
+
+ //------------------------------------------------------------------------
+@@ -120,7 +120,7 @@
+
+ std::shared_ptr<CairoFont> getFont(const std::shared_ptr<GfxFont> &gfxFont, PDFDoc *doc, bool printing, XRef *xref);
+
+- static std::optional<FreeTypeFontFace> getExternalFontFace(FT_Library ftlib, const std::string &filename);
++ static boost::optional<FreeTypeFontFace> getExternalFontFace(FT_Library ftlib, const std::string &filename);
+
+ private:
+ FT_Library lib;
+diff -ur poppler/poppler/CairoOutputDev.h poppler/poppler/CairoOutputDev.h
+--- poppler/poppler/CairoOutputDev.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/CairoOutputDev.h 2022-09-16 16:27:41.877862600 +0300
+@@ -300,7 +300,7 @@
+ bool setMimeDataForCCITTParams(Stream *str, cairo_surface_t *image, int height);
+ #endif
+
+- std::optional<GfxRGB> fill_color, stroke_color;
++ boost::optional<GfxRGB> fill_color, stroke_color;
+ cairo_pattern_t *fill_pattern, *stroke_pattern;
+ double fill_opacity;
+ double stroke_opacity;
+diff -ur poppler/poppler/Catalog.cc poppler/poppler/Catalog.cc
+--- poppler/poppler/Catalog.cc 2022-09-16 21:58:40.110102500 +0300
++++ poppler/poppler/Catalog.cc 2022-09-16 16:32:32.360067100 +0300
+@@ -71,7 +71,7 @@
+ // Catalog
+ //------------------------------------------------------------------------
+
+-#define catalogLocker() const std::scoped_lock locker(mutex)
++#define catalogLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ Catalog::Catalog(PDFDoc *docA)
+ {
+diff -ur poppler/poppler/Catalog.h poppler/poppler/Catalog.h
+--- poppler/poppler/Catalog.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/Catalog.h 2022-09-16 16:29:19.213406500 +0300
+@@ -47,7 +47,7 @@
+ #include "Link.h"
+
+ #include <memory>
+-#include <optional>
++#include <boost/optional.hpp>
+ #include <vector>
+
+ class PDFDoc;
+@@ -133,7 +133,7 @@
+ Ref *getPageRef(int i);
+
+ // Return base URI, or NULL if none.
+- const std::optional<std::string> &getBaseURI() const { return baseURI; }
++ const boost::optional<std::string> &getBaseURI() const { return baseURI; }
+
+ // Return the contents of the metadata stream, or NULL if there is
+ // no metadata.
+@@ -289,7 +289,7 @@
+ NameTree *destNameTree; // named destination name-tree
+ NameTree *embeddedFileNameTree; // embedded file name-tree
+ NameTree *jsNameTree; // Java Script name-tree
+- std::optional<std::string> baseURI; // base URI for URI-type links
++ boost::optional<std::string> baseURI; // base URI for URI-type links
+ Object metadata; // metadata stream
+ StructTreeRoot *structTreeRoot; // structure tree root
+ unsigned int markInfo; // Flags from MarkInfo dictionary
+diff -ur poppler/poppler/CharCodeToUnicode.cc poppler/poppler/CharCodeToUnicode.cc
+--- poppler/poppler/CharCodeToUnicode.cc 2022-09-16 21:58:40.210089400 +0300
++++ poppler/poppler/CharCodeToUnicode.cc 2022-09-16 16:27:42.231876900 +0300
+@@ -263,7 +263,7 @@
+ {
+ CharCodeToUnicode *ctu;
+
+- ctu = new CharCodeToUnicode(std::optional<std::string>());
++ ctu = new CharCodeToUnicode(boost::optional<std::string>());
+ const char *p = buf->c_str();
+ if (!ctu->parseCMap1(&getCharFromString, &p, nBits)) {
+ delete ctu;
+@@ -277,7 +277,7 @@
+ CharCodeToUnicode *ctu;
+ FILE *f;
+
+- ctu = new CharCodeToUnicode(std::optional<std::string>());
++ ctu = new CharCodeToUnicode(boost::optional<std::string>());
+ if ((f = globalParams->findToUnicodeFile(fileName))) {
+ if (!ctu->parseCMap1(&getCharFromFile, f, nBits)) {
+ delete ctu;
+@@ -567,7 +567,7 @@
+ isIdentity = false;
+ }
+
+-CharCodeToUnicode::CharCodeToUnicode(const std::optional<std::string> &tagA) : tag(tagA)
++CharCodeToUnicode::CharCodeToUnicode(const boost::optional<std::string> &tagA) : tag(tagA)
+ {
+ CharCode i;
+
+@@ -582,7 +582,7 @@
+ isIdentity = false;
+ }
+
+-CharCodeToUnicode::CharCodeToUnicode(const std::optional<std::string> &tagA, Unicode *mapA, CharCode mapLenA, bool copyMap, CharCodeToUnicodeString *sMapA, int sMapLenA, int sMapSizeA) : tag(tagA)
++CharCodeToUnicode::CharCodeToUnicode(const boost::optional<std::string> &tagA, Unicode *mapA, CharCode mapLenA, bool copyMap, CharCodeToUnicodeString *sMapA, int sMapLenA, int sMapSizeA) : tag(tagA)
+ {
+ mapLen = mapLenA;
+ if (copyMap) {
+diff -ur poppler/poppler/CharCodeToUnicode.h poppler/poppler/CharCodeToUnicode.h
+--- poppler/poppler/CharCodeToUnicode.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/CharCodeToUnicode.h 2022-09-16 16:29:25.010173300 +0300
+@@ -32,7 +32,7 @@
+ #define CHARCODETOUNICODE_H
+
+ #include <atomic>
+-#include <optional>
++#include <boost/optional.hpp>
+
+ #include "poppler-config.h"
+ #include "CharTypes.h"
+@@ -104,10 +104,10 @@
+ void addMapping(CharCode code, char *uStr, int n, int offset);
+ void addMappingInt(CharCode code, Unicode u);
+ CharCodeToUnicode();
+- explicit CharCodeToUnicode(const std::optional<std::string> &tagA);
+- CharCodeToUnicode(const std::optional<std::string> &tagA, Unicode *mapA, CharCode mapLenA, bool copyMap, CharCodeToUnicodeString *sMapA, int sMapLenA, int sMapSizeA);
++ explicit CharCodeToUnicode(const boost::optional<std::string> &tagA);
++ CharCodeToUnicode(const boost::optional<std::string> &tagA, Unicode *mapA, CharCode mapLenA, bool copyMap, CharCodeToUnicodeString *sMapA, int sMapLenA, int sMapSizeA);
+
+- const std::optional<std::string> tag;
++ const boost::optional<std::string> tag;
+ Unicode *map;
+ CharCode mapLen;
+ CharCodeToUnicodeString *sMap;
+diff -ur poppler/poppler/CurlPDFDocBuilder.cc poppler/poppler/CurlPDFDocBuilder.cc
+--- poppler/poppler/CurlPDFDocBuilder.cc 2022-09-16 21:58:40.396392700 +0300
++++ poppler/poppler/CurlPDFDocBuilder.cc 2022-09-16 16:27:43.096494100 +0300
+@@ -22,7 +22,7 @@
+ // CurlPDFDocBuilder
+ //------------------------------------------------------------------------
+
+-std::unique_ptr<PDFDoc> CurlPDFDocBuilder::buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA)
++std::unique_ptr<PDFDoc> CurlPDFDocBuilder::buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA)
+ {
+ CachedFile *cachedFile = new CachedFile(new CurlCachedFileLoader(uri.toStr()));
+
+diff -ur poppler/poppler/CurlPDFDocBuilder.h poppler/poppler/CurlPDFDocBuilder.h
+--- poppler/poppler/CurlPDFDocBuilder.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/CurlPDFDocBuilder.h 2022-09-16 16:27:43.181172700 +0300
+@@ -25,7 +25,7 @@
+ {
+
+ public:
+- std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) override;
++ std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) override;
+ bool supports(const GooString &uri) override;
+ };
+
+diff -ur poppler/poppler/Dict.cc poppler/poppler/Dict.cc
+--- poppler/poppler/Dict.cc 2022-09-16 21:58:40.594972000 +0300
++++ poppler/poppler/Dict.cc 2022-09-16 16:32:36.347348700 +0300
+@@ -40,7 +40,7 @@
+ // Dict
+ //------------------------------------------------------------------------
+
+-#define dictLocker() const std::scoped_lock locker(mutex)
++#define dictLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ constexpr int SORT_LENGTH_LOWER_LIMIT = 32;
+
+diff -ur poppler/poppler/FDPDFDocBuilder.cc poppler/poppler/FDPDFDocBuilder.cc
+--- poppler/poppler/FDPDFDocBuilder.cc 2022-09-16 21:58:40.665573300 +0300
++++ poppler/poppler/FDPDFDocBuilder.cc 2022-09-16 16:27:43.914144400 +0300
+@@ -34,7 +34,7 @@
+ return fd;
+ }
+
+-std::unique_ptr<PDFDoc> FileDescriptorPDFDocBuilder::buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA)
++std::unique_ptr<PDFDoc> FileDescriptorPDFDocBuilder::buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA)
+ {
+ const auto fd = parseFdFromUri(uri);
+ if (fd == -1) {
+diff -ur poppler/poppler/FDPDFDocBuilder.h poppler/poppler/FDPDFDocBuilder.h
+--- poppler/poppler/FDPDFDocBuilder.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/FDPDFDocBuilder.h 2022-09-16 16:27:43.951956600 +0300
+@@ -26,7 +26,7 @@
+ {
+
+ public:
+- std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) override;
++ std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) override;
+ bool supports(const GooString &uri) override;
+
+ private:
+diff -ur poppler/poppler/FontInfo.cc poppler/poppler/FontInfo.cc
+--- poppler/poppler/FontInfo.cc 2022-09-16 21:58:40.995479200 +0300
++++ poppler/poppler/FontInfo.cc 2022-09-16 16:27:44.484360100 +0300
+@@ -165,7 +165,7 @@
+ fontRef = *font->getID();
+
+ // font name
+- const std::optional<std::string> &origName = font->getName();
++ const boost::optional<std::string> &origName = font->getName();
+ if (origName) {
+ name = *font->getName();
+ }
+diff -ur poppler/poppler/FontInfo.h poppler/poppler/FontInfo.h
+--- poppler/poppler/FontInfo.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/FontInfo.h 2022-09-16 16:29:28.697082100 +0300
+@@ -30,7 +30,7 @@
+ #include "Object.h"
+ #include "poppler_private_export.h"
+
+-#include <optional>
++#include <boost/optional.hpp>
+ #include <string>
+ #include <unordered_set>
+
+@@ -63,9 +63,9 @@
+
+ FontInfo &operator=(const FontInfo &) = delete;
+
+- const std::optional<std::string> &getName() const { return name; };
+- const std::optional<std::string> &getSubstituteName() const { return substituteName; };
+- const std::optional<std::string> &getFile() const { return file; };
++ const boost::optional<std::string> &getName() const { return name; };
++ const boost::optional<std::string> &getSubstituteName() const { return substituteName; };
++ const boost::optional<std::string> &getFile() const { return file; };
+ const std::string &getEncoding() const { return encoding; };
+ Type getType() const { return type; };
+ bool getEmbedded() const { return emb; };
+@@ -75,9 +75,9 @@
+ Ref getEmbRef() const { return embRef; };
+
+ private:
+- std::optional<std::string> name;
+- std::optional<std::string> substituteName;
+- std::optional<std::string> file;
++ boost::optional<std::string> name;
++ boost::optional<std::string> substituteName;
++ boost::optional<std::string> file;
+ std::string encoding;
+ Type type;
+ bool emb;
+diff -ur poppler/poppler/Form.cc poppler/poppler/Form.cc
+--- poppler/poppler/Form.cc 2022-09-16 21:58:41.064544700 +0300
++++ poppler/poppler/Form.cc 2022-09-16 16:27:44.615842800 +0300
+@@ -601,8 +601,8 @@
+ }
+ #endif
+
+-bool FormWidgetSignature::signDocument(const char *saveFilename, const char *certNickname, const char *digestName, const char *password, const GooString *reason, const GooString *location, const std::optional<GooString> &ownerPassword,
+- const std::optional<GooString> &userPassword)
++bool FormWidgetSignature::signDocument(const char *saveFilename, const char *certNickname, const char *digestName, const char *password, const GooString *reason, const GooString *location, const boost::optional<GooString> &ownerPassword,
++ const boost::optional<GooString> &userPassword)
+ {
+ #ifdef ENABLE_NSS3
+ if (!certNickname) {
+@@ -689,7 +689,7 @@
+ }
+
+ bool FormWidgetSignature::signDocumentWithAppearance(const char *saveFilename, const char *certNickname, const char *digestName, const char *password, const GooString *reason, const GooString *location,
+- const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, const GooString &signatureText, const GooString &signatureTextLeft, double fontSize,
++ const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, const GooString &signatureText, const GooString &signatureTextLeft, double fontSize,
+ double leftFontSize, std::unique_ptr<AnnotColor> &&fontColor, double borderWidth, std::unique_ptr<AnnotColor> &&borderColor, std::unique_ptr<AnnotColor> &&backgroundColor)
+ {
+ // Set the appearance
+@@ -742,7 +742,7 @@
+ }
+
+ // Get start and end file position of objNum in the PDF named filename.
+-bool FormWidgetSignature::getObjectStartEnd(const GooString &filename, int objNum, Goffset *objStart, Goffset *objEnd, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword)
++bool FormWidgetSignature::getObjectStartEnd(const GooString &filename, int objNum, Goffset *objStart, Goffset *objEnd, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword)
+ {
+ PDFDoc newDoc(std::unique_ptr<GooString>(filename.copy()), ownerPassword, userPassword);
+ if (!newDoc.isOk()) {
+@@ -905,7 +905,7 @@
+ return static_cast<FormFieldSignature *>(field)->getSignedRangeBounds();
+ }
+
+-std::optional<GooString> FormWidgetSignature::getCheckedSignature(Goffset *checkedFileSize)
++boost::optional<GooString> FormWidgetSignature::getCheckedSignature(Goffset *checkedFileSize)
+ {
+ return static_cast<FormFieldSignature *>(field)->getCheckedSignature(checkedFileSize);
+ }
+@@ -2426,7 +2426,7 @@
+ return range_vec;
+ }
+
+-std::optional<GooString> FormFieldSignature::getCheckedSignature(Goffset *checkedFileSize)
++boost::optional<GooString> FormFieldSignature::getCheckedSignature(Goffset *checkedFileSize)
+ {
+ Goffset start = 0;
+ Goffset end = 0;
+diff -ur poppler/poppler/Form.h poppler/poppler/Form.h
+--- poppler/poppler/Form.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/Form.h 2022-09-16 16:29:32.981221400 +0300
+@@ -40,7 +40,7 @@
+
+ #include <ctime>
+
+-#include <optional>
++#include <boost/optional.hpp>
+ #include <set>
+ #include <vector>
+
+@@ -307,24 +307,24 @@
+ // field "ByteRange" in the dictionary "V".
+ // Arguments reason and location are UTF-16 big endian strings with BOM. An empty string and nullptr are acceptable too.
+ // Returns success.
+- bool signDocument(const char *filename, const char *certNickname, const char *digestName, const char *password, const GooString *reason = nullptr, const GooString *location = nullptr, const std::optional<GooString> &ownerPassword = {},
+- const std::optional<GooString> &userPassword = {});
++ bool signDocument(const char *filename, const char *certNickname, const char *digestName, const char *password, const GooString *reason = nullptr, const GooString *location = nullptr, const boost::optional<GooString> &ownerPassword = {},
++ const boost::optional<GooString> &userPassword = {});
+
+ // Same as above but adds text, font color, etc.
+ bool signDocumentWithAppearance(const char *filename, const char *certNickname, const char *digestName, const char *password, const GooString *reason = nullptr, const GooString *location = nullptr,
+- const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, const GooString &signatureText = {}, const GooString &signatureTextLeft = {}, double fontSize = {},
++ const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, const GooString &signatureText = {}, const GooString &signatureTextLeft = {}, double fontSize = {},
+ double leftFontSize = {}, std::unique_ptr<AnnotColor> &&fontColor = {}, double borderWidth = {}, std::unique_ptr<AnnotColor> &&borderColor = {}, std::unique_ptr<AnnotColor> &&backgroundColor = {});
+
+ // checks the length encoding of the signature and returns the hex encoded signature
+ // if the check passed (and the checked file size as output parameter in checkedFileSize)
+ // otherwise a nullptr is returned
+- std::optional<GooString> getCheckedSignature(Goffset *checkedFileSize);
++ boost::optional<GooString> getCheckedSignature(Goffset *checkedFileSize);
+
+ const GooString *getSignature() const;
+
+ private:
+ bool createSignature(Object &vObj, Ref vRef, const GooString &name, const GooString *signature, const GooString *reason = nullptr, const GooString *location = nullptr);
+- bool getObjectStartEnd(const GooString &filename, int objNum, Goffset *objStart, Goffset *objEnd, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword);
++ bool getObjectStartEnd(const GooString &filename, int objNum, Goffset *objStart, Goffset *objEnd, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword);
+ bool updateOffsets(FILE *f, Goffset objStart, Goffset objEnd, Goffset *sigStart, Goffset *sigEnd, Goffset *fileSize);
+
+ bool updateSignature(FILE *f, Goffset sigStart, Goffset sigEnd, const GooString *signature);
+@@ -611,7 +611,7 @@
+ // checks the length encoding of the signature and returns the hex encoded signature
+ // if the check passed (and the checked file size as output parameter in checkedFileSize)
+ // otherwise a nullptr is returned
+- std::optional<GooString> getCheckedSignature(Goffset *checkedFileSize);
++ boost::optional<GooString> getCheckedSignature(Goffset *checkedFileSize);
+
+ ~FormFieldSignature() override;
+ Object *getByteRange() { return &byte_range; }
+diff -ur poppler/poppler/GfxFont.cc poppler/poppler/GfxFont.cc
+--- poppler/poppler/GfxFont.cc 2022-09-16 21:58:41.211684900 +0300
++++ poppler/poppler/GfxFont.cc 2022-09-16 16:27:45.016943600 +0300
+@@ -199,7 +199,7 @@
+
+ std::unique_ptr<GfxFont> GfxFont::makeFont(XRef *xref, const char *tagA, Ref idA, Dict *fontDict)
+ {
+- std::optional<std::string> name;
++ boost::optional<std::string> name;
+ Ref embFontIDA;
+ GfxFontType typeA;
+
+@@ -223,7 +223,7 @@
+ return std::unique_ptr<GfxFont>(font);
+ }
+
+-GfxFont::GfxFont(const char *tagA, Ref idA, std::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA) : tag(tagA), id(idA), name(std::move(nameA)), type(typeA)
++GfxFont::GfxFont(const char *tagA, Ref idA, boost::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA) : tag(tagA), id(idA), name(std::move(nameA)), type(typeA)
+ {
+ ok = false;
+ embFontID = embFontIDA;
+@@ -608,7 +608,7 @@
+ return ctu;
+ }
+
+-std::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps)
++boost::optional<GfxFontLoc> GfxFont::locateFont(XRef *xref, PSOutputDev *ps)
+ {
+ SysFontType sysFontType;
+ GooString *path, *base14Name;
+@@ -616,7 +616,7 @@
+ bool embed;
+
+ if (type == fontType3) {
+- return std::nullopt;
++ return boost::none;
+ }
+
+ //----- embedded font
+@@ -682,7 +682,7 @@
+
+ //----- external font file (fontFile, fontDir)
+ if (name && (path = globalParams->findFontFile(*name))) {
+- if (std::optional<GfxFontLoc> fontLoc = getExternalFont(path, isCIDFont())) {
++ if (boost::optional<GfxFontLoc> fontLoc = getExternalFont(path, isCIDFont())) {
+ return fontLoc;
+ }
+ }
+@@ -691,7 +691,7 @@
+ if (!ps && !isCIDFont() && ((Gfx8BitFont *)this)->base14) {
+ base14Name = new GooString(((Gfx8BitFont *)this)->base14->base14Name);
+ if ((path = globalParams->findBase14FontFile(base14Name, this))) {
+- if (std::optional<GfxFontLoc> fontLoc = getExternalFont(path, false)) {
++ if (boost::optional<GfxFontLoc> fontLoc = getExternalFont(path, false)) {
+ delete base14Name;
+ return fontLoc;
+ }
+@@ -753,7 +753,7 @@
+ } else {
+ path = globalParams->findFontFile(substName);
+ if (path) {
+- if (std::optional<GfxFontLoc> fontLoc = getExternalFont(path, false)) {
++ if (boost::optional<GfxFontLoc> fontLoc = getExternalFont(path, false)) {
+ error(errSyntaxWarning, -1, "Substituting font '{0:s}' for '{1:s}'", base14SubstFonts[substIdx], name ? name->c_str() : "");
+ name = base14SubstFonts[substIdx];
+ fontLoc->substIdx = substIdx;
+@@ -763,14 +763,14 @@
+ }
+
+ // failed to find a substitute font
+- return std::nullopt;
++ return boost::none;
+ }
+
+ // failed to find a substitute font
+- return std::nullopt;
++ return boost::none;
+ }
+
+-std::optional<GfxFontLoc> GfxFont::getExternalFont(GooString *path, bool cid)
++boost::optional<GfxFontLoc> GfxFont::getExternalFont(GooString *path, bool cid)
+ {
+ FoFiIdentifierType fft;
+ GfxFontType fontType;
+@@ -805,7 +805,7 @@
+ }
+ if (fontType == fontUnknownType || (cid ? (fontType < fontCIDType0) : (fontType >= fontCIDType0))) {
+ delete path;
+- return std::nullopt;
++ return boost::none;
+ }
+ GfxFontLoc fontLoc;
+ fontLoc.locType = gfxFontLocExternal;
+@@ -814,7 +814,7 @@
+ return std::move(fontLoc); // std::move only required to please g++-7
+ }
+
+-std::optional<std::vector<unsigned char>> GfxFont::readEmbFontFile(XRef *xref)
++boost::optional<std::vector<unsigned char>> GfxFont::readEmbFontFile(XRef *xref)
+ {
+ Stream *str;
+
+@@ -942,7 +942,7 @@
+ return numeric;
+ }
+
+-Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, std::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict) : GfxFont(tagA, idA, std::move(nameA), typeA, embFontIDA)
++Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, boost::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict) : GfxFont(tagA, idA, std::move(nameA), typeA, embFontIDA)
+ {
+ const BuiltinFont *builtinFont;
+ const char **baseEnc;
+@@ -1117,7 +1117,7 @@
+ ffT1 = nullptr;
+ ffT1C = nullptr;
+ if (type == fontType1 && embFontID != Ref::INVALID()) {
+- const std::optional<std::vector<unsigned char>> buf = readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> buf = readEmbFontFile(xref);
+ if (buf) {
+ if ((ffT1 = FoFiType1::make(buf->data(), buf->size()))) {
+ if (ffT1->getName()) {
+@@ -1133,7 +1133,7 @@
+ }
+ }
+ } else if (type == fontType1C && embFontID != Ref::INVALID()) {
+- const std::optional<std::vector<unsigned char>> buf = readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> buf = readEmbFontFile(xref);
+ if (buf) {
+ if ((ffT1C = FoFiType1C::make(buf->data(), buf->size()))) {
+ if (ffT1C->getName()) {
+@@ -1707,7 +1707,7 @@
+ bool operator()(const GfxFontCIDWidthExcepV &w1, const GfxFontCIDWidthExcepV &w2) { return w1.first < w2.first; }
+ };
+
+-GfxCIDFont::GfxCIDFont(XRef *xref, const char *tagA, Ref idA, std::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict) : GfxFont(tagA, idA, std::move(nameA), typeA, embFontIDA)
++GfxCIDFont::GfxCIDFont(XRef *xref, const char *tagA, Ref idA, boost::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict) : GfxFont(tagA, idA, std::move(nameA), typeA, embFontIDA)
+ {
+ Dict *desFontDict;
+ Object desFontDictObj;
+diff -ur poppler/poppler/GfxFont.h poppler/poppler/GfxFont.h
+--- poppler/poppler/GfxFont.h 2022-09-16 21:58:36.928310000 +0300
++++ poppler/poppler/GfxFont.h 2022-09-16 16:29:36.703166800 +0300
+@@ -35,7 +35,7 @@
+ #define GFXFONT_H
+
+ #include <memory>
+-#include <optional>
++#include <boost/optional.hpp>
+
+ #include "goo/GooString.h"
+ #include "Object.h"
+@@ -216,7 +216,7 @@
+
+ // Get the original font name (ignornig any munging that might have
+ // been done to map to a canonical Base-14 font name).
+- const std::optional<std::string> &getName() const { return name; }
++ const boost::optional<std::string> &getName() const { return name; }
+
+ bool isSubset() const;
+
+@@ -275,11 +275,11 @@
+ virtual int getWMode() const { return 0; }
+
+ // Locate the font file for this font. If <ps> is not null, includes PS
+- // printer-resident fonts. Returns std::optional without a value on failure.
+- std::optional<GfxFontLoc> locateFont(XRef *xref, PSOutputDev *ps);
++ // printer-resident fonts. Returns boost::optional without a value on failure.
++ boost::optional<GfxFontLoc> locateFont(XRef *xref, PSOutputDev *ps);
+
+ // Read an external or embedded font file into a buffer.
+- std::optional<std::vector<unsigned char>> readEmbFontFile(XRef *xref);
++ boost::optional<std::vector<unsigned char>> readEmbFontFile(XRef *xref);
+
+ // Get the next char from a string <s> of <len> bytes, returning the
+ // char <code>, its Unicode mapping <u>, its displacement vector
+@@ -301,16 +301,16 @@
+ static const char *getAlternateName(const char *name);
+
+ protected:
+- GfxFont(const char *tagA, Ref idA, std::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA);
++ GfxFont(const char *tagA, Ref idA, boost::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA);
+
+ static GfxFontType getFontType(XRef *xref, Dict *fontDict, Ref *embID);
+ void readFontDescriptor(XRef *xref, Dict *fontDict);
+ CharCodeToUnicode *readToUnicodeCMap(Dict *fontDict, int nBits, CharCodeToUnicode *ctu);
+- static std::optional<GfxFontLoc> getExternalFont(GooString *path, bool cid);
++ static boost::optional<GfxFontLoc> getExternalFont(GooString *path, bool cid);
+
+ const std::string tag; // PDF font tag
+ const Ref id; // reference (used as unique ID)
+- std::optional<std::string> name; // font name
++ boost::optional<std::string> name; // font name
+ GooString *family; // font family
+ Stretch stretch; // font stretch
+ Weight weight; // font weight
+@@ -335,7 +335,7 @@
+ class POPPLER_PRIVATE_EXPORT Gfx8BitFont : public GfxFont
+ {
+ public:
+- Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, std::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
++ Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, boost::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
+
+ int getNextChar(const char *s, int len, CharCode *code, Unicode const **u, int *uLen, double *dx, double *dy, double *ox, double *oy) const override;
+
+@@ -395,7 +395,7 @@
+ class POPPLER_PRIVATE_EXPORT GfxCIDFont : public GfxFont
+ {
+ public:
+- GfxCIDFont(XRef *xref, const char *tagA, Ref idA, std::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
++ GfxCIDFont(XRef *xref, const char *tagA, Ref idA, boost::optional<std::string> &&nameA, GfxFontType typeA, Ref embFontIDA, Dict *fontDict);
+
+ bool isCIDFont() const override { return true; }
+
+diff -ur poppler/poppler/GlobalParams.cc poppler/poppler/GlobalParams.cc
+--- poppler/poppler/GlobalParams.cc 2022-09-16 21:58:41.327712200 +0300
++++ poppler/poppler/GlobalParams.cc 2022-09-16 16:36:52.853893500 +0300
+@@ -395,9 +395,9 @@
+ return fi;
+ }
+
+-#define globalParamsLocker() const std::scoped_lock locker(mutex)
+-#define unicodeMapCacheLocker() const std::scoped_lock locker(unicodeMapCacheMutex)
+-#define cMapCacheLocker() const std::scoped_lock locker(cMapCacheMutex)
++#define globalParamsLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
++#define unicodeMapCacheLocker() std::unique_lock<std::recursive_mutex> locker(unicodeMapCacheMutex)
++#define cMapCacheLocker() std::unique_lock<std::recursive_mutex> locker(cMapCacheMutex)
+
+ //------------------------------------------------------------------------
+ // parsing
+@@ -953,7 +953,7 @@
+ const SysFontInfo *fi = nullptr;
+ FcPattern *p = nullptr;
+ GooString *path = nullptr;
+- const std::optional<std::string> &fontName = font->getName();
++ const boost::optional<std::string> &fontName = font->getName();
+ GooString substituteName;
+ if (!fontName) {
+ return nullptr;
+@@ -1267,7 +1267,7 @@
+ const SysFontInfo *fi;
+ GooString *path;
+
+- const std::optional<std::string> &fontName = font->getName();
++ const boost::optional<std::string> &fontName = font->getName();
+ if (!fontName)
+ return nullptr;
+
+@@ -1406,7 +1406,7 @@
+
+ GlobalParamsIniter::GlobalParamsIniter(ErrorCallback errorCallback)
+ {
+- const std::scoped_lock lock { mutex };
++ std::lock_guard<std::mutex> lock { mutex };
+
+ if (count == 0) {
+ globalParams = std::make_unique<GlobalParams>(!customDataDir.empty() ? customDataDir.c_str() : nullptr);
+@@ -1419,7 +1419,7 @@
+
+ GlobalParamsIniter::~GlobalParamsIniter()
+ {
+- const std::scoped_lock lock { mutex };
++ std::lock_guard<std::mutex> lock { mutex };
+
+ --count;
+
+@@ -1430,7 +1430,7 @@
+
+ bool GlobalParamsIniter::setCustomDataDir(const std::string &dir)
+ {
+- const std::scoped_lock lock { mutex };
++ std::lock_guard<std::mutex> lock { mutex };
+
+ if (count == 0) {
+ customDataDir = dir;
+diff -ur poppler/poppler/GlobalParamsWin.cc poppler/poppler/GlobalParamsWin.cc
+--- poppler/poppler/GlobalParamsWin.cc 2022-09-16 21:58:41.381093500 +0300
++++ poppler/poppler/GlobalParamsWin.cc 2022-09-16 16:33:34.090528600 +0300
+@@ -467,10 +467,10 @@
+ {
+ const SysFontInfo *fi;
+ GooString *path = nullptr;
+- const std::optional<std::string> &fontName = font->getName();
++ const boost::optional<std::string> &fontName = font->getName();
+ if (!fontName)
+ return nullptr;
+- const std::scoped_lock locker(mutex);
++ std::unique_lock<std::recursive_mutex> locker(mutex);
+ setupBaseFonts(POPPLER_FONTSDIR);
+
+ // TODO: base14Name should be changed?
+@@ -505,7 +505,7 @@
+
+ FamilyStyleFontSearchResult GlobalParams::findSystemFontFileForFamilyAndStyle(const std::string &fontFamily, const std::string &fontStyle)
+ {
+- const std::scoped_lock locker(mutex);
++ std::unique_lock<std::recursive_mutex> locker(mutex);
+ setupBaseFonts(POPPLER_FONTSDIR);
+
+ const std::string familyAndStyle = fontFamily + " " + fontStyle;
+@@ -520,7 +520,7 @@
+
+ UCharFontSearchResult GlobalParams::findSystemFontFileForUChar(Unicode uChar, const GfxFont &fontToEmulate)
+ {
+- const std::scoped_lock locker(mutex);
++ std::unique_lock<std::recursive_mutex> locker(mutex);
+ setupBaseFonts(POPPLER_FONTSDIR);
+
+ const std::vector<SysFontInfo *> &fonts = sysFonts->getFonts();
+diff -ur poppler/poppler/Link.cc poppler/poppler/Link.cc
+--- poppler/poppler/Link.cc 2022-09-16 21:58:41.835750600 +0300
++++ poppler/poppler/Link.cc 2022-09-16 16:27:46.843405900 +0300
+@@ -63,13 +63,13 @@
+ return action;
+ }
+
+-std::unique_ptr<LinkAction> LinkAction::parseAction(const Object *obj, const std::optional<std::string> &baseURI)
++std::unique_ptr<LinkAction> LinkAction::parseAction(const Object *obj, const boost::optional<std::string> &baseURI)
+ {
+ std::set<int> seenNextActions;
+ return parseAction(obj, baseURI, &seenNextActions);
+ }
+
+-std::unique_ptr<LinkAction> LinkAction::parseAction(const Object *obj, const std::optional<std::string> &baseURI, std::set<int> *seenNextActions)
++std::unique_ptr<LinkAction> LinkAction::parseAction(const Object *obj, const boost::optional<std::string> &baseURI, std::set<int> *seenNextActions)
+ {
+
+ if (!obj->isDict()) {
+@@ -513,7 +513,7 @@
+ // LinkURI
+ //------------------------------------------------------------------------
+
+-LinkURI::LinkURI(const Object *uriObj, const std::optional<std::string> &baseURI)
++LinkURI::LinkURI(const Object *uriObj, const boost::optional<std::string> &baseURI)
+ {
+ hasURIFlag = false;
+ if (uriObj->isString()) {
+diff -ur poppler/poppler/Link.h poppler/poppler/Link.h
+--- poppler/poppler/Link.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/Link.h 2022-09-16 16:28:57.630770800 +0300
+@@ -35,7 +35,7 @@
+ #include "Object.h"
+ #include "poppler_private_export.h"
+ #include <memory>
+-#include <optional>
++#include <boost/optional.hpp>
+ #include <set>
+
+ class GooString;
+@@ -87,13 +87,13 @@
+ static std::unique_ptr<LinkAction> parseDest(const Object *obj);
+
+ // Parse an action dictionary.
+- static std::unique_ptr<LinkAction> parseAction(const Object *obj, const std::optional<std::string> &baseURI = {});
++ static std::unique_ptr<LinkAction> parseAction(const Object *obj, const boost::optional<std::string> &baseURI = {});
+
+ // A List of the next actions to execute in order.
+ const std::vector<std::unique_ptr<LinkAction>> &nextActions() const;
+
+ private:
+- static std::unique_ptr<LinkAction> parseAction(const Object *obj, const std::optional<std::string> &baseURI, std::set<int> *seenNextActions);
++ static std::unique_ptr<LinkAction> parseAction(const Object *obj, const boost::optional<std::string> &baseURI, std::set<int> *seenNextActions);
+
+ std::vector<std::unique_ptr<LinkAction>> nextActionList;
+ };
+@@ -243,7 +243,7 @@
+ {
+ public:
+ // Build a LinkURI given the URI (string) and base URI.
+- LinkURI(const Object *uriObj, const std::optional<std::string> &baseURI);
++ LinkURI(const Object *uriObj, const boost::optional<std::string> &baseURI);
+
+ ~LinkURI() override;
+
+diff -ur poppler/poppler/LocalPDFDocBuilder.cc poppler/poppler/LocalPDFDocBuilder.cc
+--- poppler/poppler/LocalPDFDocBuilder.cc 2022-09-16 21:58:41.867032500 +0300
++++ poppler/poppler/LocalPDFDocBuilder.cc 2022-09-16 16:27:46.990572300 +0300
+@@ -18,7 +18,7 @@
+ // LocalPDFDocBuilder
+ //------------------------------------------------------------------------
+
+-std::unique_ptr<PDFDoc> LocalPDFDocBuilder::buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA)
++std::unique_ptr<PDFDoc> LocalPDFDocBuilder::buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA)
+ {
+ if (uri.cmpN("file://", 7) == 0) {
+ std::unique_ptr<GooString> fileName(uri.copy());
+diff -ur poppler/poppler/LocalPDFDocBuilder.h poppler/poppler/LocalPDFDocBuilder.h
+--- poppler/poppler/LocalPDFDocBuilder.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/LocalPDFDocBuilder.h 2022-09-16 16:27:47.037437500 +0300
+@@ -25,7 +25,7 @@
+ {
+
+ public:
+- std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) override;
++ std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) override;
+ bool supports(const GooString &uri) override;
+ };
+
+diff -ur poppler/poppler/Page.cc poppler/poppler/Page.cc
+--- poppler/poppler/Page.cc 2022-09-16 21:58:42.283721100 +0300
++++ poppler/poppler/Page.cc 2022-09-16 16:33:42.958478900 +0300
+@@ -249,7 +249,7 @@
+ // Page
+ //------------------------------------------------------------------------
+
+-#define pageLocker() const std::scoped_lock locker(mutex)
++#define pageLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ Page::Page(PDFDoc *docA, int numA, Object &&pageDict, Ref pageRefA, PageAttrs *attrsA, Form *form)
+ {
+diff -ur poppler/poppler/PDFDoc.cc poppler/poppler/PDFDoc.cc
+--- poppler/poppler/PDFDoc.cc 2022-09-16 21:58:42.483511900 +0300
++++ poppler/poppler/PDFDoc.cc 2022-09-16 16:33:47.447609100 +0300
+@@ -121,11 +121,11 @@
+ // PDFDoc
+ //------------------------------------------------------------------------
+
+-#define pdfdocLocker() const std::scoped_lock locker(mutex)
++#define pdfdocLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ PDFDoc::PDFDoc() { }
+
+-PDFDoc::PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA, const std::function<void()> &xrefReconstructedCallback)
++PDFDoc::PDFDoc(std::unique_ptr<GooString> &&fileNameA, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA, const std::function<void()> &xrefReconstructedCallback)
+ : fileName(std::move(fileNameA)), guiData(guiDataA)
+ {
+ #ifdef _WIN32
+@@ -160,7 +160,7 @@
+ }
+
+ #ifdef _WIN32
+-PDFDoc::PDFDoc(wchar_t *fileNameA, int fileNameLen, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA, const std::function<void()> &xrefReconstructedCallback) : guiData(guiDataA)
++PDFDoc::PDFDoc(wchar_t *fileNameA, int fileNameLen, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA, const std::function<void()> &xrefReconstructedCallback) : guiData(guiDataA)
+ {
+ OSVERSIONINFO version;
+
+@@ -196,7 +196,7 @@
+ }
+ #endif
+
+-PDFDoc::PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA, const std::function<void()> &xrefReconstructedCallback) : guiData(guiDataA)
++PDFDoc::PDFDoc(BaseStream *strA, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA, const std::function<void()> &xrefReconstructedCallback) : guiData(guiDataA)
+ {
+ if (strA->getFileName()) {
+ fileName.reset(strA->getFileName()->copy());
+@@ -213,7 +213,7 @@
+ ok = setup(ownerPassword, userPassword, xrefReconstructedCallback);
+ }
+
+-bool PDFDoc::setup(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, const std::function<void()> &xrefReconstructedCallback)
++bool PDFDoc::setup(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, const std::function<void()> &xrefReconstructedCallback)
+ {
+ pdfdocLocker();
+
+@@ -389,7 +389,7 @@
+ // We don't do the version check. Don't add it back in.
+ }
+
+-bool PDFDoc::checkEncryption(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword)
++bool PDFDoc::checkEncryption(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword)
+ {
+ bool encrypted;
+ bool ret;
+@@ -2154,7 +2154,7 @@
+
+ bool PDFDoc::sign(const char *saveFilename, const char *certNickname, const char *password, GooString *partialFieldName, int page, const PDFRectangle &rect, const GooString &signatureText, const GooString &signatureTextLeft,
+ double fontSize, double leftFontSize, std::unique_ptr<AnnotColor> &&fontColor, double borderWidth, std::unique_ptr<AnnotColor> &&borderColor, std::unique_ptr<AnnotColor> &&backgroundColor, const GooString *reason,
+- const GooString *location, const std::string &imagePath, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword)
++ const GooString *location, const std::string &imagePath, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword)
+ {
+ ::Page *destPage = getPage(page);
+ if (destPage == nullptr) {
+diff -ur poppler/poppler/PDFDoc.h poppler/poppler/PDFDoc.h
+--- poppler/poppler/PDFDoc.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/PDFDoc.h 2022-09-16 16:27:48.425364000 +0300
+@@ -130,14 +130,14 @@
+ class POPPLER_PRIVATE_EXPORT PDFDoc
+ {
+ public:
+- explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
++ explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
+ const std::function<void()> &xrefReconstructedCallback = {});
+
+ #ifdef _WIN32
+- PDFDoc(wchar_t *fileNameA, int fileNameLen, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
++ PDFDoc(wchar_t *fileNameA, int fileNameLen, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
+ #endif
+
+- explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
++ explicit PDFDoc(BaseStream *strA, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
+ ~PDFDoc();
+
+ PDFDoc(const PDFDoc &) = delete;
+@@ -493,7 +493,7 @@
+ // sign() takes ownership of partialFieldName.
+ bool sign(const char *saveFilename, const char *certNickname, const char *password, GooString *partialFieldName, int page, const PDFRectangle &rect, const GooString &signatureText, const GooString &signatureTextLeft, double fontSize,
+ double leftFontSize, std::unique_ptr<AnnotColor> &&fontColor, double borderWidth, std::unique_ptr<AnnotColor> &&borderColor, std::unique_ptr<AnnotColor> &&backgroundColor, const GooString *reason = nullptr,
+- const GooString *location = nullptr, const std::string &imagePath = "", const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {});
++ const GooString *location = nullptr, const std::string &imagePath = "", const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {});
+
+ private:
+ // insert referenced objects in XRef
+@@ -526,10 +526,10 @@
+ Hints *getHints();
+
+ PDFDoc();
+- bool setup(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, const std::function<void()> &xrefReconstructedCallback);
++ bool setup(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, const std::function<void()> &xrefReconstructedCallback);
+ bool checkFooter();
+ void checkHeader();
+- bool checkEncryption(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword);
++ bool checkEncryption(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword);
+ void extractPDFSubtype();
+
+ // Get the offset of the start xref table.
+diff -ur poppler/poppler/PDFDocBuilder.h poppler/poppler/PDFDocBuilder.h
+--- poppler/poppler/PDFDocBuilder.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/PDFDocBuilder.h 2022-09-16 16:27:48.525644000 +0300
+@@ -38,7 +38,7 @@
+ // Builds a new PDFDoc. Returns a PDFDoc. You should check this PDFDoc
+ // with PDFDoc::isOk() for failures.
+ // The caller is responsible for deleting ownerPassword, userPassWord and guiData.
+- virtual std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) = 0;
++ virtual std::unique_ptr<PDFDoc> buildPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr) = 0;
+
+ // Returns true if the builder supports building a PDFDoc from the URI.
+ virtual bool supports(const GooString &uri) = 0;
+diff -ur poppler/poppler/PDFDocFactory.cc poppler/poppler/PDFDocFactory.cc
+--- poppler/poppler/PDFDocFactory.cc 2022-09-16 21:58:42.630812800 +0300
++++ poppler/poppler/PDFDocFactory.cc 2022-09-16 16:27:48.663754200 +0300
+@@ -54,7 +54,7 @@
+ }
+ }
+
+-std::unique_ptr<PDFDoc> PDFDocFactory::createPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword, void *guiDataA)
++std::unique_ptr<PDFDoc> PDFDocFactory::createPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword, void *guiDataA)
+ {
+ for (int i = builders->size() - 1; i >= 0; i--) {
+ PDFDocBuilder *builder = (*builders)[i];
+diff -ur poppler/poppler/PDFDocFactory.h poppler/poppler/PDFDocFactory.h
+--- poppler/poppler/PDFDocFactory.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/PDFDocFactory.h 2022-09-16 16:27:48.748339700 +0300
+@@ -46,7 +46,7 @@
+ // Create a PDFDoc. Returns a PDFDoc. You should check this PDFDoc
+ // with PDFDoc::isOk() for failures.
+ // The caller is responsible for deleting ownerPassword, userPassWord and guiData.
+- std::unique_ptr<PDFDoc> createPDFDoc(const GooString &uri, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr);
++ std::unique_ptr<PDFDoc> createPDFDoc(const GooString &uri, const boost::optional<GooString> &ownerPassword = {}, const boost::optional<GooString> &userPassword = {}, void *guiDataA = nullptr);
+
+ // Extend supported URIs with the ones from the PDFDocBuilder.
+ void registerPDFDocBuilder(PDFDocBuilder *pdfDocBuilder);
+diff -ur poppler/poppler/PSOutputDev.cc poppler/poppler/PSOutputDev.cc
+--- poppler/poppler/PSOutputDev.cc 2022-09-16 21:58:42.831194900 +0300
++++ poppler/poppler/PSOutputDev.cc 2022-09-16 16:27:49.196271400 +0300
+@@ -1979,7 +1979,7 @@
+ psName = GooString::format("T3_{0:d}_{1:d}", font->getID()->num, font->getID()->gen).release();
+ setupType3Font(font, psName, parentResDict);
+ } else {
+- std::optional<GfxFontLoc> fontLoc = font->locateFont(xref, this);
++ boost::optional<GfxFontLoc> fontLoc = font->locateFont(xref, this);
+ if (fontLoc) {
+ switch (fontLoc->locType) {
+ case gfxFontLocEmbedded:
+@@ -2395,7 +2395,7 @@
+ embFontList->append("\n");
+
+ // convert it to a Type 1 font
+- const std::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
+ if (fontBuf) {
+ if ((ffT1C = FoFiType1C::make(fontBuf->data(), fontBuf->size()))) {
+ ffT1C->convertToType1(psName->c_str(), nullptr, true, outputFunc, outputStream);
+@@ -2434,7 +2434,7 @@
+ embFontList->append("\n");
+
+ // convert it to a Type 1 font
+- const std::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
+ if (fontBuf) {
+ if (std::unique_ptr<FoFiTrueType> ffTT = FoFiTrueType::make(fontBuf->data(), fontBuf->size())) {
+ if (ffTT->isOpenTypeCFF()) {
+@@ -2458,7 +2458,7 @@
+ embFontList->append("\n");
+
+ // convert it to a Type 42 font
+- const std::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
+ if (fontBuf) {
+ if (std::unique_ptr<FoFiTrueType> ffTT = FoFiTrueType::make(fontBuf->data(), fontBuf->size())) {
+ codeToGID = ((Gfx8BitFont *)font)->getCodeToGIDMap(ffTT.get());
+@@ -2595,7 +2595,7 @@
+ embFontList->append("\n");
+
+ // convert it to a Type 0 font
+- const std::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
+ if (fontBuf) {
+ if ((ffT1C = FoFiType1C::make(fontBuf->data(), fontBuf->size()))) {
+ if (level >= psLevel3) {
+@@ -2622,7 +2622,7 @@
+ embFontList->append("\n");
+
+ // convert it to a Type 0 font
+- const std::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
+ if (fontBuf) {
+ if (std::unique_ptr<FoFiTrueType> ffTT = FoFiTrueType::make(fontBuf->data(), fontBuf->size())) {
+ if (level >= psLevel3) {
+@@ -2668,7 +2668,7 @@
+ embFontList->append("\n");
+
+ // convert it to a Type 0 font
+- const std::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontBuf = font->readEmbFontFile(xref);
+ if (fontBuf) {
+ if (std::unique_ptr<FoFiTrueType> ffTT = FoFiTrueType::make(fontBuf->data(), fontBuf->size())) {
+ if (ffTT->isOpenTypeCFF()) {
+diff -ur poppler/poppler/SecurityHandler.cc poppler/poppler/SecurityHandler.cc
+--- poppler/poppler/SecurityHandler.cc 2022-09-16 21:58:43.016329200 +0300
++++ poppler/poppler/SecurityHandler.cc 2022-09-16 16:27:49.497002700 +0300
+@@ -62,7 +62,7 @@
+
+ SecurityHandler::~SecurityHandler() { }
+
+-bool SecurityHandler::checkEncryption(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword)
++bool SecurityHandler::checkEncryption(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword)
+ {
+ void *authData;
+
+@@ -290,7 +290,7 @@
+ return encVersion == -1 && encRevision == -1;
+ }
+
+-void *StandardSecurityHandler::makeAuthData(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword)
++void *StandardSecurityHandler::makeAuthData(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword)
+ {
+ return new StandardAuthData(ownerPassword ? ownerPassword->copy() : nullptr, userPassword ? userPassword->copy() : nullptr);
+ }
+diff -ur poppler/poppler/SecurityHandler.h poppler/poppler/SecurityHandler.h
+--- poppler/poppler/SecurityHandler.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/poppler/SecurityHandler.h 2022-09-16 16:29:39.504613800 +0300
+@@ -27,7 +27,7 @@
+
+ #include "Object.h"
+
+-#include <optional>
++#include <boost/optional.hpp>
+
+ class GooString;
+ class PDFDoc;
+@@ -59,12 +59,12 @@
+ // document can be opened (if it's unencrypted, or if a correct
+ // password is obtained); false otherwise (encrypted and no correct
+ // password).
+- bool checkEncryption(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword);
++ bool checkEncryption(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword);
+
+ // Create authorization data for the specified owner and user
+ // passwords. If the security handler doesn't support "batch" mode,
+ // this function should return NULL.
+- virtual void *makeAuthData(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) = 0;
++ virtual void *makeAuthData(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) = 0;
+
+ // Free the authorization data returned by makeAuthData or
+ // getAuthData.
+@@ -101,7 +101,7 @@
+ ~StandardSecurityHandler() override;
+
+ bool isUnencrypted() const override;
+- void *makeAuthData(const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) override;
++ void *makeAuthData(const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) override;
+ void freeAuthData(void *authData) override;
+ bool authorize(void *authData) override;
+ int getPermissionFlags() const override { return permFlags; }
+diff -ur poppler/poppler/SignatureHandler.cc poppler/poppler/SignatureHandler.cc
+--- poppler/poppler/SignatureHandler.cc 2022-09-16 21:58:43.053838500 +0300
++++ poppler/poppler/SignatureHandler.cc 2022-09-16 16:29:42.905567600 +0300
+@@ -26,7 +26,7 @@
+ #include "goo/gdir.h"
+ #include "goo/gmem.h"
+
+-#include <optional>
++#include <boost/optional.hpp>
+
+ #include <Error.h>
+
+@@ -703,7 +703,7 @@
+ }
+ }
+
+-static std::optional<std::string> getDefaultFirefoxCertDB()
++static boost::optional<std::string> getDefaultFirefoxCertDB()
+ {
+ #ifdef _WIN32
+ const char *env = getenv("APPDATA");
+@@ -756,7 +756,7 @@
+ initSuccess = (NSS_Init(nssDir.c_str()) == SECSuccess);
+ sNssDir = nssDir.toStr();
+ } else {
+- const std::optional<std::string> certDBPath = getDefaultFirefoxCertDB();
++ const boost::optional<std::string> certDBPath = getDefaultFirefoxCertDB();
+ if (!certDBPath) {
+ initSuccess = (NSS_Init("sql:/etc/pki/nssdb") == SECSuccess);
+ sNssDir = "sql:/etc/pki/nssdb";
+diff -ur poppler/poppler/SplashOutputDev.cc poppler/poppler/SplashOutputDev.cc
+--- poppler/poppler/SplashOutputDev.cc 2022-09-16 21:58:43.216349700 +0300
++++ poppler/poppler/SplashOutputDev.cc 2022-09-16 16:27:50.045157400 +0300
+@@ -1880,7 +1880,7 @@
+
+ } else {
+
+- std::optional<GfxFontLoc> fontLoc = gfxFont->locateFont((xref) ? xref : doc->getXRef(), nullptr);
++ boost::optional<GfxFontLoc> fontLoc = gfxFont->locateFont((xref) ? xref : doc->getXRef(), nullptr);
+ if (!fontLoc) {
+ error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+ goto err2;
+@@ -1888,7 +1888,7 @@
+
+ // embedded font
+ std::string fileName;
+- std::optional<std::vector<unsigned char>> tmpBuf;
++ boost::optional<std::vector<unsigned char>> tmpBuf;
+
+ if (fontLoc->locType == gfxFontLocEmbedded) {
+ // if there is an embedded font, read it to memory
+diff -ur poppler/poppler/XRef.cc poppler/poppler/XRef.cc
+--- poppler/poppler/XRef.cc 2022-09-16 21:58:43.739914900 +0300
++++ poppler/poppler/XRef.cc 2022-09-16 16:33:54.004790900 +0300
+@@ -234,7 +234,7 @@
+ // XRef
+ //------------------------------------------------------------------------
+
+-#define xrefLocker() const std::scoped_lock locker(mutex)
++#define xrefLocker() std::unique_lock<std::recursive_mutex> locker(mutex)
+
+ XRef::XRef() : objStrs { 5 }
+ {
+diff -ur poppler/qt5/src/poppler-annotation.cc poppler/qt5/src/poppler-annotation.cc
+--- poppler/qt5/src/poppler-annotation.cc 2022-09-16 21:58:43.802403600 +0300
++++ poppler/qt5/src/poppler-annotation.cc 2022-09-16 16:27:54.525570000 +0300
+@@ -916,7 +916,7 @@
+ // data fields
+ TextAnnotation::TextType textType;
+ QString textIcon;
+- std::optional<QFont> textFont;
++ boost::optional<QFont> textFont;
+ QColor textColor = Qt::black;
+ int inplaceAlign; // 0:left, 1:center, 2:right
+ QVector<QPointF> inplaceCallout;
+diff -ur poppler/qt5/src/poppler-form.cc poppler/qt5/src/poppler-form.cc
+--- poppler/qt5/src/poppler-form.cc 2022-09-16 21:58:44.156316400 +0300
++++ poppler/qt5/src/poppler-form.cc 2022-09-16 16:27:54.957870900 +0300
+@@ -1074,7 +1074,7 @@
+ priv->range_bounds.append(bound);
+ }
+ }
+- const std::optional<GooString> checkedSignature = fws->getCheckedSignature(&priv->docLength);
++ const boost::optional<GooString> checkedSignature = fws->getCheckedSignature(&priv->docLength);
+ if (priv->range_bounds.size() == 4 && checkedSignature) {
+ priv->signature = QByteArray::fromHex(checkedSignature->c_str());
+ }
+@@ -1090,7 +1090,7 @@
+ }
+
+ Goffset file_size = 0;
+- const std::optional<GooString> sig = fws->getCheckedSignature(&file_size);
++ const boost::optional<GooString> sig = fws->getCheckedSignature(&file_size);
+ if (sig) {
+ // the above unsigned_signature_field check
+ // should already catch this, but double check
+@@ -1098,8 +1098,8 @@
+ }
+ const auto reason = std::unique_ptr<GooString>(data.reason().isEmpty() ? nullptr : QStringToUnicodeGooString(data.reason()));
+ const auto location = std::unique_ptr<GooString>(data.location().isEmpty() ? nullptr : QStringToUnicodeGooString(data.location()));
+- const auto ownerPwd = std::optional<GooString>(data.documentOwnerPassword().constData());
+- const auto userPwd = std::optional<GooString>(data.documentUserPassword().constData());
++ const auto ownerPwd = boost::optional<GooString>(data.documentOwnerPassword().constData());
++ const auto userPwd = boost::optional<GooString>(data.documentUserPassword().constData());
+ const auto gSignatureText = std::unique_ptr<GooString>(QStringToUnicodeGooString(data.signatureText()));
+ const auto gSignatureLeftText = std::unique_ptr<GooString>(QStringToUnicodeGooString(data.signatureLeftText()));
+
+diff -ur poppler/qt5/src/poppler-pdf-converter.cc poppler/qt5/src/poppler-pdf-converter.cc
+--- poppler/qt5/src/poppler-pdf-converter.cc 2022-09-16 21:58:44.688637900 +0300
++++ poppler/qt5/src/poppler-pdf-converter.cc 2022-09-16 16:27:55.929224400 +0300
+@@ -138,8 +138,8 @@
+ std::unique_ptr<GooString> gSignatureLeftText = std::unique_ptr<GooString>(QStringToUnicodeGooString(data.signatureLeftText()));
+ const auto reason = std::unique_ptr<GooString>(data.reason().isEmpty() ? nullptr : QStringToUnicodeGooString(data.reason()));
+ const auto location = std::unique_ptr<GooString>(data.location().isEmpty() ? nullptr : QStringToUnicodeGooString(data.location()));
+- const auto ownerPwd = std::optional<GooString>(data.documentOwnerPassword().constData());
+- const auto userPwd = std::optional<GooString>(data.documentUserPassword().constData());
++ const auto ownerPwd = boost::optional<GooString>(data.documentOwnerPassword().constData());
++ const auto userPwd = boost::optional<GooString>(data.documentUserPassword().constData());
+ return doc->sign(d->outputFileName.toUtf8().constData(), data.certNickname().toUtf8().constData(), data.password().toUtf8().constData(), QStringToGooString(data.fieldPartialName()), data.page() + 1,
+ boundaryToPdfRectangle(destPage, data.boundingRectangle(), Annotation::FixedRotation), *gSignatureText, *gSignatureLeftText, data.fontSize(), data.leftFontSize(), convertQColor(data.fontColor()), data.borderWidth(),
+ convertQColor(data.borderColor()), convertQColor(data.backgroundColor()), reason.get(), location.get(), data.imagePath().toStdString(), ownerPwd, userPwd);
+diff -ur poppler/qt5/src/poppler-private.h poppler/qt5/src/poppler-private.h
+--- poppler/qt5/src/poppler-private.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/qt5/src/poppler-private.h 2022-09-16 16:27:56.082938600 +0300
+@@ -104,7 +104,7 @@
+ class DocumentData : private GlobalParamsIniter
+ {
+ public:
+- DocumentData(const QString &filePath, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) : GlobalParamsIniter(qt5ErrorFunction)
++ DocumentData(const QString &filePath, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) : GlobalParamsIniter(qt5ErrorFunction)
+ {
+ init();
+ m_device = nullptr;
+@@ -117,7 +117,7 @@
+ #endif
+ }
+
+- DocumentData(QIODevice *device, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) : GlobalParamsIniter(qt5ErrorFunction)
++ DocumentData(QIODevice *device, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) : GlobalParamsIniter(qt5ErrorFunction)
+ {
+ m_device = device;
+ QIODeviceInStream *str = new QIODeviceInStream(device, 0, false, device->size(), Object(objNull));
+@@ -125,7 +125,7 @@
+ doc = new PDFDoc(str, ownerPassword, userPassword, nullptr, std::bind(&DocumentData::noitfyXRefReconstructed, this));
+ }
+
+- DocumentData(const QByteArray &data, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) : GlobalParamsIniter(qt5ErrorFunction)
++ DocumentData(const QByteArray &data, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) : GlobalParamsIniter(qt5ErrorFunction)
+ {
+ m_device = nullptr;
+ fileContents = data;
+diff -ur poppler/qt5/src/QPainterOutputDev.cc poppler/qt5/src/QPainterOutputDev.cc
+--- poppler/qt5/src/QPainterOutputDev.cc 2022-09-16 21:58:45.036351300 +0300
++++ poppler/qt5/src/QPainterOutputDev.cc 2022-09-16 16:27:56.631141300 +0300
+@@ -456,13 +456,13 @@
+ // New font: load it into the cache
+ float fontSize = state->getFontSize();
+
+- std::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
++ boost::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
+
+ if (fontLoc) {
+ // load the font from respective location
+ switch (fontLoc->locType) {
+ case gfxFontLocEmbedded: { // if there is an embedded font, read it to memory
+- const std::optional<std::vector<unsigned char>> fontData = gfxFont->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontData = gfxFont->readEmbFontFile(xref);
+
+ // fontData gets copied in the QByteArray constructor
+ m_rawFont = new QRawFont(QByteArray(fontData ? (const char *)fontData->data() : nullptr, fontData ? fontData->size() : 0), fontSize, m_hintingPreference);
+@@ -519,9 +519,9 @@
+
+ } else {
+
+- std::optional<std::vector<unsigned char>> fontBuffer;
++ boost::optional<std::vector<unsigned char>> fontBuffer;
+
+- std::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
++ boost::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
+ if (!fontLoc) {
+ error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+ return;
+diff -ur poppler/qt6/src/poppler-annotation.cc poppler/qt6/src/poppler-annotation.cc
+--- poppler/qt6/src/poppler-annotation.cc 2022-09-16 21:58:45.421753700 +0300
++++ poppler/qt6/src/poppler-annotation.cc 2022-09-16 16:28:00.741508000 +0300
+@@ -836,7 +836,7 @@
+ // data fields
+ TextAnnotation::TextType textType;
+ QString textIcon;
+- std::optional<QFont> textFont;
++ boost::optional<QFont> textFont;
+ QColor textColor = Qt::black;
+ TextAnnotation::InplaceAlignPosition inplaceAlign;
+ QVector<QPointF> inplaceCallout;
+diff -ur poppler/qt6/src/poppler-form.cc poppler/qt6/src/poppler-form.cc
+--- poppler/qt6/src/poppler-form.cc 2022-09-16 21:58:45.690879600 +0300
++++ poppler/qt6/src/poppler-form.cc 2022-09-16 16:28:01.195951400 +0300
+@@ -1074,7 +1074,7 @@
+ priv->range_bounds.append(bound);
+ }
+ }
+- const std::optional<GooString> checkedSignature = fws->getCheckedSignature(&priv->docLength);
++ const boost::optional<GooString> checkedSignature = fws->getCheckedSignature(&priv->docLength);
+ if (priv->range_bounds.size() == 4 && checkedSignature) {
+ priv->signature = QByteArray::fromHex(checkedSignature->c_str());
+ }
+@@ -1090,7 +1090,7 @@
+ }
+
+ Goffset file_size = 0;
+- const std::optional<GooString> sig = fws->getCheckedSignature(&file_size);
++ const boost::optional<GooString> sig = fws->getCheckedSignature(&file_size);
+ if (sig) {
+ // the above unsigned_signature_field check
+ // should already catch this, but double check
+@@ -1098,8 +1098,8 @@
+ }
+ const auto reason = std::unique_ptr<GooString>(data.reason().isEmpty() ? nullptr : QStringToUnicodeGooString(data.reason()));
+ const auto location = std::unique_ptr<GooString>(data.location().isEmpty() ? nullptr : QStringToUnicodeGooString(data.location()));
+- const auto ownerPwd = std::optional<GooString>(data.documentOwnerPassword().constData());
+- const auto userPwd = std::optional<GooString>(data.documentUserPassword().constData());
++ const auto ownerPwd = boost::optional<GooString>(data.documentOwnerPassword().constData());
++ const auto userPwd = boost::optional<GooString>(data.documentUserPassword().constData());
+ const auto gSignatureText = std::unique_ptr<GooString>(QStringToUnicodeGooString(data.signatureText()));
+ const auto gSignatureLeftText = std::unique_ptr<GooString>(QStringToUnicodeGooString(data.signatureLeftText()));
+
+diff -ur poppler/qt6/src/poppler-pdf-converter.cc poppler/qt6/src/poppler-pdf-converter.cc
+--- poppler/qt6/src/poppler-pdf-converter.cc 2022-09-16 21:58:46.138849200 +0300
++++ poppler/qt6/src/poppler-pdf-converter.cc 2022-09-16 16:28:02.298624000 +0300
+@@ -138,8 +138,8 @@
+ std::unique_ptr<GooString> gSignatureLeftText = std::unique_ptr<GooString>(QStringToUnicodeGooString(data.signatureLeftText()));
+ const auto reason = std::unique_ptr<GooString>(data.reason().isEmpty() ? nullptr : QStringToUnicodeGooString(data.reason()));
+ const auto location = std::unique_ptr<GooString>(data.location().isEmpty() ? nullptr : QStringToUnicodeGooString(data.location()));
+- const auto ownerPwd = std::optional<GooString>(data.documentOwnerPassword().constData());
+- const auto userPwd = std::optional<GooString>(data.documentUserPassword().constData());
++ const auto ownerPwd = boost::optional<GooString>(data.documentOwnerPassword().constData());
++ const auto userPwd = boost::optional<GooString>(data.documentUserPassword().constData());
+ return doc->sign(d->outputFileName.toUtf8().constData(), data.certNickname().toUtf8().constData(), data.password().toUtf8().constData(), QStringToGooString(data.fieldPartialName()), data.page() + 1,
+ boundaryToPdfRectangle(destPage, data.boundingRectangle(), Annotation::FixedRotation), *gSignatureText, *gSignatureLeftText, data.fontSize(), data.leftFontSize(), convertQColor(data.fontColor()), data.borderWidth(),
+ convertQColor(data.borderColor()), convertQColor(data.backgroundColor()), reason.get(), location.get(), data.imagePath().toStdString(), ownerPwd, userPwd);
+diff -ur poppler/qt6/src/poppler-private.h poppler/qt6/src/poppler-private.h
+--- poppler/qt6/src/poppler-private.h 2022-09-01 01:30:57.000000000 +0300
++++ poppler/qt6/src/poppler-private.h 2022-09-16 16:28:02.430145200 +0300
+@@ -103,7 +103,7 @@
+ class DocumentData : private GlobalParamsIniter
+ {
+ public:
+- DocumentData(const QString &filePath, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) : GlobalParamsIniter(qt6ErrorFunction)
++ DocumentData(const QString &filePath, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) : GlobalParamsIniter(qt6ErrorFunction)
+ {
+ init();
+ m_device = nullptr;
+@@ -116,7 +116,7 @@
+ #endif
+ }
+
+- DocumentData(QIODevice *device, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) : GlobalParamsIniter(qt6ErrorFunction)
++ DocumentData(QIODevice *device, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) : GlobalParamsIniter(qt6ErrorFunction)
+ {
+ m_device = device;
+ QIODeviceInStream *str = new QIODeviceInStream(device, 0, false, device->size(), Object(objNull));
+@@ -124,7 +124,7 @@
+ doc = new PDFDoc(str, ownerPassword, userPassword, nullptr, std::bind(&DocumentData::noitfyXRefReconstructed, this));
+ }
+
+- DocumentData(const QByteArray &data, const std::optional<GooString> &ownerPassword, const std::optional<GooString> &userPassword) : GlobalParamsIniter(qt6ErrorFunction)
++ DocumentData(const QByteArray &data, const boost::optional<GooString> &ownerPassword, const boost::optional<GooString> &userPassword) : GlobalParamsIniter(qt6ErrorFunction)
+ {
+ m_device = nullptr;
+ fileContents = data;
+diff -ur poppler/qt6/src/QPainterOutputDev.cc poppler/qt6/src/QPainterOutputDev.cc
+--- poppler/qt6/src/QPainterOutputDev.cc 2022-09-16 21:58:46.508788000 +0300
++++ poppler/qt6/src/QPainterOutputDev.cc 2022-09-16 16:28:03.084267900 +0300
+@@ -456,13 +456,13 @@
+ // New font: load it into the cache
+ float fontSize = state->getFontSize();
+
+- std::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
++ boost::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
+
+ if (fontLoc) {
+ // load the font from respective location
+ switch (fontLoc->locType) {
+ case gfxFontLocEmbedded: { // if there is an embedded font, read it to memory
+- const std::optional<std::vector<unsigned char>> fontData = gfxFont->readEmbFontFile(xref);
++ const boost::optional<std::vector<unsigned char>> fontData = gfxFont->readEmbFontFile(xref);
+
+ // fontData gets copied in the QByteArray constructor
+ m_rawFont = new QRawFont(QByteArray(fontData ? (const char *)fontData->data() : nullptr, fontData ? fontData->size() : 0), fontSize, m_hintingPreference);
+@@ -519,9 +519,9 @@
+
+ } else {
+
+- std::optional<std::vector<unsigned char>> fontBuffer;
++ boost::optional<std::vector<unsigned char>> fontBuffer;
+
+- std::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
++ boost::optional<GfxFontLoc> fontLoc = gfxFont->locateFont(xref, nullptr);
+ if (!fontLoc) {
+ error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+ return;
+diff -ur poppler/test/cairo-thread-test.cc poppler/test/cairo-thread-test.cc
+--- poppler/test/cairo-thread-test.cc 2022-09-16 21:58:47.521142700 +0300
++++ poppler/test/cairo-thread-test.cc 2022-09-16 16:34:02.295177800 +0300
+@@ -95,7 +95,7 @@
+
+ void pushJob(std::unique_ptr<Job> &job)
+ {
+- std::scoped_lock lock { mutex };
++ std::unique_lock<std::recursive_mutex> locker(mutex);
+ queue.push_back(std::move(job));
+ condition.notify_one();
+ }
+diff -ur poppler/test/pdf-fullrewrite.cc poppler/test/pdf-fullrewrite.cc
+--- poppler/test/pdf-fullrewrite.cc 2022-09-16 21:58:47.948504400 +0300
++++ poppler/test/pdf-fullrewrite.cc 2022-09-16 16:28:07.674133900 +0300
+@@ -39,8 +39,8 @@
+ {
+ PDFDoc *doc = nullptr;
+ PDFDoc *docOut = nullptr;
+- std::optional<GooString> ownerPW;
+- std::optional<GooString> userPW;
++ boost::optional<GooString> ownerPW;
++ boost::optional<GooString> userPW;
+ int res = 0;
+
+ // parse args
+diff -ur poppler/utils/HtmlFonts.cc poppler/utils/HtmlFonts.cc
+--- poppler/utils/HtmlFonts.cc 2022-09-16 21:58:48.311749200 +0300
++++ poppler/utils/HtmlFonts.cc 2022-09-16 16:28:08.144188300 +0300
+@@ -142,7 +142,7 @@
+ italic = true;
+ }
+
+- if (const std::optional<std::string> &fontname = font.getName()) {
++ if (const boost::optional<std::string> &fontname = font.getName()) {
+ FontName = new GooString(*fontname);
+
+ GooString fontnameLower(*fontname);
+diff -ur poppler/utils/pdfdetach.cc poppler/utils/pdfdetach.cc
+--- poppler/utils/pdfdetach.cc 2022-09-16 21:58:48.765935200 +0300
++++ poppler/utils/pdfdetach.cc 2022-09-16 16:28:09.200135500 +0300
+@@ -75,7 +75,7 @@
+ std::unique_ptr<PDFDoc> doc;
+ GooString *fileName;
+ const UnicodeMap *uMap;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ char uBuf[8];
+ char path[1024];
+ char *p;
+diff -ur poppler/utils/pdffonts.cc poppler/utils/pdffonts.cc
+--- poppler/utils/pdffonts.cc 2022-09-16 21:58:48.866190300 +0300
++++ poppler/utils/pdffonts.cc 2022-09-16 16:28:09.316058100 +0300
+@@ -68,7 +68,7 @@
+
+ int main(int argc, char *argv[])
+ {
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ bool ok;
+
+ Win32Console win32Console(&argc, &argv);
+diff -ur poppler/utils/pdfimages.cc poppler/utils/pdfimages.cc
+--- poppler/utils/pdfimages.cc 2022-09-16 21:58:48.966442700 +0300
++++ poppler/utils/pdfimages.cc 2022-09-16 16:28:09.416306000 +0300
+@@ -98,7 +98,7 @@
+ {
+ GooString *fileName;
+ char *imgRoot = nullptr;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ ImageOutputDev *imgOut;
+ bool ok;
+
+diff -ur poppler/utils/pdfinfo.cc poppler/utils/pdfinfo.cc
+--- poppler/utils/pdfinfo.cc 2022-09-16 21:58:49.113549500 +0300
++++ poppler/utils/pdfinfo.cc 2022-09-16 16:28:09.494410900 +0300
+@@ -920,7 +920,7 @@
+ {
+ std::unique_ptr<PDFDoc> doc;
+ GooString *fileName;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ const UnicodeMap *uMap;
+ FILE *f;
+ bool ok;
+diff -ur poppler/utils/pdfsig.cc poppler/utils/pdfsig.cc
+--- poppler/utils/pdfsig.cc 2022-09-16 21:58:49.314079800 +0300
++++ poppler/utils/pdfsig.cc 2022-09-16 16:28:09.701475800 +0300
+@@ -289,7 +289,7 @@
+
+ std::unique_ptr<GooString> fileName = std::make_unique<GooString>(argv[1]);
+
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ if (ownerPassword[0] != '\001') {
+ ownerPW = GooString(ownerPassword);
+ }
+@@ -425,7 +425,7 @@
+
+ FormFieldSignature *ffs = signatures.at(signatureNumber - 1);
+ Goffset file_size = 0;
+- const std::optional<GooString> sig = ffs->getCheckedSignature(&file_size);
++ const boost::optional<GooString> sig = ffs->getCheckedSignature(&file_size);
+ if (sig) {
+ printf("Signature number %d is already signed\n", signatureNumber);
+ return 2;
+@@ -530,7 +530,7 @@
+ if (ranges.size() == 4) {
+ printf(" - Signed Ranges: [%lld - %lld], [%lld - %lld]\n", ranges[0], ranges[1], ranges[2], ranges[3]);
+ Goffset checked_file_size;
+- const std::optional<GooString> signature = signatures.at(i)->getCheckedSignature(&checked_file_size);
++ const boost::optional<GooString> signature = signatures.at(i)->getCheckedSignature(&checked_file_size);
+ if (signature && checked_file_size == ranges[3]) {
+ printf(" - Total document signed\n");
+ } else {
+diff -ur poppler/utils/pdftocairo.cc poppler/utils/pdftocairo.cc
+--- poppler/utils/pdftocairo.cc 2022-09-16 21:58:49.483371200 +0300
++++ poppler/utils/pdftocairo.cc 2022-09-16 16:28:09.948904300 +0300
+@@ -900,7 +900,7 @@
+ GooString *outputName = nullptr;
+ GooString *outputFileName = nullptr;
+ GooString *imageFileName = nullptr;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ CairoOutputDev *cairoOut;
+ int pg, pg_num_len;
+ double pg_w, pg_h, tmp, output_w, output_h;
+diff -ur poppler/utils/pdftohtml.cc poppler/utils/pdftohtml.cc
+--- poppler/utils/pdftohtml.cc 2022-09-16 21:58:49.599244600 +0300
++++ poppler/utils/pdftohtml.cc 2022-09-16 16:28:10.080425900 +0300
+@@ -165,7 +165,7 @@
+ SplashOutputDev *splashOut = nullptr;
+ bool doOutline;
+ bool ok;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ Object info;
+ int exit_status = EXIT_FAILURE;
+
+diff -ur poppler/utils/pdftoppm.cc poppler/utils/pdftoppm.cc
+--- poppler/utils/pdftoppm.cc 2022-09-16 21:58:49.683883000 +0300
++++ poppler/utils/pdftoppm.cc 2022-09-16 16:28:10.198840800 +0300
+@@ -401,7 +401,7 @@
+ GooString *fileName = nullptr;
+ char *ppmRoot = nullptr;
+ char *ppmFile;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ SplashColor paperColor;
+ #ifndef UTILS_USE_PTHREADS
+ SplashOutputDev *splashOut;
+diff -ur poppler/utils/pdftops.cc poppler/utils/pdftops.cc
+--- poppler/utils/pdftops.cc 2022-09-16 21:58:49.752940500 +0300
++++ poppler/utils/pdftops.cc 2022-09-16 16:28:10.318740600 +0300
+@@ -197,7 +197,7 @@
+ GooString *psFileName;
+ PSLevel level;
+ PSOutMode mode;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ PSOutputDev *psOut;
+ bool ok;
+ int exitCode;
+diff -ur poppler/utils/pdftotext.cc poppler/utils/pdftotext.cc
+--- poppler/utils/pdftotext.cc 2022-09-16 21:58:49.831085500 +0300
++++ poppler/utils/pdftotext.cc 2022-09-16 16:28:10.465845300 +0300
+@@ -167,7 +167,7 @@
+ std::unique_ptr<PDFDoc> doc;
+ GooString *fileName;
+ GooString *textFileName;
+- std::optional<GooString> ownerPW, userPW;
++ boost::optional<GooString> ownerPW, userPW;
+ TextOutputDev *textOut;
+ FILE *f;
+ const UnicodeMap *uMap;
diff --git a/external/python3/python-3.5.4-ssl.patch.1 b/external/python3/python-3.5.4-ssl.patch.1
index beb6fe38882f..7dfe878ef80d 100644
--- a/external/python3/python-3.5.4-ssl.patch.1
+++ b/external/python3/python-3.5.4-ssl.patch.1
@@ -81,3 +81,14 @@ diff -ru python3.orig/setup.py python3/setup.py
'/usr/contrib/ssl/lib/'
] )
+--- python3/setup.py.orig2 2022-09-21 16:04:12.855249707 +0200
++++ python3/setup.py 2022-09-21 16:04:30.752236913 +0200
+@@ -848,7 +848,7 @@
+
+ # look for the openssl version header on the compiler search path.
+ opensslv_h = find_file('openssl/opensslv.h', [],
+- inc_dirs + search_for_ssl_incs_in)
++ search_for_ssl_incs_in + inc_dirs)
+ if opensslv_h:
+ name = os.path.join(opensslv_h[0], 'openssl/opensslv.h')
+ if host_platform == 'darwin' and is_macosx_sdk_path(name):
diff --git a/external/zlib/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d.patch b/external/zlib/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d.patch
new file mode 100644
index 000000000000..c5c95a92b28a
--- /dev/null
+++ b/external/zlib/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d.patch
@@ -0,0 +1,29 @@
+From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
+From: Mark Adler <fork@madler.net>
+Date: Mon, 8 Aug 2022 10:50:09 -0700
+Subject: [PATCH] Fix extra field processing bug that dereferences NULL
+ state->head.
+
+The recent commit to fix a gzip header extra field processing bug
+introduced the new bug fixed here.
+---
+ inflate.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/inflate.c b/inflate.c
+index 7a7289749..2a3c4fe98 100644
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,10 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
+- len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+ state->head->extra != Z_NULL &&
+- len < state->head->extra_max) {
++ (len = state->head->extra_len - state->length) <
++ state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
diff --git a/external/zlib/UnpackedTarball_zlib.mk b/external/zlib/UnpackedTarball_zlib.mk
index fa476b918b7c..10ee74b9568a 100644
--- a/external/zlib/UnpackedTarball_zlib.mk
+++ b/external/zlib/UnpackedTarball_zlib.mk
@@ -16,4 +16,11 @@ $(eval $(call gb_UnpackedTarball_set_post_action,zlib,\
cp $(addsuffix .c,adler32 compress crc32 deflate inffast inflate inftrees trees zutil) x64 \
))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,zlib,1))
+
+$(eval $(call gb_UnpackedTarball_add_patches,zlib,\
+ external/zlib/eff308af425b67093bab25f80f1ae950166bece1.patch \
+ external/zlib/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d.patch \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/external/zlib/eff308af425b67093bab25f80f1ae950166bece1.patch b/external/zlib/eff308af425b67093bab25f80f1ae950166bece1.patch
new file mode 100644
index 000000000000..dc84d3a1d385
--- /dev/null
+++ b/external/zlib/eff308af425b67093bab25f80f1ae950166bece1.patch
@@ -0,0 +1,32 @@
+From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
+From: Mark Adler <fork@madler.net>
+Date: Sat, 30 Jul 2022 15:51:11 -0700
+Subject: [PATCH] Fix a bug when getting a gzip header extra field with
+ inflate().
+
+If the extra field was larger than the space the user provided with
+inflateGetHeader(), and if multiple calls of inflate() delivered
+the extra header data, then there could be a buffer overflow of the
+provided space. This commit assures that provided space is not
+exceeded.
+---
+ inflate.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/inflate.c b/inflate.c
+index 7be8c6366..7a7289749 100644
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,9 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
++ len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+- state->head->extra != Z_NULL) {
+- len = state->head->extra_len - state->length;
++ state->head->extra != Z_NULL &&
++ len < state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
diff --git a/filter/source/xsltfilter/LibXSLTTransformer.hxx b/filter/source/xsltfilter/LibXSLTTransformer.hxx
index 2e434033f93c..4ec405901ec7 100644
--- a/filter/source/xsltfilter/LibXSLTTransformer.hxx
+++ b/filter/source/xsltfilter/LibXSLTTransformer.hxx
@@ -68,7 +68,7 @@ namespace XSLT
static const sal_Int32 OUTPUT_BUFFER_SIZE;
static const sal_Int32 INPUT_BUFFER_SIZE;
- LibXSLTTransformer* m_transformer;
+ rtl::Reference<LibXSLTTransformer> m_transformer;
Sequence<sal_Int8> m_readBuf;
Sequence<sal_Int8> m_writeBuf;
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index a8fb0b42541d..b85fdff6dc9e 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -1176,8 +1176,12 @@ bool FormulaMissingContext::AddMissingExternal( FormulaTokenArray *pNewArr ) con
const OUString &rName = mpFunc->GetExternal();
- // initial (fast) check:
- sal_Unicode nLastChar = rName[ rName.getLength() - 1];
+ // initial (fast) checks:
+ sal_Int32 nLength = rName.getLength();
+ if (!nLength)
+ return false;
+
+ sal_Unicode nLastChar = rName[ nLength - 1];
if ( nLastChar != 't' && nLastChar != 'm' )
return false;
diff --git a/icon-themes/breeze/sfx2/res/logo.png b/icon-themes/breeze/sfx2/res/logo.png
index ace737a89fd9..e2cd4aaa3aea 100755
--- a/icon-themes/breeze/sfx2/res/logo.png
+++ b/icon-themes/breeze/sfx2/res/logo.png
Binary files differ
diff --git a/icon-themes/cib/sfx2/res/logo.png b/icon-themes/cib/sfx2/res/logo.png
index ace737a89fd9..4ae4a19b1ccb 100644
--- a/icon-themes/cib/sfx2/res/logo.png
+++ b/icon-themes/cib/sfx2/res/logo.png
Binary files differ
diff --git a/icon-themes/colibre/sfx2/res/logo.png b/icon-themes/colibre/sfx2/res/logo.png
index ace737a89fd9..e2cd4aaa3aea 100644
--- a/icon-themes/colibre/sfx2/res/logo.png
+++ b/icon-themes/colibre/sfx2/res/logo.png
Binary files differ
diff --git a/icon-themes/elementary/sfx2/res/logo.png b/icon-themes/elementary/sfx2/res/logo.png
index ace737a89fd9..e2cd4aaa3aea 100755
--- a/icon-themes/elementary/sfx2/res/logo.png
+++ b/icon-themes/elementary/sfx2/res/logo.png
Binary files differ
diff --git a/icon-themes/karasa_jaga/sfx2/res/logo.png b/icon-themes/karasa_jaga/sfx2/res/logo.png
index ace737a89fd9..e2cd4aaa3aea 100644
--- a/icon-themes/karasa_jaga/sfx2/res/logo.png
+++ b/icon-themes/karasa_jaga/sfx2/res/logo.png
Binary files differ
diff --git a/icon-themes/sifr/sfx2/res/logo.png b/icon-themes/sifr/sfx2/res/logo.png
index ace737a89fd9..e2cd4aaa3aea 100755
--- a/icon-themes/sifr/sfx2/res/logo.png
+++ b/icon-themes/sifr/sfx2/res/logo.png
Binary files differ
diff --git a/icon-themes/tango/sfx2/res/logo.png b/icon-themes/tango/sfx2/res/logo.png
index ace737a89fd9..e2cd4aaa3aea 100644
--- a/icon-themes/tango/sfx2/res/logo.png
+++ b/icon-themes/tango/sfx2/res/logo.png
Binary files differ
diff --git a/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp b/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp
index f734f3a2eeaf..8f9ce2d0ba44 100644
--- a/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp
+++ b/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp
Binary files differ
diff --git a/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp b/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp
index f1aa5699dff7..a6cf9c7a816c 100644
--- a/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp
+++ b/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp
Binary files differ
diff --git a/instsetoo_native/inc_ooohelppack/windows/msi_templates/Property.idt b/instsetoo_native/inc_ooohelppack/windows/msi_templates/Property.idt
index 1e78c7476822..3b3a2b351b07 100644
--- a/instsetoo_native/inc_ooohelppack/windows/msi_templates/Property.idt
+++ b/instsetoo_native/inc_ooohelppack/windows/msi_templates/Property.idt
@@ -8,9 +8,9 @@ ApplicationUsers AllUsers
ALLUSERS 1
ARPCOMMENTS ARPCOMMENTSTEMPLATE
ARPCONTACT CIB software GmbH
-ARPHELPLINK https://libreoffice.cib.eu
-ARPURLINFOABOUT https://libreoffice.cib.eu
-ARPURLUPDATEINFO https://libreoffice.cib.eu
+ARPHELPLINK https://www.cib.de/office
+ARPURLINFOABOUT https://www.cib.de/office
+ARPURLUPDATEINFO https://www.cib.de/office
DefaultUIFont Tahoma8
DialogCaption Windows Installer
DiskPrompt [1]
diff --git a/instsetoo_native/util/openoffice.lst.in b/instsetoo_native/util/openoffice.lst.in
index 18d3aa742cd7..ee133e75ba8e 100644
--- a/instsetoo_native/util/openoffice.lst.in
+++ b/instsetoo_native/util/openoffice.lst.in
@@ -8,21 +8,21 @@ Globals
UREPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
URELAYERVERSION 1
REFERENCEOOOMAJORMINOR 4.1
- WINDOWSBASISROOTNAME LibreOffice powered by CIB
- UNIXBASISROOTNAME libreofficepoweredbycib@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
+ WINDOWSBASISROOTNAME CIB Office
+ UNIXBASISROOTNAME ciboffice@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
HIDELICENSEDIALOG 1
PACKAGEPREFIX
- BASISPACKAGEPREFIX libreofficepoweredbycibbasis
- UREPACKAGEPREFIX libreofficepoweredbycib
+ BASISPACKAGEPREFIX cibofficebasis
+ UREPACKAGEPREFIX ciboffice
SOLSUREPACKAGEPREFIX libreoffice
- PROGRESSBARCOLOR 255,255,255
+ PROGRESSBARCOLOR 85,90,95
PROGRESSSIZE 460,6
PROGRESSSIZEHIGH 617,12
PROGRESSPOSITION 26,235
PROGRESSPOSITIONHIGH 46,212
- PROGRESSFRAMECOLOR 255,255,255
+ PROGRESSFRAMECOLOR 85,90,95
PROGRESSTEXTBASELINE 230
- PROGRESSTEXTCOLOR 255,255,255
+ PROGRESSTEXTCOLOR 85,90,95
NATIVEPROGRESS false
REGISTRYLAYERNAME Layers
SERVICEPACK 1
@@ -41,13 +41,13 @@ Globals
}
}
-LibreOfficePoweredByCIB
+CIBOffice
{
Settings
{
variables
{
- PRODUCTNAME LibreOffice powered by CIB
+ PRODUCTNAME CIB Office
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION -@LIBO_VERSION_PATCH@
POSTVERSIONEXTENSION
@@ -71,7 +71,7 @@ LibreOfficePoweredByCIB
CHANGETARGETDIR 1
PATCHCODEFILE ooo_patchcodes.txt
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://libreoffice.cib.eu
+ STARTCENTER_INFO_URL https://www.cib.de/office
STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/
DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/
STARTCENTER_HIDE_EXTERNAL_LINKS 0
@@ -79,24 +79,24 @@ LibreOfficePoweredByCIB
active 1
compression 5
script setup_osl
- downloadname LibreOfficePoweredByCIB_{productversion}_{os}_install_{languages}
- langpackdownloadname LibreOfficePoweredByCIB_{productversion}_languagepack_{os}_install_{languages}
- helppackdownloadname LibreOfficePoweredByCIB_{productversion}_helppack_{os}_install_{languages}
+ downloadname CIBOffice_{productversion}_{os}_install_{languages}
+ langpackdownloadname CIBOffice_{productversion}_languagepack_{os}_install_{languages}
+ helppackdownloadname CIBOffice_{productversion}_helppack_{os}_install_{languages}
include {installscriptdir},{customtargetpath}/readlicense_oo/readme,{customtargetpath}/sysui/{pkgtype},{customtargetpath}/setup_native,{filelistpath}/PackageSet,{filelistpath}/GeneratedPackage,{filelistpath}/Package,{filelistpath}/ExtensionPackage,{filelistpath}/CustomTarget/helpcontent2/help3xsl/filelists,{extensionsdir},{licensepath},{packinfopath}
}
}
-LibreOfficePoweredByCIBDev
+CIBOfficeDev
{
Settings
{
variables
{
- PRODUCTNAME LibreOffice Powered By CIB Dev
+ PRODUCTNAME CIB Office Dev
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
- WINDOWSBASISROOTNAME LibreOfficeDev @LIBO_VERSION_MAJOR@
- UNIXBASISROOTNAME libreofficedev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
+ WINDOWSBASISROOTNAME CIBOfficeDev @LIBO_VERSION_MAJOR@
+ UNIXBASISROOTNAME cibofficedev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
POSTVERSIONEXTENSION
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
@@ -105,9 +105,9 @@ LibreOfficePoweredByCIBDev
ABOUTBOXPRODUCTVERSIONSUFFIX @LIBO_VERSION_SUFFIX_SUFFIX@
BASEPRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
DEVELOPMENTPRODUCT 1
- BASISPACKAGEPREFIX libreofficepoweredbycibdevbasis
- UREPACKAGEPREFIX libreofficepoweredbycibdev
- SOLSUREPACKAGEPREFIX libreofficepoweredbycibdev
+ BASISPACKAGEPREFIX cibofficedevbasis
+ UREPACKAGEPREFIX cibofficedev
+ SOLSUREPACKAGEPREFIX cibofficedev
REGISTRYLAYERNAME LayerDev
UPDATEURL https://update.libreoffice.org/check.php
ADD_INCLUDE_FILES cli_ure/version/version.txt,unoil/climaker/version.txt
@@ -124,28 +124,28 @@ LibreOfficePoweredByCIBDev
CODEFILENAME codes_ooodev.txt
LOCALUSERDIR $ORIGIN/..
STARTCENTER_ADDFEATURE_URL https://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://libreoffice.cib.eu
+ STARTCENTER_INFO_URL https://www.cib.de/office
STARTCENTER_TEMPLREP_URL https://templates.libreoffice.org/
DICT_REPO_URL https://extensions.libreoffice.org/dictionaries/
}
active 1
compression 5
script setup_osl
- downloadname LibreOfficePoweredByCIBDev_{productversion}_{os}_install_{languages}
- langpackdownloadname LibreOfficePoweredByCIBDev_{productversion}_languagepack_{os}_install_{languages}
- helppackdownloadname LibreOfficePoweredByCIBDev_{productversion}_helppack_{os}_install_{languages}
+ downloadname CIBOfficeDev_{productversion}_{os}_install_{languages}
+ langpackdownloadname CIBOfficeDev_{productversion}_languagepack_{os}_install_{languages}
+ helppackdownloadname CIBOfficeDev_{productversion}_helppack_{os}_install_{languages}
include {installscriptdir},{customtargetpath}/readlicense_oo/readme,{customtargetpath}/sysui/{pkgtype},{customtargetpath}/setup_native,{filelistpath}/PackageSet,{filelistpath}/GeneratedPackage,{filelistpath}/Package,{filelistpath}/ExtensionPackage,{filelistpath}/CustomTarget/helpcontent2/help3xsl/filelists,{extensionsdir},{licensepath},{packinfopath}
}
}
-LibreOfficePoweredByCIB_SDK
+CIBOffice_SDK
{
Settings
{
- downloadname LibreOfficePoweredByCIB-SDK_{packageversion}_{os}_install_{languages}
+ downloadname CIBOffice-SDK_{packageversion}_{os}_install_{languages}
variables
{
- PRODUCTNAME LibreOffice Powered By CIB
+ PRODUCTNAME CIB Office
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
POSTVERSIONEXTENSION SDK
@@ -165,7 +165,7 @@ LibreOfficePoweredByCIB_SDK
CHANGETARGETDIR 1
DONTUSESTARTMENUFOLDER 1
STARTCENTER_ADDFEATURE_URL https://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://libreoffice.cib.eu
+ STARTCENTER_INFO_URL https://www.cib.de/office
STARTCENTER_TEMPLREP_URL https://templates.libreoffice.org/
DICT_REPO_URL https://extensions.libreoffice.org/dictionaries/
}
@@ -176,26 +176,26 @@ LibreOfficePoweredByCIB_SDK
}
}
-LibreOfficePoweredByCIBDev_SDK
+CIBOfficeDev_SDK
{
Settings
{
- downloadname LibreOfficePoweredByCIBDev-SDK_{packageversion}_{os}_install_{languages}
+ downloadname CIBOfficeDev-SDK_{packageversion}_{os}_install_{languages}
variables
{
- PRODUCTNAME LibreOfficePoweredByCIBDev
+ PRODUCTNAME CIBOfficeDev
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
- WINDOWSBASISROOTNAME LibreOfficeDev @LIBO_VERSION_MAJOR@
- UNIXBASISROOTNAME libreofficedev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
+ WINDOWSBASISROOTNAME CIBOfficeDev @LIBO_VERSION_MAJOR@
+ UNIXBASISROOTNAME cibofficedev@LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
POSTVERSIONEXTENSION SDK
BUNDLEIDENTIFIER @MACOSX_BUNDLE_IDENTIFIER@.SDK
BRANDPACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PACKAGEVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
PACKAGEREVISION {buildid}
BASISPACKAGEPREFIX lodevbasis
- UREPACKAGEPREFIX libreofficedev
- SOLSUREPACKAGEPREFIX libreofficedev
+ UREPACKAGEPREFIX cibofficedev
+ SOLSUREPACKAGEPREFIX cibofficedev
REGISTRYLAYERNAME LayerDev
DEVELOPMENTPRODUCT 1
PACK_INSTALLED 1
@@ -210,7 +210,7 @@ LibreOfficePoweredByCIBDev_SDK
CHANGETARGETDIR 1
DONTUSESTARTMENUFOLDER 1
STARTCENTER_ADDFEATURE_URL https://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://libreoffice.cib.eu
+ STARTCENTER_INFO_URL https://www.cib.de/office
STARTCENTER_TEMPLREP_URL https://templates.libreoffice.org/
DICT_REPO_URL https://extensions.libreoffice.org/dictionaries/
}
diff --git a/oox/source/ole/vbacontrol.cxx b/oox/source/ole/vbacontrol.cxx
index 36b9278c079d..36200523149b 100644
--- a/oox/source/ole/vbacontrol.cxx
+++ b/oox/source/ole/vbacontrol.cxx
@@ -440,13 +440,17 @@ void VbaFormControl::importStorage( StorageBase& rStrg, const AxClassTable& rCla
if ( xPageSiteRef.get() )
idToPage[ xPageSiteRef->getId() ] = control;
}
- else
+ else if (elem->getControlType() == API_CONTROL_TABSTRIP)
{
AxTabStripModel* pTabStrip = static_cast<AxTabStripModel*>(elem.get());
sCaptions = pTabStrip->maItems;
pMultiPage->mnActiveTab = pTabStrip->mnListIndex;
pMultiPage->mnTabStyle = pTabStrip->mnTabStyle;
}
+ else
+ {
+ SAL_WARN("oox", "unexpected control type " << elem->getControlType());
+ }
}
// apply caption/titles to pages
auto itCtrlId = pMultiPage->mnIDs.begin();
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index dff46dffd699..a5b9c8fbe781 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -541,6 +541,8 @@ private:
bool mbTrackFormulasPending : 1;
bool mbFinalTrackFormulas : 1;
+ // This indicates if a ScOutputData::LayoutStrings() is in progress.
+ bool mbLayoutStrings : 1;
size_t mnMutationGuardFlags;
@@ -2429,6 +2431,9 @@ public:
SC_DLLPUBLIC ScColumnsRange GetColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const;
+ bool IsInLayoutStrings() const { return mbLayoutStrings; }
+ void SetLayoutStrings(bool bSet) { mbLayoutStrings = bSet; }
+
private:
/**
diff --git a/sc/qa/extras/scpdfexport.cxx b/sc/qa/extras/scpdfexport.cxx
index 02f00f8fac5d..69bcbde242d6 100644
--- a/sc/qa/extras/scpdfexport.cxx
+++ b/sc/qa/extras/scpdfexport.cxx
@@ -55,12 +55,16 @@ private:
// unit tests
public:
void testExportRange_Tdf120161();
+ void testForcepoint97();
CPPUNIT_TEST_SUITE(ScPDFExportTest);
CPPUNIT_TEST(testExportRange_Tdf120161);
+ CPPUNIT_TEST(testForcepoint97);
CPPUNIT_TEST_SUITE_END();
};
+char const DATA_DIRECTORY[] = "/sc/qa/extras/testdocuments/";
+
void ScPDFExportTest::setUp()
{
test::BootstrapFixture::setUp();
@@ -278,6 +282,18 @@ void ScPDFExportTest::testExportRange_Tdf120161()
}
}
+// just needs to not crash on export to pdf
+void ScPDFExportTest::testForcepoint97()
+{
+ mxComponent = loadFromDesktop(m_directories.getURLFromSrc(DATA_DIRECTORY) + "forcepoint97.xlsx",
+ "com.sun.star.sheet.SpreadsheetDocument");
+ uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
+
+ // A1:H81
+ ScRange range1(0, 0, 0, 7, 81, 0);
+ std::shared_ptr<utl::TempFile> pPDFFile = exportToPdf(xModel, range1);
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(ScPDFExportTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sc/qa/extras/testdocuments/forcepoint97.xlsx b/sc/qa/extras/testdocuments/forcepoint97.xlsx
new file mode 100644
index 000000000000..152fbbc45a9f
--- /dev/null
+++ b/sc/qa/extras/testdocuments/forcepoint97.xlsx
Binary files differ
diff --git a/sc/qa/unit/data/xlsx/forcepoint107.xlsx b/sc/qa/unit/data/xlsx/forcepoint107.xlsx
new file mode 100644
index 000000000000..f5238dcb5c3e
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/forcepoint107.xlsx
Binary files differ
diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx
index 2a0afb4323aa..48b60471fc8e 100644
--- a/sc/qa/unit/filters-test.cxx
+++ b/sc/qa/unit/filters-test.cxx
@@ -85,6 +85,7 @@ public:
void testSortWithSheetExternalReferencesODS();
void testSortWithSheetExternalReferencesODS_Impl( ScDocShellRef const & xDocShRef, SCROW nRow1, SCROW nRow2,
bool bCheckRelativeInSheet );
+ void testForcepoint107();
CPPUNIT_TEST_SUITE(ScFiltersTest);
CPPUNIT_TEST(testCVEs);
@@ -106,6 +107,7 @@ public:
CPPUNIT_TEST(testEnhancedProtectionXLSX);
CPPUNIT_TEST(testSortWithSharedFormulasODS);
CPPUNIT_TEST(testSortWithSheetExternalReferencesODS);
+ CPPUNIT_TEST(testForcepoint107);
CPPUNIT_TEST_SUITE_END();
@@ -761,6 +763,13 @@ void ScFiltersTest::testSortWithSheetExternalReferencesODS_Impl( ScDocShellRef c
}
}
+// just needs to not crash on recalc
+void ScFiltersTest::testForcepoint107()
+{
+ ScDocShellRef xDocSh = loadDoc(u"forcepoint107.", FORMAT_XLSX, true);
+ xDocSh->DoHardRecalc();
+}
+
ScFiltersTest::ScFiltersTest()
: ScBootstrapFixture( "sc/qa/unit/data" )
, mbUpdateReferenceOnSort(false)
diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index 4ea3606e48b8..a257fae0a87d 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -484,8 +484,10 @@ Color CalcColor( double nVal, double nVal1, const Color& rCol1, double nVal2, co
double GetPercentile( const std::vector<double>& rArray, double fPercentile )
{
size_t nSize = rArray.size();
- size_t nIndex = static_cast<size_t>(::rtl::math::approxFloor( fPercentile * (nSize-1)));
- double fDiff = fPercentile * (nSize-1) - ::rtl::math::approxFloor( fPercentile * (nSize-1));
+ double fFloor = ::rtl::math::approxFloor(fPercentile * (nSize-1));
+ SAL_WARN_IF(fFloor < 0, "sc", "negative percentile");
+ size_t nIndex = fFloor >= 0 ? static_cast<size_t>(fFloor) : 0;
+ double fDiff = fPercentile * (nSize-1) - fFloor;
std::vector<double>::const_iterator iter = rArray.begin() + nIndex;
if (fDiff == 0.0)
return *iter;
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index 88c9b972c912..a810494b056c 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -221,6 +221,7 @@ ScDocument::ScDocument( ScDocumentMode eMode, SfxObjectShell* pDocShell ) :
mbUseEmbedFonts(false),
mbTrackFormulasPending(false),
mbFinalTrackFormulas(false),
+ mbLayoutStrings(false),
mnMutationGuardFlags(0)
{
SetStorageGrammar( formula::FormulaGrammar::GRAM_STORAGE_DEFAULT);
diff --git a/sc/source/core/data/documentimport.cxx b/sc/source/core/data/documentimport.cxx
index 079a752d55c7..04aa11c9b4b7 100644
--- a/sc/source/core/data/documentimport.cxx
+++ b/sc/source/core/data/documentimport.cxx
@@ -381,6 +381,14 @@ void ScDocumentImport::setFormulaCell(const ScAddress& rPos, ScFormulaCell* pCel
mpImpl->mrDoc.CheckLinkFormulaNeedingCheck( *pCell->GetCode());
sc::CellStoreType& rCells = pTab->aCol[rPos.Col()].maCells;
+
+ sc::CellStoreType::position_type aPos = rCells.position(rPos.Row());
+ if (aPos.first != rCells.end() && aPos.first->type == sc::element_type_formula)
+ {
+ ScFormulaCell* p = sc::formula_block::at(*aPos.first->data, aPos.second);
+ sc::SharedFormulaUtil::unshareFormulaCell(aPos, *p);
+ }
+
pBlockPos->miCellPos =
rCells.set(pBlockPos->miCellPos, rPos.Row(), pCell);
}
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index cb733d25a8da..22d1941f1eb0 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -1038,7 +1038,16 @@ bool ScDPObject::GetMembers( sal_Int32 nDim, sal_Int32 nHier, vector<ScDPLabelDa
for (sal_Int32 i = 0; i < nCount; ++i)
{
- Reference<container::XNamed> xMember(xMembersIA->getByIndex(i), UNO_QUERY);
+ Reference<container::XNamed> xMember;
+ try
+ {
+ xMember = Reference<container::XNamed>(xMembersIA->getByIndex(i), UNO_QUERY);
+ }
+ catch (const container::NoSuchElementException&)
+ {
+ //TOOLS_WARN_EXCEPTION("sc", "ScNameToIndexAccess getByIndex failed");
+ }
+
ScDPLabelData::Member aMem;
if (xMember.is())
diff --git a/sc/source/core/data/dptabres.cxx b/sc/source/core/data/dptabres.cxx
index 38107b70e09f..d3e0d108f38a 100644
--- a/sc/source/core/data/dptabres.cxx
+++ b/sc/source/core/data/dptabres.cxx
@@ -2769,7 +2769,10 @@ ScDPResultDimension::~ScDPResultDimension()
ScDPResultMember *ScDPResultDimension::FindMember( SCROW iData ) const
{
if( bIsDataLayout )
- return maMemberArray[0].get();
+ {
+ SAL_WARN_IF(maMemberArray.empty(), "sc.core", "MemberArray is empty");
+ return !maMemberArray.empty() ? maMemberArray[0].get() : nullptr;
+ }
MemberHash::const_iterator aRes = maMemberHash.find( iData );
if( aRes != maMemberHash.end()) {
@@ -2976,8 +2979,11 @@ void ScDPResultDimension::LateInitFrom(
long ScDPResultDimension::GetSize(long nMeasure) const
{
- long nTotal = 0;
long nMemberCount = maMemberArray.size();
+ if (!nMemberCount)
+ return 0;
+
+ long nTotal = 0;
if (bIsDataLayout)
{
OSL_ENSURE(nMeasure == SC_DPMEASURE_ALL || pResultData->GetMeasureCount() == 1,
@@ -3130,7 +3136,7 @@ void ScDPResultDimension::SortMembers( ScDPResultMember* pRefMember )
// handle children
// for data layout, call only once - sorting measure is always taken from settings
- long nLoopCount = bIsDataLayout ? 1 : nCount;
+ long nLoopCount = bIsDataLayout ? std::min<long>(1, nCount) : nCount;
for (long i=0; i<nLoopCount; i++)
{
ScDPResultMember* pMember = maMemberArray[i].get();
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index b43e908352ed..77b6746a7fcb 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -939,6 +939,9 @@ ScFormulaCell::~ScFormulaCell()
if (!mxGroup || !mxGroup->mpCode)
// Formula token is not shared.
delete pCode;
+
+ if (mxGroup && mxGroup->mpTopCell == this)
+ mxGroup->mpTopCell = nullptr;
}
ScFormulaCell* ScFormulaCell::Clone() const
@@ -2010,7 +2013,8 @@ void ScFormulaCell::InterpretTail( ScInterpreterContext& rContext, ScInterpretTa
// XXX if mbNeedsNumberFormat was set even if the current format
// was not General then we'd have to obtain the current format here
// and check at least the types.
- if (bSetFormat && (bForceNumberFormat || ((nFormatIndex % SV_COUNTRY_LANGUAGE_OFFSET) != 0)))
+ const bool bSetNumberFormat = bSetFormat && (bForceNumberFormat || ((nFormatIndex % SV_COUNTRY_LANGUAGE_OFFSET) != 0));
+ if (bSetNumberFormat && !pDocument->IsInLayoutStrings())
{
// set number format explicitly
if (!pDocument->IsThreadedGroupCalcInProgress())
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
index 7b11e6faddab..56f6b2b3e6d4 100644
--- a/sc/source/core/tool/interpr7.cxx
+++ b/sc/source/core/tool/interpr7.cxx
@@ -220,6 +220,7 @@ void ScInterpreter::ScFilterXML()
case XPATH_STRING:
PushString(OUString::createFromAscii(reinterpret_cast<char*>(pXPathObj->stringval)));
break;
+#if LIBXML_VERSION < 21000 || defined(LIBXML_XPTR_LOCS_ENABLED)
case XPATH_POINT:
PushNoValue();
break;
@@ -229,13 +230,13 @@ void ScInterpreter::ScFilterXML()
case XPATH_LOCATIONSET:
PushNoValue();
break;
+#endif
case XPATH_USERS:
PushNoValue();
break;
case XPATH_XSLT_TREE:
PushNoValue();
break;
-
}
}
}
diff --git a/sc/source/filter/xml/XMLCalculationSettingsContext.cxx b/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
index fd7aab6ddb23..802cbf35a00c 100644
--- a/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
+++ b/sc/source/filter/xml/XMLCalculationSettingsContext.cxx
@@ -150,12 +150,14 @@ ScXMLNullDateContext::ScXMLNullDateContext( ScXMLImport& rImport,
if (aIter != rAttrList->end())
{
util::DateTime aDateTime;
- ::sax::Converter::parseDateTime(aDateTime, aIter.toString());
- util::Date aDate;
- aDate.Day = aDateTime.Day;
- aDate.Month = aDateTime.Month;
- aDate.Year = aDateTime.Year;
- pCalcSet->SetNullDate(aDate);
+ if (::sax::Converter::parseDateTime(aDateTime, aIter.toString()))
+ {
+ util::Date aDate;
+ aDate.Day = aDateTime.Day;
+ aDate.Month = aDateTime.Month;
+ aDate.Year = aDateTime.Year;
+ pCalcSet->SetNullDate(aDate);
+ }
}
}
}
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 8cd6ebc11085..b189f4f67762 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -108,6 +108,7 @@
#include <tools/color.hxx>
#include <tools/urlobj.hxx>
+#include <tools/diagnose_ex.h>
#include <rtl/math.hxx>
#include <svl/zforlist.hxx>
#include <svx/unoshape.hxx>
@@ -3453,16 +3454,23 @@ void ScXMLExport::ExportShape(const uno::Reference < drawing::XShape >& xShape,
uno::Sequence< OUString > aRepresentations(
xReceiver->getUsedRangeRepresentations());
SvXMLAttributeList* pAttrList = nullptr;
- if(aRepresentations.getLength())
+ try
{
- // add the ranges used by the chart to the shape
- // element to be able to start listening after
- // load (when the chart is not yet loaded)
- uno::Reference< chart2::data::XRangeXMLConversion > xRangeConverter( xChartDoc->getDataProvider(), uno::UNO_QUERY );
- sRanges = lcl_RangeSequenceToString( aRepresentations, xRangeConverter );
- pAttrList = new SvXMLAttributeList();
- pAttrList->AddAttribute(
- GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_DRAW, GetXMLToken(XML_NOTIFY_ON_UPDATE_OF_RANGES) ), sRanges );
+ if (aRepresentations.getLength())
+ {
+ // add the ranges used by the chart to the shape
+ // element to be able to start listening after
+ // load (when the chart is not yet loaded)
+ uno::Reference< chart2::data::XRangeXMLConversion > xRangeConverter( xChartDoc->getDataProvider(), uno::UNO_QUERY );
+ sRanges = lcl_RangeSequenceToString( aRepresentations, xRangeConverter );
+ pAttrList = new SvXMLAttributeList();
+ pAttrList->AddAttribute(
+ GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_DRAW, GetXMLToken(XML_NOTIFY_ON_UPDATE_OF_RANGES) ), sRanges );
+ }
+ }
+ catch (const lang::IllegalArgumentException&)
+ {
+ //TOOLS_WARN_EXCEPTION("sc", "Exception in lcl_RangeSequenceToString - invalid range?");
}
GetShapeExport()->exportShape(xShape, XMLShapeExportFlags::NO_CHART_DATA | SEF_DEFAULT, pPoint, pAttrList);
}
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 89ebe89061ee..e019dbb6dfa1 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -2206,7 +2206,10 @@ OUString SAL_CALL ScChart2DataProvider::convertRangeToXML( const OUString& sRang
ScRefTokenHelper::compileRangeRepresentation(
aRefTokens, sRangeRepresentation, m_pDocument, cSep, m_pDocument->GetGrammar(), true);
if (aRefTokens.empty())
+ {
+ SAL_WARN("sc", "convertRangeToXML throw IllegalArgumentException from input of: " << sRangeRepresentation);
throw lang::IllegalArgumentException();
+ }
Tokens2RangeStringXML converter(m_pDocument);
converter = ::std::for_each(aRefTokens.begin(), aRefTokens.end(), converter);
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 3dfaaa9889f9..a956be4a7205 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -74,6 +74,7 @@
#include <scopetools.hxx>
#include <com/sun/star/i18n/DirectionProperty.hpp>
+#include <comphelper/scopeguard.hxx>
#include <comphelper/string.hxx>
#include <memory>
@@ -1453,6 +1454,12 @@ void ScOutputData::DrawStrings( bool bPixelToLogic )
tools::Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, const ScAddress &rAddress)
{
+ bool bOrigIsInLayoutStrings = mpDoc->IsInLayoutStrings();
+ mpDoc->SetLayoutStrings(true);
+ comphelper::ScopeGuard g([this, bOrigIsInLayoutStrings] {
+ mpDoc->SetLayoutStrings(bOrigIsInLayoutStrings);
+ });
+
OSL_ENSURE( mpDev == mpRefDevice ||
mpDev->GetMapMode().GetMapUnit() == mpRefDevice->GetMapMode().GetMapUnit(),
"LayoutStrings: different MapUnits ?!?!" );
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index e46bd98acd60..162dd6df60a2 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -334,7 +334,7 @@ ProfileItem gid_Brand_Profileitem_Bootstrap_Userinstall
Order = 3;
Key = "UserInstallation";
#ifdef WNT
- Value = "$SYSUSERCONFIG/%ONEWORDPRODUCTNAME/%USERDIRPRODUCTVERSION";
+ Value = "$SYSUSERCONFIG/LibreOfficepoweredbyCIB/%USERDIRPRODUCTVERSION";
#elif defined MACOSX
Value = "$SYSUSERCONFIG/%ONEWORDPRODUCTNAME/%USERDIRPRODUCTVERSION";
#else
diff --git a/sdext/Executable_xpdfimport.mk b/sdext/Executable_xpdfimport.mk
index dde84963a1fb..fd07f7b43956 100644
--- a/sdext/Executable_xpdfimport.mk
+++ b/sdext/Executable_xpdfimport.mk
@@ -22,4 +22,8 @@ $(eval $(call gb_Executable_add_exception_objects,xpdfimport,\
sdext/source/pdfimport/xpdfwrapper/wrapper_gpl \
))
+$(eval $(call gb_Executable_use_system_win32_libs,xpdfimport,\
+ shell32 \
+))
+
# vim:set noet sw=4 ts=4:
diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx
index 7d3d68901e37..2d4ad4cd5763 100644
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
@@ -494,12 +494,6 @@ void Parser::parseFontFamilyName( FontAttributes& rResult )
const sal_Unicode* pCopy = rResult.familyName.getStr();
sal_Int32 nLen = rResult.familyName.getLength();
- // parse out truetype subsets (e.g. BAAAAA+Thorndale)
- if( nLen > 8 && pCopy[6] == '+' )
- {
- pCopy += 7;
- nLen -= 7;
- }
// TODO: Looks like this block needs to be refactored
while( nLen )
@@ -621,52 +615,6 @@ void Parser::readFont()
// extract textual attributes (bold, italic in the name, etc.)
parseFontFamilyName(aResult);
- // need to read font file?
- if( nFileLen )
- {
- uno::Sequence<sal_Int8> aFontFile(nFileLen);
- readBinaryData( aFontFile );
-
- awt::FontDescriptor aFD;
- uno::Sequence< uno::Any > aArgs(1);
- aArgs[0] <<= aFontFile;
-
- try
- {
- uno::Reference< beans::XMaterialHolder > xMat(
- m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
- "com.sun.star.awt.FontIdentificator", aArgs, m_xContext ),
- uno::UNO_QUERY );
- if( xMat.is() )
- {
- uno::Any aRes( xMat->getMaterial() );
- if( aRes >>= aFD )
- {
- if (!aFD.Name.isEmpty())
- {
- aResult.familyName = aFD.Name;
- parseFontFamilyName(aResult);
- }
- aResult.isBold = (aFD.Weight > 100.0);
- aResult.isItalic = (aFD.Slant == awt::FontSlant_OBLIQUE ||
- aFD.Slant == awt::FontSlant_ITALIC );
- aResult.isUnderline = false;
- aResult.size = 0;
- }
- }
- }
- catch( uno::Exception& )
- {
- }
-
- if( aResult.familyName.isEmpty() )
- {
- // last fallback
- aResult.familyName = "Arial";
- aResult.isUnderline = false;
- }
-
- }
if (!m_xDev)
m_xDev.disposeAndReset(VclPtr<VirtualDevice>::Create());
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 83c734c9bf6f..446f507daa80 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -432,14 +432,19 @@ int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, GfxState* state )
FontAttributes aNewFont;
int nSize = 0;
-#if POPPLER_CHECK_VERSION(0, 64, 0)
- const
+#if POPPLER_CHECK_VERSION(20, 12, 0)
+ std::string familyName = gfxFont->getNameWithoutSubsetTag();
+#else
+ std::string familyName = gfxFont->getName()->toStr();
+ if (familyName.length() > 7 && familyName.at(6) == '+')
+ {
+ familyName = familyName.substr(7);
+ }
#endif
- GooString* pFamily = gfxFont->getName();
- if( pFamily )
+ if( familyName != "" )
{
aNewFont.familyName.clear();
- aNewFont.familyName.append( gfxFont->getName() );
+ aNewFont.familyName.append( familyName );
}
else
{
@@ -456,12 +461,21 @@ int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, GfxState* state )
{
// TODO(P3): Unfortunately, need to read stream twice, since
// we must write byte count to stdout before
+#if POPPLER_CHECK_VERSION(22, 6, 0)
+ boost::optional<std::vector<unsigned char>> pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef() );
+ if ( pBuf )
+ {
+ aNewFont.isEmbedded = true;
+ nSize = pBuf->size();
+ }
+#else
char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
if( pBuf )
{
aNewFont.isEmbedded = true;
gfree(pBuf);
}
+#endif
}
m_aFontMap[ nNewId ] = aNewFont;
@@ -474,13 +488,29 @@ void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const
return;
int nSize = 0;
+#if POPPLER_CHECK_VERSION(22, 6, 0)
+ boost::optional<std::vector<unsigned char>> pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef() );
+ if ( pBuf )
+ nSize = pBuf->size();
+ if ( nSize == 0 )
+ return;
+#else
char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
if( !pBuf )
return;
+#endif
// ---sync point--- see SYNC STREAMS above
fflush(stdout);
+#if POPPLER_CHECK_VERSION(22, 6, 0)
+ if( fwrite(pBuf->data(), sizeof(*pBuf->data()), nSize, g_binary_out) != static_cast<size_t>(nSize) )
+ {
+ exit(1); // error
+ }
+ // ---sync point--- see SYNC STREAMS above
+ fflush(g_binary_out);
+#else
if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
{
gfree(pBuf);
@@ -489,6 +519,7 @@ void PDFOutDev::writeFontFile( GfxFont* gfxFont ) const
// ---sync point--- see SYNC STREAMS above
fflush(g_binary_out);
gfree(pBuf);
+#endif
}
#if POPPLER_CHECK_VERSION(0, 83, 0)
@@ -635,8 +666,15 @@ void PDFOutDev::updateLineDash(GfxState *state)
return;
assert(state);
- double* dashArray; int arrayLen; double startOffset;
+ int arrayLen; double startOffset;
+#if POPPLER_CHECK_VERSION(22, 9, 0)
+ const std::vector<double> &dash = state->getLineDash(&startOffset);
+ const double* dashArray = dash.data();
+ arrayLen = dash.size();
+#else
+ double* dashArray;
state->getLineDash(&dashArray, &arrayLen, &startOffset);
+#endif
printf( "updateLineDash" );
if( arrayLen && dashArray )
@@ -742,7 +780,11 @@ void PDFOutDev::updateFont(GfxState *state)
{
assert(state);
+#if POPPLER_CHECK_VERSION(22, 6, 0)
+ GfxFont *gfxFont = state->getFont().get();
+#else
GfxFont *gfxFont = state->getFont();
+#endif
if( gfxFont )
{
FontAttributes aFont;
@@ -786,8 +828,6 @@ void PDFOutDev::updateFont(GfxState *state)
}
printf( "\n" );
- if( nEmbedSize )
- writeFontFile(gfxFont);
}
}
diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
index 48d6160a8c10..7952adbcf206 100644
--- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
@@ -119,6 +119,15 @@ int main(int argc, char **argv)
_setmode( _fileno( g_binary_out ), _O_BINARY );
#endif
+#if POPPLER_CHECK_VERSION(22, 6, 0)
+ PDFDoc aDoc( std::make_unique<GooString>(pFileName),
+ boost::optional<GooString>(pOwnerPasswordStr),
+ boost::optional<GooString>(pUserPasswordStr) );
+
+ PDFDoc aErrDoc( std::make_unique<GooString>(pErrFileName),
+ boost::optional<GooString>(pOwnerPasswordStr),
+ boost::optional<GooString>(pUserPasswordStr) );
+#else
PDFDoc aDoc( pFileName,
pOwnerPasswordStr,
pUserPasswordStr );
@@ -126,6 +135,7 @@ int main(int argc, char **argv)
PDFDoc aErrDoc( pErrFileName,
pOwnerPasswordStr,
pUserPasswordStr );
+#endif
// Check various permissions for aDoc.
PDFDoc &rDoc = aDoc.isOk()? aDoc: aErrDoc;
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index f0524f2dd803..bca47ee34ce8 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -532,10 +532,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
case SID_SEND_FEEDBACK:
{
- OUString lang = Application::GetSettings().GetUILanguageTag().getLanguage();
- OUString sURL("https://libreoffice.cib.de/support_%1.html");
- sURL = sURL.replaceFirst("%1", lang);
- sfx2::openUriExternally(sURL, false);
+ sfx2::openUriExternally("https://www.cib.de/office", false);
break;
}
diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
index a910138908fd..113a85241115 100644
--- a/sfx2/source/appl/macroloader.cxx
+++ b/sfx2/source/appl/macroloader.cxx
@@ -73,10 +73,10 @@ css::uno::Sequence<OUString> SAL_CALL SfxMacroLoader::getSupportedServiceNames()
return aSeq;
}
-SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+SfxObjectShell* SfxMacroLoader::GetObjectShell(const Reference <XFrame>& xFrame)
{
SfxObjectShell* pDocShell = nullptr;
- Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+
if ( xFrame.is() )
{
SfxFrame* pFrame=nullptr;
@@ -93,6 +93,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
return pDocShell;
}
+SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+{
+ Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+ return SfxMacroLoader::GetObjectShell(xFrame);
+}
uno::Reference<frame::XDispatch> SAL_CALL SfxMacroLoader::queryDispatch(
const util::URL& aURL ,
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index 7d7fdb02ad98..f1e03e7898a2 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -39,10 +39,12 @@
#include <svl/ownlist.hxx>
#include <svl/itemprop.hxx>
#include <sfx2/frmdescr.hxx>
+#include <sfx2/objsh.hxx>
#include <sfx2/sfxdlg.hxx>
#include <sfx2/sfxsids.hrc>
#include <toolkit/helper/vclunohelper.hxx>
#include <vcl/window.hxx>
+#include <macroloader.hxx>
using namespace ::com::sun::star;
@@ -158,6 +160,19 @@ sal_Bool SAL_CALL IFrameObject::load(
{
if ( SvtMiscOptions().IsPluginsEnabled() )
{
+ util::URL aTargetURL;
+ aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
+ uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) );
+ xTrans->parseStrict( aTargetURL );
+
+ if (INetURLObject(aTargetURL.Complete).GetProtocol() == INetProtocol::Macro)
+ {
+ uno::Reference<frame::XFramesSupplier> xParentFrame = xFrame->getCreator();
+ SfxObjectShell* pDoc = SfxMacroLoader::GetObjectShell(xParentFrame);
+ if (pDoc && !pDoc->AdjustMacroMode())
+ return false;
+ }
+
DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
VclPtr<IFrameWindow_Impl> pWin = VclPtr<IFrameWindow_Impl>::Create( pParent, maFrmDescr.IsFrameBorderOn() );
@@ -180,11 +195,6 @@ sal_Bool SAL_CALL IFrameObject::load(
if ( xFramesSupplier.is() )
mxFrame->setCreator( xFramesSupplier );
- util::URL aTargetURL;
- aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
- uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) );
- xTrans->parseStrict( aTargetURL );
-
uno::Sequence < beans::PropertyValue > aProps(2);
aProps[0].Name = "PluginMode";
aProps[0].Value <<= sal_Int16(2);
diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx
index 94fa5165fdd9..e2d5f8fd76c4 100644
--- a/sfx2/source/inc/macroloader.hxx
+++ b/sfx2/source/inc/macroloader.hxx
@@ -81,6 +81,8 @@ public:
virtual void SAL_CALL addStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
virtual void SAL_CALL removeStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
+
+ static SfxObjectShell* GetObjectShell(const css::uno::Reference<css::frame::XFrame>& xFrame);
};
#endif
diff --git a/sw/qa/core/data/rtf/pass/forcepoint110.rtf b/sw/qa/core/data/rtf/pass/forcepoint110.rtf
new file mode 100644
index 000000000000..b7594ff6b622
--- /dev/null
+++ b/sw/qa/core/data/rtf/pass/forcepoint110.rtf
Binary files differ
diff --git a/sw/qa/extras/odfimport/data/forcepoint108.fodt b/sw/qa/extras/odfimport/data/forcepoint108.fodt
new file mode 100644
index 000000000000..4328ea65f61d
--- /dev/null
+++ b/sw/qa/extras/odfimport/data/forcepoint108.fodt
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
+ <office:meta><meta:initial-creator>ms </meta:initial-creator><meta:creation-date>2015-08-24T21:49:45.305718699</meta:creation-date><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="0" meta:word-count="0" meta:character-count="0" meta:non-whitespace-character-count="0"/><meta:generator>LibreOfficeDev/4.3.7.2$Linux_X86_64 LibreOffice_project/8a35821d8636a03b8bf4e15b48f59794652c68ba</meta:generator></office:meta>
+ <office:font-face-decls>
+ <style:font-face style:name="Lohit Devanagari1" svg:font-family="&apos;Lohit Devanagari&apos;"/>
+ <style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
+ <style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
+ <style:font-face style:name="Lohit Devanagari" svg:font-family="&apos;Lohit Devanagari&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
+ <style:font-face style:name="Source Han Sans CN Regular" svg:font-family="&apos;Source Han Sans CN Regular&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+ <style:default-style style:family="graphic">
+ <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
+ <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
+ <style:tab-stops/>
+ </style:paragraph-properties>
+ <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="Source Han Sans CN Regular" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Lohit Devanagari" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
+ </style:default-style>
+ <style:default-style style:family="paragraph">
+ <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/>
+ <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="Source Han Sans CN Regular" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Lohit Devanagari" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/>
+ </style:default-style>
+ <style:default-style style:family="table">
+ <style:table-properties table:border-model="collapsing"/>
+ </style:default-style>
+ <style:default-style style:family="table-row">
+ <style:table-row-properties fo:keep-together="auto"/>
+ </style:default-style>
+ <style:style style:name="Standard" style:family="paragraph" style:class="text"/>
+ </office:styles>
+ <office:automatic-styles>
+ <style:page-layout style:name="pm1">
+ <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
+ <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
+ </style:page-layout-properties>
+ <style:header-style/>
+ <style:footer-style/>
+ </style:page-layout>
+
+ <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
+ <style:text-properties officeooo:rsid="000b01fe" officeooo:paragraph-rsid="000b01fe"/>
+ </style:style>
+ <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
+ <style:text-properties officeooo:rsid="000b01fe" officeooo:paragraph-rsid="000b01fe"/>
+ </style:style>
+ <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
+ <style:graphic-properties style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+ </style:style>
+ </office:automatic-styles>
+ <office:master-styles>
+ <style:master-page style:name="Standard" style:page-layout-name="pm1"/>
+ </office:master-styles>
+ <office:body>
+ <office:text>
+
+ <text:tracked-changes>
+ <text:changed-region xml:id="ct58510944" text:id="ct58510944">
+ <text:deletion>
+ <office:change-info>
+ <dc:creator>ms </dc:creator>
+ <dc:date>2015-09-10T15:36:00</dc:date>
+ </office:change-info>
+ <text:p text:style-name="P1"><draw:frame draw:style-name="fr1" draw:name="Frame1" text:anchor-type="char" svg:width="2cm" draw:z-index="-0"><draw:text-box fo:min-height="1.158cm"><text:p text:style-name="P1">foo<text:change text:change-id="ct58510944"/></text:p>
+
+ </office:text>
+ </office:body>
diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx
index 9ee4f206f5a5..5146f7f7b79f 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -34,10 +34,12 @@
typedef std::map<OUString, css::uno::Sequence< css::table::BorderLine> > AllBordersMap;
typedef std::pair<OUString, css::uno::Sequence< css::table::BorderLine> > StringSequencePair;
+char const DATA_DIRECTORY[] = "/sw/qa/extras/odfimport/data/";
+
class Test : public SwModelTestBase
{
public:
- Test() : SwModelTestBase("/sw/qa/extras/odfimport/data/", "writer8") {}
+ Test() : SwModelTestBase(DATA_DIRECTORY, "writer8") {}
};
DECLARE_ODFIMPORT_TEST(testEmptySvgFamilyName, "empty-svg-family-name.odt")
@@ -926,5 +928,21 @@ DECLARE_ODFIMPORT_TEST(testTdf123829, "tdf123829.odt")
pDoc->getIDocumentSettingAccess().get(DocumentSettingId::COLLAPSE_EMPTY_CELL_PARA));
}
+class testForcepoint108 : public Test
+{
+ CPPUNIT_TEST_SUITE(testForcepoint108);
+ CPPUNIT_TEST(test);
+ CPPUNIT_TEST_SUITE_END();
+ void test();
+ CPPUNIT_TEST_SUITE_REGISTRATION(testForcepoint108);
+};
+// just care that it doesn't crash/assert
+void testForcepoint108::test()
+{
+ //load would assert because it fails to load entirely, like testMathMalformedXml
+ OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + "forcepoint108.fodt";
+ mxComponent = mxDesktop->loadComponentFromURL(aURL, "_default", 0, {});
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index b0de9f773463..6328408cb0af 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -2713,8 +2713,13 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
aFrameSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PAGE, 1 ));
}
- aPam.DeleteMark(); // mark position node will be deleted!
- aIntPam.DeleteMark(); // mark position node will be deleted!
+ // park these no longer needed PaMs somewhere safe so MakeFlyAndMove
+ // can delete what it likes without any assert these are pointing to
+ // that content
+ aPam.DeleteMark();
+ aIntPam.DeleteMark();
+ *aPam.GetPoint() = *aIntPam.GetPoint() = SwPosition(pDoc->GetNodes());
+
pFormat = pDoc->MakeFlyAndMove( *m_pCopySource, aFrameSet,
nullptr,
pParentFrameFormat );
diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
index 19ef7252094a..955eeab36ee9 100644
--- a/sw/source/filter/html/htmlplug.cxx
+++ b/sw/source/filter/html/htmlplug.cxx
@@ -1006,7 +1006,12 @@ void SwHTMLParser::InsertFloatingFrame()
bool bHasBorder = aFrameDesc.HasFrameBorder();
Size aMargin = aFrameDesc.GetMargin();
- xSet->setPropertyValue("FrameURL", uno::makeAny( aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE ) ) );
+ OUString sHRef = aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
+
+ if (INetURLObject(sHRef).GetProtocol() == INetProtocol::Macro)
+ NotifyMacroEventRead();
+
+ xSet->setPropertyValue("FrameURL", uno::makeAny( sHRef ) );
xSet->setPropertyValue("FrameName", uno::makeAny( aName ) );
if ( eScroll == ScrollingMode::Auto )
diff --git a/sw/source/filter/xml/XMLRedlineImportHelper.cxx b/sw/source/filter/xml/XMLRedlineImportHelper.cxx
index 250a31688151..15e6651661b3 100644
--- a/sw/source/filter/xml/XMLRedlineImportHelper.cxx
+++ b/sw/source/filter/xml/XMLRedlineImportHelper.cxx
@@ -31,6 +31,10 @@
#include <IDocumentStylePoolAccess.hxx>
#include <tools/datetime.hxx>
#include <poolfmt.hxx>
+#include <fmtanchr.hxx>
+#include <ftnidx.hxx>
+#include <txtftn.hxx>
+#include <ndtxt.hxx>
#include <unoredline.hxx>
#include <o3tl/any.hxx>
#include <xmloff/xmltoken.hxx>
@@ -562,6 +566,73 @@ inline bool XMLRedlineImportHelper::IsReady(RedlineInfo* pRedline)
!pRedline->bNeedsAdjustment );
}
+/// recursively check if rPos or its anchor (if in fly or footnote) is in redline section
+static auto RecursiveContains(SwStartNode const& rRedlineSection, SwNode const& rPos) -> bool
+{
+ if (rRedlineSection.GetIndex() <= rPos.GetIndex()
+ && rPos.GetIndex() <= rRedlineSection.EndOfSectionIndex())
+ {
+ return true;
+ }
+ // loop to iterate "up" in the node tree and find an anchored XText
+ for (SwStartNode const* pStartNode = rPos.StartOfSectionNode();
+ pStartNode != nullptr && pStartNode->GetIndex() != 0;
+ pStartNode = pStartNode->StartOfSectionNode())
+ {
+ switch (pStartNode->GetStartNodeType())
+ {
+ case SwNormalStartNode:
+ case SwTableBoxStartNode:
+ continue;
+ break;
+ case SwFlyStartNode:
+ {
+ SwFrameFormat const*const pFormat(pStartNode->GetFlyFormat());
+ assert(pFormat);
+ SwFormatAnchor const& rAnchor(pFormat->GetAnchor());
+ if (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PAGE)
+ {
+ return false;
+ }
+ else if (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_FLY)
+ { // anchor is on a start node, avoid skipping it:
+ pStartNode = rAnchor.GetContentAnchor()->nNode.GetNode().GetStartNode();
+ assert(pStartNode);
+ // pass the next node to recursive call - it will call
+ // call StartOfSectionNode on it and go back to pStartNode
+ SwNodeIndex const next(*pStartNode, +1);
+ return RecursiveContains(rRedlineSection, next.GetNode());
+ }
+ else
+ {
+ return RecursiveContains(rRedlineSection, rAnchor.GetContentAnchor()->nNode.GetNode());
+ }
+ }
+ break;
+ case SwFootnoteStartNode:
+ { // sigh ... need to search
+ for (SwTextFootnote const*const pFootnote : rRedlineSection.GetDoc()->GetFootnoteIdxs())
+ {
+ if (pStartNode == pFootnote->GetStartNode()->GetNode().GetStartNode())
+ {
+ return RecursiveContains(rRedlineSection, pFootnote->GetTextNode());
+ }
+ }
+ assert(false);
+ }
+ break;
+ case SwHeaderStartNode:
+ case SwFooterStartNode:
+ return false; // headers aren't anchored
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ }
+ return false;
+}
+
void XMLRedlineImportHelper::InsertIntoDocument(RedlineInfo* pRedlineInfo)
{
OSL_ENSURE(nullptr != pRedlineInfo, "need redline info");
@@ -631,6 +702,17 @@ void XMLRedlineImportHelper::InsertIntoDocument(RedlineInfo* pRedlineInfo)
}
}
}
+ else if (pRedlineInfo->pContentIndex != nullptr
+ // should be enough to check 1 position of aPaM bc CheckNodesRange() above
+ && RecursiveContains(*pRedlineInfo->pContentIndex->GetNode().GetStartNode(), aPaM.GetPoint()->nNode.GetNode()))
+ {
+ SAL_WARN("sw.xml", "Recursive change tracking, removing");
+ // reuse aPaM to remove it from nodes that will be deleted
+ *aPaM.GetPoint() = SwPosition(pRedlineInfo->pContentIndex->GetNode());
+ aPaM.SetMark();
+ *aPaM.GetMark() = SwPosition(*pRedlineInfo->pContentIndex->GetNode().EndOfSectionNode());
+ pDoc->getIDocumentContentOperations().DeleteRange(aPaM);
+ }
else
{
// regular file loading: insert redline
diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
index 0cbf9fd85677..8366f0ae3804 100644
--- a/sw/source/filter/xml/xmltexti.cxx
+++ b/sw/source/filter/xml/xmltexti.cxx
@@ -854,9 +854,14 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra
uno::Reference < beans::XPropertySet > xSet( xObj->getComponent(), uno::UNO_QUERY );
if ( xSet.is() )
{
+ OUString sHRef = URIHelper::SmartRel2Abs(
+ INetURLObject( GetXMLImport().GetBaseURL() ), rHRef );
+
+ if (INetURLObject(sHRef).GetProtocol() == INetProtocol::Macro)
+ GetXMLImport().NotifyMacroEventRead();
+
xSet->setPropertyValue("FrameURL",
- makeAny( URIHelper::SmartRel2Abs(
- INetURLObject( GetXMLImport().GetBaseURL() ), rHRef ) ) );
+ makeAny( sHRef ) );
xSet->setPropertyValue("FrameName",
makeAny( rName ) );
diff --git a/sysui/desktop/share/create_tree.sh b/sysui/desktop/share/create_tree.sh
index 0ade96cdb4c0..5ccae8cdc941 100755
--- a/sysui/desktop/share/create_tree.sh
+++ b/sysui/desktop/share/create_tree.sh
@@ -60,14 +60,14 @@ office_root=${office_prefix}/${PREFIX}
#this symlink is needed to have the API boostrap functions running right
ln -sf "${office_root}/program/soffice" "${DESTDIR}/${PREFIXDIR}/bin/${PREFIX}"
-if test "${PREFIX}" != libreofficepoweredbycib${PRODUCTVERSION} -a "${PREFIX}" != libreofficepoweredbycibdev${PRODUCTVERSION} ; then
+if test "${PREFIX}" != ciboffice${PRODUCTVERSION} -a "${PREFIX}" != cibofficedev${PRODUCTVERSION} ; then
# compat symlinks
mkdir -p "${DESTDIR}${office_prefix}"
- ln -sf libreofficepoweredbycib${PRODUCTVERSION} "${DESTDIR}${office_root}"
- ln -sf /${PREFIXDIR}/bin/${PREFIX} "${DESTDIR}/${PREFIXDIR}/bin/libreofficepoweredbycib${PRODUCTVERSION}"
+ ln -sf ciboffice${PRODUCTVERSION} "${DESTDIR}${office_root}"
+ ln -sf /${PREFIXDIR}/bin/${PREFIX} "${DESTDIR}/${PREFIXDIR}/bin/ciboffice${PRODUCTVERSION}"
fi
-test "${PREFIX}" = libreofficepoweredbycibdev${PRODUCTVERSION} && mime_def_file="libreofficepoweredbycibdev${PRODUCTVERSION}.xml" || mime_def_file="libreofficepoweredbycib${PRODUCTVERSION}.xml"
+test "${PREFIX}" = cibofficedev${PRODUCTVERSION} && mime_def_file="cibofficedev${PRODUCTVERSION}.xml" || mime_def_file="ciboffice${PRODUCTVERSION}.xml"
mkdir -p "${DESTDIR}/${PREFIXDIR}/share/mime/packages"
cp openoffice.org.xml "${DESTDIR}/${PREFIXDIR}/share/mime/packages/$mime_def_file"
chmod 0644 "${DESTDIR}/${PREFIXDIR}/share/mime/packages/$mime_def_file"
diff --git a/sysui/productlist.mk b/sysui/productlist.mk
index 0159a86ac2b0..71b74cb3580f 100644
--- a/sysui/productlist.mk
+++ b/sysui/productlist.mk
@@ -7,14 +7,14 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-PRODUCTLIST := libreoffice libreofficedev libreofficepoweredbycib
+PRODUCTLIST := libreoffice libreofficedev ciboffice
PKGVERSION := $(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO)
PKGVERSIONSHORT := $(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR)
PRODUCTNAME.libreoffice := LibreOffice
PRODUCTNAME.libreofficedev := LibreOfficeDev
-PRODUCTNAME.libreofficepoweredbycib := LibreOfficePoweredByCIB
+PRODUCTNAME.ciboffice := CIBOffice
UNIXFILENAME.libreoffice := libreoffice$(PKGVERSIONSHORT)
UNIXFILENAME.libreofficedev := libreofficedev$(PKGVERSIONSHORT)
-UNIXFILENAME.libreofficepoweredbycib := libreofficepoweredbycib$(PKGVERSIONSHORT)
+UNIXFILENAME.ciboffice := cibboffice$(PKGVERSIONSHORT)
# vim: set noet sw=4 ts=4:
diff --git a/test/source/xmltesttools.cxx b/test/source/xmltesttools.cxx
index ab373ccae96c..f61476c39f7a 100644
--- a/test/source/xmltesttools.cxx
+++ b/test/source/xmltesttools.cxx
@@ -106,9 +106,11 @@ OUString XmlTestTools::getXPathContent(xmlDocPtr pXmlDoc, const OString& rXPath)
return OUString::number(pXmlObj->floatval);
case XPATH_STRING:
return convert(pXmlObj->stringval);
+#if LIBXML_VERSION < 21000 || defined(LIBXML_XPTR_LOCS_ENABLED)
case XPATH_POINT:
case XPATH_RANGE:
case XPATH_LOCATIONSET:
+#endif
case XPATH_USERS:
case XPATH_XSLT_TREE:
CPPUNIT_FAIL("Unsupported XPath type");
diff --git a/unoxml/source/xpath/xpathobject.cxx b/unoxml/source/xpath/xpathobject.cxx
index 2a055f10cdc4..6da7ed351f80 100644
--- a/unoxml/source/xpath/xpathobject.cxx
+++ b/unoxml/source/xpath/xpathobject.cxx
@@ -44,12 +44,14 @@ namespace XPath
return XPathObjectType_XPATH_NUMBER;
case XPATH_STRING:
return XPathObjectType_XPATH_STRING;
+#if LIBXML_VERSION < 21000 || defined(LIBXML_XPTR_LOCS_ENABLED)
case XPATH_POINT:
return XPathObjectType_XPATH_POINT;
case XPATH_RANGE:
return XPathObjectType_XPATH_RANGE;
case XPATH_LOCATIONSET:
return XPathObjectType_XPATH_LOCATIONSET;
+#endif
case XPATH_USERS:
return XPathObjectType_XPATH_USERS;
case XPATH_XSLT_TREE:
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index d0b3a80bfc9d..f5079fa41489 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -1119,7 +1119,7 @@ void OutputDevice::GetCaretPositions( const OUString& rStr, long* pCaretXArray,
for( i = 0; i < 2 * nLen; ++i )
if( pCaretXArray[ i ] >= 0 )
break;
- long nXPos = pCaretXArray[ i ];
+ long nXPos = (i < 2 * nLen) ? pCaretXArray[i] : -1;
for( i = 0; i < 2 * nLen; ++i )
{
if( pCaretXArray[ i ] >= 0 )
diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
index c640af7c5478..79b109ddf47f 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -2649,7 +2649,7 @@ Private Sub _ShellExecute(sCommand As String)
Dim oShell As Object
Set oShell = createUnoService(&quot;com.sun.star.system.SystemShellExecute&quot;)
- oShell.execute(sCommand, &quot;&quot; , com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
+ oShell.execute(sCommand, &quot;&quot; , com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
End Sub &apos; _ShellExecute V0.8.5
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 2506a9609206..71709f775ec8 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2621,7 +2621,7 @@ static OUString lcl_ExctractVariableAndHint( const OUString& rCommand, OUString&
sal_Int32 nIndex = rCommand.indexOf( ' ', 2); //find last space after 'ASK'
if (nIndex == -1)
return OUString();
- while(rCommand[nIndex] == ' ')
+ while (nIndex < rCommand.getLength() && rCommand[nIndex] == ' ')
++nIndex;
OUString sShortCommand( rCommand.copy( nIndex ) ); //cut off the " ASK "
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 44218ceb0e25..6dae1b00a8b9 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -83,6 +83,7 @@
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <basegfx/vector/b2dvector.hxx>
+#include <tools/urlobj.hxx>
#include <o3tl/safeint.hxx>
#include <config_features.h>
@@ -3249,6 +3250,9 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
if( !maHref.isEmpty() )
{
+ if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
+ GetImport().NotifyMacroEventRead();
+
xProps->setPropertyValue("FrameURL", Any(maHref) );
}
}